feat(rlcd): runtime font size selector in Settings->Display

- device.properties bump default to 20
- lvgl_fonts add runtime override API (g_runtime_font_size + externs for all Montserrat sizes)
- DisplaySettings add fontSize field persisted in properties
- Display app adds Font size dropdown 14-28 applying immediately
- Lvgl.cpp applies saved runtime font on boot
- device.py new bucket <=20 includes all fonts for runtime switching (~150KB)

Co-authored-by: internal-model
This commit is contained in:
Adolfo Reyna
2026-07-18 15:10:42 -04:00
parent 12035f2f39
commit e29e9b4a66
8 changed files with 177 additions and 18 deletions
@@ -26,6 +26,7 @@ struct DisplaySettings {
bool disableScreensaverWhenCharging = false;
bool invertColor = false;
uint8_t monochromeThreshold = 60;
uint8_t fontSize = 0; // 0 = use compile-time default, otherwise 14/16/18/20/24/28
};
lv_display_rotation_t toLvglDisplayRotation(Orientation orientation);
bool load(DisplaySettings& settings);