diff --git a/meta-zephyr-core/recipes-kernel/zephyr-kernel/files/0001-lvgl-add-support-for-lvgl-v8.2.0.patch b/meta-zephyr-core/recipes-kernel/zephyr-kernel/files/0001-lvgl-add-support-for-lvgl-v8.2.0.patch new file mode 100644 index 0000000000000000000000000000000000000000..6fcd8f28a398eaa6f6bbfb62bd0ea75ceb0cb6ca --- /dev/null +++ b/meta-zephyr-core/recipes-kernel/zephyr-kernel/files/0001-lvgl-add-support-for-lvgl-v8.2.0.patch @@ -0,0 +1,935 @@ +From 1b4e436187dea1adbb997d53b3eacd1400008f5d Mon Sep 17 00:00:00 2001 +From: Bartosz Golaszewski <bartosz.golaszewski@huawei.com> +Date: Tue, 8 Mar 2022 13:15:42 +0100 +Subject: [PATCH] lvgl: add support for lvgl v8.2.0 + +This is the minimal set of changes required to support lvgl v8 in zephyr. + +Signed-off-by: Bartosz Golaszewski <bartosz.golaszewski@huawei.com> +--- + MAINTAINERS.yml | 1 - + boards/arm/mimxrt1050_evk/Kconfig.defconfig | 16 +- + boards/arm/mimxrt1060_evk/Kconfig.defconfig | 16 +- + boards/arm/mimxrt1064_evk/Kconfig.defconfig | 16 +- + boards/arm/reel_board/Kconfig.defconfig | 10 +- + .../Kconfig.defconfig | 18 +- + .../Kconfig.defconfig | 20 +-- + .../Kconfig.defconfig | 18 +- + .../shields/ls0xx_generic/Kconfig.defconfig | 16 +- + boards/shields/ssd1306/Kconfig.defconfig | 10 +- + boards/shields/st7735r/Kconfig.defconfig | 2 +- + .../shields/st7789v_generic/Kconfig.defconfig | 8 +- + .../waveshare_epaper/Kconfig.defconfig | 10 +- + drivers/kscan/Kconfig.sdl | 2 +- + lib/CMakeLists.txt | 1 - + lib/Kconfig | 2 - + modules/Kconfig | 1 + + modules/Kconfig.lvgl | 49 ++++++ + .../display/lvgl/boards/native_posix.conf | 1 + + .../display/lvgl/boards/native_posix_64.conf | 1 + + samples/subsys/display/lvgl/prj.conf | 12 +- + samples/subsys/display/lvgl/src/main.c | 17 +- + tests/lib/gui/lvgl/prj.conf | 155 ++++++++---------- + tests/lib/gui/lvgl/src/img.c | 1 - + tests/lib/gui/lvgl/src/main.c | 6 +- + tests/lib/gui/lvgl/testcase.yaml | 46 +++--- + west.yml | 2 +- + 27 files changed, 238 insertions(+), 219 deletions(-) + create mode 100644 modules/Kconfig.lvgl + create mode 100644 samples/subsys/display/lvgl/boards/native_posix.conf + create mode 100644 samples/subsys/display/lvgl/boards/native_posix_64.conf + +diff --git a/MAINTAINERS.yml b/MAINTAINERS.yml +index a7a64b3c5c..fbf21fbfca 100644 +--- a/MAINTAINERS.yml ++++ b/MAINTAINERS.yml +@@ -402,7 +402,6 @@ Display drivers: + - include/drivers/display.h + - include/display/ + - include/drivers/display.h +- - lib/gui/ + - subsys/fb/ + - samples/subsys/display/ + labels: +diff --git a/boards/arm/mimxrt1050_evk/Kconfig.defconfig b/boards/arm/mimxrt1050_evk/Kconfig.defconfig +index 8d7703875f..9bf18b08da 100644 +--- a/boards/arm/mimxrt1050_evk/Kconfig.defconfig ++++ b/boards/arm/mimxrt1050_evk/Kconfig.defconfig +@@ -53,26 +53,26 @@ endif # NETWORKING + + if LVGL + +-config LVGL_POINTER_KSCAN ++config LV_Z_POINTER_KSCAN + default y + +-config LVGL_POINTER_KSCAN_DEV_NAME ++config LV_Z_POINTER_KSCAN_DEV_NAME + default "FT5336" + +-config LVGL_HOR_RES_MAX ++config LV_Z_HOR_RES_MAX + default 480 + +-config LVGL_VER_RES_MAX ++config LV_Z_VER_RES_MAX + default 272 + +-config LVGL_VDB_SIZE ++config LV_Z_VDB_SIZE + default 16 + +-config LVGL_DPI ++config LV_Z_DPI + default 128 + +-choice LVGL_COLOR_DEPTH +- default LVGL_COLOR_DEPTH_16 ++choice LV_COLOR_DEPTH ++ default LV_COLOR_DEPTH_16 + endchoice + + endif # LVGL +diff --git a/boards/arm/mimxrt1060_evk/Kconfig.defconfig b/boards/arm/mimxrt1060_evk/Kconfig.defconfig +index 8673b5fcb0..c5a3c06c2b 100644 +--- a/boards/arm/mimxrt1060_evk/Kconfig.defconfig ++++ b/boards/arm/mimxrt1060_evk/Kconfig.defconfig +@@ -53,26 +53,26 @@ endif # NETWORKING + + if LVGL + +-config LVGL_POINTER_KSCAN ++config LV_Z_POINTER_KSCAN + default y + +-config LVGL_POINTER_KSCAN_DEV_NAME ++config LV_Z_POINTER_KSCAN_DEV_NAME + default "FT5336" + +-config LVGL_HOR_RES_MAX ++config LV_Z_HOR_RES_MAX + default 480 + +-config LVGL_VER_RES_MAX ++config LV_Z_VER_RES_MAX + default 272 + +-config LVGL_VDB_SIZE ++config LV_Z_VDB_SIZE + default 16 + +-config LVGL_DPI ++config LV_Z_DPI + default 128 + +-choice LVGL_COLOR_DEPTH +- default LVGL_COLOR_DEPTH_16 ++choice LV_COLOR_DEPTH ++ default LV_COLOR_DEPTH_16 + endchoice + + endif # LVGL +diff --git a/boards/arm/mimxrt1064_evk/Kconfig.defconfig b/boards/arm/mimxrt1064_evk/Kconfig.defconfig +index 9a38a4f427..121691b141 100644 +--- a/boards/arm/mimxrt1064_evk/Kconfig.defconfig ++++ b/boards/arm/mimxrt1064_evk/Kconfig.defconfig +@@ -47,26 +47,26 @@ endif # NETWORKING + + if LVGL + +-config LVGL_POINTER_KSCAN ++config LV_Z_POINTER_KSCAN + default y + +-config LVGL_POINTER_KSCAN_DEV_NAME ++config LV_Z_POINTER_KSCAN_DEV_NAME + default "FT5336" + +-config LVGL_HOR_RES_MAX ++config LV_Z_HOR_RES_MAX + default 480 + +-config LVGL_VER_RES_MAX ++config LV_Z_VER_RES_MAX + default 272 + +-config LVGL_VDB_SIZE ++config LV_Z_VDB_SIZE + default 16 + +-config LVGL_DPI ++config LV_Z_DPI + default 128 + +-choice LVGL_COLOR_DEPTH +- default LVGL_COLOR_DEPTH_16 ++choice LV_COLOR_DEPTH ++ default LV_COLOR_DEPTH_16 + endchoice + + endif # LVGL +diff --git a/boards/arm/reel_board/Kconfig.defconfig b/boards/arm/reel_board/Kconfig.defconfig +index 3c616e79f8..48536f27ce 100644 +--- a/boards/arm/reel_board/Kconfig.defconfig ++++ b/boards/arm/reel_board/Kconfig.defconfig +@@ -28,17 +28,17 @@ endif # DISPLAY + + if LVGL + +-choice LVGL_COLOR_DEPTH +- default LVGL_COLOR_DEPTH_1 ++choice LV_COLOR_DEPTH ++ default LV_COLOR_DEPTH_1 + endchoice + +-config LVGL_BITS_PER_PIXEL ++config LV_Z_BITS_PER_PIXEL + default 1 + +-config LVGL_DPI ++config LV_Z_DPI + default 130 + +-config LVGL_VDB_SIZE ++config LV_Z_VDB_SIZE + default 16 + + endif # LVGL +diff --git a/boards/shields/adafruit_2_8_tft_touch_v2/Kconfig.defconfig b/boards/shields/adafruit_2_8_tft_touch_v2/Kconfig.defconfig +index bf717dacbf..3c4ccbfbcd 100644 +--- a/boards/shields/adafruit_2_8_tft_touch_v2/Kconfig.defconfig ++++ b/boards/shields/adafruit_2_8_tft_touch_v2/Kconfig.defconfig +@@ -30,32 +30,32 @@ endif # KSCAN + + if LVGL + +-config LVGL_VDB_SIZE ++config LV_Z_VDB_SIZE + default 64 + +-config LVGL_BITS_PER_PIXEL ++config LV_Z_BITS_PER_PIXEL + default 24 + +-choice LVGL_COLOR_DEPTH +- default LVGL_COLOR_DEPTH_32 ++choice LV_COLOR_DEPTH ++ default LV_COLOR_DEPTH_32 + endchoice + + config KSCAN + default y + +-config LVGL_POINTER_KSCAN ++config LV_Z_POINTER_KSCAN + default y + +-config LVGL_POINTER_KSCAN_DEV_NAME ++config LV_Z_POINTER_KSCAN_DEV_NAME + default "FT5336" + +-config LVGL_POINTER_KSCAN_SWAP_XY ++config LV_Z_POINTER_KSCAN_SWAP_XY + default y + +-config LVGL_POINTER_KSCAN_INVERT_X ++config LV_Z_POINTER_KSCAN_INVERT_X + default y + +-config LVGL_POINTER_KSCAN_INVERT_Y ++config LV_Z_POINTER_KSCAN_INVERT_Y + default y + + endif # LVGL +diff --git a/boards/shields/buydisplay_2_8_tft_touch_arduino/Kconfig.defconfig b/boards/shields/buydisplay_2_8_tft_touch_arduino/Kconfig.defconfig +index bb1c3dd88d..e3c3839a8a 100644 +--- a/boards/shields/buydisplay_2_8_tft_touch_arduino/Kconfig.defconfig ++++ b/boards/shields/buydisplay_2_8_tft_touch_arduino/Kconfig.defconfig +@@ -27,35 +27,35 @@ endif # KSCAN + + if LVGL + +-config LVGL_VDB_SIZE ++config LV_Z_VDB_SIZE + default 64 + +-config LVGL_BITS_PER_PIXEL ++config LV_Z_BITS_PER_PIXEL + default 16 + +-choice LVGL_COLOR_DEPTH +- default LVGL_COLOR_DEPTH_16 ++choice LV_COLOR_DEPTH ++ default LV_COLOR_DEPTH_16 + endchoice + +-config LVGL_COLOR_16_SWAP ++config LV_COLOR_16_SWAP + default y + + config KSCAN + default y + +-config LVGL_POINTER_KSCAN ++config LV_Z_POINTER_KSCAN + default y + +-config LVGL_POINTER_KSCAN_DEV_NAME ++config LV_Z_POINTER_KSCAN_DEV_NAME + default "TOUCH" + +-config LVGL_POINTER_KSCAN_SWAP_XY ++config LV_Z_POINTER_KSCAN_SWAP_XY + default y + +-config LVGL_POINTER_KSCAN_INVERT_X ++config LV_Z_POINTER_KSCAN_INVERT_X + default y + +-config LVGL_POINTER_KSCAN_INVERT_Y ++config LV_Z_POINTER_KSCAN_INVERT_Y + default y + + endif # LVGL +diff --git a/boards/shields/buydisplay_3_5_tft_touch_arduino/Kconfig.defconfig b/boards/shields/buydisplay_3_5_tft_touch_arduino/Kconfig.defconfig +index 422877192b..3d0205f0c5 100644 +--- a/boards/shields/buydisplay_3_5_tft_touch_arduino/Kconfig.defconfig ++++ b/boards/shields/buydisplay_3_5_tft_touch_arduino/Kconfig.defconfig +@@ -27,32 +27,32 @@ endif # KSCAN + + if LVGL + +-config LVGL_VDB_SIZE ++config LV_Z_VDB_SIZE + default 32 + +-config LVGL_BITS_PER_PIXEL ++config LV_Z_BITS_PER_PIXEL + default 24 + +-choice LVGL_COLOR_DEPTH +- default LVGL_COLOR_DEPTH_16 ++choice LV_COLOR_DEPTH ++ default LV_COLOR_DEPTH_16 + endchoice + + config KSCAN + default y + +-config LVGL_POINTER_KSCAN ++config LV_Z_POINTER_KSCAN + default y + +-config LVGL_POINTER_KSCAN_DEV_NAME ++config LV_Z_POINTER_KSCAN_DEV_NAME + default "TOUCH" + +-config LVGL_POINTER_KSCAN_SWAP_XY ++config LV_Z_POINTER_KSCAN_SWAP_XY + default y + +-config LVGL_POINTER_KSCAN_INVERT_X ++config LV_Z_POINTER_KSCAN_INVERT_X + default y + +-config LVGL_POINTER_KSCAN_INVERT_Y ++config LV_Z_POINTER_KSCAN_INVERT_Y + default y + + endif # LVGL +diff --git a/boards/shields/ls0xx_generic/Kconfig.defconfig b/boards/shields/ls0xx_generic/Kconfig.defconfig +index 2ef03d2d02..b495a1a989 100644 +--- a/boards/shields/ls0xx_generic/Kconfig.defconfig ++++ b/boards/shields/ls0xx_generic/Kconfig.defconfig +@@ -13,20 +13,20 @@ config LS0XX + + if LVGL + +-config LVGL_VDB_SIZE +- int "Display buffer percentage" ++config LV_Z_VDB_SIZE ++ int + default 16 + +-config LVGL_DPI +- int "Dots per inch" ++config LV_Z_DPI ++ int + default 150 + +-config LVGL_BITS_PER_PIXEL +- int "Number of bits per pixel" ++config LV_Z_BITS_PER_PIXEL ++ int + default 1 + +-choice LVGL_COLOR_DEPTH +- default LVGL_COLOR_DEPTH_1 ++choice LV_COLOR_DEPTH ++ default LV_COLOR_DEPTH_1 + endchoice + + endif # LVGL +diff --git a/boards/shields/ssd1306/Kconfig.defconfig b/boards/shields/ssd1306/Kconfig.defconfig +index 9fe044e423..fb71784857 100644 +--- a/boards/shields/ssd1306/Kconfig.defconfig ++++ b/boards/shields/ssd1306/Kconfig.defconfig +@@ -28,18 +28,18 @@ endchoice + + if LVGL + +-config LVGL_VDB_SIZE ++config LV_Z_VDB_SIZE + default 64 + +-config LVGL_DPI ++config LV_Z_DPI + default 116 if SHIELD_SH1106_128X64 + default 148 + +-config LVGL_BITS_PER_PIXEL ++config LV_Z_BITS_PER_PIXEL + default 1 + +-choice LVGL_COLOR_DEPTH +- default LVGL_COLOR_DEPTH_1 ++choice LV_COLOR_DEPTH ++ default LV_COLOR_DEPTH_1 + endchoice + + endif # LVGL +diff --git a/boards/shields/st7735r/Kconfig.defconfig b/boards/shields/st7735r/Kconfig.defconfig +index 73eb0fb1ac..8bfcf10322 100644 +--- a/boards/shields/st7735r/Kconfig.defconfig ++++ b/boards/shields/st7735r/Kconfig.defconfig +@@ -14,7 +14,7 @@ config ST7735R + + if LVGL + +-config LVGL_BITS_PER_PIXEL ++config LV_Z_BITS_PER_PIXEL + default 16 + + endif # LVGL +diff --git a/boards/shields/st7789v_generic/Kconfig.defconfig b/boards/shields/st7789v_generic/Kconfig.defconfig +index a215504fd3..64625b97ea 100644 +--- a/boards/shields/st7789v_generic/Kconfig.defconfig ++++ b/boards/shields/st7789v_generic/Kconfig.defconfig +@@ -18,15 +18,15 @@ endchoice + + if LVGL + +-config LVGL_BITS_PER_PIXEL ++config LV_Z_BITS_PER_PIXEL + default 24 if SHIELD_ST7789V_TL019FQV01 + default 16 if SHIELD_ST7789V_WAVESHARE_240X240 + +-choice LVGL_COLOR_DEPTH +- default LVGL_COLOR_DEPTH_16 if SHIELD_ST7789V_WAVESHARE_240X240 ++choice LV_COLOR_DEPTH ++ default LV_COLOR_DEPTH_16 if SHIELD_ST7789V_WAVESHARE_240X240 + endchoice + +-config LVGL_COLOR_16_SWAP ++config LV_COLOR_16_SWAP + default y if SHIELD_ST7789V_WAVESHARE_240X240 + + endif # LVGL +diff --git a/boards/shields/waveshare_epaper/Kconfig.defconfig b/boards/shields/waveshare_epaper/Kconfig.defconfig +index 7aee8b3c73..cbb6362c3b 100644 +--- a/boards/shields/waveshare_epaper/Kconfig.defconfig ++++ b/boards/shields/waveshare_epaper/Kconfig.defconfig +@@ -25,20 +25,20 @@ config GD7965 + + if LVGL + +-config LVGL_VDB_SIZE ++config LV_Z_VDB_SIZE + default 16 if SHIELD_WAVESHARE_EPAPER_GDEW075T7 + default 16 + +-config LVGL_DPI ++config LV_Z_DPI + default 188 if SHIELD_WAVESHARE_EPAPER_GDEH0154A07 + default 120 if SHIELD_WAVESHARE_EPAPER_GDEW042T2 + default 130 + +-choice LVGL_COLOR_DEPTH +- default LVGL_COLOR_DEPTH_1 ++choice LV_COLOR_DEPTH ++ default LV_COLOR_DEPTH_1 + endchoice + +-config LVGL_BITS_PER_PIXEL ++config LV_Z_BITS_PER_PIXEL + default 1 + + endif # LVGL +diff --git a/drivers/kscan/Kconfig.sdl b/drivers/kscan/Kconfig.sdl +index b594e7aa2c..68b2a3a9b3 100644 +--- a/drivers/kscan/Kconfig.sdl ++++ b/drivers/kscan/Kconfig.sdl +@@ -10,5 +10,5 @@ config KSCAN_SDL + config SDL_POINTER_KSCAN_DEV_NAME + string "SDL kscan device name" + depends on KSCAN_SDL +- default LVGL_POINTER_KSCAN_DEV_NAME if LVGL ++ default LV_Z_POINTER_KSCAN_DEV_NAME if LVGL + default "SDL_KSCAN" +diff --git a/lib/CMakeLists.txt b/lib/CMakeLists.txt +index ca8c4b9440..db2193a1ca 100644 +--- a/lib/CMakeLists.txt ++++ b/lib/CMakeLists.txt +@@ -4,7 +4,6 @@ if(NOT CONFIG_EXTERNAL_LIBC) + add_subdirectory(libc) + add_subdirectory(posix) + endif() +-add_subdirectory(gui) + add_subdirectory(os) + add_subdirectory(util) + add_subdirectory_ifdef(CONFIG_SMF smf) +diff --git a/lib/Kconfig b/lib/Kconfig +index 5ab230463a..f3f30085b3 100644 +--- a/lib/Kconfig ++++ b/lib/Kconfig +@@ -5,8 +5,6 @@ source "lib/libc/Kconfig" + + menu "Additional libraries" + +-source "lib/gui/Kconfig" +- + source "lib/os/Kconfig" + + source "lib/posix/Kconfig" +diff --git a/modules/Kconfig b/modules/Kconfig +index 6cf510adcc..08aa3aa26a 100644 +--- a/modules/Kconfig ++++ b/modules/Kconfig +@@ -16,6 +16,7 @@ source "modules/Kconfig.eos_s3" + source "modules/Kconfig.imx" + source "modules/Kconfig.infineon" + source "modules/Kconfig.libmetal" ++source "modules/Kconfig.lvgl" + source "modules/Kconfig.mcux" + source "modules/Kconfig.microchip" + source "modules/Kconfig.nuvoton" +diff --git a/modules/Kconfig.lvgl b/modules/Kconfig.lvgl +new file mode 100644 +index 0000000000..a6691612a0 +--- /dev/null ++++ b/modules/Kconfig.lvgl +@@ -0,0 +1,49 @@ ++# Copyright (c) 2022 Huawei Inc. ++# SPDX-License-Identifier: Apache-2.0 ++ ++config LVGL ++ bool "LittlevGL GUI library" ++ help ++ This option enables the LittlevGL GUI library. ++ ++if !LVGL ++ ++config LV_Z_POINTER_KSCAN ++ bool ++ ++config LV_Z_POINTER_KSCAN_DEV_NAME ++ string ++ default "KSCAN" ++ ++config LV_Z_POINTER_KSCAN_MSGQ_COUNT ++ int ++ default 10 ++ ++config LV_Z_POINTER_KSCAN_SWAP_XY ++ bool ++ ++config LV_Z_POINTER_KSCAN_INVERT_X ++ bool ++ ++config LV_Z_POINTER_KSCAN_INVERT_Y ++ bool ++ ++choice LV_COLOR_DEPTH ++ default LV_COLOR_DEPTH_16 ++ prompt "Color depth." ++ depends on LVGL ++ ++ config LV_COLOR_DEPTH_32 ++ bool "32: ARGB8888" ++ config LV_COLOR_DEPTH_16 ++ bool "16: RGB565" ++ config LV_COLOR_DEPTH_8 ++ bool "8: RGB232" ++ config LV_COLOR_DEPTH_1 ++ bool "1: 1 byte per pixel" ++endchoice ++ ++config LV_COLOR_16_SWAP ++ bool ++ ++endif +diff --git a/samples/subsys/display/lvgl/boards/native_posix.conf b/samples/subsys/display/lvgl/boards/native_posix.conf +new file mode 100644 +index 0000000000..1f42f11f7a +--- /dev/null ++++ b/samples/subsys/display/lvgl/boards/native_posix.conf +@@ -0,0 +1 @@ ++CONFIG_LV_COLOR_DEPTH_32=y +diff --git a/samples/subsys/display/lvgl/boards/native_posix_64.conf b/samples/subsys/display/lvgl/boards/native_posix_64.conf +new file mode 100644 +index 0000000000..1f42f11f7a +--- /dev/null ++++ b/samples/subsys/display/lvgl/boards/native_posix_64.conf +@@ -0,0 +1 @@ ++CONFIG_LV_COLOR_DEPTH_32=y +diff --git a/samples/subsys/display/lvgl/prj.conf b/samples/subsys/display/lvgl/prj.conf +index e1402fbfdc..8ac5276a02 100644 +--- a/samples/subsys/display/lvgl/prj.conf ++++ b/samples/subsys/display/lvgl/prj.conf +@@ -1,4 +1,4 @@ +-CONFIG_HEAP_MEM_POOL_SIZE=16384 ++CONFIG_LV_Z_MEM_POOL_NUMBER_BLOCKS=8 + CONFIG_MAIN_STACK_SIZE=2048 + + CONFIG_DISPLAY=y +@@ -7,7 +7,9 @@ CONFIG_DISPLAY_LOG_LEVEL_ERR=y + CONFIG_LOG=y + + CONFIG_LVGL=y +-CONFIG_LVGL_USE_LABEL=y +-CONFIG_LVGL_USE_CONT=y +-CONFIG_LVGL_USE_BTN=y +-CONFIG_LVGL_USE_THEME_MATERIAL=y ++CONFIG_LV_MEM_CUSTOM=y ++CONFIG_LV_USE_LOG=y ++CONFIG_LV_USE_LABEL=y ++CONFIG_LV_USE_BTN=y ++CONFIG_LV_USE_IMG=y ++CONFIG_LV_FONT_MONTSERRAT_14=y +diff --git a/samples/subsys/display/lvgl/src/main.c b/samples/subsys/display/lvgl/src/main.c +index 6ce5749bd5..a0a4bcbe7d 100644 +--- a/samples/subsys/display/lvgl/src/main.c ++++ b/samples/subsys/display/lvgl/src/main.c +@@ -29,22 +29,21 @@ void main(void) + return; + } + +- if (IS_ENABLED(CONFIG_LVGL_POINTER_KSCAN)) { ++ if (IS_ENABLED(CONFIG_LV_Z_POINTER_KSCAN)) { + lv_obj_t *hello_world_button; + +- hello_world_button = lv_btn_create(lv_scr_act(), NULL); +- lv_obj_align(hello_world_button, NULL, LV_ALIGN_CENTER, 0, 0); +- lv_btn_set_fit(hello_world_button, LV_FIT_TIGHT); +- hello_world_label = lv_label_create(hello_world_button, NULL); ++ hello_world_button = lv_btn_create(lv_scr_act()); ++ lv_obj_align(hello_world_button, LV_ALIGN_CENTER, 0, 0); ++ hello_world_label = lv_label_create(hello_world_button); + } else { +- hello_world_label = lv_label_create(lv_scr_act(), NULL); ++ hello_world_label = lv_label_create(lv_scr_act()); + } + + lv_label_set_text(hello_world_label, "Hello world!"); +- lv_obj_align(hello_world_label, NULL, LV_ALIGN_CENTER, 0, 0); ++ lv_obj_align(hello_world_label, LV_ALIGN_CENTER, 0, 0); + +- count_label = lv_label_create(lv_scr_act(), NULL); +- lv_obj_align(count_label, NULL, LV_ALIGN_IN_BOTTOM_MID, 0, 0); ++ count_label = lv_label_create(lv_scr_act()); ++ lv_obj_align(count_label, LV_ALIGN_BOTTOM_MID, 0, 0); + + lv_task_handler(); + display_blanking_off(display_dev); +diff --git a/tests/lib/gui/lvgl/prj.conf b/tests/lib/gui/lvgl/prj.conf +index 63723a3f28..e84879dc66 100644 +--- a/tests/lib/gui/lvgl/prj.conf ++++ b/tests/lib/gui/lvgl/prj.conf +@@ -12,91 +12,70 @@ CONFIG_FILE_SYSTEM=y + CONFIG_FILE_SYSTEM_LITTLEFS=y + + CONFIG_LVGL=y +-# Make sure that the rendering task is always executed if we call +-# lv_task_handler by setting the refresh period to zero +-CONFIG_LVGL_DISP_DEF_REFR_PERIOD=0 +-CONFIG_LVGL_COLOR_SCREEN_TRANSP=y +-CONFIG_LVGL_ANTIALIAS=y +-CONFIG_LVGL_USE_ANIMATION=y +-CONFIG_LVGL_USE_SHADOW=y +-CONFIG_LVGL_USE_OUTLINE=y +-CONFIG_LVGL_USE_PATTERN=y +-CONFIG_LVGL_USE_VALUE_STR=y +-CONFIG_LVGL_USE_BLEND_MODES=y +-CONFIG_LVGL_USE_OPA_SCALE=y +-CONFIG_LVGL_USE_IMG_TRANSFORM=y +-CONFIG_LVGL_USE_GROUP=y +-CONFIG_LVGL_USE_GPU=y +-CONFIG_LVGL_IMG_CF_INDEXED=y +-CONFIG_LVGL_IMG_CF_ALPHA=y +-CONFIG_LVGL_USE_FILESYSTEM=y +-CONFIG_LVGL_DOUBLE_VDB=y +-CONFIG_LVGL_USE_BIDI=y +-CONFIG_LVGL_USE_ARABIC_PERSIAN_CHARS=y +-CONFIG_LVGL_USE_OBJ_REALIGN=y +-CONFIG_LVGL_USE_LABEL=y +-CONFIG_LVGL_LABEL_TEXT_SEL=y +-CONFIG_LVGL_LABEL_LONG_TXT_HINT=y +-CONFIG_LVGL_USE_IMG=y +-CONFIG_LVGL_USE_LINE=y +-CONFIG_LVGL_USE_ARC=y +-CONFIG_LVGL_USE_CONT=y +-CONFIG_LVGL_USE_PAGE=y +-CONFIG_LVGL_USE_WIN=y +-CONFIG_LVGL_USE_TABVIEW=y +-CONFIG_LVGL_USE_TILEVIEW=y +-CONFIG_LVGL_USE_CALENDAR=y +-CONFIG_LVGL_CALENDAR_WEEK_STARTS_MONDAY=y +-CONFIG_LVGL_USE_SPINNER=y +-CONFIG_LVGL_USE_CANVAS=y +-CONFIG_LVGL_USE_BAR=y +-CONFIG_LVGL_USE_LINEMETER=y +-CONFIG_LVGL_USE_GAUGE=y +-CONFIG_LVGL_USE_CHART=y +-CONFIG_LVGL_USE_TABLE=y +-CONFIG_LVGL_USE_LED=y +-CONFIG_LVGL_USE_MSGBOX=y +-CONFIG_LVGL_USE_TEXTAREA=y +-CONFIG_LVGL_USE_SPINBOX=y +-CONFIG_LVGL_USE_BTN=y +-CONFIG_LVGL_USE_IMGBTN=y +-CONFIG_LVGL_IMGBTN_TILED=y +-CONFIG_LVGL_USE_BTNMATRIX=y +-CONFIG_LVGL_USE_KEYBOARD=y +-CONFIG_LVGL_USE_CHECKBOX=y +-CONFIG_LVGL_USE_LIST=y +-CONFIG_LVGL_USE_DROPDOWN=y +-CONFIG_LVGL_USE_ROLLER=y +-CONFIG_LVGL_USE_SLIDER=y +-CONFIG_LVGL_USE_SWITCH=y +-CONFIG_LVGL_USE_LED=y +-CONFIG_LVGL_USE_OBJMASK=y +-CONFIG_LVGL_USE_THEME_MATERIAL=y +-CONFIG_LVGL_FONT_MONTSERRAT_8=y +-CONFIG_LVGL_FONT_MONTSERRAT_10=y +-CONFIG_LVGL_FONT_MONTSERRAT_12=y +-CONFIG_LVGL_FONT_MONTSERRAT_14=y +-CONFIG_LVGL_FONT_MONTSERRAT_16=y +-CONFIG_LVGL_FONT_MONTSERRAT_18=y +-CONFIG_LVGL_FONT_MONTSERRAT_20=y +-CONFIG_LVGL_FONT_MONTSERRAT_22=y +-CONFIG_LVGL_FONT_MONTSERRAT_24=y +-CONFIG_LVGL_FONT_MONTSERRAT_26=y +-CONFIG_LVGL_FONT_MONTSERRAT_28=y +-CONFIG_LVGL_FONT_MONTSERRAT_30=y +-CONFIG_LVGL_FONT_MONTSERRAT_32=y +-CONFIG_LVGL_FONT_MONTSERRAT_34=y +-CONFIG_LVGL_FONT_MONTSERRAT_36=y +-CONFIG_LVGL_FONT_MONTSERRAT_38=y +-CONFIG_LVGL_FONT_MONTSERRAT_40=y +-CONFIG_LVGL_FONT_MONTSERRAT_42=y +-CONFIG_LVGL_FONT_MONTSERRAT_44=y +-CONFIG_LVGL_FONT_MONTSERRAT_46=y +-CONFIG_LVGL_FONT_MONTSERRAT_48=y +-CONFIG_LVGL_FONT_MONTSERRAT_12_SUBPX=y +-CONFIG_LVGL_FONT_MONTSERRAT_28_COMPRESSED=y +-CONFIG_LVGL_FONT_DEJAVU_16_PERSIAN_HEBREW=y +-CONFIG_LVGL_FONT_SIMSUN_16_CJK=y +-CONFIG_LVGL_FONT_UNSCII_8=y +-CONFIG_LVGL_USE_FONT_COMPRESSED=y +-CONFIG_LVGL_USE_FONT_SUBPX=y ++CONFIG_LV_Z_MEM_POOL_NUMBER_BLOCKS=8 ++CONFIG_LV_Z_USE_FILESYSTEM=y ++CONFIG_LV_MEM_CUSTOM=y ++CONFIG_LV_USE_LOG=y ++CONFIG_LV_COLOR_DEPTH_32=y ++CONFIG_LV_COLOR_SCREEN_TRANSP=y ++CONFIG_LV_USE_BIDI=y ++CONFIG_LV_USE_ARABIC_PERSIAN_CHARS=y ++CONFIG_LV_USE_LABEL=y ++CONFIG_LV_LABEL_TEXT_SELECTION=y ++CONFIG_LV_LABEL_LONG_TXT_HINT=y ++CONFIG_LV_USE_IMG=y ++CONFIG_LV_USE_LINE=y ++CONFIG_LV_USE_ARC=y ++CONFIG_LV_USE_WIN=y ++CONFIG_LV_USE_TABVIEW=y ++CONFIG_LV_USE_TILEVIEW=y ++CONFIG_LV_USE_CALENDAR=y ++CONFIG_LV_CALENDAR_WEEK_STARTS_MONDAY=y ++CONFIG_LV_USE_SPINNER=y ++CONFIG_LV_USE_CANVAS=y ++CONFIG_LV_USE_BAR=y ++CONFIG_LV_USE_CHART=y ++CONFIG_LV_USE_TABLE=y ++CONFIG_LV_USE_LED=y ++CONFIG_LV_USE_MSGBOX=y ++CONFIG_LV_USE_TEXTAREA=y ++CONFIG_LV_USE_SPINBOX=y ++CONFIG_LV_USE_BTN=y ++CONFIG_LV_USE_IMGBTN=y ++CONFIG_LV_USE_BTNMATRIX=y ++CONFIG_LV_USE_KEYBOARD=y ++CONFIG_LV_USE_CHECKBOX=y ++CONFIG_LV_USE_LIST=y ++CONFIG_LV_USE_DROPDOWN=y ++CONFIG_LV_USE_ROLLER=y ++CONFIG_LV_USE_SLIDER=y ++CONFIG_LV_USE_SWITCH=y ++CONFIG_LV_USE_LED=y ++CONFIG_LV_FONT_MONTSERRAT_8=y ++CONFIG_LV_FONT_MONTSERRAT_10=y ++CONFIG_LV_FONT_MONTSERRAT_12=y ++CONFIG_LV_FONT_MONTSERRAT_14=y ++CONFIG_LV_FONT_MONTSERRAT_16=y ++CONFIG_LV_FONT_MONTSERRAT_18=y ++CONFIG_LV_FONT_MONTSERRAT_20=y ++CONFIG_LV_FONT_MONTSERRAT_22=y ++CONFIG_LV_FONT_MONTSERRAT_24=y ++CONFIG_LV_FONT_MONTSERRAT_26=y ++CONFIG_LV_FONT_MONTSERRAT_28=y ++CONFIG_LV_FONT_MONTSERRAT_30=y ++CONFIG_LV_FONT_MONTSERRAT_32=y ++CONFIG_LV_FONT_MONTSERRAT_34=y ++CONFIG_LV_FONT_MONTSERRAT_36=y ++CONFIG_LV_FONT_MONTSERRAT_38=y ++CONFIG_LV_FONT_MONTSERRAT_40=y ++CONFIG_LV_FONT_MONTSERRAT_42=y ++CONFIG_LV_FONT_MONTSERRAT_44=y ++CONFIG_LV_FONT_MONTSERRAT_46=y ++CONFIG_LV_FONT_MONTSERRAT_48=y ++CONFIG_LV_FONT_MONTSERRAT_12_SUBPX=y ++CONFIG_LV_FONT_MONTSERRAT_28_COMPRESSED=y ++CONFIG_LV_FONT_DEJAVU_16_PERSIAN_HEBREW=y ++CONFIG_LV_FONT_SIMSUN_16_CJK=y ++CONFIG_LV_FONT_UNSCII_8=y ++CONFIG_LV_USE_FONT_COMPRESSED=y ++CONFIG_LV_USE_FONT_SUBPX=y +diff --git a/tests/lib/gui/lvgl/src/img.c b/tests/lib/gui/lvgl/src/img.c +index 233b8277a6..be43062862 100644 +--- a/tests/lib/gui/lvgl/src/img.c ++++ b/tests/lib/gui/lvgl/src/img.c +@@ -5,7 +5,6 @@ + */ + + #include <zephyr.h> +-#include <lvgl.h> + #include "img.h" + + static const uint8_t img_data[] = { +diff --git a/tests/lib/gui/lvgl/src/main.c b/tests/lib/gui/lvgl/src/main.c +index e176b83651..b4c9a9ed01 100644 +--- a/tests/lib/gui/lvgl/src/main.c ++++ b/tests/lib/gui/lvgl/src/main.c +@@ -36,7 +36,7 @@ void test_add_delete_screen(void) + + zassert_not_null(default_screen, "No default screen"); + +- lv_obj_t *new_screen = lv_obj_create(NULL, NULL); ++ lv_obj_t *new_screen = lv_obj_create(NULL); + + zassert_not_null(new_screen, "Failed to create new screen"); + +@@ -61,12 +61,12 @@ void test_add_delete_screen(void) + } + void test_add_img(void) + { +- lv_obj_t *img = lv_img_create(lv_scr_act(), NULL); ++ lv_obj_t *img = lv_img_create(lv_scr_act()); + + zassert_not_null(img, "Failed to create image"); + + lv_img_set_src(img, IMG_FILE_PATH); +- lv_obj_align(img, NULL, LV_ALIGN_CENTER, 0, 0); ++ lv_obj_align(img, LV_ALIGN_CENTER, 0, 0); + + lv_task_handler(); + } +diff --git a/tests/lib/gui/lvgl/testcase.yaml b/tests/lib/gui/lvgl/testcase.yaml +index 4a56cd79df..7fb6fc9961 100644 +--- a/tests/lib/gui/lvgl/testcase.yaml ++++ b/tests/lib/gui/lvgl/testcase.yaml +@@ -1,49 +1,41 @@ + tests: + libraries.gui.lvgl: + tags: display gui +- platform_allow: native_posix ++ platform_allow: native_posix_64 + libraries.gui.lvgl.dynamic.heap.libc: + filter: TOOLCHAIN_HAS_NEWLIB == 1 + tags: display gui +- platform_allow: native_posix ++ platform_allow: native_posix_64 + extra_configs: + - CONFIG_NEWLIB_LIBC=y +- - CONFIG_LVGL_BUFFER_ALLOC_DYNAMIC=y +- - CONFIG_LVGL_MEM_POOL_HEAP_LIB_C=y +- libraries.gui.lvgl.dynamic.pool.user: ++ - CONFIG_LV_Z_BUFFER_ALLOC_DYNAMIC=y ++ - CONFIG_LV_Z_MEM_POOL_HEAP_LIB_C=y ++ libraries.gui.lvgl.dynamic.pool.sys_heap: + tags: display gui +- platform_allow: native_posix ++ platform_allow: native_posix_64 + extra_configs: +- - CONFIG_LVGL_BUFFER_ALLOC_DYNAMIC=y +- - CONFIG_LVGL_MEM_POOL_USER=y +- - CONFIG_LVGL_MEM_POOL_NUMBER_BLOCKS=3 +- - CONFIG_LVGL_MEM_POOL_MAX_SIZE=32768 +- libraries.gui.lvgl.dynamic.pool.kernel: +- tags: display gui +- platform_allow: native_posix +- extra_configs: +- - CONFIG_LVGL_BUFFER_ALLOC_DYNAMIC=y +- - CONFIG_LVGL_MEM_POOL_KERNEL=y +- - CONFIG_LVGL_MEM_POOL_NUMBER_BLOCKS=3 +- - CONFIG_LVGL_MEM_POOL_MAX_SIZE=32768 ++ - CONFIG_LV_Z_BUFFER_ALLOC_DYNAMIC=y ++ - CONFIG_LV_Z_MEM_POOL_SYS_HEAP=y ++ - CONFIG_LV_Z_MEM_POOL_NUMBER_BLOCKS=3 ++ - CONFIG_LV_Z_MEM_POOL_MAX_SIZE=32768 + libraries.gui.lvgl.16bit: + tags: display gui +- platform_allow: native_posix ++ platform_allow: native_posix_64 + extra_configs: +- - CONFIG_LVGL_COLOR_DEPTH_16=y ++ - CONFIG_LV_COLOR_DEPTH_16=y + libraries.gui.lvgl.8bit: + tags: display gui +- platform_allow: native_posix ++ platform_allow: native_posix_64 + extra_configs: +- - CONFIG_LVGL_COLOR_DEPTH_8=y ++ - CONFIG_LV_COLOR_DEPTH_8=y + libraries.gui.lvgl.mono: + tags: display gui +- platform_allow: native_posix ++ platform_allow: native_posix_64 + extra_configs: +- - CONFIG_LVGL_COLOR_DEPTH_1=y ++ - CONFIG_LV_COLOR_DEPTH_1=y + libraries.gui.lvgl.16bit.swap: + tags: display gui +- platform_allow: native_posix ++ platform_allow: native_posix_64 + extra_configs: +- - CONFIG_LVGL_COLOR_DEPTH_16=y +- - CONFIG_LVGL_COLOR_16_SWAP=y ++ - CONFIG_LV_COLOR_DEPTH_16=y ++ - CONFIG_LV_COLOR_16_SWAP=y +diff --git a/west.yml b/west.yml +index 97eaa937f9..5f0a6e892c 100644 +--- a/west.yml ++++ b/west.yml +@@ -162,7 +162,7 @@ manifest: + revision: 12019623bbad9eb54fe51066847a7cbd4b4eac57 + path: modules/lib/loramac-node + - name: lvgl +- revision: 783c1f78c8e39751fe89d0883c8bce7336f55e94 ++ revision: a2e17073e5208c221e24e3c2b3b6c473e878bd1e + path: modules/lib/gui/lvgl + - name: lz4 + revision: 8e303c264fc21c2116dc612658003a22e933124d +-- +2.30.1 + diff --git a/meta-zephyr-core/recipes-kernel/zephyr-kernel/zephyr-kernel-src-3.0.0.inc b/meta-zephyr-core/recipes-kernel/zephyr-kernel/zephyr-kernel-src-3.0.0.inc index 64594a09b1b5a30e796533f57236c47815028777..f4ea7d3fbd9ed2ce1f7b3d01731884b8360e2653 100644 --- a/meta-zephyr-core/recipes-kernel/zephyr-kernel/zephyr-kernel-src-3.0.0.inc +++ b/meta-zephyr-core/recipes-kernel/zephyr-kernel/zephyr-kernel-src-3.0.0.inc @@ -45,7 +45,7 @@ SRCREV_xtensa = "0e577021bb66e644afd067cd9f7c71ab11b62b3d" SRCREV_libmetal = "f237c9d420a51cc43bc37d744e41191ad613f348" SRCREV_littlefs = "33509ed9c3d369cdb9d909cd40c5eea8f64a902c" SRCREV_loramac-node = "12019623bbad9eb54fe51066847a7cbd4b4eac57" -SRCREV_lvgl = "783c1f78c8e39751fe89d0883c8bce7336f55e94" +SRCREV_lvgl = "a2e17073e5208c221e24e3c2b3b6c473e878bd1e" SRCREV_lz4 = "8e303c264fc21c2116dc612658003a22e933124d" SRCREV_mbedtls = "3e3e58a92de76069730c63e0d524f40fea948a61" SRCREV_mcuboot = "89936c338e46f43cb177a8b928cd80b90f3ace8f" @@ -68,3 +68,5 @@ SRCREV_zscilib = "12bfe3f0a9fcbfe3edab7eabc9678b6c62875d34" ZEPHYR_BRANCH = "v3.0-branch" PV = "3.0.0+git${SRCPV}" + +SRC_URI += "file://0001-lvgl-add-support-for-lvgl-v8.2.0.patch"