PropellerHat and RPi 3

Hi,

I’m having problems uploading code to my propeller hat using the new RPi 3. The hat works fine on my RPi 2, using propellerIDE 0.33.3, but when I transfer it over to my RPi 3 (using the same SD card) it refuses to upload code.

I have tried the suggested command before upload ( echo 17 > /sys/class/gpio/export ) but this also did not work.

Any chance this has something to do with the UART being swapped to the bluetooth? I’m grasping as straws here!?!?!?

Any help would be greatly appreciated,

Steve

it sounds like a reasonable explanation… what are the messages you are receiving?

When I try and upload from propellerIDE it simply reports that the upload has timed out. The software is using ttyAMA0 and I have no way of changing it.

I’ve been trying to use the command line propman tool which gives a little more detail about whats going on. When I run …

propman -d /dev/ttyS0 blink_2cores.binary

The upload fails and gives the following output …

propeller.manager: ERROR: Device does not exist: "/dev/ttyS0"
propeller.manager: opening "/dev/ttyS0"
propeller.manager: attaching PropellerSession(0x15efeb8) to "/dev/ttyS0"
propeller.manager: ERROR: Device does not exist: "/dev/ttyS0"
propeller.manager: detaching PropellerSession(0x15efeb8) from "/dev/ttyS0"
propeller.manager: attaching PropellerSession(0x15efeb8) to "/dev/ttyS0"
propeller.manager: ERROR: Device does not exist: “/dev/ttyS0”
[PropellerManager] /dev/ttyS0: Downloading image (100 bytes, 452 ms)
propeller.manager: ERROR: Device does not exist: “/dev/ttyS0”
[PropellerManager] /dev/ttyS0: ERROR: Device not found
propeller.manager: ERROR: Device does not exist: "/dev/ttyS0"
propeller.manager: detaching PropellerSession(0x15efeb8) from "/dev/ttyS0"
propeller.manager: attaching PropellerSession(0x15efeb8) to “/dev/ttyS0”

But thats about as far as I’ve got right now

Summoning @gadgetoid to have a look at this - sounds like the changes to Pi 3 UART assignment could well be the issue!

I’ll have to run some tests on a Pi 3, I’m pretty sure I got code to upload with an older version of PropellerManager, and newer versions still seem to have an ongoing problem that I’ve not had time to test/document and report back to Brett, the maintainer. ( discussion here: https://github.com/parallaxinc/PropellerManager/issues/4 )

As a stop-gap fix, please try PropellerIDE 0.33.3 and let me know if that works for you. I’ll give the latest version a go on Monday and see if I can figure out what’s wrong.

Thanks for looking into this

I have been trying the upload with version 0.33.3 with no luck so it’s encouraging to hear you may have had a better time.

I’ve tried it two different ways, first with my standard pi image (up to date Jessie with all sorts of other stuff), and a clean Jessie image with just PropellerIDE (+ dependencies) in case something else was interfering. When I remove the SD card and put it (and the hat) in my Pi 2 it works flawlessly.

Hope that’s useful info

That’s very useful, thank you. Clearly there’s something amiss, and I suspect it might be Pi 3 specific- but perhaps more to do with the oodles of extra speed than anything else.

The communication protocol to the Propeller chip is about the weirdest, most crazy-bonkers thing I’ve come across. That’s part of the reason why I love it :D Suffice to say, it’s a little timing sensitive.

Okay, based on the ramblings of @RogueM and some new overlays in the latest Pi 3 firmware, you can gain back the ability to upload to Propeller HAT (and do anything useful with serial on the Pi 3) by adding the following to /boot/config.txt

dtoverlay=pi3-miniuart-bt