AirspeedValidator: Remvoe airspeed variance after boot check (#20678)

This checks was introduced to catch the (unlikely) case of the driver publishing
a stale value that is not actually from a current measurement right after boot.
This was done by declaring it invalid if there is no update of the measurement
within the first 10s after boot.
Practice though has shown that around 0, many airspeed sensors have such a low
resolution that the reported airspeed value is often at the exact same value
for longer periods of time on totally healthy sensors, and thus we trigger
some false positive failure detections.
Given that this failure mode (driver publishing stale data) is quite rare (if
it doesn't receive new data it should stop publishing), I remove this check
here again.
When in aerodynamic flight mode and armed, there is still the data stuck
check that can trigger if there is no update for 2s.

Signed-off-by: Silvan Fuhrer <silvan@auterion.com>
This commit is contained in:
Silvan Fuhrer
2022-12-19 11:36:48 +01:00
committed by GitHub
parent df441ac202
commit 9c66f1b14a
4 changed files with 8 additions and 52 deletions
@@ -162,8 +162,7 @@ private:
CHECK_TYPE_ONLY_DATA_MISSING_BIT = (1 << 0),
CHECK_TYPE_DATA_STUCK_BIT = (1 << 1),
CHECK_TYPE_INNOVATION_BIT = (1 << 2),
CHECK_TYPE_LOAD_FACTOR_BIT = (1 << 3),
CHECK_TYPE_DATA_VARIATION_BIT = (1 << 4)
CHECK_TYPE_LOAD_FACTOR_BIT = (1 << 3)
};
DEFINE_PARAMETERS(
@@ -480,8 +479,6 @@ void AirspeedModule::update_params()
CheckTypeBits::CHECK_TYPE_INNOVATION_BIT);
_airspeed_validator[i].set_enable_load_factor_check(_param_airspeed_checks_on.get() &
CheckTypeBits::CHECK_TYPE_LOAD_FACTOR_BIT);
_airspeed_validator[i].set_enable_data_variation_check(_param_airspeed_checks_on.get() &
CheckTypeBits::CHECK_TYPE_DATA_VARIATION_BIT);
}
}