From 1f3a06dd49fcd7702bb9cccf36b30c91f5b7fdbb Mon Sep 17 00:00:00 2001 From: Thomas Watson Date: Mon, 29 Dec 2025 19:45:23 -0600 Subject: [PATCH] AP_NavEKF2: move KH array inside for the remaining user Not used by AP_NavEKF3. --- libraries/AP_NavEKF2/AP_NavEKF2_core.cpp | 5 +++++ libraries/AP_NavEKF2/AP_NavEKF2_core.h | 2 ++ 2 files changed, 7 insertions(+) diff --git a/libraries/AP_NavEKF2/AP_NavEKF2_core.cpp b/libraries/AP_NavEKF2/AP_NavEKF2_core.cpp index 7b394a083ba..e7d6b52784b 100644 --- a/libraries/AP_NavEKF2/AP_NavEKF2_core.cpp +++ b/libraries/AP_NavEKF2/AP_NavEKF2_core.cpp @@ -30,6 +30,8 @@ extern const AP_HAL::HAL& hal; */ #define ENABLE_EKF_TIMING 0 +NavEKF2_core::Matrix24 NavEKF2_core::KH; + // constructor NavEKF2_core::NavEKF2_core(NavEKF2 *_frontend) : dal(AP::dal()), @@ -543,6 +545,9 @@ void NavEKF2_core::UpdateFilter(bool predict) #endif fill_scratch_variables(); +#if CONFIG_HAL_BOARD == HAL_BOARD_SITL + fill_nanf(&KH[0][0], sizeof(KH)/sizeof(ftype)); // see fill_scratch_variables() +#endif // TODO - in-flight restart method diff --git a/libraries/AP_NavEKF2/AP_NavEKF2_core.h b/libraries/AP_NavEKF2/AP_NavEKF2_core.h index 8ef86948fa8..f415a5a6471 100644 --- a/libraries/AP_NavEKF2/AP_NavEKF2_core.h +++ b/libraries/AP_NavEKF2/AP_NavEKF2_core.h @@ -788,6 +788,8 @@ private: static const uint32_t FLOW_BUFFER_LENGTH = 15; static const uint32_t EXTNAV_BUFFER_LENGTH = 15; + static Matrix24 KH; // intermediate result used for covariance updates + // Variables bool statesInitialised; // boolean true when filter states have been initialised bool magHealth; // boolean true if magnetometer has passed innovation consistency check