aboutsummaryrefslogtreecommitdiff
path: root/ROMFS/px4fmu_common/init.d/rcS
diff options
context:
space:
mode:
Diffstat (limited to 'ROMFS/px4fmu_common/init.d/rcS')
-rwxr-xr-xROMFS/px4fmu_common/init.d/rcS299
1 files changed, 151 insertions, 148 deletions
diff --git a/ROMFS/px4fmu_common/init.d/rcS b/ROMFS/px4fmu_common/init.d/rcS
index 30edf679a..6a82acdcc 100755
--- a/ROMFS/px4fmu_common/init.d/rcS
+++ b/ROMFS/px4fmu_common/init.d/rcS
@@ -57,168 +57,171 @@ fi
if [ $MODE == autostart ]
then
-
-#
-# Start terminal
-#
-if sercon
-then
- echo "USB connected"
-else
- # second attempt
- sercon &
-fi
-
-#
-# Start the ORB (first app to start)
-#
-uorb start
-
-#
-# Load microSD params
-#
-if ramtron start
-then
- param select /ramtron/params
- if [ -f /ramtron/params ]
+ #
+ # Start terminal
+ #
+ if sercon
then
- param load /ramtron/params
+ echo "USB connected"
+ else
+ # second attempt
+ sercon &
fi
-else
- param select /fs/microsd/params
- if [ -f /fs/microsd/params ]
+
+ #
+ # Start the ORB (first app to start)
+ #
+ uorb start
+
+ #
+ # Load microSD params
+ #
+ if ramtron start
then
- param load /fs/microsd/params
+ param select /ramtron/params
+ if [ -f /ramtron/params ]
+ then
+ param load /ramtron/params
+ fi
+ else
+ param select /fs/microsd/params
+ if [ -f /fs/microsd/params ]
+ then
+ param load /fs/microsd/params
+ fi
fi
-fi
-
-#
-# Start system state indicator
-#
-if rgbled start
-then
- echo "Using external RGB Led"
-else
- if blinkm start
+
+ #
+ # Start system state indicator
+ #
+ if rgbled start
then
- blinkm systemstate
+ echo "Using external RGB Led"
+ else
+ if blinkm start
+ then
+ blinkm systemstate
+ fi
fi
-fi
-
-#
-# 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.cur
+
+ #
+ # Start logging
+ #
+ sh /etc/init.d/rc.logging
+
+ #
+ # Check if PX4IO Firmware should be upgraded (from Andrew Tridgell)
+ #
+ if [ -f /fs/microsd/px4io.bin ]
then
- echo "No newer version, skipping upgrade."
- else
- echo "Loading /fs/microsd/px4io.bin"
- if px4io update /fs/microsd/px4io.bin > /fs/microsd/px4io.log
+ echo "PX4IO Firmware found. Checking Upgrade.."
+ if cmp /fs/microsd/px4io.bin /fs/microsd/px4io.cur
then
- cp /fs/microsd/px4io.bin /fs/microsd/px4io.cur
- echo "Flashed /fs/microsd/px4io.bin OK" >> /fs/microsd/px4io.log
+ echo "No newer version, skipping upgrade."
else
- echo "Failed flashing /fs/microsd/px4io.bin" >> /fs/microsd/px4io.log
- echo "Failed to upgrade px4io firmware - check if px4io is in bootloader mode"
+ echo "Loading /fs/microsd/px4io.bin"
+ if px4io update /fs/microsd/px4io.bin > /fs/microsd/px4io.log
+ then
+ cp /fs/microsd/px4io.bin /fs/microsd/px4io.cur
+ echo "Flashed /fs/microsd/px4io.bin OK" >> /fs/microsd/px4io.log
+ else
+ echo "Failed flashing /fs/microsd/px4io.bin" >> /fs/microsd/px4io.log
+ echo "Failed to upgrade px4io firmware - check if px4io is in bootloader mode"
+ fi
fi
fi
-fi
-
-#
-# Check if auto-setup from one of the standard scripts is wanted
-# SYS_AUTOSTART = 0 means no autostart (default)
-#
-if param compare SYS_AUTOSTART 1
-then
- sh /etc/init.d/01_fmu_quad_x
- set MODE custom
-fi
-
-if param compare SYS_AUTOSTART 2
-then
- sh /etc/init.d/02_io_quad_x
- set MODE custom
-fi
-
-if param compare SYS_AUTOSTART 8
-then
- sh /etc/init.d/08_ardrone
- set MODE custom
-fi
-
-if param compare SYS_AUTOSTART 9
-then
- sh /etc/init.d/09_ardrone_flow
- set MODE custom
-fi
-
-if param compare SYS_AUTOSTART 10
-then
- sh /etc/init.d/10_io_f330
- set MODE custom
-fi
-
-if param compare SYS_AUTOSTART 15
-then
- sh /etc/init.d/15_io_tbs
- set MODE custom
-fi
-
-if param compare SYS_AUTOSTART 30
-then
- sh /etc/init.d/30_io_camflyer
- set MODE custom
-fi
-
-if param compare SYS_AUTOSTART 31
-then
- sh /etc/init.d/31_io_phantom
- set MODE custom
-fi
-
-# Try to get an USB console
-nshterm /dev/ttyACM0 &
-
-# Start any custom extensions that might be missing
-if [ -f /fs/microsd/etc/rc.local ]
-then
- sh /fs/microsd/etc/rc.local
-fi
-
-# If none of the autostart scripts triggered, get a minimal setup
-if [ $MODE == autostart ]
-then
- # Telemetry port is on both FMU boards ttyS1
- mavlink start -b 57600 -d /dev/ttyS1
- usleep 5000
-
- # Start commander
- commander start
-
- # Start px4io if present
- if px4io start
+
+ #
+ # Check if auto-setup from one of the standard scripts is wanted
+ # SYS_AUTOSTART = 0 means no autostart (default)
+ #
+ if param compare SYS_AUTOSTART 1
then
- echo "PX4IO driver started"
- else
- if fmu mode_serial
+ sh /etc/init.d/01_fmu_quad_x
+ set MODE custom
+ fi
+
+ if param compare SYS_AUTOSTART 2
+ then
+ sh /etc/init.d/02_io_quad_x
+ set MODE custom
+ fi
+
+ if param compare SYS_AUTOSTART 8
+ then
+ sh /etc/init.d/08_ardrone
+ set MODE custom
+ fi
+
+ if param compare SYS_AUTOSTART 9
+ then
+ sh /etc/init.d/09_ardrone_flow
+ set MODE custom
+ fi
+
+ if param compare SYS_AUTOSTART 10
+ then
+ sh /etc/init.d/10_io_f330
+ set MODE custom
+ fi
+
+ if param compare SYS_AUTOSTART 15
+ then
+ sh /etc/init.d/15_io_tbs
+ set MODE custom
+ fi
+
+ if param compare SYS_AUTOSTART 30
+ then
+ sh /etc/init.d/30_io_camflyer
+ set MODE custom
+ fi
+
+ if param compare SYS_AUTOSTART 31
+ then
+ sh /etc/init.d/31_io_phantom
+ set MODE custom
+ fi
+
+ # Try to get an USB console
+ nshterm /dev/ttyACM0 &
+
+ # Start any custom extensions that might be missing
+ if [ -f /fs/microsd/etc/rc.local ]
+ then
+ sh /fs/microsd/etc/rc.local
+ fi
+
+ # If none of the autostart scripts triggered, get a minimal setup
+ if [ $MODE == autostart ]
+ then
+ # Telemetry port is on both FMU boards ttyS1
+ mavlink start -b 57600 -d /dev/ttyS1
+ usleep 5000
+
+ # Start commander
+ commander start
+
+ # Start px4io if present
+ if px4io start
then
- echo "FMU driver started"
+ echo "PX4IO driver started"
+ else
+ if fmu mode_serial
+ then
+ echo "FMU driver started"
+ fi
fi
+
+ # Start sensors
+ sh /etc/init.d/rc.sensors
+
+ # Start one of the estimators
+ attitude_estimator_ekf start
+
+ # Start GPS
+ gps start
+
fi
-
- # Start sensors
- sh /etc/init.d/rc.sensors
-
- # Start one of the estimators
- attitude_estimator_ekf start
-
- # Start GPS
- gps start
-
-fi
-
# End of autostart
fi