Files
PX4-Autopilot/ROMFS/px4fmu_common/init.d/rc.mc_interface
T
2014-01-10 13:18:34 +01:00

61 lines
1.1 KiB
Plaintext

#!nsh
#
# Script to load multicopter mixer and set rate/disarmed/min/max values for PWM output
#
if [ $FRAME_GEOMETRY == quad_x -o $FRAME_GEOMETRY == quad_+ ]
then
set OUTPUTS 1234
param set MAV_TYPE 2
fi
if [ $FRAME_GEOMETRY == quad_w -o $FRAME_GEOMETRY == quad_v ]
then
set OUTPUTS 1234
param set MAV_TYPE 2
fi
if [ $FRAME_GEOMETRY == hex_x -o $FRAME_GEOMETRY == hex_+ ]
then
set OUTPUTS 123456
param set MAV_TYPE 13
fi
if [ $FRAME_GEOMETRY == octo_x -o $FRAME_GEOMETRY == octo_+ ]
then
set OUTPUTS 12345678
param set MAV_TYPE 14
fi
#
# Load mixer
#
echo "Frame geometry: $FRAME_GEOMETRY"
set MIXER /etc/mixers/FMU_${FRAME_GEOMETRY}.mix
echo "Loading mixer: $MIXER"
mixer load /dev/pwm_output $MIXER
if [ $OUTPUT_MODE == fmu_pwm -o $OUTPUT_MODE == io_pwm ]
then
#
# Set PWM output frequency
#
if [ $PWM_RATE != none ]
then
pwm rate -c $OUTPUTS -r $PWM_RATE
fi
#
# Set disarmed, min and max PWM values
#
if [ $PWM_DISARMED != none ]
then
pwm disarmed -c $OUTPUTS -p $PWM_DISARMED
fi
if [ $PWM_MIN != none ]
then
pwm min -c $OUTPUTS -p $PWM_MIN
fi
if [ $PWM_MAX != none ]
then
pwm max -c $OUTPUTS -p $PWM_MAX
fi
fi