From f4c294bf5d023c31500ed0cfca14fc4544bcb35a Mon Sep 17 00:00:00 2001 From: tumbili Date: Mon, 5 Jan 2015 20:50:51 +0100 Subject: [PATCH 01/13] added startup script and mixer file for FireFly6 --- ROMFS/px4fmu_common/init.d/13002_firefly6 | 14 ++++++++++++++ ROMFS/px4fmu_common/mixers/FMU_firefly6.mix | 15 +++++++++++++++ 2 files changed, 29 insertions(+) create mode 100644 ROMFS/px4fmu_common/init.d/13002_firefly6 create mode 100644 ROMFS/px4fmu_common/mixers/FMU_firefly6.mix diff --git a/ROMFS/px4fmu_common/init.d/13002_firefly6 b/ROMFS/px4fmu_common/init.d/13002_firefly6 new file mode 100644 index 0000000000..e371a9a1e5 --- /dev/null +++ b/ROMFS/px4fmu_common/init.d/13002_firefly6 @@ -0,0 +1,14 @@ +#!nsh +# +# Generic configuration file for BirdsEyeView Aerobotics FireFly6 +# +# Roman Bapst +# + +sh /etc/init.d/rc.vtol_defaults + +set MIXER FMU_FireFly6 + +set PWM_OUT 123456 +param set VT_MOT_COUNT 6 +param set VT_IDLE_PWM_MC 1080 diff --git a/ROMFS/px4fmu_common/mixers/FMU_firefly6.mix b/ROMFS/px4fmu_common/mixers/FMU_firefly6.mix new file mode 100644 index 0000000000..598f9f797d --- /dev/null +++ b/ROMFS/px4fmu_common/mixers/FMU_firefly6.mix @@ -0,0 +1,15 @@ +# FireFly6 mixer for PX4FMU +# +#=========================== +R: 6c 10000 10000 10000 0 + +# mixer for the elevons +M: 2 +O: 10000 10000 0 -10000 10000 +S: 1 0 7500 7500 0 -10000 10000 +S: 1 1 8000 8000 0 -10000 10000 + +M: 2 +O: 10000 10000 0 -10000 10000 +S: 1 0 7500 7500 0 -10000 10000 +S: 1 1 -8000 -8000 0 -10000 10000 From ef9b1b134e5e7b37d275599ef8f3824b3cf48d70 Mon Sep 17 00:00:00 2001 From: tumbili Date: Mon, 5 Jan 2015 20:52:18 +0100 Subject: [PATCH 02/13] get MAV_TYPE by mixer file for FireFly6 --- ROMFS/px4fmu_common/init.d/rcS | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/ROMFS/px4fmu_common/init.d/rcS b/ROMFS/px4fmu_common/init.d/rcS index 26b729aad1..10c5e09475 100644 --- a/ROMFS/px4fmu_common/init.d/rcS +++ b/ROMFS/px4fmu_common/init.d/rcS @@ -580,6 +580,10 @@ then then set MAV_TYPE 19 fi + if [ $MIXER == FMU_firefly6 ] + then + set MAV_TYPE 21 + fi fi # Still no MAV_TYPE found From 648cb78268b6ce636d8b810c07564e76fedc6089 Mon Sep 17 00:00:00 2001 From: Lorenz Meier Date: Tue, 6 Jan 2015 12:54:23 +0100 Subject: [PATCH 03/13] FMU driver: Show up as secondary interface to allow mixer loads. --- src/drivers/px4fmu/fmu.cpp | 20 +++++++++++--------- 1 file changed, 11 insertions(+), 9 deletions(-) diff --git a/src/drivers/px4fmu/fmu.cpp b/src/drivers/px4fmu/fmu.cpp index 3d3e1b0ebb..4366720407 100644 --- a/src/drivers/px4fmu/fmu.cpp +++ b/src/drivers/px4fmu/fmu.cpp @@ -128,7 +128,7 @@ private: orb_advert_t _outputs_pub; actuator_armed_s _armed; unsigned _num_outputs; - bool _primary_pwm_device; + int _class_instance; volatile bool _task_should_exit; bool _servo_armed; @@ -141,6 +141,7 @@ private: int _control_subs[NUM_ACTUATOR_CONTROL_GROUPS]; actuator_controls_s _controls[NUM_ACTUATOR_CONTROL_GROUPS]; orb_id_t _control_topics[NUM_ACTUATOR_CONTROL_GROUPS]; + orb_id_t _actuator_output_topic; pollfd _poll_fds[NUM_ACTUATOR_CONTROL_GROUPS]; unsigned _poll_fds_num; @@ -247,7 +248,7 @@ PX4FMU::PX4FMU() : _outputs_pub(-1), _armed{}, _num_outputs(0), - _primary_pwm_device(false), + _class_instance(0), _task_should_exit(false), _servo_armed(false), _pwm_on(false), @@ -255,6 +256,7 @@ PX4FMU::PX4FMU() : _groups_required(0), _groups_subscribed(0), _control_subs{-1}, + _actuator_output_topic(nullptr), _poll_fds_num(0), _pwm_limit{}, _failsafe_pwm{0}, @@ -300,8 +302,7 @@ PX4FMU::~PX4FMU() } /* clean up the alternate device node */ - if (_primary_pwm_device) - unregister_driver(PWM_OUTPUT_DEVICE_PATH); + unregister_class_devname(PWM_OUTPUT_DEVICE_PATH, _class_instance); g_fmu = nullptr; } @@ -320,13 +321,14 @@ PX4FMU::init() return ret; /* try to claim the generic PWM output device node as well - it's OK if we fail at this */ - ret = register_driver(PWM_OUTPUT_DEVICE_PATH, &fops, 0666, (void *)this); + _class_instance = register_class_devname(PWM_OUTPUT_DEVICE_PATH); - if (ret == OK) { + if (_class_instance == CLASS_DEVICE_PRIMARY) { log("default PWM output device"); - _primary_pwm_device = true; } + _actuator_output_topic = ORB_ID_DOUBLE(actuator_outputs_, _class_instance); + /* reset GPIOs */ gpio_reset(); @@ -677,10 +679,10 @@ PX4FMU::task_main() /* publish mixed control outputs */ if (_outputs_pub < 0) { - _outputs_pub = orb_advertise(_primary_pwm_device ? ORB_ID_VEHICLE_CONTROLS : ORB_ID(actuator_outputs_1), &outputs); + _outputs_pub = orb_advertise(_actuator_output_topic, &outputs); } else { - orb_publish(_primary_pwm_device ? ORB_ID_VEHICLE_CONTROLS : ORB_ID(actuator_outputs_1), _outputs_pub, &outputs); + orb_publish(_actuator_output_topic, _outputs_pub, &outputs); } } } From ff932820e341d4eae7e0764719fcbf5555c5da14 Mon Sep 17 00:00:00 2001 From: Roman Bapst Date: Tue, 6 Jan 2015 16:29:10 +0100 Subject: [PATCH 04/13] use two mixers, one for rotors via px4io and one for elevons via fmu outputs --- .../mixers/{FMU_firefly6.mix => FMU_firefly6_elevons.mix} | 7 +------ ROMFS/px4fmu_common/mixers/FMU_firefly6_rotors.mix | 4 ++++ 2 files changed, 5 insertions(+), 6 deletions(-) rename ROMFS/px4fmu_common/mixers/{FMU_firefly6.mix => FMU_firefly6_elevons.mix} (70%) create mode 100644 ROMFS/px4fmu_common/mixers/FMU_firefly6_rotors.mix diff --git a/ROMFS/px4fmu_common/mixers/FMU_firefly6.mix b/ROMFS/px4fmu_common/mixers/FMU_firefly6_elevons.mix similarity index 70% rename from ROMFS/px4fmu_common/mixers/FMU_firefly6.mix rename to ROMFS/px4fmu_common/mixers/FMU_firefly6_elevons.mix index 598f9f797d..9ed6eeed91 100644 --- a/ROMFS/px4fmu_common/mixers/FMU_firefly6.mix +++ b/ROMFS/px4fmu_common/mixers/FMU_firefly6_elevons.mix @@ -1,9 +1,4 @@ -# FireFly6 mixer for PX4FMU -# -#=========================== -R: 6c 10000 10000 10000 0 - -# mixer for the elevons +# mixer for the FireFly6 elevons M: 2 O: 10000 10000 0 -10000 10000 S: 1 0 7500 7500 0 -10000 10000 diff --git a/ROMFS/px4fmu_common/mixers/FMU_firefly6_rotors.mix b/ROMFS/px4fmu_common/mixers/FMU_firefly6_rotors.mix new file mode 100644 index 0000000000..3e1d9d7a34 --- /dev/null +++ b/ROMFS/px4fmu_common/mixers/FMU_firefly6_rotors.mix @@ -0,0 +1,4 @@ +# FireFly6 mixer for PX4FMU +# +#=========================== +R: 6c 10000 10000 10000 0 From 7ab58a8bc136da2e8a9166bd3fee7ed801c2adb0 Mon Sep 17 00:00:00 2001 From: Roman Bapst Date: Tue, 6 Jan 2015 16:30:47 +0100 Subject: [PATCH 05/13] allow to specify secondary mixer which drives fmu PWM outputs --- ROMFS/px4fmu_common/init.d/rc.interface | 14 ++++++++++++++ ROMFS/px4fmu_common/init.d/rcS | 3 ++- 2 files changed, 16 insertions(+), 1 deletion(-) diff --git a/ROMFS/px4fmu_common/init.d/rc.interface b/ROMFS/px4fmu_common/init.d/rc.interface index bab71be930..87c9e30452 100644 --- a/ROMFS/px4fmu_common/init.d/rc.interface +++ b/ROMFS/px4fmu_common/init.d/rc.interface @@ -80,3 +80,17 @@ then pwm failsafe -d $OUTPUT_DEV $FAILSAFE fi fi + +# check if should load secondary mixer +if [ $MIXER_SEC != none ] +then + if fmu mode_pwm + then + echo "[i] FMU mode_pwm started to handle secondary mixer" + # load the specified mixer + mixer load /dev/pwm_output1 /etc/mixers/$MIXER_SEC.mix + else + echo "[i] ERROR: FMU mode_pwm start failed" + tone_alarm $TUNE_ERR + fi +fi diff --git a/ROMFS/px4fmu_common/init.d/rcS b/ROMFS/px4fmu_common/init.d/rcS index 10c5e09475..924f6ebc08 100644 --- a/ROMFS/px4fmu_common/init.d/rcS +++ b/ROMFS/px4fmu_common/init.d/rcS @@ -116,6 +116,7 @@ then set HIL no set VEHICLE_TYPE none set MIXER none + set MIXER_SEC none set OUTPUT_MODE none set PWM_OUT none set PWM_RATE none @@ -580,7 +581,7 @@ then then set MAV_TYPE 19 fi - if [ $MIXER == FMU_firefly6 ] + if [ $MIXER == FMU_firefly6_rotors ] then set MAV_TYPE 21 fi From 5c5bba5d5f8c330715e13a0c40d116b9c3a2c937 Mon Sep 17 00:00:00 2001 From: Roman Bapst Date: Tue, 6 Jan 2015 16:31:40 +0100 Subject: [PATCH 06/13] specify secondary elevon mixer --- ROMFS/px4fmu_common/init.d/13002_firefly6 | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/ROMFS/px4fmu_common/init.d/13002_firefly6 b/ROMFS/px4fmu_common/init.d/13002_firefly6 index e371a9a1e5..d5a104b4cf 100644 --- a/ROMFS/px4fmu_common/init.d/13002_firefly6 +++ b/ROMFS/px4fmu_common/init.d/13002_firefly6 @@ -7,8 +7,9 @@ sh /etc/init.d/rc.vtol_defaults -set MIXER FMU_FireFly6 +set MIXER FMU_firefly6_rotors +set MIXER_SEC FMU_firefly6_elevons -set PWM_OUT 123456 +set PWM_OUT 12345678 param set VT_MOT_COUNT 6 param set VT_IDLE_PWM_MC 1080 From 74b63d08e1f2dd34b2c18be9d46d0837a9be5b9f Mon Sep 17 00:00:00 2001 From: Lorenz Meier Date: Tue, 6 Jan 2015 19:53:52 +0100 Subject: [PATCH 07/13] Mixer load: Be less chatty --- ROMFS/px4fmu_common/init.d/rc.interface | 5 +---- 1 file changed, 1 insertion(+), 4 deletions(-) diff --git a/ROMFS/px4fmu_common/init.d/rc.interface b/ROMFS/px4fmu_common/init.d/rc.interface index 87c9e30452..98f41b31ec 100644 --- a/ROMFS/px4fmu_common/init.d/rc.interface +++ b/ROMFS/px4fmu_common/init.d/rc.interface @@ -9,7 +9,7 @@ then # Load mixer # - #Use the mixer file from the SD-card if it exists + # Use the mixer file from the SD-card if it exists if [ -f /fs/microsd/etc/mixers/$MIXER.mix ] then set MIXER_FILE /fs/microsd/etc/mixers/$MIXER.mix @@ -86,11 +86,8 @@ if [ $MIXER_SEC != none ] then if fmu mode_pwm then - echo "[i] FMU mode_pwm started to handle secondary mixer" - # load the specified mixer mixer load /dev/pwm_output1 /etc/mixers/$MIXER_SEC.mix else - echo "[i] ERROR: FMU mode_pwm start failed" tone_alarm $TUNE_ERR fi fi From 08062e6546f02cb2e819f690d35b485425788cc4 Mon Sep 17 00:00:00 2001 From: Anton Matosov Date: Wed, 7 Jan 2015 00:25:06 +0200 Subject: [PATCH 08/13] 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 --- .../init.d/1000_rc_fw_easystar.hil | 2 +- .../px4fmu_common/init.d/10015_tbs_discovery | 2 +- ROMFS/px4fmu_common/init.d/10016_3dr_iris | 2 +- .../init.d/10017_steadidrone_qu4d | 2 +- .../px4fmu_common/init.d/10018_tbs_endurance | 2 +- ROMFS/px4fmu_common/init.d/1001_rc_quad_x.hil | 2 +- ROMFS/px4fmu_common/init.d/1003_rc_quad_+.hil | 2 +- .../init.d/1004_rc_fw_Rascal110.hil | 2 +- .../init.d/1005_rc_fw_Malolo1.hil | 2 +- ROMFS/px4fmu_common/init.d/11001_hexa_cox | 2 +- ROMFS/px4fmu_common/init.d/12001_octo_cox | 2 +- .../init.d/13001_caipirinha_vtol | 2 +- ROMFS/px4fmu_common/init.d/13002_firefly6 | 3 +- ROMFS/px4fmu_common/init.d/2101_hk_bixler | 2 +- .../px4fmu_common/init.d/2103_skyhunter_1800 | 2 +- ROMFS/px4fmu_common/init.d/3030_io_camflyer | 2 +- ROMFS/px4fmu_common/init.d/3032_skywalker_x5 | 2 +- ROMFS/px4fmu_common/init.d/3034_fx79 | 2 +- .../px4fmu_common/init.d/3100_tbs_caipirinha | 2 +- ROMFS/px4fmu_common/init.d/4001_quad_x | 2 +- ROMFS/px4fmu_common/init.d/5001_quad_+ | 2 +- ROMFS/px4fmu_common/init.d/6001_hexa_x | 2 +- ROMFS/px4fmu_common/init.d/7001_hexa_+ | 2 +- ROMFS/px4fmu_common/init.d/8001_octo_x | 2 +- ROMFS/px4fmu_common/init.d/9001_octo_+ | 2 +- ROMFS/px4fmu_common/init.d/rc.interface | 58 ++++++++++++++----- ROMFS/px4fmu_common/init.d/rcS | 20 +++---- .../mixers/{FMU_AERT.mix => AERT.main.mix} | 0 .../mixers/{FMU_AET.mix => AET.main.mix} | 0 .../mixers/{FMU_CCPM.mix => CCPM.main.mix} | 0 .../mixers/{FMU_FX79.mix => FX79.main.mix} | 0 .../mixers/{FMU_Q.mix => Q.main.mix} | 0 .../mixers/{FMU_RET.mix => RET.main.mix} | 0 .../mixers/{Viper.mix => Viper.main.mix} | 0 .../mixers/{FMU_X5.mix => X5.main.mix} | 0 ...inha_vtol.mix => caipirinha_vtol.main.mix} | 0 .../mixers/{FMU_delta.mix => delta.main.mix} | 0 .../{easystar.mix => easystar.main.mix} | 0 ..._firefly6_elevons.mix => firefly6.aux.mix} | 0 ..._firefly6_rotors.mix => firefly6.main.mix} | 0 .../{FMU_hexa_+.mix => hexa_+.main.mix} | 0 .../{FMU_hexa_cox.mix => hexa_cox.main.mix} | 0 .../{FMU_hexa_x.mix => hexa_x.main.mix} | 0 .../{FMU_octo_+.mix => octo_+.main.mix} | 0 .../{FMU_octo_cox.mix => octo_cox.main.mix} | 0 .../{FMU_octo_x.mix => octo_x.main.mix} | 0 .../mixers/{phantom.mix => phantom.main.mix} | 0 .../{FMU_quad_+.mix => quad_+.main.mix} | 0 .../{FMU_quad_v.mix => quad_v.main.mix} | 0 .../{FMU_quad_w.mix => quad_w.main.mix} | 0 .../{FMU_quad_x.mix => quad_x.main.mix} | 0 .../{skywalker.mix => skywalker.main.mix} | 0 .../{wingwing.mix => wingwing.main.mix} | 0 src/systemcmds/tests/test_mixer.cpp | 2 +- unittests/conversion_test.cpp | 2 +- unittests/mixer_test.cpp | 2 +- 56 files changed, 81 insertions(+), 54 deletions(-) rename ROMFS/px4fmu_common/mixers/{FMU_AERT.mix => AERT.main.mix} (100%) rename ROMFS/px4fmu_common/mixers/{FMU_AET.mix => AET.main.mix} (100%) rename ROMFS/px4fmu_common/mixers/{FMU_CCPM.mix => CCPM.main.mix} (100%) rename ROMFS/px4fmu_common/mixers/{FMU_FX79.mix => FX79.main.mix} (100%) rename ROMFS/px4fmu_common/mixers/{FMU_Q.mix => Q.main.mix} (100%) rename ROMFS/px4fmu_common/mixers/{FMU_RET.mix => RET.main.mix} (100%) rename ROMFS/px4fmu_common/mixers/{Viper.mix => Viper.main.mix} (100%) rename ROMFS/px4fmu_common/mixers/{FMU_X5.mix => X5.main.mix} (100%) rename ROMFS/px4fmu_common/mixers/{FMU_caipirinha_vtol.mix => caipirinha_vtol.main.mix} (100%) rename ROMFS/px4fmu_common/mixers/{FMU_delta.mix => delta.main.mix} (100%) rename ROMFS/px4fmu_common/mixers/{easystar.mix => easystar.main.mix} (100%) rename ROMFS/px4fmu_common/mixers/{FMU_firefly6_elevons.mix => firefly6.aux.mix} (100%) rename ROMFS/px4fmu_common/mixers/{FMU_firefly6_rotors.mix => firefly6.main.mix} (100%) rename ROMFS/px4fmu_common/mixers/{FMU_hexa_+.mix => hexa_+.main.mix} (100%) rename ROMFS/px4fmu_common/mixers/{FMU_hexa_cox.mix => hexa_cox.main.mix} (100%) rename ROMFS/px4fmu_common/mixers/{FMU_hexa_x.mix => hexa_x.main.mix} (100%) rename ROMFS/px4fmu_common/mixers/{FMU_octo_+.mix => octo_+.main.mix} (100%) rename ROMFS/px4fmu_common/mixers/{FMU_octo_cox.mix => octo_cox.main.mix} (100%) rename ROMFS/px4fmu_common/mixers/{FMU_octo_x.mix => octo_x.main.mix} (100%) rename ROMFS/px4fmu_common/mixers/{phantom.mix => phantom.main.mix} (100%) rename ROMFS/px4fmu_common/mixers/{FMU_quad_+.mix => quad_+.main.mix} (100%) rename ROMFS/px4fmu_common/mixers/{FMU_quad_v.mix => quad_v.main.mix} (100%) rename ROMFS/px4fmu_common/mixers/{FMU_quad_w.mix => quad_w.main.mix} (100%) rename ROMFS/px4fmu_common/mixers/{FMU_quad_x.mix => quad_x.main.mix} (100%) rename ROMFS/px4fmu_common/mixers/{skywalker.mix => skywalker.main.mix} (100%) rename ROMFS/px4fmu_common/mixers/{wingwing.mix => wingwing.main.mix} (100%) diff --git a/ROMFS/px4fmu_common/init.d/1000_rc_fw_easystar.hil b/ROMFS/px4fmu_common/init.d/1000_rc_fw_easystar.hil index 4d6d350b8a..40b9ed8df5 100644 --- a/ROMFS/px4fmu_common/init.d/1000_rc_fw_easystar.hil +++ b/ROMFS/px4fmu_common/init.d/1000_rc_fw_easystar.hil @@ -7,4 +7,4 @@ sh /etc/init.d/rc.fw_defaults set HIL yes -set MIXER FMU_AERT +set MIXER AERT diff --git a/ROMFS/px4fmu_common/init.d/10015_tbs_discovery b/ROMFS/px4fmu_common/init.d/10015_tbs_discovery index c1b366de83..2c7c0d68e2 100644 --- a/ROMFS/px4fmu_common/init.d/10015_tbs_discovery +++ b/ROMFS/px4fmu_common/init.d/10015_tbs_discovery @@ -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 diff --git a/ROMFS/px4fmu_common/init.d/10016_3dr_iris b/ROMFS/px4fmu_common/init.d/10016_3dr_iris index 3879737a8e..caa8e28fc5 100644 --- a/ROMFS/px4fmu_common/init.d/10016_3dr_iris +++ b/ROMFS/px4fmu_common/init.d/10016_3dr_iris @@ -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 diff --git a/ROMFS/px4fmu_common/init.d/10017_steadidrone_qu4d b/ROMFS/px4fmu_common/init.d/10017_steadidrone_qu4d index 57f77754c8..5e41d6957d 100644 --- a/ROMFS/px4fmu_common/init.d/10017_steadidrone_qu4d +++ b/ROMFS/px4fmu_common/init.d/10017_steadidrone_qu4d @@ -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 diff --git a/ROMFS/px4fmu_common/init.d/10018_tbs_endurance b/ROMFS/px4fmu_common/init.d/10018_tbs_endurance index 668026c616..eeb9b48b29 100644 --- a/ROMFS/px4fmu_common/init.d/10018_tbs_endurance +++ b/ROMFS/px4fmu_common/init.d/10018_tbs_endurance @@ -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 diff --git a/ROMFS/px4fmu_common/init.d/1001_rc_quad_x.hil b/ROMFS/px4fmu_common/init.d/1001_rc_quad_x.hil index 1c4f6803b6..03b6b30d27 100644 --- a/ROMFS/px4fmu_common/init.d/1001_rc_quad_x.hil +++ b/ROMFS/px4fmu_common/init.d/1001_rc_quad_x.hil @@ -7,6 +7,6 @@ sh /etc/init.d/rc.mc_defaults -set MIXER FMU_quad_x +set MIXER quad_x set HIL yes diff --git a/ROMFS/px4fmu_common/init.d/1003_rc_quad_+.hil b/ROMFS/px4fmu_common/init.d/1003_rc_quad_+.hil index 0cbdd75bed..2b418dfc50 100644 --- a/ROMFS/px4fmu_common/init.d/1003_rc_quad_+.hil +++ b/ROMFS/px4fmu_common/init.d/1003_rc_quad_+.hil @@ -7,6 +7,6 @@ sh /etc/init.d/rc.mc_defaults -set MIXER FMU_quad_+ +set MIXER quad_+ set HIL yes \ No newline at end of file diff --git a/ROMFS/px4fmu_common/init.d/1004_rc_fw_Rascal110.hil b/ROMFS/px4fmu_common/init.d/1004_rc_fw_Rascal110.hil index fb440d2fc7..0909208478 100644 --- a/ROMFS/px4fmu_common/init.d/1004_rc_fw_Rascal110.hil +++ b/ROMFS/px4fmu_common/init.d/1004_rc_fw_Rascal110.hil @@ -9,4 +9,4 @@ sh /etc/init.d/rc.fw_defaults set HIL yes -set MIXER FMU_AERT +set MIXER AERT diff --git a/ROMFS/px4fmu_common/init.d/1005_rc_fw_Malolo1.hil b/ROMFS/px4fmu_common/init.d/1005_rc_fw_Malolo1.hil index f208b692a0..15e5cf21d8 100644 --- a/ROMFS/px4fmu_common/init.d/1005_rc_fw_Malolo1.hil +++ b/ROMFS/px4fmu_common/init.d/1005_rc_fw_Malolo1.hil @@ -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 diff --git a/ROMFS/px4fmu_common/init.d/11001_hexa_cox b/ROMFS/px4fmu_common/init.d/11001_hexa_cox index 50f717e3df..0bb8cb52ee 100644 --- a/ROMFS/px4fmu_common/init.d/11001_hexa_cox +++ b/ROMFS/px4fmu_common/init.d/11001_hexa_cox @@ -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 diff --git a/ROMFS/px4fmu_common/init.d/12001_octo_cox b/ROMFS/px4fmu_common/init.d/12001_octo_cox index e0a8381851..16e86fd5fa 100644 --- a/ROMFS/px4fmu_common/init.d/12001_octo_cox +++ b/ROMFS/px4fmu_common/init.d/12001_octo_cox @@ -7,6 +7,6 @@ sh /etc/init.d/rc.mc_defaults -set MIXER FMU_octo_cox +set MIXER octo_cox set PWM_OUT 12345678 diff --git a/ROMFS/px4fmu_common/init.d/13001_caipirinha_vtol b/ROMFS/px4fmu_common/init.d/13001_caipirinha_vtol index 7e9a6d3dc8..87b98a02bc 100644 --- a/ROMFS/px4fmu_common/init.d/13001_caipirinha_vtol +++ b/ROMFS/px4fmu_common/init.d/13001_caipirinha_vtol @@ -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 diff --git a/ROMFS/px4fmu_common/init.d/13002_firefly6 b/ROMFS/px4fmu_common/init.d/13002_firefly6 index d5a104b4cf..551a19928e 100644 --- a/ROMFS/px4fmu_common/init.d/13002_firefly6 +++ b/ROMFS/px4fmu_common/init.d/13002_firefly6 @@ -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 diff --git a/ROMFS/px4fmu_common/init.d/2101_hk_bixler b/ROMFS/px4fmu_common/init.d/2101_hk_bixler index dcc5db824a..0e6d2481c0 100644 --- a/ROMFS/px4fmu_common/init.d/2101_hk_bixler +++ b/ROMFS/px4fmu_common/init.d/2101_hk_bixler @@ -2,4 +2,4 @@ sh /etc/init.d/rc.fw_defaults -set MIXER FMU_AERT \ No newline at end of file +set MIXER AERT \ No newline at end of file diff --git a/ROMFS/px4fmu_common/init.d/2103_skyhunter_1800 b/ROMFS/px4fmu_common/init.d/2103_skyhunter_1800 index 9bc0262d83..2433ab4f40 100644 --- a/ROMFS/px4fmu_common/init.d/2103_skyhunter_1800 +++ b/ROMFS/px4fmu_common/init.d/2103_skyhunter_1800 @@ -2,4 +2,4 @@ sh /etc/init.d/rc.fw_defaults -set MIXER FMU_AET +set MIXER AET diff --git a/ROMFS/px4fmu_common/init.d/3030_io_camflyer b/ROMFS/px4fmu_common/init.d/3030_io_camflyer index fe0269557f..1886783249 100644 --- a/ROMFS/px4fmu_common/init.d/3030_io_camflyer +++ b/ROMFS/px4fmu_common/init.d/3030_io_camflyer @@ -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 diff --git a/ROMFS/px4fmu_common/init.d/3032_skywalker_x5 b/ROMFS/px4fmu_common/init.d/3032_skywalker_x5 index 94363bf6ab..3d464a4ae9 100644 --- a/ROMFS/px4fmu_common/init.d/3032_skywalker_x5 +++ b/ROMFS/px4fmu_common/init.d/3032_skywalker_x5 @@ -28,4 +28,4 @@ then param set FW_R_RMAX 0 fi -set MIXER FMU_X5 +set MIXER X5 diff --git a/ROMFS/px4fmu_common/init.d/3034_fx79 b/ROMFS/px4fmu_common/init.d/3034_fx79 index 4a76ba6ebd..d46147ede5 100644 --- a/ROMFS/px4fmu_common/init.d/3034_fx79 +++ b/ROMFS/px4fmu_common/init.d/3034_fx79 @@ -7,4 +7,4 @@ sh /etc/init.d/rc.fw_defaults -set MIXER FMU_FX79 +set MIXER FX79 diff --git a/ROMFS/px4fmu_common/init.d/3100_tbs_caipirinha b/ROMFS/px4fmu_common/init.d/3100_tbs_caipirinha index 9eafac1c59..9e1c1c170a 100644 --- a/ROMFS/px4fmu_common/init.d/3100_tbs_caipirinha +++ b/ROMFS/px4fmu_common/init.d/3100_tbs_caipirinha @@ -31,4 +31,4 @@ then param set FW_R_RMAX 0 fi -set MIXER FMU_Q +set MIXER Q diff --git a/ROMFS/px4fmu_common/init.d/4001_quad_x b/ROMFS/px4fmu_common/init.d/4001_quad_x index 4677f9fc3a..e0538160f0 100644 --- a/ROMFS/px4fmu_common/init.d/4001_quad_x +++ b/ROMFS/px4fmu_common/init.d/4001_quad_x @@ -7,6 +7,6 @@ sh /etc/init.d/rc.mc_defaults -set MIXER FMU_quad_x +set MIXER quad_x set PWM_OUT 1234 diff --git a/ROMFS/px4fmu_common/init.d/5001_quad_+ b/ROMFS/px4fmu_common/init.d/5001_quad_+ index c789113919..e51f9cf89d 100644 --- a/ROMFS/px4fmu_common/init.d/5001_quad_+ +++ b/ROMFS/px4fmu_common/init.d/5001_quad_+ @@ -7,6 +7,6 @@ sh /etc/init.d/rc.mc_defaults -set MIXER FMU_quad_+ +set MIXER quad_+ set PWM_OUT 1234 diff --git a/ROMFS/px4fmu_common/init.d/6001_hexa_x b/ROMFS/px4fmu_common/init.d/6001_hexa_x index 0df25b11a1..7a6dda648a 100644 --- a/ROMFS/px4fmu_common/init.d/6001_hexa_x +++ b/ROMFS/px4fmu_common/init.d/6001_hexa_x @@ -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 diff --git a/ROMFS/px4fmu_common/init.d/7001_hexa_+ b/ROMFS/px4fmu_common/init.d/7001_hexa_+ index 16c772ee1e..dd9589d614 100644 --- a/ROMFS/px4fmu_common/init.d/7001_hexa_+ +++ b/ROMFS/px4fmu_common/init.d/7001_hexa_+ @@ -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 diff --git a/ROMFS/px4fmu_common/init.d/8001_octo_x b/ROMFS/px4fmu_common/init.d/8001_octo_x index bae36737f9..7cbb3ddfcd 100644 --- a/ROMFS/px4fmu_common/init.d/8001_octo_x +++ b/ROMFS/px4fmu_common/init.d/8001_octo_x @@ -7,6 +7,6 @@ sh /etc/init.d/rc.mc_defaults -set MIXER FMU_octo_x +set MIXER octo_x set PWM_OUT 12345678 diff --git a/ROMFS/px4fmu_common/init.d/9001_octo_+ b/ROMFS/px4fmu_common/init.d/9001_octo_+ index ca5439f68f..5d608d593c 100644 --- a/ROMFS/px4fmu_common/init.d/9001_octo_+ +++ b/ROMFS/px4fmu_common/init.d/9001_octo_+ @@ -7,6 +7,6 @@ sh /etc/init.d/rc.mc_defaults -set MIXER FMU_octo_+ +set MIXER octo_+ set PWM_OUT 12345678 diff --git a/ROMFS/px4fmu_common/init.d/rc.interface b/ROMFS/px4fmu_common/init.d/rc.interface index 98f41b31ec..d4880ea420 100644 --- a/ROMFS/px4fmu_common/init.d/rc.interface +++ b/ROMFS/px4fmu_common/init.d/rc.interface @@ -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 \ No newline at end of file diff --git a/ROMFS/px4fmu_common/init.d/rcS b/ROMFS/px4fmu_common/init.d/rcS index 924f6ebc08..31d6a8a2d1 100644 --- a/ROMFS/px4fmu_common/init.d/rcS +++ b/ROMFS/px4fmu_common/init.d/rcS @@ -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 diff --git a/ROMFS/px4fmu_common/mixers/FMU_AERT.mix b/ROMFS/px4fmu_common/mixers/AERT.main.mix similarity index 100% rename from ROMFS/px4fmu_common/mixers/FMU_AERT.mix rename to ROMFS/px4fmu_common/mixers/AERT.main.mix diff --git a/ROMFS/px4fmu_common/mixers/FMU_AET.mix b/ROMFS/px4fmu_common/mixers/AET.main.mix similarity index 100% rename from ROMFS/px4fmu_common/mixers/FMU_AET.mix rename to ROMFS/px4fmu_common/mixers/AET.main.mix diff --git a/ROMFS/px4fmu_common/mixers/FMU_CCPM.mix b/ROMFS/px4fmu_common/mixers/CCPM.main.mix similarity index 100% rename from ROMFS/px4fmu_common/mixers/FMU_CCPM.mix rename to ROMFS/px4fmu_common/mixers/CCPM.main.mix diff --git a/ROMFS/px4fmu_common/mixers/FMU_FX79.mix b/ROMFS/px4fmu_common/mixers/FX79.main.mix similarity index 100% rename from ROMFS/px4fmu_common/mixers/FMU_FX79.mix rename to ROMFS/px4fmu_common/mixers/FX79.main.mix diff --git a/ROMFS/px4fmu_common/mixers/FMU_Q.mix b/ROMFS/px4fmu_common/mixers/Q.main.mix similarity index 100% rename from ROMFS/px4fmu_common/mixers/FMU_Q.mix rename to ROMFS/px4fmu_common/mixers/Q.main.mix diff --git a/ROMFS/px4fmu_common/mixers/FMU_RET.mix b/ROMFS/px4fmu_common/mixers/RET.main.mix similarity index 100% rename from ROMFS/px4fmu_common/mixers/FMU_RET.mix rename to ROMFS/px4fmu_common/mixers/RET.main.mix diff --git a/ROMFS/px4fmu_common/mixers/Viper.mix b/ROMFS/px4fmu_common/mixers/Viper.main.mix similarity index 100% rename from ROMFS/px4fmu_common/mixers/Viper.mix rename to ROMFS/px4fmu_common/mixers/Viper.main.mix diff --git a/ROMFS/px4fmu_common/mixers/FMU_X5.mix b/ROMFS/px4fmu_common/mixers/X5.main.mix similarity index 100% rename from ROMFS/px4fmu_common/mixers/FMU_X5.mix rename to ROMFS/px4fmu_common/mixers/X5.main.mix diff --git a/ROMFS/px4fmu_common/mixers/FMU_caipirinha_vtol.mix b/ROMFS/px4fmu_common/mixers/caipirinha_vtol.main.mix similarity index 100% rename from ROMFS/px4fmu_common/mixers/FMU_caipirinha_vtol.mix rename to ROMFS/px4fmu_common/mixers/caipirinha_vtol.main.mix diff --git a/ROMFS/px4fmu_common/mixers/FMU_delta.mix b/ROMFS/px4fmu_common/mixers/delta.main.mix similarity index 100% rename from ROMFS/px4fmu_common/mixers/FMU_delta.mix rename to ROMFS/px4fmu_common/mixers/delta.main.mix diff --git a/ROMFS/px4fmu_common/mixers/easystar.mix b/ROMFS/px4fmu_common/mixers/easystar.main.mix similarity index 100% rename from ROMFS/px4fmu_common/mixers/easystar.mix rename to ROMFS/px4fmu_common/mixers/easystar.main.mix diff --git a/ROMFS/px4fmu_common/mixers/FMU_firefly6_elevons.mix b/ROMFS/px4fmu_common/mixers/firefly6.aux.mix similarity index 100% rename from ROMFS/px4fmu_common/mixers/FMU_firefly6_elevons.mix rename to ROMFS/px4fmu_common/mixers/firefly6.aux.mix diff --git a/ROMFS/px4fmu_common/mixers/FMU_firefly6_rotors.mix b/ROMFS/px4fmu_common/mixers/firefly6.main.mix similarity index 100% rename from ROMFS/px4fmu_common/mixers/FMU_firefly6_rotors.mix rename to ROMFS/px4fmu_common/mixers/firefly6.main.mix diff --git a/ROMFS/px4fmu_common/mixers/FMU_hexa_+.mix b/ROMFS/px4fmu_common/mixers/hexa_+.main.mix similarity index 100% rename from ROMFS/px4fmu_common/mixers/FMU_hexa_+.mix rename to ROMFS/px4fmu_common/mixers/hexa_+.main.mix diff --git a/ROMFS/px4fmu_common/mixers/FMU_hexa_cox.mix b/ROMFS/px4fmu_common/mixers/hexa_cox.main.mix similarity index 100% rename from ROMFS/px4fmu_common/mixers/FMU_hexa_cox.mix rename to ROMFS/px4fmu_common/mixers/hexa_cox.main.mix diff --git a/ROMFS/px4fmu_common/mixers/FMU_hexa_x.mix b/ROMFS/px4fmu_common/mixers/hexa_x.main.mix similarity index 100% rename from ROMFS/px4fmu_common/mixers/FMU_hexa_x.mix rename to ROMFS/px4fmu_common/mixers/hexa_x.main.mix diff --git a/ROMFS/px4fmu_common/mixers/FMU_octo_+.mix b/ROMFS/px4fmu_common/mixers/octo_+.main.mix similarity index 100% rename from ROMFS/px4fmu_common/mixers/FMU_octo_+.mix rename to ROMFS/px4fmu_common/mixers/octo_+.main.mix diff --git a/ROMFS/px4fmu_common/mixers/FMU_octo_cox.mix b/ROMFS/px4fmu_common/mixers/octo_cox.main.mix similarity index 100% rename from ROMFS/px4fmu_common/mixers/FMU_octo_cox.mix rename to ROMFS/px4fmu_common/mixers/octo_cox.main.mix diff --git a/ROMFS/px4fmu_common/mixers/FMU_octo_x.mix b/ROMFS/px4fmu_common/mixers/octo_x.main.mix similarity index 100% rename from ROMFS/px4fmu_common/mixers/FMU_octo_x.mix rename to ROMFS/px4fmu_common/mixers/octo_x.main.mix diff --git a/ROMFS/px4fmu_common/mixers/phantom.mix b/ROMFS/px4fmu_common/mixers/phantom.main.mix similarity index 100% rename from ROMFS/px4fmu_common/mixers/phantom.mix rename to ROMFS/px4fmu_common/mixers/phantom.main.mix diff --git a/ROMFS/px4fmu_common/mixers/FMU_quad_+.mix b/ROMFS/px4fmu_common/mixers/quad_+.main.mix similarity index 100% rename from ROMFS/px4fmu_common/mixers/FMU_quad_+.mix rename to ROMFS/px4fmu_common/mixers/quad_+.main.mix diff --git a/ROMFS/px4fmu_common/mixers/FMU_quad_v.mix b/ROMFS/px4fmu_common/mixers/quad_v.main.mix similarity index 100% rename from ROMFS/px4fmu_common/mixers/FMU_quad_v.mix rename to ROMFS/px4fmu_common/mixers/quad_v.main.mix diff --git a/ROMFS/px4fmu_common/mixers/FMU_quad_w.mix b/ROMFS/px4fmu_common/mixers/quad_w.main.mix similarity index 100% rename from ROMFS/px4fmu_common/mixers/FMU_quad_w.mix rename to ROMFS/px4fmu_common/mixers/quad_w.main.mix diff --git a/ROMFS/px4fmu_common/mixers/FMU_quad_x.mix b/ROMFS/px4fmu_common/mixers/quad_x.main.mix similarity index 100% rename from ROMFS/px4fmu_common/mixers/FMU_quad_x.mix rename to ROMFS/px4fmu_common/mixers/quad_x.main.mix diff --git a/ROMFS/px4fmu_common/mixers/skywalker.mix b/ROMFS/px4fmu_common/mixers/skywalker.main.mix similarity index 100% rename from ROMFS/px4fmu_common/mixers/skywalker.mix rename to ROMFS/px4fmu_common/mixers/skywalker.main.mix diff --git a/ROMFS/px4fmu_common/mixers/wingwing.mix b/ROMFS/px4fmu_common/mixers/wingwing.main.mix similarity index 100% rename from ROMFS/px4fmu_common/mixers/wingwing.mix rename to ROMFS/px4fmu_common/mixers/wingwing.main.mix diff --git a/src/systemcmds/tests/test_mixer.cpp b/src/systemcmds/tests/test_mixer.cpp index 8ab8fa2d6e..2896a8e405 100644 --- a/src/systemcmds/tests/test_mixer.cpp +++ b/src/systemcmds/tests/test_mixer.cpp @@ -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); diff --git a/unittests/conversion_test.cpp b/unittests/conversion_test.cpp index 99e1c7721d..12d2213e2c 100644 --- a/unittests/conversion_test.cpp +++ b/unittests/conversion_test.cpp @@ -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"; } diff --git a/unittests/mixer_test.cpp b/unittests/mixer_test.cpp index fd3ece7f87..1271dab5e0 100644 --- a/unittests/mixer_test.cpp +++ b/unittests/mixer_test.cpp @@ -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"; } From a4db73dad894e7b6f6920fcd1184127f9c997201 Mon Sep 17 00:00:00 2001 From: Daniel Agar Date: Wed, 7 Jan 2015 23:15:12 -0500 Subject: [PATCH 09/13] move st24_test to gtest --- unittests/CMakeLists.txt | 2 -- unittests/st24_test.cpp | 31 +++++-------------------------- 2 files changed, 5 insertions(+), 28 deletions(-) diff --git a/unittests/CMakeLists.txt b/unittests/CMakeLists.txt index c2990c59f2..247ddbb3d2 100644 --- a/unittests/CMakeLists.txt +++ b/unittests/CMakeLists.txt @@ -61,12 +61,10 @@ add_executable(conversion_test conversion_test.cpp ${PX_SRC}/systemcmds/tests/te add_gtest(conversion_test) # sbus2_test -# TODO: move to gtest add_executable(sbus2_test sbus2_test.cpp hrt.cpp) add_gtest(sbus2_test) # st24_test -# TODO: move to gtest add_executable(st24_test st24_test.cpp hrt.cpp ${PX_SRC}/lib/rc/st24.c) add_gtest(st24_test) diff --git a/unittests/st24_test.cpp b/unittests/st24_test.cpp index 0c56df1732..89c7ffb1c3 100644 --- a/unittests/st24_test.cpp +++ b/unittests/st24_test.cpp @@ -1,4 +1,3 @@ - #include #include #include @@ -7,30 +6,17 @@ #include #include "../../src/systemcmds/tests/tests.h" -int main(int argc, char *argv[]) -{ - warnx("ST24 test started"); +#include "gtest/gtest.h" - char* defaultfile = "testdata/st24_data.txt"; - - char* filepath = 0; - - if (argc < 2) { - warnx("Too few arguments. Using default file: %s", defaultfile); - filepath = defaultfile; - } else { - filepath = argv[1]; - } +TEST(ST24Test, ST24) { + const char* filepath = "testdata/st24_data.txt"; warnx("loading data from: %s", filepath); FILE *fp; fp = fopen(filepath, "rt"); - - if (!fp) { - errx(1, "failed opening file"); - } + //ASSERT_TRUE(fp); float f; unsigned x; @@ -73,12 +59,5 @@ int main(int argc, char *argv[]) } } - if (ret == EOF) { - warnx("Test finished, reached end of file"); - ret = 0; - } else { - warnx("Test aborted, errno: %d", ret); - } - - return ret; + ASSERT_EQ(EOF, ret); } From cc2d0f00d6826d050c1f9e852970dd409946ee0d Mon Sep 17 00:00:00 2001 From: Daniel Agar Date: Wed, 7 Jan 2015 23:17:31 -0500 Subject: [PATCH 10/13] move sf0x_test to gtest --- unittests/CMakeLists.txt | 1 - unittests/sf0x_test.cpp | 20 +++++++------------- 2 files changed, 7 insertions(+), 14 deletions(-) diff --git a/unittests/CMakeLists.txt b/unittests/CMakeLists.txt index 247ddbb3d2..666570a71e 100644 --- a/unittests/CMakeLists.txt +++ b/unittests/CMakeLists.txt @@ -69,6 +69,5 @@ add_executable(st24_test st24_test.cpp hrt.cpp ${PX_SRC}/lib/rc/st24.c) add_gtest(st24_test) # sf0x_test -# TODO: move to gtest add_executable(sf0x_test sf0x_test.cpp ${PX_SRC}/drivers/sf0x/sf0x_parser.cpp) add_gtest(sf0x_test) diff --git a/unittests/sf0x_test.cpp b/unittests/sf0x_test.cpp index 1af128bbe4..ffaaaf04aa 100644 --- a/unittests/sf0x_test.cpp +++ b/unittests/sf0x_test.cpp @@ -1,19 +1,15 @@ - -#include -#include -#include #include -#include +#include +#include +#include + #include - #include +#include -int main(int argc, char *argv[]) -{ - warnx("SF0X test started"); - - int ret = 0; +#include "gtest/gtest.h" +TEST(SF0XTest, SF0X) { const char LINE_MAX = 20; char _linebuf[LINE_MAX]; _linebuf[0] = '\0'; @@ -60,6 +56,4 @@ int main(int argc, char *argv[]) } warnx("test finished"); - - return ret; } From 25054d389a0d860664e2c3a67c180f8518876cbe Mon Sep 17 00:00:00 2001 From: Anton Matosov Date: Thu, 8 Jan 2015 12:55:28 +0200 Subject: [PATCH 11/13] Broke down the elif into else and if as nsh doesn't support elif Fix invalid set of the variable --- ROMFS/px4fmu_common/init.d/rc.interface | 80 +++++++++++++------------ 1 file changed, 43 insertions(+), 37 deletions(-) diff --git a/ROMFS/px4fmu_common/init.d/rc.interface b/ROMFS/px4fmu_common/init.d/rc.interface index d4880ea420..1a2d8c0163 100644 --- a/ROMFS/px4fmu_common/init.d/rc.interface +++ b/ROMFS/px4fmu_common/init.d/rc.interface @@ -4,29 +4,32 @@ # set SDCARD_MIXERS_PATH /fs/microsd/etc/mixers - + if [ $MIXER != none -a $MIXER != skip ] then # # Load main mixer # - - if [ $MIXER_AUX == none ] - then - MIXER_AUX = $MIXER.aux - fi + + if [ $MIXER_AUX == none ] + then + set MIXER_AUX $MIXER.aux + fi # Use the mixer file from the SD-card if it exists if [ -f $SDCARD_MIXERS_PATH/$MIXER.main.mix ] then 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 + else + + 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 if [ $OUTPUT_MODE == mkblctrl ] then @@ -34,7 +37,7 @@ then else set OUTPUT_DEV /dev/pwm_output fi - + if [ $OUTPUT_MODE == uavcan_esc ] then set OUTPUT_DEV /dev/uavcan/esc @@ -91,31 +94,34 @@ then pwm failsafe -d $OUTPUT_DEV $FAILSAFE fi fi - + # check if should load secondary mixer if [ $MIXER_AUX != none ] then - # - # 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 + # + # 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 + else + + if [ -f /etc/mixers/$MIXER_AUX.mix ] + then + set MIXER_AUX_FILE /etc/mixers/$MIXER_AUX.mix + fi + 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 \ No newline at end of file From 1df7939072f87a5f3f3cc05ff57f545db7c144ad Mon Sep 17 00:00:00 2001 From: Simon Wilks Date: Thu, 8 Jan 2015 10:55:01 +0100 Subject: [PATCH 12/13] Remove bottle_drop as it should be optional. --- ROMFS/px4fmu_common/init.d/rc.fw_apps | 2 -- 1 file changed, 2 deletions(-) diff --git a/ROMFS/px4fmu_common/init.d/rc.fw_apps b/ROMFS/px4fmu_common/init.d/rc.fw_apps index c97b3477f8..9aca3fc5f4 100644 --- a/ROMFS/px4fmu_common/init.d/rc.fw_apps +++ b/ROMFS/px4fmu_common/init.d/rc.fw_apps @@ -13,5 +13,3 @@ ekf_att_pos_estimator start # fw_att_control start fw_pos_control_l1 start - -bottle_drop start From e405fafe882c95345ccf88ea5f372f353aa4c21f Mon Sep 17 00:00:00 2001 From: Anton Matosov Date: Thu, 8 Jan 2015 13:35:02 +0200 Subject: [PATCH 13/13] Applied code review comments (newline at end of file, whitespaces in empty lines) --- ROMFS/px4fmu_common/init.d/1003_rc_quad_+.hil | 2 +- ROMFS/px4fmu_common/init.d/2101_hk_bixler | 2 +- ROMFS/px4fmu_common/init.d/rc.interface | 26 +++++++++---------- 3 files changed, 15 insertions(+), 15 deletions(-) diff --git a/ROMFS/px4fmu_common/init.d/1003_rc_quad_+.hil b/ROMFS/px4fmu_common/init.d/1003_rc_quad_+.hil index 2b418dfc50..7e651216d0 100644 --- a/ROMFS/px4fmu_common/init.d/1003_rc_quad_+.hil +++ b/ROMFS/px4fmu_common/init.d/1003_rc_quad_+.hil @@ -9,4 +9,4 @@ sh /etc/init.d/rc.mc_defaults set MIXER quad_+ -set HIL yes \ No newline at end of file +set HIL yes diff --git a/ROMFS/px4fmu_common/init.d/2101_hk_bixler b/ROMFS/px4fmu_common/init.d/2101_hk_bixler index 0e6d2481c0..05ee57ffa0 100644 --- a/ROMFS/px4fmu_common/init.d/2101_hk_bixler +++ b/ROMFS/px4fmu_common/init.d/2101_hk_bixler @@ -2,4 +2,4 @@ sh /etc/init.d/rc.fw_defaults -set MIXER AERT \ No newline at end of file +set MIXER AERT diff --git a/ROMFS/px4fmu_common/init.d/rc.interface b/ROMFS/px4fmu_common/init.d/rc.interface index 1a2d8c0163..4015a911b2 100644 --- a/ROMFS/px4fmu_common/init.d/rc.interface +++ b/ROMFS/px4fmu_common/init.d/rc.interface @@ -4,25 +4,25 @@ # set SDCARD_MIXERS_PATH /fs/microsd/etc/mixers - + if [ $MIXER != none -a $MIXER != skip ] then # # Load main mixer # - + if [ $MIXER_AUX == none ] then set MIXER_AUX $MIXER.aux fi - + # Use the mixer file from the SD-card if it exists if [ -f $SDCARD_MIXERS_PATH/$MIXER.main.mix ] then set MIXER_FILE $SDCARD_MIXERS_PATH/$MIXER.main.mix # Try out the old convention, for backward compatibility else - + if [ -f $SDCARD_MIXERS_PATH/$MIXER.mix ] then set MIXER_FILE $SDCARD_MIXERS_PATH/$MIXER.mix @@ -30,19 +30,19 @@ then set MIXER_FILE /etc/mixers/$MIXER.main.mix fi 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 "[i] Mixer: $MIXER_FILE" @@ -71,7 +71,7 @@ then then pwm rate -c $PWM_OUT -r $PWM_RATE fi - + # # Set disarmed, min and max PWM values # @@ -101,20 +101,20 @@ then # # 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 else - + if [ -f /etc/mixers/$MIXER_AUX.mix ] then set MIXER_AUX_FILE /etc/mixers/$MIXER_AUX.mix fi fi - + if [ $MIXER_AUX_FILE != none -a $FMU_MODE == pwm ] then if fmu mode_pwm @@ -124,4 +124,4 @@ then tone_alarm $TUNE_ERR fi fi -fi \ No newline at end of file +fi