From 2476fae92aaaf1de75f596bd17b08d1597a4bce4 Mon Sep 17 00:00:00 2001 From: rusefillc Date: Thu, 2 Dec 2021 16:52:16 -0500 Subject: [PATCH] Engine phase wrap around in log #3645 refactoring & docs --- firmware/controllers/trigger/trigger_central.cpp | 7 +++++-- firmware/controllers/trigger/trigger_central.h | 3 ++- 2 files changed, 7 insertions(+), 3 deletions(-) diff --git a/firmware/controllers/trigger/trigger_central.cpp b/firmware/controllers/trigger/trigger_central.cpp index 419a5ad540..45a9b16683 100644 --- a/firmware/controllers/trigger/trigger_central.cpp +++ b/firmware/controllers/trigger/trigger_central.cpp @@ -68,6 +68,9 @@ angle_t TriggerCentral::getVVTPosition(uint8_t bankIndex, uint8_t camIndex) { return vvtPosition[bankIndex][camIndex]; } +/** + * @return angle since trigger synchronization point, NOT angle since TDC. + */ expected TriggerCentral::getCurrentEnginePhase(efitick_t nowNt) const { floatus_t oneDegreeUs = engine->rpmCalculator.oneDegreeUs; @@ -75,7 +78,7 @@ expected TriggerCentral::getCurrentEnginePhase(efitick_t nowNt) const { return unexpected; } - return m_virtualZeroTimer.getElapsedUs(nowNt) / oneDegreeUs; + return m_syncPointTimer.getElapsedUs(nowNt) / oneDegreeUs; } /** @@ -617,7 +620,7 @@ void TriggerCentral::handleShaftSignal(trigger_event_e signal, efitick_t timesta int crankInternalIndex = triggerState.getTotalRevolutionCounter() % crankDivider; int triggerIndexForListeners = triggerState.getCurrentIndex() + (crankInternalIndex * getTriggerSize()); if (triggerIndexForListeners == 0) { - m_virtualZeroTimer.reset(timestamp); + m_syncPointTimer.reset(timestamp); } reportEventToWaveChart(signal, triggerIndexForListeners); diff --git a/firmware/controllers/trigger/trigger_central.h b/firmware/controllers/trigger/trigger_central.h index 17b8e6d13e..70f94f7ff5 100644 --- a/firmware/controllers/trigger/trigger_central.h +++ b/firmware/controllers/trigger/trigger_central.h @@ -126,7 +126,8 @@ public: private: // Keep track of the last time we saw the sync tooth go by (trigger index 0) - Timer m_virtualZeroTimer; + // not TDC point + Timer m_syncPointTimer; }; void triggerInfo(void);