Hi,
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.