Browse Source

PWMSim: refactor to use math constrain

sbg
Matthias Grob 6 years ago committed by Lorenz Meier
parent
commit
c22dbe130b
  1. 13
      src/drivers/pwm_out_sim/PWMSim.cpp

13
src/drivers/pwm_out_sim/PWMSim.cpp

@ -31,9 +31,11 @@
* *
****************************************************************************/ ****************************************************************************/
#include <px4_time.h>
#include "PWMSim.hpp" #include "PWMSim.hpp"
#include <px4_time.h>
#include <mathlib/mathlib.h>
#include <uORB/topics/multirotor_motor_limits.h> #include <uORB/topics/multirotor_motor_limits.h>
PWMSim::PWMSim() : PWMSim::PWMSim() :
@ -254,14 +256,7 @@ PWMSim::run()
_actuator_outputs.output[i] <= 1.0f) { _actuator_outputs.output[i] <= 1.0f) {
/* scale for PWM output 1000 - 2000us */ /* scale for PWM output 1000 - 2000us */
_actuator_outputs.output[i] = 1500 + (500 * _actuator_outputs.output[i]); _actuator_outputs.output[i] = 1500 + (500 * _actuator_outputs.output[i]);
_actuator_outputs.output[i] = math::constrain(_actuator_outputs.output[i], (float)_pwm_min[i], (float)_pwm_max[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];
}
} else { } else {
/* /*

Loading…
Cancel
Save