diff --git a/ROMFS/px4fmu_common/init.d/airframes/4080_zmr250 b/ROMFS/px4fmu_common/init.d/airframes/4080_zmr250 index bee125aeb7..dbd862f115 100644 --- a/ROMFS/px4fmu_common/init.d/airframes/4080_zmr250 +++ b/ROMFS/px4fmu_common/init.d/airframes/4080_zmr250 @@ -14,7 +14,7 @@ sh /etc/init.d/rc.mc_defaults -set MIXER zmr250 +set MIXER quad_x set PWM_OUT 1234 if [ $AUTOCNF = yes ] diff --git a/ROMFS/px4fmu_common/mixers-sitl/quad_x_vtol.main.mix b/ROMFS/px4fmu_common/mixers-sitl/quad_x_vtol.main.mix index daaca52a74..7800997918 100644 --- a/ROMFS/px4fmu_common/mixers-sitl/quad_x_vtol.main.mix +++ b/ROMFS/px4fmu_common/mixers-sitl/quad_x_vtol.main.mix @@ -1,7 +1,7 @@ Mixer for the gazebo tailsitter model ===================================== -R: 4x 10000 10000 10000 0 +R: 4x Z: diff --git a/ROMFS/px4fmu_common/mixers-sitl/standard_vtol_sitl.main.mix b/ROMFS/px4fmu_common/mixers-sitl/standard_vtol_sitl.main.mix index 402da96429..95a087ab82 100644 --- a/ROMFS/px4fmu_common/mixers-sitl/standard_vtol_sitl.main.mix +++ b/ROMFS/px4fmu_common/mixers-sitl/standard_vtol_sitl.main.mix @@ -3,7 +3,7 @@ Mixer for standard vtol plane (SITL) with motor x configuration This file defines a single mixer for a standard vtol plane (SITL gazebo) with motors in X configuration. The plane has two ailerons and one elevator. -R: 4x 10000 10000 10000 0 +R: 4x # mixer for the pusher/puller throttle M: 1 diff --git a/ROMFS/px4fmu_common/mixers-sitl/tiltrotor_sitl.main.mix b/ROMFS/px4fmu_common/mixers-sitl/tiltrotor_sitl.main.mix index 0405990ac4..f57230b4a8 100644 --- a/ROMFS/px4fmu_common/mixers-sitl/tiltrotor_sitl.main.mix +++ b/ROMFS/px4fmu_common/mixers-sitl/tiltrotor_sitl.main.mix @@ -3,7 +3,7 @@ Mixer for quad tiltrotor (x motor configuration) This file defines a single mixer for a tiltrotor (SITL gazebo) with motors in X configuration. The plane has two ailerons and one elevator. -R: 4x 10000 10000 10000 0 +R: 4x # tilt servo motor 1 M: 1 diff --git a/ROMFS/px4fmu_common/mixers/CMakeLists.txt b/ROMFS/px4fmu_common/mixers/CMakeLists.txt index 9a4e28eb92..3ea4868a1a 100644 --- a/ROMFS/px4fmu_common/mixers/CMakeLists.txt +++ b/ROMFS/px4fmu_common/mixers/CMakeLists.txt @@ -57,7 +57,6 @@ px4_add_romfs_files( IO_pass.main.mix mount.aux.mix mount_legs.aux.mix - ocpoc_quad_x.main.mix octo_cox.main.mix octo_cox_w.main.mix octo_+.main.mix @@ -84,7 +83,6 @@ px4_add_romfs_files( vtol_convergence.main.mix vtol_delta.aux.mix wingwing.main.mix - zmr250.main.mix TF-AutoG2.main.mix uuv_x.main.mix ) diff --git a/ROMFS/px4fmu_common/mixers/babyshark.main.mix b/ROMFS/px4fmu_common/mixers/babyshark.main.mix index e4e69163a1..5ef55059c6 100644 --- a/ROMFS/px4fmu_common/mixers/babyshark.main.mix +++ b/ROMFS/px4fmu_common/mixers/babyshark.main.mix @@ -35,4 +35,4 @@ S: 1 1 -8000 -8000 0 -10000 10000 Quad motors 1 - 4 ----------------- -R: 4x 10000 10000 10000 0 +R: 4x diff --git a/ROMFS/px4fmu_common/mixers/claire.main.mix b/ROMFS/px4fmu_common/mixers/claire.main.mix index baad77d3f8..af84d3d8a1 100644 --- a/ROMFS/px4fmu_common/mixers/claire.main.mix +++ b/ROMFS/px4fmu_common/mixers/claire.main.mix @@ -4,4 +4,4 @@ #=========================== -R: 4x 10000 10000 10000 0 +R: 4x diff --git a/ROMFS/px4fmu_common/mixers/deltaquad.main.mix b/ROMFS/px4fmu_common/mixers/deltaquad.main.mix index 0b70432a80..bef989d92b 100644 --- a/ROMFS/px4fmu_common/mixers/deltaquad.main.mix +++ b/ROMFS/px4fmu_common/mixers/deltaquad.main.mix @@ -4,7 +4,7 @@ Quad motors 1 - 4 ------------- -R: 4x 10000 10000 10000 0 +R: 4x Elevon mixers diff --git a/ROMFS/px4fmu_common/mixers/dodeca_bottom_cox.aux.mix b/ROMFS/px4fmu_common/mixers/dodeca_bottom_cox.aux.mix index 4f86498d69..3bcbdbc823 100644 --- a/ROMFS/px4fmu_common/mixers/dodeca_bottom_cox.aux.mix +++ b/ROMFS/px4fmu_common/mixers/dodeca_bottom_cox.aux.mix @@ -1,3 +1,3 @@ # Dodeca Cox -R: 6a 10000 10000 10000 0 \ No newline at end of file +R: 6a diff --git a/ROMFS/px4fmu_common/mixers/dodeca_top_cox.main.mix b/ROMFS/px4fmu_common/mixers/dodeca_top_cox.main.mix index 97f136071d..b3049115e0 100644 --- a/ROMFS/px4fmu_common/mixers/dodeca_top_cox.main.mix +++ b/ROMFS/px4fmu_common/mixers/dodeca_top_cox.main.mix @@ -1,3 +1,3 @@ # Dodeca Cox -R: 6m 10000 10000 10000 0 \ No newline at end of file +R: 6m diff --git a/ROMFS/px4fmu_common/mixers/firefly6.main.mix b/ROMFS/px4fmu_common/mixers/firefly6.main.mix index 3e1d9d7a34..18f364390c 100644 --- a/ROMFS/px4fmu_common/mixers/firefly6.main.mix +++ b/ROMFS/px4fmu_common/mixers/firefly6.main.mix @@ -1,4 +1,4 @@ # FireFly6 mixer for PX4FMU # #=========================== -R: 6c 10000 10000 10000 0 +R: 6c diff --git a/ROMFS/px4fmu_common/mixers/hexa_+.main.mix b/ROMFS/px4fmu_common/mixers/hexa_+.main.mix index e608b459f8..599a3d3fa4 100644 --- a/ROMFS/px4fmu_common/mixers/hexa_+.main.mix +++ b/ROMFS/px4fmu_common/mixers/hexa_+.main.mix @@ -1,3 +1,3 @@ # Hexa + -R: 6+ 10000 10000 10000 0 +R: 6+ diff --git a/ROMFS/px4fmu_common/mixers/hexa_cox.main.mix b/ROMFS/px4fmu_common/mixers/hexa_cox.main.mix index 497786feb5..a8619d7c15 100644 --- a/ROMFS/px4fmu_common/mixers/hexa_cox.main.mix +++ b/ROMFS/px4fmu_common/mixers/hexa_cox.main.mix @@ -1,3 +1,3 @@ # Hexa coaxial -R: 6c 10000 10000 10000 0 +R: 6c diff --git a/ROMFS/px4fmu_common/mixers/hexa_x.main.mix b/ROMFS/px4fmu_common/mixers/hexa_x.main.mix index 0011fbcfb4..be6a25ca57 100644 --- a/ROMFS/px4fmu_common/mixers/hexa_x.main.mix +++ b/ROMFS/px4fmu_common/mixers/hexa_x.main.mix @@ -1,4 +1,4 @@ # Hexa X -R: 6x 10000 10000 10000 0 +R: 6x diff --git a/ROMFS/px4fmu_common/mixers/ocpoc_quad_x.main.mix b/ROMFS/px4fmu_common/mixers/ocpoc_quad_x.main.mix deleted file mode 100644 index 824b673970..0000000000 --- a/ROMFS/px4fmu_common/mixers/ocpoc_quad_x.main.mix +++ /dev/null @@ -1 +0,0 @@ -R: 4x 10000 10000 10000 1300 diff --git a/ROMFS/px4fmu_common/mixers/octo_+.main.mix b/ROMFS/px4fmu_common/mixers/octo_+.main.mix index 397e22086c..38f0becd4a 100644 --- a/ROMFS/px4fmu_common/mixers/octo_+.main.mix +++ b/ROMFS/px4fmu_common/mixers/octo_+.main.mix @@ -1,3 +1,3 @@ # Octo + -R: 8+ 10000 10000 10000 0 +R: 8+ diff --git a/ROMFS/px4fmu_common/mixers/octo_cox.main.mix b/ROMFS/px4fmu_common/mixers/octo_cox.main.mix index f7845450d3..a0c99aac58 100644 --- a/ROMFS/px4fmu_common/mixers/octo_cox.main.mix +++ b/ROMFS/px4fmu_common/mixers/octo_cox.main.mix @@ -1,3 +1,3 @@ # Octo coaxial -R: 8c 10000 10000 10000 0 +R: 8c diff --git a/ROMFS/px4fmu_common/mixers/octo_cox_w.main.mix b/ROMFS/px4fmu_common/mixers/octo_cox_w.main.mix index 03938ff42a..5c79dc6153 100644 --- a/ROMFS/px4fmu_common/mixers/octo_cox_w.main.mix +++ b/ROMFS/px4fmu_common/mixers/octo_cox_w.main.mix @@ -1,3 +1,3 @@ # Octo coaxial with wide arms -R: 8cw 10000 10000 10000 0 +R: 8cw diff --git a/ROMFS/px4fmu_common/mixers/octo_x.main.mix b/ROMFS/px4fmu_common/mixers/octo_x.main.mix index c9a348aa42..1be7209411 100644 --- a/ROMFS/px4fmu_common/mixers/octo_x.main.mix +++ b/ROMFS/px4fmu_common/mixers/octo_x.main.mix @@ -1,3 +1,3 @@ # Octo X -R: 8x 10000 10000 10000 0 +R: 8x diff --git a/ROMFS/px4fmu_common/mixers/quad_+.main.mix b/ROMFS/px4fmu_common/mixers/quad_+.main.mix index e21ce44c71..1708e12dc9 100644 --- a/ROMFS/px4fmu_common/mixers/quad_+.main.mix +++ b/ROMFS/px4fmu_common/mixers/quad_+.main.mix @@ -4,7 +4,7 @@ Multirotor mixer for PX4FMU This file defines a single mixer for a quadrotor in the + configuration. All controls are mixed 100%. -R: 4+ 10000 10000 10000 0 +R: 4+ Gimbal / payload mixer for last two channels ----------------------------------------------------- diff --git a/ROMFS/px4fmu_common/mixers/quad_+_vtol.main.mix b/ROMFS/px4fmu_common/mixers/quad_+_vtol.main.mix index 258b6af168..1fbcb550e9 100644 --- a/ROMFS/px4fmu_common/mixers/quad_+_vtol.main.mix +++ b/ROMFS/px4fmu_common/mixers/quad_+_vtol.main.mix @@ -4,7 +4,7 @@ Mixer for Tailsitter with + motor configuration and elevons This file defines a single mixer for tailsitter with motors in X configuration. All controls are mixed 100%. -R: 4+ 10000 10000 10000 0 +R: 4+ # mixer for the elevons M: 2 diff --git a/ROMFS/px4fmu_common/mixers/quad_dc.main.mix b/ROMFS/px4fmu_common/mixers/quad_dc.main.mix index 07b99c1e6b..09fc25e82a 100644 --- a/ROMFS/px4fmu_common/mixers/quad_dc.main.mix +++ b/ROMFS/px4fmu_common/mixers/quad_dc.main.mix @@ -3,4 +3,4 @@ Multirotor mixer This file defines a single mixer for a quadrotor in DC wide arms configuration. All controls are mixed 100%. -R: 4dc 10000 10000 10000 0 +R: 4dc diff --git a/ROMFS/px4fmu_common/mixers/quad_h.main.mix b/ROMFS/px4fmu_common/mixers/quad_h.main.mix index 8048b44317..ae65fa09aa 100644 --- a/ROMFS/px4fmu_common/mixers/quad_h.main.mix +++ b/ROMFS/px4fmu_common/mixers/quad_h.main.mix @@ -4,7 +4,7 @@ Multirotor mixer for PX4FMU This file defines a single mixer for a quadrotor in the H configuration. All controls are mixed 100%. -R: 4h 10000 10000 10000 0 +R: 4h Gimbal / payload mixer for last two channels ----------------------------------------------------- diff --git a/ROMFS/px4fmu_common/mixers/quad_s250aq.main.mix b/ROMFS/px4fmu_common/mixers/quad_s250aq.main.mix index 1fb38039dc..23a1b6c715 100644 --- a/ROMFS/px4fmu_common/mixers/quad_s250aq.main.mix +++ b/ROMFS/px4fmu_common/mixers/quad_s250aq.main.mix @@ -1,4 +1,4 @@ -R: 4s 10000 10000 10000 0 +R: 4s M: 1 S: 3 5 10000 10000 0 -10000 10000 M: 1 diff --git a/ROMFS/px4fmu_common/mixers/quad_w.main.mix b/ROMFS/px4fmu_common/mixers/quad_w.main.mix index 9ec4e6c8b9..0ab520b8b9 100644 --- a/ROMFS/px4fmu_common/mixers/quad_w.main.mix +++ b/ROMFS/px4fmu_common/mixers/quad_w.main.mix @@ -3,7 +3,7 @@ Multirotor mixer for PX4FMU This file defines a single mixer for a quadrotor with a wide configuration. All controls are mixed 100%. -R: 4w 10000 10000 10000 0 +R: 4w Gimbal / payload mixer for last two channels ----------------------------------------------------- diff --git a/ROMFS/px4fmu_common/mixers/quad_x.main.mix b/ROMFS/px4fmu_common/mixers/quad_x.main.mix index f274011c44..2c88761451 100644 --- a/ROMFS/px4fmu_common/mixers/quad_x.main.mix +++ b/ROMFS/px4fmu_common/mixers/quad_x.main.mix @@ -1,4 +1,4 @@ -R: 4x 10000 10000 10000 0 +R: 4x AUX1 Passthrough M: 1 diff --git a/ROMFS/px4fmu_common/mixers/quad_x_cw.main.mix b/ROMFS/px4fmu_common/mixers/quad_x_cw.main.mix index 6be498d18f..32bc010ba5 100644 --- a/ROMFS/px4fmu_common/mixers/quad_x_cw.main.mix +++ b/ROMFS/px4fmu_common/mixers/quad_x_cw.main.mix @@ -1,4 +1,4 @@ # @board px4_fmu-v2 exclude # Quad X with clock-wise motor assigment -R: 4xcw 10000 10000 10000 0 +R: 4xcw diff --git a/ROMFS/px4fmu_common/mixers/quad_x_vtol.main.mix b/ROMFS/px4fmu_common/mixers/quad_x_vtol.main.mix index 6dcbf83226..8705668f0a 100644 --- a/ROMFS/px4fmu_common/mixers/quad_x_vtol.main.mix +++ b/ROMFS/px4fmu_common/mixers/quad_x_vtol.main.mix @@ -4,7 +4,7 @@ Mixer for Tailsitter with x motor configuration and elevons This file defines a single mixer for tailsitter with motors in X configuration. All controls are mixed 100%. -R: 4x 10000 10000 10000 0 +R: 4x # left elevon M: 2 diff --git a/ROMFS/px4fmu_common/mixers/standard_vtol_hitl.main.mix b/ROMFS/px4fmu_common/mixers/standard_vtol_hitl.main.mix index 152353736c..a7ce6c991a 100644 --- a/ROMFS/px4fmu_common/mixers/standard_vtol_hitl.main.mix +++ b/ROMFS/px4fmu_common/mixers/standard_vtol_hitl.main.mix @@ -3,7 +3,7 @@ Mixer for Standard VTOL (QuadPlane) with motor x configuration (Gazebo HITL) # @board px4_fmu-v2 exclude -R: 4x 10000 10000 10000 0 +R: 4x # mixer for the pusher/puller throttle M: 1 diff --git a/ROMFS/px4fmu_common/mixers/tri_y_yaw+.main.mix b/ROMFS/px4fmu_common/mixers/tri_y_yaw+.main.mix index 0cbb082dac..891249c931 100644 --- a/ROMFS/px4fmu_common/mixers/tri_y_yaw+.main.mix +++ b/ROMFS/px4fmu_common/mixers/tri_y_yaw+.main.mix @@ -4,7 +4,7 @@ # Yaw Servo +Output ==> +Yaw Vehicle Rotation # Motors -R: 3y 10000 10000 10000 0 +R: 3y # Yaw Servo M: 1 diff --git a/ROMFS/px4fmu_common/mixers/tri_y_yaw-.main.mix b/ROMFS/px4fmu_common/mixers/tri_y_yaw-.main.mix index c2c7fad6a6..9e2b10ce39 100644 --- a/ROMFS/px4fmu_common/mixers/tri_y_yaw-.main.mix +++ b/ROMFS/px4fmu_common/mixers/tri_y_yaw-.main.mix @@ -4,7 +4,7 @@ # Yaw Servo +Output ==> -Yaw Vehicle Rotation # Motors -R: 3y 10000 10000 10000 0 +R: 3y # Yaw Servo M: 1 diff --git a/ROMFS/px4fmu_common/mixers/vtol_convergence.main.mix b/ROMFS/px4fmu_common/mixers/vtol_convergence.main.mix index db5e90e277..81c376a373 100644 --- a/ROMFS/px4fmu_common/mixers/vtol_convergence.main.mix +++ b/ROMFS/px4fmu_common/mixers/vtol_convergence.main.mix @@ -1,7 +1,7 @@ # E-flite Convergence Tricopter Y-Configuration Mixer # Motors -R: 3y 10000 10000 10000 0 +R: 3y Z: diff --git a/ROMFS/px4fmu_common/mixers/vtol_tailsitter_duo.main.mix b/ROMFS/px4fmu_common/mixers/vtol_tailsitter_duo.main.mix index 4f7cc2c86b..847bb085f9 100644 --- a/ROMFS/px4fmu_common/mixers/vtol_tailsitter_duo.main.mix +++ b/ROMFS/px4fmu_common/mixers/vtol_tailsitter_duo.main.mix @@ -13,7 +13,7 @@ Motor mixer Channel 1 connects to the right (starboard) motor. Channel 2 connects to the left (port) motor. -R: 2- 10000 10000 10000 0 +R: 2- Zero mixer (2x) --------------- diff --git a/ROMFS/px4fmu_common/mixers/zmr250.main.mix b/ROMFS/px4fmu_common/mixers/zmr250.main.mix deleted file mode 100644 index 80bebea24a..0000000000 --- a/ROMFS/px4fmu_common/mixers/zmr250.main.mix +++ /dev/null @@ -1,11 +0,0 @@ -# -# @board px4_fmu-v2 exclude -# -# R: -R: 4x 7654 10000 10000 0 - -M: 1 -S: 0 4 10000 10000 0 -10000 10000 - -M: 1 -S: 0 5 10000 10000 0 -10000 10000 diff --git a/ROMFS/px4fmu_test/mixers/hexa_x.main.mix b/ROMFS/px4fmu_test/mixers/hexa_x.main.mix index 0011fbcfb4..be6a25ca57 100644 --- a/ROMFS/px4fmu_test/mixers/hexa_x.main.mix +++ b/ROMFS/px4fmu_test/mixers/hexa_x.main.mix @@ -1,4 +1,4 @@ # Hexa X -R: 6x 10000 10000 10000 0 +R: 6x diff --git a/ROMFS/px4fmu_test/mixers/octo_x.main.mix b/ROMFS/px4fmu_test/mixers/octo_x.main.mix index c9a348aa42..1be7209411 100644 --- a/ROMFS/px4fmu_test/mixers/octo_x.main.mix +++ b/ROMFS/px4fmu_test/mixers/octo_x.main.mix @@ -1,3 +1,3 @@ # Octo X -R: 8x 10000 10000 10000 0 +R: 8x diff --git a/ROMFS/px4fmu_test/mixers/quad_+.main.mix b/ROMFS/px4fmu_test/mixers/quad_+.main.mix index 0c582e8772..c45a501961 100644 --- a/ROMFS/px4fmu_test/mixers/quad_+.main.mix +++ b/ROMFS/px4fmu_test/mixers/quad_+.main.mix @@ -4,7 +4,7 @@ Multirotor mixer for PX4FMU This file defines a single mixer for a quadrotor in the + configuration. All controls are mixed 100%. -R: 4+ 10000 10000 10000 0 +R: 4+ Gimbal / payload mixer for last two channels ----------------------------------------------------- diff --git a/ROMFS/px4fmu_test/mixers/quad_+_vtol.main.mix b/ROMFS/px4fmu_test/mixers/quad_+_vtol.main.mix index 3021221d80..8ab9a9fb91 100644 --- a/ROMFS/px4fmu_test/mixers/quad_+_vtol.main.mix +++ b/ROMFS/px4fmu_test/mixers/quad_+_vtol.main.mix @@ -4,7 +4,7 @@ Mixer for Tailsitter with + motor configuration and elevons This file defines a single mixer for tailsitter with motors in X configuration. All controls are mixed 100%. -R: 4+ 10000 10000 10000 0 +R: 4+ # mixer for the elevons M: 2 diff --git a/ROMFS/px4fmu_test/mixers/quad_test.mix b/ROMFS/px4fmu_test/mixers/quad_test.mix index a4876bea21..d3ed8a3479 100644 --- a/ROMFS/px4fmu_test/mixers/quad_test.mix +++ b/ROMFS/px4fmu_test/mixers/quad_test.mix @@ -3,7 +3,7 @@ Multirotor mixer for TEST This file defines a single mixer for a quadrotor with a wide configuration. All controls are mixed 100%. -R: 4w 10000 10000 10000 0 +R: 4w Gimbal / payload mixer for last four channels ----------------------------------------------------- diff --git a/ROMFS/px4fmu_test/mixers/quad_x.main.mix b/ROMFS/px4fmu_test/mixers/quad_x.main.mix index bf034e7c1f..85b9927002 100644 --- a/ROMFS/px4fmu_test/mixers/quad_x.main.mix +++ b/ROMFS/px4fmu_test/mixers/quad_x.main.mix @@ -1,4 +1,4 @@ -R: 4x 10000 10000 10000 0 +R: 4x M: 1 O: 10000 10000 0 -10000 10000 S: 3 5 10000 10000 0 -10000 10000 diff --git a/ROMFS/px4fmu_test/mixers/vtol1_test.mix b/ROMFS/px4fmu_test/mixers/vtol1_test.mix index d9ac703797..9df14777be 100644 --- a/ROMFS/px4fmu_test/mixers/vtol1_test.mix +++ b/ROMFS/px4fmu_test/mixers/vtol1_test.mix @@ -1,6 +1,6 @@ # VTOL test mixer -R: 2- 10000 10000 10000 0 +R: 2- Z: M: 2 O: 10000 10000 0 -10000 10000 diff --git a/ROMFS/px4fmu_test/mixers/vtol2_test.mix b/ROMFS/px4fmu_test/mixers/vtol2_test.mix index be2322d7e8..d49070f5b9 100644 --- a/ROMFS/px4fmu_test/mixers/vtol2_test.mix +++ b/ROMFS/px4fmu_test/mixers/vtol2_test.mix @@ -1,7 +1,7 @@ # E-flite Convergence Tricopter Y-Configuration Mixer # Motors -R: 3y 10000 10000 10000 0 +R: 3y Z: diff --git a/ROMFS/px4fmu_test/mixers/vtol_convergence.main.mix b/ROMFS/px4fmu_test/mixers/vtol_convergence.main.mix index 38afd90189..a2d8a90621 100644 --- a/ROMFS/px4fmu_test/mixers/vtol_convergence.main.mix +++ b/ROMFS/px4fmu_test/mixers/vtol_convergence.main.mix @@ -1,7 +1,7 @@ # E-flite Convergence Tricopter Y-Configuration Mixer # Motors -R: 3y 10000 10000 10000 0 +R: 3y Z: diff --git a/posix-configs/ocpoc/px4.config b/posix-configs/ocpoc/px4.config index b26e6b2ea9..3228ab28f3 100644 --- a/posix-configs/ocpoc/px4.config +++ b/posix-configs/ocpoc/px4.config @@ -46,6 +46,6 @@ mavlink stream -d /dev/ttyPS1 -s ATTITUDE -r 50 rc_input start -d /dev/ttyS2 -linux_pwm_out start -p ocpoc_mmap -m ROMFS/px4fmu_common/mixers/ocpoc_quad_x.main.mix +linux_pwm_out start -p ocpoc_mmap -m ROMFS/px4fmu_common/mixers/quad_x.main.mix logger start -t -b 200 mavlink boot_complete diff --git a/src/lib/mixer/MultirotorMixer/MultirotorMixer.cpp b/src/lib/mixer/MultirotorMixer/MultirotorMixer.cpp index 5c8dcbc12d..a2a08e900e 100644 --- a/src/lib/mixer/MultirotorMixer/MultirotorMixer.cpp +++ b/src/lib/mixer/MultirotorMixer/MultirotorMixer.cpp @@ -79,14 +79,9 @@ const char *_config_key[] = {"4x"}; //#include //#define debug(fmt, args...) syslog(fmt "\n", ##args) -MultirotorMixer::MultirotorMixer(ControlCallback control_cb, uintptr_t cb_handle, MultirotorGeometry geometry, - float roll_scale, float pitch_scale, float yaw_scale, float idle_speed) : +MultirotorMixer::MultirotorMixer(ControlCallback control_cb, uintptr_t cb_handle, MultirotorGeometry geometry) : MultirotorMixer(control_cb, cb_handle, _config_index[(int)geometry], _config_rotor_count[(int)geometry]) { - _roll_scale = roll_scale; - _pitch_scale = pitch_scale; - _yaw_scale = yaw_scale; - _idle_speed = -1.0f + idle_speed * 2.0f; /* shift to output range here to avoid runtime calculation */ } MultirotorMixer::MultirotorMixer(ControlCallback control_cb, uintptr_t cb_handle, const Rotor *rotors, @@ -98,7 +93,7 @@ MultirotorMixer::MultirotorMixer(ControlCallback control_cb, uintptr_t cb_handle _tmp_array(new float[_rotor_count]) { for (unsigned i = 0; i < _rotor_count; ++i) { - _outputs_prev[i] = _idle_speed; + _outputs_prev[i] = 0.f; } } @@ -113,24 +108,17 @@ MultirotorMixer::from_text(Mixer::ControlCallback control_cb, uintptr_t cb_handl { MultirotorGeometry geometry = MultirotorGeometry::MAX_GEOMETRY; char geomname[16]; - int s[4]; - int used; /* enforce that the mixer ends with a new line */ if (!string_well_formed(buf, buflen)) { return nullptr; } - if (sscanf(buf, "R: %15s %d %d %d %d%n", geomname, &s[0], &s[1], &s[2], &s[3], &used) != 5) { + if (sscanf(buf, "R: %15s", geomname) != 1) { debug("multirotor parse failed on '%s'", buf); return nullptr; } - if (used > (int)buflen) { - debug("OVERFLOW: multirotor spec used %d of %u", used, buflen); - return nullptr; - } - buf = skipline(buf, buflen); if (buf == nullptr) { @@ -155,14 +143,7 @@ MultirotorMixer::from_text(Mixer::ControlCallback control_cb, uintptr_t cb_handl debug("adding multirotor mixer '%s'", geomname); - return new MultirotorMixer( - control_cb, - cb_handle, - geometry, - s[0] / 10000.0f, - s[1] / 10000.0f, - s[2] / 10000.0f, - s[3] / 10000.0f); + return new MultirotorMixer(control_cb, cb_handle, geometry); } float @@ -339,9 +320,9 @@ MultirotorMixer::mix(float *outputs, unsigned space) return 0; } - float roll = math::constrain(get_control(0, 0) * _roll_scale, -1.0f, 1.0f); - float pitch = math::constrain(get_control(0, 1) * _pitch_scale, -1.0f, 1.0f); - float yaw = math::constrain(get_control(0, 2) * _yaw_scale, -1.0f, 1.0f); + float roll = math::constrain(get_control(0, 0), -1.0f, 1.0f); + float pitch = math::constrain(get_control(0, 1), -1.0f, 1.0f); + float yaw = math::constrain(get_control(0, 2), -1.0f, 1.0f); float thrust = math::constrain(get_control(0, 3), 0.0f, 1.0f); // clean out class variable used to capture saturation @@ -375,7 +356,7 @@ MultirotorMixer::mix(float *outputs, unsigned space) _thrust_factor)); } - outputs[i] = math::constrain(_idle_speed + (outputs[i] * (1.0f - _idle_speed)), _idle_speed, 1.0f); + outputs[i] = math::constrain(outputs[i], 0.f, 1.f); } // Slew rate limiting and saturation checking @@ -389,7 +370,7 @@ MultirotorMixer::mix(float *outputs, unsigned space) // clipping if airmode==roll/pitch), since in all other cases thrust will // be reduced or boosted and we can keep the integrators enabled, which // leads to better tracking performance. - if (outputs[i] < _idle_speed + 0.01f) { + if (outputs[i] < 0.01f) { if (_airmode == Airmode::disabled) { clipping_low_roll_pitch = true; clipping_low_yaw = true; diff --git a/src/lib/mixer/MultirotorMixer/MultirotorMixer.hpp b/src/lib/mixer/MultirotorMixer/MultirotorMixer.hpp index 456e863244..d8e7363417 100644 --- a/src/lib/mixer/MultirotorMixer/MultirotorMixer.hpp +++ b/src/lib/mixer/MultirotorMixer/MultirotorMixer.hpp @@ -79,8 +79,7 @@ public: * tuned to ensure that rotors never stall at the * low end of their control range. */ - MultirotorMixer(ControlCallback control_cb, uintptr_t cb_handle, MultirotorGeometry geometry, - float roll_scale, float pitch_scale, float yaw_scale, float idle_speed); + MultirotorMixer(ControlCallback control_cb, uintptr_t cb_handle, MultirotorGeometry geometry); /** * Constructor (for testing). @@ -241,10 +240,6 @@ private: void update_saturation_status(unsigned index, bool clipping_high, bool clipping_low_roll_pitch, bool clipping_low_yaw); - float _roll_scale{1.0f}; - float _pitch_scale{1.0f}; - float _yaw_scale{1.0f}; - float _idle_speed{0.0f}; float _delta_out_max{0.0f}; float _thrust_factor{0.0f};