diff options
author | Lorenz Meier <lm@inf.ethz.ch> | 2013-05-02 22:35:16 +0200 |
---|---|---|
committer | Lorenz Meier <lm@inf.ethz.ch> | 2013-05-02 22:35:16 +0200 |
commit | b9b75a24045da332644ce397d2777d9d554ff39f (patch) | |
tree | ee5fb14a5635927b49128307e714477a3d3071fb /ROMFS/scripts/rc.IO_QUAD | |
parent | bfc6183fd4b4859bacd8ed9196964c7ee454764e (diff) | |
download | px4-firmware-b9b75a24045da332644ce397d2777d9d554ff39f.tar.gz px4-firmware-b9b75a24045da332644ce397d2777d9d554ff39f.tar.bz2 px4-firmware-b9b75a24045da332644ce397d2777d9d554ff39f.zip |
Hotfix: Provide a FMU + IO on quad start script
Diffstat (limited to 'ROMFS/scripts/rc.IO_QUAD')
-rw-r--r-- | ROMFS/scripts/rc.IO_QUAD | 107 |
1 files changed, 107 insertions, 0 deletions
diff --git a/ROMFS/scripts/rc.IO_QUAD b/ROMFS/scripts/rc.IO_QUAD new file mode 100644 index 000000000..287cb0483 --- /dev/null +++ b/ROMFS/scripts/rc.IO_QUAD @@ -0,0 +1,107 @@ +#!nsh + +# Disable USB and autostart +set USB no +set MODE quad + +# +# Start the ORB (first app to start) +# +uorb start + +# +# Load microSD params +# +echo "[init] loading microSD params" +param select /fs/microsd/parameters +if [ -f /fs/microsd/parameters ] +then + param load /fs/microsd/parameters +fi + +# +# Force some key parameters to sane values +# MAV_TYPE 1 = fixed wing, 2 = quadrotor, 13 = hexarotor +# see https://pixhawk.ethz.ch/mavlink/ +# +param set MAV_TYPE 2 + +# +# Check if PX4IO Firmware should be upgraded (from Andrew Tridgell) +# +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 (depends on orb) +# +mavlink start -d /dev/ttyS1 -b 57600 +usleep 5000 + +# +# Start the commander (depends on orb, mavlink) +# +commander start + +# +# Start PX4IO interface (depends on orb, commander) +# +px4io start + +# +# Allow PX4IO to recover from midair restarts. +# this is very unlikely, but quite safe and robust. +px4io recovery + +# +# Start the sensors (depends on orb, px4io) +# +sh /etc/init.d/rc.sensors + +# +# Start GPS interface (depends on orb) +# +gps start + +# +# Start the attitude estimator (depends on orb) +# +attitude_estimator_ekf start + +# +# Load mixer and start controllers (depends on px4io) +# +mixer load /dev/pwm_output /etc/mixers/FMU_quad_+.mix +multirotor_att_control start + +# +# Start logging +# +#sdlog start -s 4 + +# +# Start system state +# +if blinkm start +then + echo "using BlinkM for state indication" + blinkm systemstate +else + echo "no BlinkM found, OK." +fi
\ No newline at end of file |