diff --git a/firmware/controllers/algo/engine_configuration.cpp b/firmware/controllers/algo/engine_configuration.cpp index e0547af748..69f51b866f 100644 --- a/firmware/controllers/algo/engine_configuration.cpp +++ b/firmware/controllers/algo/engine_configuration.cpp @@ -207,11 +207,10 @@ void prepareVoidConfiguration(engine_configuration_s *activeConfiguration) { * and the settings saves in flash memory. */ void setDefaultConfiguration(DECLARE_ENGINE_PARAMETER_F) { - prepareVoidConfiguration(engineConfiguration); - #if ! EFI_UNIT_TEST memset(&persistentState.persistentConfiguration, 0, sizeof(persistentState.persistentConfiguration)); #endif + prepareVoidConfiguration(engineConfiguration); boardConfiguration->mafSensorType = Bosch0280218037; setBosch0280218037(config); diff --git a/firmware/controllers/engine_controller.cpp b/firmware/controllers/engine_controller.cpp index 7a6f14e3d8..f4fd526c78 100644 --- a/firmware/controllers/engine_controller.cpp +++ b/firmware/controllers/engine_controller.cpp @@ -490,6 +490,12 @@ void initEngineContoller(Logging *sharedLogger DECLARE_ENGINE_PARAMETER_S) { initSettings(engineConfiguration); #endif +#if EFI_TUNER_STUDIO || defined(__DOXYGEN__) + if (engineConfiguration->isTunerStudioEnabled) { + startTunerStudioConnectivity(); + } +#endif + if (hasFirmwareError()) { return; } @@ -520,12 +526,6 @@ void initEngineContoller(Logging *sharedLogger DECLARE_ENGINE_PARAMETER_S) { initRpmCalculator(engine); #endif /* EFI_SHAFT_POSITION_INPUT */ -#if EFI_TUNER_STUDIO || defined(__DOXYGEN__) - if (engineConfiguration->isTunerStudioEnabled) { - startTunerStudioConnectivity(); - } -#endif - // multiple issues with this initMapAdjusterThread(); initPeriodicEvents(PASS_ENGINE_PARAMETER_F); diff --git a/firmware/controllers/injector_central.cpp b/firmware/controllers/injector_central.cpp index 5bb5b5b9b6..b86e169b04 100644 --- a/firmware/controllers/injector_central.cpp +++ b/firmware/controllers/injector_central.cpp @@ -214,12 +214,12 @@ static msg_t benchThread(int param) { #endif } -extern engine_configuration_s *activeConfiguration; +extern engine_configuration_s activeConfiguration; void stopInjectionPins(void) { for (int i = 0; i < INJECTION_PIN_COUNT; i++) { NamedOutputPin *output = &enginePins.injectors[i]; - if (engineConfiguration->bc.injectionPins[i] != activeConfiguration->bc.injectionPins[i]) { + if (engineConfiguration->bc.injectionPins[i] != activeConfiguration.bc.injectionPins[i]) { // unmarkPin } } @@ -229,7 +229,7 @@ void startInjectionPins(void) { // todo: should we move this code closer to the injection logic? for (int i = 0; i < engineConfiguration->specs.cylindersCount; i++) { NamedOutputPin *output = &enginePins.injectors[i]; - if (engineConfiguration->bc.injectionPins[i] != activeConfiguration->bc.injectionPins[i]) { + if (engineConfiguration->bc.injectionPins[i] != activeConfiguration.bc.injectionPins[i]) { outputPinRegisterExt2(output->name, output, boardConfiguration->injectionPins[i], &boardConfiguration->injectionPinMode); diff --git a/firmware/rusefi.cpp b/firmware/rusefi.cpp index 6095b6b7b3..095611ba1f 100644 --- a/firmware/rusefi.cpp +++ b/firmware/rusefi.cpp @@ -290,5 +290,5 @@ int getRusEfiVersion(void) { return 123; // this is here to make the compiler happy about the unused array if (UNUSED_CCM_SIZE[0] * 0 != 0) return 3211; // this is here to make the compiler happy about the unused array - return 20150517; + return 20150518; }