From 916de076ec61f959cb2f23c9b2155719c4723ce7 Mon Sep 17 00:00:00 2001 From: hoangthien94 Date: Wed, 24 Jul 2019 17:48:07 +0800 Subject: [PATCH] AP_AHRS: add method to check if ext nav is used for yaw --- libraries/AP_AHRS/AP_AHRS_NavEKF.cpp | 12 ++++++++++++ libraries/AP_AHRS/AP_AHRS_NavEKF.h | 3 +++ 2 files changed, 15 insertions(+) diff --git a/libraries/AP_AHRS/AP_AHRS_NavEKF.cpp b/libraries/AP_AHRS/AP_AHRS_NavEKF.cpp index 92bb192e8b..adfda33eee 100644 --- a/libraries/AP_AHRS/AP_AHRS_NavEKF.cpp +++ b/libraries/AP_AHRS/AP_AHRS_NavEKF.cpp @@ -1821,5 +1821,17 @@ AP_AHRS_NavEKF &AP::ahrs_navekf() return static_cast(*AP_AHRS::get_singleton()); } +// check whether compass can be bypassed for arming check in case when external navigation data is available +bool AP_AHRS_NavEKF::is_ext_nav_used_for_yaw(void) const +{ + switch (active_EKF_type()) { + case EKF_TYPE2: + return EKF2.isExtNavUsedForYaw(); + + default: + return false; + } +} + #endif // AP_AHRS_NAVEKF_AVAILABLE diff --git a/libraries/AP_AHRS/AP_AHRS_NavEKF.h b/libraries/AP_AHRS/AP_AHRS_NavEKF.h index 74dd2b9aaa..52225702f3 100644 --- a/libraries/AP_AHRS/AP_AHRS_NavEKF.h +++ b/libraries/AP_AHRS/AP_AHRS_NavEKF.h @@ -264,6 +264,9 @@ public: void Log_Write(); + // check whether compass can be bypassed for arming check in case when external navigation data is available + bool is_ext_nav_used_for_yaw(void) const; + private: enum EKF_TYPE {EKF_TYPE_NONE=0, EKF_TYPE3=3,