I was flying a small Piper Cub fitted with an APM 2.6 , arduplane and a Graupner radio. To be able to use new software release, I switched to a PixHawk controler.
I decided to connect the Pixhawk and the GR 16 receiver with the DSM interface and the setting SUMDOF08 of the receiver.
But the pixhawk stays in failsafe with these settings. I did some check with a GR12L and it was ok.
After some investigations, I found that on power on, the GR 16 receiver was sending frame with failsafe flag on (=> frame are starting with A8 81 and not A8 01 for a normal frame) up to the connection establishment with the transmitter. After that if the connection is lost, sumd frame are not transmitted.
This is not the case on GR12L : there is not sumd frame transmitted between power on an transmitter connection establishment.
After digging into the code I found that sumd frame with falisafe bit on ( beginning with A8 81) was not recognized as sumd frame (file sumd.c). I think in this case the algorithm concludes that the sumd protocol is not used and lock on another one : this is the reason of my problem.
After modification of sumd.c , sumd.h and controls.c , it is possible to :
- recognize and decode sumd frame with failsafe bit on
- set or clear the pixhawk failsafe status with this information.
The issue seems to be solved.
I will try to post detailed modification in a next message.