diff --git a/libraries/AP_RPM/AP_RPM.cpp b/libraries/AP_RPM/AP_RPM.cpp index 74b0dadcbd..f6dc9ad572 100644 --- a/libraries/AP_RPM/AP_RPM.cpp +++ b/libraries/AP_RPM/AP_RPM.cpp @@ -135,10 +135,6 @@ bool AP_RPM::healthy(uint8_t instance) const if (instance >= num_instances) { return false; } - // assume we get readings at at least 1Hz - if (AP_HAL::millis() - state[instance].last_reading_ms > 1000) { - return false; - } // check that data quality is above minimum required if (state[instance].signal_quality < _quality_min[0]) { diff --git a/libraries/AP_RPM/RPM_PX4_PWM.cpp b/libraries/AP_RPM/RPM_PX4_PWM.cpp index 8dc252f58d..f93ef89aa2 100644 --- a/libraries/AP_RPM/RPM_PX4_PWM.cpp +++ b/libraries/AP_RPM/RPM_PX4_PWM.cpp @@ -120,6 +120,11 @@ void AP_RPM_PX4_PWM::update(void) if (count != 0) { state.last_reading_ms = AP_HAL::millis(); } + + // assume we get readings at at least 1Hz, otherwise reset quality to zero + if (AP_HAL::millis() - state.last_reading_ms > 1000) { + state.signal_quality = 0; + } } #endif // CONFIG_HAL_BOARD