diff options
author | px4dev <px4@purgatory.org> | 2013-04-26 11:27:26 -0700 |
---|---|---|
committer | px4dev <px4@purgatory.org> | 2013-04-26 11:27:26 -0700 |
commit | 3acdc9d4ce3d83af6bb7f953e466620be690658e (patch) | |
tree | c1c792b44f7454ce36a288034179764ebc355daa /ROMFS/scripts/rcS | |
parent | 8224adf52a126105c72e41db2ba35b1aaed3e301 (diff) | |
parent | 556a017444b809c18e2ce495a2fd00380960e0f4 (diff) | |
download | px4-firmware-3acdc9d4ce3d83af6bb7f953e466620be690658e.tar.gz px4-firmware-3acdc9d4ce3d83af6bb7f953e466620be690658e.tar.bz2 px4-firmware-3acdc9d4ce3d83af6bb7f953e466620be690658e.zip |
Merge branch 'master' into export-build
Diffstat (limited to 'ROMFS/scripts/rcS')
-rwxr-xr-x | ROMFS/scripts/rcS | 83 |
1 files changed, 83 insertions, 0 deletions
diff --git a/ROMFS/scripts/rcS b/ROMFS/scripts/rcS new file mode 100755 index 000000000..c0a70f7dd --- /dev/null +++ b/ROMFS/scripts/rcS @@ -0,0 +1,83 @@ +#!nsh +# +# PX4FMU startup script. +# +# This script is responsible for: +# +# - mounting the microSD card (if present) +# - running the user startup script from the microSD card (if present) +# - detecting the configuration of the system and picking a suitable +# startup script to continue with +# +# Note: DO NOT add configuration-specific commands to this script; +# add them to the per-configuration scripts instead. +# + +# +# Default to auto-start mode. An init script on the microSD card +# can change this to prevent automatic startup of the flight script. +# +set MODE autostart +set USB autoconnect + +# + +# + + +# +# Try to mount the microSD card. +# +echo "[init] looking for microSD..." +if mount -t vfat /dev/mmcsd0 /fs/microsd +then + echo "[init] card mounted at /fs/microsd" + # Start playing the startup tune + tone_alarm start +else + echo "[init] no microSD card found" + # Play SOS + tone_alarm 2 +fi + +# +# Look for an init script on the microSD card. +# +# To prevent automatic startup in the current flight mode, +# the script should set MODE to some other value. +# +if [ -f /fs/microsd/etc/rc ] +then + echo "[init] reading /fs/microsd/etc/rc" + sh /fs/microsd/etc/rc +fi +# Also consider rc.txt files +if [ -f /fs/microsd/etc/rc.txt ] +then + echo "[init] reading /fs/microsd/etc/rc.txt" + sh /fs/microsd/etc/rc.txt +fi + +# +# Check for USB host +# +if [ $USB != autoconnect ] +then + echo "[init] not connecting USB" +else + if sercon + then + echo "[init] USB interface connected" + else + echo "[init] No USB connected" + fi +fi + +# if this is an APM build then there will be a rc.APM script +# from an EXTERNAL_SCRIPTS build option +if [ -f /etc/init.d/rc.APM ] +then + echo Running rc.APM + # if APM startup is successful then nsh will exit + sh /etc/init.d/rc.APM +fi |