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,