diff --git a/firmware/console/binary/tooth_logger.cpp b/firmware/console/binary/tooth_logger.cpp index 2393813f3d..12ffb2be97 100644 --- a/firmware/console/binary/tooth_logger.cpp +++ b/firmware/console/binary/tooth_logger.cpp @@ -86,7 +86,7 @@ static void SetNextCompositeEntry(efitick_t timestamp DECLARE_ENGINE_PARAMETER_S buffer[NextIdx].priLevel = currentTrigger1; buffer[NextIdx].secLevel = currentTrigger2; buffer[NextIdx].trigger = currentTdc; - buffer[NextIdx].sync = engine->triggerCentral.triggerState.shaft_is_synchronized; + buffer[NextIdx].sync = engine->triggerCentral.triggerState.getShaftSynchronized(); buffer[NextIdx].coil = currentCoilState; buffer[NextIdx].injector = currentInjectorState; diff --git a/firmware/controllers/trigger/trigger_central.cpp b/firmware/controllers/trigger/trigger_central.cpp index f0823bff6b..5b940fb191 100644 --- a/firmware/controllers/trigger/trigger_central.cpp +++ b/firmware/controllers/trigger/trigger_central.cpp @@ -459,7 +459,7 @@ bool TriggerNoiseFilter::noiseFilter(efitick_t nowNt, efitick_t allowedPeriod = accumSignalPrevPeriods[os]; // but first check if we're expecting a gap - bool isGapExpected = TRIGGER_WAVEFORM(isSynchronizationNeeded) && triggerState->shaft_is_synchronized && + bool isGapExpected = TRIGGER_WAVEFORM(isSynchronizationNeeded) && triggerState->getShaftSynchronized() && (triggerState->currentCycle.eventCount[ti] + 1) == TRIGGER_WAVEFORM(getExpectedEventCount(ti)); if (isGapExpected) { @@ -553,7 +553,7 @@ void TriggerCentral::handleShaftSignal(trigger_event_e signal, efitick_t timesta } reportEventToWaveChart(signal, triggerIndexForListeners PASS_ENGINE_PARAMETER_SUFFIX); - if (!triggerState.shaft_is_synchronized) { + if (!triggerState.getShaftSynchronized()) { // we should not propagate event if we do not know where we are return; } diff --git a/firmware/controllers/trigger/trigger_decoder.cpp b/firmware/controllers/trigger/trigger_decoder.cpp index e3ff4e42af..fd5f364e20 100644 --- a/firmware/controllers/trigger/trigger_decoder.cpp +++ b/firmware/controllers/trigger/trigger_decoder.cpp @@ -45,6 +45,10 @@ TriggerState::TriggerState() { resetTriggerState(); } +bool TriggerState::getShaftSynchronized() { + return shaft_is_synchronized; +} + void TriggerState::setShaftSynchronized(bool value) { if (value) { if (!shaft_is_synchronized) { @@ -278,7 +282,7 @@ float TriggerStateWithRunningStatistics::calculateInstantRpm(TriggerFormDetails } void TriggerStateWithRunningStatistics::setLastEventTimeForInstantRpm(efitick_t nowNt DECLARE_ENGINE_PARAMETER_SUFFIX) { - if (shaft_is_synchronized) { + if (getShaftSynchronized()) { return; } // here we remember tooth timestamps which happen prior to synchronization @@ -498,7 +502,7 @@ void TriggerState::decodeTriggerEvent( isFirstEvent = false; bool isSynchronizationPoint; - bool wasSynchronized = shaft_is_synchronized; + bool wasSynchronized = getShaftSynchronized(); DISPLAY_STATE(Trigger_State) DISPLAY_TEXT(Current_Gap); @@ -623,12 +627,12 @@ void TriggerState::decodeTriggerEvent( unsigned int endOfCycleIndex = triggerShape.getSize() - (triggerConfiguration.UseOnlyRisingEdgeForTrigger ? 2 : 1); - isSynchronizationPoint = !shaft_is_synchronized || (currentCycle.current_index >= endOfCycleIndex); + isSynchronizationPoint = !getShaftSynchronized() || (currentCycle.current_index >= endOfCycleIndex); #if EFI_UNIT_TEST if (printTriggerTrace) { printf("decodeTriggerEvent sync=%d isSynchronizationPoint=%d index=%d size=%d\r\n", - shaft_is_synchronized, + getShaftSynchronized(), isSynchronizationPoint, currentCycle.current_index, triggerShape.getSize()); @@ -667,7 +671,7 @@ void TriggerState::decodeTriggerEvent( toothed_previous_time = nowNt; } - if (shaft_is_synchronized && !isValidIndex(triggerShape) && triggerStateListener) { + if (getShaftSynchronized() && !isValidIndex(triggerShape) && triggerStateListener) { triggerStateListener->OnTriggerInvalidIndex(currentCycle.current_index); return; } diff --git a/firmware/controllers/trigger/trigger_decoder.h b/firmware/controllers/trigger/trigger_decoder.h index a395ea0947..fb9de5448a 100644 --- a/firmware/controllers/trigger/trigger_decoder.h +++ b/firmware/controllers/trigger/trigger_decoder.h @@ -143,6 +143,7 @@ public: void resetTriggerState(); void setShaftSynchronized(bool value); + bool getShaftSynchronized(); /** * this is start of real trigger cycle diff --git a/firmware/controllers/trigger/trigger_simulator.cpp b/firmware/controllers/trigger/trigger_simulator.cpp index f6342990ad..08b72821f3 100644 --- a/firmware/controllers/trigger/trigger_simulator.cpp +++ b/firmware/controllers/trigger/trigger_simulator.cpp @@ -148,7 +148,7 @@ uint32_t TriggerStimulatorHelper::findTriggerSyncPoint( triggerConfiguration, state, shape, i); - if (state.shaft_is_synchronized) { + if (state.getShaftSynchronized()) { return i; } } diff --git a/unit_tests/tests/test_tacho.cpp b/unit_tests/tests/test_tacho.cpp index dfcad1030f..bf4721707d 100644 --- a/unit_tests/tests/test_tacho.cpp +++ b/unit_tests/tests/test_tacho.cpp @@ -30,7 +30,7 @@ TEST(tachometer, testPulsePerRev) { // ensure engine speed ASSERT_EQ(1500, GET_RPM()) << "RPM"; - ASSERT_EQ(engine->triggerCentral.triggerState.shaft_is_synchronized, true); + ASSERT_EQ(engine->triggerCentral.triggerState.getShaftSynchronized(), true); // Poke the fast callback to update the tach engine->periodicFastCallback(PASS_ENGINE_PARAMETER_SIGNATURE); diff --git a/unit_tests/tests/trigger/test_nissan_vq_vvt.cpp b/unit_tests/tests/trigger/test_nissan_vq_vvt.cpp index c0613fc984..29e2065a11 100644 --- a/unit_tests/tests/trigger/test_nissan_vq_vvt.cpp +++ b/unit_tests/tests/trigger/test_nissan_vq_vvt.cpp @@ -118,8 +118,8 @@ TEST(nissan, vq_vvt) { TriggerCentral *tc = &engine->triggerCentral; - ASSERT_TRUE(tc->vvtState[0][0].shaft_is_synchronized); - //huh? ASSERT_TRUE(tc->vvtState[0][1].shaft_is_synchronized); + ASSERT_TRUE(tc->vvtState[0][0].getShaftSynchronized()); + //huh? ASSERT_TRUE(tc->vvtState[0][1].getShaftSynchronized()); angle_t firstVVTangle = 27.5; ASSERT_NEAR(firstVVTangle, tc->vvtPosition[0][0], EPS2D); diff --git a/unit_tests/tests/trigger/test_symmetrical_crank.cpp b/unit_tests/tests/trigger/test_symmetrical_crank.cpp index 0da58a95b1..3bb70b2f3b 100644 --- a/unit_tests/tests/trigger/test_symmetrical_crank.cpp +++ b/unit_tests/tests/trigger/test_symmetrical_crank.cpp @@ -34,9 +34,9 @@ TEST(engine, testSymmetricalCrank) { eth.fireFall(mult * 384); eth.fireRise(mult * 16); eth.fireFall(mult * 304); - ASSERT_FALSE(engine->triggerCentral.triggerState.shaft_is_synchronized); + ASSERT_FALSE(engine->triggerCentral.triggerState.getShaftSynchronized()); eth.fireRise(mult * 16); - ASSERT_TRUE(engine->triggerCentral.triggerState.shaft_is_synchronized); + ASSERT_TRUE(engine->triggerCentral.triggerState.getShaftSynchronized()); ASSERT_EQ( 0, GET_RPM()) << "RPM#0"; diff --git a/unit_tests/tests/trigger/test_trigger_decoder.cpp b/unit_tests/tests/trigger/test_trigger_decoder.cpp index 173ebde715..ba6787c2c9 100644 --- a/unit_tests/tests/trigger/test_trigger_decoder.cpp +++ b/unit_tests/tests/trigger/test_trigger_decoder.cpp @@ -70,7 +70,7 @@ static void testDodgeNeonDecoder(void) { TriggerState state; - ASSERT_FALSE(state.shaft_is_synchronized) << "1 shaft_is_synchronized"; + ASSERT_FALSE(state.getShaftSynchronized()) << "1 shaft_is_synchronized"; // int r = 0; // processTriggerEvent(&state, shape, &ec->triggerConfig, SHAFT_PRIMARY_RISING, r + 60); @@ -339,7 +339,7 @@ TEST(misc, testRpmCalculator) { // debugSignalExecutor = true; - ASSERT_EQ(engine->triggerCentral.triggerState.shaft_is_synchronized, 1); + ASSERT_EQ(engine->triggerCentral.triggerState.getShaftSynchronized(), 1); eth.moveTimeForwardMs(5 /*ms*/);