From 93382725e6bc6c81f7b953f625b412f45e837719 Mon Sep 17 00:00:00 2001 From: rusefi Date: Sat, 4 Mar 2017 00:17:53 -0500 Subject: [PATCH] progress #363 --- firmware/controllers/trigger/trigger_emulator_algo.cpp | 8 +------- firmware/controllers/trigger/trigger_emulator_algo.h | 1 - firmware/controllers/trigger/trigger_simulator.cpp | 8 ++++++++ firmware/controllers/trigger/trigger_simulator.h | 1 + 4 files changed, 10 insertions(+), 8 deletions(-) diff --git a/firmware/controllers/trigger/trigger_emulator_algo.cpp b/firmware/controllers/trigger/trigger_emulator_algo.cpp index 90833532fb..25e64edc4d 100644 --- a/firmware/controllers/trigger/trigger_emulator_algo.cpp +++ b/firmware/controllers/trigger/trigger_emulator_algo.cpp @@ -21,6 +21,7 @@ #include "engine_configuration.h" #include "LocalVersionHolder.h" #include "trigger_central.h" +#include "trigger_simulator.h" #if EFI_PROD_CODE #include "pwm_generator.h" @@ -32,16 +33,9 @@ TriggerEmulatorHelper::TriggerEmulatorHelper() { thirdWheelState = false; } -// this is not the only place where we have 'isUpEvent'. todo: reuse -static bool isRisingEdge[6] = { false, true, false, true, false, true }; - EXTERN_ENGINE ; -bool isUsefulSignal(trigger_event_e signal, engine_configuration_s *engineConfiguration) { - return !engineConfiguration->useOnlyRisingEdgeForTrigger || isRisingEdge[(int) signal]; -} - static void fireShaftSignal(trigger_event_e signal) { if (isUsefulSignal(signal, engineConfiguration)) hwHandleShaftSignal(signal); diff --git a/firmware/controllers/trigger/trigger_emulator_algo.h b/firmware/controllers/trigger/trigger_emulator_algo.h index 4ee9829d32..9db010748e 100644 --- a/firmware/controllers/trigger/trigger_emulator_algo.h +++ b/firmware/controllers/trigger/trigger_emulator_algo.h @@ -22,6 +22,5 @@ public: }; void initTriggerEmulatorLogic(Logging *sharedLogger, Engine *engine); -bool isUsefulSignal(trigger_event_e signal, engine_configuration_s *engineConfiguration); #endif /* TRIGGER_EMULATOR_ALGO_H_ */ diff --git a/firmware/controllers/trigger/trigger_simulator.cpp b/firmware/controllers/trigger/trigger_simulator.cpp index b05fc50d88..7d937ffbd2 100644 --- a/firmware/controllers/trigger/trigger_simulator.cpp +++ b/firmware/controllers/trigger/trigger_simulator.cpp @@ -8,6 +8,7 @@ #include "main.h" #include "engine.h" #include "trigger_simulator.h" +#include "trigger_emulator_algo.h" #define SIMULATION_CYCLE_PERIOD 720000 @@ -16,6 +17,13 @@ EXTERN_ENGINE; TriggerStimulatorHelper::TriggerStimulatorHelper() { } +// this is not the only place where we have 'isUpEvent'. todo: reuse +static bool isRisingEdge[6] = { false, true, false, true, false, true }; + +bool isUsefulSignal(trigger_event_e signal, engine_configuration_s *engineConfiguration) { + return !engineConfiguration->useOnlyRisingEdgeForTrigger || isRisingEdge[(int) signal]; +} + void TriggerStimulatorHelper::nextStep(TriggerState *state, TriggerShape * shape, int i, trigger_config_s const*triggerConfig DECLARE_ENGINE_PARAMETER_S) { int stateIndex = i % shape->getSize(); diff --git a/firmware/controllers/trigger/trigger_simulator.h b/firmware/controllers/trigger/trigger_simulator.h index 677f7ab539..6883c7e91c 100644 --- a/firmware/controllers/trigger/trigger_simulator.h +++ b/firmware/controllers/trigger/trigger_simulator.h @@ -24,5 +24,6 @@ public: trigger_config_s const*triggerConfig DECLARE_ENGINE_PARAMETER_S); }; +bool isUsefulSignal(trigger_event_e signal, engine_configuration_s *engineConfiguration); #endif /* CONTROLLERS_TRIGGER_TRIGGER_SIMULATOR_H_ */