RC failsafe working on Pixhawk but not on Navio2


I have been working on using the RC failsafe with the Navio2 but haven’t been able to reach any good results.

My RC controller is a Futaba mz-12 and my receiver is a GR-12. I have configured them to send a failsafe PWM signal on every RC channel which is equal to the minimum signal on each channel.

The test I was performing then was to switch on the RC and the autopilot, arm the copter then switch down the RC controller and check what happened.
When using a Pixhawk with ArduCopter 3.4.2, the signal received from the RC receptor is as follows:

As it can be seen, the signal goes down to 0 when the RC controller is switched off.

When performing the same test with the Navio (exactly same firmware version, same RC controller and receiver),the signal does not change its value when switching down the controller:

Going through some posts in the forum, I tried to type the following command in the raspberry console:

sudo cat /sys/kernel/rcio/rcin/ch1

I got exactly the same PWM signal when the controller was on and off. So it seems that either the receiver is still sending the same value (but then how is the Pixhawk able to see that the controller is switched off) or that whenever my controller is switched off the Navio stops reading from that port.

Any help would be appreciated.


EDIT: with the Navio and the RC switched on, I unplugged the receiver and still was getting the last values sent. I think this is a serious safety concern as if for any reason the link between the receiver and the Navio is damaged during flight the drone could fly away without any possibility of controlling it.

Hi Nacho,

Thank you for the report!

After RC transmitter powered off autopilot starts to get failsafe values (non-zero) from RC receiver.
When receiver unplugged there should be zero values on RC channels.

But Navio’s RCIO driver has a bug which was the reason of inappropriate behavior in case of receiver unplugged.
I have opened pull request which fix the issue, so the driver will be updated as soon as possible.

Thanks again!

Thank you @ivan.smirnov. Once it gets merged how can I test it? Is there any way I can install this driver on the current Raspbian Image? (I have the one released in July)

The update will be available with sudo apt-get upgrade. You can also try it out by building off master branch. We’ll add README how to build and install later today.

But here goes full disclosure: now it’s a little cumbersome git clone; cd navio-rcio-linux-driver; make && sudo dkms remove rcio/0.6.1 --all && sudo dkms install . and you good to go. You’ll need a reboot also.

Perfect, that’s all I need, thanks @george.staroselskiy.