From 38c4a0f8b986d4c817ad5c6f1c4f57d6a2dac74c Mon Sep 17 00:00:00 2001 From: Matthew Kennedy Date: Thu, 7 Sep 2023 12:26:00 -0700 Subject: [PATCH] reject impossible pulses --- firmware/controllers/sensors/hella_oil_level.cpp | 6 ++++++ 1 file changed, 6 insertions(+) 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;