Updated icons, buttons, and display; issues still with Main Room button, and sliders.
This commit is contained in:
1 parent
b5d6b4a897
commit
45998b6176
15 files changed
+973
-77
No files matched your search
@@ -24,6 +24,7 @@ forecast, and on/off plus brightness control for six lights. Thermostat control
|
||||
| `main/drivers/touch` | GT911 capacitive touch over I2C, registered as an LVGL input device |
|
||||
| `main/ui/lvgl_port.c` | LVGL tick source, service task, and locking |
|
||||
| `main/ui/ui_manager.c` | Screen layout and update entry points |
|
||||
| `main/ui/icon_font.c` | Generated ~6KB MDI icon subset — see `tools/make_icon_font.py` |
|
||||
| `main/wifi` | WiFi station bring-up |
|
||||
| `main/api/ha_client.c` | Home Assistant REST transport (device only) |
|
||||
| `main/api/ha_data.c` | Response parsing and presentation helpers (**shared with the simulator**) |
|
||||
@@ -211,6 +212,16 @@ about PSRAM bandwidth or panel timing.
|
||||
- **`LV_LABEL_LONG_DOT` needs an explicit height** to truncate. With a
|
||||
content-sized height the label wraps to a second line first and only then
|
||||
adds dots — landing on top of whatever is below it.
|
||||
- **Icons are label text**, not images: single glyphs from a subset MDI TTF
|
||||
rasterised by tiny_ttf (`tools/make_icon_font.py` regenerates
|
||||
`main/ui/icon_font.c` / `ui_icons.h`; needs network + fonttools, so the
|
||||
generated files are committed). Codepoints are resolved from the MDI CSS at
|
||||
generation time — never hardcode one, MDI reassigns them between majors.
|
||||
- **Light tiles are optimistic.** A tap flips the tile immediately and holds
|
||||
against poll data for up to 5s until HA confirms (`light_hold_t`); commands
|
||||
are sent on finger-lift only, and poll updates never touch a pressed
|
||||
slider. Breaking any of those three rules brings back the "button waits a
|
||||
second, then the knob jumps out from under your finger" feel.
|
||||
- **`lv_label_set_text()` invalidates unconditionally**, even when the text is
|
||||
identical — so setting an unchanged value still forces a repaint. All label
|
||||
updates go through `label_set_if_changed()`.
|
||||
|
||||
Reference in new issue
Block a user