mirror of
https://github.com/espressif/esp-idf.git
synced 2026-09-22 13:01:16 +03:00
- 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.
42 lines
1.4 KiB
Plaintext
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
|