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 { namespace Display {
void displayColon(); void displayColon();
Task tDisplay(500, TASK_FOREVER, Display::displayColon, &ts, true); Task tDisplay(500, TASK_FOREVER, displayColon, &ts, true);
uint8_t brightness = BRIGHTNESS; uint8_t brightness = BRIGHTNESS;
int currentHour = -1; int currentHour = -1;
@ -55,9 +55,7 @@ namespace Display {
clockDisplay.setBrightness(brightness); clockDisplay.setBrightness(brightness);
} }
void displayColon() { void displayColon(bool colonOn) {
static bool colonOn = false;
if (colonOn) { if (colonOn) {
if (currentHour != hour()) { if (currentHour != hour()) {
currentHour = hour(); currentHour = hour();
@ -71,19 +69,33 @@ namespace Display {
} }
} }
clockDisplay.drawColon(colonOn); clockDisplay.drawColon(colonOn);
}
void displayColon() {
static bool colonOn = false;
displayColon(colonOn);
clockDisplay.writeDisplay(); clockDisplay.writeDisplay();
colonOn = !colonOn; colonOn = !colonOn;
} }
void displayValue(int value) { void displayValue(uint8_t value) {
tDisplay.disable();
displayColon(false);
clockDisplay.print(value, HEX); clockDisplay.print(value, HEX);
clockDisplay.writeDisplay(); clockDisplay.writeDisplay();
adjustTime();
tDisplay.enableDelayed(1000);
} }
void displayText(const char c[]) { void displayText(const char c[]) {
clockDisplay.print(c); tDisplay.disable();
displayColon(false);
clockDisplay.println(c);
clockDisplay.writeDisplay(); clockDisplay.writeDisplay();
adjustTime();
tDisplay.enableDelayed(1000);
} }
void setup() { void setup() {

View File

@ -37,17 +37,10 @@ namespace Ir {
return newCommand; return newCommand;
} }
void displayValue() { void command(const char c[]) {
Display::displayValue(lastCommand); avrOn = true;
Display::tDisplay.setCallback(Display::displayColon); Wifi::reconnect();
Display::adjustTime();
}
void displayText(const char c[]) {
Display::tDisplay.disable();
Display::displayText(c); Display::displayText(c);
Display::adjustTime();
Display::tDisplay.enableDelayed(1000);
} }
void loop() { void loop() {
@ -57,26 +50,41 @@ namespace Ir {
case 0x9F: case 0x9F:
avrOn = false; avrOn = false;
tCheckWifi.enable(); tCheckWifi.enable();
displayText("off"); Display::displayText("Off");
break;
case 0x12:
command("Slp");
break; break;
case 0xC4: case 0xC4:
command("Play");
break;
case 0xD0: case 0xD0:
command("Fire");
break;
case 0xC0: case 0xC0:
avrOn = true; command("On");
Wifi::reconnect();
break; break;
default: default:
Display::tDisplay.setCallback(displayValue); Display::displayValue(lastCommand);
Display::tDisplay.forceNextIteration();
break; break;
} }
} }
if (!avrOn && Mqtt::commands.getCurrent() == 0xC7) { if (Mqtt::commands.getCurrent() == 0xC7) {
Display::changeBrightness(true); if (!avrOn) {
Display::displayText("B Up");
Display::changeBrightness(true);
} else {
Display::displayText(" Up");
}
Mqtt::commands.pop(); Mqtt::commands.pop();
} }
if (!avrOn && Mqtt::commands.getCurrent() == 0xC8) { if (Mqtt::commands.getCurrent() == 0xC8) {
Display::changeBrightness(false); if (!avrOn) {
Display::displayText("B Dn");
Display::changeBrightness(false);
} else {
Display::displayText(" Dn");
}
Mqtt::commands.pop(); Mqtt::commands.pop();
} }
} }