From b90a1905044b71eb6a9ac0d4328893d3706d4ea1 Mon Sep 17 00:00:00 2001 From: Nicu Hodos Date: Mon, 10 Feb 2025 11:02:03 +0100 Subject: [PATCH] small improvement --- include/devices.h | 2 +- include/display.h | 13 ++++++++----- 2 files changed, 9 insertions(+), 6 deletions(-) diff --git a/include/devices.h b/include/devices.h index 8284b0a..1bd3fe5 100644 --- a/include/devices.h +++ b/include/devices.h @@ -137,7 +137,7 @@ namespace Devices { Display::Brightness::brightnessChangedCallback = []{ brightnessMqtt->updateState(Display::Brightness::current); }; - Display::Timer::timerCallback = [](int8 current){ + Display::Timer::remainingCallback = [](int8 current){ timerRemainingMqtt->updateState(to_string(current).c_str()); }; } diff --git a/include/display.h b/include/display.h index 03fb64f..dce6e48 100644 --- a/include/display.h +++ b/include/display.h @@ -79,7 +79,7 @@ namespace Display { namespace Timer { int8 timer = 0, current = 0; - void (*timerCallback)(int8); + void (*remainingCallback)(int8); Task tDisplayTimer(SECONDS(10), TASK_ONCE + 1, []{ @@ -108,14 +108,17 @@ namespace Display { tDisplayTimer.setIterations(TASK_FOREVER); tDisplayTimer.restart(); } - if (timerCallback) timerCallback(current); - }, &ts, false, nullptr, + if (remainingCallback) remainingCallback(current); + }, &ts, false, + []{ + current = timer+1; + return true; + }, []{ tDisplayTimer.disable(); }); void start() { - current = timer+1; tTimer.restart(); } @@ -223,7 +226,7 @@ namespace Display { void changeHourFormat24(bool format24) { hourFormat24 = format24; - drawTime(); + tDisplayTime.restart(); if (hourFormatChangedCallback) hourFormatChangedCallback(); }