mirror of
https://gitee.com/mirrors_PX4/PX4-Autopilot.git
synced 2026-11-13 10:51:36 +08:00
106 lines
1.7 KiB
Bash
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
|