From ea70755f0028c2eb72aee0b270f5c60dd2485d2d Mon Sep 17 00:00:00 2001 From: Randy Mackay Date: Wed, 25 Oct 2017 17:29:44 +0900 Subject: [PATCH] Rover: fix speed nudge fix bug when target speed was exactly zero which caused nudge to be a large negative value --- APMrover2/mode.cpp | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/APMrover2/mode.cpp b/APMrover2/mode.cpp index b6e0f8350b..c08a0a8549 100644 --- a/APMrover2/mode.cpp +++ b/APMrover2/mode.cpp @@ -121,8 +121,8 @@ float Mode::calc_speed_nudge(float target_speed, float cruise_speed, float cruis // return immediately if pilot is not attempting to nudge speed // pilot can nudge up speed if throttle (in range -100 to +100) is above 50% of center in direction of travel const int16_t pilot_throttle = constrain_int16(rover.channel_throttle->get_control_in(), -100, 100); - if ((pilot_throttle <= 50 && is_positive(target_speed)) || - (pilot_throttle >= -50 && is_negative(target_speed))) { + if (((pilot_throttle <= 50) && (target_speed >= 0.0f)) || + ((pilot_throttle >= -50) && (target_speed <= 0.0f))) { return target_speed; }