#!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. # set USB autoconnect set NSH_ERROR_UART1 /dev/ttyACM0 set NSH_ERROR_UART2 /dev/ttyS0 # # 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" fi # Look for an additional init script that allows changing the default # behavior. Settings may be overriden in the following order: # # board-specific file # etc/rc on microSD card # etc/rc.txt on microSD card if [ -f /etc/init.d/rc.board ] then echo "[init] reading /etc/init.d/rc.board" sh /etc/init.d/rc.board fi 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 -a ! -f /fs/microsd/APM/nostart ] then echo Running rc.APM # if APM startup is successful then nsh will exit sh /etc/init.d/rc.APM else echo "Opening USB nsh" nshterm /dev/ttyACM0 & fi