px4-firmware/ROMFS/px4fmu_common/init.d/rc.vehicle_setup

204 lines
3.2 KiB
Plaintext
Raw Normal View History

#!/bin/sh
#
# Vehicle configuration setup script.
#
# NOTE: Script variables are declared/initialized/unset in the rcS script.
#
#
# Fixed wing setup.
#
if [ $VEHICLE_TYPE = fw ]
then
if [ $MIXER = none ]
then
# Set default mixer for fixed wing if not defined.
set MIXER AERT
fi
if [ $MAV_TYPE = none ]
then
# Set a default MAV_TYPE = 1 if not defined.
set MAV_TYPE 1
fi
# Set the mav type parameter.
param set MAV_TYPE ${MAV_TYPE}
# Load mixer and configure outputs.
source /etc/init.d/rc.interface
# Start standard fixedwing apps.
source /etc/init.d/rc.fw_apps
fi
#
# Multicopter setup.
#
if [ $VEHICLE_TYPE = mc ]
then
if [ $MIXER = none ]
then
echo "MC mixer undefined"
fi
if [ $MAV_TYPE = none ]
then
# Set a default MAV_TYPE = 2 if not defined.
set MAV_TYPE 2
# Use mixer to detect vehicle type
if [ $MIXER = coax ]
then
set MAV_TYPE 3
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
if [ $MIXER = octo_cox -o $MIXER = octo_cox_w ]
then
set MAV_TYPE 14
fi
if [ $MIXER = tri_y_yaw- -o $MIXER = tri_y_yaw+ ]
then
set MAV_TYPE 15
fi
fi
# Set the mav type parameter.
param set MAV_TYPE ${MAV_TYPE}
# Load mixer and configure outputs.
source /etc/init.d/rc.interface
# Start standard multicopter apps.
source /etc/init.d/rc.mc_apps
fi
#
# UGV setup.
#
if [ $VEHICLE_TYPE = rover ]
then
if [ $MIXER = none ]
then
# Set default mixer for UGV if not defined.
set MIXER rover_generic
fi
if [ $MAV_TYPE = none ]
then
# Set a default MAV_TYPE = 10 if not defined.
set MAV_TYPE 10
fi
# Set the mav type parameter.
param set MAV_TYPE ${MAV_TYPE}
# Load mixer and configure outputs.
source /etc/init.d/rc.interface
# Start standard UGV apps.
source /etc/init.d/rc.rover_apps
fi
#
# VTOL setup.
#
if [ $VEHICLE_TYPE = vtol ]
then
if [ $MIXER = none ]
then
echo "VTOL mixer undefined"
fi
if [ $MAV_TYPE = none ]
then
# Set a default MAV_TYPE = 19 if not defined.
set MAV_TYPE 19
# Use mixer to detect vehicle type.
if [ $MIXER = firefly6 ]
then
set MAV_TYPE 21
fi
if [ $MIXER = quad_x_pusher_vtol ]
then
set MAV_TYPE 22
fi
fi
# Set the mav type parameter.
param set MAV_TYPE ${MAV_TYPE}
# Load mixer and configure outputs.
source /etc/init.d/rc.interface
# Start standard vtol apps.
source /etc/init.d/rc.vtol_apps
fi
#
# Airship setup.
#
if [ $VEHICLE_TYPE = airship ]
then
if [ $MIXER = none ]
then
echo "Airship mixer undefined"
fi
if [ $MAV_TYPE = none ]
then
# Set a default MAV_TYPE = 7 if not defined.
set MAV_TYPE 7
fi
# Set the mav type parameter.
param set MAV_TYPE ${MAV_TYPE}
# Load mixer and configure outputs.
source /etc/init.d/rc.interface
# Start airship apps.
source /etc/init.d/rc.airship_apps
fi
#
# UUV setup
#
if [ $VEHICLE_TYPE = uuv ]
then
if [ $MIXER = none ]
then
echo "UUV mixer undefined"
fi
# Load mixer and configure outputs.
source /etc/init.d/rc.interface
# Start standard vtol apps.
source /etc/init.d/rc.uuv_apps
fi
#
# Generic setup (autostart ID not found).
#
if [ $VEHICLE_TYPE = none ]
then
echo "No autostart ID found"
ekf2 start
fi