From f959619a59b501b5e985e5fbe62879dd05b8e2b1 Mon Sep 17 00:00:00 2001 From: rusefi Date: Thu, 24 May 2018 22:12:57 -0400 Subject: [PATCH] better state validation --- firmware/controllers/algo/advance_map.cpp | 4 +++- firmware/controllers/engine_controller.cpp | 2 +- 2 files changed, 4 insertions(+), 2 deletions(-) diff --git a/firmware/controllers/algo/advance_map.cpp b/firmware/controllers/algo/advance_map.cpp index 402ce10a89..7f6a5f7222 100644 --- a/firmware/controllers/algo/advance_map.cpp +++ b/firmware/controllers/algo/advance_map.cpp @@ -75,7 +75,6 @@ static angle_t getRunningAdvance(int rpm, float engineLoad DECLARE_ENGINE_PARAME return NAN; } efiAssert(!cisnan(engineLoad), "invalid el", NAN); - efiAssert(!cisnan(engineLoad), "invalid rpm", NAN); engine->m.beforeZeroTest = GET_TIMESTAMP(); engine->m.zeroTestTime = GET_TIMESTAMP() - engine->m.beforeZeroTest; @@ -144,10 +143,13 @@ angle_t getAdvance(int rpm, float engineLoad DECLARE_ENGINE_PARAMETER_SUFFIX) { angle_t angle; if (ENGINE(rpmCalculator).isCranking(PASS_ENGINE_PARAMETER_SIGNATURE)) { angle = getCrankingAdvance(rpm, engineLoad PASS_ENGINE_PARAMETER_SUFFIX); + assertAngleRange(angle, "crAngle"); + efiAssert(!cisnan(angle), "crAngleN", 0); if (CONFIG(useAdvanceCorrectionsForCranking)) angle += getAdvanceCorrections(rpm PASS_ENGINE_PARAMETER_SUFFIX); } else { angle = getRunningAdvance(rpm, engineLoad PASS_ENGINE_PARAMETER_SUFFIX); + efiAssert(!cisnan(angle), "rAngleN", 0); angle += getAdvanceCorrections(rpm PASS_ENGINE_PARAMETER_SUFFIX); } angle -= engineConfiguration->ignitionOffset; diff --git a/firmware/controllers/engine_controller.cpp b/firmware/controllers/engine_controller.cpp index ee5e19a5fa..ccb3ea590d 100644 --- a/firmware/controllers/engine_controller.cpp +++ b/firmware/controllers/engine_controller.cpp @@ -733,5 +733,5 @@ int getRusEfiVersion(void) { if (initBootloader() != 0) return 123; #endif /* EFI_BOOTLOADER_INCLUDE_CODE */ - return 20180401; + return 20180520; }