diff --git a/src/modules/fw_mode_manager/figure_eight/FigureEight.cpp b/src/modules/fw_mode_manager/figure_eight/FigureEight.cpp index 9ab672d964..f7585f39b4 100644 --- a/src/modules/fw_mode_manager/figure_eight/FigureEight.cpp +++ b/src/modules/fw_mode_manager/figure_eight/FigureEight.cpp @@ -95,7 +95,7 @@ FigureEight::FigureEightPatternParameters FigureEight::sanitizeParameters(const if (!PX4_ISFINITE(parameters.loiter_radius)) { valid_parameters.loiter_radius = DEFAULT_MAJOR_TO_MINOR_AXIS_RATIO * valid_parameters.loiter_minor_radius; - valid_parameters.loiter_direction_counter_clockwise = _param_nav_loiter_rad.get() < 0; + valid_parameters.loiter_direction_counter_clockwise = _param_nav_loiter_rad.get() < -FLT_EPSILON; } valid_parameters.loiter_radius = math::max(valid_parameters.loiter_radius, diff --git a/src/modules/navigator/navigator_main.cpp b/src/modules/navigator/navigator_main.cpp index 3e8774bcc8..c3c2fb3656 100644 --- a/src/modules/navigator/navigator_main.cpp +++ b/src/modules/navigator/navigator_main.cpp @@ -525,7 +525,7 @@ void Navigator::run() if (PX4_ISFINITE(cmd.param1)) { rep->current.loiter_radius = fabsf(cmd.param1); - rep->current.loiter_direction_counter_clockwise = cmd.param1 < 0; + rep->current.loiter_direction_counter_clockwise = cmd.param1 < -FLT_EPSILON; } rep->current.lat = position_setpoint.lat; @@ -571,7 +571,7 @@ void Navigator::run() if (PX4_ISFINITE(cmd.param1)) { rep->current.loiter_radius = fabsf(cmd.param1); - rep->current.loiter_direction_counter_clockwise = cmd.param1 < 0; + rep->current.loiter_direction_counter_clockwise = cmd.param1 < -FLT_EPSILON; } rep->current.loiter_radius = math::max(rep->current.loiter_radius, 2.0f * rep->current.loiter_minor_radius);