From 3582b69e9c03d45af82760d2af67f310be74e5f4 Mon Sep 17 00:00:00 2001 From: Peter Barker Date: Thu, 21 Jan 2021 21:20:43 +1100 Subject: [PATCH] AP_NavEKF3: remove getFilterTimeouts access methods --- libraries/AP_NavEKF3/AP_NavEKF3.cpp | 21 --------------------- libraries/AP_NavEKF3/AP_NavEKF3.h | 14 -------------- libraries/AP_NavEKF3/AP_NavEKF3_Logging.cpp | 9 +++++++-- libraries/AP_NavEKF3/AP_NavEKF3_Outputs.cpp | 20 -------------------- libraries/AP_NavEKF3/AP_NavEKF3_core.h | 13 ------------- libraries/AP_NavEKF3/LogStructure.h | 2 +- 6 files changed, 8 insertions(+), 71 deletions(-) diff --git a/libraries/AP_NavEKF3/AP_NavEKF3.cpp b/libraries/AP_NavEKF3/AP_NavEKF3.cpp index c52c845e23..61afe233a7 100644 --- a/libraries/AP_NavEKF3/AP_NavEKF3.cpp +++ b/libraries/AP_NavEKF3/AP_NavEKF3.cpp @@ -1749,27 +1749,6 @@ void NavEKF3::getFilterFaults(int8_t instance, uint16_t &faults) const } } -/* - return filter timeout status as a bitmasked integer - 0 = position measurement timeout - 1 = velocity measurement timeout - 2 = height measurement timeout - 3 = magnetometer measurement timeout - 4 = unassigned - 5 = unassigned - 6 = unassigned - 7 = unassigned -*/ -void NavEKF3::getFilterTimeouts(int8_t instance, uint8_t &timeouts) const -{ - if (instance < 0 || instance >= num_cores) instance = primary; - if (core) { - core[instance].getFilterTimeouts(timeouts); - } else { - timeouts = 0; - } -} - /* return filter status flags */ diff --git a/libraries/AP_NavEKF3/AP_NavEKF3.h b/libraries/AP_NavEKF3/AP_NavEKF3.h index c6c7dfa5aa..94e474f3d8 100644 --- a/libraries/AP_NavEKF3/AP_NavEKF3.h +++ b/libraries/AP_NavEKF3/AP_NavEKF3.h @@ -297,20 +297,6 @@ public: */ void getFilterFaults(int8_t instance, uint16_t &faults) const; - /* - return filter timeout status as a bitmasked integer for the specified instance - An out of range instance (eg -1) returns data for the primary instance - 0 = position measurement timeout - 1 = velocity measurement timeout - 2 = height measurement timeout - 3 = magnetometer measurement timeout - 4 = unassigned - 5 = unassigned - 6 = unassigned - 7 = unassigned - */ - void getFilterTimeouts(int8_t instance, uint8_t &timeouts) const; - /* return filter gps quality check status for the specified instance An out of range instance (eg -1) returns data for the primary instance diff --git a/libraries/AP_NavEKF3/AP_NavEKF3_Logging.cpp b/libraries/AP_NavEKF3/AP_NavEKF3_Logging.cpp index 072b9a1d1b..9c0cddd35d 100644 --- a/libraries/AP_NavEKF3/AP_NavEKF3_Logging.cpp +++ b/libraries/AP_NavEKF3/AP_NavEKF3_Logging.cpp @@ -138,13 +138,18 @@ void NavEKF3_core::Log_Write_XKF4(uint64_t time_us) const float tasVar = 0; uint16_t _faultStatus=0; Vector2f offset; - uint8_t timeoutStatus=0; + const uint8_t timeoutStatus = + posTimeout<<0 | + velTimeout<<1 | + hgtTimeout<<2 | + magTimeout<<3 | + tasTimeout<<4; + nav_filter_status solutionStatus {}; nav_gps_status gpsStatus {}; getVariances(velVar, posVar, hgtVar, magVar, tasVar, offset); float tempVar = fmaxf(fmaxf(magVar.x,magVar.y),magVar.z); getFilterFaults(_faultStatus); - getFilterTimeouts(timeoutStatus); getFilterStatus(solutionStatus); getFilterGpsStatus(gpsStatus); const struct log_NKF4 pkt4{ diff --git a/libraries/AP_NavEKF3/AP_NavEKF3_Outputs.cpp b/libraries/AP_NavEKF3/AP_NavEKF3_Outputs.cpp index 3cb010d6c0..d06d5693e9 100644 --- a/libraries/AP_NavEKF3/AP_NavEKF3_Outputs.cpp +++ b/libraries/AP_NavEKF3/AP_NavEKF3_Outputs.cpp @@ -512,26 +512,6 @@ void NavEKF3_core::getFilterFaults(uint16_t &faults) const !statesInitialised<<7); } -/* -return filter timeout status as a bitmasked integer - 0 = position measurement timeout - 1 = velocity measurement timeout - 2 = height measurement timeout - 3 = magnetometer measurement timeout - 4 = true airspeed measurement timeout - 5 = unassigned - 6 = unassigned - 7 = unassigned -*/ -void NavEKF3_core::getFilterTimeouts(uint8_t &timeouts) const -{ - timeouts = (posTimeout<<0 | - velTimeout<<1 | - hgtTimeout<<2 | - magTimeout<<3 | - tasTimeout<<4); -} - // Return the navigation filter status message void NavEKF3_core::getFilterStatus(nav_filter_status &status) const { diff --git a/libraries/AP_NavEKF3/AP_NavEKF3_core.h b/libraries/AP_NavEKF3/AP_NavEKF3_core.h index 21deb51b10..6aa5a15ee1 100644 --- a/libraries/AP_NavEKF3/AP_NavEKF3_core.h +++ b/libraries/AP_NavEKF3/AP_NavEKF3_core.h @@ -317,19 +317,6 @@ public: */ void getFilterFaults(uint16_t &faults) const; - /* - return filter timeout status as a bitmasked integer - 0 = position measurement timeout - 1 = velocity measurement timeout - 2 = height measurement timeout - 3 = magnetometer measurement timeout - 5 = unassigned - 6 = unassigned - 7 = unassigned - 7 = unassigned - */ - void getFilterTimeouts(uint8_t &timeouts) const; - /* return filter gps quality check status */ diff --git a/libraries/AP_NavEKF3/LogStructure.h b/libraries/AP_NavEKF3/LogStructure.h index 767f02d07a..60356caebc 100644 --- a/libraries/AP_NavEKF3/LogStructure.h +++ b/libraries/AP_NavEKF3/LogStructure.h @@ -185,7 +185,7 @@ struct PACKED log_XKF3 { // @Field: OFN: Most recent position recent magnitude (North component) // @Field: OFE: Most recent position recent magnitude (East component) // @Field: FS: Filter fault status -// @Field: TS: Filter timeout status +// @Field: TS: Filter timeout status bitmask (0:position measurement, 1:velocity measurement, 2:height measurement, 3:magnetometer measurement, 4:airspeed measurement) // @Field: SS: Filter solution status // @Field: GPS: Filter GPS status // @Field: PI: Primary core index