2014-01-15 00:02:57 +01:00
|
|
|
#!nsh
|
|
|
|
|
#
|
|
|
|
|
# Script to configure control interface
|
|
|
|
|
#
|
|
|
|
|
|
2015-01-07 00:25:06 +02:00
|
|
|
set SDCARD_MIXERS_PATH /fs/microsd/etc/mixers
|
2015-01-08 13:35:02 +02:00
|
|
|
|
2014-03-06 23:11:13 +01:00
|
|
|
if [ $MIXER != none -a $MIXER != skip ]
|
2014-01-15 00:02:57 +01:00
|
|
|
then
|
|
|
|
|
#
|
2015-01-07 00:25:06 +02:00
|
|
|
# Load main mixer
|
2014-01-15 00:02:57 +01:00
|
|
|
#
|
2015-01-08 13:35:02 +02:00
|
|
|
|
2015-03-01 20:14:41 -08:00
|
|
|
if [ $MIXER_AUX == none -a $USE_IO == yes ]
|
2015-01-08 12:55:28 +02:00
|
|
|
then
|
|
|
|
|
set MIXER_AUX $MIXER.aux
|
|
|
|
|
fi
|
2015-01-08 13:35:02 +02:00
|
|
|
|
2015-01-06 19:53:52 +01:00
|
|
|
# Use the mixer file from the SD-card if it exists
|
2015-01-07 00:25:06 +02:00
|
|
|
if [ -f $SDCARD_MIXERS_PATH/$MIXER.main.mix ]
|
2014-01-15 00:02:57 +01:00
|
|
|
then
|
2015-01-07 00:25:06 +02:00
|
|
|
set MIXER_FILE $SDCARD_MIXERS_PATH/$MIXER.main.mix
|
|
|
|
|
# Try out the old convention, for backward compatibility
|
2015-01-08 12:55:28 +02:00
|
|
|
else
|
2015-01-08 13:35:02 +02:00
|
|
|
|
2015-01-08 12:55:28 +02:00
|
|
|
if [ -f $SDCARD_MIXERS_PATH/$MIXER.mix ]
|
|
|
|
|
then
|
|
|
|
|
set MIXER_FILE $SDCARD_MIXERS_PATH/$MIXER.mix
|
|
|
|
|
else
|
|
|
|
|
set MIXER_FILE /etc/mixers/$MIXER.main.mix
|
|
|
|
|
fi
|
|
|
|
|
fi
|
2015-01-08 13:35:02 +02:00
|
|
|
|
2014-01-15 00:02:57 +01:00
|
|
|
if [ $OUTPUT_MODE == mkblctrl ]
|
|
|
|
|
then
|
2015-02-03 13:43:52 +01:00
|
|
|
set OUTPUT_DEV /dev/mkblctrl0
|
2014-01-15 00:02:57 +01:00
|
|
|
else
|
2015-02-03 13:43:52 +01:00
|
|
|
set OUTPUT_DEV /dev/pwm_output0
|
2014-01-15 00:02:57 +01:00
|
|
|
fi
|
2015-01-08 13:35:02 +02:00
|
|
|
|
2014-07-07 02:31:05 +04:00
|
|
|
if [ $OUTPUT_MODE == uavcan_esc ]
|
2014-05-08 14:23:33 +02:00
|
|
|
then
|
2014-05-08 17:03:40 +04:00
|
|
|
set OUTPUT_DEV /dev/uavcan/esc
|
2014-05-08 14:23:33 +02:00
|
|
|
fi
|
2015-01-08 13:35:02 +02:00
|
|
|
|
2014-01-15 00:02:57 +01:00
|
|
|
if mixer load $OUTPUT_DEV $MIXER_FILE
|
|
|
|
|
then
|
2015-04-21 12:35:35 +02:00
|
|
|
echo "[i] Mixer: $MIXER_FILE on $OUTPUT_DEV"
|
2014-01-15 00:02:57 +01:00
|
|
|
else
|
2014-11-17 14:58:29 +01:00
|
|
|
echo "[i] Error loading mixer: $MIXER_FILE"
|
2015-05-07 10:17:56 +02:00
|
|
|
echo "ERROR: Could not load mixer: $MIXER_FILE" >> $LOG_FILE
|
2014-11-17 14:56:11 +01:00
|
|
|
tone_alarm $TUNE_ERR
|
2014-01-15 00:02:57 +01:00
|
|
|
fi
|
2014-11-17 14:56:11 +01:00
|
|
|
|
|
|
|
|
unset MIXER_FILE
|
2014-01-15 00:02:57 +01:00
|
|
|
else
|
2014-03-06 12:45:10 +01:00
|
|
|
if [ $MIXER != skip ]
|
|
|
|
|
then
|
2014-11-17 14:58:29 +01:00
|
|
|
echo "[i] Mixer not defined"
|
2015-05-07 10:17:56 +02:00
|
|
|
echo "ERROR: Mixer not defined" >> $LOG_FILE
|
2014-11-17 14:56:11 +01:00
|
|
|
tone_alarm $TUNE_ERR
|
2014-03-06 12:45:10 +01:00
|
|
|
fi
|
2014-01-15 00:02:57 +01:00
|
|
|
fi
|
|
|
|
|
|
|
|
|
|
if [ $OUTPUT_MODE == fmu -o $OUTPUT_MODE == io ]
|
|
|
|
|
then
|
2014-11-17 14:56:11 +01:00
|
|
|
if [ $PWM_OUT != none ]
|
2014-01-15 00:02:57 +01:00
|
|
|
then
|
|
|
|
|
#
|
|
|
|
|
# Set PWM output frequency
|
|
|
|
|
#
|
|
|
|
|
if [ $PWM_RATE != none ]
|
|
|
|
|
then
|
2014-11-17 14:56:11 +01:00
|
|
|
pwm rate -c $PWM_OUT -r $PWM_RATE
|
2014-01-15 00:02:57 +01:00
|
|
|
fi
|
2015-01-08 13:35:02 +02:00
|
|
|
|
2014-01-15 00:02:57 +01:00
|
|
|
#
|
|
|
|
|
# Set disarmed, min and max PWM values
|
|
|
|
|
#
|
|
|
|
|
if [ $PWM_DISARMED != none ]
|
|
|
|
|
then
|
2014-11-17 14:56:11 +01:00
|
|
|
pwm disarmed -c $PWM_OUT -p $PWM_DISARMED
|
2014-01-15 00:02:57 +01:00
|
|
|
fi
|
|
|
|
|
if [ $PWM_MIN != none ]
|
|
|
|
|
then
|
2014-11-17 14:56:11 +01:00
|
|
|
pwm min -c $PWM_OUT -p $PWM_MIN
|
2014-01-15 00:02:57 +01:00
|
|
|
fi
|
|
|
|
|
if [ $PWM_MAX != none ]
|
|
|
|
|
then
|
2014-11-17 14:56:11 +01:00
|
|
|
pwm max -c $PWM_OUT -p $PWM_MAX
|
2014-01-15 00:02:57 +01:00
|
|
|
fi
|
|
|
|
|
fi
|
2014-08-26 10:13:52 +02:00
|
|
|
|
|
|
|
|
if [ $FAILSAFE != none ]
|
|
|
|
|
then
|
|
|
|
|
pwm failsafe -d $OUTPUT_DEV $FAILSAFE
|
|
|
|
|
fi
|
2014-01-15 00:02:57 +01:00
|
|
|
fi
|
2015-01-08 12:55:28 +02:00
|
|
|
|
2015-01-06 16:30:47 +01:00
|
|
|
# check if should load secondary mixer
|
2015-01-07 00:25:06 +02:00
|
|
|
if [ $MIXER_AUX != none ]
|
2015-01-06 16:30:47 +01:00
|
|
|
then
|
2015-01-08 12:55:28 +02:00
|
|
|
#
|
|
|
|
|
# Load aux mixer
|
|
|
|
|
#
|
2015-01-08 13:35:02 +02:00
|
|
|
|
2015-01-08 12:55:28 +02:00
|
|
|
set MIXER_AUX_FILE none
|
2015-03-03 23:53:48 -08:00
|
|
|
set OUTPUT_AUX_DEV /dev/pwm_output1
|
2015-01-08 13:35:02 +02:00
|
|
|
|
2015-04-21 12:35:35 +02:00
|
|
|
if [ -f $SDCARD_MIXERS_PATH/$MIXER_AUX.aux.mix ]
|
2015-01-08 12:55:28 +02:00
|
|
|
then
|
2015-04-20 17:05:59 +02:00
|
|
|
set MIXER_AUX_FILE $SDCARD_MIXERS_PATH/$MIXER_AUX.aux.mix
|
2015-01-08 12:55:28 +02:00
|
|
|
else
|
2015-01-08 13:35:02 +02:00
|
|
|
|
2015-04-20 17:05:59 +02:00
|
|
|
if [ -f /etc/mixers/$MIXER_AUX.aux.mix ]
|
2015-01-08 12:55:28 +02:00
|
|
|
then
|
2015-04-20 17:05:59 +02:00
|
|
|
set MIXER_AUX_FILE /etc/mixers/$MIXER_AUX.aux.mix
|
2015-01-08 12:55:28 +02:00
|
|
|
fi
|
|
|
|
|
fi
|
2015-01-08 13:35:02 +02:00
|
|
|
|
2015-01-08 12:55:28 +02:00
|
|
|
if [ $MIXER_AUX_FILE != none -a $FMU_MODE == pwm ]
|
|
|
|
|
then
|
|
|
|
|
if fmu mode_pwm
|
|
|
|
|
then
|
2015-04-21 12:35:35 +02:00
|
|
|
if mixer load $OUTPUT_AUX_DEV $MIXER_AUX_FILE
|
|
|
|
|
then
|
|
|
|
|
echo "[i] Mixer: $MIXER_AUX_FILE on $OUTPUT_AUX_DEV"
|
|
|
|
|
else
|
|
|
|
|
echo "[i] Error loading mixer: $MIXER_AUX_FILE"
|
2015-05-07 10:17:56 +02:00
|
|
|
echo "ERROR: Could not load mixer: $MIXER_AUX_FILE" >> $LOG_FILE
|
2015-04-21 12:35:35 +02:00
|
|
|
fi
|
2015-01-08 12:55:28 +02:00
|
|
|
else
|
2015-05-07 10:17:56 +02:00
|
|
|
echo "ERROR: Could not start: fmu mode_pwm" >> $LOG_FILE
|
2015-01-08 12:55:28 +02:00
|
|
|
tone_alarm $TUNE_ERR
|
|
|
|
|
fi
|
2015-03-03 23:53:48 -08:00
|
|
|
|
|
|
|
|
if [ $PWM_AUX_OUT != none ]
|
|
|
|
|
then
|
|
|
|
|
#
|
|
|
|
|
# Set PWM_AUX output frequency
|
|
|
|
|
#
|
|
|
|
|
if [ $PWM_AUX_RATE != none ]
|
|
|
|
|
then
|
|
|
|
|
pwm rate -c $PWM_AUX_OUT -r $PWM_AUX_RATE -d $OUTPUT_AUX_DEV
|
|
|
|
|
fi
|
|
|
|
|
|
|
|
|
|
#
|
|
|
|
|
# Set disarmed, min and max PWM_AUX values
|
|
|
|
|
#
|
|
|
|
|
if [ $PWM_AUX_DISARMED != none ]
|
|
|
|
|
then
|
|
|
|
|
pwm disarmed -c $PWM_AUX_OUT -p $PWM_AUX_DISARMED -d $OUTPUT_AUX_DEV
|
|
|
|
|
fi
|
|
|
|
|
if [ $PWM_AUX_MIN != none ]
|
|
|
|
|
then
|
|
|
|
|
pwm min -c $PWM_AUX_OUT -p $PWM_AUX_MIN -d $OUTPUT_AUX_DEV
|
|
|
|
|
fi
|
|
|
|
|
if [ $PWM_AUX_MAX != none ]
|
|
|
|
|
then
|
|
|
|
|
pwm max -c $PWM_AUX_OUT -p $PWM_AUX_MAX -d $OUTPUT_AUX_DEV
|
|
|
|
|
fi
|
|
|
|
|
fi
|
|
|
|
|
|
|
|
|
|
if [ $FAILSAFE_AUX != none ]
|
|
|
|
|
then
|
|
|
|
|
pwm failsafe -d $OUTPUT_AUX_DEV $FAILSAFE
|
|
|
|
|
fi
|
|
|
|
|
|
2015-01-08 12:55:28 +02:00
|
|
|
fi
|
2015-01-08 13:35:02 +02:00
|
|
|
fi
|
2015-01-08 15:42:25 +01:00
|
|
|
unset OUTPUT_DEV
|