From 42ccc654b58bec06945a6f7cf64013092e7ecb54 Mon Sep 17 00:00:00 2001 From: v01d Date: Tue, 29 Sep 2015 11:58:51 -0300 Subject: [PATCH] fix float comparison to 0.0f --- src/modules/mc_pos_control/mc_pos_control_main.cpp | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/modules/mc_pos_control/mc_pos_control_main.cpp b/src/modules/mc_pos_control/mc_pos_control_main.cpp index de81716a1b..971eba063a 100644 --- a/src/modules/mc_pos_control/mc_pos_control_main.cpp +++ b/src/modules/mc_pos_control/mc_pos_control_main.cpp @@ -696,7 +696,7 @@ MulticopterPositionControl::control_manual(float dt) /* check for pos. hold */ if (fabsf(req_vel_sp(0)) < _params.hold_dz && fabsf(req_vel_sp(1)) < _params.hold_dz) { - if (!_pos_hold_engaged && (_params.hold_max_xy == 0.0f || + if (!_pos_hold_engaged && (_params.hold_max_xy < FLT_EPSILON || (fabsf(_vel(0)) < _params.hold_max_xy && fabsf(_vel(1)) < _params.hold_max_xy))) { _pos_hold_engaged = true; @@ -725,7 +725,7 @@ MulticopterPositionControl::control_manual(float dt) /* check for pos. hold */ if (fabsf(req_vel_sp(2)) < _params.hold_dz) { - if (!_alt_hold_engaged && (_params.hold_max_z == 0.0f || fabsf(_vel(2)) < _params.hold_max_z)) + if (!_alt_hold_engaged && (_params.hold_max_z < FLT_EPSILON || fabsf(_vel(2)) < _params.hold_max_z)) { _alt_hold_engaged = true; _pos_hold_engaged = true;