From 3d60ef938309e1982e7b481b14d601247f7b989e Mon Sep 17 00:00:00 2001 From: David Jablonski Date: Wed, 8 Jan 2020 16:11:22 +0100 Subject: [PATCH] FW: Allow counterclockwise loiter Before, this check was always true, thus always falling back to NAV_LOITER_RAD, which can't be negative. --- src/modules/fw_pos_control_l1/FixedwingPositionControl.cpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/modules/fw_pos_control_l1/FixedwingPositionControl.cpp b/src/modules/fw_pos_control_l1/FixedwingPositionControl.cpp index 43ad692df0..7185f157cc 100644 --- a/src/modules/fw_pos_control_l1/FixedwingPositionControl.cpp +++ b/src/modules/fw_pos_control_l1/FixedwingPositionControl.cpp @@ -854,7 +854,7 @@ FixedwingPositionControl::control_position(const Vector2f &curr_pos, const Vecto float loiter_radius = pos_sp_curr.loiter_radius; uint8_t loiter_direction = pos_sp_curr.loiter_direction; - if (pos_sp_curr.loiter_radius < 0.01f || pos_sp_curr.loiter_radius > -0.01f) { + if (fabsf(pos_sp_curr.loiter_radius) < FLT_EPSILON) { loiter_radius = _parameters.loiter_radius; loiter_direction = (loiter_radius > 0) ? 1 : -1;