|
|
|
#!nsh
|
|
|
|
#
|
|
|
|
# UAVCAN initialization script.
|
|
|
|
#
|
|
|
|
|
|
|
|
#
|
|
|
|
# Mirriring the UAVCAN_ENABLE param value to an eponymous environment variable.
|
|
|
|
# TODO there should be a smarter way.
|
|
|
|
#
|
|
|
|
set UAVCAN_ENABLE 0
|
|
|
|
if param compare UAVCAN_ENABLE 1
|
|
|
|
then
|
|
|
|
set UAVCAN_ENABLE 1
|
|
|
|
fi
|
|
|
|
if param compare UAVCAN_ENABLE 2
|
|
|
|
then
|
|
|
|
set UAVCAN_ENABLE 2
|
|
|
|
fi
|
|
|
|
|
|
|
|
echo "[i] UAVCAN_ENABLE is $UAVCAN_ENABLE"
|
|
|
|
|
|
|
|
#
|
|
|
|
# Starting stuff according to UAVCAN_ENABLE value
|
|
|
|
#
|
|
|
|
if [ $UAVCAN_ENABLE -ge 1 ]
|
|
|
|
then
|
|
|
|
if uavcan start
|
|
|
|
then
|
|
|
|
# First sensor publisher to initialize takes lowest instance ID
|
|
|
|
# This delay ensures that UAVCAN-interfaced sensors would be allocated on lowest instance IDs
|
|
|
|
sleep 1
|
|
|
|
echo "[i] UAVCAN started"
|
|
|
|
else
|
|
|
|
echo "[i] ERROR: Could not start UAVCAN"
|
|
|
|
tone_alarm $TUNE_ERR
|
|
|
|
fi
|
|
|
|
fi
|
|
|
|
|
|
|
|
if [ $UAVCAN_ENABLE -ge 2 ]
|
|
|
|
then
|
|
|
|
if uavcan start fw
|
|
|
|
then
|
|
|
|
echo "[i] UAVCAN servers started"
|
|
|
|
else
|
|
|
|
echo "[i] ERROR: Could not start UAVCAN servers"
|
|
|
|
tone_alarm $TUNE_ERR
|
|
|
|
fi
|
|
|
|
fi
|