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