I can’t seem to get the UART telemetry work when I specify it among the ardupilot startup switches. In my /etc/default/arduplane I have
TELEM1="-A udp:127.0.0.1:14650" TELEM2="-C /dev/ttyAMA0" # Options to pass to ArduPilot ARDUPILOT_OPTS="$TELEM1 $TELEM2"
I have made sure that I have SERIAL1_PROTOCOL=2 and SERIAL1_BAUD=57: I have set and checked these via the UDP link which has been working fine.
RTL> param show SERIAL1_* SERIAL1_BAUD 57.000000 SERIAL1_OPTIONS 0.000000 SERIAL1_PROTOCOL 2.000000
For testing purposes on the receiving end I have an Rpi zero running mavproxy on /dev/ttyS0:
mavproxy.py --master=/dev/ttyS0 --baudrate=57600
The link remains down however, as if “-C /dev/ttyAMA0” did nothing at all:
Connect /dev/ttyS0 source_system=255 Log Directory: Telemetry log: mav.tlog Waiting for heartbeat from /dev/ttyS0 MAV> link 1 down
However, if I disable TELEM2 and forward the mavlink on the navio using mavproxy to /dev/ttyAMA0, everything seems to work fine, although somewhat laggy. In this case messages show up in the Rpi zero and I can get/set params from there, so the UART link itself should be fine. The UART communication between the two Rpis works ok in other tests as well, so there probably must be something going on with the ardupilot?
Edit: furthermore, I checked that all the stream rate SR1_* params are nonzero. Is there something else I should still check?
Thanks in advance.