New panel design

This commit is contained in:
matt committed 2026-08-04 11:55:02 -07:00
1 parent face2432e4
commit b5d6b4a897
30 files changed
+4540 -171

No files matched your search

+27 -1
View File
@@ -30,9 +30,35 @@ main/
│ ├── ui_manager.h
│ └── ui_manager.c
└── api/
├── ha_config.h (entity IDs -- tracked, not secret)
├── ha_template.h (Jinja template, built from the HA_LIGHT_LIST X-macro)
├── ha_data.h
├── ha_data.c (parsing + presentation -- SHARED with sim/)
├── ha_client.h
├── ha_client.c (esp_http_client transport -- device only)
├── ambient_weather.h
└── ambient_weather.c
└── ambient_weather.c (cloud fallback, used only when HA is unreachable)
sim/ (desktop simulator -- NOT part of the IDF build)
├── CMakeLists.txt (own cmake project; idf.py never looks in here)
├── lv_conf.h (host LVGL config; font list must match sdkconfig.defaults)
├── sim_main.c (SDL window / headless PNG capture, mock data)
├── lvgl_port_sim.c (host implementation of main/ui/lvgl_port.h)
├── README.md
├── snapshots/ (captured HA responses, used as render fixtures)
└── compat/ (ESP-IDF header stand-ins, so main/ui/*.c compiles as-is)
├── esp_err.h
├── esp_log.h
├── esp_check.h
└── esp_compat.c
tools/
├── ha_discover.py (list Home Assistant entity IDs; reads $HA_TOKEN)
└── ha_snapshot.py (capture HA responses into sim/snapshots/)
Note: main/ subdirectories are plain source folders, not ESP-IDF components.
IDF only auto-discovers components under a top-level components/ directory,
so all sources are registered by main/CMakeLists.txt.
The simulator compiles main/ui/ui_manager.c unmodified against desktop LVGL,
which is why that file must stay free of hardware access. See sim/README.md.