mirror of
https://github.com/ArduPilot/ardupilot
synced 2025-02-09 17:34:01 -04:00
AP_Baro: consider a baro unhealthy when outside of -200 to 200 C
this helps detects unhealthy baros on SPI where we can't detect comms failure
This commit is contained in:
parent
123800ccd2
commit
a196c54db6
@ -23,6 +23,15 @@ void AP_Baro_Backend::update_healthy_flag(uint8_t instance)
|
|||||||
(now - _frontend.sensors[instance].last_update_ms < BARO_TIMEOUT_MS) &&
|
(now - _frontend.sensors[instance].last_update_ms < BARO_TIMEOUT_MS) &&
|
||||||
(now - _frontend.sensors[instance].last_change_ms < BARO_DATA_CHANGE_TIMEOUT_MS) &&
|
(now - _frontend.sensors[instance].last_change_ms < BARO_DATA_CHANGE_TIMEOUT_MS) &&
|
||||||
!is_zero(_frontend.sensors[instance].pressure);
|
!is_zero(_frontend.sensors[instance].pressure);
|
||||||
|
|
||||||
|
if (_frontend.sensors[instance].temperature < -200 ||
|
||||||
|
_frontend.sensors[instance].temperature > 200) {
|
||||||
|
// if temperature is way out of range then we likely have bad
|
||||||
|
// data from the sensor, treat is as unhealthy. This is done
|
||||||
|
// so SPI sensors which have no data validity checking can
|
||||||
|
// mark a sensor unhealthy
|
||||||
|
_frontend.sensors[instance].healthy = false;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
void AP_Baro_Backend::backend_update(uint8_t instance)
|
void AP_Baro_Backend::backend_update(uint8_t instance)
|
||||||
|
Loading…
Reference in New Issue
Block a user