From 44488693943d7c098bd47e117fc7a17533259ac7 Mon Sep 17 00:00:00 2001 From: Meco Man <920369182@qq.com> Date: Tue, 10 May 2022 23:22:25 -0400 Subject: [PATCH] =?UTF-8?q?[simulator]=20=E4=BC=98=E5=8C=96vs=E6=A8=A1?= =?UTF-8?q?=E6=8B=9F=E5=99=A8=E7=9A=84LVGL=E7=BB=93=E6=9E=84?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- bsp/simulator/Kconfig | 6 +- .../applications/lvgl/demo/SConscript | 17 +++++ .../applications/lvgl/demo/lv_demo.c | 17 +++++ bsp/simulator/applications/lvgl/lv_demo.c | 62 ------------------- .../applications/lvgl/lv_port_disp.c | 14 ++++- .../applications/lvgl/lv_port_disp.h | 23 ------- .../applications/lvgl/lv_port_indev.h | 23 ------- .../applications/lvgl/demo/lv_demo.c | 5 +- 8 files changed, 54 insertions(+), 113 deletions(-) create mode 100644 bsp/simulator/applications/lvgl/demo/SConscript create mode 100644 bsp/simulator/applications/lvgl/demo/lv_demo.c delete mode 100644 bsp/simulator/applications/lvgl/lv_demo.c delete mode 100644 bsp/simulator/applications/lvgl/lv_port_disp.h delete mode 100644 bsp/simulator/applications/lvgl/lv_port_indev.h diff --git a/bsp/simulator/Kconfig b/bsp/simulator/Kconfig index 63832e878f..8dfdfdbabe 100644 --- a/bsp/simulator/Kconfig +++ b/bsp/simulator/Kconfig @@ -32,10 +32,14 @@ config RT_USING_DFS_WINSHAREDIR config BSP_USING_LVGL bool "Enable LVGL for LCD" select PKG_USING_LVGL - select PKG_USING_LV_MUSIC_DEMO default n if BSP_USING_LVGL + config BSP_USING_LVGL_DEMO + bool "Enable LVGL demo" + select PKG_USING_LV_MUSIC_DEMO + default n + config BSP_LCD_WIDTH int "LCD width" default 800 diff --git a/bsp/simulator/applications/lvgl/demo/SConscript b/bsp/simulator/applications/lvgl/demo/SConscript new file mode 100644 index 0000000000..9c1b6d1ebd --- /dev/null +++ b/bsp/simulator/applications/lvgl/demo/SConscript @@ -0,0 +1,17 @@ +from building import * +import os + +cwd = GetCurrentDir() +group = [] +src = Glob('*.c') +CPPPATH = [cwd] + +list = os.listdir(cwd) +for d in list: + path = os.path.join(cwd, d) + if os.path.isfile(os.path.join(path, 'SConscript')): + group = group + SConscript(os.path.join(d, 'SConscript')) + +group = group + DefineGroup('LVGL-demo', src, depend = ['BSP_USING_LVGL', 'BSP_USING_LVGL_DEMO'], CPPPATH = CPPPATH) + +Return('group') diff --git a/bsp/simulator/applications/lvgl/demo/lv_demo.c b/bsp/simulator/applications/lvgl/demo/lv_demo.c new file mode 100644 index 0000000000..77bdc0ac47 --- /dev/null +++ b/bsp/simulator/applications/lvgl/demo/lv_demo.c @@ -0,0 +1,17 @@ +/* + * Copyright (c) 2006-2021, RT-Thread Development Team + * + * SPDX-License-Identifier: Apache-2.0 + * + * Change Logs: + * Date Author Notes + * 2021-10-17 Meco Man First version + * 2022-05-10 Meco Man improve rt-thread initialization process + */ + +void lv_user_gui_init(void) +{ + /* display demo; you may replace with your LVGL application at here */ + extern void lv_demo_music(void); + lv_demo_music(); +} diff --git a/bsp/simulator/applications/lvgl/lv_demo.c b/bsp/simulator/applications/lvgl/lv_demo.c deleted file mode 100644 index ba984fd6b8..0000000000 --- a/bsp/simulator/applications/lvgl/lv_demo.c +++ /dev/null @@ -1,62 +0,0 @@ -/* - * Copyright (c) 2006-2021, RT-Thread Development Team - * - * SPDX-License-Identifier: Apache-2.0 - * - * Change Logs: - * Date Author Notes - * 2021-10-17 Meco Man First version - */ -#include -#define DBG_TAG "LVGL.demo" -#define DBG_LVL DBG_INFO -#include -#include -#include - -#ifndef LV_THREAD_STACK_SIZE -#define LV_THREAD_STACK_SIZE 4096 -#endif - -#ifndef LV_THREAD_PRIO -#define LV_THREAD_PRIO (RT_THREAD_PRIORITY_MAX*2/3) -#endif - -static void lvgl_thread(void *parameter) -{ - /* initialize win32 driver; don't put this in lv_port_disp() */ - if (!lv_win32_init(GetModuleHandleW(NULL), SW_SHOW, BSP_LCD_WIDTH, BSP_LCD_HEIGHT, NULL)) - { - LOG_E("lv_win32_init is failure!"); - return; - } - lv_win32_add_all_input_devices_to_group(NULL); - - /* display demo; you may replace with your LVGL application at here */ - extern void lv_demo_music(void); - lv_demo_music(); - - /* handle the tasks of LVGL */ - while (!lv_win32_quit_signal) - { - lv_task_handler(); - rt_thread_mdelay(1); - } - - LOG_W("LVGL simulator window is closed!"); -} - -static int lvgl_demo_init(void) -{ - rt_thread_t tid; - - tid = rt_thread_create("LVGL", lvgl_thread, RT_NULL, LV_THREAD_STACK_SIZE, LV_THREAD_PRIO, 10); - if(tid == RT_NULL) - { - LOG_E("Fail to create 'LVGL' thread"); - } - rt_thread_startup(tid); - - return 0; -} -INIT_APP_EXPORT(lvgl_demo_init); diff --git a/bsp/simulator/applications/lvgl/lv_port_disp.c b/bsp/simulator/applications/lvgl/lv_port_disp.c index 220966f631..6b65b46cd8 100644 --- a/bsp/simulator/applications/lvgl/lv_port_disp.c +++ b/bsp/simulator/applications/lvgl/lv_port_disp.c @@ -7,8 +7,20 @@ * Date Author Notes * 2021-10-18 Meco Man The first version */ +#include +#include + +#define DBG_TAG "LVGL.port" +#define DBG_LVL DBG_INFO +#include void lv_port_disp_init(void) { - /* do nothing*/ + /* initialize win32 driver */ + if (!lv_win32_init(GetModuleHandleW(NULL), SW_SHOW, BSP_LCD_WIDTH, BSP_LCD_HEIGHT, NULL)) + { + LOG_E("lv_win32_init is failure!"); + return; + } + lv_win32_add_all_input_devices_to_group(NULL); } diff --git a/bsp/simulator/applications/lvgl/lv_port_disp.h b/bsp/simulator/applications/lvgl/lv_port_disp.h deleted file mode 100644 index ef39eb03cd..0000000000 --- a/bsp/simulator/applications/lvgl/lv_port_disp.h +++ /dev/null @@ -1,23 +0,0 @@ -/* - * Copyright (c) 2006-2021, RT-Thread Development Team - * - * SPDX-License-Identifier: Apache-2.0 - * - * Change Logs: - * Date Author Notes - * 2021-10-18 Meco Man The first version - */ -#ifndef LV_PORT_DISP_H -#define LV_PORT_DISP_H - -#ifdef __cplusplus -extern "C" { -#endif - -void lv_port_disp_init(void); - -#ifdef __cplusplus -} /*extern "C"*/ -#endif - -#endif diff --git a/bsp/simulator/applications/lvgl/lv_port_indev.h b/bsp/simulator/applications/lvgl/lv_port_indev.h deleted file mode 100644 index 7599bb899d..0000000000 --- a/bsp/simulator/applications/lvgl/lv_port_indev.h +++ /dev/null @@ -1,23 +0,0 @@ -/* - * Copyright (c) 2006-2021, RT-Thread Development Team - * - * SPDX-License-Identifier: Apache-2.0 - * - * Change Logs: - * Date Author Notes - * 2021-10-18 Meco Man The first version - */ -#ifndef LV_PORT_INDEV_H -#define LV_PORT_INDEV_H - -#ifdef __cplusplus -extern "C" { -#endif - -void lv_port_indev_init(void); - -#ifdef __cplusplus -} /*extern "C"*/ -#endif - -#endif diff --git a/bsp/stm32/stm32l475-atk-pandora/applications/lvgl/demo/lv_demo.c b/bsp/stm32/stm32l475-atk-pandora/applications/lvgl/demo/lv_demo.c index b8c5639d00..0d2b0e17f0 100644 --- a/bsp/stm32/stm32l475-atk-pandora/applications/lvgl/demo/lv_demo.c +++ b/bsp/stm32/stm32l475-atk-pandora/applications/lvgl/demo/lv_demo.c @@ -10,10 +10,9 @@ */ #include -extern void lv_demo_calendar(void); - void lv_user_gui_init(void) { - /* display demo */ + /* display demo; you may replace with your LVGL application at here */ + extern void lv_demo_calendar(void); lv_demo_calendar(); } -- GitLab