diff --git a/include/display.h b/include/display.h index 7a266eb..d321516 100644 --- a/include/display.h +++ b/include/display.h @@ -13,7 +13,7 @@ namespace Display { void displayColon(); - Task tDisplay(500, TASK_FOREVER, Display::displayColon, &ts, true); + Task tDisplay(500, TASK_FOREVER, displayColon, &ts, true); uint8_t brightness = BRIGHTNESS; int currentHour = -1; @@ -85,14 +85,20 @@ namespace Display { clockDisplay.writeDisplay(); } - void displayValue(int value) { + void displayValue(uint8_t value) { + tDisplay.disable(); + displayColon(false); clockDisplay.print(value, HEX); clockDisplay.writeDisplay(); + adjustTime(); + tDisplay.enableDelayed(1000); } void displayText(const char c[]) { clockDisplay.println(c); clockDisplay.writeDisplay(); + adjustTime(); + tDisplay.enableDelayed(1000); } void setup() { diff --git a/include/ir.h b/include/ir.h index 95acb36..353c8c4 100644 --- a/include/ir.h +++ b/include/ir.h @@ -37,20 +37,10 @@ namespace Ir { return newCommand; } - void displayValue() { - Display::tDisplay.disable(); - Display::displayColon(false); - Display::displayValue(lastCommand); - Display::adjustTime(); - Display::tDisplay.enableDelayed(1000); - } - - void displayText(const char c[]) { - Display::tDisplay.disable(); - Display::displayColon(false); + void command(const char c[]) { + avrOn = true; + Wifi::reconnect(); Display::displayText(c); - Display::adjustTime(); - Display::tDisplay.enableDelayed(1000); } void loop() { @@ -60,27 +50,41 @@ namespace Ir { case 0x9F: avrOn = false; tCheckWifi.enable(); - displayText("Off"); + Display::displayText("Off"); + break; + case 0x12: + command("Slp"); break; case 0xC4: + command("Play"); + break; case 0xD0: + command("Fire"); + break; case 0xC0: - avrOn = true; - Wifi::reconnect(); + command("On"); break; default: - displayValue(); + Display::displayValue(lastCommand); break; } } - if (!avrOn && Mqtt::commands.getCurrent() == 0xC7) { - displayText("Up"); - Display::changeBrightness(true); + if (Mqtt::commands.getCurrent() == 0xC7) { + if (!avrOn) { + Display::displayText("B Up"); + Display::changeBrightness(true); + } else { + Display::displayText(" Up"); + } Mqtt::commands.pop(); } - if (!avrOn && Mqtt::commands.getCurrent() == 0xC8) { - displayText("Down"); - Display::changeBrightness(false); + if (Mqtt::commands.getCurrent() == 0xC8) { + if (!avrOn) { + Display::displayText("B Dn"); + Display::changeBrightness(false); + } else { + Display::displayText(" Dn"); + } Mqtt::commands.pop(); } }