forked from Archive/PX4-Autopilot
Move px4io firmware update logic block to rc.io.
This commit is contained in:
parent
7723860f37
commit
0928112a80
|
@ -3,6 +3,60 @@
|
||||||
# PX4IO interface init script.
|
# PX4IO interface init script.
|
||||||
#
|
#
|
||||||
|
|
||||||
|
#
|
||||||
|
# Check if PX4IO present and update firmware if needed.
|
||||||
|
#
|
||||||
|
if [ -f /etc/extras/px4io-v2.bin ]
|
||||||
|
then
|
||||||
|
set IO_FILE /etc/extras/px4io-v2.bin
|
||||||
|
|
||||||
|
if px4io checkcrc ${IO_FILE}
|
||||||
|
then
|
||||||
|
set IO_PRESENT yes
|
||||||
|
else
|
||||||
|
tune_control play -m MLL32CP8MB
|
||||||
|
|
||||||
|
if px4io start
|
||||||
|
then
|
||||||
|
# Try to safety px4 io so motor outputs dont go crazy.
|
||||||
|
if px4io safety_on
|
||||||
|
then
|
||||||
|
# success! no-op
|
||||||
|
else
|
||||||
|
# px4io did not respond to the safety command.
|
||||||
|
px4io stop
|
||||||
|
fi
|
||||||
|
fi
|
||||||
|
|
||||||
|
if px4io forceupdate 14662 ${IO_FILE}
|
||||||
|
then
|
||||||
|
usleep 10000
|
||||||
|
if px4io checkcrc ${IO_FILE}
|
||||||
|
then
|
||||||
|
echo "PX4IO CRC OK after updating" >> $LOG_FILE
|
||||||
|
tune_control play -m MLL8CDE
|
||||||
|
|
||||||
|
set IO_PRESENT yes
|
||||||
|
else
|
||||||
|
echo "PX4IO update failed" >> $LOG_FILE
|
||||||
|
# Error tune.
|
||||||
|
tune_control play -t 2
|
||||||
|
fi
|
||||||
|
else
|
||||||
|
echo "PX4IO update failed" >> $LOG_FILE
|
||||||
|
# Error tune.
|
||||||
|
tune_control play -t 2
|
||||||
|
fi
|
||||||
|
fi
|
||||||
|
fi
|
||||||
|
|
||||||
|
if [ $USE_IO == yes -a $IO_PRESENT == no ]
|
||||||
|
then
|
||||||
|
echo "PX4IO not found" >> $LOG_FILE
|
||||||
|
# Error tune.
|
||||||
|
tune_control play -t 2
|
||||||
|
fi
|
||||||
|
|
||||||
if px4io start
|
if px4io start
|
||||||
then
|
then
|
||||||
# Allow PX4IO to recover from midair restarts.
|
# Allow PX4IO to recover from midair restarts.
|
||||||
|
@ -12,5 +66,6 @@ then
|
||||||
px4io limit 400
|
px4io limit 400
|
||||||
else
|
else
|
||||||
echo "PX4IO start failed" >> $LOG_FILE
|
echo "PX4IO start failed" >> $LOG_FILE
|
||||||
tune_control play -m ${TUNE_ERR}
|
# Error tune.
|
||||||
|
tune_control play -t 2
|
||||||
fi
|
fi
|
||||||
|
|
|
@ -335,53 +335,6 @@ else
|
||||||
param set SYS_AUTOCONFIG 0
|
param set SYS_AUTOCONFIG 0
|
||||||
fi
|
fi
|
||||||
|
|
||||||
#
|
|
||||||
# Check if PX4IO present and update firmware if needed.
|
|
||||||
#
|
|
||||||
if [ -f /etc/extras/px4io-v2.bin ]
|
|
||||||
then
|
|
||||||
set IO_FILE /etc/extras/px4io-v2.bin
|
|
||||||
|
|
||||||
if px4io checkcrc ${IO_FILE}
|
|
||||||
then
|
|
||||||
set IO_PRESENT yes
|
|
||||||
else
|
|
||||||
tune_control play -m MLL32CP8MB
|
|
||||||
|
|
||||||
if px4io start
|
|
||||||
then
|
|
||||||
# Try to safety px4 io so motor outputs don't go crazy.
|
|
||||||
if px4io safety_on
|
|
||||||
then
|
|
||||||
# success! no-op
|
|
||||||
else
|
|
||||||
# px4io did not respond to the safety command.
|
|
||||||
px4io stop
|
|
||||||
fi
|
|
||||||
fi
|
|
||||||
|
|
||||||
if px4io forceupdate 14662 ${IO_FILE}
|
|
||||||
then
|
|
||||||
usleep 10000
|
|
||||||
if px4io checkcrc ${IO_FILE}
|
|
||||||
then
|
|
||||||
echo "PX4IO CRC OK after updating" >> $LOG_FILE
|
|
||||||
tune_control play -m MLL8CDE
|
|
||||||
|
|
||||||
set IO_PRESENT yes
|
|
||||||
else
|
|
||||||
echo "PX4IO update failed" >> $LOG_FILE
|
|
||||||
# Error tune.
|
|
||||||
tune_control play -t 2
|
|
||||||
fi
|
|
||||||
else
|
|
||||||
echo "PX4IO update failed" >> $LOG_FILE
|
|
||||||
# Error tune.
|
|
||||||
tune_control play -t 2
|
|
||||||
fi
|
|
||||||
fi
|
|
||||||
fi
|
|
||||||
|
|
||||||
#
|
#
|
||||||
# Set USE_IO flag.
|
# Set USE_IO flag.
|
||||||
#
|
#
|
||||||
|
@ -390,18 +343,6 @@ else
|
||||||
set USE_IO yes
|
set USE_IO yes
|
||||||
fi
|
fi
|
||||||
|
|
||||||
if [ $USE_IO == yes -a $IO_PRESENT == no ]
|
|
||||||
then
|
|
||||||
echo "PX4IO not found" >> $LOG_FILE
|
|
||||||
# Error tune.
|
|
||||||
tune_control play -t 2
|
|
||||||
fi
|
|
||||||
|
|
||||||
if [ $IO_PRESENT == no -o $USE_IO == no ]
|
|
||||||
then
|
|
||||||
rc_input start
|
|
||||||
fi
|
|
||||||
|
|
||||||
#
|
#
|
||||||
# Sensors System (start before Commander so Preflight checks are properly run).
|
# Sensors System (start before Commander so Preflight checks are properly run).
|
||||||
# Commander needs to be this early for in-air-restarts.
|
# Commander needs to be this early for in-air-restarts.
|
||||||
|
@ -504,6 +445,14 @@ else
|
||||||
#
|
#
|
||||||
sh /etc/init.d/rc.logging
|
sh /etc/init.d/rc.logging
|
||||||
|
|
||||||
|
#
|
||||||
|
# Start the rc_input driver.
|
||||||
|
#
|
||||||
|
if [ $USE_IO == no -o $IO_PRESENT == no ]
|
||||||
|
then
|
||||||
|
rc_input start
|
||||||
|
fi
|
||||||
|
|
||||||
#
|
#
|
||||||
# Start vmount to control mounts such as gimbals, disabled by default.
|
# Start vmount to control mounts such as gimbals, disabled by default.
|
||||||
#
|
#
|
||||||
|
|
Loading…
Reference in New Issue