From e6466d0fb76709aba1d0a99464de2d1e656fe7b5 Mon Sep 17 00:00:00 2001 From: Meco Man <920369182@qq.com> Date: Tue, 10 May 2022 23:42:12 -0400 Subject: [PATCH] =?UTF-8?q?[qemu]=20=E4=BC=98=E5=8C=96qemu=E6=A8=A1?= =?UTF-8?q?=E6=8B=9F=E5=99=A8=E7=9A=84LVGL=E6=96=87=E4=BB=B6=E7=BB=93?= =?UTF-8?q?=E6=9E=84?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../applications/lvgl/demo/SConscript | 17 +++++++ .../applications/lvgl/demo/lv_demo.c | 17 +++++++ .../applications/lvgl/lv_demo.c | 51 ------------------- .../applications/lvgl/lv_port_disp.h | 23 --------- .../applications/lvgl/lv_port_indev.c | 6 +-- .../applications/lvgl/lv_port_indev.h | 23 --------- bsp/qemu-vexpress-a9/drivers/Kconfig | 8 ++- bsp/qemu-vexpress-a9/drivers/drv_mouse.c | 11 ++-- 8 files changed, 47 insertions(+), 109 deletions(-) create mode 100644 bsp/qemu-vexpress-a9/applications/lvgl/demo/SConscript create mode 100644 bsp/qemu-vexpress-a9/applications/lvgl/demo/lv_demo.c delete mode 100644 bsp/qemu-vexpress-a9/applications/lvgl/lv_demo.c delete mode 100644 bsp/qemu-vexpress-a9/applications/lvgl/lv_port_disp.h delete mode 100644 bsp/qemu-vexpress-a9/applications/lvgl/lv_port_indev.h diff --git a/bsp/qemu-vexpress-a9/applications/lvgl/demo/SConscript b/bsp/qemu-vexpress-a9/applications/lvgl/demo/SConscript new file mode 100644 index 0000000000..9c1b6d1ebd --- /dev/null +++ b/bsp/qemu-vexpress-a9/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/qemu-vexpress-a9/applications/lvgl/demo/lv_demo.c b/bsp/qemu-vexpress-a9/applications/lvgl/demo/lv_demo.c new file mode 100644 index 0000000000..90ff2561c3 --- /dev/null +++ b/bsp/qemu-vexpress-a9/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 + */ +#include + +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/qemu-vexpress-a9/applications/lvgl/lv_demo.c b/bsp/qemu-vexpress-a9/applications/lvgl/lv_demo.c deleted file mode 100644 index 326d1df1d2..0000000000 --- a/bsp/qemu-vexpress-a9/applications/lvgl/lv_demo.c +++ /dev/null @@ -1,51 +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 -#include -#define DBG_TAG "LVGL.demo" -#define DBG_LVL DBG_INFO -#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) -{ - /* 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(1) - { - lv_task_handler(); - rt_thread_mdelay(1); - } -} - -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/qemu-vexpress-a9/applications/lvgl/lv_port_disp.h b/bsp/qemu-vexpress-a9/applications/lvgl/lv_port_disp.h deleted file mode 100644 index ef39eb03cd..0000000000 --- a/bsp/qemu-vexpress-a9/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/qemu-vexpress-a9/applications/lvgl/lv_port_indev.c b/bsp/qemu-vexpress-a9/applications/lvgl/lv_port_indev.c index 77134ab1f0..524aaadbf0 100644 --- a/bsp/qemu-vexpress-a9/applications/lvgl/lv_port_indev.c +++ b/bsp/qemu-vexpress-a9/applications/lvgl/lv_port_indev.c @@ -13,6 +13,8 @@ #include +lv_indev_t * touch_indev; + static lv_indev_state_t last_state = LV_INDEV_STATE_REL; static rt_int16_t last_x = 0; static rt_int16_t last_y = 0; @@ -31,8 +33,6 @@ void lv_port_indev_input(rt_int16_t x, rt_int16_t y, lv_indev_state_t state) last_y = y; } -lv_indev_t * button_indev; - void lv_port_indev_init(void) { static lv_indev_drv_t indev_drv; @@ -42,5 +42,5 @@ void lv_port_indev_init(void) indev_drv.read_cb = input_read; /*Register the driver in LVGL and save the created input device object*/ - button_indev = lv_indev_drv_register(&indev_drv); + touch_indev = lv_indev_drv_register(&indev_drv); } diff --git a/bsp/qemu-vexpress-a9/applications/lvgl/lv_port_indev.h b/bsp/qemu-vexpress-a9/applications/lvgl/lv_port_indev.h deleted file mode 100644 index 7599bb899d..0000000000 --- a/bsp/qemu-vexpress-a9/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/qemu-vexpress-a9/drivers/Kconfig b/bsp/qemu-vexpress-a9/drivers/Kconfig index a4754bdab4..4f62af899f 100644 --- a/bsp/qemu-vexpress-a9/drivers/Kconfig +++ b/bsp/qemu-vexpress-a9/drivers/Kconfig @@ -20,11 +20,17 @@ config RT_USING_UART1 config BSP_USING_LVGL bool "Enable LVGL for LCD" select PKG_USING_LVGL - select PKG_USING_LV_MUSIC_DEMO select BSP_DRV_CLCD select BSP_DRV_MOUSE default n +if BSP_USING_LVGL + config BSP_USING_LVGL_DEMO + bool "Enable LVGL demo" + select PKG_USING_LV_MUSIC_DEMO + default n +endif + config BSP_DRV_CLCD bool "CLCD driver" default n diff --git a/bsp/qemu-vexpress-a9/drivers/drv_mouse.c b/bsp/qemu-vexpress-a9/drivers/drv_mouse.c index 931a53085a..7db60716be 100644 --- a/bsp/qemu-vexpress-a9/drivers/drv_mouse.c +++ b/bsp/qemu-vexpress-a9/drivers/drv_mouse.c @@ -38,13 +38,14 @@ #ifdef PKG_USING_GUIENGINE #include #include +static rt_uint32_t emouse_id; #elif defined(PKG_USING_LITTLEVGL2RTT) #include #elif defined(PKG_USING_LVGL) #include -#include +extern void lv_port_indev_input(rt_int16_t x, rt_int16_t y, lv_indev_state_t state); static rt_bool_t touch_down = RT_FALSE; -#endif +#endif /* PKG_USING_GUIENGINE */ typedef rt_uint32_t virtual_addr_t; @@ -114,12 +115,6 @@ rt_inline int kmi_read(struct mouse_pl050_pdata_t * pdat, rt_uint8_t * value) return RT_FALSE; } -#ifdef PKG_USING_GUIENGINE -static rt_uint32_t emouse_id; -#endif -#ifdef PKG_USING_LVGL -extern void lv_port_indev_input(rt_int16_t x, rt_int16_t y, lv_indev_state_t state); -#endif void push_event_touch_move(int x, int y) { -- GitLab