From 183337b6d3a3c3eb955a07551d04fb0990966516 Mon Sep 17 00:00:00 2001 From: codingjourney Date: Thu, 28 Nov 2024 05:20:03 +0100 Subject: upper bound for elapsed time --- src/components/stopwatch/StopWatchController.cpp | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) (limited to 'src/components/stopwatch/StopWatchController.cpp') diff --git a/src/components/stopwatch/StopWatchController.cpp b/src/components/stopwatch/StopWatchController.cpp index 311bccc7..64261055 100644 --- a/src/components/stopwatch/StopWatchController.cpp +++ b/src/components/stopwatch/StopWatchController.cpp @@ -14,8 +14,8 @@ void StopWatchController::Start() { } void StopWatchController::Pause() { + timeElapsedPreviously = GetElapsedTime(); currentState = StopWatchStates::Paused; - timeElapsedPreviously += xTaskGetTickCount() - startTime; } void StopWatchController::Clear() { @@ -55,7 +55,8 @@ TickType_t StopWatchController::GetElapsedTime() { if (!IsRunning()) { return timeElapsedPreviously; } - return timeElapsedPreviously + (xTaskGetTickCount() - startTime); + TickType_t delta = xTaskGetTickCount() - startTime; + return (timeElapsedPreviously + delta) % elapsedTimeBoundary; } bool StopWatchController::IsRunning() { -- cgit v1.2.3-70-g09d2