Tab settings for PUB and PRI blocks should normally be set to 2. They are the usual spin settings.
Tab settings for DAT blocks should be similar/same as PropTool.They are the usual pasm settings. I am not on my pcso cannot checkbut are something like 8, 8, 16, ...
I am also missing the 3 settings for the "insert" mode. ie insert/insert while maintaining tabbed code/overwrite. The special insert mode permits changes to pasm like adding alabel to an instruction while keeping the opcode, operands and comments in alignment.
Also miss the block moves using the ALT key -where you can copy/cut/paste a column of data.
These are thethings that make an editor useful IMHO.
Hi Brett
Using the latest Windows version (propelleride-0.25.1-0-g5442b03-win-setup) now detects the Propeller chip Ok when using a CP2102 USB brifge.
Now the next step appears to have an issue.
PropellerIDE fails to load programs. No dialog box appears to indicate an error.
A capture of activity shows PropellerIDE drops out and enters a cycle of repeating calibration pulses (see fig4).
The capture show a program being loaded into RAM (Green trace) using Propeller Tool. (Works fine)
The light blue trace is the same program being loaded into ram using PropellerIDE.. (Fails)
PropellerIDE completes the LFSR transaction fine (see fig2) and proceeds to send the program but is cut short.
I posted the pics here as I could not see a way to post pictures on your issues webpage.
Cheers
Brian
Hi Brett
Using the latest Windows version (propelleride-0.25.1-0-g5442b03-win-setup) now detects the Propeller chip Ok when using a CP2102 USB brifge.
Now the next step appears to have an issue.
PropellerIDE fails to load programs. No dialog box appears to indicate an error.
A capture of activity shows PropellerIDE drops out and enters a cycle of repeating calibration pulses (see fig4).
The capture show a program being loaded into RAM (Green trace) using Propeller Tool. (Works fine)
The light blue trace is the same program being loaded into ram using PropellerIDE.. (Fails)
PropellerIDE completes the LFSR transaction fine (see fig2) and proceeds to send the program but is cut short.
I posted the pics here as I could not see a way to post pictures on your issues webpage.
Cheers
Brian
Can you try just running p1load from the command line to see what it says? PropellerIDE may not be displaying the p1load output.
@David
Here are the results from p1load.
Note: I had ro do a "Identifu hardware F7" first from PropellerIDE so p1load detected the chip!
Same scope pictures as before, passes LFSR stuff then starts program transfer and drops out.
C:\Program Files (x86)\PropellerIDE>p1load wigwag.binary -r
Found propeller version 1 on COM11
Loading 'wigwag.binary' (4064 bytes)
Load failed!
BTW the .binary file loads and runs from Propeller Tool fine.
In the next test same again, PropellerIDE "Identify Hardware" first then
C:\Program Files (x86)\PropellerIDE>p1load -P
COM11
Found propeller version 1 on COM11
C:\Program Files (x86)\PropellerIDE>p1load -P
COM11
error: hardware lost
error: can't find a port with a propeller chip
C:\Program Files (x86)\PropellerIDE>
Doing the same -P command again fails the second time and any amount of attempts after.
If I go back into PropellerIDE and do a F7 and then go back to command line, -P works again(once).
Weird huh?
Brian
It's quite odd. I downloaded the latest version of SimpleIDE and installed it on my Win7 VM and it worked fine. I'm at a loss on how to debug this since I'm unable to reproduce the problem. I suppose I'll have to setup a real Windows machine in case VirtualBox on the Mac works but Windows on real hardware fails.
Edit: Have you tried propeller-load? Does it fail in the same way?
@David
I just downloaded SimpleIDE to get "propeller-load" and in all tests so far, no failures!
It detects Propeller every time and programs fine. Thanks for the suggestion.
Cheers
Brian
@David
I just downloaded SimpleIDE to get "propeller-load" and in all tests so far, no failures!
It detects Propeller every time and programs fine. Thanks for the suggestion.
Cheers
Brian
I've just suggested to Brett that he might consider just building PLoadLib.c from propeller-load in standalone mode to use with PropellerIDE since it seems p1load has problems on some systems. That should have exactly the same behavior of propeller-load but not require installing PropGCC to build it. I know Steve told me when I first sent him p1load that it worked on some systems where propeller-load and hence PLoadLib failed but I can't recall the details. In any case, propeller-load and PLoadLib are very well tested for many years so they should work pretty well.
I've just suggested to Brett that he might consider just building PLoadLib.c from propeller-load in standalone mode to use with PropellerIDE since it seems p1load has problems on some systems. That should have exactly the same behavior of propeller-load but not require installing PropGCC to build it. I know Steve told me when I first sent him p1load that it worked on some systems where propeller-load and hence PLoadLib failed but I can't recall the details. In any case, propeller-load and PLoadLib are very well tested for many years so they should work pretty well.
I just looked at propeller-load / PLoadLib and one thing I notice that it does differently than p1load is it tries twice to identify the Propeller chip. Maybe I should add retrying to p1load to see if that makes it more reliable. Seems like a simple fix if it works. My problem is that p1load doesn't fail on any of my systems (Mac or Windows7 running under a VM on the Mac).
I have right now downloadet from githup, on my odroid-x, and compiled, installed
the deb on an arm. Take less than 15 min.
Open PropellerIDE and compiled a program, downloadet to a prop, and it all went
well with p1load.
I have right now downloadet from githup, on my odroid-x, and compiled, installed
the deb on an arm. Take less than 15 min.
Open PropellerIDE and compiled a program, downloadet to a prop, and it all went
well with p1load.
p1load seems to work fine for some people but not others. I'm afraid I'm having a hard time fixing it for those who are having trouble because I can't duplicate the failures. If people who are having trouble would post detailed descriptions of their systems that might help. For example, OS version, target board, etc. Also, please make sure you are using the most recent version of p1load. I think Brett added the version from my github repository to the latest Windows version of PropellerIDE.
@David
FYI Just confirming results of tests with "propeller-load".
Three different machines running WinXP,Win 7 and Win 8.1 all working fine now.
Problem appears to be some weird quirk with Silabs CP210x driver?
Cheers
Brian
@David
FYI Just confirming results of tests with "propeller-load".
Three different machines running WinXP,Win 7 and Win 8.1 all working fine now.
Problem appears to be some weird quirk with Silabs CP210x driver?
Cheers
Brian
I wish I knew how to fix this. I have tried p1load on Win7 and it works fine for me loading a QuickStart board. What kind of Propeller board are you using? Is it by any chance a QuickStart RevA?
The boards are instruments of my own design.
I will run some more tests in the next few days and see if I can find some more clues.
The reason I asked is that QuickStart RevA had a problem where it would send lots of junk right after reset that confused the loader. This was because its TX line was floating I think. There is code in propeller-load that is supposed to handle that but not in p1load. That could be the problem. I think RevB and beyond have a pull-up on the TX line that fixes this.
There is code in propeller-load that is supposed to handle that but not in p1load. That could be the problem. I think RevB and beyond have a pull-up on the TX line that fixes this.
Silly question, perhaps, but shouldn't there be a unified loader across all Propeller IDEs?
Silly question, perhaps, but shouldn't there be a unified loader across all Propeller IDEs?
Yes, that is what I'm trying to build now. The p1load loader has a library that should be able to be used with any application that needs loader functionality. It is based on low-level code from propeller-load but uses loader protocol code translated from Chip's PNut loader. I figured that should be the reference code. I'm also trying to get Jeff to send me the loader code from the Propeller Tool to use as a reference. The problem with using the code directly from propeller-load is that it isn't written in a way that makes it easy to integrate other serial drivers.
We seem to have got into a mess over the question of "Would the real Propeller loader please stand up"
What I want to know is where is the specification of the Propeller loading protocol?
Given that, who cares what implementation is used, there might be thousands of them ? As long as they work.
Having to use some old Pascal code as the definitive reference and documentation is a bit sad.
Jeff Martin wrote a document describing the Propeller ROM Loader protocol. Ask him nicely and he'll probably send you a copy. :-)
By the way, one reason that propeller-load can't really be the reference implementation is that it's very complicated due to having to handle XMM loading. A simple Spin binary loader is all that is needed as a reference implementation. That is what p1load and its library ploader.c is supposed to be.
Just to throw another spanner into the works....
I have a .binary file that I have loaded into hardware (FTDI/propplug) for 7+ years with Propeller Tool.
Just for kicks I tried loading the same file into CP210x based boards and found it failed with Propeller Tool.
p1load also fails with the same file BUT propeller-load works first time every time!
The file is 5201 longs in size and by reducing it back to ~<4000 longs loads fine again with Propeller Tool.
Chris Savage has a similar problem with wireless programming from Propeller Tool, SimpleIDE works for him. See here
one reason that propeller-load can't really be the reference implementation is that it's very complicated due to having to handle XMM loading.
But...In the middle of propeller-load is PLoadLib.c.
PLoadLib is a small, self contained, simple, straight up image loader for the Prop. With no XMM frills or whatever. Just the basic loader.
PLoadLIb is normally compiled as part of propeller-load but it has it's own main() function and can be compiled as a basic loader program by itself.
PLoadLib is what I was referring to when I said "It's basic propeller loading guts should be made into a libraries for use by any other program on any other platform."
But...In the middle of propeller-load is PLoadLib.c.
PLoadLib is a small, self contained, simple, straight up image loader for the Prop. With no XMM frills or whatever. Just the basic loader.
PLoadLIb is normally compiled as part of propeller-load but it has it's own main() function and can be compiled as a basic loader program by itself.
PLoadLib is what I was referring to when I said "It's basic propeller loading guts should be made into a libraries for use by any other program on any other platform."
I should have been a bit more specific.
True. If you want to use PLoadLib as the reference implementation of the Propeller ROM loader protocol that's fine with me. I wanted something with a better interface and easier to understand code. If you'd like, we can abandon p1load and ploader.c and just declare that PLoadLib is the official implementation. If Parallax is okay with that, it's fine by me.
I just got a couple of Raspberry Pi 2 boards, and did an installation of PropellerIDE, something is wrong. It seemed like it installed without a hitch, but when I go to the Menu and select PropellerIDE, a little icon shows like it is starting, but nothing shows up on the screen. I checked the properties for PropellerIDE which are set for 'anyone execute', not sure what the cure is.
I also did a an install on my Debian box, and it has the same problem, so something unusual is occurring for the Linux installs.
I just got a couple of Raspberry Pi 2 boards, and did an installation of PropellerIDE, something is wrong. It seemed like it installed without a hitch, but when I go to the Menu and select PropellerIDE, a little icon shows like it is starting, but nothing shows up on the screen. I checked the properties for PropellerIDE which are set for 'anyone execute', not sure what the cure is.
I also did a an install on my Debian box, and it has the same problem, so something unusual is occurring for the Linux installs.
So, how are you doing with PropellerIDE?
Ray
Hmmm... that's very odd. No, actually, this is the first time anyone has reported this issue. Can you tell me what version of Debian you are us ing? Also, what happens if you open the IDE from the command line? Type propelleride. Also can you provide the output of the following commands?:
which propelleride
ls -l /usr/bin/propelleride
ldd /usr/share/propelleride/bin/propelleride
Then hopefully we can get to the bottom of this. Thanks.
Since I am shifting my energies to the Raspberry Pi 2, lets get that one working first. This could be a starting point:
pi@raspberrypi ~ $ propelleride
propelleride: error while loading shared libraries: libQt5Widgets.so.5: cannot open shared object file: No such file or directory
pi@raspberrypi ~ $
Comments
Tab settings for DAT blocks should be similar/same as PropTool.They are the usual pasm settings. I am not on my pcso cannot checkbut are something like 8, 8, 16, ...
I am also missing the 3 settings for the "insert" mode. ie insert/insert while maintaining tabbed code/overwrite. The special insert mode permits changes to pasm like adding alabel to an instruction while keeping the opcode, operands and comments in alignment.
Also miss the block moves using the ALT key -where you can copy/cut/paste a column of data.
These are thethings that make an editor useful IMHO.
Using the latest Windows version (propelleride-0.25.1-0-g5442b03-win-setup) now detects the Propeller chip Ok when using a CP2102 USB brifge.
Now the next step appears to have an issue.
PropellerIDE fails to load programs. No dialog box appears to indicate an error.
A capture of activity shows PropellerIDE drops out and enters a cycle of repeating calibration pulses (see fig4).
The capture show a program being loaded into RAM (Green trace) using Propeller Tool. (Works fine)
The light blue trace is the same program being loaded into ram using PropellerIDE.. (Fails)
PropellerIDE completes the LFSR transaction fine (see fig2) and proceeds to send the program but is cut short.
I posted the pics here as I could not see a way to post pictures on your issues webpage.
Cheers
Brian
Strange timebase is a by-product of a mouse wheel display zoom.
Here are the results from p1load.
Note: I had ro do a "Identifu hardware F7" first from PropellerIDE so p1load detected the chip!
Same scope pictures as before, passes LFSR stuff then starts program transfer and drops out. BTW the .binary file loads and runs from Propeller Tool fine.
In the next test same again, PropellerIDE "Identify Hardware" first then
Doing the same -P command again fails the second time and any amount of attempts after.
If I go back into PropellerIDE and do a F7 and then go back to command line, -P works again(once).
Weird huh?
Brian
Edit: Have you tried propeller-load? Does it fail in the same way?
I just downloaded SimpleIDE to get "propeller-load" and in all tests so far, no failures!
It detects Propeller every time and programs fine. Thanks for the suggestion.
Cheers
Brian
the deb on an arm. Take less than 15 min.
Open PropellerIDE and compiled a program, downloadet to a prop, and it all went
well with p1load.
FYI Just confirming results of tests with "propeller-load".
Three different machines running WinXP,Win 7 and Win 8.1 all working fine now.
Problem appears to be some weird quirk with Silabs CP210x driver?
Cheers
Brian
I will run some more tests in the next few days and see if I can find some more clues.
Silly question, perhaps, but shouldn't there be a unified loader across all Propeller IDEs?
It's basic propeller loading guts should be made into a libraries for use by any other program on any other platform.
What I want to know is where is the specification of the Propeller loading protocol?
Given that, who cares what implementation is used, there might be thousands of them ? As long as they work.
Having to use some old Pascal code as the definitive reference and documentation is a bit sad.
By the way, one reason that propeller-load can't really be the reference implementation is that it's very complicated due to having to handle XMM loading. A simple Spin binary loader is all that is needed as a reference implementation. That is what p1load and its library ploader.c is supposed to be.
I have a .binary file that I have loaded into hardware (FTDI/propplug) for 7+ years with Propeller Tool.
Just for kicks I tried loading the same file into CP210x based boards and found it failed with Propeller Tool.
p1load also fails with the same file BUT propeller-load works first time every time!
The file is 5201 longs in size and by reducing it back to ~<4000 longs loads fine again with Propeller Tool.
Chris Savage has a similar problem with wireless programming from Propeller Tool, SimpleIDE works for him.
See here
PLoadLib is a small, self contained, simple, straight up image loader for the Prop. With no XMM frills or whatever. Just the basic loader.
PLoadLIb is normally compiled as part of propeller-load but it has it's own main() function and can be compiled as a basic loader program by itself.
PLoadLib is what I was referring to when I said "It's basic propeller loading guts should be made into a libraries for use by any other program on any other platform."
I should have been a bit more specific.
It's a work in progress.
I also did a an install on my Debian box, and it has the same problem, so something unusual is occurring for the Linux installs.
So, how are you doing with PropellerIDE?
Ray
Hmmm... that's very odd. No, actually, this is the first time anyone has reported this issue. Can you tell me what version of Debian you are us ing? Also, what happens if you open the IDE from the command line? Type propelleride. Also can you provide the output of the following commands?:
which propelleride
ls -l /usr/bin/propelleride
ldd /usr/share/propelleride/bin/propelleride
Then hopefully we can get to the bottom of this. Thanks.
Ray