Files
esp-idf/examples/peripherals/lcd/i80_controller/sdkconfig.defaults
morris 150466f598 refactor(lcd): use LZ4-compressed binary images in i80_controller example
- Remove the EXAMPLE_LCD_IMAGE_SOURCE Kconfig option (embedded binary vs
  file system) and always load images from LittleFS.
- Convert the PNG images into LZ4-compressed LVGL binary images (.bin)
at
  build time using LVGLImage.py, and flash them to a LittleFS partition.
- Upgrade lvgl to 9.6.0 and add the espressif/lz4 component; link the
external LZ4 library into lvgl.
- Split the example: main.c focuses on the esp_lcd i80 API, while the
LVGL
  porting (lvgl_port.c) and the UI (lvgl_demo_ui.c) live in separate
files.
- Rework the demo animation to use the LVGL animation engine (lv_anim)
with
  easing paths instead of a manual software timer for smoother
rendering.
- Remove the embedded C image arrays (esp_logo.c, esp_text.c) and the
  obsolete sdkconfig.ci.image_in_{bin,fs} variants.
2026-09-18 13:50:16 +08:00

42 lines
1.4 KiB
Plaintext

CONFIG_LV_CONF_SKIP=y
CONFIG_FREERTOS_HZ=1000
# Use ESP-IDF / newlib for heap and libc primitives instead of LVGL's copies.
CONFIG_LV_USE_CLIB_MALLOC=y
CONFIG_LV_USE_CLIB_STRING=y
CONFIG_LV_USE_CLIB_SPRINTF=y
# Match the 16-bit RGB565 panel and the flush callback in lvgl_port.c.
CONFIG_LV_COLOR_DEPTH_16=y
# Style property cache: 8 bytes per widget, fewer style lookups per refresh.
CONFIG_LV_OBJ_STYLE_CACHE=y
# Cache decoded image headers so LittleFS files are not re-probed every frame.
CONFIG_LV_IMAGE_HEADER_CACHE_DEF_CNT=4
# Do not compile LVGL's own examples/demos into this firmware.
CONFIG_LV_BUILD_EXAMPLES=n
CONFIG_LV_BUILD_DEMOS=n
CONFIG_LV_USE_OBSERVER=y
CONFIG_LV_USE_SYSMON=y
CONFIG_LV_USE_PERF_MONITOR=y
# Use the custom partition table which reserves a LittleFS "storage" partition
CONFIG_PARTITION_TABLE_CUSTOM=y
# Enable LVGL's POSIX file system interface so images can be loaded from LittleFS
# use 'S' (83 in ASCII) as drive letter for POSIX FS
CONFIG_LV_USE_FS_POSIX=y
CONFIG_LV_FS_POSIX_LETTER=83
# Enable LZ4 image decompression. Use the external espressif/lz4 library instead
# of LVGL's built-in copy. The external library is pulled automatically via the lvgl/idf_component.yml.
CONFIG_LV_USE_LZ4=y
CONFIG_LV_USE_LZ4_INTERNAL=n
# Compressed .bin images cannot be decoded line-by-line; the decoder must load
# and decompress the whole image into RAM.
CONFIG_LV_BIN_DECODER_RAM_LOAD=y