From 2a78d7dfd100b7db4f59b1a83816c294c535b897 Mon Sep 17 00:00:00 2001 From: Nick <145654544+ttechnick@users.noreply.github.com> Date: Tue, 6 Jan 2026 18:05:35 +0100 Subject: [PATCH] pwm: Add PWM center support to Wheel and Gimbal (#26211) * Add Wheel and Gimbal support to PWM center * Document Center feature for PWM Gimbal --- .../config/actuators/qgc_actuators_gimbal.png | Bin 5582 -> 37475 bytes docs/en/advanced/gimbal_control.md | 2 +- src/lib/mixer_module/mixer_module.cpp | 6 ++++-- 3 files changed, 5 insertions(+), 3 deletions(-) diff --git a/docs/assets/config/actuators/qgc_actuators_gimbal.png b/docs/assets/config/actuators/qgc_actuators_gimbal.png index e19434e678d77061022605cae9b4a1e1fb9dfba7..a062d88da765b2712a8b3aa71be2ee571779d8f5 100644 GIT binary patch literal 37475 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 literal 5582 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 diff --git a/docs/en/advanced/gimbal_control.md b/docs/en/advanced/gimbal_control.md index b5a7596ec2..f449b74587 100644 --- a/docs/en/advanced/gimbal_control.md +++ b/docs/en/advanced/gimbal_control.md @@ -74,7 +74,7 @@ For example, you might have the following settings to assign the gimbal roll, pi ![Gimbal Actuator config](../../assets/config/actuators/qgc_actuators_gimbal.png) -The PWM values to use for the disarmed, maximum and minimum values can be determined in the same way as other servo, using the [Actuator Test sliders](../config/actuators.md#actuator-testing) to confirm that each slider moves the appropriate axis, and changing the values so that the gimbal is in the appropriate position at the disarmed, low and high position in the slider. +The PWM values to use for the disarmed, maximum, center and minimum values can be determined in the same way as other servo, using the [Actuator Test sliders](../config/actuators.md#actuator-testing) to confirm that each slider moves the appropriate axis, and changing the values so that the gimbal is in the appropriate position at the disarmed, low, center and high position in the slider. The values may also be provided in gimbal documentation. ## Gimbal Control in Missions diff --git a/src/lib/mixer_module/mixer_module.cpp b/src/lib/mixer_module/mixer_module.cpp index fe1b818f86..eb67188018 100644 --- a/src/lib/mixer_module/mixer_module.cpp +++ b/src/lib/mixer_module/mixer_module.cpp @@ -545,8 +545,10 @@ uint16_t MixingOutput::output_limit_calc_single(int i, float value) const float output = _disarmed_value[i]; - if (_function_assignment[i] >= OutputFunction::Servo1 - && _function_assignment[i] <= OutputFunction::ServoMax + if (((_function_assignment[i] >= OutputFunction::Servo1 + && _function_assignment[i] <= OutputFunction::ServoMax) || _function_assignment[i] == OutputFunction::Landing_Gear_Wheel + || (_function_assignment[i] >= OutputFunction::Gimbal_Roll + && _function_assignment[i] <= OutputFunction::Gimbal_Yaw)) && _param_handles[i].center != PARAM_INVALID && _center_value[i] >= 800 && _center_value[i] <= 2200) {