Shop OBEX P1 Docs P2 Docs Learn Events
PropellerIDE send not to propeller — Parallax Forums

PropellerIDE send not to propeller

Hello,

I am using the latest version of the PropellerIDE (0.38.5) on my macbook pro (SIERA)
When is send to the propeller get the message :

Build succesfull

An open-source compiler for Propeller Spin
Copyright © 2012-2015 Parallax, Inc.

Compiling /Users/jankromhout/Documents/LED_1.spin
Done.
Program size is 84 bytes

But notting is send to the propeller. In the upper right corner I see the port "cu.usbserial-A1011GFA"

Any idee what could wrong?

Thanks for any help.

Cheers,

Jan

Comments

  • avsa242avsa242 Posts: 452
    edited 2016-12-03 12:18
    Powersoft,

    There's an open issue for this on PropellerIDE's github (https://github.com/parallaxinc/PropellerIDE/issues/43) "Building with openspin does not complete upload to RAM or EEPROM (on Mac OS 10) #43"
    So far an official solution hasn't been implemented, that I can see.
    Though maybe not ideal, I was able to work around this by installing an older version, 0.37.5 (https://github.com/parallaxinc/PropellerIDE/releases).

    Cheers,
    Jesse

    EDIT: To others: though the issue title may suggest otherwise, this issue bites other platforms as well (I am on Linux and am affected by it).
  • Have you tried it from command line?
    This seems to work on my Mac OS X 10.9.5 and PropellerIDE 0.38.5 and may give a clue as to what the issue is on Sierra.

    $ /Applications/PropellerIDE\ 2.app/Contents/MacOS/openspin /Users/jonnymo/Documents/Propeller/jon_test1.spin

    An open-source compiler for Propeller Spin
    Copyright © 2012-2015 Parallax, Inc.

    Compiling /Users/jonnymo/Documents/Propeller/jon_test1.spin
    Done.
    Program size is 60 bytes

    $ /Applications/PropellerIDE\ 2.app/Contents/MacOS/propman /Users/jonnymo/Documents/Propeller/jon_test1.binary
    pm.loader: [cu.usbserial-DAWTKWXB] Preparing image...
    pm.loader: [cu.usbserial-DAWTKWXB] Downloading to RAM...
    pm.loader: [cu.usbserial-DAWTKWXB] Verifying RAM...
    pm.loader: [cu.usbserial-DAWTKWXB] Success!
  • BSTC version of command line compile and load:

    $ /Applications/PropellerIDE\ 2.app/Contents/MacOS/bstc -p 0 -o jon_test1.binary /Users/jonnymo/Documents/Propeller/jon_test1.spin
    Found a USB Serial Device
    Brads Spin Tool Compiler v0.15.3 - Copyright 2008,2009 All rights reserved
    Compiled for i386 Darwin at 08:17:49 on 2009/07/20
    Loading Object jon_test1
    Program size is 56 longs
    Compiled 10 Lines of Code in 0.001 Seconds
    We found a Propeller Version 1
    Propeller Load took 0.365 Seconds


    However, if you run into an issue with bstc on Sierra, you might want to visit the following discussion:
    http://forums.parallax.com/discussion/165283/bst-on-macos-sierra
  • JonM,

    I believe the issue lies with PropellerIDE itself (Linux is affected as well as OSX, and I'm guessing Windows). Some time in July, the way support for other languages was (re?)implemented changed. Checking out a revision from github at a point just before that time, it begins to work again. I think it has to do with how the output from the compiler is parsed, because indeed, as you've found, compiling by hand on the command line works fine.

    Cheers,
    Jesse
  • Jesse,

    Yeah, I got that. Actually, in the discussion I referenced there is a discussion about bst and bstc command line experiencing a segmentation fault with Sierra so it would appear even the command line option for bstc will fail on Sierra. I believe openspin will work though.

    Something that is interesting (or not) is that with 0.38.5, is that the library path has two levels to get to the library path and demos:
    $ ls -a /Applications/PropellerIDE\ 2.app/Contents/MacOS/../Resources/library/library/
    $ ls -a /Applications/PropellerIDE\ 2.app/Contents/MacOS/../Resources/library/library/demos/

    However, with 0.33.3, which I also have installed, has only one level to get to the library path:
    $ ls -a /Applications/PropellerIDE.app/Contents/MacOS/../Resources/library
    $ ls -a /Applications/PropellerIDE.app/Contents/MacOS/../Resources/library/demos/

    Also, with 0.38.5, there is no path populated in includes where as with 0.33.3 there is no includes path option but rather a Library option. With 0.33.3 the path to the compiler can be selected, but there is no such option with 0.38.5. These are at least some differences I have seen.

    Cheers

  • As I've added to #43 on github (https://github.com/parallaxinc/PropellerIDE/issues/43#issuecomment-264917272), I've found a solution (which I believe is more like a workaround, i.e., not the "proper" way to fix it). It just involves editing the compiler config for openspin in the PropellerIDE sources and changing the PATTERN_RET line to be empty (i.e., PATTERN_RET= instead of PATTERN_RET=.binary).

    Cheers,
    Jesse
  • I've developed an application for the s3 robot, and have about 100 teachers around the country using it. The Mac version of the software uses BST to compile and send the program to the robot, so now it won't work on Sierra. I do not have Macs readily available to test myself, so I have a couple questions that I'm hoping people on this forum will be able to answer.
    1) What do you think is my best/easiest option to replace the call to BST in my software so it will work on the newer Macs?
    2) I have a user running OSX 10.10.5 and having some problems. Will BST run on that version of OSX? We just want to know whether its worth the time to troubleshoot whatever other issue it might be.

    Thanks for your help.
  • dgatelydgately Posts: 1,630
    edited 2018-01-17 21:12
    Gwolfe wrote: »
    1) What do you think is my best/easiest option to replace the call to BST in my software so it will work on the newer Macs?
    2) I have a user running OSX 10.10.5 and having some problems. Will BST run on that version of OSX? We just want to know whether its worth the time to troubleshoot whatever other issue it might be.

    1. OpenSpin with Jesse's patch is probably the 'best' current solution... As Jesse stated though, you would need to re-build PropellerIDE from sources, which requires several dependencies being solved (i.e. requires Qt IDE to build it, needs the changes that Jesse stated in his post, & possibly a couple of other small edits to get PropellerIDE to build on recent macOS & Qt versions). There are some pitfalls to this solution, if you are not an experienced Qt user...

    There is a second option that does not require a rebuild of PropellerIDE. Basically, you create a macOS (Unix shell) script file named "bstc" (the BST compiler), that uses Terminasl-like commands to execute openspin rather than the actual bstc executable. That file replaces the bstc file inside the PropellerIDE app's package. When called it merely takes the input parameters sent by the IDE and sends them to openspin.

    2. The bstc (BST compiler executable, inside PropellerIDE) file has not run on macOS since 10.7 or 10.8 (I believe). You would need to replace a current/newer macOS with one of those versions on your Mac. It's not a good solution! Unfortunately, the sources to bstc are not available for rebuilding it. Sorry, BST was never a great solution for compiling spin once its source code was no longer available.

    There is also the possibility of running Linux or Windows in VMWare or Parallels Desktop to use PropellerIDE compiled for those operating systems. Several forum users do this, and you can search the forum for comments that they have about this solution

    EDIT: In re-reading your post it appears that you may actually be executing bstc from the command line in Linux or Windows and not from within PropellerIDE. If so, openspin is available on macOS, Linux & Windows. https://github.com/parallaxinc/OpenSpin



    dgately

  • Yes. Python code generates a spin file from user input. Then I make a system call from within the python code to bstc (or propellent on windows). So I take it that openspin has a command line interface and I can just make a system call to it instead? Is this correct? If so, I'll give it a try.

    Matt
  • Yes,

    Here's openspin's options on the command line:
    $ openspin -h
    Propeller Spin/PASM Compiler 'OpenSpin' (c)2012-2013 Parallax Inc. DBA Parallax Semiconductor.
    Compiled on Oct 23 2013
    usage: openspin
             [ -h ]                 display this help
             [ -L or -I <path> ]    add a directory to the include path
             [ -o <path> ]          output filename
             [ -b ]                 output binary file format
             [ -e ]                 output eeprom file format
             [ -c ]                 output only DAT sections
             [ -d ]                 dump out doc mode
             [ -t ]                 output just the object file tree
             [ -f ]                 output a list of filenames for use in archiving
             [ -q ]                 quiet mode (suppress banner and non-error text)
             [ -v ]                 verbose output
             [ -p ]                 disable the preprocessor
             [ -a ]                 use alternative preprocessor rules
             [ -D <define> ]        add a define
             [ -M <size> ]          size of eeprom (up to 16777216 bytes)
             <name.spin>            spin file to compile
    
    

    dgately
  • - M <size> ?

    so openspin can compile code bigger then 32K?

    interesting.

    Mike
Sign In or Register to comment.