diff options
author | Lorenz Meier <lm@inf.ethz.ch> | 2014-05-23 20:38:13 +0200 |
---|---|---|
committer | Lorenz Meier <lm@inf.ethz.ch> | 2014-05-23 20:38:13 +0200 |
commit | b4a03d8de540f71232672427491e4eb6e6df9f3c (patch) | |
tree | 94b4f21065789bebd854930d43de0c1c12755716 | |
parent | 0ea3e95422c4898b3ab93ba7b9b84cbdb76bad02 (diff) | |
download | px4-firmware-b4a03d8de540f71232672427491e4eb6e6df9f3c.tar.gz px4-firmware-b4a03d8de540f71232672427491e4eb6e6df9f3c.tar.bz2 px4-firmware-b4a03d8de540f71232672427491e4eb6e6df9f3c.zip |
pwm_limit: Add missing case for the arming ramp
-rw-r--r-- | src/modules/systemlib/pwm_limit/pwm_limit.c | 7 |
1 files changed, 7 insertions, 0 deletions
diff --git a/src/modules/systemlib/pwm_limit/pwm_limit.c b/src/modules/systemlib/pwm_limit/pwm_limit.c index de2caf143..ea5ba9e52 100644 --- a/src/modules/systemlib/pwm_limit/pwm_limit.c +++ b/src/modules/systemlib/pwm_limit/pwm_limit.c @@ -136,6 +136,13 @@ void pwm_limit_calc(const bool armed, const unsigned num_channels, const uint16_ } effective_pwm[i] = output[i] * (max_pwm[i] - ramp_min_pwm)/2 + (max_pwm[i] + ramp_min_pwm)/2; + + /* last line of defense against invalid inputs */ + if (effective_pwm[i] < ramp_min_pwm) { + effective_pwm[i] = ramp_min_pwm; + } else if (effective_pwm[i] > max_pwm[i]) { + effective_pwm[i] = max_pwm[i]; + } } } break; |