From 06713cb6558b940252995d1382a62c3369b51673 Mon Sep 17 00:00:00 2001 From: Silvan Fuhrer Date: Fri, 21 Apr 2023 14:54:18 +0200 Subject: [PATCH] VTOL: only run front transition alt loss QC if altitude is controlled Signed-off-by: Silvan Fuhrer --- src/modules/vtol_att_control/vtol_type.cpp | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/src/modules/vtol_att_control/vtol_type.cpp b/src/modules/vtol_att_control/vtol_type.cpp index ad69805e78..2f7c955285 100644 --- a/src/modules/vtol_att_control/vtol_type.cpp +++ b/src/modules/vtol_att_control/vtol_type.cpp @@ -301,9 +301,9 @@ bool VtolType::isFrontTransitionAltitudeLoss() { bool result = false; - // only run if param set, altitude estimate valid and in transition to FW or within 5s of finishing it. - if (_param_vt_qc_t_alt_loss.get() > FLT_EPSILON && _local_pos->z_valid && (_common_vtol_mode == mode::TRANSITION_TO_FW - || hrt_elapsed_time(&_trans_finished_ts) < 5_s)) { + // only run if param set, altitude valid and controlled, and in transition to FW or within 5s of finishing it. + if (_param_vt_qc_t_alt_loss.get() > FLT_EPSILON && _local_pos->z_valid && _v_control_mode->flag_control_altitude_enabled + && (_common_vtol_mode == mode::TRANSITION_TO_FW || hrt_elapsed_time(&_trans_finished_ts) < 5_s)) { result = _local_pos->z - _local_position_z_start_of_transition > _param_vt_qc_t_alt_loss.get(); }