Refactor power saving logic into display drivers and add ST7789 support

This commit is contained in:
Adolfo Reyna
2026-02-10 22:20:53 -05:00
parent ce1f06ccbf
commit fe5d58b663
11 changed files with 232 additions and 88 deletions

View File

@@ -141,3 +141,24 @@ void LowLevelDisplayEPaper::sleep() {
printf("Putting e-paper display to sleep...\n");
EPD_4IN2_V2_Sleep();
}
void LowLevelDisplayEPaper::on_idle_2min() {
// E-paper doesn't dim
}
void LowLevelDisplayEPaper::on_idle_10min() {
if (!is_sleeping) {
sleep();
is_sleeping = true;
printf("E-Paper: Entered sleep mode\n");
}
}
void LowLevelDisplayEPaper::on_user_interaction() {
if (is_sleeping) {
printf("E-Paper: Waking from sleep...\n");
init(); // Re-initialize to wake up
is_sleeping = false;
printf("E-Paper: Ready\n");
}
}