add functionality to display text commands
This commit is contained in:
parent
aa1c548551
commit
d0590d736b
@ -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,14 +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[]) {
|
||||
tDisplay.disable();
|
||||
displayColon(false);
|
||||
clockDisplay.println(c);
|
||||
clockDisplay.writeDisplay();
|
||||
adjustTime();
|
||||
tDisplay.enableDelayed(1000);
|
||||
}
|
||||
|
||||
void setup() {
|
||||
|
||||
40
include/ir.h
40
include/ir.h
@ -37,38 +37,54 @@ namespace Ir {
|
||||
return newCommand;
|
||||
}
|
||||
|
||||
void displayValue() {
|
||||
Display::displayValue(lastCommand);
|
||||
Display::tDisplay.setCallback(Display::displayColon);
|
||||
Display::adjustTime();
|
||||
void command(const char c[]) {
|
||||
avrOn = true;
|
||||
Wifi::reconnect();
|
||||
Display::displayText(c);
|
||||
}
|
||||
|
||||
void loop() {
|
||||
if (readCommand()) {
|
||||
Display::tDisplay.setCallback(displayValue);
|
||||
Display::tDisplay.forceNextIteration();
|
||||
switch (lastCommand)
|
||||
{
|
||||
case 0x9F:
|
||||
avrOn = false;
|
||||
tCheckWifi.enable();
|
||||
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::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();
|
||||
}
|
||||
}
|
||||
|
||||
@ -14,9 +14,9 @@ board = d1_mini
|
||||
framework = arduino
|
||||
lib_deps =
|
||||
arduino-libraries/NTPClient@^3.1.0
|
||||
adafruit/Adafruit LED Backpack Library@^1.1.8
|
||||
adafruit/Adafruit GFX Library@^1.10.7
|
||||
adafruit/Adafruit BusIO@^1.6.0
|
||||
adafruit/Adafruit LED Backpack Library@^1.3.2
|
||||
adafruit/Adafruit GFX Library@^1.10.12
|
||||
adafruit/Adafruit BusIO@^1.9.8
|
||||
jchristensen/Timezone@^1.2.4
|
||||
ottowinter/AsyncMqttClient-esphome@^0.8.5
|
||||
crankyoldgit/IRremoteESP8266@^2.7.18
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user