Repository navigation
Add selectable UI color theme for color TFT displays - #3204
estebanscdev wants to merge 10 commits into
Conversation
Adds a runtime-selectable "legacy" dark theme (restoring the pre-refactor black background / green-yellow text palette) as an opt-in alongside the current "default" light theme, for boards using ST7735Display, ST7789LCDDisplay, NV3001BDisplay or LGFXDisplay (e.g. Heltec T096). Fixes meshcore-dev#3169 Selectable via Serial CLI: "set theme legacy" / "set theme default". DisplayDriver::applyTheme() returns false for an unrecognized/unsupported theme name, so the command rejects typos instead of silently falling back. Persisted in NodePrefs.ui_theme (survives reboots and full power loss, written to flash via DataStore::savePrefs), reapplied at boot and live without reboot. DisplayDriver::getThemeCount() reports per-driver theme support so the command only works on boards with a color-capable display.
This is cool. |
FAQ: Fixed instructions on wiping and resetting nrf52 devices
|
Tested this on real hardware (Heltec Wireless Tracker V2, Tested and working: One thing not obvious from the diff: on Current merge conflict, reproduced against today's Suggestion, a third theme. We like the mechanism a lot (persisted, runtime-selectable, minimal diff), but
One thing that stood out testing side by side: on Separately, we also prototyped driving
|
docs: fix frame format tables
Add documentation for radio presets








Adds a runtime-selectable "legacy" dark theme (restoring the pre-refactor black background / green-yellow text palette) as an opt-in alongside the current "default" light theme, for boards using ST7735Display, ST7789LCDDisplay, NV3001BDisplay or LGFXDisplay (e.g. Heltec T096).
Fixes #3169
Selectable via Serial CLI: "set theme legacy" / "set theme default". DisplayDriver::applyTheme() returns false for an unrecognized/unsupported theme name, so the command rejects typos instead of silently falling back.
Persisted in NodePrefs.ui_theme (survives reboots and full power loss, written to flash via DataStore::savePrefs), reapplied at boot and live without reboot. DisplayDriver::getThemeCount() reports per-driver theme support so the command only works on boards with a color-capable display.