Shop OBEX P1 Docs P2 Docs Learn Events
SpinSIDE Test Preview — Parallax Forums

SpinSIDE Test Preview

jazzedjazzed Posts: 11,803
edited 2012-07-21 10:02 in Propeller 1
Hi All,

I've posted an early preview os SimpleIDE with SPIN here: http://code.google.com/p/propside/downloads/detail?name=Simple-IDE_0-8-0_setup.zip&can=2&q=

The point of this post and the package is to solicit early feedback. The project needs to stabilize by next week.

This program is not feature complete. Additions and omissions are listed below to help calibrate feedback.

While it is not feature complete, it should work as good or better than the previous v0-7-2 for C/C++ programs. It also includes an updated version of Beta Propeller-GCC that fixes some issues encountered in the Beta test forum.


Additional features:
  1. SPIN support: Spin project programs can be compiled and loaded.
  2. SPIN files are listed in the Project Manager space. The Project Manager popup menu is and will be completely disabled.
  3. SPIN Project Options should show SPIN as the compiler. Compiler options will let you pass -Ox ... to bstc.
  4. Roy's SPIN compiler is supported but not with the package at the moment.
  5. New Project allows for selecting the project type from a drop-down box.
  6. A stop button has been added for the unlikely event that the build or load hangs.
  7. The Terminal Options button to allow setting cursor positioning. Terminal Options is not complete yet.
  8. Self-indent will set the next line column to the previous line's start column - it does not try to be smart.
  9. SPIN Auto-complete: See below.
