mirror of
https://gitee.com/mirrors_PX4/PX4-Autopilot.git
synced 2026-05-22 00:37:34 +08:00
Changed naming of the mixers to get rid of umbiguity as outputs are actually going to be driven by io, not fmu
Implemented automatic lookup for the .aux.mix file if it exists
This commit is contained in:
@@ -7,4 +7,4 @@
|
||||
sh /etc/init.d/rc.fw_defaults
|
||||
|
||||
set HIL yes
|
||||
set MIXER FMU_AERT
|
||||
set MIXER AERT
|
||||
|
||||
@@ -24,7 +24,7 @@ then
|
||||
param set MC_YAWRATE_D 0.0
|
||||
fi
|
||||
|
||||
set MIXER FMU_quad_w
|
||||
set MIXER quad_w
|
||||
|
||||
set PWM_OUT 1234
|
||||
set PWM_MIN 1200
|
||||
|
||||
@@ -27,7 +27,7 @@ then
|
||||
param set BAT_C_SCALING 0.0124
|
||||
fi
|
||||
|
||||
set MIXER FMU_quad_w
|
||||
set MIXER quad_w
|
||||
|
||||
set PWM_OUT 1234
|
||||
|
||||
|
||||
@@ -26,7 +26,7 @@ then
|
||||
param set BAT_N_CELLS 4
|
||||
fi
|
||||
|
||||
set MIXER FMU_quad_w
|
||||
set MIXER quad_w
|
||||
|
||||
set PWM_MIN 1210
|
||||
set PWM_MAX 2100
|
||||
|
||||
@@ -25,7 +25,7 @@ then
|
||||
param set MC_YAWRATE_D 0.0
|
||||
fi
|
||||
|
||||
set MIXER FMU_quad_w
|
||||
set MIXER quad_w
|
||||
|
||||
set PWM_OUTPUTS 1234
|
||||
set PWM_MIN 1200
|
||||
|
||||
@@ -7,6 +7,6 @@
|
||||
|
||||
sh /etc/init.d/rc.mc_defaults
|
||||
|
||||
set MIXER FMU_quad_x
|
||||
set MIXER quad_x
|
||||
|
||||
set HIL yes
|
||||
|
||||
@@ -7,6 +7,6 @@
|
||||
|
||||
sh /etc/init.d/rc.mc_defaults
|
||||
|
||||
set MIXER FMU_quad_+
|
||||
set MIXER quad_+
|
||||
|
||||
set HIL yes
|
||||
@@ -9,4 +9,4 @@ sh /etc/init.d/rc.fw_defaults
|
||||
|
||||
set HIL yes
|
||||
|
||||
set MIXER FMU_AERT
|
||||
set MIXER AERT
|
||||
|
||||
@@ -35,4 +35,4 @@ fi
|
||||
set HIL yes
|
||||
|
||||
# Set the AERT mixer for HIL (even if the malolo is a flying wing)
|
||||
set MIXER FMU_AERT
|
||||
set MIXER AERT
|
||||
|
||||
@@ -7,7 +7,7 @@
|
||||
|
||||
sh /etc/init.d/rc.mc_defaults
|
||||
|
||||
set MIXER FMU_hexa_cox
|
||||
set MIXER hexa_cox
|
||||
|
||||
# Need to set all 8 channels
|
||||
set PWM_OUT 12345678
|
||||
|
||||
@@ -7,6 +7,6 @@
|
||||
|
||||
sh /etc/init.d/rc.mc_defaults
|
||||
|
||||
set MIXER FMU_octo_cox
|
||||
set MIXER octo_cox
|
||||
|
||||
set PWM_OUT 12345678
|
||||
|
||||
@@ -7,7 +7,7 @@
|
||||
|
||||
sh /etc/init.d/rc.vtol_defaults
|
||||
|
||||
set MIXER FMU_caipirinha_vtol
|
||||
set MIXER caipirinha_vtol
|
||||
|
||||
set PWM_OUT 12
|
||||
set PWM_MAX 2000
|
||||
|
||||
@@ -7,8 +7,7 @@
|
||||
|
||||
sh /etc/init.d/rc.vtol_defaults
|
||||
|
||||
set MIXER FMU_firefly6_rotors
|
||||
set MIXER_SEC FMU_firefly6_elevons
|
||||
set MIXER firefly6
|
||||
|
||||
set PWM_OUT 12345678
|
||||
param set VT_MOT_COUNT 6
|
||||
|
||||
@@ -2,4 +2,4 @@
|
||||
|
||||
sh /etc/init.d/rc.fw_defaults
|
||||
|
||||
set MIXER FMU_AERT
|
||||
set MIXER AERT
|
||||
@@ -2,4 +2,4 @@
|
||||
|
||||
sh /etc/init.d/rc.fw_defaults
|
||||
|
||||
set MIXER FMU_AET
|
||||
set MIXER AET
|
||||
|
||||
@@ -2,7 +2,7 @@
|
||||
|
||||
sh /etc/init.d/rc.fw_defaults
|
||||
|
||||
set MIXER FMU_Q
|
||||
set MIXER Q
|
||||
# Provide ESC a constant 1000 us pulse while disarmed
|
||||
set PWM_OUT 4
|
||||
set PWM_DISARMED 1000
|
||||
|
||||
@@ -28,4 +28,4 @@ then
|
||||
param set FW_R_RMAX 0
|
||||
fi
|
||||
|
||||
set MIXER FMU_X5
|
||||
set MIXER X5
|
||||
|
||||
@@ -7,4 +7,4 @@
|
||||
|
||||
sh /etc/init.d/rc.fw_defaults
|
||||
|
||||
set MIXER FMU_FX79
|
||||
set MIXER FX79
|
||||
|
||||
@@ -31,4 +31,4 @@ then
|
||||
param set FW_R_RMAX 0
|
||||
fi
|
||||
|
||||
set MIXER FMU_Q
|
||||
set MIXER Q
|
||||
|
||||
@@ -7,6 +7,6 @@
|
||||
|
||||
sh /etc/init.d/rc.mc_defaults
|
||||
|
||||
set MIXER FMU_quad_x
|
||||
set MIXER quad_x
|
||||
|
||||
set PWM_OUT 1234
|
||||
|
||||
@@ -7,6 +7,6 @@
|
||||
|
||||
sh /etc/init.d/rc.mc_defaults
|
||||
|
||||
set MIXER FMU_quad_+
|
||||
set MIXER quad_+
|
||||
|
||||
set PWM_OUT 1234
|
||||
|
||||
@@ -7,7 +7,7 @@
|
||||
|
||||
sh /etc/init.d/rc.mc_defaults
|
||||
|
||||
set MIXER FMU_hexa_x
|
||||
set MIXER hexa_x
|
||||
|
||||
# Need to set all 8 channels
|
||||
set PWM_OUT 12345678
|
||||
|
||||
@@ -7,7 +7,7 @@
|
||||
|
||||
sh /etc/init.d/rc.mc_defaults
|
||||
|
||||
set MIXER FMU_hexa_+
|
||||
set MIXER hexa_+
|
||||
|
||||
# Need to set all 8 channels
|
||||
set PWM_OUT 12345678
|
||||
|
||||
@@ -7,6 +7,6 @@
|
||||
|
||||
sh /etc/init.d/rc.mc_defaults
|
||||
|
||||
set MIXER FMU_octo_x
|
||||
set MIXER octo_x
|
||||
|
||||
set PWM_OUT 12345678
|
||||
|
||||
@@ -7,6 +7,6 @@
|
||||
|
||||
sh /etc/init.d/rc.mc_defaults
|
||||
|
||||
set MIXER FMU_octo_+
|
||||
set MIXER octo_+
|
||||
|
||||
set PWM_OUT 12345678
|
||||
|
||||
@@ -3,19 +3,30 @@
|
||||
# Script to configure control interface
|
||||
#
|
||||
|
||||
set SDCARD_MIXERS_PATH /fs/microsd/etc/mixers
|
||||
|
||||
if [ $MIXER != none -a $MIXER != skip ]
|
||||
then
|
||||
#
|
||||
# Load mixer
|
||||
# Load main mixer
|
||||
#
|
||||
|
||||
if [ $MIXER_AUX == none ]
|
||||
then
|
||||
MIXER_AUX = $MIXER.aux
|
||||
fi
|
||||
|
||||
# Use the mixer file from the SD-card if it exists
|
||||
if [ -f /fs/microsd/etc/mixers/$MIXER.mix ]
|
||||
if [ -f $SDCARD_MIXERS_PATH/$MIXER.main.mix ]
|
||||
then
|
||||
set MIXER_FILE /fs/microsd/etc/mixers/$MIXER.mix
|
||||
else
|
||||
set MIXER_FILE /etc/mixers/$MIXER.mix
|
||||
fi
|
||||
set MIXER_FILE $SDCARD_MIXERS_PATH/$MIXER.main.mix
|
||||
# Try out the old convention, for backward compatibility
|
||||
elif [ -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
|
||||
|
||||
if [ $OUTPUT_MODE == mkblctrl ]
|
||||
then
|
||||
@@ -80,14 +91,31 @@ then
|
||||
pwm failsafe -d $OUTPUT_DEV $FAILSAFE
|
||||
fi
|
||||
fi
|
||||
|
||||
|
||||
# check if should load secondary mixer
|
||||
if [ $MIXER_SEC != none ]
|
||||
if [ $MIXER_AUX != none ]
|
||||
then
|
||||
if fmu mode_pwm
|
||||
then
|
||||
mixer load /dev/pwm_output1 /etc/mixers/$MIXER_SEC.mix
|
||||
else
|
||||
tone_alarm $TUNE_ERR
|
||||
fi
|
||||
fi
|
||||
#
|
||||
# Load aux mixer
|
||||
#
|
||||
|
||||
set MIXER_AUX_FILE none
|
||||
|
||||
if [ -f $SDCARD_MIXERS_PATH/$MIXER_AUX.mix ]
|
||||
then
|
||||
set MIXER_AUX_FILE $SDCARD_MIXERS_PATH/$MIXER_AUX.mix
|
||||
elif [ -f /etc/mixers/$MIXER_AUX.mix ]
|
||||
then
|
||||
set MIXER_AUX_FILE /etc/mixers/$MIXER_AUX.mix
|
||||
fi
|
||||
|
||||
if [ $MIXER_AUX_FILE != none -a $FMU_MODE == pwm ]
|
||||
then
|
||||
if fmu mode_pwm
|
||||
then
|
||||
mixer load /dev/pwm_output1 $MIXER_AUX_FILE
|
||||
else
|
||||
tone_alarm $TUNE_ERR
|
||||
fi
|
||||
fi
|
||||
fi
|
||||
@@ -116,7 +116,7 @@ then
|
||||
set HIL no
|
||||
set VEHICLE_TYPE none
|
||||
set MIXER none
|
||||
set MIXER_SEC none
|
||||
set MIXER_AUX none
|
||||
set OUTPUT_MODE none
|
||||
set PWM_OUT none
|
||||
set PWM_RATE none
|
||||
@@ -482,7 +482,7 @@ then
|
||||
if [ $MIXER == none ]
|
||||
then
|
||||
# Set default mixer for fixed wing if not defined
|
||||
set MIXER FMU_AERT
|
||||
set MIXER AERT
|
||||
fi
|
||||
|
||||
if [ $MAV_TYPE == none ]
|
||||
@@ -518,27 +518,27 @@ then
|
||||
if [ $MAV_TYPE == none ]
|
||||
then
|
||||
# Use mixer to detect vehicle type
|
||||
if [ $MIXER == FMU_quad_x -o $MIXER == FMU_quad_+ ]
|
||||
if [ $MIXER == quad_x -o $MIXER == quad_+ ]
|
||||
then
|
||||
set MAV_TYPE 2
|
||||
fi
|
||||
if [ $MIXER == FMU_quad_w ]
|
||||
if [ $MIXER == quad_w ]
|
||||
then
|
||||
set MAV_TYPE 2
|
||||
fi
|
||||
if [ $MIXER == FMU_hexa_x -o $MIXER == FMU_hexa_+ ]
|
||||
if [ $MIXER == hexa_x -o $MIXER == hexa_+ ]
|
||||
then
|
||||
set MAV_TYPE 13
|
||||
fi
|
||||
if [ $MIXER == FMU_hexa_cox ]
|
||||
if [ $MIXER == hexa_cox ]
|
||||
then
|
||||
set MAV_TYPE 13
|
||||
fi
|
||||
if [ $MIXER == FMU_octo_x -o $MIXER == FMU_octo_+ ]
|
||||
if [ $MIXER == octo_x -o $MIXER == octo_+ ]
|
||||
then
|
||||
set MAV_TYPE 14
|
||||
fi
|
||||
if [ $MIXER == FMU_octo_cox ]
|
||||
if [ $MIXER == octo_cox ]
|
||||
then
|
||||
set MAV_TYPE 14
|
||||
fi
|
||||
@@ -577,11 +577,11 @@ then
|
||||
if [ $MAV_TYPE == none ]
|
||||
then
|
||||
# Use mixer to detect vehicle type
|
||||
if [ $MIXER == FMU_caipirinha_vtol ]
|
||||
if [ $MIXER == caipirinha_vtol ]
|
||||
then
|
||||
set MAV_TYPE 19
|
||||
fi
|
||||
if [ $MIXER == FMU_firefly6_rotors ]
|
||||
if [ $MIXER == firefly6_rotors ]
|
||||
then
|
||||
set MAV_TYPE 21
|
||||
fi
|
||||
|
||||
@@ -343,7 +343,7 @@ int test_mixer(int argc, char *argv[])
|
||||
if (argc > 2)
|
||||
filename = argv[2];
|
||||
else
|
||||
filename = "/etc/mixers/FMU_quad_w.mix";
|
||||
filename = "/etc/mixers/quad_w.main.mix";
|
||||
|
||||
load_mixer_file(filename, &buf[0], sizeof(buf));
|
||||
loaded = strlen(buf);
|
||||
|
||||
@@ -4,6 +4,6 @@
|
||||
|
||||
#include "gtest/gtest.h"
|
||||
|
||||
TEST(ConversionTest, FMU_quad_w) {
|
||||
TEST(ConversionTest, quad_w_main) {
|
||||
ASSERT_EQ(test_conv(0, NULL), 0) << "Conversion test failed";
|
||||
}
|
||||
|
||||
@@ -6,6 +6,6 @@
|
||||
|
||||
|
||||
TEST(MixerTest, Mixer) {
|
||||
char* args[] = {"empty", "../ROMFS/px4fmu_common/mixers/IO_pass.mix", "../ROMFS/px4fmu_common/mixers/FMU_quad_w.mix"};
|
||||
char* args[] = {"empty", "../ROMFS/px4fmu_common/mixers/IO_pass.mix", "../ROMFS/px4fmu_common/mixers/quad_w.main.mix"};
|
||||
ASSERT_EQ(test_mixer(3, args), 0) << "IO_pass.mix failed";
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user