From 3dab4b5163d76651d2b7323f5fb10be1d65f6d7a Mon Sep 17 00:00:00 2001 From: rusefi Date: Mon, 28 Jan 2019 02:29:13 -0500 Subject: [PATCH] #656 global is not great --- firmware/controllers/algo/engine.h | 3 +++ firmware/controllers/math/engine_math.cpp | 9 ++------- 2 files changed, 5 insertions(+), 7 deletions(-) diff --git a/firmware/controllers/algo/engine.h b/firmware/controllers/algo/engine.h index c1665c089d..9c2f6b666b 100644 --- a/firmware/controllers/algo/engine.h +++ b/firmware/controllers/algo/engine.h @@ -496,6 +496,9 @@ public: */ int ignitionPin[IGNITION_PIN_COUNT]; + // Store current ignition mode for prepareIgnitionPinIndices() + ignition_mode_e ignitionModeForPinIndices = Force_4_bytes_size_ignition_mode; + /** * this is invoked each time we register a trigger tooth signal */ diff --git a/firmware/controllers/math/engine_math.cpp b/firmware/controllers/math/engine_math.cpp index 1a99159fd1..5913241679 100644 --- a/firmware/controllers/math/engine_math.cpp +++ b/firmware/controllers/math/engine_math.cpp @@ -32,11 +32,6 @@ EXTERN_ENGINE ; -extern EnginePins enginePins; - -// Store current ignition mode for prepareIgnitionPinIndices() -static ignition_mode_e ignitionModeForPinIndices; - floatms_t getEngineCycleDuration(int rpm DECLARE_ENGINE_PARAMETER_SUFFIX) { return getCrankshaftRevolutionTimeMs(rpm) * (engineConfiguration->operationMode == TWO_STROKE ? 1 : 2); } @@ -441,13 +436,13 @@ static int getIgnitionPinForIndex(int i DECLARE_ENGINE_PARAMETER_SUFFIX) { } void prepareIgnitionPinIndices(ignition_mode_e ignitionMode DECLARE_ENGINE_PARAMETER_SUFFIX) { - if (ignitionMode != ignitionModeForPinIndices) { + if (ignitionMode != engine->ignitionModeForPinIndices) { #if EFI_ENGINE_CONTROL || defined(__DOXYGEN__) for (int i = 0; i < CONFIG(specs.cylindersCount); i++) { ENGINE(ignitionPin[i]) = getIgnitionPinForIndex(i PASS_ENGINE_PARAMETER_SUFFIX); } #endif /* EFI_ENGINE_CONTROL */ - ignitionModeForPinIndices = ignitionMode; + engine->ignitionModeForPinIndices = ignitionMode; } }