aboutsummaryrefslogtreecommitdiff
path: root/ROMFS/scripts/rc.PX4IO
diff options
context:
space:
mode:
authorLorenz Meier <lm@inf.ethz.ch>2013-04-18 15:53:25 +0200
committerLorenz Meier <lm@inf.ethz.ch>2013-04-18 15:53:25 +0200
commitd7d0d9ea513ea146d42bd5f6397abcd5943ca73b (patch)
treeac236ab58364e9b1846f4925830f5467b3c0bd65 /ROMFS/scripts/rc.PX4IO
parentf562a279765a7d90bad7b07963995148de4b2af2 (diff)
downloadpx4-firmware-d7d0d9ea513ea146d42bd5f6397abcd5943ca73b.tar.gz
px4-firmware-d7d0d9ea513ea146d42bd5f6397abcd5943ca73b.tar.bz2
px4-firmware-d7d0d9ea513ea146d42bd5f6397abcd5943ca73b.zip
Fixed startup scripts for default platforms, needs integration with wiki to avoid similar issues
Diffstat (limited to 'ROMFS/scripts/rc.PX4IO')
-rw-r--r--ROMFS/scripts/rc.PX4IO57
1 files changed, 42 insertions, 15 deletions
diff --git a/ROMFS/scripts/rc.PX4IO b/ROMFS/scripts/rc.PX4IO
index 1e3963b9a..625f23bdd 100644
--- a/ROMFS/scripts/rc.PX4IO
+++ b/ROMFS/scripts/rc.PX4IO
@@ -5,7 +5,7 @@ set USB no
set MODE camflyer
#
-# Start the ORB
+# Start the ORB (first app to start)
#
uorb start
@@ -27,38 +27,65 @@ fi
param set MAV_TYPE 1
#
-# Start the sensors.
+# Check if PX4IO Firmware should be upgraded (from Andrew Tridgell)
#
-sh /etc/init.d/rc.sensors
+if [ -f /fs/microsd/px4io.bin ]
+then
+ echo "PX4IO Firmware found. Checking Upgrade.."
+ if cmp /fs/microsd/px4io.bin /fs/microsd/px4io.bin.current
+ then
+ echo "No newer version, skipping upgrade."
+ else
+ echo "Loading /fs/microsd/px4io.bin"
+ if px4io update /fs/microsd/px4io.bin > /fs/microsd/px4io_update.log
+ then
+ cp /fs/microsd/px4io.bin /fs/microsd/px4io.bin.current
+ echo "Flashed /fs/microsd/px4io.bin OK" >> /fs/microsd/px4io_update.log
+ else
+ echo "Failed flashing /fs/microsd/px4io.bin" >> /fs/microsd/px4io_update.log
+ echo "Failed to upgrade PX4IO firmware - check if PX4IO is in bootloader mode"
+ fi
+ fi
+fi
#
-# Start MAVLink
+# Start MAVLink (depends on orb)
#
mavlink start -d /dev/ttyS1 -b 57600
usleep 5000
#
-# Start the commander.
+# Start the commander (depends on orb, mavlink)
#
commander start
#
-# Start GPS interface
+# Start PX4IO interface (depends on orb, commander)
#
-gps start
+px4io start
#
-# Start the attitude estimator
+# Allow PX4IO to recover from midair restarts.
+# this is very unlikely, but quite safe and robust.
+px4io recovery
+
#
-kalman_demo start
+# Start the sensors (depends on orb, px4io)
+#
+sh /etc/init.d/rc.sensors
#
-# Start PX4IO interface
+# Start GPS interface (depends on orb)
#
-px4io start
+gps start
+
+#
+# Start the attitude estimator (depends on orb)
+#
+kalman_demo start
#
-# Load mixer and start controllers
+# Load mixer and start controllers (depends on px4io)
#
mixer load /dev/pwm_output /etc/mixers/FMU_Q.mix
control_demo start
@@ -66,8 +93,8 @@ control_demo start
#
# Start logging
#
-sdlog start -s 10
-
+#sdlog start -s 4
+
#
# Start system state
#
@@ -77,4 +104,4 @@ then
blinkm systemstate
else
echo "no BlinkM found, OK."
-fi
+fi \ No newline at end of file