From a74d087fd83c6e8d6eac4ab077580a06ec356731 Mon Sep 17 00:00:00 2001 From: Andrew Tridgell Date: Sun, 3 Jan 2021 16:48:55 +1100 Subject: [PATCH] SRV_Channel: prevent FPE with SERVOn_MIN==SERVOn_MAX --- libraries/SRV_Channel/SRV_Channel_aux.cpp | 3 +++ 1 file changed, 3 insertions(+) diff --git a/libraries/SRV_Channel/SRV_Channel_aux.cpp b/libraries/SRV_Channel/SRV_Channel_aux.cpp index ff55a171ff..70682897f0 100644 --- a/libraries/SRV_Channel/SRV_Channel_aux.cpp +++ b/libraries/SRV_Channel/SRV_Channel_aux.cpp @@ -616,6 +616,9 @@ void SRV_Channels::adjust_trim(SRV_Channel::Aux_servo_function_t function, float } float change = c.reversed?-v:v; uint16_t new_trim = c.servo_trim; + if (c.servo_max <= c.servo_min) { + continue; + } float trim_scaled = float(c.servo_trim - c.servo_min) / (c.servo_max - c.servo_min); if (change > 0 && trim_scaled < 0.6f) { new_trim++;