Emlid

Community Forum

How to write in RC channel data to navio board?


(superbyte) #1

I have a Spektrum SPM4649T DSMX Serial Telemetry Receiver. It doesn’t use the SBUS protocol (it uses DSMX) so it doesn’t work on the normal PPM/SBUS pins. It work with the UART RX and the 5V and GND pins. I used this python git hub project to decode https://github.com/samfok/remote_receiver_tutorial and it works great. I get all the channel data in.

  1. Is there any way to remap the PPM/SB pin to UART RX
  2. How can I give the channel data to Navio board. Trying to find correct method to provide the data so that will get it sent to the GCS and control the motors.

I looked at /sys/kernel/rcio/rcin and was thinking I could just write to those files but when I do a ls -la it looks like the files are read only by design so it looks like there is a different way to provide the data.

Would I have to convert the channel to ppm and use something like pwm_export.write() ?
throttle for example will give a range between 1057-1845 depending on what is pressed. There are 5 channels in total. Like so.
Throttle Roll Pitch Yaw AUX1 AUX2
1845 1509 1501 1599 1159 1841


(Tatiana Andreeva) #3

Hi @gupyfish,

In the meantime, there is no DSMX protocol support in Navio2 image.
The only way is to rewrite ArduPilot code and build it.

You’re right, It’s not possible to write values to these files.