Situation:
- I have wired the crossfire nano rx module onto the first position of the servo rail (PPM/SB slot) as the docs show
- The receiver has power and is bound to my transmitter
- I pulled it off another working quad in order to connect it here. It has worked very recently.
- My transmitter (RadioMaster TX16S) is configured with PPM, Channel Range CH1-CH8, PPM Frame 22.5ms / 300us
- I have also tried SBUS without rewiring anything
- QGroundControl shows no radio inputs on any channel
- Servo rail is otherwise functional, motor test works via QGC
This is some of the diagnostic output from the RPi / Navio:
pi@navio:~ $ cat /sys/kernel/rcio/rcin/*
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
pi@navio:~ $ cat /sys/kernel/rcio/status/alive
1
Some things that are not clear to me:
- How is ardupilot / navio configured to expect PPM vs SBUS vs some other radio input? I see no parameters related to that and I wonder if a default set to an unexpected value
- How can I diagnose the issue more closely? I’d like to avoid the need for an oscilloscope but I can go to that if I have to.
This seems like a very similar question / problem, but the poster did not get an answer: Navio2 PPM Receiver Input with 6 channel PPM Receiver - #4 by djfitz
Ardupilot version 4.0.3 (latest navio image download, from 2022)
I’ve tried a few more things:
- A second, completely different receiver - a Radiomaster RP1 (instead of the original crossfire one). This supports only SBUS (normal + inverted).
- All of PPM, SBUS, and inverted SBUS. Ardupilot says it “automatically discovers” which protocol is in use, so I have not set any parameters or flags when I switch between the two on my transmitter.
When I do switch, these controls jump around once on switch, but still do not respond to any input from the transmitter:
Funny enough, though, with SBUS input, these file descriptors do start responding:
# Throttle High
pi@navio:~ $ cat /sys/kernel/rcio/rcin/ch2
2006
# Throttle low
pi@navio:~ $ cat /sys/kernel/rcio/rcin/ch2
990
# Throttle mid
pi@navio:~ $ cat /sys/kernel/rcio/rcin/ch2
1549
The data is just not getting through to Ardupilot.
So - what’s up here? As far as I can tell, this $200 Navio might as well be a brick if I can’t connect a transmitter to it, unfortunately.
Hey @olesia.riman , thanks for your reply! Two parts here:
- I never did figure out how to get PPM to work correctly, but I did get SBUS to work eventually - the problem I described about “it not getting through to Ardupilot” was actually that I had Virtual Joystick set up in QGroundControl, which was sending
RC_OVERRIDE
to Ardupilot.
- QGroundControl does work - calibration succeeds for everything when I use SBUS.
I would still like to figure out how to get the Navio to respond to PPM. That is a different problem.
Since Ardupilot reads from those /sys/kernel/rcio/rcin/*
inputs, if PPM RC input doesn’t affect them, that must be something wrong about the Navio or the way the receiver is connected, rather than a problem with Ardupilot, Mavlink, QGroundControl, etc
Let me discuss your case with my colleagues and get back to you with the update.
1 Like
I purchased a new FS-IA6B and had this same issue. I resolved by enabling PPM on my receiver. The transmitter has a menu accessible by holding OK button. Finding this menu was my blocker.
@dronebuild,
Thank you for your patience! I’ve discussed your case with our team and it does look like an issue from the RC receiver side. I can hardly provide any suggestions in this case, as we haven’t tested such setup. Can you check the suggestions Chad mentioned?
You can also double-check that the signal is being sent from the Navio using the oscillograph.