lvgl: upgrade to release/v9.2.1

Signed-off-by: Neo Xu <neo.xu1990@gmail.com>
This commit is contained in:
Neo Xu 2024-09-20 11:54:30 +08:00 committed by CeDeROM
parent a2e76247fb
commit 0090cef718
4 changed files with 275 additions and 82 deletions

View File

@ -1,46 +0,0 @@
From d1576c890e8a8622c95dc4a782c457ab3884e7fa Mon Sep 17 00:00:00 2001
From: Xu Xingliang <xuxingliang@xiaomi.com>
Date: Mon, 22 Apr 2024 12:26:35 +0800
Subject: [PATCH] fix(demo): fix compile warning
In file included from /home/neo/projects/nuttx/apps/graphics/lvgl/lvgl/demos/stress/../../lvgl.h:30,
from /home/neo/projects/nuttx/apps/graphics/lvgl/lvgl/demos/stress/../lv_demos.h:16,
from /home/neo/projects/nuttx/apps/graphics/lvgl/lvgl/demos/stress/lv_demo_stress.h:16,
from /home/neo/projects/nuttx/apps/graphics/lvgl/lvgl/demos/stress/lv_demo_stress.c:9:
/home/neo/projects/nuttx/apps/graphics/lvgl/lvgl/demos/stress/lv_demo_stress.c: In function 'obj_test_task_cb':
/home/neo/projects/nuttx/apps/graphics/lvgl/lvgl/demos/stress/lv_demo_stress.c:81:29: warning: format '%zu' expects argument of type 'size_t', but argument 6 has type 'long unsigned int' [-Wformat=]
81 | LV_LOG_USER("mem leak since start: %zu, frag: %3d %%", mem_free_start - mon.free_size, mon.frag_pct);
| ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
| |
| long unsigned int
/home/neo/projects/nuttx/apps/graphics/lvgl/lvgl/demos/stress/../../src/misc/lv_log.h:132:97: note: in definition of macro 'LV_LOG_USER'
132 | # define LV_LOG_USER(...) _lv_log_add(LV_LOG_LEVEL_USER, LV_LOG_FILE, LV_LOG_LINE, __func__, __VA_ARGS__)
| ^~~~~~~~~~~
/home/neo/projects/nuttx/apps/graphics/lvgl/lvgl/demos/stress/lv_demo_stress.c:81:54: note: format string is defined here
81 | LV_LOG_USER("mem leak since start: %zu, frag: %3d %%", mem_free_start - mon.free_size, mon.frag_pct);
| ~~^
| |
| unsigned int
| %lu
Signed-off-by: Xu Xingliang <xuxingliang@xiaomi.com>
---
demos/stress/lv_demo_stress.c | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/demos/stress/lv_demo_stress.c b/demos/stress/lv_demo_stress.c
index 65728519c..b76c1f655 100644
--- a/demos/stress/lv_demo_stress.c
+++ b/demos/stress/lv_demo_stress.c
@@ -32,7 +32,7 @@ static void obj_test_task_cb(lv_timer_t * tmr);
**********************/
static lv_obj_t * main_page;
static lv_obj_t * ta;
-static uint32_t mem_free_start = 0;
+static size_t mem_free_start = 0;
static int16_t g_state = -1;
/**********************
--
2.34.1

View File

@ -29,7 +29,7 @@ if(CONFIG_GRAPHICS_LVGL)
FetchContent_Declare( FetchContent_Declare(
lvgl_fetch lvgl_fetch
DOWNLOAD_DIR ${CMAKE_CURRENT_LIST_DIR} DOWNLOAD_DIR ${CMAKE_CURRENT_LIST_DIR}
URL "https://github.com/lvgl/lvgl/archive/refs/tags/v9.1.0.zip" URL "https://github.com/lvgl/lvgl/archive/refs/tags/v9.2.1.zip"
SOURCE_DIR SOURCE_DIR
${CMAKE_CURRENT_LIST_DIR}/lvgl ${CMAKE_CURRENT_LIST_DIR}/lvgl
BINARY_DIR BINARY_DIR
@ -42,9 +42,6 @@ if(CONFIG_GRAPHICS_LVGL)
"" ""
TEST_COMMAND TEST_COMMAND
"" ""
PATCH_COMMAND
patch -p1 -s -d ${CMAKE_CURRENT_LIST_DIR}/lvgl <
${CMAKE_CURRENT_LIST_DIR}/0001-fix-demo-fix-compile-warning.patch
DOWNLOAD_NO_PROGRESS true DOWNLOAD_NO_PROGRESS true
TIMEOUT 30) TIMEOUT 30)

View File

@ -11,8 +11,7 @@ menuconfig GRAPHICS_LVGL
if GRAPHICS_LVGL if GRAPHICS_LVGL
# Below options are copied directly from lvgl/Kconfig, do not edit # Kconfig file for LVGL v9.2.1
# Kconfig file for LVGL v9.1.0
menu "LVGL configuration" menu "LVGL configuration"
@ -155,6 +154,8 @@ menu "LVGL configuration"
bool "4: RTTHREAD" bool "4: RTTHREAD"
config LV_OS_WINDOWS config LV_OS_WINDOWS
bool "5: WINDOWS" bool "5: WINDOWS"
config LV_OS_MQX
bool "6: MQX"
config LV_OS_CUSTOM config LV_OS_CUSTOM
bool "255: CUSTOM" bool "255: CUSTOM"
endchoice endchoice
@ -167,12 +168,22 @@ menu "LVGL configuration"
default 3 if LV_OS_CMSIS_RTOS2 default 3 if LV_OS_CMSIS_RTOS2
default 4 if LV_OS_RTTHREAD default 4 if LV_OS_RTTHREAD
default 5 if LV_OS_WINDOWS default 5 if LV_OS_WINDOWS
default 6 if LV_OS_MQX
default 255 if LV_OS_CUSTOM default 255 if LV_OS_CUSTOM
config LV_OS_CUSTOM_INCLUDE config LV_OS_CUSTOM_INCLUDE
string "Custom OS include header" string "Custom OS include header"
default "stdint.h" default "stdint.h"
depends on LV_OS_CUSTOM depends on LV_OS_CUSTOM
config LV_USE_FREERTOS_TASK_NOTIFY
bool "Use RTOS task with a direct notification for synchronization"
default y
depends on LV_OS_FREERTOS
help
Unblocking an RTOS task with a direct notification is 45% faster and uses less RAM
than unblocking a task using an intermediary object such as a binary semaphore.
RTOS task notifications can only be used when there is only one task that can be the recipient of the event.
endmenu endmenu
menu "Rendering Configuration" menu "Rendering Configuration"
@ -188,6 +199,13 @@ menu "LVGL configuration"
help help
Align the start address of draw_buf addresses to this bytes. Align the start address of draw_buf addresses to this bytes.
config LV_DRAW_TRANSFORM_USE_MATRIX
bool "Using matrix for transformations"
default n
depends on LV_USE_MATRIX
help
Requirements: The rendering engine needs to support 3x3 matrix transformations.
config LV_DRAW_LAYER_SIMPLE_BUF_SIZE config LV_DRAW_LAYER_SIMPLE_BUF_SIZE
int "Optimal size to buffer the widget with opacity" int "Optimal size to buffer the widget with opacity"
default 24576 default 24576
@ -197,12 +215,64 @@ menu "LVGL configuration"
it is buffered into a "simple" layer before rendering. The widget can be buffered in smaller chunks. it is buffered into a "simple" layer before rendering. The widget can be buffered in smaller chunks.
"Transformed layers" (if `transform_angle/zoom` are set) use larger buffers and can't be drawn in chunks. "Transformed layers" (if `transform_angle/zoom` are set) use larger buffers and can't be drawn in chunks.
config LV_DRAW_THREAD_STACK_SIZE
int "Stack size of draw thread in bytes"
default 8192
depends on LV_USE_OS > 0
help
If FreeType or ThorVG is enabled, it is recommended to set it to 32KB or more.
config LV_USE_DRAW_SW config LV_USE_DRAW_SW
bool "Enable software rendering" bool "Enable software rendering"
default y default y
help help
Required to draw anything on the screen. Required to draw anything on the screen.
config LV_DRAW_SW_SUPPORT_RGB565
bool "Enable support for RGB565 color format"
default y
depends on LV_USE_DRAW_SW
config LV_DRAW_SW_SUPPORT_RGB565A8
bool "Enable support for RGB565A8 color format"
default y
depends on LV_USE_DRAW_SW
config LV_DRAW_SW_SUPPORT_RGB888
bool "Enable support for RGB888 color format"
default y
depends on LV_USE_DRAW_SW
config LV_DRAW_SW_SUPPORT_XRGB8888
bool "Enable support for XRGB8888 color format"
default y
depends on LV_USE_DRAW_SW
config LV_DRAW_SW_SUPPORT_ARGB8888
bool "Enable support for ARGB8888 color format"
default y
depends on LV_USE_DRAW_SW
config LV_DRAW_SW_SUPPORT_L8
bool "Enable support for L8 color format"
default y
depends on LV_USE_DRAW_SW
config LV_DRAW_SW_SUPPORT_AL88
bool "Enable support for AL88 color format"
default y
depends on LV_USE_DRAW_SW
config LV_DRAW_SW_SUPPORT_A8
bool "Enable support for A8 color format"
default y
depends on LV_USE_DRAW_SW
config LV_DRAW_SW_SUPPORT_I1
bool "Enable support for I1 color format"
default y
depends on LV_USE_DRAW_SW
config LV_DRAW_SW_DRAW_UNIT_CNT config LV_DRAW_SW_DRAW_UNIT_CNT
int "Number of draw units" int "Number of draw units"
default 1 default 1
@ -220,7 +290,7 @@ menu "LVGL configuration"
config LV_USE_NATIVE_HELIUM_ASM config LV_USE_NATIVE_HELIUM_ASM
bool "Enable native helium assembly" bool "Enable native helium assembly"
default y default n
depends on LV_USE_DRAW_SW depends on LV_USE_DRAW_SW
help help
Disabling this allows arm2d to work on its own (for testing only) Disabling this allows arm2d to work on its own (for testing only)
@ -233,6 +303,14 @@ menu "LVGL configuration"
0: use a simple renderer capable of drawing only simple rectangles with gradient, images, texts, and straight lines only, 0: use a simple renderer capable of drawing only simple rectangles with gradient, images, texts, and straight lines only,
1: use a complex renderer capable of drawing rounded corners, shadow, skew lines, and arcs too. 1: use a complex renderer capable of drawing rounded corners, shadow, skew lines, and arcs too.
config LV_USE_DRAW_SW_COMPLEX_GRADIENTS
bool "Enable drawing complex gradients in software"
default n
depends on LV_USE_DRAW_SW
help
0: do not enable complex gradients
1: enable complex gradients (linear at an angle, radial or conical)
config LV_DRAW_SW_SHADOW_CACHE_SIZE config LV_DRAW_SW_SHADOW_CACHE_SIZE
int "Allow buffering some shadow calculation" int "Allow buffering some shadow calculation"
depends on LV_DRAW_SW_COMPLEX depends on LV_DRAW_SW_COMPLEX
@ -290,26 +368,36 @@ menu "LVGL configuration"
depends on LV_USE_DRAW_VGLITE depends on LV_USE_DRAW_VGLITE
default n default n
config LV_USE_VGLITE_DRAW_ASYNC config LV_USE_VGLITE_DRAW_THREAD
bool "Enable VGLite draw async" bool "Use additional draw thread for VG-Lite processing"
depends on LV_USE_DRAW_VGLITE && LV_USE_OS > 0 depends on LV_USE_DRAW_VGLITE && LV_USE_OS > 0
default y default y
config LV_USE_VGLITE_DRAW_ASYNC
bool "Enable VGLite draw async"
depends on LV_USE_VGLITE_DRAW_THREAD
default y
help help
Queue multiple tasks and flash them once to the GPU. Queue multiple tasks and flash them once to the GPU. The task ready state will be send asynchronous to dispatcher.
config LV_USE_VGLITE_ASSERT config LV_USE_VGLITE_ASSERT
bool "Enable VGLite asserts" bool "Enable VGLite asserts"
default n
depends on LV_USE_DRAW_VGLITE depends on LV_USE_DRAW_VGLITE
default n
config LV_USE_DRAW_PXP config LV_USE_DRAW_PXP
bool "Use NXP's PXP on iMX RTxxx platforms" bool "Use NXP's PXP on iMX RTxxx platforms"
default n default n
config LV_USE_PXP_DRAW_THREAD
bool "Use additional draw thread for PXP processing"
depends on LV_USE_DRAW_PXP && LV_USE_OS > 0
default y
config LV_USE_PXP_ASSERT config LV_USE_PXP_ASSERT
bool "Enable PXP asserts" bool "Enable PXP asserts"
default n
depends on LV_USE_DRAW_PXP depends on LV_USE_DRAW_PXP
default n
config LV_USE_DRAW_DAVE2D config LV_USE_DRAW_DAVE2D
bool "Use Renesas Dave2D on RA platforms" bool "Use Renesas Dave2D on RA platforms"
@ -323,6 +411,8 @@ menu "LVGL configuration"
config LV_USE_DRAW_VG_LITE config LV_USE_DRAW_VG_LITE
bool "Use VG-Lite GPU" bool "Use VG-Lite GPU"
default n
select LV_USE_MATRIX
config LV_VG_LITE_USE_GPU_INIT config LV_VG_LITE_USE_GPU_INIT
bool "Enable VG-Lite custom external 'gpu_init()' function" bool "Enable VG-Lite custom external 'gpu_init()' function"
@ -349,9 +439,24 @@ menu "LVGL configuration"
which usually improves performance, which usually improves performance,
but does not guarantee the same rendering quality as the software. but does not guarantee the same rendering quality as the software.
config LV_VG_LITE_GRAD_CACHE_CNT
int "VG-Lite gradient maximum cache number."
default 32
depends on LV_USE_DRAW_VG_LITE
help
The memory usage of a single gradient:
linear: 4K bytes.
radial: radius * 4K bytes.
config LV_VG_LITE_STROKE_CACHE_CNT
int "VG-Lite stroke maximum cache number."
default 32
depends on LV_USE_DRAW_VG_LITE
config LV_USE_VECTOR_GRAPHIC config LV_USE_VECTOR_GRAPHIC
bool "Use Vector Graphic APIs" bool "Use Vector Graphic APIs"
default n default n
select LV_USE_MATRIX
help help
Enable drawing support vector graphic APIs. Enable drawing support vector graphic APIs.
endmenu endmenu
@ -554,14 +659,28 @@ menu "LVGL configuration"
bool "Add id field to obj" bool "Add id field to obj"
default n default n
config LV_OBJ_ID_AUTO_ASSIGN
bool "Automatically assign an ID when obj is created"
default y
depends on LV_USE_OBJ_ID
config LV_USE_OBJ_ID_BUILTIN config LV_USE_OBJ_ID_BUILTIN
bool "Use builtin method to deal with obj ID" bool "Use builtin method to deal with obj ID"
default n default n
depends on LV_USE_OBJ_ID
config LV_USE_OBJ_PROPERTY config LV_USE_OBJ_PROPERTY
bool "Use obj property set/get API" bool "Use obj property set/get API"
default n default n
config LV_USE_OBJ_PROPERTY_NAME
bool "Use name to access property"
default n
depends on LV_USE_OBJ_PROPERTY
help
Add a name table to every widget class, so the property can be accessed by name.
Note, the const table will increase flash usage.
config LV_USE_VG_LITE_THORVG config LV_USE_VG_LITE_THORVG
bool "VG-Lite Simulator" bool "VG-Lite Simulator"
default n default n
@ -581,6 +700,11 @@ menu "LVGL configuration"
default n default n
depends on LV_USE_VG_LITE_THORVG depends on LV_USE_VG_LITE_THORVG
config LV_VG_LITE_THORVG_LINEAR_GRADIENT_EXT_SUPPORT
bool "Enable linear gradient extension support"
default n
depends on LV_USE_VG_LITE_THORVG
config LV_VG_LITE_THORVG_16PIXELS_ALIGN config LV_VG_LITE_THORVG_16PIXELS_ALIGN
bool "Enable 16 pixels alignment" bool "Enable 16 pixels alignment"
default y default y
@ -614,6 +738,15 @@ menu "LVGL configuration"
config LV_USE_FLOAT config LV_USE_FLOAT
bool "Use float as lv_value_precise_t" bool "Use float as lv_value_precise_t"
default n default n
config LV_USE_MATRIX
bool "Enable matrix support"
default n
select LV_USE_FLOAT
config LV_USE_PRIVATE_API
bool "Include `lvgl_private.h` in `lvgl.h` to access internal data and functions by default"
default n
endmenu endmenu
menu "Font Usage" menu "Font Usage"
@ -666,6 +799,8 @@ menu "LVGL configuration"
bool "Enable Montserrat 28 compressed" bool "Enable Montserrat 28 compressed"
config LV_FONT_DEJAVU_16_PERSIAN_HEBREW config LV_FONT_DEJAVU_16_PERSIAN_HEBREW
bool "Enable Dejavu 16 Persian, Hebrew, Arabic letters" bool "Enable Dejavu 16 Persian, Hebrew, Arabic letters"
config LV_FONT_SIMSUN_14_CJK
bool "Enable Simsun 14 CJK"
config LV_FONT_SIMSUN_16_CJK config LV_FONT_SIMSUN_16_CJK
bool "Enable Simsun 16 CJK" bool "Enable Simsun 16 CJK"
@ -686,6 +821,9 @@ menu "LVGL configuration"
config LV_FONT_DEFAULT_MONTSERRAT_8 config LV_FONT_DEFAULT_MONTSERRAT_8
bool "Montserrat 8" bool "Montserrat 8"
select LV_FONT_MONTSERRAT_8 select LV_FONT_MONTSERRAT_8
config LV_FONT_DEFAULT_MONTSERRAT_10
bool "Montserrat 10"
select LV_FONT_MONTSERRAT_10
config LV_FONT_DEFAULT_MONTSERRAT_12 config LV_FONT_DEFAULT_MONTSERRAT_12
bool "Montserrat 12" bool "Montserrat 12"
select LV_FONT_MONTSERRAT_12 select LV_FONT_MONTSERRAT_12
@ -749,6 +887,9 @@ menu "LVGL configuration"
config LV_FONT_DEFAULT_DEJAVU_16_PERSIAN_HEBREW config LV_FONT_DEFAULT_DEJAVU_16_PERSIAN_HEBREW
bool "Dejavu 16 Persian, Hebrew, Arabic letters" bool "Dejavu 16 Persian, Hebrew, Arabic letters"
select LV_FONT_DEJAVU_16_PERSIAN_HEBREW select LV_FONT_DEJAVU_16_PERSIAN_HEBREW
config LV_FONT_DEFAULT_SIMSUN_14_CJK
bool "Simsun 14 CJK"
select LV_FONT_SIMSUN_14_CJK
config LV_FONT_DEFAULT_SIMSUN_16_CJK config LV_FONT_DEFAULT_SIMSUN_16_CJK
bool "Simsun 16 CJK" bool "Simsun 16 CJK"
select LV_FONT_SIMSUN_16_CJK select LV_FONT_SIMSUN_16_CJK
@ -791,7 +932,7 @@ menu "LVGL configuration"
config LV_TXT_BREAK_CHARS config LV_TXT_BREAK_CHARS
string "Can break (wrap) texts on these chars" string "Can break (wrap) texts on these chars"
default " ,.;:-_)]}" default " ,.;:-_)}"
config LV_TXT_LINE_BREAK_LONG_LEN config LV_TXT_LINE_BREAK_LONG_LEN
int "Line break long length" int "Line break long length"
@ -838,7 +979,7 @@ menu "LVGL configuration"
bool "Enable Arabic/Persian processing" bool "Enable Arabic/Persian processing"
help help
In these languages characters should be replaced with In these languages characters should be replaced with
an other form based on their position in the text. another form based on their position in the text.
endmenu endmenu
menu "Widget Usage" menu "Widget Usage"
@ -874,6 +1015,9 @@ menu "LVGL configuration"
bool "Use calendar header dropdown" bool "Use calendar header dropdown"
depends on LV_USE_CALENDAR depends on LV_USE_CALENDAR
default y default y
config LV_USE_CALENDAR_CHINESE
bool "Use chinese calendar"
depends on LV_USE_CALENDAR
config LV_USE_CANVAS config LV_USE_CANVAS
bool "Canvas. Requires: lv_image" bool "Canvas. Requires: lv_image"
imply LV_USE_IMAGE imply LV_USE_IMAGE
@ -922,15 +1066,18 @@ menu "LVGL configuration"
config LV_USE_LIST config LV_USE_LIST
bool "List" bool "List"
default y if !LV_CONF_MINIMAL default y if !LV_CONF_MINIMAL
config LV_USE_LOTTIE
bool "Lottie"
default n
depends on LV_USE_VECTOR_GRAPHIC && (LV_USE_THORVG_INTERNAL || LV_USE_THORVG_EXTERNAL)
help
Enable Lottie animations. Requires LV_USE_VECTOR_GRAPHIC and LV_USE_THORVG_INTERNAL or LV_USE_THORVG_EXTERNAL.
config LV_USE_MENU config LV_USE_MENU
bool "Menu" bool "Menu"
default y if !LV_CONF_MINIMAL default y if !LV_CONF_MINIMAL
config LV_USE_MSGBOX config LV_USE_MSGBOX
bool "Msgbox" bool "Msgbox"
default y if !LV_CONF_MINIMAL default y if !LV_CONF_MINIMAL
config LV_USE_OBSERVER
bool "Observer"
default n
config LV_USE_ROLLER config LV_USE_ROLLER
bool "Roller. Requires: lv_label" bool "Roller. Requires: lv_label"
imply LV_USE_LABEL imply LV_USE_LABEL
@ -1013,10 +1160,16 @@ menu "LVGL configuration"
endmenu endmenu
menu "3rd Party Libraries" menu "3rd Party Libraries"
config LV_FS_DEFAULT_DRIVE_LETTER
int "Default drive letter (e.g. 65 for 'A')"
default 0
help
Setting a default drive letter allows skipping the driver prefix in filepaths
config LV_USE_FS_STDIO config LV_USE_FS_STDIO
bool "File system on top of stdio API" bool "File system on top of stdio API"
config LV_FS_STDIO_LETTER config LV_FS_STDIO_LETTER
int "Set an upper cased letter on which the drive will accessible (e.g. 'A' i.e. 65 )" int "Set an upper cased letter on which the drive will accessible (e.g. 65 for 'A')"
default 0 default 0
depends on LV_USE_FS_STDIO depends on LV_USE_FS_STDIO
config LV_FS_STDIO_PATH config LV_FS_STDIO_PATH
@ -1030,7 +1183,7 @@ menu "LVGL configuration"
config LV_USE_FS_POSIX config LV_USE_FS_POSIX
bool "File system on top of posix API" bool "File system on top of posix API"
config LV_FS_POSIX_LETTER config LV_FS_POSIX_LETTER
int "Set an upper cased letter on which the drive will accessible (e.g. 'A' i.e. 65)" int "Set an upper cased letter on which the drive will accessible (e.g. 65 for 'A')"
default 0 default 0
depends on LV_USE_FS_POSIX depends on LV_USE_FS_POSIX
config LV_FS_POSIX_PATH config LV_FS_POSIX_PATH
@ -1044,7 +1197,7 @@ menu "LVGL configuration"
config LV_USE_FS_WIN32 config LV_USE_FS_WIN32
bool "File system on top of Win32 API" bool "File system on top of Win32 API"
config LV_FS_WIN32_LETTER config LV_FS_WIN32_LETTER
int "Set an upper cased letter on which the drive will accessible (e.g. 'A' i.e. 65)" int "Set an upper cased letter on which the drive will accessible (e.g. 65 for 'A')"
default 0 default 0
depends on LV_USE_FS_WIN32 depends on LV_USE_FS_WIN32
config LV_FS_WIN32_PATH config LV_FS_WIN32_PATH
@ -1058,7 +1211,7 @@ menu "LVGL configuration"
config LV_USE_FS_FATFS config LV_USE_FS_FATFS
bool "File system on top of FatFS" bool "File system on top of FatFS"
config LV_FS_FATFS_LETTER config LV_FS_FATFS_LETTER
int "Set an upper cased letter on which the drive will accessible (e.g. 'A' i.e. 65)" int "Set an upper cased letter on which the drive will accessible (e.g. 65 for 'A')"
default 0 default 0
depends on LV_USE_FS_FATFS depends on LV_USE_FS_FATFS
config LV_FS_FATFS_CACHE_SIZE config LV_FS_FATFS_CACHE_SIZE
@ -1069,17 +1222,31 @@ menu "LVGL configuration"
config LV_USE_FS_MEMFS config LV_USE_FS_MEMFS
bool "File system on top of memory-mapped API" bool "File system on top of memory-mapped API"
config LV_FS_MEMFS_LETTER config LV_FS_MEMFS_LETTER
int "Set an upper cased letter on which the drive will accessible (e.g. 'A' i.e. 65)" int "Set an upper cased letter on which the drive will accessible (e.g. 65 for 'A')"
default 0 default 0
depends on LV_USE_FS_MEMFS depends on LV_USE_FS_MEMFS
config LV_USE_FS_LITTLEFS config LV_USE_FS_LITTLEFS
bool "File system on top of littlefs API" bool "File system on top of littlefs API"
config LV_FS_LITTLEFS_LETTER config LV_FS_LITTLEFS_LETTER
int "Set an upper cased letter on which the drive will accessible (e.g. 'A' i.e. 65)" int "Set an upper cased letter on which the drive will accessible (e.g. 65 for 'A')"
default 0 default 0
depends on LV_USE_FS_LITTLEFS depends on LV_USE_FS_LITTLEFS
config LV_USE_FS_ARDUINO_ESP_LITTLEFS
bool "File system on top of Arduino ESP littlefs API"
config LV_FS_ARDUINO_ESP_LITTLEFS_LETTER
int "Set an upper cased letter on which the drive will accessible (e.g. 65 for 'A')"
default 0
depends on LV_USE_FS_ARDUINO_ESP_LITTLEFS
config LV_USE_FS_ARDUINO_SD
bool "File system on top of Arduino SD API"
config LV_FS_ARDUINO_SD_LETTER
int "Set an upper cased letter on which the drive will accessible (e.g. 65 for 'A')"
default 0
depends on LV_USE_FS_ARDUINO_SD
config LV_USE_LODEPNG config LV_USE_LODEPNG
bool "PNG decoder library" bool "PNG decoder library"
@ -1099,7 +1266,7 @@ menu "LVGL configuration"
bool "GIF decoder library" bool "GIF decoder library"
config LV_GIF_CACHE_DECODE_DATA config LV_GIF_CACHE_DECODE_DATA
bool "Use extra 16KB RAM to cache decoded data to accerlate" bool "Use extra 16KB RAM to cache decoded data to accelerate"
depends on LV_USE_GIF depends on LV_USE_GIF
config LV_BIN_DECODER_RAM_LOAD config LV_BIN_DECODER_RAM_LOAD
@ -1133,9 +1300,14 @@ menu "LVGL configuration"
bool "Enable loading Tiny TTF data from files" bool "Enable loading Tiny TTF data from files"
default n default n
depends on LV_USE_TINY_TTF depends on LV_USE_TINY_TTF
config LV_TINY_TTF_CACHE_GLYPH_CNT
bool "Tiny ttf cache entries count"
default 256
depends on LV_USE_TINY_TTF
config LV_USE_RLOTTIE config LV_USE_RLOTTIE
bool "Lottie library" bool "Lottie library"
config LV_USE_THORVG config LV_USE_THORVG
bool "ThorVG library" bool "ThorVG library"
choice choice
@ -1214,7 +1386,7 @@ menu "LVGL configuration"
config LV_USE_MEM_MONITOR config LV_USE_MEM_MONITOR
bool "Show the used memory and the memory fragmentation" bool "Show the used memory and the memory fragmentation"
default n default n
depends on LV_STDLIB_BUILTIN && LV_USE_SYSMON depends on LV_USE_BUILTIN_MALLOC && LV_USE_SYSMON
choice choice
prompt "Memory monitor position" prompt "Memory monitor position"
@ -1241,10 +1413,6 @@ menu "LVGL configuration"
bool "Center" bool "Center"
endchoice endchoice
config LV_USE_MONKEY
bool "Enable Monkey test"
default n
config LV_USE_PROFILER config LV_USE_PROFILER
bool "Runtime performance profiler" bool "Runtime performance profiler"
config LV_USE_PROFILER_BUILTIN config LV_USE_PROFILER_BUILTIN
@ -1260,6 +1428,10 @@ menu "LVGL configuration"
depends on LV_USE_PROFILER depends on LV_USE_PROFILER
default "lvgl/src/misc/lv_profiler_builtin.h" default "lvgl/src/misc/lv_profiler_builtin.h"
config LV_USE_MONKEY
bool "Enable Monkey test"
default n
config LV_USE_GRIDNAV config LV_USE_GRIDNAV
bool "Enable grid navigation" bool "Enable grid navigation"
default n default n
@ -1269,9 +1441,13 @@ menu "LVGL configuration"
default n default n
config LV_USE_IMGFONT config LV_USE_IMGFONT
bool "draw image in label or span obj" bool "Support using images as font in label or span widgets"
default n default n
config LV_USE_OBSERVER
bool "Observer"
default y
config LV_USE_IME_PINYIN config LV_USE_IME_PINYIN
bool "Enable Pinyin input method" bool "Enable Pinyin input method"
default n default n
@ -1288,7 +1464,7 @@ menu "LVGL configuration"
depends on LV_USE_IME_PINYIN depends on LV_USE_IME_PINYIN
default y default y
help help
If you do not use the default thesaurus, be sure to use lv_ime_pinyin after setting the thesauruss If you do not use the default thesaurus, be sure to use lv_ime_pinyin after setting the thesaurus
config LV_IME_PINYIN_CAND_TEXT_NUM config LV_IME_PINYIN_CAND_TEXT_NUM
int "Maximum number of candidate panels" int "Maximum number of candidate panels"
depends on LV_USE_IME_PINYIN depends on LV_USE_IME_PINYIN
@ -1310,6 +1486,16 @@ menu "LVGL configuration"
default y default y
help help
This can save some memory, but not much. After the quick access bar is created, it can be hidden by clicking the button at the top left corner of the browsing area, which is very useful for small screen devices. This can save some memory, but not much. After the quick access bar is created, it can be hidden by clicking the button at the top left corner of the browsing area, which is very useful for small screen devices.
config LVGL_VERSION_MAJOR
int
default 9 # LVGL_VERSION_MAJOR
config LVGL_VERSION_MINOR
int
default 2 # LVGL_VERSION_MINOR
config LVGL_VERSION_PATCH
int
default 1 # LVGL_VERSION_PATCH
endmenu endmenu
menu "Devices" menu "Devices"
@ -1362,15 +1548,39 @@ menu "LVGL configuration"
default 1 if LV_SDL_SINGLE_BUFFER default 1 if LV_SDL_SINGLE_BUFFER
default 2 if LV_SDL_DOUBLE_BUFFER default 2 if LV_SDL_DOUBLE_BUFFER
config LV_SDL_ACCELERATED
bool "Use hardware acceleration"
depends on LV_USE_SDL
default y
config LV_SDL_FULLSCREEN config LV_SDL_FULLSCREEN
bool "SDL fullscreen" bool "SDL fullscreen"
depends on LV_USE_SDL depends on LV_USE_SDL
default n default n
config LV_SDL_DIRECT_EXIT config LV_SDL_DIRECT_EXIT
bool "Exit the application when all SDL windows are closed" bool "Exit the application when all SDL windows are closed"
depends on LV_USE_SDL depends on LV_USE_SDL
default y default y
choice
prompt "SDL mousewheel mode"
depends on LV_USE_SDL
default LV_SDL_MOUSEWHEEL_MODE_ENCODER
config LV_SDL_MOUSEWHEEL_MODE_ENCODER
bool "The mousewheel emulates an encoder input device"
config LV_SDL_MOUSEWHEEL_MODE_CROWN
bool "The mousewheel emulates a smart watch crown"
endchoice
config LV_SDL_MOUSEWHEEL_MODE
int
depends on LV_USE_SDL
default 0 if LV_SDL_MOUSEWHEEL_MODE_ENCODER
default 1 if LV_SDL_MOUSEWHEEL_MODE_CROWN
config LV_USE_X11 config LV_USE_X11
bool "Use X11 window manager to open window on Linux PC and handle mouse and keyboard" bool "Use X11 window manager to open window on Linux PC and handle mouse and keyboard"
default n default n
@ -1404,6 +1614,18 @@ menu "LVGL configuration"
With 2 buffers in flush_cb only and address change is required. With 2 buffers in flush_cb only and address change is required.
endchoice endchoice
config LV_USE_WAYLAND
bool "Use the wayland client to open a window and handle inputs on Linux or BSD"
default n
config LV_WAYLAND_WINDOW_DECORATIONS
bool "Draw client side window decorations, only necessary on Mutter (GNOME)"
depends on LV_USE_WAYLAND
default n
config LV_WAYLAND_WL_SHELL
bool "Support the legacy wl_shell instead of the default XDG Shell protocol"
depends on LV_USE_WAYLAND
default n
config LV_USE_LINUX_FBDEV config LV_USE_LINUX_FBDEV
bool "Use Linux framebuffer device" bool "Use Linux framebuffer device"
default n default n
@ -1529,7 +1751,7 @@ menu "LVGL configuration"
default n default n
config LV_USE_LIBINPUT config LV_USE_LIBINPUT
bool "Use libinput input driver" bool "Use libinput input driver"
default n default n
config LV_LIBINPUT_BSD config LV_LIBINPUT_BSD
@ -1562,9 +1784,32 @@ menu "LVGL configuration"
bool "Generic MIPI driver" bool "Generic MIPI driver"
default y if LV_USE_ST7735 || LV_USE_ST7789 || LV_USE_ST7796 || LV_USE_ILI9341 default y if LV_USE_ST7735 || LV_USE_ST7789 || LV_USE_ST7796 || LV_USE_ILI9341
config LV_USE_RENESAS_GLCDC
bool "Use Renesas GLCDC driver"
default n
config LV_USE_WINDOWS config LV_USE_WINDOWS
bool "Use LVGL Windows backend" bool "Use LVGL Windows backend"
depends on LV_OS_WINDOWS
default n default n
config LV_USE_OPENGLES
bool "Use GLFW and OpenGL to open window on PC and handle mouse and keyboard"
default n
config LV_USE_OPENGLES_DEBUG
bool "Enable debug mode for OpenGL"
depends on LV_USE_OPENGLES
default n
config LV_USE_QNX
bool "Use a QNX Screen window as a display"
default n
config LV_QNX_BUF_COUNT
int
depends on LV_USE_QNX
default 1
endmenu endmenu
menu "Examples" menu "Examples"

View File

@ -56,9 +56,7 @@ WD := ${shell echo $(CURDIR) | sed -e 's/ /\\ /g'}
CONFIG_GRAPH_LVGL_URL ?= "https://github.com/lvgl/lvgl/archive/refs/tags" CONFIG_GRAPH_LVGL_URL ?= "https://github.com/lvgl/lvgl/archive/refs/tags"
LVGL_PATCHS ?= $(sort $(wildcard 000*.patch)) LVGL_VERSION = 9.2.1
LVGL_VERSION = 9.1.0
LVGL_TARBALL = v$(LVGL_VERSION).zip LVGL_TARBALL = v$(LVGL_VERSION).zip
LVGL_UNPACKNAME = lvgl LVGL_UNPACKNAME = lvgl
@ -76,7 +74,6 @@ $(LVGL_UNPACKNAME): $(LVGL_TARBALL)
$(ECHO_BEGIN)"Unpacking: $(LVGL_TARBALL) -> $(LVGL_UNPACKNAME)" $(ECHO_BEGIN)"Unpacking: $(LVGL_TARBALL) -> $(LVGL_UNPACKNAME)"
$(Q) $(UNPACK) $(LVGL_TARBALL) $(Q) $(UNPACK) $(LVGL_TARBALL)
$(Q) mv lvgl-$(LVGL_VERSION) $(LVGL_UNPACKNAME) $(Q) mv lvgl-$(LVGL_VERSION) $(LVGL_UNPACKNAME)
$(Q) cat $(LVGL_PATCHS) | patch -s -N -d $(LVGL_UNPACKNAME) -p1
$(Q) touch $(LVGL_UNPACKNAME) $(Q) touch $(LVGL_UNPACKNAME)
$(ECHO_END) $(ECHO_END)