From 66d86aae2eabed7723423d4fb950b8e9de4c302d Mon Sep 17 00:00:00 2001 From: Lorenz Meier Date: Sat, 13 Feb 2021 20:40:37 +0100 Subject: [PATCH] Flight mode manager: Protect for full throttle scaling PX4 supports -1 to 1 as input and this module was not protected against the input range. --- src/modules/flight_mode_manager/tasks/Utility/Sticks.cpp | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/src/modules/flight_mode_manager/tasks/Utility/Sticks.cpp b/src/modules/flight_mode_manager/tasks/Utility/Sticks.cpp index a271db5f18..a58baf926a 100644 --- a/src/modules/flight_mode_manager/tasks/Utility/Sticks.cpp +++ b/src/modules/flight_mode_manager/tasks/Utility/Sticks.cpp @@ -53,7 +53,8 @@ bool Sticks::checkAndSetStickInputs() // Linear scale _positions(0) = manual_control_setpoint.x; // NED x, pitch [-1,1] _positions(1) = manual_control_setpoint.y; // NED y, roll [-1,1] - _positions(2) = -(manual_control_setpoint.z - 0.5f) * 2.f; // NED z, thrust resacaled from [0,1] to [-1,1] + _positions(2) = -(math::constrain(manual_control_setpoint.z, 0.0f, + 1.0f) - 0.5f) * 2.f; // NED z, thrust resacaled from [0,1] to [-1,1] _positions(3) = manual_control_setpoint.r; // yaw [-1,1] // Exponential scale