diff --git a/src/drivers/pwm_out_sim/PWMSim.cpp b/src/drivers/pwm_out_sim/PWMSim.cpp index 7b10e6c4f15fdbeaf8f2a26ff7e8a1b653a0142f..ff7285c60976878a0d993b2bfdaec7c4f365972b 100644 --- a/src/drivers/pwm_out_sim/PWMSim.cpp +++ b/src/drivers/pwm_out_sim/PWMSim.cpp @@ -31,9 +31,11 @@ * ****************************************************************************/ -#include <px4_time.h> #include "PWMSim.hpp" +#include <px4_time.h> +#include <mathlib/mathlib.h> + #include <uORB/topics/multirotor_motor_limits.h> PWMSim::PWMSim() : @@ -254,14 +256,7 @@ PWMSim::run() _actuator_outputs.output[i] <= 1.0f) { /* scale for PWM output 1000 - 2000us */ _actuator_outputs.output[i] = 1500 + (500 * _actuator_outputs.output[i]); - - if (_actuator_outputs.output[i] > _pwm_max[i]) { - _actuator_outputs.output[i] = _pwm_max[i]; - } - - if (_actuator_outputs.output[i] < _pwm_min[i]) { - _actuator_outputs.output[i] = _pwm_min[i]; - } + _actuator_outputs.output[i] = math::constrain(_actuator_outputs.output[i], (float)_pwm_min[i], (float)_pwm_max[i]); } else { /*