aboutsummaryrefslogblamecommitdiff
path: root/ROMFS/px4fmu_common/init.d/rc.interface
blob: 41e0b149b4cd0bf9c7bc0d56b14f640505cadc64 (plain) (tree)
1
2
3
4
5
6
7
8
9
10
11
12




                                       
                                       





                                                     
                                                          












                                                     
 
                                         
            
                                              
          








                                                              




                                               










                                                







                                                             



                                                                     



                                                           


                                                           




                                                     
  
#!nsh
#
# Script to configure control interface
#

if [ $MIXER != none -a $MIXER != skip ]
then
	#
	# Load mixer
	#
	set MIXERSD /fs/microsd/etc/mixers/$MIXER.mix
	
	# Use the mixer file from the SD-card if it exists
	if [ -f $MIXERSD ]
	then
		set MIXER_FILE $MIXERSD
	else
		set MIXER_FILE /etc/mixers/$MIXER.mix
	fi
	
	if [ $OUTPUT_MODE == mkblctrl ]
	then
		set OUTPUT_DEV /dev/mkblctrl
	else
		set OUTPUT_DEV /dev/pwm_output
	fi

	if [ $OUTPUT_MODE == uavcan_esc ]
	then
		set OUTPUT_DEV /dev/uavcan/esc
	fi
	
	if mixer load $OUTPUT_DEV $MIXER_FILE
	then
		echo "[init] Mixer loaded: $MIXER_FILE"
	else
		echo "[init] Error loading mixer: $MIXER_FILE"
		tone_alarm $TUNE_OUT_ERROR
	fi
else
	if [ $MIXER != skip ]
	then
		echo "[init] Mixer not defined"
		tone_alarm $TUNE_OUT_ERROR
	fi
fi

if [ $OUTPUT_MODE == fmu -o $OUTPUT_MODE == io ]
then
	if [ $PWM_OUTPUTS != none ]
	then
		#
		# Set PWM output frequency
		#
		if [ $PWM_RATE != none ]
		then
			pwm rate -c $PWM_OUTPUTS -r $PWM_RATE
		fi
		
		#
		# Set disarmed, min and max PWM values
		#
		if [ $PWM_DISARMED != none ]
		then
			pwm disarmed -c $PWM_OUTPUTS -p $PWM_DISARMED
		fi
		if [ $PWM_MIN != none ]
		then
			pwm min -c $PWM_OUTPUTS -p $PWM_MIN
		fi
		if [ $PWM_MAX != none ]
		then
			pwm max -c $PWM_OUTPUTS -p $PWM_MAX
		fi
	fi

	if [ $FAILSAFE != none ]
	then
		pwm failsafe -d $OUTPUT_DEV $FAILSAFE
	fi
fi