From a53d9c587add3f34b426e4697e3356b1cb6d00f2 Mon Sep 17 00:00:00 2001 From: rusefi Date: Sun, 26 Jan 2020 13:51:35 -0500 Subject: [PATCH] trigger refactoring --- firmware/controllers/trigger/trigger_decoder.cpp | 2 +- firmware/controllers/trigger/trigger_simulator.cpp | 14 +++++++------- firmware/controllers/trigger/trigger_simulator.h | 5 +++-- 3 files changed, 11 insertions(+), 10 deletions(-) diff --git a/firmware/controllers/trigger/trigger_decoder.cpp b/firmware/controllers/trigger/trigger_decoder.cpp index 61018709be..b5eba627fd 100644 --- a/firmware/controllers/trigger/trigger_decoder.cpp +++ b/firmware/controllers/trigger/trigger_decoder.cpp @@ -708,7 +708,7 @@ uint32_t TriggerState::findTriggerZeroEventIndex(TriggerWaveform * shape, * todo: add a comment why are we doing '2 * shape->getSize()' here? */ - helper.assertSyncPositionAndSetDutyCycle(onFindIndexCallback, syncIndex, this, shape PASS_ENGINE_PARAMETER_SUFFIX); + helper.assertSyncPositionAndSetDutyCycle(onFindIndexCallback, syncIndex, this, shape PASS_CONFIG_PARAMETER_SUFFIX); return syncIndex % shape->getSize(); } diff --git a/firmware/controllers/trigger/trigger_simulator.cpp b/firmware/controllers/trigger/trigger_simulator.cpp index 85dec673dc..38f2c4db60 100644 --- a/firmware/controllers/trigger/trigger_simulator.cpp +++ b/firmware/controllers/trigger/trigger_simulator.cpp @@ -28,7 +28,7 @@ extern bool printTriggerDebug; void TriggerStimulatorHelper::feedSimulatedEvent(const TriggerStateCallback triggerCycleCallback, TriggerState *state, TriggerWaveform * shape, int i - DECLARE_ENGINE_PARAMETER_SUFFIX) { + DECLARE_CONFIG_PARAMETER_SUFFIX) { efiAssertVoid(CUSTOM_ERR_6593, shape->getSize() > 0, "size not zero"); int stateIndex = i % shape->getSize(); int size = shape->getSize(); @@ -64,7 +64,7 @@ void TriggerStimulatorHelper::feedSimulatedEvent(const TriggerStateCallback trig pin_state_t currentValue = multiChannelStateSequence->getChannelState(/*phaseIndex*/0, stateIndex); trigger_event_e s = currentValue ? SHAFT_PRIMARY_RISING : SHAFT_PRIMARY_FALLING; if (isUsefulSignal(s PASS_CONFIG_PARAMETER_SUFFIX)) { - state->decodeTriggerEvent(&ENGINE(triggerCentral.triggerShape), + state->decodeTriggerEvent(shape, triggerCycleCallback, /* override */ nullptr, s, time PASS_CONFIG_PARAMETER_SUFFIX); @@ -75,7 +75,7 @@ void TriggerStimulatorHelper::feedSimulatedEvent(const TriggerStateCallback trig pin_state_t currentValue = multiChannelStateSequence->getChannelState(/*phaseIndex*/1, stateIndex); trigger_event_e s = currentValue ? SHAFT_SECONDARY_RISING : SHAFT_SECONDARY_FALLING; if (isUsefulSignal(s PASS_CONFIG_PARAMETER_SUFFIX)) { - state->decodeTriggerEvent(&ENGINE(triggerCentral.triggerShape), + state->decodeTriggerEvent(shape, triggerCycleCallback, /* override */ nullptr, s, time PASS_CONFIG_PARAMETER_SUFFIX); @@ -86,7 +86,7 @@ void TriggerStimulatorHelper::feedSimulatedEvent(const TriggerStateCallback trig pin_state_t currentValue = multiChannelStateSequence->getChannelState(/*phaseIndex*/2, stateIndex); trigger_event_e s = currentValue ? SHAFT_3RD_RISING : SHAFT_3RD_FALLING; if (isUsefulSignal(s PASS_CONFIG_PARAMETER_SUFFIX)) { - state->decodeTriggerEvent(&ENGINE(triggerCentral.triggerShape), + state->decodeTriggerEvent(shape, triggerCycleCallback, /* override */ nullptr, s, time PASS_CONFIG_PARAMETER_SUFFIX); @@ -96,13 +96,13 @@ void TriggerStimulatorHelper::feedSimulatedEvent(const TriggerStateCallback trig void TriggerStimulatorHelper::assertSyncPositionAndSetDutyCycle(const TriggerStateCallback triggerCycleCallback, const uint32_t syncIndex, TriggerState *state, TriggerWaveform * shape - DECLARE_ENGINE_PARAMETER_SUFFIX) { + DECLARE_CONFIG_PARAMETER_SUFFIX) { /** * let's feed two more cycles to validate shape definition */ for (uint32_t i = syncIndex + 1; i <= syncIndex + GAP_TRACKING_LENGTH * shape->getSize(); i++) { - feedSimulatedEvent(triggerCycleCallback, state, shape, i PASS_ENGINE_PARAMETER_SUFFIX); + feedSimulatedEvent(triggerCycleCallback, state, shape, i PASS_CONFIG_PARAMETER_SUFFIX); } int revolutionCounter = state->getTotalRevolutionCounter(); if (revolutionCounter != GAP_TRACKING_LENGTH + 1) { @@ -123,7 +123,7 @@ void TriggerStimulatorHelper::assertSyncPositionAndSetDutyCycle(const TriggerSta uint32_t TriggerStimulatorHelper::findTriggerSyncPoint(TriggerWaveform * shape, TriggerState *state DECLARE_ENGINE_PARAMETER_SUFFIX) { for (int i = 0; i < 4 * PWM_PHASE_MAX_COUNT; i++) { - feedSimulatedEvent(nullptr, state, shape, i PASS_ENGINE_PARAMETER_SUFFIX); + feedSimulatedEvent(nullptr, state, shape, i PASS_CONFIG_PARAMETER_SUFFIX); if (state->shaft_is_synchronized) return i; diff --git a/firmware/controllers/trigger/trigger_simulator.h b/firmware/controllers/trigger/trigger_simulator.h index a4afe49d9a..bd8c3362b3 100644 --- a/firmware/controllers/trigger/trigger_simulator.h +++ b/firmware/controllers/trigger/trigger_simulator.h @@ -18,11 +18,12 @@ public: void assertSyncPositionAndSetDutyCycle(const TriggerStateCallback triggerCycleCallback, const uint32_t index, TriggerState *state, TriggerWaveform * shape - DECLARE_ENGINE_PARAMETER_SUFFIX); + DECLARE_CONFIG_PARAMETER_SUFFIX); private: // send next event so that we can see how state reacts - void feedSimulatedEvent(const TriggerStateCallback triggerCycleCallback, TriggerState *state, TriggerWaveform * shape, int i DECLARE_ENGINE_PARAMETER_SUFFIX); + void feedSimulatedEvent(const TriggerStateCallback triggerCycleCallback, TriggerState *state, + TriggerWaveform * shape, int i DECLARE_CONFIG_PARAMETER_SUFFIX); }; bool isUsefulSignal(trigger_event_e signal DECLARE_CONFIG_PARAMETER_SUFFIX);