diff --git a/firmware/controllers/engine_cycle/main_trigger_callback.cpp b/firmware/controllers/engine_cycle/main_trigger_callback.cpp index 358b34dc3d..8bcccae240 100644 --- a/firmware/controllers/engine_cycle/main_trigger_callback.cpp +++ b/firmware/controllers/engine_cycle/main_trigger_callback.cpp @@ -316,9 +316,6 @@ void mainTriggerCallback(uint32_t trgEventIndex, efitick_t edgeTimestamp, angle_ bool limitedFuel = !limitedFuelState.value; if (trgEventIndex == 0) { - if (HAVE_CAM_INPUT()) { - engine->triggerCentral.validateCamVvtCounters(); - } if (engine->triggerCentral.checkIfTriggerConfigChanged()) { engine->ignitionEvents.isReady = false; // we need to rebuild complete ignition schedule diff --git a/firmware/controllers/engine_cycle/rpm_calculator.cpp b/firmware/controllers/engine_cycle/rpm_calculator.cpp index 0e399387d8..9416147f90 100644 --- a/firmware/controllers/engine_cycle/rpm_calculator.cpp +++ b/firmware/controllers/engine_cycle/rpm_calculator.cpp @@ -238,6 +238,11 @@ void rpmShaftPositionCallback(trigger_event_e ckpSignalType, RpmCalculator *rpmState = &engine->rpmCalculator; if (trgEventIndex == 0) { + if (HAVE_CAM_INPUT()) { + engine->triggerCentral.validateCamVvtCounters(); + } + + bool hadRpmRecently = rpmState->checkIfSpinning(nowNt); float periodSeconds = engine->rpmCalculator.lastTdcTimer.getElapsedSecondsAndReset(nowNt);