OTA Programming from RPi & SPI

Started by roman_s, May 02, 2017, 09:58:02 PM

brolly759

more cool stuff? Tell me tell me tell me!! :)

Felix


WhiteHare

I hope whatever you come up with will work on a Raspberry Pi 3!   ;)

Felix

Does it not work on a Pi3 now with the latest python script?

brolly759

Felix, I am about to work on OTA soon, the flash chip I got was the wrong version, go figure. I had a quick question. The Arduino + RFM69 that sits on the Pi / PC.... That doesnt need to be reprogrammed everytime I want to do an OTA? In other words, can I have the OTA functionality and the Gateway functionality on the same run code?

Thanks

Felix

Quote from: brolly759 on July 07, 2017, 12:17:59 AM
I had a quick question. The Arduino + RFM69 that sits on the Pi / PC.... That doesnt need to be reprogrammed everytime I want to do an OTA? In other words, can I have the OTA functionality and the Gateway functionality on the same run code?

You could yes, the OTA protocol (current and future) changes the frequency (this is enabled by default in the RFM69_OTA lib) so it stays clear of the "main" transmit channel. So the OTA happens in some 1mhz or so frequency below/above the main channel. You can keep your functionality combined with OTA gateway on your gateway arduino, although I would recommend using another board for OTA purposes (so the gateway would not stay "busy" while OTA in progress...).

brolly759

How long is the OTA process per node?

Felix

See my blog on the Wireless Programming subject for more details, but about 14seconds for a 15K sketch.
That's subject to change.

brolly759

Are there other MCU's that are supported for OTA like ARM or comparative?

Felix

The OTA protocol is platform agnostic, it doesn't care how you get that image over to the target.
I believe the RFM69 lib supports certain ARM chips as well.

brolly759

I meant if the end node was an ARM processor.... not a 328p

Felix

I am AVR :) so no clue which ARMs it works on, there are thousands of variants. But I believe it does on the samd21.