Fix screen not sleeping due to power status updates (#9216)

Co-authored-by: Ben Meadors <benmmeadors@gmail.com>
This commit is contained in:
Heath Dutton🕴️
2026-01-08 09:04:17 -05:00
committed by GitHub
parent 6e110788fd
commit b4369b2730
2 changed files with 9 additions and 2 deletions

View File

@@ -1429,10 +1429,15 @@ int Screen::handleStatusUpdate(const meshtastic::Status *arg)
}
nodeDB->updateGUI = false;
break;
case STATUS_TYPE_POWER:
forceDisplay(true);
case STATUS_TYPE_POWER: {
bool currentUSB = powerStatus->getHasUSB();
if (currentUSB != lastPowerUSBState) {
lastPowerUSBState = currentUSB;
forceDisplay(true);
}
break;
}
}
return 0;
}

View File

@@ -715,6 +715,8 @@ class Screen : public concurrency::OSThread
// Whether we are showing the regular screen (as opposed to booth screen or
// Bluetooth PIN screen)
bool showingNormalScreen = false;
/// Track USB power state to only wake screen on actual power state changes
bool lastPowerUSBState = false;
// Implementation to Adjust Brightness
uint8_t brightness = BRIGHTNESS_DEFAULT; // H = 254, MH = 192, ML = 130 L = 103