EKF: Don't start using GPS for height until all validity checks have passed

Consolidate intermittent data checks, improve variable and clarify usage.
This commit is contained in:
Paul Riseborough
2019-06-13 19:36:37 +10:00
committed by Paul Riseborough
parent cef2ba5ab9
commit 7612fa40ed
3 changed files with 15 additions and 23 deletions
+3 -2
View File
@@ -415,6 +415,7 @@ private:
uint64_t _last_gps_pass_us{0}; ///< last system time in usec that the GPS passed it's checks
float _gps_error_norm{1.0f}; ///< normalised gps error
uint32_t _min_gps_health_time_us{10000000}; ///< GPS is marked as healthy only after this amount of time
bool _gps_checks_passed{false}; ///> true when all active GPS checks have passed
// Variables used to publish the WGS-84 location of the EKF local NED origin
uint64_t _last_gps_origin_time_us{0}; ///< time the origin was last set (uSec)
@@ -463,9 +464,9 @@ private:
float _dt_last_range_update_filt_us{0.0f}; ///< filtered value of the delta time elapsed since the last range measurement came into the filter (uSec)
bool _hagl_valid{false}; ///< true when the height above ground estimate is valid
// height sensor fault status
// height sensor status
bool _baro_hgt_faulty{false}; ///< true if valid baro data is unavailable for use
bool _gps_hgt_faulty{false}; ///< true if valid gps height data is unavailable for use
bool _gps_hgt_intermittent{false}; ///< true if gps height into the buffer is intermittent
bool _rng_hgt_faulty{false}; ///< true if valid range finder height data is unavailable for use
int _primary_hgt_source{VDIST_SENSOR_BARO}; ///< specifies primary source of height data