v2.9.0
Supports P1 (P8X32A) and P2 (P2X8C4M64P Rev B & C)
IMPORTANT: If you have v2.4+ installed, see the "upgrading" instructions below.
-
Follow the Debugging Tips below if this is your first time using v2.5 or later.*
- See the Propeller Tool Changes video for a brief overview
Enhancements
- Integrated compiler and debugger updates from PNut v37 (which includes the following)
- Parameterization added to child-object instantiations.
- Up to 16 parameters are passable to each child object.
- Parameters override CON symbols by the same name within the child object.
- Useful for hard-coding child objects with buffer sizes, pin numbers, etc.
ObjName : "ObjFile" | ParameterA = 1, ParameterB = 2, …
- Spin2 local variables now get zeroed upon method entry.
- New
^@variable
returns a field pointer for any hub byte/word/long OR registers, including any bit field. - New
FIELD[ptr]
variable alias uses^@variable
pointers, making all variables passable as parameters. - New
'...'
symbol can be used to ignore the rest of the line and continue parsing into the next line. - New Spin2
GETCRC(dataptr,crcpoly,bytecount)
method computes a CRC of bytes using any polynomial. - New Spin2
STRCOPY(destination,source,maxsize)
method copies z-strings, including the zero. - DEBUG display BITMAP now has
SPARSE color
to plot large round pixels against a background color. - GRAY, in addition to GREY, is now recognized as a color in DEBUG displays.
- Debugger's Go/Stop/Break button now temporarily inverses when clicked.
- Parameterization added to child-object instantiations.
- Added syntax highlighting rules for:
- New STRCOPY and GETCRC Spin2 commands
- Line continuation symbol: ...
- Field address operator: ^@
- Field address accessor: FIELD()
- GRAY and SPARSE debug keywords
- Clock and Debug mode constants
- CLKMODE_, CLKFREQ_, _ERRFREQ, _CLKFREQ, _XTLFREQ, _XINFREQ, _RCFAST, and _RCSLOW
- DOWNLOAD_BAUD, DEBUG_PIN, DEBUG_PIN_TX, DEBUG_PIN_RX, DEBUG_BAUD, DEBUG_LEFT, DEBUG_TOP, DEBUG_WIDTH, DEBUG_HEIGHT, DEBUG_DISPLAY_LEFT, DEBUG_DISPLAY_TOP, DEBUG_LOG_SIZE, DEBUG_WINDOWS_OFF, DEBUG_COGS, DEBUG_COGINIT, DEBUG_MAIN, DEBUG_DELAY, and DEBUG_TIMESTAMP
- Enhanced to autoset P1 or P2 syntax/compiling mode when starting a new object from P1 or P2 template; File>New (From Px Template) or Ctrl+Alt+1 or 2
- Enhanced Info View window to...
- Add Initialization and Clock Setter components
- Gray-out components that are 0 longs/bytes in size; drawing focus to included components
- Show proper P2 clock frequency and mode
- Show proper P2 Debugger and Stack/Free size components
- Show P2 Spin Interpreter and user code properly in hex view
- Show P2 Debugger reserved location in mem map and hex view
- Scroll by 32x in hex view with Shift + PgUp/PgDown/CrsrUp/CrsrDown/MouseWheelUp/Down
- Make component legends (text and color box) clickable to instantly jump the hex view to that region of application image
- Display redundant object removal in bytes (P2) or longs (P1)
- Remove Info View's Show/Hide Hex button; now hex view is always visible
- Included updates to many P2 library/demo objects
Fixes
- Fixed a v37 compiler error that had prevented CON symbols from child objects from being accessible in parent CON blocks
- Fixed first-time-run documentation view bug causing filename (in source) to reference previous instead of current source
- Fixed archive bug that converts LF line endings to CR when source file not open in editor.
Upgrading From v2.4+
The current installer will not update your existing Documents\Propeller Tool folder (where Propeller Libraries, examples, and perhaps your projects-in-progress). To get the additional libraries included with this release, perform the following steps:
- Install the new release
- Close Propeller Tool (if running after install)
- Use Windows Explorer to navigate to your Documents folder
- Rename the Propeller Tool folder (or any subfolder within it that you want to be replaced/updated) to preserve the original
- Run the newly-installed Propeller Tool; it will rebuild your Documents\Propeller Tool* folder(s) and include new libraries
- You may wish to copy your projects from your renamed/archive folder back into the new Propeller Tool folder
A future version will make this more automatic.
Debugging Tips
Latest version of Propeller Tool supports P2 debugging. Here are some tips for use.
- In Propeller Tool, Debug (for P2) is a mode that is toggled on or off (at user's will) and affects all further P2-compiled code accordingly
- Use the Run > Enable DEBUG menu item (or press the shortcut key CTRL+D) to toggle Debug Mode on/off, then compile and download
- Look at the yellow message on the status bar to realize the new debug mode
- Upon download of debug-enabled code, debug displays will automatically appear and receive information from the running P2 code
- Close the main Debug window (or press the ESC key with the main Debug window focused or the Editor focused) to close all debug displays and automatically close the serial port
- While debugging, you can adjust your code and download again (without closing debug displays)
- See [Spin2 Language Documentation]'s "DEBUG" section for more information
- Try out and study the examples in Documents\Propeller Tool\Examples (see "Upgrading" instructions, if necessary)
Known Issues
- [WARNING] Object Info only partially supports P2 (currently). Application components, hex view, and save binary/flash supported. Does not yet support Open P2 binary/flash (treats it as a P1 image) nor downloads of opened P2 image to Propeller 2.
Future Plans
- Add deeper auto-detection of source type (Spin1/Spin2)
- Finalize Object Info (View Info function) window to fully support P2 objects
- Add graphic button toolbar
- Address various customer requests
- Add fast-loading protocol for P1 (currently in use by SimpleIDE, PropGCC, and BlocklyProp)
- Address internal questions and code cleanup tasks