From 398129036947359d15157c880459ad6533d22958 Mon Sep 17 00:00:00 2001 From: rusEfi Date: Mon, 26 Sep 2016 22:02:53 -0400 Subject: [PATCH] auto-sync --- firmware/controllers/algo/signal_executor.h | 3 +-- firmware/controllers/system/signal_executor_sleep.cpp | 1 + firmware/controllers/trigger/main_trigger_callback.cpp | 8 ++++---- unit_tests/test_trigger_decoder.cpp | 2 +- 4 files changed, 7 insertions(+), 7 deletions(-) diff --git a/firmware/controllers/algo/signal_executor.h b/firmware/controllers/algo/signal_executor.h index 290408a87d..1bba7b942d 100644 --- a/firmware/controllers/algo/signal_executor.h +++ b/firmware/controllers/algo/signal_executor.h @@ -51,8 +51,7 @@ struct OutputSignal_struct { * We are alternating instances so that events which extend into next revolution are not reused while * scheduling next revolution events */ - scheduling_s signalTimerUp[2]; - scheduling_s signalTimerDown[2]; + OutputSignalPair signalPair[2]; }; void seScheduleByTime(const char *prefix, scheduling_s *scheduling, efitimeus_t time, schfunc_t callback, NamedOutputPin *param); diff --git a/firmware/controllers/system/signal_executor_sleep.cpp b/firmware/controllers/system/signal_executor_sleep.cpp index 1a10fd1da0..7d11d67154 100644 --- a/firmware/controllers/system/signal_executor_sleep.cpp +++ b/firmware/controllers/system/signal_executor_sleep.cpp @@ -25,6 +25,7 @@ #include "main.h" #include "scheduler.h" #include "signal_executor.h" +#include "main_trigger_callback.h" #if EFI_SIMULATOR || defined(__DOXYGEN__) // this is about debugging diff --git a/firmware/controllers/trigger/main_trigger_callback.cpp b/firmware/controllers/trigger/main_trigger_callback.cpp index 108f0b03b6..e11ecb6cd3 100644 --- a/firmware/controllers/trigger/main_trigger_callback.cpp +++ b/firmware/controllers/trigger/main_trigger_callback.cpp @@ -198,8 +198,8 @@ static void scheduleFuelInjection(int rpm, int injEventIndex, OutputSignal *sign efiAssertVoid(signal!=NULL, "signal is NULL"); int index = getRevolutionCounter() % 2; - scheduling_s * sUp = &signal->signalTimerUp[index]; - scheduling_s * sDown = &signal->signalTimerDown[index]; + scheduling_s * sUp = &signal->signalPair[index].signalTimerUp; + scheduling_s * sDown = &signal->signalPair[index].signalTimerDown; efitimeus_t turnOnTime = nowUs + (int) delayUs; bool isSecondaryOverlapping = turnOnTime < output->overlappingScheduleOffTime; @@ -279,8 +279,8 @@ static ALWAYS_INLINE void handleFuelInjectionEvent(int injEventIndex, InjectionE */ efiAssertVoid(signal!=NULL, "signal is NULL"); int index = getRevolutionCounter() % 2; - scheduling_s * sUp = &signal->signalTimerUp[index]; - scheduling_s * sDown = &signal->signalTimerDown[index]; + scheduling_s * sUp = &signal->signalPair[index].signalTimerUp; + scheduling_s * sDown = &signal->signalPair[index].signalTimerDown; scheduleTask("out up", sUp, (int) injectionStartDelayUs, (schfunc_t) &startSimultaniousInjection, engine); scheduleTask("out down", sDown, (int) injectionStartDelayUs + MS2US(injectionDuration), diff --git a/unit_tests/test_trigger_decoder.cpp b/unit_tests/test_trigger_decoder.cpp index 19dce8c1ac..f1e767a25b 100644 --- a/unit_tests/test_trigger_decoder.cpp +++ b/unit_tests/test_trigger_decoder.cpp @@ -802,7 +802,7 @@ void testFuelSchedulerBug299smallAndMedium(void) { { scheduling_s *ev = schedulingQueue.getForUnitText(9); assertEqualsM("rev cnt#4#2", 5, engine->rpmCalculator.getRevolutionCounter()); - assertTrueM("down 50", ev == &engine->engineConfiguration2->fuelActuators[2].signalTimerDown[1]); + assertTrueM("down 50", ev == &engine->engineConfiguration2->fuelActuators[2].signalPair[1].signalTimerDown); }