display date
This commit is contained in:
parent
a2e6469903
commit
8e50f89a72
@ -65,6 +65,15 @@ namespace Devices {
|
|||||||
}
|
}
|
||||||
}).build()
|
}).build()
|
||||||
)
|
)
|
||||||
|
.addSecondary(
|
||||||
|
Builder<Button>::instance(new Button{"Display date", "display_date",
|
||||||
|
[](const char* msg) {
|
||||||
|
if (strcmp("PRESS", msg) == 0 && !Display::tDisplayDate.isEnabled()) {
|
||||||
|
Display::tDisplayDate.restart();
|
||||||
|
};
|
||||||
|
}
|
||||||
|
}).build()
|
||||||
|
)
|
||||||
.addSecondary(
|
.addSecondary(
|
||||||
Builder<Button>::instance(new Button{"Update time", "update_time",
|
Builder<Button>::instance(new Button{"Update time", "update_time",
|
||||||
[](const char* msg) {
|
[](const char* msg) {
|
||||||
|
|||||||
@ -15,10 +15,12 @@
|
|||||||
#define BRIGHTNESS_DAY 11
|
#define BRIGHTNESS_DAY 11
|
||||||
#define SECONDS(value) value*1000
|
#define SECONDS(value) value*1000
|
||||||
#define DISPLAY_SENSOR_ITERATIONS 2
|
#define DISPLAY_SENSOR_ITERATIONS 2
|
||||||
|
#define DISPLAY_DELAY (SECONDS(2))
|
||||||
|
|
||||||
namespace Display {
|
namespace Display {
|
||||||
|
|
||||||
void displayTime();
|
void displayTime();
|
||||||
|
void displayDate();
|
||||||
void displayTemp();
|
void displayTemp();
|
||||||
void displayHumidity();
|
void displayHumidity();
|
||||||
void drawTime();
|
void drawTime();
|
||||||
@ -40,6 +42,15 @@ namespace Display {
|
|||||||
tDisplaySensor.setIterations(DISPLAY_SENSOR_ITERATIONS * 2);
|
tDisplaySensor.setIterations(DISPLAY_SENSOR_ITERATIONS * 2);
|
||||||
tDisplayTime.enableDelayed(tDisplaySensor.getInterval());
|
tDisplayTime.enableDelayed(tDisplaySensor.getInterval());
|
||||||
});
|
});
|
||||||
|
Task tDisplayDate(TASK_IMMEDIATE, TASK_ONCE, displayDate, &ts, false,
|
||||||
|
[]() {
|
||||||
|
tDisplayTime.disable();
|
||||||
|
tDisplaySensor.disable();
|
||||||
|
return true;
|
||||||
|
},
|
||||||
|
[]() {
|
||||||
|
tDisplayTime.enableDelayed(5 * TASK_SECOND);
|
||||||
|
});
|
||||||
|
|
||||||
bool hourFormat24 = false;
|
bool hourFormat24 = false;
|
||||||
void (*hourFormatChangedCallback)();
|
void (*hourFormatChangedCallback)();
|
||||||
@ -133,14 +144,30 @@ namespace Display {
|
|||||||
tDisplayTime.disable();
|
tDisplayTime.disable();
|
||||||
clockDisplay.print(value, HEX);
|
clockDisplay.print(value, HEX);
|
||||||
clockDisplay.writeDisplay();
|
clockDisplay.writeDisplay();
|
||||||
tDisplayTime.enableDelayed(SECONDS(2));
|
tDisplayTime.enableDelayed(DISPLAY_DELAY);
|
||||||
}
|
}
|
||||||
|
|
||||||
void displayText(const char c[]) {
|
void displayText(const char c[]) {
|
||||||
tDisplayTime.disable();
|
tDisplayTime.disable();
|
||||||
clockDisplay.println(c);
|
clockDisplay.println(c);
|
||||||
clockDisplay.writeDisplay();
|
clockDisplay.writeDisplay();
|
||||||
tDisplayTime.enableDelayed(SECONDS(2));
|
tDisplayTime.enableDelayed(DISPLAY_DELAY);
|
||||||
|
}
|
||||||
|
|
||||||
|
unordered_map<char, const char*> daysOfWeek = {
|
||||||
|
{1, "So"},
|
||||||
|
{2, "Mo"},
|
||||||
|
{3, "Di"},
|
||||||
|
{4, "Mi"},
|
||||||
|
{5, "Do"},
|
||||||
|
{6, "Fr"},
|
||||||
|
{7, "Sa"},
|
||||||
|
};
|
||||||
|
void displayDate() {
|
||||||
|
char date[5];
|
||||||
|
sprintf(date, "%2s%2u", daysOfWeek[weekday()], day());
|
||||||
|
clockDisplay.println(date);
|
||||||
|
clockDisplay.writeDisplay();
|
||||||
}
|
}
|
||||||
|
|
||||||
void changeHourFormat24(bool format24) {
|
void changeHourFormat24(bool format24) {
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user