- Add an esp_timer-driven lv_tick_inc() in the display task. Without it
LVGL's tick never advances, its 30ms refresh timer never fires, and the
panel only ever shows the boot frame (CONFIG_LV_TICK_CUSTOM is unset and
lv_conf.h is ignored by the Kconfig-driven managed lvgl component).
Fixes#889.
- Add display_hal_st7789.c: ST7789V2 SPI LCD + CST816 touch + LEDC backlight
HAL (Waveshare ESP32-S3-Touch-LCD-1.69), selected via a new DISPLAY_PANEL
Kconfig choice; CMake compiles exactly one panel HAL.
- Add display_ui_st7789.c: compact 240x280 UI (the 4-view AMOLED UI is laid
out for 368x448 and overflows a 1.69in panel).
- display_hal_refresh() backlight re-assert for transient brownout recovery.
- sdkconfig.defaults.st7789 build overlay (panel select + fonts + bar).