display text commands

This commit is contained in:
Nicu Hodos 2021-12-07 20:20:03 +01:00
parent 50b2a11ec1
commit d3a44cd7d8
2 changed files with 45 additions and 25 deletions

View File

@ -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;
@ -55,9 +55,7 @@ namespace Display {
clockDisplay.setBrightness(brightness);
}
void displayColon() {
static bool colonOn = false;
void displayColon(bool colonOn) {
if (colonOn) {
if (currentHour != hour()) {
currentHour = hour();
@ -71,19 +69,33 @@ namespace Display {
}
}
clockDisplay.drawColon(colonOn);
}
void displayColon() {
static bool colonOn = false;
displayColon(colonOn);
clockDisplay.writeDisplay();
colonOn = !colonOn;
}
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.print(c);
tDisplay.disable();
displayColon(false);
clockDisplay.println(c);
clockDisplay.writeDisplay();
adjustTime();
tDisplay.enableDelayed(1000);
}
void setup() {

View File

@ -37,17 +37,10 @@ namespace Ir {
return newCommand;
}
void displayValue() {
Display::displayValue(lastCommand);
Display::tDisplay.setCallback(Display::displayColon);
Display::adjustTime();
}
void displayText(const char c[]) {
Display::tDisplay.disable();
void command(const char c[]) {
avrOn = true;
Wifi::reconnect();
Display::displayText(c);
Display::adjustTime();
Display::tDisplay.enableDelayed(1000);
}
void loop() {
@ -57,26 +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:
Display::tDisplay.setCallback(displayValue);
Display::tDisplay.forceNextIteration();
Display::displayValue(lastCommand);
break;
}
}
if (!avrOn && Mqtt::commands.getCurrent() == 0xC7) {
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) {
Display::changeBrightness(false);
if (Mqtt::commands.getCurrent() == 0xC8) {
if (!avrOn) {
Display::displayText("B Dn");
Display::changeBrightness(false);
} else {
Display::displayText(" Dn");
}
Mqtt::commands.pop();
}
}