From cac9c51ac87741e214df55747ec445d00fe8fd9f Mon Sep 17 00:00:00 2001 From: Daniel Agar Date: Wed, 24 Aug 2022 14:44:17 -0400 Subject: [PATCH] ROMFS: purge old mixing system - SYS_USE_IO is now off by default (enabled by default per board) --- .gitattributes | 1 - Makefile | 1 + ROMFS/px4fmu_common/CMakeLists.txt | 1 - .../init.d-posix/airframes/4001_x500 | 2 - ROMFS/px4fmu_common/init.d-posix/rcS | 20 +- ROMFS/px4fmu_common/init.d/CMakeLists.txt | 1 - .../init.d/airframes/4041_beta75x | 2 - ROMFS/px4fmu_common/init.d/rc.airship_apps | 11 +- .../px4fmu_common/init.d/rc.airship_defaults | 6 - ROMFS/px4fmu_common/init.d/rc.autostart_ext | 1 - ROMFS/px4fmu_common/init.d/rc.boat_defaults | 19 -- ROMFS/px4fmu_common/init.d/rc.fw_apps | 11 +- ROMFS/px4fmu_common/init.d/rc.fw_defaults | 8 - ROMFS/px4fmu_common/init.d/rc.interface | 284 ------------------ ROMFS/px4fmu_common/init.d/rc.mc_apps | 11 +- ROMFS/px4fmu_common/init.d/rc.mc_defaults | 11 - ROMFS/px4fmu_common/init.d/rc.rover_apps | 11 +- ROMFS/px4fmu_common/init.d/rc.rover_defaults | 19 -- ROMFS/px4fmu_common/init.d/rc.uuv_apps | 11 +- ROMFS/px4fmu_common/init.d/rc.uuv_defaults | 17 -- ROMFS/px4fmu_common/init.d/rc.vehicle_setup | 48 --- ROMFS/px4fmu_common/init.d/rc.vtol_apps | 11 +- ROMFS/px4fmu_common/init.d/rcS | 93 ++---- ROMFS/px4fmu_common/mixers/AAERTWF.main.mix | 88 ------ ROMFS/px4fmu_common/mixers/AAVVTWFF.main.mix | 77 ----- .../mixers/AAVVTWFF_vtail.main.mix | 71 ----- ROMFS/px4fmu_common/mixers/AERT.main.mix | 77 ----- ROMFS/px4fmu_common/mixers/AETRFG.main.mix | 77 ----- ROMFS/px4fmu_common/mixers/CCPM.main.mix | 49 --- ROMFS/px4fmu_common/mixers/CMakeLists.txt | 80 ----- ROMFS/px4fmu_common/mixers/IO_pass.main.mix | 31 -- ROMFS/px4fmu_common/mixers/cloudship.main.mix | 49 --- ROMFS/px4fmu_common/mixers/coax.main.mix | 30 -- .../mixers/dodeca_bottom_cox.aux.mix | 4 - .../mixers/dodeca_top_cox.main.mix | 4 - .../mixers/fw_generic_wing.main.mix | 47 --- .../mixers/generic_diff_rover.main.mix | 26 -- ROMFS/px4fmu_common/mixers/hexa_+.main.mix | 4 - ROMFS/px4fmu_common/mixers/hexa_cox.main.mix | 4 - ROMFS/px4fmu_common/mixers/hexa_x.main.mix | 5 - ROMFS/px4fmu_common/mixers/mount.aux.mix | 20 -- ROMFS/px4fmu_common/mixers/mount_legs.aux.mix | 23 -- ROMFS/px4fmu_common/mixers/octo_+.main.mix | 4 - ROMFS/px4fmu_common/mixers/octo_cox.main.mix | 4 - .../px4fmu_common/mixers/octo_cox_w.main.mix | 4 - ROMFS/px4fmu_common/mixers/octo_x.main.mix | 4 - ROMFS/px4fmu_common/mixers/pass.aux.mix | 18 -- ROMFS/px4fmu_common/mixers/quad_+.main.mix | 17 -- .../px4fmu_common/mixers/quad_+_vtol.main.mix | 25 -- ROMFS/px4fmu_common/mixers/quad_dc.main.mix | 7 - ROMFS/px4fmu_common/mixers/quad_h.main.mix | 17 -- ROMFS/px4fmu_common/mixers/quad_w.main.mix | 16 - ROMFS/px4fmu_common/mixers/quad_x.main.mix | 17 -- ROMFS/px4fmu_common/mixers/quad_x_cw.main.mix | 4 - .../px4fmu_common/mixers/quad_x_vtol.main.mix | 19 -- .../mixers/quad_x_vtol_AAERT.main.mix | 30 -- .../mixers/rover_diff_and_servo.main.mix | 41 --- .../mixers/rover_generic.main.mix | 38 --- .../mixers/standard_vtol_hitl.main.mix | 22 -- ROMFS/px4fmu_common/mixers/tilt_quad.aux.mix | 33 -- ROMFS/px4fmu_common/mixers/tilt_quad.main.mix | 35 --- .../px4fmu_common/mixers/tri_y_yaw+.main.mix | 12 - .../px4fmu_common/mixers/tri_y_yaw-.main.mix | 13 - ROMFS/px4fmu_common/mixers/vtol_AAERT.aux.mix | 29 -- ROMFS/px4fmu_common/mixers/vtol_AAVVT.aux.mix | 56 ---- .../mixers/vtol_TTTTAAER.aux.mix | 41 --- ROMFS/px4fmu_common/mixers/vtol_delta.aux.mix | 52 ---- .../mixers/vtol_tailsitter_duo.main.mix | 38 --- .../mixers/vtol_tailsitter_duo_sat.main.mix | 40 --- ROMFS/px4fmu_test/CMakeLists.txt | 1 - ROMFS/px4fmu_test/mixers/AAERTWF.main.mix | 96 ------ ROMFS/px4fmu_test/mixers/AAVVTWFF.main.mix | 84 ------ ROMFS/px4fmu_test/mixers/AERT.main.mix | 81 ----- ROMFS/px4fmu_test/mixers/AETRFG.main.mix | 81 ----- ROMFS/px4fmu_test/mixers/CMakeLists.txt | 53 ---- ROMFS/px4fmu_test/mixers/IO_pass.mix | 38 --- ROMFS/px4fmu_test/mixers/complex_test.mix | 27 -- ROMFS/px4fmu_test/mixers/hexa_x.main.mix | 4 - ROMFS/px4fmu_test/mixers/octo_x.main.mix | 3 - ROMFS/px4fmu_test/mixers/pass.aux.mix | 21 -- ROMFS/px4fmu_test/mixers/quad_+.main.mix | 18 -- ROMFS/px4fmu_test/mixers/quad_+_vtol.main.mix | 28 -- ROMFS/px4fmu_test/mixers/quad_test.mix | 25 -- ROMFS/px4fmu_test/mixers/quad_x.main.mix | 7 - .../px4fmu_test/mixers/rover_generic.main.mix | 37 --- ROMFS/px4fmu_test/mixers/vtol1_test.mix | 12 - ROMFS/px4fmu_test/mixers/vtol2_test.mix | 32 -- ROMFS/px4fmu_test/mixers/vtol_AAERT.aux.mix | 32 -- ROMFS/px4fmu_test/mixers/vtol_AAVVT.aux.mix | 59 ---- .../mixers/vtol_convergence.main.mix | 32 -- Tools/px_romfs_pruner.py | 16 +- Tools/run-shellcheck.sh | 2 +- .../cubeorange/init/rc.board_defaults | 2 + .../cubeyellow/init/rc.board_defaults | 2 + .../durandal-v1/init/rc.board_defaults | 2 + boards/holybro/pix32v5/init/rc.board_defaults | 2 + boards/mro/x21-777/init/rc.board_defaults | 2 + boards/mro/x21/extras/px4_io-v2_default.bin | Bin 0 -> 39924 bytes boards/mro/x21/init/rc.board_defaults | 2 + boards/px4/fmu-v2/init/rc.board_defaults | 1 + boards/px4/fmu-v3/init/rc.board_defaults | 1 + boards/px4/fmu-v4pro/init/rc.board_defaults | 2 + boards/px4/fmu-v5/init/rc.board_defaults | 7 + boards/px4/fmu-v5x/init/rc.board_defaults | 2 + boards/px4/fmu-v6c/init/rc.board_defaults | 2 + boards/px4/fmu-v6x/init/rc.board_defaults | 2 + .../smartap-airlink/init/rc.board_defaults | 1 + .../spracing/h7extreme/init/rc.board_defaults | 2 - posix-configs/SITL/init/test/test_shutdown | 2 +- posix-configs/bbblue/px4.config | 2 +- posix-configs/bbblue/px4_fw.config | 2 +- posix-configs/rpi/pilotpi_fw.config | 2 +- posix-configs/rpi/pilotpi_mc.config | 2 +- posix-configs/rpi/px4.config | 2 +- posix-configs/rpi/px4_fw.config | 2 +- posix-configs/rpi/px4_hil.config | 2 +- posix-configs/rpi/px4_test.config | 2 +- src/drivers/dshot/DShot.cpp | 35 --- src/drivers/dshot/DShot.h | 1 - src/drivers/dshot/module.yaml | 18 -- src/drivers/px4io/px4io_params.c | 2 +- 121 files changed, 100 insertions(+), 2797 deletions(-) delete mode 100644 ROMFS/px4fmu_common/init.d/rc.interface delete mode 100644 ROMFS/px4fmu_common/mixers/AAERTWF.main.mix delete mode 100644 ROMFS/px4fmu_common/mixers/AAVVTWFF.main.mix delete mode 100644 ROMFS/px4fmu_common/mixers/AAVVTWFF_vtail.main.mix delete mode 100644 ROMFS/px4fmu_common/mixers/AERT.main.mix delete mode 100644 ROMFS/px4fmu_common/mixers/AETRFG.main.mix delete mode 100644 ROMFS/px4fmu_common/mixers/CCPM.main.mix delete mode 100644 ROMFS/px4fmu_common/mixers/CMakeLists.txt delete mode 100644 ROMFS/px4fmu_common/mixers/IO_pass.main.mix delete mode 100644 ROMFS/px4fmu_common/mixers/cloudship.main.mix delete mode 100644 ROMFS/px4fmu_common/mixers/coax.main.mix delete mode 100644 ROMFS/px4fmu_common/mixers/dodeca_bottom_cox.aux.mix delete mode 100644 ROMFS/px4fmu_common/mixers/dodeca_top_cox.main.mix delete mode 100644 ROMFS/px4fmu_common/mixers/fw_generic_wing.main.mix delete mode 100644 ROMFS/px4fmu_common/mixers/generic_diff_rover.main.mix delete mode 100644 ROMFS/px4fmu_common/mixers/hexa_+.main.mix delete mode 100644 ROMFS/px4fmu_common/mixers/hexa_cox.main.mix delete mode 100644 ROMFS/px4fmu_common/mixers/hexa_x.main.mix delete mode 100644 ROMFS/px4fmu_common/mixers/mount.aux.mix delete mode 100644 ROMFS/px4fmu_common/mixers/mount_legs.aux.mix delete mode 100644 ROMFS/px4fmu_common/mixers/octo_+.main.mix delete mode 100644 ROMFS/px4fmu_common/mixers/octo_cox.main.mix delete mode 100644 ROMFS/px4fmu_common/mixers/octo_cox_w.main.mix delete mode 100644 ROMFS/px4fmu_common/mixers/octo_x.main.mix delete mode 100644 ROMFS/px4fmu_common/mixers/pass.aux.mix delete mode 100644 ROMFS/px4fmu_common/mixers/quad_+.main.mix delete mode 100644 ROMFS/px4fmu_common/mixers/quad_+_vtol.main.mix delete mode 100644 ROMFS/px4fmu_common/mixers/quad_dc.main.mix delete mode 100644 ROMFS/px4fmu_common/mixers/quad_h.main.mix delete mode 100644 ROMFS/px4fmu_common/mixers/quad_w.main.mix delete mode 100644 ROMFS/px4fmu_common/mixers/quad_x.main.mix delete mode 100644 ROMFS/px4fmu_common/mixers/quad_x_cw.main.mix delete mode 100644 ROMFS/px4fmu_common/mixers/quad_x_vtol.main.mix delete mode 100644 ROMFS/px4fmu_common/mixers/quad_x_vtol_AAERT.main.mix delete mode 100644 ROMFS/px4fmu_common/mixers/rover_diff_and_servo.main.mix delete mode 100644 ROMFS/px4fmu_common/mixers/rover_generic.main.mix delete mode 100644 ROMFS/px4fmu_common/mixers/standard_vtol_hitl.main.mix delete mode 100644 ROMFS/px4fmu_common/mixers/tilt_quad.aux.mix delete mode 100644 ROMFS/px4fmu_common/mixers/tilt_quad.main.mix delete mode 100644 ROMFS/px4fmu_common/mixers/tri_y_yaw+.main.mix delete mode 100644 ROMFS/px4fmu_common/mixers/tri_y_yaw-.main.mix delete mode 100644 ROMFS/px4fmu_common/mixers/vtol_AAERT.aux.mix delete mode 100644 ROMFS/px4fmu_common/mixers/vtol_AAVVT.aux.mix delete mode 100644 ROMFS/px4fmu_common/mixers/vtol_TTTTAAER.aux.mix delete mode 100644 ROMFS/px4fmu_common/mixers/vtol_delta.aux.mix delete mode 100644 ROMFS/px4fmu_common/mixers/vtol_tailsitter_duo.main.mix delete mode 100644 ROMFS/px4fmu_common/mixers/vtol_tailsitter_duo_sat.main.mix delete mode 100644 ROMFS/px4fmu_test/mixers/AAERTWF.main.mix delete mode 100644 ROMFS/px4fmu_test/mixers/AAVVTWFF.main.mix delete mode 100644 ROMFS/px4fmu_test/mixers/AERT.main.mix delete mode 100644 ROMFS/px4fmu_test/mixers/AETRFG.main.mix delete mode 100644 ROMFS/px4fmu_test/mixers/CMakeLists.txt delete mode 100644 ROMFS/px4fmu_test/mixers/IO_pass.mix delete mode 100644 ROMFS/px4fmu_test/mixers/complex_test.mix delete mode 100644 ROMFS/px4fmu_test/mixers/hexa_x.main.mix delete mode 100644 ROMFS/px4fmu_test/mixers/octo_x.main.mix delete mode 100644 ROMFS/px4fmu_test/mixers/pass.aux.mix delete mode 100644 ROMFS/px4fmu_test/mixers/quad_+.main.mix delete mode 100644 ROMFS/px4fmu_test/mixers/quad_+_vtol.main.mix delete mode 100644 ROMFS/px4fmu_test/mixers/quad_test.mix delete mode 100644 ROMFS/px4fmu_test/mixers/quad_x.main.mix delete mode 100644 ROMFS/px4fmu_test/mixers/rover_generic.main.mix delete mode 100644 ROMFS/px4fmu_test/mixers/vtol1_test.mix delete mode 100644 ROMFS/px4fmu_test/mixers/vtol2_test.mix delete mode 100644 ROMFS/px4fmu_test/mixers/vtol_AAERT.aux.mix delete mode 100644 ROMFS/px4fmu_test/mixers/vtol_AAVVT.aux.mix delete mode 100644 ROMFS/px4fmu_test/mixers/vtol_convergence.main.mix create mode 100755 boards/mro/x21/extras/px4_io-v2_default.bin diff --git a/.gitattributes b/.gitattributes index 353fdfa9b6..d5ff4edd8a 100644 --- a/.gitattributes +++ b/.gitattributes @@ -21,7 +21,6 @@ # PX4 mixers, msgs, etc *.bin binary -*.mix text eol=lf *.msg text eol=lf *.config text eol=lf *.sdf text eol=lf diff --git a/Makefile b/Makefile index 007d56c2ff..5d5943dde7 100644 --- a/Makefile +++ b/Makefile @@ -322,6 +322,7 @@ px4io_update: # px4_io-v2_default cp build/px4_io-v2_default/px4_io-v2_default.bin boards/holybro/durandal-v1/extras/px4_io-v2_default.bin cp build/px4_io-v2_default/px4_io-v2_default.bin boards/holybro/pix32v5/extras/px4_io-v2_default.bin + cp build/px4_io-v2_default/px4_io-v2_default.bin boards/mro/x21/extras/px4_io-v2_default.bin cp build/px4_io-v2_default/px4_io-v2_default.bin boards/mro/x21-777/extras/px4_io-v2_default.bin cp build/px4_io-v2_default/px4_io-v2_default.bin boards/px4/fmu-v2/extras/px4_io-v2_default.bin cp build/px4_io-v2_default/px4_io-v2_default.bin boards/px4/fmu-v3/extras/px4_io-v2_default.bin diff --git a/ROMFS/px4fmu_common/CMakeLists.txt b/ROMFS/px4fmu_common/CMakeLists.txt index 235b6c9ae9..281e5a87a0 100644 --- a/ROMFS/px4fmu_common/CMakeLists.txt +++ b/ROMFS/px4fmu_common/CMakeLists.txt @@ -32,7 +32,6 @@ ############################################################################ add_subdirectory(init.d) -add_subdirectory(mixers) # TODO: make this configurable from the board config, or better combine if("${PX4_BOARD}" MATCHES "sitl") add_subdirectory(init.d-posix) diff --git a/ROMFS/px4fmu_common/init.d-posix/airframes/4001_x500 b/ROMFS/px4fmu_common/init.d-posix/airframes/4001_x500 index d58561cb2d..e7d33ca535 100644 --- a/ROMFS/px4fmu_common/init.d-posix/airframes/4001_x500 +++ b/ROMFS/px4fmu_common/init.d-posix/airframes/4001_x500 @@ -11,8 +11,6 @@ PX4_SIMULATOR=${PX4_SIMULATOR:=ignition} PX4_SIM_MODEL=${PX4_SIM_MODEL:=x500} PX4_SIM_WORLD=${PX4_SIM_WORLD:=default} -param set-default SYS_CTRL_ALLOC 1 - param set-default CA_AIRFRAME 0 param set-default CA_ROTOR_COUNT 4 diff --git a/ROMFS/px4fmu_common/init.d-posix/rcS b/ROMFS/px4fmu_common/init.d-posix/rcS index e57de6f01f..d800a298e4 100644 --- a/ROMFS/px4fmu_common/init.d-posix/rcS +++ b/ROMFS/px4fmu_common/init.d-posix/rcS @@ -23,16 +23,6 @@ then fi # initialize script variables -set IO_PRESENT no -set MIXER skip -set MIXER_AUX none -set MIXER_FILE none -set OUTPUT_MODE sim -set EXTRA_MIXER_MODE none -set PWM_OUT none -set PWM_AUX_OUT none -set SDCARD_MIXERS_PATH etc/mixers -set USE_IO no set VEHICLE_TYPE none set LOGGER_ARGS "" set LOGGER_BUF 1000 @@ -227,10 +217,14 @@ manual_control start sensors start commander start -# Configure vehicle type specific parameters. -# Note: rc.vehicle_setup is the entry point for rc.interface, -# rc.fw_apps, rc.mc_apps, rc.rover_apps, and rc.vtol_apps. +if ! pwm_out_sim start -m sim +then + tune_control play error +fi + # +# Configure vehicle type specific parameters. +# Note: rc.vehicle_setup is the entry point for all vehicle type specific setup. . ${R}etc/init.d/rc.vehicle_setup navigator start diff --git a/ROMFS/px4fmu_common/init.d/CMakeLists.txt b/ROMFS/px4fmu_common/init.d/CMakeLists.txt index 81f99fcb65..05ec84d3ef 100644 --- a/ROMFS/px4fmu_common/init.d/CMakeLists.txt +++ b/ROMFS/px4fmu_common/init.d/CMakeLists.txt @@ -42,7 +42,6 @@ px4_add_romfs_files( rc.fw_apps rc.fw_defaults rc.heli_defaults - rc.interface rc.logging rc.mc_apps rc.mc_defaults diff --git a/ROMFS/px4fmu_common/init.d/airframes/4041_beta75x b/ROMFS/px4fmu_common/init.d/airframes/4041_beta75x index 69aac5a526..84f0755985 100644 --- a/ROMFS/px4fmu_common/init.d/airframes/4041_beta75x +++ b/ROMFS/px4fmu_common/init.d/airframes/4041_beta75x @@ -42,8 +42,6 @@ param set-default MC_YAW_P 4 param set-default MPC_MANTHR_MIN 0 param set-default MPC_MAN_TILT_MAX 60 -param set-default DSHOT_CONFIG 600 - param set-default SYS_HAS_BARO 0 param set-default SYS_HAS_MAG 0 diff --git a/ROMFS/px4fmu_common/init.d/rc.airship_apps b/ROMFS/px4fmu_common/init.d/rc.airship_apps index 4031bd4f71..837a3a2161 100644 --- a/ROMFS/px4fmu_common/init.d/rc.airship_apps +++ b/ROMFS/px4fmu_common/init.d/rc.airship_apps @@ -48,13 +48,10 @@ fi # End Estimator Group Selection # ############################################################################### -if param compare SYS_CTRL_ALLOC 1 -then - # - # Start Control Allocator - # - control_allocator start -fi +# +# Start Control Allocator +# +control_allocator start # # Start Airship Attitude Controller. diff --git a/ROMFS/px4fmu_common/init.d/rc.airship_defaults b/ROMFS/px4fmu_common/init.d/rc.airship_defaults index 8c51643915..2b25850467 100644 --- a/ROMFS/px4fmu_common/init.d/rc.airship_defaults +++ b/ROMFS/px4fmu_common/init.d/rc.airship_defaults @@ -9,9 +9,3 @@ set VEHICLE_TYPE airship # MAV_TYPE_AIRSHIP 7 param set-default MAV_TYPE 7 - -# -# This is the gimbal pass mixer. -# -set MIXER_AUX pass -set PWM_AUX_OUT 1234 diff --git a/ROMFS/px4fmu_common/init.d/rc.autostart_ext b/ROMFS/px4fmu_common/init.d/rc.autostart_ext index 7f7916c7f9..4291a3db37 100644 --- a/ROMFS/px4fmu_common/init.d/rc.autostart_ext +++ b/ROMFS/px4fmu_common/init.d/rc.autostart_ext @@ -2,7 +2,6 @@ # # External airframe startup script (on SD card) # -set SDCARD_MIXERS_PATH ${SDCARD_EXT_PATH}/mixers if [ -e ${SDCARD_EXT_PATH}/rc.autostart ] then diff --git a/ROMFS/px4fmu_common/init.d/rc.boat_defaults b/ROMFS/px4fmu_common/init.d/rc.boat_defaults index a281b8395e..93c8820883 100644 --- a/ROMFS/px4fmu_common/init.d/rc.boat_defaults +++ b/ROMFS/px4fmu_common/init.d/rc.boat_defaults @@ -20,22 +20,3 @@ param set-default NAV_ACC_RAD 2 # Temporary. param set-default NAV_FW_ALT_RAD 1000 - -# -# Enable servo output on pins 3 and 4 (steering and thrust) -# but also include 1+2 as they form together one output group -# and need to be set together. -# -set PWM_OUT 1234 - -# -# PWM Hz - 50 Hz is the normal rate in RC cars, higher rates -# may damage analog servos. -# -set PWM_MAIN_RATE 50 - -# -# This is the gimbal pass mixer. -# -set MIXER_AUX pass -set PWM_AUX_OUT 1234 diff --git a/ROMFS/px4fmu_common/init.d/rc.fw_apps b/ROMFS/px4fmu_common/init.d/rc.fw_apps index acc0fb27c5..2e2550884a 100644 --- a/ROMFS/px4fmu_common/init.d/rc.fw_apps +++ b/ROMFS/px4fmu_common/init.d/rc.fw_apps @@ -10,13 +10,10 @@ # ekf2 start & -if param compare SYS_CTRL_ALLOC 1 -then - # - # Start Control Allocator - # - control_allocator start -fi +# +# Start Control Allocator +# +control_allocator start # # Start attitude controller. diff --git a/ROMFS/px4fmu_common/init.d/rc.fw_defaults b/ROMFS/px4fmu_common/init.d/rc.fw_defaults index 6cae25306e..6f5d9cdf6a 100644 --- a/ROMFS/px4fmu_common/init.d/rc.fw_defaults +++ b/ROMFS/px4fmu_common/init.d/rc.fw_defaults @@ -52,11 +52,3 @@ param set-default PWM_MAIN_RATE 50 # FW takeoff acceleration can easily exceed ublox GPS 2G default. # param set-default GPS_UBX_DYNMODEL 8 - -# -# This is the gimbal pass mixer. -# -set MIXER_AUX pass - -set PWM_AUX_RATE 50 -set PWM_AUX_OUT 1234 diff --git a/ROMFS/px4fmu_common/init.d/rc.interface b/ROMFS/px4fmu_common/init.d/rc.interface deleted file mode 100644 index fee6ad252c..0000000000 --- a/ROMFS/px4fmu_common/init.d/rc.interface +++ /dev/null @@ -1,284 +0,0 @@ -#!/bin/sh -# -# Script to configure control interfaces. -# -# -# NOTE: environment variable references: -# If the dollar sign ('$') is followed by a left bracket ('{') then the -# variable name is terminated with the right bracket character ('}'). -# Otherwise, the variable name goes to the end of the argument. -# - -set OUTPUT_CMD pwm_out -set MIXER_AUX_FILE none -set MIXER_EXTRA_FILE none - -set OUTPUT_DEV none -set OUTPUT_AUX_DEV /dev/pwm_output1 -set OUTPUT_EXTRA_DEV /dev/pwm_output0 - -# set these before starting the modules -if [ $PWM_AUX_OUT != none ] -then - - param set PWM_AUX_OUT ${PWM_AUX_OUT} -fi - - -if [ $PWM_OUT != none ] -then - param set PWM_MAIN_OUT ${PWM_OUT} -fi - -# -# If mount (gimbal) control is enabled and output mode is AUX, set the aux -# mixer to mount (override the airframe-specific MIXER_AUX setting). -# -if param greater -s MNT_MODE_IN -1 -then - if param compare -s MNT_MODE_OUT 0 - then - set MIXER_AUX mount - fi -fi - -# -# Set the default output mode if none was set. -# -if [ $OUTPUT_MODE = none -a $OUTPUT_MODE != skip ] -then - if [ $USE_IO = yes ] - then - # Enable IO output only if IO is present. - if [ $IO_PRESENT = yes ] - then - set OUTPUT_MODE io - if param greater -s DSHOT_CONFIG 0 - then - set OUTPUT_CMD dshot - fi - fi - else - if param greater -s DSHOT_CONFIG 0 - then - set OUTPUT_MODE dshot - set OUTPUT_CMD dshot - else - set OUTPUT_MODE pwm_out - fi - fi -fi - -# -# If OUTPUT_MODE = none then something is wrong with setup and we shouldn't try to enable output. -# -if [ $OUTPUT_MODE != none -a $OUTPUT_MODE != skip ] -then - - if [ $OUTPUT_MODE = hil -o $OUTPUT_MODE = sim ] - then - if ! pwm_out_sim start -m $OUTPUT_MODE - then - tune_control play error - fi - fi - - if [ $OUTPUT_MODE = uavcan_esc ] - then - if param compare UAVCAN_ENABLE 0 - then - param set UAVCAN_ENABLE 3 - fi - fi - - # - # Start IO for PWM output or RC input if needed. - # - if [ $IO_PRESENT = yes ] - then - if ! px4io start - then - echo "PX4IO start failed" - tune_control play -t 18 # PROG_PX4IO_ERR - fi - fi - - if [ $OUTPUT_MODE = $OUTPUT_CMD -o $OUTPUT_MODE = io ] - then - if param compare SYS_CTRL_ALLOC 1 - then - pwm_out start - dshot start - else - if ! $OUTPUT_CMD start - then - echo "$OUTPUT_CMD start failed" - tune_control play error - fi - fi - fi -fi - -if [ $MIXER != none -a $MIXER != skip ] -then - # - # Load main mixer. - # - if [ $MIXER_AUX = none -a $USE_IO = yes ] - then - set MIXER_AUX ${MIXER} - fi - - if [ "$MIXER_FILE" = none ] - then - if [ -f ${SDCARD_MIXERS_PATH}/${MIXER}.main.mix ] - then - # Use the mixer file from the SD-card if it exists. - set MIXER_FILE ${SDCARD_MIXERS_PATH}/${MIXER}.main.mix - else - # Try out the old convention, for backward compatibility. - 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 - fi - - set OUTPUT_DEV /dev/pwm_output0 - - if [ $OUTPUT_MODE = uavcan_esc ] - then - set OUTPUT_DEV /dev/uavcan/esc - fi - - if mixer load ${OUTPUT_DEV} ${MIXER_FILE} - then - echo "INFO [init] Mixer: ${MIXER_FILE} on ${OUTPUT_DEV}" - - else - echo "ERROR [init] Failed loading mixer: ${MIXER_FILE}" - tune_control play -t 18 # tune 18 = PROG_PX4IO_ERR - fi - -else - if [ $MIXER != skip ] - then - echo "ERROR [init] Mixer undefined" - tune_control play -t 18 # tune 18 = PROG_PX4IO_ERR - fi -fi - -if [ $MIXER_AUX != none ] -then - # - # Load aux mixer. - # - if [ -f ${SDCARD_MIXERS_PATH}/${MIXER_AUX}.aux.mix ] - then - set MIXER_AUX_FILE ${SDCARD_MIXERS_PATH}/${MIXER_AUX}.aux.mix - else - - if [ -f /etc/mixers/${MIXER_AUX}.aux.mix ] - then - set MIXER_AUX_FILE /etc/mixers/${MIXER_AUX}.aux.mix - fi - fi - - if [ $MIXER_AUX_FILE != none ] - then - # Append aux mixer to main device. - if param greater SYS_HITL 0 - then - if mixer append ${OUTPUT_DEV} ${MIXER_AUX_FILE} - then - echo "INFO [init] Mixer: ${MIXER_AUX_FILE} appended to ${OUTPUT_DEV}" - else - echo "ERROR [init] Failed appending mixer: ${MIXER_AUX_FILE}" - fi - fi - if [ -e $OUTPUT_AUX_DEV -a $OUTPUT_MODE != hil ] - then - if mixer load ${OUTPUT_AUX_DEV} ${MIXER_AUX_FILE} - then - echo "INFO [init] Mixer: ${MIXER_AUX_FILE} on ${OUTPUT_AUX_DEV}" - else - echo "ERROR [init] Failed loading mixer: ${MIXER_AUX_FILE}" - fi - else - echo "INFO [init] setting PWM_AUX_OUT none" - set PWM_AUX_OUT none - fi - - # for DShot do not configure pwm values - if [ $OUTPUT_CMD != dshot ] - then - # Set min / max for aux out and rates. - if [ $PWM_AUX_OUT != none ] - then - # Set PWM_AUX output frequency. - if [ $PWM_AUX_RATE != none ] - then - pwm rate -c ${PWM_AUX_OUT} -r ${PWM_AUX_RATE} -d ${OUTPUT_AUX_DEV} - fi - fi - fi - fi -fi - -if [ $OUTPUT_MODE = pwm_out -o $OUTPUT_MODE = io ] -then - if [ $PWM_OUT != none -a $PWM_MAIN_RATE != none ] - then - # Set PWM output frequency. - if ! param compare SYS_CTRL_ALLOC 1 - then - pwm rate -c ${PWM_OUT} -r ${PWM_MAIN_RATE} - fi - fi -fi - -if [ $EXTRA_MIXER_MODE != none ] -then - - if [ -f ${SDCARD_MIXERS_PATH}/${MIXER_EXTRA}.aux.mix ] - then - # Use the mixer file from the SD-card if it exists. - set MIXER_EXTRA_FILE ${SDCARD_MIXERS_PATH}/${MIXER_EXTRA}.aux.mix - else - # Try out the old convention, for backward compatibility. - if [ -f ${SDCARD_MIXERS_PATH}/${MIXER_EXTRA}.mix ] - then - set MIXER_EXTRA_FILE ${SDCARD_MIXERS_PATH}/${MIXER_EXTRA}.mix - else - set MIXER_EXTRA_FILE /etc/mixers/${MIXER_EXTRA}.aux.mix - fi - fi - - - if mixer load ${OUTPUT_EXTRA_DEV} ${MIXER_EXTRA_FILE} - then - echo "INFO [init] Mixer: ${MIXER_EXTRA_FILE} on ${OUTPUT_EXTRA_DEV}" - else - echo "ERROR [init] Failed loading mixer: ${MIXER_EXTRA_FILE}" - tune_control play -t 20 - fi - - if [ $PWM_EXTRA_OUT != none ] - then - # Set PWM output frequency. - if [ $PWM_EXTRA_RATE != none ] - then - pwm rate -c ${PWM_EXTRA_OUT} -r ${PWM_EXTRA_RATE} - fi - fi -fi - -unset OUTPUT_CMD -unset MIXER_AUX_FILE -unset MIXER_EXTRA_FILE - -unset OUTPUT_DEV -unset OUTPUT_AUX_DEV -unset OUTPUT_EXTRA_DEV diff --git a/ROMFS/px4fmu_common/init.d/rc.mc_apps b/ROMFS/px4fmu_common/init.d/rc.mc_apps index 60d9e65327..8158ab8b03 100644 --- a/ROMFS/px4fmu_common/init.d/rc.mc_apps +++ b/ROMFS/px4fmu_common/init.d/rc.mc_apps @@ -48,13 +48,10 @@ fi # End Estimator Group Selection # ############################################################################### -if param compare SYS_CTRL_ALLOC 1 -then - # - # Start Control Allocator - # - control_allocator start -fi +# +# Start Control Allocator +# +control_allocator start # # Start Multicopter Rate Controller. diff --git a/ROMFS/px4fmu_common/init.d/rc.mc_defaults b/ROMFS/px4fmu_common/init.d/rc.mc_defaults index d057bf3050..25861aae45 100644 --- a/ROMFS/px4fmu_common/init.d/rc.mc_defaults +++ b/ROMFS/px4fmu_common/init.d/rc.mc_defaults @@ -25,14 +25,3 @@ param set-default PWM_MAIN_MIN 1075 param set-default PWM_MAIN_RATE 400 param set-default GPS_UBX_DYNMODEL 6 - -# -# This is the gimbal pass mixer. -# -set MIXER_AUX pass - -set MIXER quad_x - -set PWM_OUT 1234 - -set PWM_AUX_OUT 1234 diff --git a/ROMFS/px4fmu_common/init.d/rc.rover_apps b/ROMFS/px4fmu_common/init.d/rc.rover_apps index d1e389627e..4d04b53faa 100644 --- a/ROMFS/px4fmu_common/init.d/rc.rover_apps +++ b/ROMFS/px4fmu_common/init.d/rc.rover_apps @@ -12,13 +12,10 @@ ekf2 start & #attitude_estimator_q start #local_position_estimator start -if param compare SYS_CTRL_ALLOC 1 -then - # - # Start Control Allocator - # - control_allocator start -fi +# +# Start Control Allocator +# +control_allocator start # # Start attitude controllers. diff --git a/ROMFS/px4fmu_common/init.d/rc.rover_defaults b/ROMFS/px4fmu_common/init.d/rc.rover_defaults index d7e826c49c..cab52039d4 100644 --- a/ROMFS/px4fmu_common/init.d/rc.rover_defaults +++ b/ROMFS/px4fmu_common/init.d/rc.rover_defaults @@ -21,22 +21,3 @@ param set-default NAV_LOITER_RAD 2 # Temporary. param set-default NAV_FW_ALT_RAD 1000 - -# -# Enable servo output on pins 3 and 4 (steering and thrust) -# but also include 1+2 as they form together one output group -# and need to be set together. -# -set PWM_OUT 1234 - -# -# PWM Hz - 50 Hz is the normal rate in RC cars, higher rates -# may damage analog servos. -# -set PWM_MAIN_RATE 50 - -# -# This is the gimbal pass mixer. -# -set MIXER_AUX pass -set PWM_AUX_OUT 1234 diff --git a/ROMFS/px4fmu_common/init.d/rc.uuv_apps b/ROMFS/px4fmu_common/init.d/rc.uuv_apps index 1855805fc2..d2eb13208c 100644 --- a/ROMFS/px4fmu_common/init.d/rc.uuv_apps +++ b/ROMFS/px4fmu_common/init.d/rc.uuv_apps @@ -15,13 +15,10 @@ ekf2 start & # End Estimator Group Selection # ############################################################################### -if param compare SYS_CTRL_ALLOC 1 -then - # - # Start Control Allocator - # - control_allocator start -fi +# +# Start Control Allocator +# +control_allocator start # # Start UUV Attitude Controller. diff --git a/ROMFS/px4fmu_common/init.d/rc.uuv_defaults b/ROMFS/px4fmu_common/init.d/rc.uuv_defaults index 01e755fc29..bb28c26222 100644 --- a/ROMFS/px4fmu_common/init.d/rc.uuv_defaults +++ b/ROMFS/px4fmu_common/init.d/rc.uuv_defaults @@ -13,20 +13,3 @@ param set-default MAV_TYPE 12 param set-default PWM_MAIN_MAX 1950 param set-default PWM_MAIN_MIN 1050 param set-default PWM_MAIN_DISARM 1500 - -# -# PWM Hz - 50 Hz is the normal rate in RC cars, boats etc, -# higher rates may damage analog servos. -# -set PWM_MAIN_RATE 50 - -# -# Enable servo output on pins 1-4 -set PWM_OUT 1234 - -# -# This is the gimbal pass mixer. -# -set MIXER_AUX pass -set PWM_AUX_OUT 1234 -set PWM_AUX_RATE 50 diff --git a/ROMFS/px4fmu_common/init.d/rc.vehicle_setup b/ROMFS/px4fmu_common/init.d/rc.vehicle_setup index aac1b76fed..4f8497bc19 100644 --- a/ROMFS/px4fmu_common/init.d/rc.vehicle_setup +++ b/ROMFS/px4fmu_common/init.d/rc.vehicle_setup @@ -10,14 +10,6 @@ # if [ $VEHICLE_TYPE = fw ] then - if [ $MIXER = none ] - then - echo "FW mixer undefined" - fi - - # Load mixer and configure outputs. - . ${R}etc/init.d/rc.interface - # Start standard fixedwing apps. . ${R}etc/init.d/rc.fw_apps fi @@ -27,14 +19,6 @@ fi # if [ $VEHICLE_TYPE = mc ] then - if [ $MIXER = none ] - then - echo "MC mixer undefined" - fi - - # Load mixer and configure outputs. - . ${R}etc/init.d/rc.interface - # Start standard multicopter apps. . ${R}etc/init.d/rc.mc_apps fi @@ -44,14 +28,6 @@ fi # if [ $VEHICLE_TYPE = rover ] then - if [ $MIXER = none ] - then - echo "rover mixer undefined" - fi - - # Load mixer and configure outputs. - . ${R}etc/init.d/rc.interface - # Start standard UGV apps. . ${R}etc/init.d/rc.rover_apps fi @@ -61,14 +37,6 @@ fi # if [ $VEHICLE_TYPE = vtol ] then - if [ $MIXER = none ] - then - echo "VTOL mixer undefined" - fi - - # Load mixer and configure outputs. - . ${R}etc/init.d/rc.interface - # Start standard vtol apps. . ${R}etc/init.d/rc.vtol_apps fi @@ -78,14 +46,6 @@ fi # if [ $VEHICLE_TYPE = airship ] then - if [ $MIXER = none ] - then - echo "Airship mixer undefined" - fi - - # Load mixer and configure outputs. - . ${R}etc/init.d/rc.interface - # Start airship apps. . ${R}etc/init.d/rc.airship_apps fi @@ -95,14 +55,6 @@ fi # if [ $VEHICLE_TYPE = uuv ] then - if [ $MIXER = none ] - then - echo "UUV mixer undefined" - fi - - # Load mixer and configure outputs. - . ${R}etc/init.d/rc.interface - # Start standard vtol apps. . ${R}etc/init.d/rc.uuv_apps fi diff --git a/ROMFS/px4fmu_common/init.d/rc.vtol_apps b/ROMFS/px4fmu_common/init.d/rc.vtol_apps index afcf32f45a..0bb53168d1 100644 --- a/ROMFS/px4fmu_common/init.d/rc.vtol_apps +++ b/ROMFS/px4fmu_common/init.d/rc.vtol_apps @@ -15,13 +15,10 @@ ekf2 start & # End Estimator group selection # ############################################################################### -if param compare SYS_CTRL_ALLOC 1 -then - # - # Start Control Allocator - # - control_allocator start -fi +# +# Start Control Allocator +# +control_allocator start airspeed_selector start diff --git a/ROMFS/px4fmu_common/init.d/rcS b/ROMFS/px4fmu_common/init.d/rcS index 00c52d07a1..94a639d0ac 100644 --- a/ROMFS/px4fmu_common/init.d/rcS +++ b/ROMFS/px4fmu_common/init.d/rcS @@ -25,29 +25,14 @@ set FCONFIG /fs/microsd/etc/config.txt set FEXTRAS /fs/microsd/etc/extras.txt set FRC /fs/microsd/etc/rc.txt set IOFW "/etc/extras/px4_io-v2_default.bin" -set IO_PRESENT no set LOGGER_ARGS "" set LOGGER_BUF 8 -set MIXER skip -set MIXER_AUX none -set MIXER_FILE none -set MIXER_EXTRA none -set OUTPUT_MODE none set PARAM_FILE "" -set PWM_OUT none -set PWM_MAIN_RATE p:PWM_MAIN_RATE -set PWM_AUX_OUT none -set PWM_AUX_RATE p:PWM_AUX_RATE -set PWM_EXTRA_OUT none -set PWM_EXTRA_RATE p:PWM_EXTRA_RATE -set EXTRA_MIXER_MODE none set RC_INPUT_ARGS "" set SDCARD_AVAILABLE no set SDCARD_EXT_PATH /fs/microsd/ext_autostart set SDCARD_FORMAT no -set SDCARD_MIXERS_PATH /fs/microsd/etc/mixers set STARTUP_TUNE 1 -set USE_IO no set VEHICLE_TYPE none # @@ -236,7 +221,7 @@ else # Waypoint storage. # REBOOTWORK this needs to start in parallel. # - if param compare SYS_DM_BACKEND 1 + if param compare -s SYS_DM_BACKEND 1 then dataman start -r else @@ -278,13 +263,8 @@ else if param greater -s UAVCAN_ENABLE 0 then # Start core UAVCAN module. - if uavcan start + if ! uavcan start then - if param greater UAVCAN_ENABLE 2 - then - set OUTPUT_MODE uavcan_esc - fi - else tune_control play error fi else @@ -295,22 +275,15 @@ else fi # - # Check if PX4IO present and update firmware if needed. - # Assumption IOFW set to firmware file and IO_PRESENT = no + # Start IO for PWM output or RC input if enabled # - - if [ -f $IOFW ] + if param compare -s SYS_USE_IO 1 then - # Check for the mini using build with px4io fw file - # but not a px4IO - if ver hwtypecmp V5004000 V5006000 + # Check if PX4IO present and update firmware if needed. + if [ -f $IOFW ] then - param set SYS_USE_IO 0 - else - if px4io checkcrc ${IOFW} + if ! px4io checkcrc ${IOFW} then - set IO_PRESENT yes - else # tune Program PX4IO tune_control play -t 16 # tune 16 = PROG_PX4IO @@ -321,7 +294,6 @@ else if px4io checkcrc ${IOFW} then tune_control play -t 17 # tune 17 = PROG_PX4IO_OK - set IO_PRESENT yes else tune_control play -t 18 # tune 18 = PROG_PX4IO_ERR fi @@ -330,20 +302,12 @@ else fi fi fi - fi - # - # Set USE_IO flag. - # - if param compare -s SYS_USE_IO 1 - then - set USE_IO yes - fi - - if [ $USE_IO = yes -a $IO_PRESENT = no ] - then - echo "PX4IO not found" - set STARTUP_TUNE 2 # tune 2 = ERROR_TUNE + if ! px4io start + then + echo "PX4IO start failed" + set STARTUP_TUNE 2 # tune 2 = ERROR_TUNE + fi fi # @@ -359,7 +323,11 @@ else # if param greater SYS_HITL 0 then - set OUTPUT_MODE hil + if ! pwm_out_sim start -m hil + then + tune_control play error + fi + sensors start -h commander start -h # disable GPS @@ -397,13 +365,14 @@ else sensors start commander start + + dshot start + pwm_out start fi # # Configure vehicle type specific parameters. - # Note: rc.vehicle_setup is the entry point for rc.interface, - # rc.fw_apps, rc.mc_apps, rc.rover_apps, and rc.vtol_apps. - # + # Note: rc.vehicle_setup is the entry point for all vehicle type specific setup. . ${R}etc/init.d/rc.vehicle_setup # Pre-takeoff continuous magnetometer calibration @@ -435,11 +404,8 @@ else # . ${R}etc/init.d/rc.serial - if [ $IO_PRESENT = no ] - then - # Must be started after the serial config is read - rc_input start $RC_INPUT_ARGS - fi + # Must be started after the serial config is read + rc_input start $RC_INPUT_ARGS # PPS capture driver (before pwm_out) if param greater -s PPS_CAP_ENABLE 0 @@ -564,28 +530,15 @@ unset R unset FCONFIG unset FEXTRAS unset FRC -unset IO_PRESENT unset IOFW unset LOGGER_ARGS unset LOGGER_BUF -unset MIXER -unset MIXER_AUX -unset MIXER_FILE -unset OUTPUT_MODE unset PARAM_FILE -unset PWM_AUX_OUT -unset PWM_AUX_RATE -unset PWM_MAIN_RATE -unset PWM_OUT -unset PWM_EXTRA_OUT -unset PWM_EXTRA_RATE unset RC_INPUT_ARGS unset SDCARD_AVAILABLE unset SDCARD_EXT_PATH unset SDCARD_FORMAT -unset SDCARD_MIXERS_PATH unset STARTUP_TUNE -unset USE_IO unset VEHICLE_TYPE # diff --git a/ROMFS/px4fmu_common/mixers/AAERTWF.main.mix b/ROMFS/px4fmu_common/mixers/AAERTWF.main.mix deleted file mode 100644 index 20d4c21d93..0000000000 --- a/ROMFS/px4fmu_common/mixers/AAERTWF.main.mix +++ /dev/null @@ -1,88 +0,0 @@ -# @board px4_fmu-v2 exclude -Aileron/rudder/elevator/throttle/wheel/flaps mixer for PX4FMU -======================================================= - -This file defines mixers suitable for controlling a fixed wing aircraft with -aileron, rudder, elevator, throttle and steerable wheel controls using PX4FMU. -The configuration assumes the aileron servo(s) are connected to PX4FMU servo -output 0 and 1, the elevator to output 2, the rudder to output 3, the throttle -to output 4 and the wheel to output 5. - -Inputs to the mixer come from channel group 0 (vehicle attitude), channels 0 -(roll), 1 (pitch), 2 (yaw) and 3 (thrust) 4 (flaps). - -Aileron mixer (roll + spoiler) ---------------------------------- - -This mixer assumes that the aileron servos are set up correctly mechanically; -depending on the actual configuration it may be necessary to reverse the scaling -factors (to reverse the servo movement) and adjust the offset, scaling and -endpoints to suit. - -M: 2 -S: 0 0 10000 10000 0 -10000 10000 -S: 0 5 10000 10000 0 -10000 10000 - -M: 2 -S: 0 0 10000 10000 0 -10000 10000 -S: 0 5 -10000 -10000 0 -10000 10000 - -Elevator mixer ------------- -Two scalers total (output, roll). - -This mixer assumes that the elevator servo is set up correctly mechanically; -depending on the actual configuration it may be necessary to reverse the scaling -factors (to reverse the servo movement) and adjust the offset, scaling and -endpoints to suit. - -M: 1 -S: 0 1 -10000 -10000 0 -10000 10000 - -Rudder mixer ------------- -Two scalers total (output, yaw). - -This mixer assumes that the rudder servo is set up correctly mechanically; -depending on the actual configuration it may be necessary to reverse the scaling -factors (to reverse the servo movement) and adjust the offset, scaling and -endpoints to suit. - -M: 1 -S: 0 2 10000 10000 0 -10000 10000 - -Motor speed mixer ------------------ -Two scalers total (output, thrust). - -This mixer generates a full-range output (-1 to 1) from an input in the (0 - 1) -range. Inputs below zero are treated as zero. - -M: 1 -S: 0 3 0 20000 -10000 -10000 10000 - -Wheel mixer ------------- -Two scalers total (output, yaw). - -This mixer assumes that the wheel servo is set up correctly mechanically; -depending on the actual configuration it may be necessary to reverse the scaling -factors (to reverse the servo movement) and adjust the offset, scaling and -endpoints to suit. - -M: 1 -S: 0 2 10000 10000 0 -10000 10000 - - -Flaps / gimbal / payload mixer for last three channels, -using the payload control group ------------------------------------------------------ - -M: 1 -S: 0 4 10000 10000 0 -10000 10000 - -M: 1 -S: 2 0 10000 10000 0 -10000 10000 - -M: 1 -S: 2 2 10000 10000 0 -10000 10000 diff --git a/ROMFS/px4fmu_common/mixers/AAVVTWFF.main.mix b/ROMFS/px4fmu_common/mixers/AAVVTWFF.main.mix deleted file mode 100644 index 9a994da0ef..0000000000 --- a/ROMFS/px4fmu_common/mixers/AAVVTWFF.main.mix +++ /dev/null @@ -1,77 +0,0 @@ -# @board px4_fmu-v2 exclude -Aileron/v-tail/throttle/wheel/flaps mixer for PX4FMU -======================================================= - -This file defines mixers suitable for controlling a fixed wing aircraft with -aileron, v-tail (rudder, elevator), throttle, steerable wheel and flaps -using PX4FMU. -The configuration assumes the aileron servos are connected to PX4FMU servo -output 0 and 1, the tail servos to output 2 and 3, the throttle -to output 4, the wheel to output 5 and the flaps to output 6 and 7. - -Inputs to the mixer come from channel group 0 (vehicle attitude), channels 0 -(roll), 1 (pitch), 2 (yaw) and 3 (thrust) 4 (flaps) 6 (flaperon). - -Aileron mixer (roll + spoiler) ---------------------------------- - -This mixer assumes that the aileron servos are set up correctly mechanically; -depending on the actual configuration it may be necessary to reverse the scaling -factors (to reverse the servo movement) and adjust the offset, scaling and -endpoints to suit. - -M: 2 -S: 0 0 10000 10000 0 -10000 10000 -S: 0 5 10000 10000 0 -10000 10000 - -M: 2 -S: 0 0 10000 10000 0 -10000 10000 -S: 0 5 -10000 -10000 0 -10000 10000 - -V-tail mixers -------------- -Three scalers total (output, roll, pitch). - -On the assumption that the two tail servos are physically reversed, the pitch -input is inverted between the two servos. - -M: 2 -S: 0 2 -7000 -7000 0 -10000 10000 -S: 0 1 -8000 -8000 0 -10000 10000 - -M: 2 -S: 0 2 -7000 -7000 0 -10000 10000 -S: 0 1 8000 8000 0 -10000 10000 - -Motor speed mixer ------------------ -Two scalers total (output, thrust). - -This mixer generates a full-range output (-1 to 1) from an input in the (0 - 1) -range. Inputs below zero are treated as zero. - -M: 1 -S: 0 3 0 20000 -10000 -10000 10000 - -Wheel mixer ------------- -Two scalers total (output, yaw). - -This mixer assumes that the wheel servo is set up correctly mechanically; -depending on the actual configuration it may be necessary to reverse the scaling -factors (to reverse the servo movement) and adjust the offset, scaling and -endpoints to suit. - -M: 1 -S: 0 2 -10000 -10000 0 -10000 10000 - -Flaps mixer ------------- -Flap servos are physically reversed. - -M: 1 -S: 0 4 0 5000 -10000 -10000 10000 - -M: 1 -S: 0 4 0 -5000 10000 -10000 10000 - diff --git a/ROMFS/px4fmu_common/mixers/AAVVTWFF_vtail.main.mix b/ROMFS/px4fmu_common/mixers/AAVVTWFF_vtail.main.mix deleted file mode 100644 index ad65ca999c..0000000000 --- a/ROMFS/px4fmu_common/mixers/AAVVTWFF_vtail.main.mix +++ /dev/null @@ -1,71 +0,0 @@ -# @board px4_fmu-v2 exclude -Aileron/v-tail/throttle/wheel/flaps mixer for PX4FMU -======================================================= - -This file defines mixers suitable for controlling a fixed wing aircraft with -aileron, v-tail (rudder, elevator), throttle, steerable wheel and flaps -using PX4FMU. -The configuration assumes the aileron servos are connected to PX4FMU servo -output 0 and 1, the tail servos to output 2 and 3, the throttle -to output 4, the wheel to output 5 and the flaps to output 6 and 7. - -Inputs to the mixer come from channel group 0 (vehicle attitude), channels 0 -(roll), 1 (pitch), 2 (yaw), 3 (thrust) 4 (flaps), 5 (spoiler). - -Aileron mixer (roll + spoiler) ---------------------------------- - -This mixer assumes that the aileron servos are set up mechanically reversed. - -M: 2 -S: 0 0 -10000 -10000 0 -10000 10000 -S: 0 5 10000 10000 0 -10000 10000 - -M: 2 -S: 0 0 -10000 -10000 0 -10000 10000 -S: 0 5 -10000 -10000 0 -10000 10000 - -V-tail mixers -------------- -Three scalers total (output, roll, pitch). - -M: 2 -S: 0 2 7000 7000 0 -10000 10000 -S: 0 1 -8000 -8000 0 -10000 10000 - -M: 2 -S: 0 2 7000 7000 0 -10000 10000 -S: 0 1 8000 8000 0 -10000 10000 - -Motor speed mixer ------------------ -Two scalers total (output, thrust). - -This mixer generates a full-range output (-1 to 1) from an input in the (0 - 1) -range. Inputs below zero are treated as zero. - -M: 1 -S: 0 3 0 20000 -10000 -10000 10000 - -Wheel mixer ------------- -Two scalers total (output, yaw). - -This mixer assumes that the wheel servo is set up correctly mechanically; -depending on the actual configuration it may be necessary to reverse the scaling -factors (to reverse the servo movement) and adjust the offset, scaling and -endpoints to suit. - -M: 1 -S: 0 2 -10000 -10000 0 -10000 10000 - -Flaps mixer ------------- -Flap servos are physically reversed. - -M: 1 -S: 0 4 0 5000 -10000 -10000 10000 - -M: 1 -S: 0 4 0 -5000 10000 -10000 10000 - diff --git a/ROMFS/px4fmu_common/mixers/AERT.main.mix b/ROMFS/px4fmu_common/mixers/AERT.main.mix deleted file mode 100644 index 356ff613ae..0000000000 --- a/ROMFS/px4fmu_common/mixers/AERT.main.mix +++ /dev/null @@ -1,77 +0,0 @@ -# @board px4_fmu-v2 exclude -Aileron/rudder/elevator/throttle mixer for PX4FMU -================================================== - -This file defines mixers suitable for controlling a fixed wing aircraft with -aileron, rudder, elevator and throttle controls using PX4FMU. The configuration -assumes the aileron servo(s) are connected to PX4FMU servo output 0, the -elevator to output 1, the rudder to output 2 and the throttle to output 3. - -Inputs to the mixer come from channel group 0 (vehicle attitude), channels 0 -(roll), 1 (pitch) and 3 (thrust). - -CH1: Aileron mixer -------------- -Two scalers total (output, roll). - -This mixer assumes that the aileron servos are set up correctly mechanically; -depending on the actual configuration it may be necessary to reverse the scaling -factors (to reverse the servo movement) and adjust the offset, scaling and -endpoints to suit. - -As there is only one output, if using two servos adjustments to compensate for -differences between the servos must be made mechanically. To obtain the correct -motion using a Y cable, the servos can be positioned reversed from one another. - -M: 1 -S: 0 0 10000 10000 0 -10000 10000 - -CH2: Elevator mixer ------------- -Two scalers total (output, roll). - -This mixer assumes that the elevator servo is set up correctly mechanically; -depending on the actual configuration it may be necessary to reverse the scaling -factors (to reverse the servo movement) and adjust the offset, scaling and -endpoints to suit. - -M: 1 -S: 0 1 -10000 -10000 0 -10000 10000 - -CH3: Rudder mixer ------------- -Two scalers total (output, yaw). - -This mixer assumes that the rudder servo is set up correctly mechanically; -depending on the actual configuration it may be necessary to reverse the scaling -factors (to reverse the servo movement) and adjust the offset, scaling and -endpoints to suit. - -M: 1 -S: 0 2 10000 10000 0 -10000 10000 - -CH4: Motor speed mixer ------------------ -Two scalers total (output, thrust). - -This mixer generates a full-range output (-1 to 1) from an input in the (0 - 1) -range. Inputs below zero are treated as zero. - -M: 1 -S: 0 3 0 20000 -10000 -10000 10000 - -CH5: Flaps mixer ------------- -Flaps are controlled automatically in position control and auto -but can also be controlled manually - -M: 1 -O: 5000 10000 0 -10000 10000 -S: 0 4 10000 10000 0 -10000 10000 - -Ch6: Landing gear mixer ------------- -By default pass-through of gear switch - -M: 1 -S: 3 5 10000 10000 0 -10000 10000 diff --git a/ROMFS/px4fmu_common/mixers/AETRFG.main.mix b/ROMFS/px4fmu_common/mixers/AETRFG.main.mix deleted file mode 100644 index d5cf84219b..0000000000 --- a/ROMFS/px4fmu_common/mixers/AETRFG.main.mix +++ /dev/null @@ -1,77 +0,0 @@ -# @board px4_fmu-v2 exclude -Aileron/Elevator/Throttle/Rudder/Gear/Flaps mixer -================================================== - -This file defines mixers suitable for controlling a fixed wing aircraft with -aileron, rudder, elevator, throttle, gear, flaps controls. The configuration -assumes the aileron servo(s) are connected to output 0, the elevator to -output 1, the throttle to output 2 and the rudder to output 3. - -Inputs to the mixer come from channel group 0 (vehicle attitude), channels 0 -(roll), 1 (pitch), 2 (thrust), 3 (yaw), 4 (flaps), 7 (landing gear) - -CH1: Aileron mixer -------------- -Two scalers total (output, roll). - -This mixer assumes that the aileron servos are set up correctly mechanically; -depending on the actual configuration it may be necessary to reverse the scaling -factors (to reverse the servo movement) and adjust the offset, scaling and -endpoints to suit. - -As there is only one output, if using two servos adjustments to compensate for -differences between the servos must be made mechanically. To obtain the correct -motion using a Y cable, the servos can be positioned reversed from one another. - -M: 1 -S: 0 0 10000 10000 0 -10000 10000 - -CH2: Elevator mixer ------------- -Two scalers total (output, roll). - -This mixer assumes that the elevator servo is set up correctly mechanically; -depending on the actual configuration it may be necessary to reverse the scaling -factors (to reverse the servo movement) and adjust the offset, scaling and -endpoints to suit. - -M: 1 -S: 0 1 -10000 -10000 0 -10000 10000 - -CH3: Motor speed mixer ------------------ -Two scalers total (output, thrust). - -This mixer generates a full-range output (-1 to 1) from an input in the (0 - 1) -range. Inputs below zero are treated as zero. - -M: 1 -S: 0 3 0 20000 -10000 -10000 10000 - -CH4: Rudder mixer ------------- -Two scalers total (output, yaw). - -This mixer assumes that the rudder servo is set up correctly mechanically; -depending on the actual configuration it may be necessary to reverse the scaling -factors (to reverse the servo movement) and adjust the offset, scaling and -endpoints to suit. - -M: 1 -S: 0 2 10000 10000 0 -10000 10000 - -CH5: Flaps mixer ------------- -Flaps are controlled automatically in position control and auto -but can also be controlled manually - -M: 1 -O: 5000 10000 0 -10000 10000 -S: 0 4 10000 10000 0 -10000 10000 - -CH6: Landing gear mixer ------------- -By default pass-through of gear switch - -M: 1 -S: 3 5 10000 10000 0 -10000 10000 diff --git a/ROMFS/px4fmu_common/mixers/CCPM.main.mix b/ROMFS/px4fmu_common/mixers/CCPM.main.mix deleted file mode 100644 index 8f7af5aee8..0000000000 --- a/ROMFS/px4fmu_common/mixers/CCPM.main.mix +++ /dev/null @@ -1,49 +0,0 @@ -# @board px4_fmu-v2 exclude -Helicopter 120 degree Cyclic-Collective-Pitch Mixing (CCPM) for PX4FMU -================================================== - - -Output 0 - Rear Servo Mixer ----------------- - -Rear Servo = Collective (Thrust - 3) + Elevator (Pitch - 1) - -M: 2 -S: 0 3 10000 10000 0 -10000 10000 -S: 0 1 10000 10000 0 -10000 10000 - - -Output 1 - Left Servo Mixer ------------------ -Left Servo = Collective (Thurst - 3) - 0.5 * Elevator (Pitch - 1) + 0.866 * Aileron (Roll - 0) - -M: 3 -S: 0 3 -10000 -10000 0 -10000 10000 -S: 0 1 -5000 -5000 0 -10000 10000 -S: 0 0 8660 8660 0 -10000 10000 - - -Output 2 - Right Servo Mixer ----------------- -Right Servo = Collective (Thurst - 3) - 0.5 * Elevator (Pitch - 1) - 0.866 * Aileron (Roll - 0) - - -M: 3 -S: 0 3 -10000 -10000 0 -10000 10000 -S: 0 1 -5000 -5000 0 -10000 10000 -S: 0 0 -8660 -8660 0 -10000 10000 - -Output 3 - Tail Servo Mixer ----------------- -Tail Servo = Yaw (control index = 2) - -M: 1 -S: 0 2 10000 10000 0 -10000 10000 - - -Output 4 - Motor speed mixer ------------------ -This would be the motor speed control output from governor power demand- not sure what index to use here? - -M: 1 -S: 0 4 0 20000 -10000 -10000 10000 diff --git a/ROMFS/px4fmu_common/mixers/CMakeLists.txt b/ROMFS/px4fmu_common/mixers/CMakeLists.txt deleted file mode 100644 index 5e00c9f9ab..0000000000 --- a/ROMFS/px4fmu_common/mixers/CMakeLists.txt +++ /dev/null @@ -1,80 +0,0 @@ -############################################################################ -# -# Copyright (c) 2018 PX4 Development Team. All rights reserved. -# -# Redistribution and use in source and binary forms, with or without -# modification, are permitted provided that the following conditions -# are met: -# -# 1. Redistributions of source code must retain the above copyright -# notice, this list of conditions and the following disclaimer. -# 2. Redistributions in binary form must reproduce the above copyright -# notice, this list of conditions and the following disclaimer in -# the documentation and/or other materials provided with the -# distribution. -# 3. Neither the name PX4 nor the names of its contributors may be -# used to endorse or promote products derived from this software -# without specific prior written permission. -# -# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS -# "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT -# LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS -# FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE -# COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, -# INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, -# BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS -# OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED -# AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT -# LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN -# ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE -# POSSIBILITY OF SUCH DAMAGE. -# -############################################################################ - -px4_add_romfs_files( - AAERTWF.main.mix - AAVVTWFF.main.mix - AAVVTWFF_vtail.main.mix - AERT.main.mix - AETRFG.main.mix - CCPM.main.mix - cloudship.main.mix - coax.main.mix - dodeca_bottom_cox.aux.mix - dodeca_top_cox.main.mix - fw_generic_wing.main.mix - generic_diff_rover.main.mix - hexa_cox.main.mix - hexa_+.main.mix - hexa_x.main.mix - IO_pass.main.mix - mount.aux.mix - mount_legs.aux.mix - octo_cox.main.mix - octo_cox_w.main.mix - octo_+.main.mix - octo_x.main.mix - pass.aux.mix - quad_dc.main.mix - quad_h.main.mix - quad_+.main.mix - quad_+_vtol.main.mix - quad_w.main.mix - quad_x_cw.main.mix - quad_x.main.mix - quad_x_vtol.main.mix - quad_x_vtol_AAERT.main.mix - rover_diff_and_servo.main.mix - rover_generic.main.mix - standard_vtol_hitl.main.mix - tilt_quad.aux.mix - tilt_quad.main.mix - tri_y_yaw+.main.mix - tri_y_yaw-.main.mix - vtol_AAERT.aux.mix - vtol_AAVVT.aux.mix - vtol_TTTTAAER.aux.mix - vtol_delta.aux.mix - vtol_tailsitter_duo.main.mix - vtol_tailsitter_duo_sat.main.mix -) diff --git a/ROMFS/px4fmu_common/mixers/IO_pass.main.mix b/ROMFS/px4fmu_common/mixers/IO_pass.main.mix deleted file mode 100644 index d18e1850e1..0000000000 --- a/ROMFS/px4fmu_common/mixers/IO_pass.main.mix +++ /dev/null @@ -1,31 +0,0 @@ -# @board px4_fmu-v2 exclude -Passthrough mixer for PX4IO -============================ - -This file defines passthrough mixers suitable for testing. - -Channel group 0, channels 0-7 are passed directly through to the outputs. - -M: 1 -S: 0 0 10000 10000 0 -10000 10000 - -M: 1 -S: 0 1 10000 10000 0 -10000 10000 - -M: 1 -S: 0 2 10000 10000 0 -10000 10000 - -M: 1 -S: 0 3 10000 10000 0 -10000 10000 - -M: 1 -S: 0 4 10000 10000 0 -10000 10000 - -M: 1 -S: 0 5 10000 10000 0 -10000 10000 - -M: 1 -S: 0 6 10000 10000 0 -10000 10000 - -M: 1 -S: 0 7 10000 10000 0 -10000 10000 diff --git a/ROMFS/px4fmu_common/mixers/cloudship.main.mix b/ROMFS/px4fmu_common/mixers/cloudship.main.mix deleted file mode 100644 index decee989ef..0000000000 --- a/ROMFS/px4fmu_common/mixers/cloudship.main.mix +++ /dev/null @@ -1,49 +0,0 @@ -Thrust tilt/ Starboard Thrust / Port Thrust / Tail Thrust mixer for PX4FMU -======================================================= - -# @board px4_fmu-v2 exclude - -This file defines mixers suitable for controlling an airship with -a thrust tilt, starboard and port thruster and a tail thruster using PX4FMU. -The configuration assumes the starboard thruster is connected to PX4FMU -output 1, port thruster to output 2, tilt servo to output 3, and the -tail thruster to output 4. - -Inputs to the mixer come from channel group 0 (vehicle attitude), -channels 0 (roll), 1 (pitch), 2 (yaw) and 3 (thrust). - -Starboard and port thruster mixer ------------------ -Two scalers total (output, thrust). - -By default mixer output is normalized. The input is in the (0 - 1) range. - -M: 1 -S: 0 3 0 20000 -10000 -10000 10000 - -M: 1 -S: 0 3 0 20000 -10000 -10000 10000 - -Servo controlling tilt mixer ------------- -Two scalers total (output, tilt angle). - -This mixer assumes that the tilt servo is set up correctly mechanically; -depending on the actual configuration it may be necessary to reverse the scaling -factors (to reverse the servo movement) and adjust the offset, scaling and -endpoints to suit. - -M: 1 -S: 0 1 10000 10000 0 -10000 10000 - -Tail thruster mixer ------------- -Two scalers total (output, yaw). - -This mixer assumes that the tail thruster is set up correctly mechanically; -depending on the actual configuration it may be necessary to reverse the scaling -factors (to reverse the motor movement) and adjust the offset, scaling and -endpoints to suit. - -M: 1 -S: 0 2 10000 10000 0 -10000 10000 diff --git a/ROMFS/px4fmu_common/mixers/coax.main.mix b/ROMFS/px4fmu_common/mixers/coax.main.mix deleted file mode 100644 index 0a99547e20..0000000000 --- a/ROMFS/px4fmu_common/mixers/coax.main.mix +++ /dev/null @@ -1,30 +0,0 @@ -# @board px4_fmu-v2 exclude -Coaxial helicopter mixer -- Two servomotors act on the swashplate (90 degree angle on the swashplate, decoupled effect on roll and pitch). -- No collective pitch. -- One motor per rotor. -=========================== - -Left swashplate servomotor, pitch axis -------------- -M: 1 -S: 0 1 -10000 -10000 0 -10000 10000 - -Right swashplate servomotor, roll axis -------------- -M: 1 -S: 0 0 10000 10000 0 -10000 10000 - -Upper rotor (CCW) -Mixing between yaw and thrust -------------- -M: 2 -S: 0 2 10000 10000 0 -10000 10000 -S: 0 3 0 20000 -10000 -10000 10000 - -Lower rotor (CW) -Mixing between yaw and thrust -------------- -M: 2 -S: 0 2 -10000 -10000 0 -10000 10000 -S: 0 3 0 20000 -10000 -10000 10000 diff --git a/ROMFS/px4fmu_common/mixers/dodeca_bottom_cox.aux.mix b/ROMFS/px4fmu_common/mixers/dodeca_bottom_cox.aux.mix deleted file mode 100644 index 8429e71cba..0000000000 --- a/ROMFS/px4fmu_common/mixers/dodeca_bottom_cox.aux.mix +++ /dev/null @@ -1,4 +0,0 @@ -# Dodeca Cox -# @board px4_fmu-v2 exclude - -R: 6a diff --git a/ROMFS/px4fmu_common/mixers/dodeca_top_cox.main.mix b/ROMFS/px4fmu_common/mixers/dodeca_top_cox.main.mix deleted file mode 100644 index 6250c3db0a..0000000000 --- a/ROMFS/px4fmu_common/mixers/dodeca_top_cox.main.mix +++ /dev/null @@ -1,4 +0,0 @@ -# Dodeca Cox -# @board px4_fmu-v2 exclude - -R: 6m diff --git a/ROMFS/px4fmu_common/mixers/fw_generic_wing.main.mix b/ROMFS/px4fmu_common/mixers/fw_generic_wing.main.mix deleted file mode 100644 index f947698d82..0000000000 --- a/ROMFS/px4fmu_common/mixers/fw_generic_wing.main.mix +++ /dev/null @@ -1,47 +0,0 @@ -# @board px4_fmu-v2 exclude -Generic wing mixer -=========================== - -This file defines mixers suitable for controlling a delta wing aircraft. -The configuration assumes the elevon servos are connected to servo -outputs 0 and 1 and the motor speed control to output 3. Output 2 is -assumed to be unused. - -Inputs to the mixer come from channel group 0 (vehicle attitude), channels 0 -(roll), 1 (pitch) and 3 (thrust). - -See the README for more information on the scaler format. - -Elevon mixers -------------- -Three scalers total (output, roll, pitch). - -On the assumption that the two elevon servos are physically reversed, the pitch -input is inverted between the two servos. - -The scaling factor for roll inputs is adjusted to implement differential travel -for the elevons. - -M: 2 -S: 0 0 -8000 -8000 0 -10000 10000 -S: 0 1 6000 6000 0 -10000 10000 - -M: 2 -S: 0 0 -8000 -8000 0 -10000 10000 -S: 0 1 -6000 -6000 0 -10000 10000 - -Output 2 --------- -This mixer is empty. - -Z: - -Motor speed mixer ------------------ -Two scalers total (output, thrust). - -This mixer generates a full-range output (-1 to 1) from an input in the (0 - 1) -range. Inputs below zero are treated as zero. - -M: 1 -S: 0 3 0 20000 -10000 -10000 10000 diff --git a/ROMFS/px4fmu_common/mixers/generic_diff_rover.main.mix b/ROMFS/px4fmu_common/mixers/generic_diff_rover.main.mix deleted file mode 100644 index d97aeeac0d..0000000000 --- a/ROMFS/px4fmu_common/mixers/generic_diff_rover.main.mix +++ /dev/null @@ -1,26 +0,0 @@ -# @board px4_fmu-v2 exclude -Generic differential-drive rover -=========================== - -This mixer is suitable for controlling any differential-drive rover. That is, -a rover where the left wheels and right wheels are driven independently, -allowing turning in place. It outputs to channels 0 (left wheels) and -1 (right wheels) - -Inputs to the mixer come from channel group 0 (vehicle attitude), channels 2 (yaw), and 3 (thrust). - -See the README for more information on the scaler format. - - -Throttle of left wheels of rover on Output 0 ---------------------------------------- -M: 2 -S: 0 2 10000 10000 0 -10000 10000 -S: 0 3 10000 10000 0 -10000 10000 - - -Throttle of right wheels of rover on Output 1 ---------------------------------------- -M: 2 -S: 0 2 -10000 -10000 0 -10000 10000 -S: 0 3 10000 10000 0 -10000 10000 diff --git a/ROMFS/px4fmu_common/mixers/hexa_+.main.mix b/ROMFS/px4fmu_common/mixers/hexa_+.main.mix deleted file mode 100644 index 383e2d4e63..0000000000 --- a/ROMFS/px4fmu_common/mixers/hexa_+.main.mix +++ /dev/null @@ -1,4 +0,0 @@ -# @board px4_fmu-v2 exclude -# Hexa + - -R: 6+ diff --git a/ROMFS/px4fmu_common/mixers/hexa_cox.main.mix b/ROMFS/px4fmu_common/mixers/hexa_cox.main.mix deleted file mode 100644 index c8985dfee2..0000000000 --- a/ROMFS/px4fmu_common/mixers/hexa_cox.main.mix +++ /dev/null @@ -1,4 +0,0 @@ -# @board px4_fmu-v2 exclude -# Hexa coaxial - -R: 6c diff --git a/ROMFS/px4fmu_common/mixers/hexa_x.main.mix b/ROMFS/px4fmu_common/mixers/hexa_x.main.mix deleted file mode 100644 index 2a25a25580..0000000000 --- a/ROMFS/px4fmu_common/mixers/hexa_x.main.mix +++ /dev/null @@ -1,5 +0,0 @@ -# @board px4_fmu-v2 exclude -# Hexa X - -R: 6x - diff --git a/ROMFS/px4fmu_common/mixers/mount.aux.mix b/ROMFS/px4fmu_common/mixers/mount.aux.mix deleted file mode 100644 index 2b23af6e7a..0000000000 --- a/ROMFS/px4fmu_common/mixers/mount.aux.mix +++ /dev/null @@ -1,20 +0,0 @@ -# @board px4_fmu-v2 exclude -# Mount Mixer (e.g. Gimbal, servo-controlled gimbal, etc...) - - -# pitch -M: 1 -S: 2 1 10000 10000 0 -10000 10000 - -# roll -M: 1 -S: 2 0 10000 10000 0 -10000 10000 - -# yaw -M: 1 -S: 2 2 10000 10000 0 -10000 10000 - -# Shutter/retract -M: 1 -S: 2 3 10000 10000 0 -10000 10000 - diff --git a/ROMFS/px4fmu_common/mixers/mount_legs.aux.mix b/ROMFS/px4fmu_common/mixers/mount_legs.aux.mix deleted file mode 100644 index c9a0ce49f0..0000000000 --- a/ROMFS/px4fmu_common/mixers/mount_legs.aux.mix +++ /dev/null @@ -1,23 +0,0 @@ -# @board px4_fmu-v2 exclude - -# Roll channel for mount -M: 1 -S: 2 0 10000 10000 0 -10000 10000 - -# Pitch channel for mount -M: 1 -S: 2 1 10000 10000 0 -10000 10000 - -# Yaw channel for mount -M: 1 -S: 2 2 10000 10000 0 -10000 10000 - - -# mixer for left leg -M: 1 -S: 0 7 0 20000 -10000 -10000 10000 - -# mixer for right leg -M: 1 -S: 0 7 0 20000 -10000 -10000 10000 - diff --git a/ROMFS/px4fmu_common/mixers/octo_+.main.mix b/ROMFS/px4fmu_common/mixers/octo_+.main.mix deleted file mode 100644 index 9f443b33f4..0000000000 --- a/ROMFS/px4fmu_common/mixers/octo_+.main.mix +++ /dev/null @@ -1,4 +0,0 @@ -# @board px4_fmu-v2 exclude -# Octo + - -R: 8+ diff --git a/ROMFS/px4fmu_common/mixers/octo_cox.main.mix b/ROMFS/px4fmu_common/mixers/octo_cox.main.mix deleted file mode 100644 index c6730d8d86..0000000000 --- a/ROMFS/px4fmu_common/mixers/octo_cox.main.mix +++ /dev/null @@ -1,4 +0,0 @@ -# @board px4_fmu-v2 exclude -# Octo coaxial - -R: 8c diff --git a/ROMFS/px4fmu_common/mixers/octo_cox_w.main.mix b/ROMFS/px4fmu_common/mixers/octo_cox_w.main.mix deleted file mode 100644 index c6ef858590..0000000000 --- a/ROMFS/px4fmu_common/mixers/octo_cox_w.main.mix +++ /dev/null @@ -1,4 +0,0 @@ -# Octo coaxial with wide arms -# @board px4_fmu-v2 exclude - -R: 8cw diff --git a/ROMFS/px4fmu_common/mixers/octo_x.main.mix b/ROMFS/px4fmu_common/mixers/octo_x.main.mix deleted file mode 100644 index 6ebd0dee99..0000000000 --- a/ROMFS/px4fmu_common/mixers/octo_x.main.mix +++ /dev/null @@ -1,4 +0,0 @@ -# @board px4_fmu-v2 exclude -# Octo X - -R: 8x diff --git a/ROMFS/px4fmu_common/mixers/pass.aux.mix b/ROMFS/px4fmu_common/mixers/pass.aux.mix deleted file mode 100644 index 4615687def..0000000000 --- a/ROMFS/px4fmu_common/mixers/pass.aux.mix +++ /dev/null @@ -1,18 +0,0 @@ -# @board px4_fmu-v2 exclude -# Manual pass through mixer for servo outputs 1-4 - -# AUX1 channel (select RC channel with RC_MAP_AUX1 param) -M: 1 -S: 3 5 10000 10000 0 -10000 10000 - -# AUX2 channel (select RC channel with RC_MAP_AUX2 param) -M: 1 -S: 3 6 10000 10000 0 -10000 10000 - -# AUX3 channel (select RC channel with RC_MAP_AUX3 param) -M: 1 -S: 3 7 10000 10000 0 -10000 10000 - -# FLAPS channel (select RC channel with RC_MAP_FLAPS param) -M: 1 -S: 3 4 10000 10000 0 -10000 10000 diff --git a/ROMFS/px4fmu_common/mixers/quad_+.main.mix b/ROMFS/px4fmu_common/mixers/quad_+.main.mix deleted file mode 100644 index 5dfa5a0014..0000000000 --- a/ROMFS/px4fmu_common/mixers/quad_+.main.mix +++ /dev/null @@ -1,17 +0,0 @@ -# @board px4_fmu-v2 exclude -Multirotor mixer for PX4FMU -=========================== - -This file defines a single mixer for a quadrotor in the + configuration. All controls -are mixed 100%. - -R: 4+ - -Gimbal / payload mixer for last two channels ------------------------------------------------------ - -M: 1 -S: 3 5 10000 10000 0 -10000 10000 - -M: 1 -S: 3 6 10000 10000 0 -10000 10000 diff --git a/ROMFS/px4fmu_common/mixers/quad_+_vtol.main.mix b/ROMFS/px4fmu_common/mixers/quad_+_vtol.main.mix deleted file mode 100644 index 34c09c73d3..0000000000 --- a/ROMFS/px4fmu_common/mixers/quad_+_vtol.main.mix +++ /dev/null @@ -1,25 +0,0 @@ -# @board px4_fmu-v2 exclude -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+ - -# mixer for the elevons -M: 2 -S: 1 0 10000 10000 0 -10000 10000 -S: 1 1 10000 10000 0 -10000 10000 - -M: 2 -S: 1 0 10000 10000 0 -10000 10000 -S: 1 1 -10000 -10000 0 -10000 10000 - -# mixer for canard surface -M: 1 -S: 1 1 -10000 -10000 0 -10000 10000 - -# mixer for rudder -M: 1 -S: 1 2 -10000 -10000 0 -10000 10000 diff --git a/ROMFS/px4fmu_common/mixers/quad_dc.main.mix b/ROMFS/px4fmu_common/mixers/quad_dc.main.mix deleted file mode 100644 index f87a8bf044..0000000000 --- a/ROMFS/px4fmu_common/mixers/quad_dc.main.mix +++ /dev/null @@ -1,7 +0,0 @@ -# @board px4_fmu-v2 exclude -Multirotor mixer -=========================== - -This file defines a single mixer for a quadrotor in DC wide arms configuration. All controls are mixed 100%. - -R: 4dc diff --git a/ROMFS/px4fmu_common/mixers/quad_h.main.mix b/ROMFS/px4fmu_common/mixers/quad_h.main.mix deleted file mode 100644 index 9be41f5c09..0000000000 --- a/ROMFS/px4fmu_common/mixers/quad_h.main.mix +++ /dev/null @@ -1,17 +0,0 @@ -# @board px4_fmu-v2 exclude -Multirotor mixer for PX4FMU -=========================== - -This file defines a single mixer for a quadrotor in the H configuration. All controls -are mixed 100%. - -R: 4h - -Gimbal / payload mixer for last two channels ------------------------------------------------------ - -M: 1 -S: 3 5 10000 10000 0 -10000 10000 - -M: 1 -S: 3 6 10000 10000 0 -10000 10000 diff --git a/ROMFS/px4fmu_common/mixers/quad_w.main.mix b/ROMFS/px4fmu_common/mixers/quad_w.main.mix deleted file mode 100644 index 79bba7752f..0000000000 --- a/ROMFS/px4fmu_common/mixers/quad_w.main.mix +++ /dev/null @@ -1,16 +0,0 @@ -# @board px4_fmu-v2 exclude -Multirotor mixer for PX4FMU -=========================== - -This file defines a single mixer for a quadrotor with a wide configuration. All controls are mixed 100%. - -R: 4w - -Gimbal / payload mixer for last two channels ------------------------------------------------------ - -M: 1 -S: 3 5 10000 10000 0 -10000 10000 - -M: 1 -S: 3 6 10000 10000 0 -10000 10000 diff --git a/ROMFS/px4fmu_common/mixers/quad_x.main.mix b/ROMFS/px4fmu_common/mixers/quad_x.main.mix deleted file mode 100644 index ad676ff3e3..0000000000 --- a/ROMFS/px4fmu_common/mixers/quad_x.main.mix +++ /dev/null @@ -1,17 +0,0 @@ -# @board px4_fmu-v2 exclude -R: 4x - -AUX1 Passthrough -M: 1 -S: 3 5 10000 10000 0 -10000 10000 - -AUX2 Passthrough -M: 1 -S: 3 6 10000 10000 0 -10000 10000 - -Failsafe outputs -The following outputs are set to their disarmed value -during normal operation and to their failsafe falue in case -of flight termination. -Z: -Z: diff --git a/ROMFS/px4fmu_common/mixers/quad_x_cw.main.mix b/ROMFS/px4fmu_common/mixers/quad_x_cw.main.mix deleted file mode 100644 index 32bc010ba5..0000000000 --- a/ROMFS/px4fmu_common/mixers/quad_x_cw.main.mix +++ /dev/null @@ -1,4 +0,0 @@ -# @board px4_fmu-v2 exclude -# Quad X with clock-wise motor assigment - -R: 4xcw diff --git a/ROMFS/px4fmu_common/mixers/quad_x_vtol.main.mix b/ROMFS/px4fmu_common/mixers/quad_x_vtol.main.mix deleted file mode 100644 index ae88688925..0000000000 --- a/ROMFS/px4fmu_common/mixers/quad_x_vtol.main.mix +++ /dev/null @@ -1,19 +0,0 @@ -Mixer for Tailsitter with x motor configuration and elevons -=========================================================== -# @board px4_fmu-v2 exclude -# @board omnibus_f4sd exclude - -This file defines a single mixer for tailsitter with motors in X configuration. All controls -are mixed 100%. - -R: 4x - -# left elevon -M: 2 -S: 1 0 -5000 -5000 0 -10000 10000 -S: 1 1 5000 5000 0 -10000 10000 - -# right elevon -M: 2 -S: 1 0 -5000 -5000 0 -10000 10000 -S: 1 1 -5000 -5000 0 -10000 10000 diff --git a/ROMFS/px4fmu_common/mixers/quad_x_vtol_AAERT.main.mix b/ROMFS/px4fmu_common/mixers/quad_x_vtol_AAERT.main.mix deleted file mode 100644 index d0f32d9199..0000000000 --- a/ROMFS/px4fmu_common/mixers/quad_x_vtol_AAERT.main.mix +++ /dev/null @@ -1,30 +0,0 @@ -# @board px4_fmu-v2 exclude -Mixer for an AAERT VTOL -======================= - -R: 4x - -Aileron 1 mixer ---------------- -M: 1 -S: 1 0 7500 7500 0 -10000 10000 - -Aileron 2 mixer ---------------- -M: 1 -S: 1 0 7500 7500 0 -10000 10000 - -Elevator mixer --------------- -M: 1 -S: 1 1 10000 10000 0 -10000 10000 - -Rudder mixer ------------- -M: 1 -S: 1 2 -10000 -10000 0 -10000 10000 - -Throttle mixer --------------- -M: 1 -S: 1 3 0 20000 -10000 -10000 10000 diff --git a/ROMFS/px4fmu_common/mixers/rover_diff_and_servo.main.mix b/ROMFS/px4fmu_common/mixers/rover_diff_and_servo.main.mix deleted file mode 100644 index bf00eae8f5..0000000000 --- a/ROMFS/px4fmu_common/mixers/rover_diff_and_servo.main.mix +++ /dev/null @@ -1,41 +0,0 @@ -# @board px4_fmu-v2 exclude -Generic car mixer (eg DF Robot GPX:Asurada RC Car) -=========================== - -Designed for DF Robot GPX:Asurada - -This file defines mixers suitable for controlling a DF Robot GPX:Asurada rover using -PX4FMU. The configuration assumes the steering is connected to PX4FMU -servo outputs 1 and the motor speed controls to output 2 and 3. Output 0 is -assumed to be unused. - -Inputs to the mixer come from channel group 0 (vehicle attitude), channels 0 (roll), and 3 (thrust). - -See the README for more information on the scaler format. - - -Output 1 - Empty ------------------------------------------ -Z: - -Output 2 - Steering mixer using yaw ------------------------------------------- -M: 1 -O: 10000 10000 0 -10000 10000 5000 -S: 0 2 10000 10000 0 -10000 10000 - - -Output 3 - Left row of wheels using yaw and throttle (1s rise time) ------------------------------------------- -M: 2 -O: 10000 10000 0 -10000 10000 10000 -S: 0 2 -500 -500 0 0 10000 -S: 0 3 10000 10000 0 -10000 10000 - - -Output 4 - Right row of wheels using yaw and throttle (1s rise time) ------------------------------------------- -M: 2 -O: 10000 10000 0 -10000 10000 10000 -S: 0 2 500 500 0 0 10000 -S: 0 3 10000 10000 0 -10000 10000 diff --git a/ROMFS/px4fmu_common/mixers/rover_generic.main.mix b/ROMFS/px4fmu_common/mixers/rover_generic.main.mix deleted file mode 100644 index 687896e722..0000000000 --- a/ROMFS/px4fmu_common/mixers/rover_generic.main.mix +++ /dev/null @@ -1,38 +0,0 @@ -# @board px4_fmu-v2 exclude -Generic car mixer (eg Traxxas Stampede RC Car) -=========================== - -Designed for Traxxas Stampede - -This file defines mixers suitable for controlling a Traxxas Stampede rover using -PX4FMU. The configuration assumes the steering is connected to PX4FMU -servo outputs 1 and the motor speed control to output 3. Output 0 and 2 is -assumed to be unused. - -Inputs to the mixer come from channel group 0 (vehicle attitude), channels 2 (yaw), and 3 (thrust). - -See the README for more information on the scaler format. - - -Output 1: Empty ---------------------------------------- -Z: - -Output 2: Steering mixer using yaw, with 0.5s rise time ---------------------------------------- -M: 1 -O: 10000 10000 0 -10000 10000 5000 -S: 0 2 10000 10000 0 -10000 10000 - - -Output 3: Empty ---------------------------------------- -This mixer is empty. -Z: - - -Output 4: Throttle with 2s rise time ---------------------------------------- -M: 1 -O: 10000 10000 0 -10000 10000 20000 -S: 0 3 10000 10000 0 -10000 10000 diff --git a/ROMFS/px4fmu_common/mixers/standard_vtol_hitl.main.mix b/ROMFS/px4fmu_common/mixers/standard_vtol_hitl.main.mix deleted file mode 100644 index a7ce6c991a..0000000000 --- a/ROMFS/px4fmu_common/mixers/standard_vtol_hitl.main.mix +++ /dev/null @@ -1,22 +0,0 @@ -Mixer for Standard VTOL (QuadPlane) with motor x configuration (Gazebo HITL) -============================================================================= - -# @board px4_fmu-v2 exclude - -R: 4x - -# mixer for the pusher/puller throttle -M: 1 -S: 1 3 0 20000 -10000 -10000 10000 - -# mixer for the left aileron -M: 1 -S: 1 0 -10000 -10000 0 -10000 10000 - -# mixer for the right aileron -M: 1 -S: 1 0 10000 10000 0 -10000 10000 - -# mixer for the elevator -M: 1 -S: 1 1 10000 10000 0 -10000 10000 diff --git a/ROMFS/px4fmu_common/mixers/tilt_quad.aux.mix b/ROMFS/px4fmu_common/mixers/tilt_quad.aux.mix deleted file mode 100644 index fd4d3d9068..0000000000 --- a/ROMFS/px4fmu_common/mixers/tilt_quad.aux.mix +++ /dev/null @@ -1,33 +0,0 @@ -Tilt-Quadrotor mixer for PX4FMU (2/2) V2 -=========================== - -# @board px4_fmu-v2 exclude - -This file defines the aux outputs mixer for a Tilt-quadrotor in the + configuration. - -# @output AUX1 Outer servo motor for rotor 2 arm -# @output AUX2 Outer servo motor for rotor 4 arm -# @output AUX3 Inner servo motor for rotor 2 arm -# @output AUX4 Inner servo motor for rotor 4 arm - -Servo 1 - -M: 1 -S: 0 1 -1000 -1000 0 -10000 10000 - -Servo 2 - -M: 1 -S: 0 1 1000 1000 0 -10000 10000 - -Servo 3 - -M: 2 -S: 0 2 -10000 -10000 0 -10000 10000 -S: 3 5 10000 10000 0 -10000 10000 - -Servo 4 - -M: 2 -S: 0 2 10000 10000 0 -10000 10000 -S: 3 5 10000 10000 0 -10000 10000 diff --git a/ROMFS/px4fmu_common/mixers/tilt_quad.main.mix b/ROMFS/px4fmu_common/mixers/tilt_quad.main.mix deleted file mode 100644 index 5d7cf9acb1..0000000000 --- a/ROMFS/px4fmu_common/mixers/tilt_quad.main.mix +++ /dev/null @@ -1,35 +0,0 @@ -Tilt-Quadrotor mixer for PX4FMU (1/2) V2 -=========================== - -# @board px4_fmu-v2 exclude - -This file defines the main outputs mixer for a Tilt-quadrotor in the + configuration. - -# @output MAIN1 motor 1 -# @output MAIN2 motor 2 -# @output MAIN3 motor 3 -# @output MAIN4 motor 4 - -Motor 1 - -M: 2 -S: 0 1 10000 10000 0 -10000 10000 -S: 0 3 10000 10000 0 -10000 10000 - -Motor 2 - -M: 2 -S: 0 0 10000 10000 0 -10000 10000 -S: 0 3 10000 10000 0 -10000 10000 - -Motor 3 - -M: 2 -S: 0 1 -10000 -10000 0 -10000 10000 -S: 0 3 10000 10000 0 -10000 10000 - -Motor 4 - -M: 2 -S: 0 0 -10000 -10000 0 -10000 10000 -S: 0 3 10000 10000 0 -10000 10000 diff --git a/ROMFS/px4fmu_common/mixers/tri_y_yaw+.main.mix b/ROMFS/px4fmu_common/mixers/tri_y_yaw+.main.mix deleted file mode 100644 index 9b0a9b2708..0000000000 --- a/ROMFS/px4fmu_common/mixers/tri_y_yaw+.main.mix +++ /dev/null @@ -1,12 +0,0 @@ -# @board px4_fmu-v2 exclude - - -# Tricopter Y-Configuration Mixer -# Yaw Servo +Output ==> +Yaw Vehicle Rotation - -# Motors -R: 3y - -# Yaw Servo -M: 1 -S: 0 2 10000 10000 0 -10000 10000 diff --git a/ROMFS/px4fmu_common/mixers/tri_y_yaw-.main.mix b/ROMFS/px4fmu_common/mixers/tri_y_yaw-.main.mix deleted file mode 100644 index d53811142b..0000000000 --- a/ROMFS/px4fmu_common/mixers/tri_y_yaw-.main.mix +++ /dev/null @@ -1,13 +0,0 @@ -# @board px4_fmu-v2 exclude - - -# Tricopter Y-Configuration Mixer -# Yaw Servo +Output ==> -Yaw Vehicle Rotation - -# Motors -R: 3y - -# Yaw Servo -M: 1 -S: 0 2 -10000 -10000 0 -10000 10000 - diff --git a/ROMFS/px4fmu_common/mixers/vtol_AAERT.aux.mix b/ROMFS/px4fmu_common/mixers/vtol_AAERT.aux.mix deleted file mode 100644 index efef782992..0000000000 --- a/ROMFS/px4fmu_common/mixers/vtol_AAERT.aux.mix +++ /dev/null @@ -1,29 +0,0 @@ -Mixer for an AAERT VTOL -======================= - -# @board px4_fmu-v2 exclude - -Aileron 1 mixer ---------------- -M: 1 -S: 1 0 7500 7500 0 -10000 10000 - -Aileron 2 mixer ---------------- -M: 1 -S: 1 0 7500 7500 0 -10000 10000 - -Elevator mixer --------------- -M: 1 -S: 1 1 10000 10000 0 -10000 10000 - -Rudder mixer ------------- -M: 1 -S: 1 2 -10000 -10000 0 -10000 10000 - -Throttle mixer --------------- -M: 1 -S: 1 3 0 20000 -10000 -10000 10000 diff --git a/ROMFS/px4fmu_common/mixers/vtol_AAVVT.aux.mix b/ROMFS/px4fmu_common/mixers/vtol_AAVVT.aux.mix deleted file mode 100644 index e59584b213..0000000000 --- a/ROMFS/px4fmu_common/mixers/vtol_AAVVT.aux.mix +++ /dev/null @@ -1,56 +0,0 @@ -Aileron/v-tail/throttle VTOL mixer for PX4FMU -======================================================= - -# @board px4_fmu-v2 exclude - -This file defines mixers suitable for controlling a fixed wing aircraft with -aileron, v-tail (rudder, elevator) and throttle using PX4FMU. -The configuration assumes the aileron servos are connected to PX4FMU -AUX servo output 0 and 1, the tail servos to output 2 and 3, the throttle -to output 4. - -Inputs to the mixer come from channel group 0 (vehicle attitude), channels 0 -(roll), 1 (pitch), 2 (yaw) and 3 (thrust) 4 (flaps) 6 (flaperon). - -Aileron mixer (roll + spoiler) ---------------------------------- - -This mixer assumes that the aileron servos are set up correctly mechanically; -depending on the actual configuration it may be necessary to reverse the scaling -factors (to reverse the servo movement) and adjust the offset, scaling and -endpoints to suit. - -M: 2 -S: 1 0 -10000 -10000 0 -10000 10000 -S: 1 5 10000 10000 0 -10000 10000 - -M: 2 -S: 1 0 -10000 -10000 0 -10000 10000 -S: 1 5 -10000 -10000 0 -10000 10000 - - -V-tail mixers -------------- -Three scalers total (output, roll, pitch). - -On the assumption that the two tail servos are physically reversed, the pitch -input is inverted between the two servos. - -M: 2 -S: 1 2 -7000 -7000 0 -10000 10000 -S: 1 1 -8000 -8000 0 -10000 10000 - -M: 2 -S: 1 2 -7000 -7000 0 -10000 10000 -S: 1 1 8000 8000 0 -10000 10000 - -Motor speed mixer ------------------ -Two scalers total (output, thrust). - -This mixer generates a full-range output (-1 to 1) from an input in the (0 - 1) -range. Inputs below zero are treated as zero. - -M: 1 -S: 1 3 0 20000 -10000 -10000 10000 - diff --git a/ROMFS/px4fmu_common/mixers/vtol_TTTTAAER.aux.mix b/ROMFS/px4fmu_common/mixers/vtol_TTTTAAER.aux.mix deleted file mode 100644 index fe684c70bc..0000000000 --- a/ROMFS/px4fmu_common/mixers/vtol_TTTTAAER.aux.mix +++ /dev/null @@ -1,41 +0,0 @@ -# Generic quadplane tiltrotor servo mixer - -# @board px4_fmu-v2 exclude - -# Tilt mechanism servo mixer ---------------------------- -# front left up:2000 down:1000 -M: 1 -S: 1 8 0 -20000 10000 -10000 10000 - -# front right up:1000 down:2000 -M: 1 -S: 1 8 0 20000 -10000 -10000 10000 - -# rear left up:2000 down:1000 -M: 1 -S: 1 8 0 -20000 10000 -10000 10000 - -# rear right up:1000 down:2000 -M: 1 -S: 1 8 0 20000 -10000 -10000 10000 - - -# Aileron mixer -# --------------------------------- -M: 1 -S: 1 0 10000 10000 0 -10000 10000 - -M: 1 -S: 1 0 10000 10000 0 -10000 10000 - - -# Elevator mixer -# ------------ -M: 1 -S: 1 1 -10000 -10000 0 -10000 10000 - -# Rudder mixer -# ------------ -M: 1 -S: 1 2 10000 10000 0 -10000 10000 diff --git a/ROMFS/px4fmu_common/mixers/vtol_delta.aux.mix b/ROMFS/px4fmu_common/mixers/vtol_delta.aux.mix deleted file mode 100644 index af248f7ce0..0000000000 --- a/ROMFS/px4fmu_common/mixers/vtol_delta.aux.mix +++ /dev/null @@ -1,52 +0,0 @@ -Delta-wing VTOL mixer -===================== -# @board px4_fmu-v2 exclude - -This file defines mixers suitable for controlling a delta wing VTOL aircraft using -PX4FMU. The configuration assumes the elevon servos are connected to PX4FMU -AUX servo outputs 0 and 1 and the motor speed control to output 2. - -Inputs to the mixer come from channel group 0 (vehicle attitude), channels 0 -(roll), 1 (pitch) and 3 (thrust). - -See the README for more information on the scaler format. - -Elevon mixers -------------- -Three scalers total (output, roll, pitch). - -On the assumption that the two elevon servos are physically reversed, the pitch -input is inverted between the two servos. - -M: 2 -S: 1 0 8000 8000 0 -10000 10000 -S: 1 1 8000 8000 0 -10000 10000 - -M: 2 -S: 1 0 8000 8000 0 -10000 10000 -S: 1 1 -8000 -8000 0 -10000 10000 - -Motor speed mixer ------------------ -Two scalers total (output, thrust). - -This mixer generates a full-range output (-1 to 1) from an input in the (0 - 1) -range. Inputs below zero are treated as zero. - -M: 1 -S: 1 3 0 20000 -10000 -10000 10000 - - -Reverse thrust (brake) mixer ------------------ - -M: 1 -S: 1 6 0 20000 -10000 -10000 10000 - - -Aux1 mixer ------------------ -This is actuated on the AUX5 port - -M: 1 -S: 3 5 10000 10000 0 -10000 10000 diff --git a/ROMFS/px4fmu_common/mixers/vtol_tailsitter_duo.main.mix b/ROMFS/px4fmu_common/mixers/vtol_tailsitter_duo.main.mix deleted file mode 100644 index ba3a277224..0000000000 --- a/ROMFS/px4fmu_common/mixers/vtol_tailsitter_duo.main.mix +++ /dev/null @@ -1,38 +0,0 @@ -Tailsitter duo mixer -============================ -# @board px4_fmu-v2 exclude - -This file defines a mixer for a generic duo tailsitter VTOL (eg TBS Caipirinha tailsitter edition). This vehicle -has two motors in total, one attached to each wing. It also has two elevons which -are located in the slipstream of the propellers. This mixer generates 4 PWM outputs -on the main PWM output port, two at 400Hz for the motors, and two at 50Hz for the -elevon servos. Channels 1-4 are configured to run at 400Hz, while channels 5-8 run -at the default rate of 50Hz. Note that channels 3 and 4 are assigned but not used. - -Motor mixer ------------- -Channel 1 connects to the right (starboard) motor. -Channel 2 connects to the left (port) motor. - -R: 2- - -Zero mixer (2x) ---------------- -Channels 3,4 are unused. - -Z: - -Z: - -Elevons mixer --------------- -Channel 5 connects to the right (starboard) elevon. -Channel 6 connects to the left (port) elevon. - -M: 2 -S: 1 0 10000 10000 0 -10000 10000 -S: 1 1 10000 10000 0 -10000 10000 - -M: 2 -S: 1 0 10000 10000 0 -10000 10000 -S: 1 1 -10000 -10000 0 -10000 10000 diff --git a/ROMFS/px4fmu_common/mixers/vtol_tailsitter_duo_sat.main.mix b/ROMFS/px4fmu_common/mixers/vtol_tailsitter_duo_sat.main.mix deleted file mode 100644 index 55d0f1fe4a..0000000000 --- a/ROMFS/px4fmu_common/mixers/vtol_tailsitter_duo_sat.main.mix +++ /dev/null @@ -1,40 +0,0 @@ -# @board px4_fmu-v2 exclude -Tailsitter duo mixer -============================ - -This file defines a mixer for a generic duo tailsitter VTOL (eg TBS Caipirinha tailsitter edition). This vehicle -has two motors in total, one attached to each wing. It also has two elevons which -are located in the slipstream of the propellers. This mixer generates 4 PWM outputs -on the main PWM output port, two at 400Hz for the motors, and two at 50Hz for the -elevon servos. Channels 1-4 are configured to run at 400Hz, while channels 5-8 run -at the default rate of 50Hz. Note that channels 3 and 4 are assigned but not used. - -Motor mixer ------------- -Channel 1 connects to the right (starboard) motor. -Channel 2 connects to the left (port) motor. - -R: 2- - -Zero mixer (2x) ---------------- -Channels 3,4 are unused. - -Z: - -Z: - -Elevons mixer --------------- -Channel 5 connects to the right (starboard) elevon. -Channel 6 connects to the left (port) elevon. -Here we saturate the elevons before their full range -to avoid roll-pitch-yaw coupling during faster maneuvers - -M: 2 -S: 1 0 10000 10000 0 -6000 6000 -S: 1 1 10000 10000 0 -6000 6000 - -M: 2 -S: 1 0 10000 10000 0 -6000 6000 -S: 1 1 -10000 -10000 0 -6000 6000 diff --git a/ROMFS/px4fmu_test/CMakeLists.txt b/ROMFS/px4fmu_test/CMakeLists.txt index be3e27cb99..4844928124 100644 --- a/ROMFS/px4fmu_test/CMakeLists.txt +++ b/ROMFS/px4fmu_test/CMakeLists.txt @@ -32,4 +32,3 @@ ############################################################################ add_subdirectory(init.d) -add_subdirectory(mixers) diff --git a/ROMFS/px4fmu_test/mixers/AAERTWF.main.mix b/ROMFS/px4fmu_test/mixers/AAERTWF.main.mix deleted file mode 100644 index 150e95d894..0000000000 --- a/ROMFS/px4fmu_test/mixers/AAERTWF.main.mix +++ /dev/null @@ -1,96 +0,0 @@ -Aileron/rudder/elevator/throttle/wheel/flaps mixer for PX4FMU -======================================================= - -This file defines mixers suitable for controlling a fixed wing aircraft with -aileron, rudder, elevator, throttle and steerable wheel controls using PX4FMU. -The configuration assumes the aileron servo(s) are connected to PX4FMU servo -output 0 and 1, the elevator to output 2, the rudder to output 3, the throttle -to output 4 and the wheel to output 5. - -Inputs to the mixer come from channel group 0 (vehicle attitude), channels 0 -(roll), 1 (pitch), 2 (yaw) and 3 (thrust) 4 (flaps). - -Aileron mixer (roll + spoiler) ---------------------------------- - -This mixer assumes that the aileron servos are set up correctly mechanically; -depending on the actual configuration it may be necessary to reverse the scaling -factors (to reverse the servo movement) and adjust the offset, scaling and -endpoints to suit. - -M: 2 -O: 10000 10000 0 -10000 10000 -S: 0 0 10000 10000 0 -10000 10000 -S: 0 5 10000 10000 0 -10000 10000 - -M: 2 -O: 10000 10000 0 -10000 10000 -S: 0 0 10000 10000 0 -10000 10000 -S: 0 5 -10000 -10000 0 -10000 10000 - -Elevator mixer ------------- -Two scalers total (output, roll). - -This mixer assumes that the elevator servo is set up correctly mechanically; -depending on the actual configuration it may be necessary to reverse the scaling -factors (to reverse the servo movement) and adjust the offset, scaling and -endpoints to suit. - -M: 1 -O: 10000 10000 0 -10000 10000 -S: 0 1 -10000 -10000 0 -10000 10000 - -Rudder mixer ------------- -Two scalers total (output, yaw). - -This mixer assumes that the rudder servo is set up correctly mechanically; -depending on the actual configuration it may be necessary to reverse the scaling -factors (to reverse the servo movement) and adjust the offset, scaling and -endpoints to suit. - -M: 1 -O: 10000 10000 0 -10000 10000 -S: 0 2 10000 10000 0 -10000 10000 - -Motor speed mixer ------------------ -Two scalers total (output, thrust). - -This mixer generates a full-range output (-1 to 1) from an input in the (0 - 1) -range. Inputs below zero are treated as zero. - -M: 1 -O: 10000 10000 0 -10000 10000 -S: 0 3 0 20000 -10000 -10000 10000 - -Wheel mixer ------------- -Two scalers total (output, yaw). - -This mixer assumes that the wheel servo is set up correctly mechanically; -depending on the actual configuration it may be necessary to reverse the scaling -factors (to reverse the servo movement) and adjust the offset, scaling and -endpoints to suit. - -M: 1 -O: 10000 10000 0 -10000 10000 -S: 0 2 10000 10000 0 -10000 10000 - - -Flaps / gimbal / payload mixer for last three channels, -using the payload control group ------------------------------------------------------ - -M: 1 -O: 10000 10000 0 -10000 10000 -S: 0 4 10000 10000 0 -10000 10000 - -M: 1 -O: 10000 10000 0 -10000 10000 -S: 2 0 10000 10000 0 -10000 10000 - -M: 1 -O: 10000 10000 0 -10000 10000 -S: 2 2 10000 10000 0 -10000 10000 diff --git a/ROMFS/px4fmu_test/mixers/AAVVTWFF.main.mix b/ROMFS/px4fmu_test/mixers/AAVVTWFF.main.mix deleted file mode 100644 index 531cccaf1a..0000000000 --- a/ROMFS/px4fmu_test/mixers/AAVVTWFF.main.mix +++ /dev/null @@ -1,84 +0,0 @@ -Aileron/v-tail/throttle/wheel/flaps mixer for PX4FMU -======================================================= - -This file defines mixers suitable for controlling a fixed wing aircraft with -aileron, v-tail (rudder, elevator), throttle, steerable wheel and flaps -using PX4FMU. -The configuration assumes the aileron servos are connected to PX4FMU servo -output 0 and 1, the tail servos to output 2 and 3, the throttle -to output 4, the wheel to output 5 and the flaps to output 6 and 7. - -Inputs to the mixer come from channel group 0 (vehicle attitude), channels 0 -(roll), 1 (pitch), 2 (yaw) and 3 (thrust) 4 (flaps) 5 (spoiler). - -Aileron mixer (roll + spoiler) ---------------------------------- - -This mixer assumes that the aileron servos are set up correctly mechanically; -depending on the actual configuration it may be necessary to reverse the scaling -factors (to reverse the servo movement) and adjust the offset, scaling and -endpoints to suit. - -M: 2 -O: 10000 10000 0 -10000 10000 -S: 0 0 10000 10000 0 -10000 10000 -S: 0 5 10000 10000 0 -10000 10000 - -M: 2 -O: 10000 10000 0 -10000 10000 -S: 0 0 10000 10000 0 -10000 10000 -S: 0 5 -10000 -10000 0 -10000 10000 - -V-tail mixers -------------- -Three scalers total (output, roll, pitch). - -On the assumption that the two tail servos are physically reversed, the pitch -input is inverted between the two servos. - -M: 2 -O: 10000 10000 0 -10000 10000 -S: 0 2 -7000 -7000 0 -10000 10000 -S: 0 1 -8000 -8000 0 -10000 10000 - -M: 2 -O: 10000 10000 0 -10000 10000 -S: 0 2 -7000 -7000 0 -10000 10000 -S: 0 1 8000 8000 0 -10000 10000 - -Motor speed mixer ------------------ -Two scalers total (output, thrust). - -This mixer generates a full-range output (-1 to 1) from an input in the (0 - 1) -range. Inputs below zero are treated as zero. - -M: 1 -O: 10000 10000 0 -10000 10000 -S: 0 3 0 20000 -10000 -10000 10000 - -Wheel mixer ------------- -Two scalers total (output, yaw). - -This mixer assumes that the wheel servo is set up correctly mechanically; -depending on the actual configuration it may be necessary to reverse the scaling -factors (to reverse the servo movement) and adjust the offset, scaling and -endpoints to suit. - -M: 1 -O: 10000 10000 0 -10000 10000 -S: 0 2 -10000 -10000 0 -10000 10000 - -Flaps mixer ------------- -Flap servos are physically reversed. - -M: 1 -O: 10000 10000 0 -10000 10000 -S: 0 4 0 5000 -10000 -10000 10000 - -M: 1 -O: 10000 10000 0 -10000 10000 -S: 0 4 0 -5000 10000 -10000 10000 - diff --git a/ROMFS/px4fmu_test/mixers/AERT.main.mix b/ROMFS/px4fmu_test/mixers/AERT.main.mix deleted file mode 100644 index 975d520081..0000000000 --- a/ROMFS/px4fmu_test/mixers/AERT.main.mix +++ /dev/null @@ -1,81 +0,0 @@ -Aileron/rudder/elevator/throttle mixer for PX4FMU -================================================== - -This file defines mixers suitable for controlling a fixed wing aircraft with -aileron, rudder, elevator and throttle controls using PX4FMU. The configuration -assumes the aileron servo(s) are connected to PX4FMU servo output 0, the -elevator to output 1, the rudder to output 2 and the throttle to output 3. - -Inputs to the mixer come from channel group 0 (vehicle attitude), channels 0 -(roll), 1 (pitch) and 3 (thrust). - -CH1: Aileron mixer -------------- -Two scalers total (output, roll). - -This mixer assumes that the aileron servos are set up correctly mechanically; -depending on the actual configuration it may be necessary to reverse the scaling -factors (to reverse the servo movement) and adjust the offset, scaling and -endpoints to suit. - -As there is only one output, if using two servos adjustments to compensate for -differences between the servos must be made mechanically. To obtain the correct -motion using a Y cable, the servos can be positioned reversed from one another. - -M: 1 -O: 10000 10000 0 -10000 10000 -S: 0 0 10000 10000 0 -10000 10000 - -CH2: Elevator mixer ------------- -Two scalers total (output, roll). - -This mixer assumes that the elevator servo is set up correctly mechanically; -depending on the actual configuration it may be necessary to reverse the scaling -factors (to reverse the servo movement) and adjust the offset, scaling and -endpoints to suit. - -M: 1 -O: 10000 10000 0 -10000 10000 -S: 0 1 -10000 -10000 0 -10000 10000 - -CH3: Rudder mixer ------------- -Two scalers total (output, yaw). - -This mixer assumes that the rudder servo is set up correctly mechanically; -depending on the actual configuration it may be necessary to reverse the scaling -factors (to reverse the servo movement) and adjust the offset, scaling and -endpoints to suit. - -M: 1 -O: 10000 10000 0 -10000 10000 -S: 0 2 10000 10000 0 -10000 10000 - -CH4: Motor speed mixer ------------------ -Two scalers total (output, thrust). - -This mixer generates a full-range output (-1 to 1) from an input in the (0 - 1) -range. Inputs below zero are treated as zero. - -M: 1 -O: 10000 10000 0 -10000 10000 -S: 0 3 0 20000 -10000 -10000 10000 - -CH5: Flaps mixer ------------- -Flaps are controlled automatically in position control and auto -but can also be controlled manually - -M: 1 -O: 5000 10000 0 -10000 10000 -S: 0 4 10000 10000 0 -10000 10000 - -Ch6: Landing gear mixer ------------- -By default pass-through of gear switch - -M: 1 -O: 10000 10000 0 -10000 10000 -S: 3 5 10000 10000 0 -10000 10000 \ No newline at end of file diff --git a/ROMFS/px4fmu_test/mixers/AETRFG.main.mix b/ROMFS/px4fmu_test/mixers/AETRFG.main.mix deleted file mode 100644 index 47de4ed3e0..0000000000 --- a/ROMFS/px4fmu_test/mixers/AETRFG.main.mix +++ /dev/null @@ -1,81 +0,0 @@ -Aileron/Elevator/Throttle/Rudder/Gear/Flaps mixer -================================================== - -This file defines mixers suitable for controlling a fixed wing aircraft with -aileron, rudder, elevator, throttle, gear, flaps controls. The configuration -assumes the aileron servo(s) are connected to output 0, the elevator to -output 1, the throttle to output 2 and the rudder to output 3. - -Inputs to the mixer come from channel group 0 (vehicle attitude), channels 0 -(roll), 1 (pitch), 2 (thrust), 3 (yaw), 4 (flaps), 7 (landing gear) - -CH1: Aileron mixer -------------- -Two scalers total (output, roll). - -This mixer assumes that the aileron servos are set up correctly mechanically; -depending on the actual configuration it may be necessary to reverse the scaling -factors (to reverse the servo movement) and adjust the offset, scaling and -endpoints to suit. - -As there is only one output, if using two servos adjustments to compensate for -differences between the servos must be made mechanically. To obtain the correct -motion using a Y cable, the servos can be positioned reversed from one another. - -M: 1 -O: 10000 10000 0 -10000 10000 -S: 0 0 10000 10000 0 -10000 10000 - -CH2: Elevator mixer ------------- -Two scalers total (output, roll). - -This mixer assumes that the elevator servo is set up correctly mechanically; -depending on the actual configuration it may be necessary to reverse the scaling -factors (to reverse the servo movement) and adjust the offset, scaling and -endpoints to suit. - -M: 1 -O: 10000 10000 0 -10000 10000 -S: 0 1 -10000 -10000 0 -10000 10000 - -CH3: Motor speed mixer ------------------ -Two scalers total (output, thrust). - -This mixer generates a full-range output (-1 to 1) from an input in the (0 - 1) -range. Inputs below zero are treated as zero. - -M: 1 -O: 10000 10000 0 -10000 10000 -S: 0 3 0 20000 -10000 -10000 10000 - -CH4: Rudder mixer ------------- -Two scalers total (output, yaw). - -This mixer assumes that the rudder servo is set up correctly mechanically; -depending on the actual configuration it may be necessary to reverse the scaling -factors (to reverse the servo movement) and adjust the offset, scaling and -endpoints to suit. - -M: 1 -O: 10000 10000 0 -10000 10000 -S: 0 2 10000 10000 0 -10000 10000 - -CH5: Flaps mixer ------------- -Flaps are controlled automatically in position control and auto -but can also be controlled manually - -M: 1 -O: 5000 10000 0 -10000 10000 -S: 0 4 10000 10000 0 -10000 10000 - -CH6: Landing gear mixer ------------- -By default pass-through of gear switch - -M: 1 -O: 10000 10000 0 -10000 10000 -S: 3 5 10000 10000 0 -10000 10000 diff --git a/ROMFS/px4fmu_test/mixers/CMakeLists.txt b/ROMFS/px4fmu_test/mixers/CMakeLists.txt deleted file mode 100644 index 287652a9b8..0000000000 --- a/ROMFS/px4fmu_test/mixers/CMakeLists.txt +++ /dev/null @@ -1,53 +0,0 @@ -############################################################################ -# -# Copyright (c) 2018 PX4 Development Team. All rights reserved. -# -# Redistribution and use in source and binary forms, with or without -# modification, are permitted provided that the following conditions -# are met: -# -# 1. Redistributions of source code must retain the above copyright -# notice, this list of conditions and the following disclaimer. -# 2. Redistributions in binary form must reproduce the above copyright -# notice, this list of conditions and the following disclaimer in -# the documentation and/or other materials provided with the -# distribution. -# 3. Neither the name PX4 nor the names of its contributors may be -# used to endorse or promote products derived from this software -# without specific prior written permission. -# -# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS -# "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT -# LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS -# FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE -# COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, -# INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, -# BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS -# OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED -# AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT -# LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN -# ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE -# POSSIBILITY OF SUCH DAMAGE. -# -############################################################################ - -px4_add_romfs_files( - AAERTWF.main.mix - AAVVTWFF.main.mix - AERT.main.mix - AETRFG.main.mix - complex_test.mix - hexa_x.main.mix - IO_pass.mix - octo_x.main.mix - pass.aux.mix - quad_+.main.mix - quad_test.mix - quad_+_vtol.main.mix - rover_generic.main.mix - vtol1_test.mix - vtol2_test.mix - vtol_AAERT.aux.mix - vtol_AAVVT.aux.mix - vtol_convergence.main.mix - ) diff --git a/ROMFS/px4fmu_test/mixers/IO_pass.mix b/ROMFS/px4fmu_test/mixers/IO_pass.mix deleted file mode 100644 index 39f875ddb9..0000000000 --- a/ROMFS/px4fmu_test/mixers/IO_pass.mix +++ /dev/null @@ -1,38 +0,0 @@ -Passthrough mixer for PX4IO -============================ - -This file defines passthrough mixers suitable for testing. - -Channel group 0, channels 0-7 are passed directly through to the outputs. - -M: 1 -O: 10000 10000 0 -10000 10000 -S: 0 0 10000 10000 0 -10000 10000 - -M: 1 -O: 10000 10000 0 -10000 10000 -S: 0 1 10000 10000 0 -10000 10000 - -M: 1 -O: 10000 10000 0 -10000 10000 -S: 0 2 10000 10000 0 -10000 10000 - -M: 1 -O: 10000 10000 0 -10000 10000 -S: 0 3 10000 10000 0 -10000 10000 - -M: 1 -O: 10000 10000 0 -10000 10000 -S: 0 4 10000 10000 0 -10000 10000 - -M: 1 -O: 10000 10000 0 -10000 10000 -S: 0 5 10000 10000 0 -10000 10000 - -M: 1 -O: 10000 10000 0 -10000 10000 -S: 0 6 10000 10000 0 -10000 10000 - -M: 1 -O: 10000 10000 0 -10000 10000 -S: 0 7 10000 10000 0 -10000 10000 diff --git a/ROMFS/px4fmu_test/mixers/complex_test.mix b/ROMFS/px4fmu_test/mixers/complex_test.mix deleted file mode 100644 index 06b5e62594..0000000000 --- a/ROMFS/px4fmu_test/mixers/complex_test.mix +++ /dev/null @@ -1,27 +0,0 @@ -M: 4 -O: 10000 10000 0 -10000 10000 -S: 0 0 10000 10000 0 -10000 10000 -S: 0 1 10000 10000 0 -10000 10000 -S: 0 2 10000 10000 0 -10000 10000 -S: 0 3 10000 10000 0 -10000 10000 -M: 1 -O: 10000 10000 0 -10000 10000 -S: 0 1 10000 10000 0 -10000 10000 -M: 1 -O: 10000 10000 0 -10000 10000 -S: 0 2 10000 10000 0 -10000 10000 -M: 1 -O: 10000 10000 0 -10000 10000 -S: 0 3 10000 10000 0 -10000 10000 -M: 1 -O: 10000 10000 0 -10000 10000 -S: 0 4 10000 10000 0 -10000 10000 -M: 1 -O: 10000 10000 0 -10000 10000 -S: 0 5 10000 10000 0 -10000 10000 -M: 1 -O: 10000 10000 0 -10000 10000 -S: 0 6 10000 10000 0 -10000 10000 -M: 1 -O: 10000 10000 0 -10000 10000 -S: 0 7 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 deleted file mode 100644 index be6a25ca57..0000000000 --- a/ROMFS/px4fmu_test/mixers/hexa_x.main.mix +++ /dev/null @@ -1,4 +0,0 @@ -# Hexa X - -R: 6x - diff --git a/ROMFS/px4fmu_test/mixers/octo_x.main.mix b/ROMFS/px4fmu_test/mixers/octo_x.main.mix deleted file mode 100644 index 1be7209411..0000000000 --- a/ROMFS/px4fmu_test/mixers/octo_x.main.mix +++ /dev/null @@ -1,3 +0,0 @@ -# Octo X - -R: 8x diff --git a/ROMFS/px4fmu_test/mixers/pass.aux.mix b/ROMFS/px4fmu_test/mixers/pass.aux.mix deleted file mode 100644 index 8e7011f0ed..0000000000 --- a/ROMFS/px4fmu_test/mixers/pass.aux.mix +++ /dev/null @@ -1,21 +0,0 @@ -# Manual pass through mixer for servo outputs 1-4 - -# AUX1 channel (select RC channel with RC_MAP_AUX1 param) -M: 1 -O: 10000 10000 0 -10000 10000 -S: 3 5 10000 10000 0 -10000 10000 - -# AUX2 channel (select RC channel with RC_MAP_AUX2 param) -M: 1 -O: 10000 10000 0 -10000 10000 -S: 3 6 10000 10000 0 -10000 10000 - -# AUX3 channel (select RC channel with RC_MAP_AUX3 param) -M: 1 -O: 10000 10000 0 -10000 10000 -S: 3 7 10000 10000 0 -10000 10000 - -# FLAPS channel (select RC channel with RC_MAP_FLAPS param) -M: 1 -O: 10000 10000 0 -10000 10000 -S: 3 4 10000 10000 0 -10000 10000 diff --git a/ROMFS/px4fmu_test/mixers/quad_+.main.mix b/ROMFS/px4fmu_test/mixers/quad_+.main.mix deleted file mode 100644 index c45a501961..0000000000 --- a/ROMFS/px4fmu_test/mixers/quad_+.main.mix +++ /dev/null @@ -1,18 +0,0 @@ -Multirotor mixer for PX4FMU -=========================== - -This file defines a single mixer for a quadrotor in the + configuration. All controls -are mixed 100%. - -R: 4+ - -Gimbal / payload mixer for last two channels ------------------------------------------------------ - -M: 1 -O: 10000 10000 0 -10000 10000 -S: 3 5 10000 10000 0 -10000 10000 - -M: 1 -O: 10000 10000 0 -10000 10000 -S: 3 6 10000 10000 0 -10000 10000 diff --git a/ROMFS/px4fmu_test/mixers/quad_+_vtol.main.mix b/ROMFS/px4fmu_test/mixers/quad_+_vtol.main.mix deleted file mode 100644 index 8ab9a9fb91..0000000000 --- a/ROMFS/px4fmu_test/mixers/quad_+_vtol.main.mix +++ /dev/null @@ -1,28 +0,0 @@ -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+ - -# mixer for the elevons -M: 2 -O: 10000 10000 0 -10000 10000 -S: 1 0 10000 10000 0 -10000 10000 -S: 1 1 10000 10000 0 -10000 10000 - -M: 2 -O: 10000 10000 0 -10000 10000 -S: 1 0 10000 10000 0 -10000 10000 -S: 1 1 -10000 -10000 0 -10000 10000 - -# mixer for canard surface -M: 1 -O: 10000 10000 0 -10000 10000 -S: 1 1 -10000 -10000 0 -10000 10000 - -# mixer for rudder -M: 1 -O: 10000 10000 0 -10000 10000 -S: 1 2 -10000 -10000 0 -10000 10000 diff --git a/ROMFS/px4fmu_test/mixers/quad_test.mix b/ROMFS/px4fmu_test/mixers/quad_test.mix deleted file mode 100644 index d3ed8a3479..0000000000 --- a/ROMFS/px4fmu_test/mixers/quad_test.mix +++ /dev/null @@ -1,25 +0,0 @@ -Multirotor mixer for TEST -=========================== - -This file defines a single mixer for a quadrotor with a wide configuration. All controls are mixed 100%. - -R: 4w - -Gimbal / payload mixer for last four channels ------------------------------------------------------ - -M: 1 -O: 10000 10000 0 -10000 10000 -S: 0 4 10000 10000 0 -10000 10000 - -M: 1 -O: 10000 10000 0 -10000 10000 -S: 0 5 10000 10000 0 -10000 10000 - -M: 1 -O: 10000 10000 0 -10000 10000 -S: 0 6 10000 10000 0 -10000 10000 - -M: 1 -O: 10000 10000 0 -10000 10000 -S: 0 7 10000 10000 0 -10000 10000 diff --git a/ROMFS/px4fmu_test/mixers/quad_x.main.mix b/ROMFS/px4fmu_test/mixers/quad_x.main.mix deleted file mode 100644 index 85b9927002..0000000000 --- a/ROMFS/px4fmu_test/mixers/quad_x.main.mix +++ /dev/null @@ -1,7 +0,0 @@ -R: 4x -M: 1 -O: 10000 10000 0 -10000 10000 -S: 3 5 10000 10000 0 -10000 10000 -M: 1 -O: 10000 10000 0 -10000 10000 -S: 3 6 10000 10000 0 -10000 10000 diff --git a/ROMFS/px4fmu_test/mixers/rover_generic.main.mix b/ROMFS/px4fmu_test/mixers/rover_generic.main.mix deleted file mode 100644 index aacfef1f5b..0000000000 --- a/ROMFS/px4fmu_test/mixers/rover_generic.main.mix +++ /dev/null @@ -1,37 +0,0 @@ -Generic car mixer (eg Traxxas Stampede RC Car) -=========================== - -Designed for Traxxas Stampede - -This file defines mixers suitable for controlling a Traxxas Stampede rover using -PX4FMU. The configuration assumes the steering is connected to PX4FMU -servo outputs 1 and the motor speed control to output 3. Output 0 and 2 is -assumed to be unused. - -Inputs to the mixer come from channel group 0 (vehicle attitude), channels 2 (yaw), and 3 (thrust). - -See the README for more information on the scaler format. - - -Output 0 ---------------------------------------- -Z: - -Steering mixer using roll on output 1 ---------------------------------------- -M: 1 -O: 10000 10000 0 -10000 10000 -S: 0 2 10000 10000 0 -10000 10000 - - -Output 2 ---------------------------------------- -This mixer is empty. -Z: - - -Output 3 ---------------------------------------- -M: 1 -O: 10000 10000 0 -10000 10000 -S: 0 3 10000 10000 0 -10000 10000 diff --git a/ROMFS/px4fmu_test/mixers/vtol1_test.mix b/ROMFS/px4fmu_test/mixers/vtol1_test.mix deleted file mode 100644 index 9df14777be..0000000000 --- a/ROMFS/px4fmu_test/mixers/vtol1_test.mix +++ /dev/null @@ -1,12 +0,0 @@ -# VTOL test mixer - -R: 2- -Z: -M: 2 -O: 10000 10000 0 -10000 10000 -S: 1 0 10000 10000 0 -10000 10000 -S: 1 1 10000 10000 0 -10000 10000 -M: 2 -O: 10000 10000 0 -10000 10000 -S: 1 0 10000 10000 0 -10000 10000 -S: 1 1 -10000 -10000 0 -10000 10000 diff --git a/ROMFS/px4fmu_test/mixers/vtol2_test.mix b/ROMFS/px4fmu_test/mixers/vtol2_test.mix deleted file mode 100644 index f9ed50e6c9..0000000000 --- a/ROMFS/px4fmu_test/mixers/vtol2_test.mix +++ /dev/null @@ -1,32 +0,0 @@ -# E-flite Convergence Tricopter Y-Configuration Mixer - -# Motors -R: 3y - -Z: - -Tilt mechanism servo mixer ---------------------------- -#RIGHT up:2000 down:1000 -M: 2 -O: 10000 10000 0 -10000 10000 -S: 1 8 0 -20000 9000 -10000 10000 -S: 0 2 4000 4000 0 -10000 10000 - -#LEFT up:1000 down:2000 -M: 2 -O: 10000 10000 0 -10000 10000 -S: 1 8 0 20000 -10000 -10000 10000 -S: 0 2 4000 4000 0 -10000 10000 - -Elevon mixers -------------- -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 diff --git a/ROMFS/px4fmu_test/mixers/vtol_AAERT.aux.mix b/ROMFS/px4fmu_test/mixers/vtol_AAERT.aux.mix deleted file mode 100644 index f3e9c42354..0000000000 --- a/ROMFS/px4fmu_test/mixers/vtol_AAERT.aux.mix +++ /dev/null @@ -1,32 +0,0 @@ -Mixer for an AAERT VTOL -======================= - -Aileron 1 mixer ---------------- -M: 1 -O: 10000 10000 0 -10000 10000 -S: 1 0 -7500 -7500 0 -10000 10000 - -Aileron 2 mixer ---------------- -M: 1 -O: 10000 10000 0 -10000 10000 -S: 1 0 -7500 -7500 0 -10000 10000 - -Elevator mixer --------------- -M: 1 -O: 10000 10000 0 -10000 10000 -S: 1 1 10000 10000 0 -10000 10000 - -Rudder mixer ------------- -M: 1 -O: 10000 10000 0 -10000 10000 -S: 1 2 -10000 -10000 0 -10000 10000 - -Throttle mixer --------------- -M: 1 -O: 10000 10000 0 -10000 10000 -S: 1 3 0 20000 -10000 -10000 10000 diff --git a/ROMFS/px4fmu_test/mixers/vtol_AAVVT.aux.mix b/ROMFS/px4fmu_test/mixers/vtol_AAVVT.aux.mix deleted file mode 100644 index a9026ebd65..0000000000 --- a/ROMFS/px4fmu_test/mixers/vtol_AAVVT.aux.mix +++ /dev/null @@ -1,59 +0,0 @@ -Aileron/v-tail/throttle VTOL mixer for PX4FMU -======================================================= - -This file defines mixers suitable for controlling a fixed wing aircraft with -aileron, v-tail (rudder, elevator) and throttle using PX4FMU. -The configuration assumes the aileron servos are connected to PX4FMU -AUX servo output 0 and 1, the tail servos to output 2 and 3, the throttle -to output 4. - -Inputs to the mixer come from channel group 0 (vehicle attitude), channels 0 -(roll), 1 (pitch), 2 (yaw) and 3 (thrust) 4 (flaps) 5 (spoiler). - -Aileron mixer (roll + spoiler) ---------------------------------- - -This mixer assumes that the aileron servos are set up correctly mechanically; -depending on the actual configuration it may be necessary to reverse the scaling -factors (to reverse the servo movement) and adjust the offset, scaling and -endpoints to suit. - -M: 2 -O: 10000 10000 0 -10000 10000 -S: 1 0 10000 10000 0 -10000 10000 -S: 1 5 10000 10000 0 -10000 10000 - -M: 2 -O: 10000 10000 0 -10000 10000 -S: 1 0 10000 10000 0 -10000 10000 -S: 1 5 -10000 -10000 0 -10000 10000 - - -V-tail mixers -------------- -Three scalers total (output, roll, pitch). - -On the assumption that the two tail servos are physically reversed, the pitch -input is inverted between the two servos. - -M: 2 -O: 10000 10000 0 -10000 10000 -S: 1 2 -7000 -7000 0 -10000 10000 -S: 1 1 -8000 -8000 0 -10000 10000 - -M: 2 -O: 10000 10000 0 -10000 10000 -S: 1 2 -7000 -7000 0 -10000 10000 -S: 1 1 8000 8000 0 -10000 10000 - -Motor speed mixer ------------------ -Two scalers total (output, thrust). - -This mixer generates a full-range output (-1 to 1) from an input in the (0 - 1) -range. Inputs below zero are treated as zero. - -M: 1 -O: 10000 10000 0 -10000 10000 -S: 1 3 0 20000 -10000 -10000 10000 - diff --git a/ROMFS/px4fmu_test/mixers/vtol_convergence.main.mix b/ROMFS/px4fmu_test/mixers/vtol_convergence.main.mix deleted file mode 100644 index ed9b69360b..0000000000 --- a/ROMFS/px4fmu_test/mixers/vtol_convergence.main.mix +++ /dev/null @@ -1,32 +0,0 @@ -# E-flite Convergence Tricopter Y-Configuration Mixer - -# Motors -R: 3y - -Z: - -Tilt mechanism servo mixer ---------------------------- -#RIGHT up:2000 down:1000 -M: 2 -O: 10000 10000 0 -10000 10000 -S: 1 8 0 -20000 10000 -10000 10000 -S: 0 2 8000 8000 0 -10000 10000 - -#LEFT up:1000 down:2000 -M: 2 -O: 10000 10000 0 -10000 10000 -S: 1 8 0 20000 -10000 -10000 10000 -S: 0 2 8000 8000 0 -10000 10000 - -Elevon mixers -------------- -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 diff --git a/Tools/px_romfs_pruner.py b/Tools/px_romfs_pruner.py index 46b9eff80f..20ae3109bf 100755 --- a/Tools/px_romfs_pruner.py +++ b/Tools/px_romfs_pruner.py @@ -105,18 +105,10 @@ def main(): # find excluded boards if re.search(r'\b{0} exclude\b'.format(args.board), line): board_excluded = True - # handle mixer files differently than startup files - if file_path.endswith(".mix"): - if line.startswith(("Z:", "M:", "R: ", "O:", "S:", - "H:", "T:", "P:", "A:")): - # reduce multiple consecutive spaces into a - # single space - line_reduced = re.sub(' +', ' ', line) - pruned_content += line_reduced - else: - if not line.isspace() \ - and not line.strip().startswith("#"): - pruned_content += line.strip() + "\n" + + if not line.isspace() \ + and not line.strip().startswith("#"): + pruned_content += line.strip() + "\n" # delete the file if it doesn't contain the architecture # write out the pruned content else if not board_excluded: diff --git a/Tools/run-shellcheck.sh b/Tools/run-shellcheck.sh index af64143761..5c745bad7a 100755 --- a/Tools/run-shellcheck.sh +++ b/Tools/run-shellcheck.sh @@ -14,7 +14,7 @@ search_directory="$1" command -v shellcheck >/dev/null 2>&1 || { echo -e >&2 \ "Error: shellcheck required but it's not installed. On Ubuntu use:\n sudo apt-get install shellcheck\n\nAborting."; exit 1; } -scripts="$(find "$search_directory" -type f ! -name '*.txt' ! -name '*.mix' ! -name '*.bin')" +scripts="$(find "$search_directory" -type f ! -name '*.txt' ! -name '*.bin')" echo "Running shellcheck in '$search_directory'." diff --git a/boards/cubepilot/cubeorange/init/rc.board_defaults b/boards/cubepilot/cubeorange/init/rc.board_defaults index 7f961cd33e..8ae2ed458b 100644 --- a/boards/cubepilot/cubeorange/init/rc.board_defaults +++ b/boards/cubepilot/cubeorange/init/rc.board_defaults @@ -14,4 +14,6 @@ param set-default SENS_EN_THERMAL 0 param set-default -s SENS_TEMP_ID 2621474 +param set-default SYS_USE_IO 1 + set IOFW "/etc/extras/cubepilot_io-v2_default.bin" diff --git a/boards/cubepilot/cubeyellow/init/rc.board_defaults b/boards/cubepilot/cubeyellow/init/rc.board_defaults index 6f39beb0c8..54705e650d 100644 --- a/boards/cubepilot/cubeyellow/init/rc.board_defaults +++ b/boards/cubepilot/cubeyellow/init/rc.board_defaults @@ -13,4 +13,6 @@ param set-default BAT2_A_PER_V 17 # Disable IMU thermal control param set-default SENS_EN_THERMAL 0 +param set-default SYS_USE_IO 1 + set IOFW "/etc/extras/cubepilot_io-v2_default.bin" diff --git a/boards/holybro/durandal-v1/init/rc.board_defaults b/boards/holybro/durandal-v1/init/rc.board_defaults index 49254efb15..2a3b2c0a7b 100644 --- a/boards/holybro/durandal-v1/init/rc.board_defaults +++ b/boards/holybro/durandal-v1/init/rc.board_defaults @@ -11,3 +11,5 @@ param set-default BAT2_A_PER_V 36.367515152 # Enable IMU thermal control param set-default SENS_EN_THERMAL 1 + +param set-default SYS_USE_IO 1 diff --git a/boards/holybro/pix32v5/init/rc.board_defaults b/boards/holybro/pix32v5/init/rc.board_defaults index c2300a50a7..94c5828214 100644 --- a/boards/holybro/pix32v5/init/rc.board_defaults +++ b/boards/holybro/pix32v5/init/rc.board_defaults @@ -9,5 +9,7 @@ param set-default BAT2_V_DIV 18.1 param set-default BAT1_A_PER_V 36.367515152 param set-default BAT2_A_PER_V 36.367515152 +param set-default SYS_USE_IO 1 + rgbled_pwm start safety_button start diff --git a/boards/mro/x21-777/init/rc.board_defaults b/boards/mro/x21-777/init/rc.board_defaults index 5d576dd747..e9fecd78a8 100644 --- a/boards/mro/x21-777/init/rc.board_defaults +++ b/boards/mro/x21-777/init/rc.board_defaults @@ -5,3 +5,5 @@ param set-default BAT1_V_DIV 10.177939394 param set-default BAT1_A_PER_V 15.391030303 + +param set-default SYS_USE_IO 1 diff --git a/boards/mro/x21/extras/px4_io-v2_default.bin b/boards/mro/x21/extras/px4_io-v2_default.bin new file mode 100755 index 0000000000000000000000000000000000000000..51403914013d2f9cecc849dfda750db977a95303 GIT binary patch literal 39924 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 literal 0 HcmV?d00001 diff --git a/boards/mro/x21/init/rc.board_defaults b/boards/mro/x21/init/rc.board_defaults index 5d576dd747..e9fecd78a8 100644 --- a/boards/mro/x21/init/rc.board_defaults +++ b/boards/mro/x21/init/rc.board_defaults @@ -5,3 +5,5 @@ param set-default BAT1_V_DIV 10.177939394 param set-default BAT1_A_PER_V 15.391030303 + +param set-default SYS_USE_IO 1 diff --git a/boards/px4/fmu-v2/init/rc.board_defaults b/boards/px4/fmu-v2/init/rc.board_defaults index 65348c4f84..e9fecd78a8 100644 --- a/boards/px4/fmu-v2/init/rc.board_defaults +++ b/boards/px4/fmu-v2/init/rc.board_defaults @@ -6,3 +6,4 @@ param set-default BAT1_V_DIV 10.177939394 param set-default BAT1_A_PER_V 15.391030303 +param set-default SYS_USE_IO 1 diff --git a/boards/px4/fmu-v3/init/rc.board_defaults b/boards/px4/fmu-v3/init/rc.board_defaults index 65348c4f84..e9fecd78a8 100644 --- a/boards/px4/fmu-v3/init/rc.board_defaults +++ b/boards/px4/fmu-v3/init/rc.board_defaults @@ -6,3 +6,4 @@ param set-default BAT1_V_DIV 10.177939394 param set-default BAT1_A_PER_V 15.391030303 +param set-default SYS_USE_IO 1 diff --git a/boards/px4/fmu-v4pro/init/rc.board_defaults b/boards/px4/fmu-v4pro/init/rc.board_defaults index 8dd9df28d5..42378a19d7 100644 --- a/boards/px4/fmu-v4pro/init/rc.board_defaults +++ b/boards/px4/fmu-v4pro/init/rc.board_defaults @@ -13,4 +13,6 @@ param set-default BAT2_A_PER_V 26.4 param set-default EKF2_MULTI_IMU 2 param set-default SENS_IMU_MODE 0 +param set-default SYS_USE_IO 1 + set LOGGER_BUF 64 diff --git a/boards/px4/fmu-v5/init/rc.board_defaults b/boards/px4/fmu-v5/init/rc.board_defaults index b88ad0245e..67829cee28 100644 --- a/boards/px4/fmu-v5/init/rc.board_defaults +++ b/boards/px4/fmu-v5/init/rc.board_defaults @@ -9,6 +9,13 @@ param set-default BAT2_V_DIV 18.1 param set-default BAT1_A_PER_V 36.367515152 param set-default BAT2_A_PER_V 36.367515152 +if ver hwtypecmp V5004000 V5006000 +then + param set-default SYS_USE_IO 0 +else + param set-default SYS_USE_IO 1 +fi + if ver hwtypecmp V5005000 V5005002 V5006000 V5006002 then # CUAV V5+ (V550/V552) and V5nano (V560/V562) have 3 IMUs diff --git a/boards/px4/fmu-v5x/init/rc.board_defaults b/boards/px4/fmu-v5x/init/rc.board_defaults index a7d844a366..ba812e4b7b 100644 --- a/boards/px4/fmu-v5x/init/rc.board_defaults +++ b/boards/px4/fmu-v5x/init/rc.board_defaults @@ -16,4 +16,6 @@ param set-default SENS_EN_INA238 0 param set-default SENS_EN_INA228 0 param set-default SENS_EN_INA226 1 +param set-default SYS_USE_IO 1 + safety_button start diff --git a/boards/px4/fmu-v6c/init/rc.board_defaults b/boards/px4/fmu-v6c/init/rc.board_defaults index f7dd269721..6418e5836d 100644 --- a/boards/px4/fmu-v6c/init/rc.board_defaults +++ b/boards/px4/fmu-v6c/init/rc.board_defaults @@ -9,3 +9,5 @@ param set-default BAT2_V_DIV 18.1 param set-default BAT1_A_PER_V 36.367515152 param set-default BAT2_A_PER_V 36.367515152 + +param set-default SYS_USE_IO 1 diff --git a/boards/px4/fmu-v6x/init/rc.board_defaults b/boards/px4/fmu-v6x/init/rc.board_defaults index a7d844a366..ba812e4b7b 100644 --- a/boards/px4/fmu-v6x/init/rc.board_defaults +++ b/boards/px4/fmu-v6x/init/rc.board_defaults @@ -16,4 +16,6 @@ param set-default SENS_EN_INA238 0 param set-default SENS_EN_INA228 0 param set-default SENS_EN_INA226 1 +param set-default SYS_USE_IO 1 + safety_button start diff --git a/boards/sky-drones/smartap-airlink/init/rc.board_defaults b/boards/sky-drones/smartap-airlink/init/rc.board_defaults index 14270fc9df..c581f8c741 100644 --- a/boards/sky-drones/smartap-airlink/init/rc.board_defaults +++ b/boards/sky-drones/smartap-airlink/init/rc.board_defaults @@ -25,6 +25,7 @@ param set-default BAT_V_OFFS_CURR 0.413 # Disable safety switch param set-default CBRK_IO_SAFETY 22027 +param set-default SYS_USE_IO 1 safety_button start diff --git a/boards/spracing/h7extreme/init/rc.board_defaults b/boards/spracing/h7extreme/init/rc.board_defaults index e154e34980..34177ec437 100644 --- a/boards/spracing/h7extreme/init/rc.board_defaults +++ b/boards/spracing/h7extreme/init/rc.board_defaults @@ -19,5 +19,3 @@ param set-default ATT_W_ACC 0.4000 param set-default ATT_W_GYRO_BIAS 0.0000 param set-default SYS_HAS_MAG 0 - -param set-default DSHOT_CONFIG 600 diff --git a/posix-configs/SITL/init/test/test_shutdown b/posix-configs/SITL/init/test/test_shutdown index 6cc691ebaa..7a66bb4577 100644 --- a/posix-configs/SITL/init/test/test_shutdown +++ b/posix-configs/SITL/init/test/test_shutdown @@ -33,7 +33,7 @@ fw_pos_control_l1 start vtol fw_att_control start vtol airspeed_selector start -#mixer load /dev/pwm_output0 ROMFS/sitl/mixers/standard_vtol_sitl.main.mix +control_allocator start ver all diff --git a/posix-configs/bbblue/px4.config b/posix-configs/bbblue/px4.config index 80c0b18d72..7ae7ed0f27 100644 --- a/posix-configs/bbblue/px4.config +++ b/posix-configs/bbblue/px4.config @@ -82,8 +82,8 @@ sleep 1 # RC port is mapped to /dev/ttyS4 (auto-detected) #rc_input start -d /dev/ttyS4 +control_allocator start linux_pwm_out start -mixer load /dev/pwm_out etc/mixers/quad_x.main.mix logger start -t -b 200 diff --git a/posix-configs/bbblue/px4_fw.config b/posix-configs/bbblue/px4_fw.config index 4097e7e035..7e3d6f0e74 100644 --- a/posix-configs/bbblue/px4_fw.config +++ b/posix-configs/bbblue/px4_fw.config @@ -77,8 +77,8 @@ sleep 1 # RC port is mapped to /dev/ttyS4 (auto-detected) rc_input start -d /dev/ttyS4 +control_allocator start linux_pwm_out start -mixer load /dev/pwm_out etc/mixers/AETRFG.main.mix logger start -t -b 200 diff --git a/posix-configs/rpi/pilotpi_fw.config b/posix-configs/rpi/pilotpi_fw.config index 01807d0d60..7235007931 100644 --- a/posix-configs/rpi/pilotpi_fw.config +++ b/posix-configs/rpi/pilotpi_fw.config @@ -42,7 +42,7 @@ ads1115 start -I # PWM pca9685_pwm_out start -mixer load /dev/pwm_output0 etc/mixers/AAERTWF.main.mix +control_allocator start # external GPS & compass gps start -d /dev/ttySC0 -i uart -p ubx -s diff --git a/posix-configs/rpi/pilotpi_mc.config b/posix-configs/rpi/pilotpi_mc.config index 7a4807fad5..9c037597c7 100644 --- a/posix-configs/rpi/pilotpi_mc.config +++ b/posix-configs/rpi/pilotpi_mc.config @@ -42,7 +42,7 @@ ads1115 start -I # PWM pca9685_pwm_out start -mixer load /dev/pwm_output0 etc/mixers/quad_x.main.mix +control_allocator start # external GPS & compass gps start -d /dev/ttySC0 -i uart -p ubx -s diff --git a/posix-configs/rpi/px4.config b/posix-configs/rpi/px4.config index b6663669e5..3937452583 100644 --- a/posix-configs/rpi/px4.config +++ b/posix-configs/rpi/px4.config @@ -57,7 +57,7 @@ fi navio_sysfs_rc_in start linux_pwm_out start -mixer load /dev/pwm_out etc/mixers/quad_x.main.mix +control_allocator start logger start -t -b 200 diff --git a/posix-configs/rpi/px4_fw.config b/posix-configs/rpi/px4_fw.config index 387e0a745a..7e65605bef 100644 --- a/posix-configs/rpi/px4_fw.config +++ b/posix-configs/rpi/px4_fw.config @@ -55,7 +55,7 @@ fi navio_sysfs_rc_in start linux_pwm_out start -mixer load /dev/pwm_out etc/mixers/AETRFG.main.mix +control_allocator start logger start -t -b 200 diff --git a/posix-configs/rpi/px4_hil.config b/posix-configs/rpi/px4_hil.config index 802e3c01ec..6554f52d45 100644 --- a/posix-configs/rpi/px4_hil.config +++ b/posix-configs/rpi/px4_hil.config @@ -37,7 +37,7 @@ mc_rate_control start mavlink start -x -u 14577 -r 1000000 -p navio_sysfs_rc_in start pwm_out_sim start -mixer load /dev/pwm_output0 etc/mixers/quad_x.main.mix +control_allocator start logger start -t -b 200 diff --git a/posix-configs/rpi/px4_test.config b/posix-configs/rpi/px4_test.config index 5b14f185b8..74c6643b3b 100644 --- a/posix-configs/rpi/px4_test.config +++ b/posix-configs/rpi/px4_test.config @@ -54,7 +54,7 @@ fi navio_sysfs_rc_in start linux_pwm_out start -mixer load /dev/pwm_out etc/mixers/quad_x.main.mix +control_allocator start logger start -t -f -b 200 diff --git a/src/drivers/dshot/DShot.cpp b/src/drivers/dshot/DShot.cpp index de97422716..2b4acc7cb3 100644 --- a/src/drivers/dshot/DShot.cpp +++ b/src/drivers/dshot/DShot.cpp @@ -191,41 +191,6 @@ void DShot::enable_dshot_outputs(const bool enabled) request_stop(); return; } - - } else { - DShotConfig config = (DShotConfig)_param_dshot_config.get(); - - unsigned int dshot_frequency = DSHOT600; - - switch (config) { - case DShotConfig::DShot150: - dshot_frequency = DSHOT150; - break; - - case DShotConfig::DShot300: - dshot_frequency = DSHOT300; - break; - - case DShotConfig::DShot600: - dshot_frequency = DSHOT600; - break; - - case DShotConfig::DShot1200: - dshot_frequency = DSHOT1200; - break; - - default: - break; - } - - int ret = up_dshot_init(_output_mask, dshot_frequency); - - if (ret < 0) { - PX4_ERR("up_dshot_init failed (%i)", ret); - return; - } - - _output_mask = ret; } _outputs_initialized = true; diff --git a/src/drivers/dshot/DShot.h b/src/drivers/dshot/DShot.h index 1e2169a810..3bf4e7784f 100644 --- a/src/drivers/dshot/DShot.h +++ b/src/drivers/dshot/DShot.h @@ -177,7 +177,6 @@ private: uORB::Publication _command_ack_pub{ORB_ID(vehicle_command_ack)}; DEFINE_PARAMETERS( - (ParamInt) _param_dshot_config, (ParamFloat) _param_dshot_min, (ParamBool) _param_dshot_3d_enable, (ParamInt) _param_dshot_3d_dead_h, diff --git a/src/drivers/dshot/module.yaml b/src/drivers/dshot/module.yaml index 850aaf69df..edd38edd23 100644 --- a/src/drivers/dshot/module.yaml +++ b/src/drivers/dshot/module.yaml @@ -8,24 +8,6 @@ serial_config: parameters: - group: DShot definitions: - DSHOT_CONFIG: - description: - short: Configure DShot - long: | - This enables/disables DShot. The different modes define different - speeds, for example DShot150 = 150kb/s. Not all ESCs support all modes. - - Note: this enables DShot on the FMU outputs. For boards with an IO it is the - AUX outputs. - type: enum - values: - 0: Disable (use PWM/Oneshot) - 150: DShot150 - 300: DShot300 - 600: DShot600 - 1200: DShot1200 - reboot_required: true - default: 0 DSHOT_MIN: description: short: Minimum DShot Motor Output diff --git a/src/drivers/px4io/px4io_params.c b/src/drivers/px4io/px4io_params.c index 84385e4216..ef1c1ee6ab 100644 --- a/src/drivers/px4io/px4io_params.c +++ b/src/drivers/px4io/px4io_params.c @@ -52,7 +52,7 @@ * @reboot_required true * @group System */ -PARAM_DEFINE_INT32(SYS_USE_IO, 1); +PARAM_DEFINE_INT32(SYS_USE_IO, 0); /** * S.BUS out