From 5454b8f5090ad152de30abe0449f9a9dae7a10ca Mon Sep 17 00:00:00 2001 From: rusefillc Date: Mon, 9 May 2022 04:04:38 -0400 Subject: [PATCH] m_hasSynchronizedSymmetrical handling improvements #4099 API progress --- firmware/controllers/trigger/trigger_decoder.cpp | 1 + firmware/util/timer.cpp | 8 ++++++++ firmware/util/timer.h | 5 ++++- 3 files changed, 13 insertions(+), 1 deletion(-) diff --git a/firmware/controllers/trigger/trigger_decoder.cpp b/firmware/controllers/trigger/trigger_decoder.cpp index 9e914f1f41..c2dae9d65d 100644 --- a/firmware/controllers/trigger/trigger_decoder.cpp +++ b/firmware/controllers/trigger/trigger_decoder.cpp @@ -82,6 +82,7 @@ void TriggerState::resetTriggerState() { isFirstEvent = true; m_hasSynchronizedPhase = false; + synchronizedPhase.init(); } void TriggerState::setTriggerErrorState() { diff --git a/firmware/util/timer.cpp b/firmware/util/timer.cpp index a297c84c5a..53f2885a3f 100644 --- a/firmware/util/timer.cpp +++ b/firmware/util/timer.cpp @@ -2,10 +2,18 @@ #include "timer.h" +Timer::Timer() { + init(); +} + void Timer::reset() { m_lastReset = getTimeNowNt(); } +void Timer::init() { + m_lastReset = INT64_MIN / 8; +} + void Timer::reset(efitick_t nowNt) { m_lastReset = nowNt; } diff --git a/firmware/util/timer.h b/firmware/util/timer.h index 228175d1d1..fd717529dd 100644 --- a/firmware/util/timer.h +++ b/firmware/util/timer.h @@ -8,10 +8,13 @@ */ class Timer { public: + Timer(); void reset(); // Reset the timer to a known timestamp (don't take a timestamp internally) void reset(efitick_t nowNt); + // returns timer to the most original-as-constructed state + void init(); bool hasElapsedSec(float seconds) const; bool hasElapsedMs(float ms) const; @@ -32,5 +35,5 @@ public: private: // Use not-quite-minimum value to avoid overflow - efitick_t m_lastReset = INT64_MIN / 8; + efitick_t m_lastReset; };