Auto-complete usage: dot (.) or hash (#) in a non-string, non-comment area of the editor will list spin object symbols. Dot (.) lists all symbols except constants in the current scope; hash (#) will list all constant symbols. Object dot or object hash will list symbols in the in a child object with respect to the current scope. If you wish to enter a dot or hash, choose that character from the drop-down window. This feature currently consumes much computing horse power and needs improvement. It is possible that it may not make the cut.


Missing Features:
  1. The package is missing the ctags program, so source browsing is disabled.
  2. Terminal Options needs font family and size controls, foreground, and background colors.
  3. Terminal Options baudrate and port select has been requested, but are still under consideration.
  4. Unused port filtering (linux).
  5. Propeller .pdf documentation help menu items.
  6. No Mac/Linux packages posted yet.
Features Being Considered:
  1. Add ability to specify a Makefile project for C/C++ users.
  2. Add ability to specify using an external Terminal program like PST rather than the built-in Terminal.
Changed Features:
  1. Bigger Font: Only one menu option shown, but both Ctrl+= and Ctrl++ will work.
  2. Spin highlighting works.
Known Bugs/Annoyances:
  1. Clicking on a Program Manager listed file that is being edited opens a second unedited copy.
  2. Add file to Program Manager and the board type can change (C/C++ only).
  3. User must click on the find dialog before using it.
  4. Built-in Terminal can lose data if the output is running too fast.
  5. UTF-8 character output like Chinese can go bad - Clear or Disable/Enable should restore new output processing.
Thanks,
--Steve
«1

Comments

  • jazzedjazzed Posts: 11,803
    edited 2012-07-11 16:07
    Another omission: please note that to include the library I've provided, it should be selected from the c:\propgcc\spin folder with the Properties -> SPIN tab. The library I've added is old. I'm waiting for Daniel to add a new one to the repository.

    There is still an installer bug that will not let you change the default tools/install path.
  • Cluso99Cluso99 Posts: 18,071
    edited 2012-07-11 17:10
    Nice steve.
    Quick question - are you using bst as the compiler atm?
    Unfortunately I will be away for a few days, but will give it a try as soon as I get back.
  • jazzedjazzed Posts: 11,803
    edited 2012-07-11 18:54
    BSTC is used on windows for now. Roy's spin works on the linux/mac version.
  • John AbshierJohn Abshier Posts: 1,116
    edited 2012-07-11 21:24
    Project Manager tab will confuse users. My program had a top object which used objects A and B. Object B calls object C. I would expect files to be listed in that order. The order listed was Top, C, B, A. There is no indication that C is a subobject of B. It would also be nice to be able to open a file in the edit window by double clicking the file instead of having to do a File-Open menu selection. Not being able to split the edit window to look a two files at once and the lack of block indicators are killers for me. My quick opinion is that a Spin programmer on a Windows computer would be better served by the Propeller Tool at present. It is late. I will play some more tomorrow.

    John Abshier
  • 4x5n4x5n Posts: 745
    edited 2012-07-11 23:07
    I get a runtime error that causes SimpleIDE shutdown when trying to create a spin project. Not much in the way of an error message other than a runtime requesting the app to sutdown.
  • jazzedjazzed Posts: 11,803
    edited 2012-07-12 06:59
    4x5n wrote: »
    I get a runtime error that causes SimpleIDE shutdown when trying to create a spin project. Not much in the way of an error message other than a runtime requesting the app to sutdown.


    Can you please describe the steps you used "trying to create a spin project"?

    Thanks,
    --Steve
  • jazzedjazzed Posts: 11,803
    edited 2012-07-12 08:14
    My quick opinion is that a Spin programmer on a Windows computer would be better served by the Propeller Tool at present.

    This is propably true for folks who are already immersed in Spin code. What about those who are not?

    The idea of adding Spin to SimpleIDE is to allow new users to easily switch from C to Spin vice versa. This is not about asking folks to abandon Propeller tool.

    Given that, one can understand why it is important to test this and help flush out bugs. No?

    We want the users from the other computing demographics and/or programming mind sets to not stumble over things to get here. Most of the world doesn't know anything about propeller tool or its features.

    Project Manager tab will confuse users. My program had a top object which used objects A and B. Object B calls object C. I would expect files to be listed in that order.

    I don't really see why this is so important. To me it is just redundant. If it is truly a priority, then I'll look into it.

    It would also be nice to be able to open a file in the edit window by double clicking the file instead of having to do a File-Open menu selection.

    All you have to do is click on the file-name in the project manager.

    Not being able to split the edit window to look a two files at once and the lack of block indicators are killers for me.

    These features didn't make the list. They may be added later. For now, I have a schedule to meet.


    Thanks for your feedback.
    --Steve
  • mindrobotsmindrobots Posts: 6,506
    edited 2012-07-12 08:25
    It successfully compiled and loaded PropForth! I'm a happy camper. :lol:

    Steve, I'm not a big PropTool or heavy duty SPIN coder, so I'll be looking at it from the standpoint of an entry tool and a unification tool to have a single place to program Propellers on (soon to be) multiple platforms.

    If it had a terminal equal to Teraterm, I'd only have to leave SimpleIDE to get coffee or go to the bathroom (no, those aren't enhancement requests!)

    As always, thanks for your hard work on SimpleIDE!
  • pik33pik33 Posts: 2,413
    edited 2012-07-12 08:32
    Linux version?

    I downloaded this and it runs under wine, but without a serial communication, so the Propeller cannot be programmed.
  • jazzedjazzed Posts: 11,803
    edited 2012-07-12 09:09
    pik33 wrote: »
    Linux version?

    I downloaded this and it runs under wine, but without a serial communication, so the Propeller cannot be programmed.
    Will it help to post a generic i686 debian linux version? It's easier for all if I just post a package, but you could always clone the repository with mercurial ($ hg update spinside) and compile it with Qt creator.


    @Rick, I already have plans to let the user choose their own terminal program. Wish me luck! The default terminal will allow for at least a functional generic terminal interface and will be enhanced a little more this week.

    Thanks,
    --Steve
  • John AbshierJohn Abshier Posts: 1,116
    edited 2012-07-12 09:24
    Clicking on a file in the Project Manager tab changes focus to that tab if it is open in the editor pane. It does not open it.

    In regards to listing of Spin files in Project Manager tab and block indicators. I think it is vital if SimpleIDE is going to be part of the Parallax education effort. I don't know what Parallax's plans for SimpleIDE are. But I do believe that getting some educators to look at SimpleIDE would be a good thing.

    In the attached project, on the last line of Foo.spin when I type a "." I get a popup listing Init and Print. If I click on Print SimpleIDE inserts ".t"

    Decades ago my Operations Officer had a plaque that said "Nothing is impossible to the man who does not have to do it himself." In that vein. For educational purposes, if one selected a board and then selected a new project the default template would have the correct PLL and frequency constants. Alternatively, the default file would have a comment saying to put PLL and frequency here. Would be nice if double clicking on a .side file would open SimpleIDE.
    zip
    900B
  • jazzedjazzed Posts: 11,803
    edited 2012-07-12 10:00
    Hi John,

    Great! This is very good feedback.

    I'll post another package later today that fixes the ".t" problem. As of now the problem would also happen with a function named CONsole, PUBlic, etc....

    Regarding board types, that feature is only applicable for C/C++ programming at the moment. It may be possible to "fixup" a spin program with the loader since _clkmode and _clkfreq are only a few well placed bytes in the binary.

    Thanks,
    --Steve
  • Phil Pilgrim (PhiPi)Phil Pilgrim (PhiPi) Posts: 23,514
    edited 2012-07-12 10:21
    jazzed wrote:
    This is not about asking folks to abandon Propeller tool.
    It's not? I was rather hoping that SpinIDE would be the Prop Tool's designated replacement, so that Parallax could abandon its reliance on Delphi.

    -Phil
  • 4x5n4x5n Posts: 745
    edited 2012-07-12 10:26
    jazzed wrote: »
    Can you please describe the steps you used "trying to create a spin project"?

    Thanks,
    --Steve

    I won't be near the computer that has windows loaded until later tonight. I'll go through the steps then and type them up.
  • jazzedjazzed Posts: 11,803
    edited 2012-07-12 10:51
    It's not? I was rather hoping that SpinIDE would be the Prop Tool's designated replacement, so that Parallax could abandon its reliance on Delphi.
    It may be eventually, but as you see, it's a longer haul to get there. It is not the immediate goal. We desperately need testing on what exists now for an end of the month thing.

    Support for Roy's compiler will be in the next update.

    4x5n wrote: »
    I won't be near the computer that has windows loaded until later tonight. I'll go through the steps then and type them up.
    Thanks a ton. I'm making a 32 bit linux version soon if you have time for that.
  • doggiedocdoggiedoc Posts: 2,246
    edited 2012-07-12 11:31
    Steve, is there a chance this will be available in a Mac OS version?

    Thank you so much for your efforts!

    Paul
  • jazzedjazzed Posts: 11,803
    edited 2012-07-12 12:11
    doggiedoc wrote: »
    Steve, is there a chance this will be available in a Mac OS version?

    Thank you so much for your efforts!

    Paul


    Yes, I need to make a test package.
  • 4x5n4x5n Posts: 745
    edited 2012-07-12 13:04
    I clicked on the Project menu tab and selected new project. I then entered the directory that I wanted to use for the workspace and the name of the project and selected spin in the select field next to the project name. I clicked on OK and got a confirmation pop-up. I clicked on the box labeled "yes" and got another popup asking if I wanted to save the project manager settings before close. At this point it doesn't matter what I click on. I get a pop-up box from the msoft visual C++ runtime library (title on the window) with a runtime error. The program listed is SimpleIDE.exe and the message given is that the application has requested the Runtime to terminate it in an unusual way.
  • jazzedjazzed Posts: 11,803
    edited 2012-07-12 14:40
    A Linux debian i686 test package is now posted here: http://code.google.com/p/propside/downloads/list
    It should work on any Debian, Mint, or Ubuntu 32 bit installation.

    4x5n wrote: »
    ... I clicked on the box labeled "yes" and got another popup asking if I wanted to save the project manager settings before close. ...

    What project was loaded before you clicked Project -> New Project ?

    What was the new folder name? I assume you browsed for it?
    What was the new project name?

    Thanks,
    --Steve
  • jazzedjazzed Posts: 11,803
    edited 2012-07-12 17:18
    doggiedoc wrote: »
    Steve, is there a chance this will be available in a Mac OS version?

    Thank you so much for your efforts!

    Paul


    Here is your MacOSX package. http://code.google.com/p/propside/downloads/detail?name=SimpleIDE-0-8-0-MacOSX-x86-64.zip&can=2&q=


    When the program starts, in SimpleIDE Poperties SPIN tab, please point the Spin compiler to the zip package parallax/bin/bstc.osx program. You'll have to provide your own spin library - I forgot. There is also a field in the Properties SPIN tab for that.

    Everything else should be the same as before.


    Thanks,
    --Steve
  • JonnyMacJonnyMac Posts: 9,379
    edited 2012-07-12 17:58
    As SimpleIDE is project oriented and standard Spin programs are not, would it be beneficial to add an Import Spin Project feature that allows one to select an existing top object file (previously created in another tool) to create the project?
  • jazzedjazzed Posts: 11,803
    edited 2012-07-12 19:54
    JonnyMac wrote: »
    As SimpleIDE is project oriented and standard Spin programs are not, would it be beneficial to add an Import Spin Project feature that allows one to select an existing top object file (previously created in another tool) to create the project?
    Open the Spin top file. Click the blue cog button.
  • JonnyMacJonnyMac Posts: 9,379
    edited 2012-07-12 21:34
    Thanks, Steve; sorry I missed that.
  • william chanwilliam chan Posts: 1,326
    edited 2012-07-12 21:58
    Will SimpleIDE eliminate unused SPIN code to create smaller binaries than Propeller Tool?
  • 4x5n4x5n Posts: 745
    edited 2012-07-12 22:01
    jazzed wrote: »
    A Linux debian i686 test package is now posted here: http://code.google.com/p/propside/downloads/list
    It should work on any Debian, Mint, or Ubuntu 32 bit installation.




    What project was loaded before you clicked Project -> New Project ?

    What was the new folder name? I assume you browsed for it?
    What was the new project name?

    Thanks,
    --Steve

    To my knowledge there was no project loaded that I could tell. I just tried creating a project after doing "close all" and got the same result.

    I did browse for the directory and it's C:\Documents and Settings/Frank/Desktop/prop-code/cycle-prop/
    The name of the project is "bojo".
  • Phil Pilgrim (PhiPi)Phil Pilgrim (PhiPi) Posts: 23,514
    edited 2012-07-12 22:49
    I downloaded the 80-some megabytes (!) and installed SIDE to try with Spin. Everything installed fine, and the program started without a problem. From there it took some finagling to get it set up for Spin and establish a project from one of my Spin files, but I managed.

    The project thing is a bit of a nuisance, IMO, compared with the way the Prop Tool does things. And it's hard to know what's actually being compiled. For example, I managed to create a project involving three objects, including the TopLevel. Once I figured out where to specify the library path ('still had to do it, even though no lib objects were called for), the program compiled. Next I created an error in one of the sub-objects but did not save the file. Compiling caught the error, as expected. So then I reloaded the original version of the object without the error and compiled again. But the compiler still flagged the same error. It's not in the loaded (tabbed) version, and it's not in my Spin folder, so where is the file with the error?

    Also one suggestion, if I may: the font selection and highlighting options are in two separate menus. They should be combined, since both deal with the visual presentation.

    Anyway, it's a good start, and there's a lot to like about the program. But projects? Not so much. 'Didn't care for the paradigm in the Atmel AVR dev tools either. The way I work, I tend to have several "projects" going on at once with different versions open and considerable cross-pollenation between them. If I change a sub-object in an open tab, I expect it to change for all the open Spin files ("projects") that use it. Having to partition "projects" into Projects is going to be a deal-killer for me, I'm afraid.

    Thanks,
    -Phil
  • jazzedjazzed Posts: 11,803
    edited 2012-07-13 09:28
    @Phil,

    The project thing is dual role. SimpleIDE was not designed first for Spin programming. I was asked to add Spin, and keeping the project oriented feature is what we agreed to do - with no resistance whatsoever. That being said, I will consider the possibility of adding a PropellerTool like Spin project mode in some future version.

    The 80MB package contains the IDE, Spin examples/libraries/pdfs, and the Propeller-GCC tool chain.
    @william chan,

    SimpleIDE lets you choose the compiler and you can add the compiler options for BSTC to use.
    @4x5n

    Are you using Windows XP or earlier O/S?

    I can't duplicate your problem at all. However, I believe you and I believe in Murphy's law.

    I've added a debug console window to the attached SimpleIDE.
    Please follow the steps below when you have time to help me isolate the problem.

    The attachment has been removed. Don't use it.

    Can you please do the following when you have a chance:
    1. Download the attachment
    2. Rename C:\Program Files\SimpleIDE\bin\SimpleIDE.exe to C:\Program Files\SimpleIDE\bin\SimpleIDE-old.exe
    3. Unzip the package SimpleIDE to C:\Program Files\SimpleIDE\bin\SimpleIDE.exe
    4. Run SimpleIDE and do your New Project actions
    5. Copy the contents of the "IDE Debug" tab and paste in a response here
    Thanks all,
    --Steve
  • 4x5n4x5n Posts: 745
    edited 2012-07-13 17:35
    Steve, I did as you ask and now I get an error about QtCore4.dll not being found. It also suggested reinstalling the application. :-(

    I'm running 32 bit windows XP in VirtualBox.
  • jazzedjazzed Posts: 11,803
    edited 2012-07-13 18:32
    Oh jeez. That and some others are here if you need them: http://code.google.com/p/sideterminal/downloads/list

    Hold that thought. That may not work out for another reason. I'll post another link in a while.
  • Dr_AculaDr_Acula Posts: 5,484
    edited 2012-07-13 18:52
    PhiPi said
    The project thing is a bit of a nuisance, IMO, compared with the way the Prop Tool does things. And it's hard to know what's actually being compiled. For example, I managed to create a project involving three objects, including the TopLevel. Once I figured out where to specify the library path ('still had to do it, even though no lib objects were called for), the program compiled. Next I created an error in one of the sub-objects but did not save the file. Compiling caught the error, as expected. So then I reloaded the original version of the object without the error and compiled again. But the compiler still flagged the same error. It's not in the loaded (tabbed) version, and it's not in my Spin folder, so where is the file with the error?

    Yes I've just had the same error in the C SimpleIDE. I've got two "Hello World" projects - one works and one does not. If I start with the one that does not work, compile it, note the error, then close that project, open the working one and compile it I get the same error. It is as if parts of the previous project still exist.

    Plus also, I can't get back very easily to my working one. Shut down SimpleIDE and restart it and it keeps restarting with the non working project as the default. And so then loading and running the working version won't work.

    I think the answer to PhiPi's problem is "F4" in the Project menu. F4 seems a more definitive reset of the project. I wonder if a fix might be for "open project" and "new project" to do an F4?
Sign In or Register to comment.