diff --git a/firmware/controllers/algo/engine.h b/firmware/controllers/algo/engine.h index 74ccaad228..362fd5610a 100644 --- a/firmware/controllers/algo/engine.h +++ b/firmware/controllers/algo/engine.h @@ -398,7 +398,6 @@ private: trigger_type_e getVvtTriggerType(vvt_mode_e vvtMode); -void prepareShapes(); void applyNonPersistentConfiguration(); void prepareOutputSignals(); diff --git a/firmware/controllers/algo/engine_configuration.cpp b/firmware/controllers/algo/engine_configuration.cpp index 1de1dca040..46155c561c 100644 --- a/firmware/controllers/algo/engine_configuration.cpp +++ b/firmware/controllers/algo/engine_configuration.cpp @@ -1119,16 +1119,6 @@ void applyNonPersistentConfiguration() { #endif // EFI_ENGINE_CONTROL } -#if EFI_ENGINE_CONTROL - -void prepareShapes() { - prepareOutputSignals(); - - engine->injectionEvents.addFuelEvents(); -} - -#endif - void setTwoStrokeOperationMode() { engineConfiguration->twoStroke = true; } diff --git a/firmware/controllers/engine_controller.cpp b/firmware/controllers/engine_controller.cpp index ea13b5703d..59bf5c048b 100644 --- a/firmware/controllers/engine_controller.cpp +++ b/firmware/controllers/engine_controller.cpp @@ -464,8 +464,10 @@ void commonInitEngineController() { * This has to go after 'enginePins.startPins()' in order to * properly detect un-assigned output pins */ - prepareShapes(); -#endif /* EFI_PROD_CODE && EFI_ENGINE_CONTROL */ + prepareOutputSignals(); + + engine->injectionEvents.addFuelEvents(); +#endif // EFI_ENGINE_CONTROL #if EFI_SENSOR_CHART initSensorChart(); diff --git a/firmware/controllers/math/engine_math.cpp b/firmware/controllers/math/engine_math.cpp index e8d48b2810..8b336e28dc 100644 --- a/firmware/controllers/math/engine_math.cpp +++ b/firmware/controllers/math/engine_math.cpp @@ -444,7 +444,7 @@ void prepareOutputSignals() { prepareIgnitionPinIndices(); - TRIGGER_WAVEFORM(prepareShape(engine->triggerCentral.triggerFormDetails)); + engine->triggerCentral.triggerShape.prepareShape(engine->triggerCentral.triggerFormDetails); // Fuel schedule may now be completely wrong, force a reset engine->injectionEvents.invalidate(); diff --git a/unit_tests/tests/trigger/test_trigger_decoder.cpp b/unit_tests/tests/trigger/test_trigger_decoder.cpp index f998b77b1a..3c2ca6be27 100644 --- a/unit_tests/tests/trigger/test_trigger_decoder.cpp +++ b/unit_tests/tests/trigger/test_trigger_decoder.cpp @@ -480,7 +480,8 @@ TEST(trigger, testTriggerDecoder) { engineConfiguration->useOnlyRisingEdgeForTrigger = true; applyNonPersistentConfiguration(); - prepareShapes(); + prepareOutputSignals(); + } testTriggerDecoder2("sachs", SACHS, 0, 0.4800, 0.000);