From 8a110a6252fcd28a789b8d9628824e51f3e2fb65 Mon Sep 17 00:00:00 2001 From: Fabian Blatz Date: Sun, 8 Jun 2025 16:01:04 +0200 Subject: [PATCH] samples: modules: lvgl: demos: Update to v9.3 Update the sample to show upstream demos to v9.3. The samples for flex layout, scrolling and multilanguage have been removed upstream, so also remove their respective LV_Z_* entry. Signed-off-by: Fabian Blatz --- samples/modules/lvgl/demos/CMakeLists.txt | 67 ++++------------------- samples/modules/lvgl/demos/Kconfig | 21 +------ samples/modules/lvgl/demos/README.rst | 30 ---------- samples/modules/lvgl/demos/sample.yaml | 9 --- samples/modules/lvgl/demos/src/main.c | 8 +-- 5 files changed, 13 insertions(+), 122 deletions(-) diff --git a/samples/modules/lvgl/demos/CMakeLists.txt b/samples/modules/lvgl/demos/CMakeLists.txt index 03ff9716abf..d8da9af6116 100644 --- a/samples/modules/lvgl/demos/CMakeLists.txt +++ b/samples/modules/lvgl/demos/CMakeLists.txt @@ -69,9 +69,13 @@ target_sources_ifdef(CONFIG_LV_USE_DEMO_BENCHMARK app PRIVATE ${LVGL_DIR}/demos/benchmark/assets/img_benchmark_avatar.c ${LVGL_DIR}/demos/benchmark/assets/img_benchmark_lvgl_logo_argb.c ${LVGL_DIR}/demos/benchmark/assets/img_benchmark_lvgl_logo_rgb.c - ${LVGL_DIR}/demos/benchmark/assets/lv_font_benchmark_montserrat_12_compr_az.c.c - ${LVGL_DIR}/demos/benchmark/assets/lv_font_benchmark_montserrat_16_compr_az.c.c - ${LVGL_DIR}/demos/benchmark/assets/lv_font_benchmark_montserrat_28_compr_az.c.c + ${LVGL_DIR}/demos/benchmark/assets/lv_font_benchmark_montserrat_12_aligned.c + ${LVGL_DIR}/demos/benchmark/assets/lv_font_benchmark_montserrat_14_aligned.c + ${LVGL_DIR}/demos/benchmark/assets/lv_font_benchmark_montserrat_16_aligned.c + ${LVGL_DIR}/demos/benchmark/assets/lv_font_benchmark_montserrat_18_aligned.c + ${LVGL_DIR}/demos/benchmark/assets/lv_font_benchmark_montserrat_20_aligned.c + ${LVGL_DIR}/demos/benchmark/assets/lv_font_benchmark_montserrat_24_aligned.c + ${LVGL_DIR}/demos/benchmark/assets/lv_font_benchmark_montserrat_26_aligned.c ${LVGL_DIR}/demos/benchmark/lv_demo_benchmark.c ) @@ -87,15 +91,6 @@ target_sources_ifdef(CONFIG_LV_USE_DEMO_WIDGETS app PRIVATE ${LVGL_DIR}/demos/widgets/lv_demo_widgets.c ) -target_sources_ifdef(CONFIG_LV_USE_DEMO_FLEX_LAYOUT app PRIVATE - ${LVGL_DIR}/demos/flex_layout/lv_demo_flex_layout_main.c - ${LVGL_DIR}/demos/flex_layout/lv_demo_flex_layout_view.c - ${LVGL_DIR}/demos/flex_layout/lv_demo_flex_layout_flex_loader.c - ${LVGL_DIR}/demos/flex_layout/lv_demo_flex_layout_view_child_node.c - ${LVGL_DIR}/demos/flex_layout/lv_demo_flex_layout_view_ctrl_pad.c - ${LVGL_DIR}/demos/flex_layout/lv_demo_flex_layout_ctrl_pad.c -) - target_sources_ifdef(CONFIG_LV_USE_DEMO_KEYPAD_AND_ENCODER app PRIVATE ${LVGL_DIR}/demos/keypad_encoder/lv_demo_keypad_encoder.c ) @@ -103,55 +98,13 @@ target_sources_ifdef(CONFIG_LV_USE_DEMO_KEYPAD_AND_ENCODER app PRIVATE target_sources_ifdef(CONFIG_LV_USE_DEMO_RENDER app PRIVATE ${LVGL_DIR}/demos/render/assets/img_render_arc_bg.c ${LVGL_DIR}/demos/render/assets/img_render_lvgl_logo_argb8888.c + ${LVGL_DIR}/demos/render/assets/img_render_lvgl_logo_argb8888_premultiplied.c ${LVGL_DIR}/demos/render/assets/img_render_lvgl_logo_i1.c ${LVGL_DIR}/demos/render/assets/img_render_lvgl_logo_l8.c - ${LVGL_DIR}/demos/render/assets/img_render_lvgl_logo_rgb565.c ${LVGL_DIR}/demos/render/assets/img_render_lvgl_logo_rgb565a8.c + ${LVGL_DIR}/demos/render/assets/img_render_lvgl_logo_rgb565.c + ${LVGL_DIR}/demos/render/assets/img_render_lvgl_logo_rgb565_swapped.c ${LVGL_DIR}/demos/render/assets/img_render_lvgl_logo_rgb888.c ${LVGL_DIR}/demos/render/assets/img_render_lvgl_logo_xrgb8888.c ${LVGL_DIR}/demos/render/lv_demo_render.c ) - -target_sources_ifdef(CONFIG_LV_USE_DEMO_SCROLL app PRIVATE - ${LVGL_DIR}/demos/scroll/lv_demo_scroll.c -) - -target_sources_ifdef(CONFIG_LV_USE_DEMO_MULTILANG app PRIVATE - ${LVGL_DIR}/demos/multilang/assets/img_multilang_like.c - ${LVGL_DIR}/demos/multilang/assets/fonts/font_multilang_large.c - ${LVGL_DIR}/demos/multilang/assets/fonts/font_multilang_small.c - ${LVGL_DIR}/demos/multilang/assets/emojis/img_emoji_movie_camera.c - ${LVGL_DIR}/demos/multilang/assets/emojis/img_emoji_flexed_biceps.c - ${LVGL_DIR}/demos/multilang/assets/emojis/img_emoji_rocket.c - ${LVGL_DIR}/demos/multilang/assets/emojis/img_emoji_artist_palette.c - ${LVGL_DIR}/demos/multilang/assets/emojis/img_emoji_deciduous_tree.c - ${LVGL_DIR}/demos/multilang/assets/emojis/img_emoji_cat_face.c - ${LVGL_DIR}/demos/multilang/assets/emojis/img_emoji_red_heart.c - ${LVGL_DIR}/demos/multilang/assets/emojis/img_emoji_camera_with_flash.c - ${LVGL_DIR}/demos/multilang/assets/emojis/img_emoji_dog_face.c - ${LVGL_DIR}/demos/multilang/assets/emojis/img_emoji_books.c - ${LVGL_DIR}/demos/multilang/assets/emojis/img_emoji_earth_globe_europe_africa.c - ${LVGL_DIR}/demos/multilang/assets/emojis/img_emoji_soccer_ball.c - ${LVGL_DIR}/demos/multilang/assets/avatars/img_multilang_avatar_19.c - ${LVGL_DIR}/demos/multilang/assets/avatars/img_multilang_avatar_4.c - ${LVGL_DIR}/demos/multilang/assets/avatars/img_multilang_avatar_8.c - ${LVGL_DIR}/demos/multilang/assets/avatars/img_multilang_avatar_5.c - ${LVGL_DIR}/demos/multilang/assets/avatars/img_multilang_avatar_16.c - ${LVGL_DIR}/demos/multilang/assets/avatars/img_multilang_avatar_22.c - ${LVGL_DIR}/demos/multilang/assets/avatars/img_multilang_avatar_9.c - ${LVGL_DIR}/demos/multilang/assets/avatars/img_multilang_avatar_6.c - ${LVGL_DIR}/demos/multilang/assets/avatars/img_multilang_avatar_18.c - ${LVGL_DIR}/demos/multilang/assets/avatars/img_multilang_avatar_17.c - ${LVGL_DIR}/demos/multilang/assets/avatars/img_multilang_avatar_13.c - ${LVGL_DIR}/demos/multilang/assets/avatars/img_multilang_avatar_2.c - ${LVGL_DIR}/demos/multilang/assets/avatars/img_multilang_avatar_3.c - ${LVGL_DIR}/demos/multilang/assets/avatars/img_multilang_avatar_25.c - ${LVGL_DIR}/demos/multilang/assets/avatars/img_multilang_avatar_14.c - ${LVGL_DIR}/demos/multilang/assets/avatars/img_multilang_avatar_1.c - ${LVGL_DIR}/demos/multilang/assets/avatars/img_multilang_avatar_11.c - ${LVGL_DIR}/demos/multilang/assets/avatars/img_multilang_avatar_7.c - ${LVGL_DIR}/demos/multilang/assets/avatars/img_multilang_avatar_15.c - ${LVGL_DIR}/demos/multilang/assets/avatars/img_multilang_avatar_12.c - ${LVGL_DIR}/demos/multilang/assets/avatars/img_multilang_avatar_10.c - ${LVGL_DIR}/demos/multilang/lv_demo_multilang.c -) diff --git a/samples/modules/lvgl/demos/Kconfig b/samples/modules/lvgl/demos/Kconfig index 39d2cb104f5..9e6f17f6988 100644 --- a/samples/modules/lvgl/demos/Kconfig +++ b/samples/modules/lvgl/demos/Kconfig @@ -17,6 +17,8 @@ config LV_Z_DEMO_BENCHMARK bool "LVGL benchmark demo" select LV_USE_DEMO_BENCHMARK select LV_USE_DEMO_WIDGETS + imply LV_USE_PERF_MONITOR + imply LV_USE_SYSMON help Build benchmarking demo application. @@ -32,12 +34,6 @@ config LV_Z_DEMO_WIDGETS help Build widgets demo application. -config LV_Z_DEMO_FLEX_LAYOUT - bool "LVGL flex layout demo" - select LV_USE_DEMO_FLEX_LAYOUT - help - Build flex layout demo application. - config LV_Z_DEMO_KEYPAD_AND_ENCODER bool "LVGL keypad and encoder demo" select LV_USE_DEMO_KEYPAD_AND_ENCODER @@ -50,19 +46,6 @@ config LV_Z_DEMO_RENDER help Build render demo application. -config LV_Z_DEMO_SCROLL - bool "LVGL scroll demo" - select LV_USE_DEMO_SCROLL - help - Build scroll demo application. - -config LV_Z_DEMO_MULTILANG - bool "LVGL multilang demo" - select LV_USE_DEMO_MULTILANG - select LV_USE_IMGFONT - help - Build multilang demo application. - endchoice config LV_Z_DEMO_RENDER_SCENE_DYNAMIC diff --git a/samples/modules/lvgl/demos/README.rst b/samples/modules/lvgl/demos/README.rst index 7124c17a767..0f7ef9e241d 100644 --- a/samples/modules/lvgl/demos/README.rst +++ b/samples/modules/lvgl/demos/README.rst @@ -17,16 +17,10 @@ A sample showcasing upstream LVGL demos. A stress test for LVGL. It contains a lot of object creation, deletion, animations, styles usage, and so on. It can be used if there is any memory corruption during heavy usage or any memory leaks. * Widgets Shows how the widgets look like out of the box using the built-in material theme. -* Flex Layout - Showcases the use of the flex layout. * Keypad and Encoder Shows how to control widget with a keypad and hardware encoder. * Render Collection of multiple rendering tests. -* Scroll - Shows the scroll behaviour of a panel with a large list. -* Multilang - Shows a UI with multilanguage options, supporting unicode characters. More details can be found in `LVGL demos Readme`_. @@ -82,14 +76,6 @@ These demos can be built for simulated display environment as follows: :goals: run :compact: -.. zephyr-app-commands:: - :zephyr-app: samples/modules/lvgl/demos - :host-os: unix - :board: native_sim - :gen-args: -DCONFIG_LV_Z_DEMO_FLEX_LAYOUT=y - :goals: run - :compact: - .. zephyr-app-commands:: :zephyr-app: samples/modules/lvgl/demos :host-os: unix @@ -106,22 +92,6 @@ These demos can be built for simulated display environment as follows: :goals: run :compact: -.. zephyr-app-commands:: - :zephyr-app: samples/modules/lvgl/demos - :host-os: unix - :board: native_sim - :gen-args: -DCONFIG_LV_Z_DEMO_SCROLL=y - :goals: run - :compact: - -.. zephyr-app-commands:: - :zephyr-app: samples/modules/lvgl/demos - :host-os: unix - :board: native_sim - :gen-args: -DCONFIG_LV_Z_DEMO_MULTILANG=y - :goals: run - :compact: - Alternatively, if building from a 64-bit host machine, the previous target board argument may also be replaced by ``native_sim/native/64``. diff --git a/samples/modules/lvgl/demos/sample.yaml b/samples/modules/lvgl/demos/sample.yaml index a35f122504c..bff4aa01d84 100644 --- a/samples/modules/lvgl/demos/sample.yaml +++ b/samples/modules/lvgl/demos/sample.yaml @@ -34,21 +34,12 @@ tests: sample.modules.lvgl.demo_widgets: extra_configs: - CONFIG_LV_Z_DEMO_WIDGETS=y - sample.modules.lvgl.demo_flex_layout: - extra_configs: - - CONFIG_LV_Z_DEMO_FLEX_LAYOUT=y sample.modules.lvgl.demo_keypad_encoder: extra_configs: - CONFIG_LV_Z_DEMO_KEYPAD_AND_ENCODER=y sample.modules.lvgl.demo_render: extra_configs: - CONFIG_LV_Z_DEMO_RENDER=y - sample.modules.lvgl.demo_scroll: - extra_configs: - - CONFIG_LV_Z_DEMO_SCROLL=y - sample.modules.lvgl.demo_multilang: - extra_configs: - - CONFIG_LV_Z_DEMO_MULTILANG=y sample.modules.lvgl.demos.st_b_lcd40_dsi1_mb1166: filter: dt_compat_enabled("orisetech,otm8009a") platform_allow: stm32h747i_disco/stm32h747xx/m7 diff --git a/samples/modules/lvgl/demos/src/main.c b/samples/modules/lvgl/demos/src/main.c index 384888aa254..4cfc99e6663 100644 --- a/samples/modules/lvgl/demos/src/main.c +++ b/samples/modules/lvgl/demos/src/main.c @@ -37,8 +37,6 @@ int main(void) lv_demo_stress(); #elif defined(CONFIG_LV_Z_DEMO_WIDGETS) lv_demo_widgets(); -#elif defined(CONFIG_LV_Z_DEMO_FLEX_LAYOUT) - lv_demo_flex_layout(); #elif defined(CONFIG_LV_Z_DEMO_KEYPAD_AND_ENCODER) lv_demo_keypad_encoder(); #elif defined(CONFIG_LV_Z_DEMO_RENDER) @@ -51,10 +49,6 @@ int main(void) lv_demo_render(CONFIG_LV_Z_DEMO_RENDER_SCENE_INDEX, 255); #endif /* CONFIG_LV_Z_DEMO_RENDER_SCENE_DYNAMIC */ -#elif defined(CONFIG_LV_Z_DEMO_SCROLL) - lv_demo_scroll(); -#elif defined(CONFIG_LV_Z_DEMO_MULTILANG) - lv_demo_multilang(); #else #error Enable one of the demos CONFIG_LV_Z_DEMO_* #endif @@ -72,7 +66,7 @@ int main(void) k_msleep(MIN(sleep_ms, INT32_MAX)); #ifdef CONFIG_LV_Z_DEMO_RENDER_SCENE_DYNAMIC if (sys_timepoint_expired(next_scene_switch)) { - cur_scene = (cur_scene + 1) % _LV_DEMO_RENDER_SCENE_NUM; + cur_scene = (cur_scene + 1) % LV_DEMO_RENDER_SCENE_NUM; lv_demo_render(cur_scene, 255); next_scene_switch = sys_timepoint_calc( K_SECONDS(CONFIG_LV_Z_DEMO_RENDER_DYNAMIC_SCENE_TIMEOUT));