Compare commits

...

2 Commits

Author SHA1 Message Date
MarkT a9767b0e7b
Merge 3cf49d11bf into 8703ade9b6 2026-06-02 10:30:49 +01:00
markt-heximal 3cf49d11bf docs(esp32): note that lv_conf.h is ignored (LV_CONF_SKIP) — set LVGL fonts/tick via Kconfig
The firmware builds the managed lvgl/lvgl component with CONFIG_LV_CONF_SKIP=y,
so main/lv_conf.h has no effect — LVGL options (fonts, tick, widgets) must be set
via Kconfig/sdkconfig. Documents the trap behind the silently-disabled fonts and
the never-advancing tick (#889).
2026-05-31 21:49:59 -04:00
1 changed files with 13 additions and 0 deletions

View File

@ -287,6 +287,19 @@ CONFIG_WASM_MAX_MODULES=4
CONFIG_WASM_VERIFY_SIGNATURE=y
```
#### LVGL / display config gotcha (ADR-045)
This project builds the managed `lvgl/lvgl` component with **`CONFIG_LV_CONF_SKIP=y`**, so `main/lv_conf.h` is **ignored** — every LVGL option is taken from Kconfig instead. Editing `lv_conf.h` (fonts, tick, widgets, …) has **no effect**. Configure LVGL through `sdkconfig.defaults` (or `idf.py menuconfig`*Component config → LVGL*):
```ini
# Fonts: setting LV_FONT_MONTSERRAT_* in lv_conf.h does NOTHING — use Kconfig:
CONFIG_LV_FONT_MONTSERRAT_20=y
CONFIG_LV_FONT_MONTSERRAT_36=y
CONFIG_LV_USE_BAR=y
```
The same applies to the **LVGL tick**: the display only refreshes if `lv_tick` advances, which requires either `CONFIG_LV_TICK_CUSTOM` (Kconfig) or a firmware-driven `lv_tick_inc()``LV_TICK_CUSTOM=1` in `lv_conf.h` is ignored. (The firmware drives the tick via an `esp_timer`.)
---
## Flashing