From 0bfa2770d5f0c6d9a5531a5e2b863ab43569cb33 Mon Sep 17 00:00:00 2001 From: codingjourney Date: Mon, 20 Jan 2025 22:31:50 +0100 Subject: fixed irregular pause mode blinking at clock wraparound --- src/displayapp/screens/StopWatch.cpp | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) (limited to 'src/displayapp/screens/StopWatch.cpp') diff --git a/src/displayapp/screens/StopWatch.cpp b/src/displayapp/screens/StopWatch.cpp index 7c3de239..8d029019 100644 --- a/src/displayapp/screens/StopWatch.cpp +++ b/src/displayapp/screens/StopWatch.cpp @@ -159,8 +159,8 @@ void StopWatch::RenderTime() { void StopWatch::RenderPause() { const TickType_t currentTime = xTaskGetTickCount(); - if (currentTime > blinkTime) { - blinkTime = currentTime + blinkInterval; + if (currentTime - lastBlinkTime > blinkInterval) { + lastBlinkTime = currentTime; if (lv_obj_get_state(time, LV_LABEL_PART_MAIN) == LV_STATE_DEFAULT) { lv_obj_set_state(time, LV_STATE_DISABLED); lv_obj_set_state(msecTime, LV_STATE_DISABLED); @@ -253,7 +253,7 @@ bool StopWatch::OnButtonPushed() { void StopWatch::OnPause() { stopWatchController.Pause(); - blinkTime = xTaskGetTickCount() + blinkInterval; + lastBlinkTime = xTaskGetTickCount(); RenderTime(); // make sure displayed time is not stale DisplayPaused(); wakeLock.Release(); -- cgit v1.2.3-70-g09d2