Browse Source

boards: px4/fmu-v5 disable px4io in rc.board_defaults

- avoid keeping this kind of logic in the common rcS
release/1.12
Daniel Agar 4 years ago committed by Lorenz Meier
parent
commit
d7b89ecc86
  1. 83
      ROMFS/px4fmu_common/init.d/rcS
  2. 6
      boards/px4/fmu-v5/init/rc.board_defaults

83
ROMFS/px4fmu_common/init.d/rcS

@ -271,69 +271,62 @@ else @@ -271,69 +271,62 @@ else
param set SYS_AUTOCONFIG 0
fi
#
# Set USE_IO flag.
#
if param compare -s SYS_USE_IO 1
then
set USE_IO yes
fi
#
# Check if PX4IO present and update firmware if needed.
# Assumption IOFW set to firmware file and IO_PRESENT = no
#
if [ -f $IOFW ]
if [ -f $IOFW -a $USE_IO = yes ]
then
# Check for the mini using build with px4io fw file
# but not a px4IO
if ver hwtypecmp V540 V560
if px4io checkcrc ${IOFW}
then
param set SYS_USE_IO 0
set IO_PRESENT yes
else
if px4io checkcrc ${IOFW}
then
set IO_PRESENT yes
else
# tune Program PX4IO
tune_control play -t 16 # tune 16 = PROG_PX4IO
# tune Program PX4IO
tune_control play -t 16 # tune 16 = PROG_PX4IO
if px4io start
if px4io start
then
# Try to safety px4 io so motor outputs don't go crazy.
if ! px4io safety_on
then
# Try to safety px4 io so motor outputs don't go crazy.
if ! px4io safety_on
then
# px4io did not respond to the safety command.
px4io stop
fi
# px4io did not respond to the safety command.
px4io stop
fi
fi
if px4io forceupdate 14662 ${IOFW}
if px4io forceupdate 14662 ${IOFW}
then
usleep 10000
tune_control stop
if px4io checkcrc ${IOFW}
then
usleep 10000
tune_control stop
if px4io checkcrc ${IOFW}
then
echo "PX4IO CRC OK after updating"
tune_control play -t 17 # tune 17 = PROG_PX4IO_OK
set IO_PRESENT yes
fi
echo "PX4IO CRC OK after updating"
tune_control play -t 17 # tune 17 = PROG_PX4IO_OK
set IO_PRESENT yes
fi
fi
if [ $IO_PRESENT = no ]
then
echo "PX4IO update failed"
tune_control play -t 18 # tune 18 = PROG_PX4IO_ERR
fi
if [ $IO_PRESENT = no ]
then
echo "PX4IO update failed"
tune_control play -t 18 # tune 18 = PROG_PX4IO_ERR
fi
fi
fi
#
# Set USE_IO flag.
#
if param compare -s SYS_USE_IO 1
then
set USE_IO yes
fi
if [ $USE_IO = yes -a $IO_PRESENT = no ]
then
echo "PX4IO not found"
tune_control play error
if [ $USE_IO = yes -a $IO_PRESENT = no ]
then
echo "PX4IO not found"
tune_control play error
fi
fi
#

6
boards/px4/fmu-v5/init/rc.board_defaults

@ -9,6 +9,12 @@ then @@ -9,6 +9,12 @@ then
fi
# disable px4io on HolyBro mini (V540) and CUAV V5nano (V560)
if ver hwtypecmp V540 V560
then
param set SYS_USE_IO 0
fi
set LOGGER_BUF 64
rgbled_pwm start

Loading…
Cancel
Save