Shop OBEX P1 Docs P2 Docs Learn Events
Spin Tools IDE - Page 8 — Parallax Forums

Spin Tools IDE

1568101120

Comments

  • jrullanjrullan Posts: 168
    edited 2023-05-04 11:47

    @macca said:
    Published 0.27.2 with the fixes for the issues above.

    The right and left side bitfields should now operate correctly, aside from using the right variable/pointer.

    Thanks @macca, can confirm it works as expected. However apparently v0.27.2 doesn't recognize the FILE instruction in a DAT section any longer. This was ok in previous versions.

  • @jrullan said:
    Thanks @macca, can confirm it works as expected. However apparently v0.27.2 doesn't recognize the FILE instruction in a DAT section any longer. This was ok in previous versions.

    This is unbelievable! The file instruction sometimes works and some other times doesn't. For example, using one of my emulators code works, but doesn't work for the p2font.spin2 file in the libraries folder.
    Apparently it is a static variable in a Java class that is not initialized as expected (should have to to with the order in which static variables are processed, wondering why it worked before...).
    Never happened to me before!

    Anyway, removed the static variables as they are not really needed, and released version 0.27.3.
    Hope this the last for a few days...

  • @macca said:

    @jrullan said:
    Thanks @macca, can confirm it works as expected. However apparently v0.27.2 doesn't recognize the FILE instruction in a DAT section any longer. This was ok in previous versions.

    This is unbelievable! The file instruction sometimes works and some other times doesn't. For example, using one of my emulators code works, but doesn't work for the p2font.spin2 file in the libraries folder.
    Apparently it is a static variable in a Java class that is not initialized as expected (should have to to with the order in which static variables are processed, wondering why it worked before...).
    Never happened to me before!

    Anyway, removed the static variables as they are not really needed, and released version 0.27.3.
    Hope this the last for a few days...

    Hurray! It works! Nothing else to report.
    Thank you for your stellar support!!!!

  • JonnyMacJonnyMac Posts: 9,157
    edited 2023-05-04 17:29

    Thank you for your stellar support!!!!

    +1
    Thank you, Marco.

    Small reqest: Could you force the DEBUG window to the top when it's refreshed? If it is left open between code changes, you have to go find it after editing/downloading.

  • +1 for Marco !

  • JonnyMacJonnyMac Posts: 9,157
    edited 2023-05-06 17:39

    Tried an older program and came across two P1 compatibility issues. Both of these lines compile with Propeller Tool and with BST. The first can be dealt with, the second is critical to program behavior.

    Error: unsupported operator and

    Error: undefined symbol reboot

    Another issue that affects how I work: In Propeller Tool I can select a group of lines and press Tab to indent or Shift+Tab to unindent. In Spin Tools, the selected lines are replaced with a tab character. Given the importance of indentation in Spin, it would be nice to follow the behavior of Propeller Tool in this regard.

    Thank you, Marco.

  • JonnyMacJonnyMac Posts: 9,157
    edited 2023-05-09 14:12

    While testing this morning I noticed a style difference in the way indent lines are displayed in Spin Tools vs Propeller Tool.

    In Propeller Tool

    ... the related if / else clauses are linked.

    In Spin Tools

    ... the horizontal elements of the indent lines could fool a new programmer into thinking there's a connection between the external if and the internal else.

    It's a small thing, but maybe worth addressing when major updates are complete.

  • @JonnyMac said:
    It's a small thing, but maybe worth addressing when major updates are complete.

    I'll add it to the todo list.

  • A couple more "niceties" requests -- these are born out of using ST more frequently
    1) Propeller Tools like bookmarks
    2) Search box for the list of constants and method names

    Some of my programs are quite long and the list of constants and method names are, too. It would be nice to have simple search feature for the right side panel.

    Thanks for considering.

    1920 x 1041 - 360K
  • Just a smal remarque,

    On OSX we are used to have the Command (or Cmd) ⌘ key as shortcut on all the software, and not the ctrl (control key)

  • @Ltech said:
    On OSX we are used to have the Command (or Cmd) ⌘ key as shortcut on all the software, and not the ctrl (control key)

    I see this on the latest macOS (Ventura 13.3.1)... What version of macOS are you running?:

    dgately

  • I see,

    I have high sierra, old macbook air and need 32 bit.
    So this is not a spin-tools-ide problem

    Sorry for confusion

  • I have a 2019 MB Pro running 13.3.1a and I see the same:

  • @Ltech said:
    I have high sierra, old macbook air and need 32 bit.
    So this is not a spin-tools-ide problem

    @"Greg LaPolla" said:
    I have a 2019 MB Pro running 13.3.1a and I see the same:

    Maybe is not entirely an OS issue... I tought that CTRL and COMMAND were alias in SWT but are not.
    I have changed the accelerator setup to use platform independent alias that, hopefully, fix the issue.

  • LtechLtech Posts: 380
    edited 2023-05-16 06:51

    Thank you Macca,

    It was just a side note, not an issue for me.
    I daily jump to other os, so control and command are mixed.
    The use of standard key combination for all the OSX programs was a big force in the early days compare to dos an windows.

    Now for novice osx propeller programmers it could be frustrating.

  • maccamacca Posts: 806
    edited 2023-05-22 07:55

    Released version 0.28.0

    • Added support for top object compile.

      The top object is highlighted with bold text, the additional icon (shows a pinned document) and menu items toggles the top object status. When pinned as top object all info, compile and upload commands uses the pinned tab as top source.
      In addition, when the program is reopened, the pinned top object is always loaded as first tab (immediately shown). If the pinned tab is closed a warning is displayed and the top object is disabled, same when at program open the top object file can't be loaded. This should avoid the "ghost" top object errors that sometimes happens with Propeller Tools.

    • Added custom template files for Spin1 and Spin2 in preferences

    • Reviewed the indentation lines for conditional blocks

    • The file browser remembers the expanded folders states on reload

    • Finally added support for object parameters (needs to be tested, there may be some differences compared to the binaries generated by PNut)
    • A number of other fixes, including the constants operators and missing keywords (reboot), and the hopefully fix for the CTRL/COMMAND on MacOS
  • Hi Macca,

    I have been here for a while, but i have been getting email notifications, I must say that your efforts in making this IDE top notch are greatly appreciated! Keep up the great work!

    I was going to ask about TOP OBJECT feature, But you read my mind!
    Regards Dave M!

  • Getting "unsupported directive" and "undefined symbol" errors when trying to build Stephen Moraco's P2-HUB75-LED-Matrix-Driver demo code.

    1. The unsupported directive errors, appear (curiously) at or near line 41 in several files within the project (see images below).

    2. The undefined symbol errors, appear even when the library path in Settings points to the directory of the file "isp_hub75_display.spin2", which is declared as the "display" object in the OBJ section of the code. The P2_HUB75 project can be found on GitHub at: https://github.com/ironsheep/P2-HUB75-LED-Matrix-Driver.

    Note: This code compiles in flexprop...



    dgately

  • @dgately said:
    Getting "unsupported directive" and "undefined symbol" errors when trying to build Stephen Moraco's P2-HUB75-LED-Matrix-Driver demo code.

    The source of all errors here is the enum starting at column 0 in some files, and the weird error lines are because of an unchecked exception.
    You can work around it by adding a space to the #0 enum lines, the fix I did few days ago was missing a bit of code (will release a patch update for this).

    Then there is a bad performance issue: the source takes a lot of time to compile, I think because of the changes I did to the expressions build. Will investigate if can be fixed or revert to the previous code.

  • JonnyMacJonnyMac Posts: 9,157
    edited 2023-05-22 17:31

    As always, thank you, Marco, for your efforts on this project.

    I found a snag today, too. There is a compiler warning about an unused local that is in fact false. Maybe the usage check is looking for an assignment. If I assign a value to _index before that loop, the warning goes away.

  • Great !

    Marco = Hero !

  • dgatelydgately Posts: 1,631
    edited 2023-05-22 19:07

    @macca said:
    The source of all errors here is the enum starting at column 0 in some files, and the weird error lines are because of an unchecked exception.
    You can work around it by adding a space to the #0 enum lines, the fix I did few days ago was missing a bit of code (will release a patch update for this).

    Then there is a bad performance issue: the source takes a lot of time to compile, I think because of the changes I did to the expressions build. Will investigate if can be fixed or revert to the previous code.

    Adding a space to the #0 enum fixes some issues...
    It appears that the CON with: "TEXT_FONT_DEFAULT = fonts.TEXT_FONT_DEFAULT" is dependent on the OBJ with: fonts : "isp_hub75_fonts", which appears later in the source. Is this just a coding error (declaring a CON that is dependent on a sub-object's functions) or a compiler issue?

    CON { Object Interface: PUBLIC ENUMs }
    ...
        TEXT_FONT_DEFAULT = fonts.TEXT_FONT_DEFAULT
    ...
    
    OBJ { Objects Used by this Object }
    
    ...
        fonts : "isp_hub75_fonts"
    ...
    

    Thanks for looking into this!

  • Patch update 0.28.1 released.

    • The enum/preprocessor issue is fixed so the P2-HUB75-LED-Matrix-Driver demo code should compile without problems.
    • The long compile time was really a code optimization issue (not related to my recent changes as I initially tought) related to the large buffer fills in the led matrix drivers, fixed that too, now the source compiles quickly.
    • Also found and fixed a couple other issues.

    @Ltech Good to see that the MacOS menu is fixed.

    @dgately said:
    Adding a space to the #0 enum fixes some issues...
    It appears that the CON with: "TEXT_FONT_DEFAULT = fonts.TEXT_FONT_DEFAULT" is dependent on the OBJ with: fonts : "isp_hub75_fonts", which appears later in the source. Is this just a coding error (declaring a CON that is dependent on a sub-object's functions) or a compiler issue?

    It is a legal declaration, any error you see was caused by the enum/preprocessor conflict (and the weird error catch).
    If you try with the updated release, the demo should compile without errors as is, without any other change.

  • @macca said:
    If you try with the updated release, the demo should compile without errors as is, without any other change.

    Excellent... Compiles as you stated!

    Spin Tools IDE's editor makes coding so much easier for multi-file projects. Nice to have for us non-Win coders. Keep it up.

    Thank you!

  • @macca

    SpinIDE works great!

    Very minor issues just so you take note:

    1. I noticed that when invoking a function with no parameters it doesn't warn you. For example calling is_enabled() and is_enabled is treated the same, i.e. no warnings or errors. Noticed this by testing code between Propeller Tool, SpinIDE and FlexProp. For what is worth FlexProp doesn't complain either.

    2. When using the Edit->Format Source funcionality it adds a space between the method called and the object if the object is in arrary representation. It still works ok, it just adds this space everywhere:

    1. Using the ... operator causes this error:

    However if you save the file, close it and open it again, it doesn't show the error.

    Again very minor issues. I'm reporting them so you know they are there.

    Keep up the good work!!!

  • @macca

    I stumbled on this compiling some old code:

        pinw(din, Value ROL = 1) 
    

    This does not compile on spin tools IDE. It does on flexprop and propeller Tool

    The error is unexpected =

  • @"Greg LaPolla" said:
    I stumbled on this compiling some old code:

        pinw(din, Value ROL = 1) 
    

    This does not compile on spin tools IDE. It does on flexprop and propeller Tool

    The error is unexpected =

    Remove the space between ROL and =, the operator is ROL=

  • RaymanRayman Posts: 14,744

    @macca I'm hoping Prop Tool is not really dead, but if it is, very glad you are doing this!

  • Released version 0.29.0

    • Some fixes to the content proposals and navigation features
    • Added SHIFT key check to the upload toolbar icons, to automatically open the terminal (like the corresponding menu item)
    • Added debug console view to the bottom of the window. The debug console takes over the terminal when the debug mode is enabled (more or less like the debug window in Prop Tools). This should make working with the debug output more easy as you can scroll back and copy contents. In addition, the output can be saved to a time-stamped log file (enabled in preferences). The window visibility can be toggled with the toolbar button or menu item.
  • @macca said:
    Released version 0.29.0

    ....

    • Added debug console view to the bottom of the window. The debug console takes over the terminal when the debug mode is enabled (more or less like the debug window in Prop Tools). This should make working with the debug output more easy as you can scroll back and copy contents. In addition, the output can be saved to a time-stamped log file (enabled in preferences). The window visibility can be toggled with the toolbar button or menu item.

    Nice. Can't wait to try this when I get back home.

Sign In or Register to comment.