Shop OBEX P1 Docs P2 Docs Learn Events
SpinSIDE mode for SimpleIDE — Parallax Forums

SpinSIDE mode for SimpleIDE

jazzedjazzed Posts: 11,803
edited 2012-06-26 16:36 in Propeller 1
Hi all. I'm working on adding Spin/PASM support to SimpleIDE.

I've been avoiding starting this thread so far for various reasons, but it must happen eventually.
So far both BSTC and the open-source Spin compiler are connected, compile, and load programs.


At this time SpinSIDE mode works the same as with using C/C++ with a few exceptions.
  1. Project manager holds one spin file.
  2. Project manager popup menu is disabled for Spin mode.
  3. C/C++ specific controls and board type are disabled or hidden.
  4. Spin Highlighting works.
  5. Project options Compiler tab has only a command options box.
  6. Source browsing is not implemented
Planned SpinSIDE features.
  1. PST-like terminal cursor positioning
  2. Project tree list for file navigation
Wishlist features in order of priority:
  1. Source browsing
  2. Better serial terminal handler
  3. Some kind of "object dot" method selection
  4. Some kind of "object hash" constant selection
  5. ANSI serial terminal
A preview of what I have now should be ready in a few days.


Thanks,
--Steve

Comments

  • Heater.Heater. Posts: 21,230
    edited 2012-06-24 09:54
    Wow, fantastic. Any chance of VT100 emulation in the terminal?
  • jazzedjazzed Posts: 11,803
    edited 2012-06-24 10:26
    Heater. wrote: »
    Wow, fantastic. Any chance of VT100 emulation in the terminal?


    Not sure if there's time for it before my deadline. Will put it on the wishlist.
  • Oldbitcollector (Jeff)Oldbitcollector (Jeff) Posts: 8,091
    edited 2012-06-24 12:09
    Wonderful!! SimpleIDE runs so smoothly under both my Windows and Linux machines. I'm really looking forward to this!

    OBC
  • Martin HodgeMartin Hodge Posts: 1,246
    edited 2012-06-24 12:35
    Excellent news. I hope this has the potential of replacing the aging Spin Tool at some point.
  • mindrobotsmindrobots Posts: 6,506
    edited 2012-06-24 12:51
    Brilliant, Steve!

    It must be a good feeling to know you'll be done after the PropForth IDE is implemented! :lol:

    Seriously, this exciting news for the Propeller world!
  • Phil Pilgrim (PhiPi)Phil Pilgrim (PhiPi) Posts: 23,514
    edited 2012-06-24 13:19
    This really is a promising development! I can't wait to see the product of that effort!

    -Phil
  • JonnyMacJonnyMac Posts: 9,194
    edited 2012-06-24 14:49
    You rule, Steve!!!
  • Dr_AculaDr_Acula Posts: 5,484
    edited 2012-06-24 16:24
    Great work. The dot thing for objects would be fantastic. Also the ability to use cheapie $2 USB to serial devices (non FT232 chipset) which I think you might already be able to do as they seem to work with GCC.

    I very much look forward to the demo :)
  • turbosupraturbosupra Posts: 1,088
    edited 2012-06-24 16:34
    Stoked for this, thank you so much!

    Are you taking wishlist suggestions? Or is it going to be open source? I'm guessing if it runs on Linux it isn't a language I'm familiar with and I couldn't contribute to but I was curious.
  • Cluso99Cluso99 Posts: 18,069
    edited 2012-06-24 20:12
    Congratualtions...
    Looking forward to it Steve.
    From what I have heard, your SIDE is fantastic.

    Drac: I will start another thread to explain what the issues are with using alternative USB chips and software, rather than polute this thread.
  • Phil Pilgrim (PhiPi)Phil Pilgrim (PhiPi) Posts: 23,514
    edited 2012-06-24 20:25
    Steve, pursuant to these "wishlist" features:
    3. Some kind of "object dot" method selection
    4. Some kind of "object hash" constant selection

    Aren't these already features of the compiler? How do the anticipated features differ from what we already have?

    Thanks,
    -Phil
  • Dr_AculaDr_Acula Posts: 5,484
    edited 2012-06-24 21:54
    @PhiPi, the I think the "object dot" thing is like on the C# and VB.Net IDE where as soon as you type the . a dropdown menu appears with all the methods available. It saves having to open up the code for the included object, and it also hides away the PRI methods. Screenshot of PZST doing this here http://code.google.com/p/pzst/ PSZT can also do the little arrows that are in the Proptool. However PZST has some minor bugs with scrolling through the PUBs once the dropdown menu appears.

    @Cluso99, reply posted on your thread. The solution to being able to use any USB/serial chipset all lie in software tweaks. No hardware changes needed.

    One cool thing with what Jazzed is doing - if this becomes the "default" spin tool, then moving to C will be much easier as it will be within a familiar environment.
  • Phil Pilgrim (PhiPi)Phil Pilgrim (PhiPi) Posts: 23,514
    edited 2012-06-25 00:07
    Ah, got it. Thanks for the clarification.
    Dr_Acula wrote:
    if this becomes the "default" spin tool, then moving to C will be much easier as it will be within a familiar environment.
    Hmmm, yeah. So what you're saying is that it's like a "gateway drug" for the hard stuff. :)

    -Phil
  • digimorfdigimorf Posts: 74
    edited 2012-06-25 00:55
    Great job Steve.
    What I'm finding really nice is that everything seems to be "transparent" and the user can access all resource of the target board without creating some particular driver.
    Even if I feel more comfortable with PASM, where I can count cycles, that is nice :)
    I don't know if this is already implemented, but some "inline asm" can be added in future ?
    The Arduino IDE lets you add inline assembly routines... thanks to that I could create my first RGB video driver. I think it would be nice.
    Francesco.
  • jazzedjazzed Posts: 11,803
    edited 2012-06-25 08:30
    Hmmm, yeah. So what you're saying is that it's like a "gateway drug" for the hard stuff. :)

    LOL. Actually it can also be seen as easing the transition to the easy stuff.

    digimorf wrote: »
    I don't know if this is already implemented, but some "inline asm" can be added in future ?
    The Arduino IDE lets you add inline assembly routines... thanks to that I could create my first RGB video driver. I think it would be nice.

    While there is no inline asm in Spin, there is an example of how to invoke LMM snippets from Dave Hein in the OBEX http://obex.parallax.com/objects/635/
  • Phil Pilgrim (PhiPi)Phil Pilgrim (PhiPi) Posts: 23,514
    edited 2012-06-25 20:33
    Steve,

    I notice that SIDE, in reporting C errors, returns a list of errors with line numbers and character positions in the bottom frame of the display. For Spin, in case of compile errors, the editor cursor and page view need to jump to the location of the first one and highlight it, the way the current Propeller Tool does. If the Spin compiler is able to flag more than one error at a time (not necessarily a requirement), there needs to be a mechanism to go to and highlight each successive error. This feature has to be able to compensate for intervening edits. I consider this to be a minimal requirement for beginning Spin programmers.

    Thanks,
    -Phil
  • jazzedjazzed Posts: 11,803
    edited 2012-06-25 20:42
    Hi Phil,

    Click on the error messages in the build status output.

    Thanks,
    --Steve
  • Phil Pilgrim (PhiPi)Phil Pilgrim (PhiPi) Posts: 23,514
    edited 2012-06-25 21:02
    Got it! That works nicely!

    -Phil
  • Ken GraceyKen Gracey Posts: 7,400
    edited 2012-06-25 21:13
    Excellent news. I hope this has the potential of replacing the aging Spin Tool at some point.

    This is the intent, if you are talking about the Propeller Tool.

    Steve, way to go!

    Ken Gracey
  • Martin HodgeMartin Hodge Posts: 1,246
    edited 2012-06-25 22:58
    Ken Gracey wrote: »
    Propeller Tool.

    That's what I meant, yes.
  • potatoheadpotatohead Posts: 10,261
    edited 2012-06-25 23:13
    Will we be preserving syntax?
  • jazzedjazzed Posts: 11,803
    edited 2012-06-26 10:52
    potatohead wrote: »
    Will we be preserving syntax?

    I certainly hope so. I'm not changing the compiler.
  • Brian RileyBrian Riley Posts: 626
    edited 2012-06-26 16:36
    jazzed wrote: »
    Hi all. I'm working on adding Spin/PASM support to SimpleIDE.

    I've been avoiding starting this thread so far for various reasons, but it must happen eventually.
    So far both BSTC and the open-source Spin compiler are connected, compile, and load programs.

    ...

    Thanks,
    --Steve

    This wonderful, Steve ... great work ... at the risk of crushing your momentum, is there any way to bring Bean's orphaned PropBasic into this?
Sign In or Register to comment.