Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Introduce actuator output function parameters #18265

Merged
merged 54 commits into from
Oct 18, 2021
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
54 commits
Select commit Hold shift + click to select a range
b65e26e
commander: correct lockdown CLI description
bkueng Sep 15, 2021
731f902
fix mixer_module: use PRIx32 for debug printf
bkueng Sep 15, 2021
abdfec0
control allocation: introduce parameter SYS_CTRL_ALLOC & unify build …
bkueng Sep 10, 2021
2d040a3
control_allocator: remove direct mixer, add actuator_{motors,servos} …
bkueng Sep 11, 2021
dce8967
vehicle_command.msg: add VEHICLE_CMD_DO_SET_ACTUATOR
bkueng Sep 11, 2021
890d5a9
mavlink_receiver: publish MAV_CMD_DO_SET_ACTUATOR command
bkueng Sep 14, 2021
e89fc1a
mixer_module: add output functions
bkueng Sep 11, 2021
ff30106
mixer_module: generate output_functions header from yaml file
bkueng Sep 12, 2021
850072e
mixer_module: add output functions for servos, landing gear, parachut…
bkueng Sep 13, 2021
d784fa8
refactor Tools/serial: move non-serial param generation into separate…
bkueng Sep 13, 2021
4ae8eea
refactor output_limit: split output_limit_calc_single into separate f…
bkueng Sep 14, 2021
4829974
generate_params.py: fix parse_yaml_parameters_config
bkueng Sep 14, 2021
875ee42
mixer_module: add param generation for disarmed, min, max, failsafe
bkueng Sep 14, 2021
d54f74c
generate_params.py: extend params 'definitions' section to support a …
bkueng Sep 15, 2021
f5b08ca
params: add script to parse timer_config.cpp for timer group info
bkueng Sep 15, 2021
2fcc301
spracing/h7extreme: use single-line comments instead of multi-lines
bkueng Sep 16, 2021
a5146af
dshot: handle telemetry index correctly when dynamic mixer is used
bkueng Sep 16, 2021
6aa1319
output modules: add param prefix argument to MixingOutput
bkueng Sep 16, 2021
55451c3
uavcan: add dynamic mixing support
bkueng Sep 16, 2021
004cbee
uavcan: reduce sensor status output verbosity
bkueng Sep 16, 2021
d9cca7e
uavcan: implement servo outputs
bkueng Sep 17, 2021
b658fa3
pwm_out, dshot: add dynamic mixing support
bkueng Sep 17, 2021
9052e77
linux_pwm_out: add dynamic mixing support
bkueng Sep 17, 2021
85830bd
pca9685_pwm_out: add dynamic mixing support
bkueng Sep 17, 2021
39719f1
tap_esc: add dynamic mixing support
bkueng Sep 17, 2021
56d1499
uavcan_v1: add dynamic mixing support
bkueng Sep 17, 2021
738839f
pwm_out_sim: add dynamic mixing support
bkueng Sep 17, 2021
b939a40
rc.mc_apps: allow to set COM_PREARM_MODE with control allocation
bkueng Sep 17, 2021
0c73421
px4/fmu-v5: add capture pins to list of pwm pins
bkueng Sep 15, 2021
719afa4
holybro/durandal-v1: add capture pins to list of pwm pins
bkueng Sep 17, 2021
954a6cb
holybro/pix32v5: add capture pins to list of pwm pins
bkueng Sep 17, 2021
c808dbb
modalai/fc-v2: remove unused DIRECT_PWM_CAPTURE_CHANNELS define
bkueng Sep 17, 2021
f259832
px4/fmu-v5x: add capture pins to list of pwm pins
bkueng Sep 17, 2021
4aed991
fmu-v6u: add capture pins to list of pwm pins
bkueng Sep 17, 2021
81d5af6
px4/fmu-v6x: add capture pins to list of pwm pins
bkueng Sep 17, 2021
b179916
pwm_out_sim: use PWM_FMU for sitl and HIL_ACT for hitl
bkueng Sep 17, 2021
084f083
airframes: set output function params for ctrlalloc airframes
bkueng Sep 17, 2021
be1db51
fix pwm_out: ensure up_pwm_servo_arm() is never continuously called
bkueng Sep 20, 2021
d69ac4d
module_schema.yaml: add actuator_output section
bkueng Sep 20, 2021
0c9f781
control_allocator: avoid default argument for virtual method getEffec…
bkueng Sep 20, 2021
d75ee15
output_groups_from_timer_config.py: fix timer index
bkueng Oct 5, 2021
63473ab
boards/px4/io-v2: swap timer definitions
bkueng Oct 5, 2021
ae2fd5f
params: use PWM_MAIN_* instead of PWM_FMU_*
bkueng Oct 5, 2021
ef372d9
px4io, pwm_out: update pwm default checking
bkueng Oct 5, 2021
18a4218
px4io: add dynamic mixing support
bkueng Oct 5, 2021
bc9144a
ROMFS: disable vtol airframes for kakutef7
bkueng Oct 6, 2021
27b9beb
nxp/fmurt1062-v1: set CONSTRAINED_FLASH
bkueng Oct 6, 2021
718d48b
cubepilot/cubeorange test: disable uavcan to reduce flash usage
bkueng Oct 6, 2021
010b5f2
ci compile_nuttx: disable fail-fast
bkueng Oct 6, 2021
a5ccc0f
boards: px4_fmu-v3_test disable modules to save flash
dagar Oct 6, 2021
4e5b8ef
boards: px4_fmu-v5_uavcanv0periph disable modules to save flash
dagar Oct 6, 2021
e1be42a
boards: px4_fmu-v6x_default disable modules to save flash
dagar Oct 7, 2021
e54288a
fix pwm: only update oneshot timers owned by the current pwm_out inst…
bkueng Oct 8, 2021
564e8a8
px4/fmu-v5 test, uavcanv0periph: disable modules to reduce flash
bkueng Oct 8, 2021
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
1 change: 1 addition & 0 deletions .github/workflows/compile_nuttx.yml
Original file line number Diff line number Diff line change
Expand Up @@ -13,6 +13,7 @@ jobs:
runs-on: ubuntu-latest
container: px4io/px4-dev-nuttx-focal:2021-09-08
strategy:
fail-fast: false
matrix:
config: [
airmind_mindpx-v2,
Expand Down
2 changes: 1 addition & 1 deletion Makefile
Original file line number Diff line number Diff line change
Expand Up @@ -464,7 +464,7 @@ shellcheck_all:
@make px4_fmu-v5_default shellcheck

validate_module_configs:
@find "$(SRC_DIR)"/src/modules "$(SRC_DIR)"/src/drivers "$(SRC_DIR)"/src/lib -name *.yaml -type f -print0 | xargs -0 "$(SRC_DIR)"/Tools/validate_yaml.py --schema-file "$(SRC_DIR)"/validation/module_schema.yaml
@find "$(SRC_DIR)"/src/modules "$(SRC_DIR)"/src/drivers "$(SRC_DIR)"/src/lib -name *.yaml -type f -not -path "$(SRC_DIR)/src/lib/mixer_module/*" -print0 | xargs -0 "$(SRC_DIR)"/Tools/validate_yaml.py --schema-file "$(SRC_DIR)"/validation/module_schema.yaml

# Cleanup
# --------------------------------------------------------------------
Expand Down
11 changes: 9 additions & 2 deletions ROMFS/px4fmu_common/init.d-posix/airframes/10017_iris_ctrlalloc
Original file line number Diff line number Diff line change
Expand Up @@ -8,7 +8,8 @@
#

. ${R}etc/init.d/rc.mc_defaults
. ${R}etc/init.d/rc.ctrlalloc

param set-default SYS_CTRL_ALLOC 1

param set-default MPC_USE_HTE 0

Expand Down Expand Up @@ -45,4 +46,10 @@ param set-default CA_MC_R3_PY 0.1875
param set-default CA_MC_R3_CT 6.5
param set-default CA_MC_R3_KM -0.05

set MIXER direct
param set-default PWM_MAIN_FUNC1 101
param set-default PWM_MAIN_FUNC2 102
param set-default PWM_MAIN_FUNC3 103
param set-default PWM_MAIN_FUNC4 104

set MIXER skip
set MIXER_AUX none
Original file line number Diff line number Diff line change
Expand Up @@ -6,7 +6,8 @@
#

. ${R}etc/init.d/rc.mc_defaults
. ${R}etc/init.d/rc.ctrlalloc

param set-default SYS_CTRL_ALLOC 1

param set-default MC_PITCHRATE_P 0.0800
param set-default MC_PITCHRATE_I 0.0400
Expand Down Expand Up @@ -75,7 +76,14 @@ param set-default CA_MC_R5_PY -0.5
param set-default CA_MC_R5_CT 9.5
param set-default CA_MC_R5_KM -0.05

param set-default PWM_MAIN_FUNC1 101
param set-default PWM_MAIN_FUNC2 102
param set-default PWM_MAIN_FUNC3 103
param set-default PWM_MAIN_FUNC4 104
param set-default PWM_MAIN_FUNC5 105
param set-default PWM_MAIN_FUNC6 106

set MAV_TYPE 13

# set MIXER hexa_x
set MIXER direct
set MIXER skip
set MIXER_AUX none
1 change: 0 additions & 1 deletion ROMFS/px4fmu_common/init.d/CMakeLists.txt
Original file line number Diff line number Diff line change
Expand Up @@ -55,5 +55,4 @@ px4_add_romfs_files(
rc.vehicle_setup
rc.vtol_apps
rc.vtol_defaults
rc.ctrlalloc
)
Original file line number Diff line number Diff line change
Expand Up @@ -9,6 +9,7 @@
#
# @board px4_fmu-v2 exclude
# @board bitcraze_crazyflie exclude
# @board holybro_kakutef7 exclude
#

. ${R}etc/init.d/rc.vtol_defaults
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -19,6 +19,7 @@
#
# @board px4_fmu-v2 exclude
# @board bitcraze_crazyflie exclude
# @board holybro_kakutef7 exclude
#

. ${R}etc/init.d/rc.vtol_defaults
Expand Down
1 change: 1 addition & 0 deletions ROMFS/px4fmu_common/init.d/airframes/13001_caipirinha_vtol
Original file line number Diff line number Diff line change
Expand Up @@ -14,6 +14,7 @@
#
# @board px4_fmu-v2 exclude
# @board bitcraze_crazyflie exclude
# @board holybro_kakutef7 exclude
#

. ${R}etc/init.d/rc.vtol_defaults
Expand Down
1 change: 1 addition & 0 deletions ROMFS/px4fmu_common/init.d/airframes/13005_vtol_AAERT_quad
Original file line number Diff line number Diff line change
Expand Up @@ -19,6 +19,7 @@
#
# @board px4_fmu-v2 exclude
# @board bitcraze_crazyflie exclude
# @board holybro_kakutef7 exclude
#

. ${R}etc/init.d/rc.vtol_defaults
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -17,6 +17,7 @@
#
# @board px4_fmu-v2 exclude
# @board bitcraze_crazyflie exclude
# @board holybro_kakutef7 exclude
#

. ${R}etc/init.d/rc.vtol_defaults
Expand Down
1 change: 1 addition & 0 deletions ROMFS/px4fmu_common/init.d/airframes/13007_vtol_AAVVT_quad
Original file line number Diff line number Diff line change
Expand Up @@ -9,6 +9,7 @@
#
# @board px4_fmu-v2 exclude
# @board bitcraze_crazyflie exclude
# @board holybro_kakutef7 exclude
#

. ${R}etc/init.d/rc.vtol_defaults
Expand Down
1 change: 1 addition & 0 deletions ROMFS/px4fmu_common/init.d/airframes/13009_vtol_spt_ranger
Original file line number Diff line number Diff line change
Expand Up @@ -9,6 +9,7 @@
#
# @board px4_fmu-v2 exclude
# @board bitcraze_crazyflie exclude
# @board holybro_kakutef7 exclude
#

. ${R}etc/init.d/rc.vtol_defaults
Expand Down
1 change: 1 addition & 0 deletions ROMFS/px4fmu_common/init.d/airframes/13014_vtol_babyshark
Original file line number Diff line number Diff line change
Expand Up @@ -18,6 +18,7 @@
#
# @board px4_fmu-v2 exclude
# @board bitcraze_crazyflie exclude
# @board holybro_kakutef7 exclude
#

. ${R}etc/init.d/rc.vtol_defaults
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -22,6 +22,7 @@
#
# @board px4_fmu-v2 exclude
# @board bitcraze_crazyflie exclude
# @board holybro_kakutef7 exclude
#

. ${R}etc/init.d/rc.vtol_defaults
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -21,6 +21,7 @@
#
# @board px4_fmu-v2 exclude
# @board bitcraze_crazyflie exclude
# @board holybro_kakutef7 exclude
#

. ${R}etc/init.d/rc.vtol_defaults
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -14,6 +14,7 @@
#
# @board px4_fmu-v2 exclude
# @board bitcraze_crazyflie exclude
# @board holybro_kakutef7 exclude
#

. ${R}etc/init.d/rc.vtol_defaults
Expand Down
12 changes: 8 additions & 4 deletions ROMFS/px4fmu_common/init.d/airframes/4018_s500_ctrlalloc
Original file line number Diff line number Diff line change
Expand Up @@ -11,9 +11,11 @@
#

. ${R}etc/init.d/rc.mc_defaults
. ${R}etc/init.d/rc.ctrlalloc

set MIXER none
set MIXER skip
set MIXER_AUX none

param set-default SYS_CTRL_ALLOC 1

param set-default MPC_USE_HTE 0

Expand Down Expand Up @@ -50,6 +52,8 @@ param set-default CA_MC_R3_PY 0.177
param set-default CA_MC_R3_CT 6.5
param set-default CA_MC_R3_KM -0.05

set MIXER direct
param set-default PWM_MAIN_FUNC1 101
param set-default PWM_MAIN_FUNC2 102
param set-default PWM_MAIN_FUNC3 103
param set-default PWM_MAIN_FUNC4 104

set MIXER_AUX direct_aux
14 changes: 9 additions & 5 deletions ROMFS/px4fmu_common/init.d/airframes/6003_hexa_x_ctrlalloc
Original file line number Diff line number Diff line change
Expand Up @@ -11,8 +11,8 @@
#

. ${R}etc/init.d/rc.mc_defaults
. ${R}etc/init.d/rc.ctrlalloc

param set-default SYS_CTRL_ALLOC 1
param set-default MPC_USE_HTE 0

param set-default VM_MASS 1.5
Expand Down Expand Up @@ -66,8 +66,12 @@ param set-default CA_MC_R5_PY -0.1375
param set-default CA_MC_R5_CT 6.5
param set-default CA_MC_R5_KM -0.05

set MIXER direct
set PWM_OUT 123456
param set-default PWM_MAIN_FUNC1 101
param set-default PWM_MAIN_FUNC2 102
param set-default PWM_MAIN_FUNC3 103
param set-default PWM_MAIN_FUNC4 104
param set-default PWM_MAIN_FUNC5 105
param set-default PWM_MAIN_FUNC6 106

set MIXER_AUX direct_aux
set PWM_AUX_OUT 123456
set MIXER skip
set MIXER_AUX none
26 changes: 0 additions & 26 deletions ROMFS/px4fmu_common/init.d/rc.ctrlalloc

This file was deleted.

16 changes: 11 additions & 5 deletions ROMFS/px4fmu_common/init.d/rc.interface
Original file line number Diff line number Diff line change
Expand Up @@ -96,10 +96,16 @@ then

if [ $OUTPUT_MODE = $OUTPUT_CMD -o $OUTPUT_MODE = io ]
then
if ! $OUTPUT_CMD start
if param compare SYS_CTRL_ALLOC 1
then
echo "$OUTPUT_CMD start failed"
tune_control play error
pwm_out start
dshot start
else
if ! $OUTPUT_CMD start
then
echo "$OUTPUT_CMD start failed"
tune_control play error
fi
fi
fi
fi
Expand Down Expand Up @@ -214,10 +220,10 @@ fi

if [ $OUTPUT_MODE = pwm_out -o $OUTPUT_MODE = io ]
then
if [ $PWM_OUT != none ]
if [ $PWM_OUT != none -a $PWM_MAIN_RATE != none ]
then
# Set PWM output frequency.
if [ $PWM_MAIN_RATE != none ]
if ! param compare SYS_CTRL_ALLOC 1
then
pwm rate -c ${PWM_OUT} -r ${PWM_MAIN_RATE}
fi
Expand Down
16 changes: 16 additions & 0 deletions ROMFS/px4fmu_common/init.d/rc.mc_apps
Original file line number Diff line number Diff line change
Expand Up @@ -48,6 +48,22 @@ fi
# End Estimator Group Selection #
###############################################################################

if param compare SYS_CTRL_ALLOC 1
then
#
# Start Control Allocator
#
control_allocator start

#
# Disable hover thrust estimator and prearming
# These features are currently incompatible with control allocation
#
# TODO: fix
#
param set MPC_USE_HTE 0
fi

#
# Start Multicopter Rate Controller.
#
Expand Down
1 change: 0 additions & 1 deletion ROMFS/px4fmu_common/mixers-sitl/CMakeLists.txt
Original file line number Diff line number Diff line change
Expand Up @@ -44,5 +44,4 @@ px4_add_romfs_files(
tiltrotor_sitl.main.mix
uuv_x_sitl.main.mix
vectored6dof_sitl.main.mix
tiltrotor_sitl_direct.main.mix
)
14 changes: 0 additions & 14 deletions ROMFS/px4fmu_common/mixers-sitl/tiltrotor_sitl_direct.main.mix

This file was deleted.

1 change: 0 additions & 1 deletion ROMFS/px4fmu_common/mixers/CMakeLists.txt
Original file line number Diff line number Diff line change
Expand Up @@ -46,7 +46,6 @@ px4_add_romfs_files(
coax.main.mix
delta.main.mix
deltaquad.main.mix
direct.main.mix
dodeca_bottom_cox.aux.mix
dodeca_top_cox.main.mix
firefly6.aux.mix
Expand Down
11 changes: 0 additions & 11 deletions ROMFS/px4fmu_common/mixers/direct.main.mix

This file was deleted.

Loading