New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Timeout issue on Raspbian Jessie, Raspberry Pi 2 as of version 0.34.4 #4
Comments
Wooo doggie, I'm gonna have to try this out with my logic analyzer. I'm
|
Hi Phil, I finally fixed this one. This one surprised even me, as it wasn't an issue with timeouts at all. I found some bizarre behavior where on every other platform I tried, there was a mysterious 0 byte finding its way into the received data during the handshake, so that when my loader verified the handshake, it was always wrong. I examined this with a logic analyzer and there was no such byte ever being sent from the Propeller, so I can only imagine it was being introduced by the hardware or by QSerialPort itself, but that begs the question: why now? Why with this release? I'm still baffled by this question. In any case, this revealed another issue. The QSerialPort clear() command is supposed to empty the transmit and receive buffers, which it simply was not, no matter how hard I tried. Perhaps I incorrectly understand how that command works, but I ended up having to call readAll() before writing the handshake to the device just to make sure that pesky 0 byte did not show up, and this seems to have worked around the problem. Just another day at LameStation... >.> Anyway, this build has the fix. Try it out, see what you think: https://github.com/parallaxinc/PropellerIDE/releases/tag/0.35.0 |
Tried 0.35.1 and 0.36.0 with, strangely, no luck! I reverted back to 0.33.3 again for sanity and it works. All of this is now on Raspbian Jessie ( Lite ) on the Raspberry Pi Zero, I'll test the new build on the Pi 2 when I get a chance. Output is as follows:
vs
Note: The Pi Zero is the same CPU as the Model A and B+, paired with 512MB ram. |
There is some new progress on this. I'll be making a release today.
|
Awesome. I'll try it out as soon as I can, but now; sleep! Will keep you posted. |
Hey, check on this again. I went back and fixed mucho mas reset issues. =O |
This still appears to be a problem, using the latest Raspbian Jessie, latest Propeller IDE/Propeller Manager and running on the Rapsberry Pi 3 I am unable to program the attached device. I'll have to have another play with the source, but I suspect a hoofing-great-big-delay will fix it. I don't know how on earth such a conditional fix might be deployed for the Pi only. |
After further investigation into the Pi 3 problem, I've found it's the weird tinkering with the UART assignments that were required to add Bluetooth. PropellerManager upload functionality can be restored over UART by updating Raspbian ( with
There's also another new overlay that allows Bluetooth to be disabled altogether. |
I've found a regression between version 0.33.3 and 0.34.4 where uploading over /dev/ttyAMA0 on the Raspberry Pi 2 no longer seems to work due to our old friend Mr Timeout.
I've installed both loaders side-by-side on my Pi 2 and here's the output from each:
From 0.34.4:
From 0.33.3
It dawned on me pretty quickly what the likely problem is, but I'm not sure I want to believe my own assumption. I'm going to hazard a guess that the removal of some debug output has caused PropellerManager to speed up to the point where it's no longer compatible with the Pi.
Obviously I'm speculating, but it smells right.
The text was updated successfully, but these errors were encountered: