From 94c92f41dc19eaf40c92770fe6a3658884ec2f4e Mon Sep 17 00:00:00 2001 From: rusefi Date: Thu, 31 Aug 2017 07:53:41 -0400 Subject: [PATCH] #442 --- firmware/controllers/algo/engine.h | 1 + firmware/controllers/algo/engine_configuration.cpp | 7 +++++++ firmware/controllers/flash_main.cpp | 1 + 3 files changed, 9 insertions(+) diff --git a/firmware/controllers/algo/engine.h b/firmware/controllers/algo/engine.h index 5c326d677a..79d0996922 100644 --- a/firmware/controllers/algo/engine.h +++ b/firmware/controllers/algo/engine.h @@ -494,5 +494,6 @@ void resetConfigurationExt(Logging * logger, engine_type_e engineType DECLARE_EN void applyNonPersistentConfiguration(Logging * logger DECLARE_ENGINE_PARAMETER_SUFFIX); void prepareOutputSignals(DECLARE_ENGINE_PARAMETER_SIGNATURE); void assertEngineReference(DECLARE_ENGINE_PARAMETER_SIGNATURE); +void validateConfiguration(DECLARE_ENGINE_PARAMETER_SIGNATURE); #endif /* H_ENGINE_H_ */ diff --git a/firmware/controllers/algo/engine_configuration.cpp b/firmware/controllers/algo/engine_configuration.cpp index 6648c61839..ec72e185c1 100644 --- a/firmware/controllers/algo/engine_configuration.cpp +++ b/firmware/controllers/algo/engine_configuration.cpp @@ -1190,6 +1190,13 @@ void resetConfigurationExt(Logging * logger, engine_type_e engineType DECLARE_EN #endif } +void validateConfiguration(DECLARE_ENGINE_PARAMETER_SIGNATURE) { + if (engineConfiguration->adcVcc > 5.0f || engineConfiguration->adcVcc < 1.0f) { + engineConfiguration->adcVcc = 3.0f; + } + +} + void applyNonPersistentConfiguration(Logging * logger DECLARE_ENGINE_PARAMETER_SUFFIX) { #if EFI_PROD_CODE || defined(__DOXYGEN__) efiAssertVoid(getRemainingStack(chThdGetSelfX()) > 256, "apply c"); diff --git a/firmware/controllers/flash_main.cpp b/firmware/controllers/flash_main.cpp index 6c1d97f26a..1e87905bcd 100644 --- a/firmware/controllers/flash_main.cpp +++ b/firmware/controllers/flash_main.cpp @@ -151,6 +151,7 @@ persisted_configuration_state_e readConfiguration(Logging * logger) { } // we can only change the state after the CRC check engineConfiguration->byFirmwareVersion = getRusEfiVersion(); + validateConfiguration(PASS_ENGINE_PARAMETER_SIGNATURE); return result; }