From 6b3df25fd541a06ab855991467d8954e9424baa7 Mon Sep 17 00:00:00 2001 From: Nicu Hodos Date: Tue, 7 Dec 2021 09:25:59 +0100 Subject: [PATCH] display command --- include/display.h | 6 +++--- include/ir.h | 9 +++++++++ src/esp_clock.cpp | 2 +- 3 files changed, 13 insertions(+), 4 deletions(-) diff --git a/include/display.h b/include/display.h index 2b8876c..a6e9c96 100644 --- a/include/display.h +++ b/include/display.h @@ -17,7 +17,7 @@ namespace Display { // Create display object Adafruit_7segment clockDisplay = Adafruit_7segment(); - void displayTime() { + void adjustTime() { int displayHour = hour(); int displayMinute = minute(); int displayValue = displayHour * 100 + displayMinute; @@ -62,7 +62,7 @@ namespace Display { } if (currentMin != minute()) { currentMin = minute(); - displayTime(); + adjustTime(); } } clockDisplay.drawColon(colonOn); @@ -79,7 +79,7 @@ namespace Display { void setup() { clockDisplay.begin(DISPLAY_ADDRESS); clockDisplay.setBrightness(brightness); - displayTime(); + adjustTime(); displayColon(); } } diff --git a/include/ir.h b/include/ir.h index f81317c..0969daf 100644 --- a/include/ir.h +++ b/include/ir.h @@ -34,12 +34,21 @@ namespace Ir { return newCommand; } + void displayValue() { + Display::displayValue(lastCommand); + tBlinkColon.set(500, TASK_FOREVER, Display::displayColon); + tBlinkColon.enableDelayed(); + Display::adjustTime(); + } + void setup() { irrecv.enableIRIn(); // Start the receiver } void loop() { if (readCommand()) { + tBlinkColon.set(1000, TASK_ONCE, displayValue); + tBlinkColon.forceNextIteration(); switch (lastCommand) { case 0x9F: diff --git a/src/esp_clock.cpp b/src/esp_clock.cpp index 1092ba9..bf8f5e1 100644 --- a/src/esp_clock.cpp +++ b/src/esp_clock.cpp @@ -12,6 +12,7 @@ StatusRequest wifiConnected; #include "mqtt.h" #include "ota.h" #include "display.h" +Task tBlinkColon(500, TASK_FOREVER, Display::displayColon, &ts, true); #include "ir.h" #define STAY_CONNECTED_AFTER_BOOT 5*60 @@ -19,7 +20,6 @@ StatusRequest wifiConnected; void wifiConnectedCallback(); void otaCallback(); -Task tBlinkColon(500, TASK_FOREVER, Display::displayColon, &ts, true); Task tOta(TASK_IMMEDIATE, TASK_FOREVER, otaCallback, &ts); Task tWifiReconnect(Wifi::reconnect, &ts); Task tWifiConnected(wifiConnectedCallback, &ts);