From c22dbe130bebc33095d95ac5ee322a788cd80d6a Mon Sep 17 00:00:00 2001
From: Matthias Grob <maetugr@gmail.com>
Date: Fri, 28 Dec 2018 20:45:23 +0100
Subject: [PATCH] PWMSim: refactor to use math constrain

---
 src/drivers/pwm_out_sim/PWMSim.cpp | 13 ++++---------
 1 file changed, 4 insertions(+), 9 deletions(-)

diff --git a/src/drivers/pwm_out_sim/PWMSim.cpp b/src/drivers/pwm_out_sim/PWMSim.cpp
index 7b10e6c4f1..ff7285c609 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 {
 					/*
-- 
GitLab