From f76399be5ecfc72bf08657ce940eb3ffc22e5d99 Mon Sep 17 00:00:00 2001 From: Yannick Fuhrer Date: Thu, 27 Apr 2023 09:22:04 +0200 Subject: [PATCH] vtol_type: scale VT_TRANS_TIMEOUT with air density (#21509) --- src/modules/vtol_att_control/vtol_type.cpp | 9 +++++++-- src/modules/vtol_att_control/vtol_type.h | 5 +++++ 2 files changed, 12 insertions(+), 2 deletions(-) diff --git a/src/modules/vtol_att_control/vtol_type.cpp b/src/modules/vtol_att_control/vtol_type.cpp index 8f467eecb5..855b4ce481 100644 --- a/src/modules/vtol_att_control/vtol_type.cpp +++ b/src/modules/vtol_att_control/vtol_type.cpp @@ -347,9 +347,9 @@ bool VtolType::isRollExceeded() bool VtolType::isFrontTransitionTimeout() { // check front transition timeout - if (_param_vt_trans_timeout.get() > FLT_EPSILON && _common_vtol_mode == mode::TRANSITION_TO_FW) { + if (getFrontTransitionTimeout() > FLT_EPSILON && _common_vtol_mode == mode::TRANSITION_TO_FW) { - if (_time_since_trans_start > _param_vt_trans_timeout.get()) { + if (_time_since_trans_start > getFrontTransitionTimeout()) { // transition timeout occured, abort transition return true; } @@ -582,6 +582,11 @@ float VtolType::getMinimumFrontTransitionTime() const return getFrontTransitionTimeFactor() * _param_vt_trans_min_tm.get(); } +float VtolType::getFrontTransitionTimeout() const +{ + return getFrontTransitionTimeFactor() * _param_vt_trans_timeout.get(); +} + float VtolType::getOpenLoopFrontTransitionTime() const { return getFrontTransitionTimeFactor() * _param_vt_f_tr_ol_tm.get(); diff --git a/src/modules/vtol_att_control/vtol_type.h b/src/modules/vtol_att_control/vtol_type.h index 99e52422b6..12703f5a24 100644 --- a/src/modules/vtol_att_control/vtol_type.h +++ b/src/modules/vtol_att_control/vtol_type.h @@ -227,6 +227,11 @@ public: */ float getMinimumFrontTransitionTime() const; + /** + * @return Front transition timeout scaled for air density (if available) [s] + */ + float getFrontTransitionTimeout() const; + /** * @return Minimum open-loop front transition time scaled for air density (if available) [s] */