aboutsummaryrefslogtreecommitdiff
path: root/ROMFS/px4fmu_common
diff options
context:
space:
mode:
authorLorenz Meier <lm@inf.ethz.ch>2013-12-14 15:08:56 +0100
committerLorenz Meier <lm@inf.ethz.ch>2013-12-14 15:08:56 +0100
commitea10d55d71b25b4440c6b4dc139dda519a0d2797 (patch)
tree084de2d7d11d7a41dd9510ef11136c55ae8bd79c /ROMFS/px4fmu_common
parent10b2dc67e4529759b9dcbef6a18360eba610b5a3 (diff)
downloadpx4-firmware-ea10d55d71b25b4440c6b4dc139dda519a0d2797.tar.gz
px4-firmware-ea10d55d71b25b4440c6b4dc139dda519a0d2797.tar.bz2
px4-firmware-ea10d55d71b25b4440c6b4dc139dda519a0d2797.zip
Auto-update of IO firmware, shorter preflight check alarm
Diffstat (limited to 'ROMFS/px4fmu_common')
-rwxr-xr-xROMFS/px4fmu_common/init.d/rcS47
1 files changed, 36 insertions, 11 deletions
diff --git a/ROMFS/px4fmu_common/init.d/rcS b/ROMFS/px4fmu_common/init.d/rcS
index f1df99048..f551c1aa8 100755
--- a/ROMFS/px4fmu_common/init.d/rcS
+++ b/ROMFS/px4fmu_common/init.d/rcS
@@ -8,6 +8,8 @@
#
set MODE autostart
+set logfile /fs/microsd/bootlog.txt
+
#
# Try to mount the microSD card.
#
@@ -147,26 +149,49 @@ then
nshterm /dev/ttyACM0 &
fi
-
#
# Upgrade PX4IO firmware
#
- if px4io detect
+
+ if [ -f /etc/extras/px4io-v2_default.bin ]
+ then
+ set io_file /etc/extras/px4io-v2_default.bin
+ else
+ set io_file /etc/extras/px4io-v1_default.bin
+ fi
+
+ if px4io start
then
- echo "PX4IO running, not upgrading"
+ echo "PX4IO OK"
+ echo "PX4IO OK" >> $logfile
+ fi
+
+ if px4io checkcrc $io_file
+ then
+ echo "PX4IO CRC OK"
+ echo "PX4IO CRC OK" >> $logfile
else
- echo "Attempting to upgrade PX4IO"
- if px4io update
+ echo "PX4IO CRC failure"
+ echo "PX4IO CRC failure" >> $logfile
+ tone_alarm MBABGP
+ if px4io forceupdate 14662 $io_file
then
- if [ -d /fs/microsd ]
+ usleep 200000
+ if px4io start
then
- echo "Flashed PX4IO Firmware OK" > /fs/microsd/px4io.log
+ echo "PX4IO restart OK"
+ echo "PX4IO restart OK" >> $logfile
+ tone_alarm MSPAA
+ else
+ echo "PX4IO restart failed"
+ echo "PX4IO restart failed" >> $logfile
+ tone_alarm MNGGG
+ sh /etc/init.d/rc.error
fi
-
- # Allow IO to safely kick back to app
- usleep 200000
else
- echo "No PX4IO to upgrade here"
+ echo "PX4IO update failed"
+ echo "PX4IO update failed" >> $logfile
+ tone_alarm MNGGG
fi
fi