From 0e9c352927380ea45dc220306dcb8a5ceadf06c5 Mon Sep 17 00:00:00 2001 From: Lorenz Meier Date: Sat, 6 Aug 2016 13:17:27 +0200 Subject: [PATCH] Simplify TAP config --- ROMFS/tap_common/init.d/rcS | 709 +++++++++++++++--------------------- 1 file changed, 286 insertions(+), 423 deletions(-) diff --git a/ROMFS/tap_common/init.d/rcS b/ROMFS/tap_common/init.d/rcS index a68c78e6fd..d5795c1d83 100644 --- a/ROMFS/tap_common/init.d/rcS +++ b/ROMFS/tap_common/init.d/rcS @@ -1,6 +1,6 @@ #!nsh # -# PX4FMU startup script. +# TAP startup script. # # NOTE: COMMENT LINES ARE REMOVED BEFORE STORED IN ROMFS. # @@ -10,29 +10,23 @@ # sercon -# -# Default to auto-start mode. -# -set MODE autostart - set TUNE_ERR ML<> $LOG_FILE - param set UAVCAN_ENABLE 1 - fi - fi - - if [ $OUTPUT_MODE == fmu ] - then - if fmu mode_$FMU_MODE - then - else - echo "ERR [init] FMU start failed" >> $LOG_FILE - tone_alarm $TUNE_ERR - fi - fi - - if fmu mode_pwm4 - then - else - echo "ERROR [init] FMU mode_$FMU_MODE start failed" >> $LOG_FILE - tone_alarm $TUNE_ERR - fi - fi - - mavlink start -r 1200 -d /dev/ttyS1 - - # - # Starting stuff according to UAVCAN_ENABLE value - # - if param greater UAVCAN_ENABLE 0 - then - if uavcan start - then - else - tone_alarm $TUNE_ERR - fi - fi - - if param greater UAVCAN_ENABLE 1 - then - if uavcan start fw - then - else - tone_alarm $TUNE_ERR - fi - fi - - # - # Optional drivers - # - - # Sensors on the PWM interface bank - if param compare SENS_EN_LL40LS 1 - then - if pwm_input start - then - if ll40ls start pwm - then - fi - fi - fi - - # sf0x lidar sensor - if param compare SENS_EN_SF0X 1 - then - sf0x start - fi - - # Start USB shell if no microSD present, MAVLink else - if [ $LOG_FILE == /dev/null ] - then - # Try to get an USB console - nshterm /dev/ttyACM0 & - else - mavlink start -r 800000 -d /dev/ttyACM0 -m config -x - fi - - # - # Logging - # - if param compare SYS_LOGGER 0 - then - if sdlog2 start -r 100 -a -b 9 -t - then - fi - else - if logger start -b 12 -t - then - fi - fi - - # - # Fixed wing setup - # - if [ $VEHICLE_TYPE == fw ] - then - echo "INFO [init] Fixedwing" - - if [ $MIXER == none ] - then - # Set default mixer for fixed wing if not defined - set MIXER AERT - fi - - if [ $MAV_TYPE == none ] - then - # Use MAV_TYPE = 1 (fixed wing) if not defined - set MAV_TYPE 1 - fi - param set MAV_TYPE $MAV_TYPE - - # Load mixer and configure outputs - sh /etc/init.d/rc.interface - - # Start standard fixedwing apps - sh /etc/init.d/rc.fw_apps fi - # - # Multicopters setup - # - if [ $VEHICLE_TYPE == mc ] - then - echo "INFO [init] Multicopter" + # Load mixer and configure outputs + sh /etc/init.d/rc.interface - if [ $MIXER == none ] - then - echo "INFO [init] Mixer undefined" - fi - - if [ $MAV_TYPE == none ] - then - # Use mixer to detect vehicle type - if [ $MIXER == quad_x -o $MIXER == quad_+ ] - then - set MAV_TYPE 2 - fi - if [ $MIXER == quad_w ] - then - set MAV_TYPE 2 - fi - if [ $MIXER == quad_h ] - then - set MAV_TYPE 2 - fi - if [ $MIXER == tri_y_yaw- -o $MIXER == tri_y_yaw+ ] - then - set MAV_TYPE 15 - fi - if [ $MIXER == hexa_x -o $MIXER == hexa_+ ] - then - set MAV_TYPE 13 - fi - if [ $MIXER == hexa_cox ] - then - set MAV_TYPE 13 - fi - if [ $MIXER == octo_x -o $MIXER == octo_+ ] - then - set MAV_TYPE 14 - fi - fi - - # Still no MAV_TYPE found - if [ $MAV_TYPE == none ] - then - echo "WARN [init] Unknown MAV_TYPE" - param set MAV_TYPE 2 - else - param set MAV_TYPE $MAV_TYPE - fi - - # Load mixer and configure outputs - sh /etc/init.d/rc.interface - - # Start standard multicopter apps - sh /etc/init.d/rc.mc_apps - fi - - # - # VTOL setup - # - if [ $VEHICLE_TYPE == vtol ] - then - echo "INFO [init] VTOL" - - if [ $MIXER == none ] - then - echo "WARN [init] VTOL mixer undefined" - fi - - if [ $MAV_TYPE == none ] - then - # Use mixer to detect vehicle type - if [ $MIXER == caipirinha_vtol ] - then - set MAV_TYPE 19 - fi - if [ $MIXER == firefly6 ] - then - set MAV_TYPE 21 - fi - if [ $MIXER == quad_x_pusher_vtol ] - then - set MAV_TYPE 22 - fi - fi - - # Still no MAV_TYPE found - if [ $MAV_TYPE == none ] - then - echo "WARN [init] Unknown MAV_TYPE" - param set MAV_TYPE 19 - else - param set MAV_TYPE $MAV_TYPE - fi - - # Load mixer and configure outputs - sh /etc/init.d/rc.interface - - # Start standard vtol apps - sh /etc/init.d/rc.vtol_apps - fi - - # - # Rover setup - # - if [ $VEHICLE_TYPE == rover ] - then - # 10 is MAV_TYPE_GROUND_ROVER - set MAV_TYPE 10 - - # Load mixer and configure outputs - sh /etc/init.d/rc.interface - - # Start standard rover apps - sh /etc/init.d/rc.axialracing_ax10_apps - - param set MAV_TYPE 10 - fi - - unset MIXER - unset MAV_TYPE - unset OUTPUT_MODE - - # - # Start the navigator - # - navigator start - - # - # Generic setup (autostart ID not found) - # - if [ $VEHICLE_TYPE == none ] - then - echo "WARN [init] No autostart ID found" - fi - - # Start any custom addons - set FEXTRAS /fs/microsd/etc/extras.txt - if [ -f $FEXTRAS ] - then - echo "INFO [init] Addons script: $FEXTRAS" - sh $FEXTRAS - fi - unset FEXTRAS - - # Run no SD alarm - if [ $LOG_FILE == /dev/null ] - then - # Play SOS - tone_alarm error - fi - -# End of autostart + # Start standard multicopter apps + sh /etc/init.d/rc.mc_apps fi +# +# VTOL setup +# +if [ $VEHICLE_TYPE == vtol ] +then + echo "INFO [init] VTOL" + + if [ $MIXER == none ] + then + echo "WARN [init] VTOL mixer undefined" + fi + + if [ $MAV_TYPE == none ] + then + # Use mixer to detect vehicle type + if [ $MIXER == caipirinha_vtol ] + then + set MAV_TYPE 19 + fi + if [ $MIXER == firefly6 ] + then + set MAV_TYPE 21 + fi + if [ $MIXER == quad_x_pusher_vtol ] + then + set MAV_TYPE 22 + fi + fi + + # Still no MAV_TYPE found + if [ $MAV_TYPE == none ] + then + echo "WARN [init] Unknown MAV_TYPE" + param set MAV_TYPE 19 + else + param set MAV_TYPE $MAV_TYPE + fi + + # Load mixer and configure outputs + sh /etc/init.d/rc.interface + + # Start standard vtol apps + sh /etc/init.d/rc.vtol_apps +fi + +# +# Rover setup +# +if [ $VEHICLE_TYPE == rover ] +then + # 10 is MAV_TYPE_GROUND_ROVER + set MAV_TYPE 10 + + # Load mixer and configure outputs + sh /etc/init.d/rc.interface + + # Start standard rover apps + sh /etc/init.d/rc.axialracing_ax10_apps + + param set MAV_TYPE 10 +fi + +unset MIXER +unset MAV_TYPE +unset OUTPUT_MODE + +# +# Start the navigator +# +navigator start + +# +# Generic setup (autostart ID not found) +# +if [ $VEHICLE_TYPE == none ] +then + echo "WARN [init] No autostart ID found" +fi + +# Start any custom addons +set FEXTRAS /fs/microsd/etc/extras.txt +if [ -f $FEXTRAS ] +then + echo "INFO [init] Addons script: $FEXTRAS" + sh $FEXTRAS +fi +unset FEXTRAS + # There is no further script processing, so we can free some RAM # XXX potentially unset all script variables. unset TUNE_ERR # Boot is complete, inform MAVLink app(s) that the system is now fully up and running mavlink boot_complete - -if [ $EXIT_ON_END == yes ] -then - echo "INFO [init] NSH exit" - exit -fi -unset EXIT_ON_END