diff --git a/firmware/controllers/sensors/hella_oil_level.cpp b/firmware/controllers/sensors/hella_oil_level.cpp index f04f82bed7..43e5ae5b05 100644 --- a/firmware/controllers/sensors/hella_oil_level.cpp +++ b/firmware/controllers/sensors/hella_oil_level.cpp @@ -60,6 +60,12 @@ void HellaOilLevelSensor::onEdge(efitick_t nowNt) { // Stop timing at the falling edge float lastPulseMs = 1000 * m_pulseTimer.getElapsedSeconds(nowNt); + if (lastPulseMs > 100 || lastPulseMs < 20) { + // Impossibly short or long pulse, something went wrong + m_nextPulse = NextPulse::None; + return; + } + if (m_nextPulse == NextPulse::Diag) { // TODO: decode diag pulse? return;