Files
PX4-Autopilot/ROMFS/px4fmu_common/init.d/rc.vehicle_setup
T

106 lines
1.7 KiB
Bash

#!/bin/sh
#
# Vehicle configuration setup script.
#
# NOTE: Script variables are declared/initialized/unset in the rcS script.
#
# Start the attitude and position estimator.
if param compare -s SYS_MC_EST_GROUP 1
then
#
# Try to start LPE. If it fails, start EKF2 as a default.
# Unfortunately we do not build it on px4_fmu-v2 due to a limited flash.
#
if attitude_estimator_q start
then
echo "WARN [init] Estimator LPE unsupported, EKF2 recommended."
local_position_estimator start
else
echo "ERROR [init] Estimator LPE not available. Using EKF2"
param set SYS_MC_EST_GROUP 2
param save
reboot
fi
else
# Q estimator (attitude estimation only)
if param compare -s SYS_MC_EST_GROUP 3
then
attitude_estimator_q start
fi
fi
if param compare -s SYS_MC_EST_GROUP 2
then
param set EKF2_EN 1
fi
if param compare -s EKF2_EN 1
then
ekf2 start &
fi
#
# Fixed wing setup.
#
if [ $VEHICLE_TYPE = fw ]
then
# Start standard fixedwing apps.
. ${R}etc/init.d/rc.fw_apps
fi
#
# Multicopter setup.
#
if [ $VEHICLE_TYPE = mc ]
then
# Start standard multicopter apps.
. ${R}etc/init.d/rc.mc_apps
fi
#
# UGV setup.
#
if [ $VEHICLE_TYPE = rover ]
then
# Start standard UGV apps.
. ${R}etc/init.d/rc.rover_apps
fi
#
# VTOL setup.
#
if [ $VEHICLE_TYPE = vtol ]
then
# Start standard vtol apps.
. ${R}etc/init.d/rc.vtol_apps
fi
#
# Airship setup.
#
if [ $VEHICLE_TYPE = airship ]
then
# Start airship apps.
. ${R}etc/init.d/rc.airship_apps
fi
#
# UUV setup
#
if [ $VEHICLE_TYPE = uuv ]
then
# Start standard vtol apps.
. ${R}etc/init.d/rc.uuv_apps
fi
#
# Generic setup (autostart ID not found).
#
if [ $VEHICLE_TYPE = none ]
then
echo "No autostart ID found"
fi