New panel design
This commit is contained in:
1 parent
face2432e4
commit
b5d6b4a897
30 files changed
+4540
-171
No files matched your search
+27
-1
@@ -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.
|
||||
Reference in new issue
Block a user