mirror of
https://gitee.com/mirrors_PX4/PX4-Autopilot.git
synced 2026-04-28 16:34:07 +08:00
rc.io is called from 2 places in rc.interface:
- if [ $OUTPUT_MODE = io -o $OUTPUT_MODE = uavcan_esc ]:
- 'set OUTPUT_MODE io' is only set within USE_IO=yes, so removing
the check in rc.io has no effect.
- in case of UAVCAN, we also want the IO for RC, now covered in the next
case.
- Further down ('Start IO for RC input if needed.').
This is intended to start IO for RC only, when fmu is already started.
However the previous check '$USE_IO = yes' in rc.io prevented that.
In addition we don't start rc_input in case of $USE_IO = no.
Fixes no RC on Pixhawk 2 with SYS_USE_IO=0.
27 lines
524 B
Io
27 lines
524 B
Io
#!/bin/sh
|
|
#
|
|
# PX4IO interface init script.
|
|
#
|
|
|
|
# If $OUTPUT_MODE indicated Hardware-int-the-loop simulation, px4io should not publish actuator_outputs,
|
|
# instead, pwm_out_sim will publish that uORB
|
|
if [ $OUTPUT_MODE = hil ]
|
|
then
|
|
set HIL_ARG $OUTPUT_MODE
|
|
fi
|
|
|
|
if [ $IO_PRESENT = yes ]
|
|
then
|
|
if px4io start $HIL_ARG
|
|
then
|
|
# Allow PX4IO to recover from midair restarts.
|
|
px4io recovery
|
|
|
|
# Adjust PX4IO update rate limit.
|
|
px4io limit 400
|
|
else
|
|
echo "PX4IO start failed" >> $LOG_FILE
|
|
tune_control play -t 20
|
|
fi
|
|
fi
|