2018-07-12 15:50:47 -03:00
|
|
|
#!nsh
|
|
|
|
#
|
|
|
|
# Vehicle configuration setup script.
|
|
|
|
#
|
|
|
|
# NOTE: Script variables are declared/initialized/unset in the rcS script.
|
|
|
|
#
|
|
|
|
|
|
|
|
#
|
2018-07-26 21:18:53 -03:00
|
|
|
# Fixed wing setup.
|
2018-07-12 15:50:47 -03:00
|
|
|
#
|
|
|
|
if [ $VEHICLE_TYPE == fw ]
|
|
|
|
then
|
|
|
|
if [ $MIXER == none ]
|
|
|
|
then
|
2018-07-26 21:18:53 -03:00
|
|
|
# Set default mixer for fixed wing if not defined.
|
2018-07-12 15:50:47 -03:00
|
|
|
set MIXER AERT
|
|
|
|
fi
|
|
|
|
|
|
|
|
if [ $MAV_TYPE == none ]
|
|
|
|
then
|
2018-07-26 21:18:53 -03:00
|
|
|
# Use MAV_TYPE = 1 (fixed wing) if not defined.
|
2018-07-12 15:50:47 -03:00
|
|
|
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
|
|
|
|
|
|
|
|
#
|
2018-07-26 21:18:53 -03:00
|
|
|
# Multicopter setup.
|
2018-07-12 15:50:47 -03:00
|
|
|
#
|
|
|
|
if [ $VEHICLE_TYPE == mc ]
|
|
|
|
then
|
|
|
|
if [ $MIXER == none ]
|
|
|
|
then
|
|
|
|
echo "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 -o $MIXER == quad_dc ]
|
|
|
|
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
|
|
|
|
if [ $MIXER == octo_cox -o $MIXER == octo_cox_w ]
|
|
|
|
then
|
|
|
|
set MAV_TYPE 14
|
|
|
|
fi
|
|
|
|
if [ $MIXER == coax ]
|
|
|
|
then
|
|
|
|
set MAV_TYPE 3
|
|
|
|
fi
|
|
|
|
fi
|
|
|
|
|
2018-07-26 21:18:53 -03:00
|
|
|
# Still no MAV_TYPE found.
|
2018-07-12 15:50:47 -03:00
|
|
|
if [ $MAV_TYPE == none ]
|
|
|
|
then
|
|
|
|
param set MAV_TYPE 2
|
|
|
|
else
|
|
|
|
param set MAV_TYPE ${MAV_TYPE}
|
|
|
|
fi
|
|
|
|
|
2018-07-26 21:18:53 -03:00
|
|
|
# Load mixer and configure outputs.
|
2018-07-12 15:50:47 -03:00
|
|
|
sh /etc/init.d/rc.interface
|
|
|
|
|
2018-07-26 21:18:53 -03:00
|
|
|
# Start standard multicopter apps.
|
2018-07-12 15:50:47 -03:00
|
|
|
sh /etc/init.d/rc.mc_apps
|
|
|
|
fi
|
|
|
|
|
|
|
|
#
|
2018-07-26 21:18:53 -03:00
|
|
|
# VTOL setup.
|
2018-07-12 15:50:47 -03:00
|
|
|
#
|
|
|
|
if [ $VEHICLE_TYPE == vtol ]
|
|
|
|
then
|
|
|
|
if [ $MIXER == none ]
|
|
|
|
then
|
|
|
|
echo "VTOL mixer undefined"
|
|
|
|
fi
|
|
|
|
|
|
|
|
if [ $MAV_TYPE == none ]
|
|
|
|
then
|
2018-07-26 21:18:53 -03:00
|
|
|
# Use mixer to detect vehicle type.
|
2018-07-12 15:50:47 -03:00
|
|
|
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
|
|
|
|
|
2018-07-26 21:18:53 -03:00
|
|
|
# Still no MAV_TYPE found.
|
2018-07-12 15:50:47 -03:00
|
|
|
if [ $MAV_TYPE == none ]
|
|
|
|
then
|
|
|
|
echo "Unknown MAV_TYPE"
|
|
|
|
param set MAV_TYPE 19
|
|
|
|
else
|
|
|
|
param set MAV_TYPE ${MAV_TYPE}
|
|
|
|
fi
|
|
|
|
|
2018-07-26 21:18:53 -03:00
|
|
|
# Load mixer and configure outputs.
|
2018-07-12 15:50:47 -03:00
|
|
|
sh /etc/init.d/rc.interface
|
|
|
|
|
2018-07-26 21:18:53 -03:00
|
|
|
# Start standard vtol apps.
|
2018-07-12 15:50:47 -03:00
|
|
|
sh /etc/init.d/rc.vtol_apps
|
|
|
|
fi
|
|
|
|
|
|
|
|
#
|
|
|
|
# UGV setup
|
|
|
|
#
|
|
|
|
if [ $VEHICLE_TYPE == ugv ]
|
|
|
|
then
|
|
|
|
if [ $MIXER == none ]
|
|
|
|
then
|
2018-07-26 21:18:53 -03:00
|
|
|
# Set default mixer for UGV if not defined.
|
2018-07-12 15:50:47 -03:00
|
|
|
set MIXER ugv_generic
|
|
|
|
fi
|
|
|
|
|
|
|
|
if [ $MAV_TYPE == none ]
|
|
|
|
then
|
2018-07-26 21:18:53 -03:00
|
|
|
# Use MAV_TYPE = 10 (UGV) if not defined.
|
2018-07-12 15:50:47 -03:00
|
|
|
set MAV_TYPE 10
|
|
|
|
fi
|
|
|
|
|
|
|
|
param set MAV_TYPE ${MAV_TYPE}
|
|
|
|
|
2018-07-26 21:18:53 -03:00
|
|
|
# Load mixer and configure outputs.
|
2018-07-12 15:50:47 -03:00
|
|
|
sh /etc/init.d/rc.interface
|
|
|
|
|
2018-07-26 21:18:53 -03:00
|
|
|
# Start standard UGV apps.
|
2018-07-12 15:50:47 -03:00
|
|
|
sh /etc/init.d/rc.ugv_apps
|
|
|
|
fi
|
2018-07-12 17:45:19 -03:00
|
|
|
|
|
|
|
#
|
|
|
|
# Generic setup (autostart ID not found).
|
|
|
|
#
|
|
|
|
if [ $VEHICLE_TYPE == none ]
|
|
|
|
then
|
|
|
|
echo "No autostart ID found"
|
|
|
|
ekf2 start
|
|
|
|
fi
|