diff options
| author | Man, Jianting (Meco) <[email protected]> | 2022-05-10 20:41:57 -0400 |
|---|---|---|
| committer | GitHub <[email protected]> | 2022-05-11 08:41:57 +0800 |
| commit | 4e7823cb6bb7b8479ed3cb8ed81d4053f090f733 (patch) | |
| tree | 7314332089ce94dba9a3f998f7de6948715910d7 /bsp | |
| parent | 8a7b9da76d1f0ce6f39ef2899e2f335d2a0b29a3 (diff) | |
[stm32l475]优化LVGL初始化流程和结构 (#5919)
* [lvgl] 代码精炼
* delet lv_port_indev.c
* Update Kconfig
Diffstat (limited to 'bsp')
9 files changed, 31 insertions, 110 deletions
diff --git a/bsp/stm32/stm32l475-atk-pandora/applications/lvgl/demo/SConscript b/bsp/stm32/stm32l475-atk-pandora/applications/lvgl/demo/SConscript index 79d9772177..9c1b6d1ebd 100644 --- a/bsp/stm32/stm32l475-atk-pandora/applications/lvgl/demo/SConscript +++ b/bsp/stm32/stm32l475-atk-pandora/applications/lvgl/demo/SConscript @@ -12,5 +12,6 @@ for d in list: if os.path.isfile(os.path.join(path, 'SConscript')): group = group + SConscript(os.path.join(d, 'SConscript')) -group = group + DefineGroup('LVGL-port', src, depend = ['BSP_USING_LVGL'], CPPPATH = CPPPATH) +group = group + DefineGroup('LVGL-demo', src, depend = ['BSP_USING_LVGL', 'BSP_USING_LVGL_DEMO'], CPPPATH = CPPPATH) + Return('group') 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 new file mode 100644 index 0000000000..b8c5639d00 --- /dev/null +++ b/bsp/stm32/stm32l475-atk-pandora/applications/lvgl/demo/lv_demo.c @@ -0,0 +1,19 @@ +/* + * 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 + */ +#include <lvgl.h> + +extern void lv_demo_calendar(void); + +void lv_user_gui_init(void) +{ + /* display demo */ + lv_demo_calendar(); +} diff --git a/bsp/stm32/stm32l475-atk-pandora/applications/lvgl/demo/lv_demo_calendar.c b/bsp/stm32/stm32l475-atk-pandora/applications/lvgl/demo/lv_demo_calendar.c index b7c7b7771b..3c36af22f0 100644 --- a/bsp/stm32/stm32l475-atk-pandora/applications/lvgl/demo/lv_demo_calendar.c +++ b/bsp/stm32/stm32l475-atk-pandora/applications/lvgl/demo/lv_demo_calendar.c @@ -1,5 +1,4 @@ #include <lvgl.h> -#include "lv_demo_calendar.h" #include <drv_lcd.h> static void event_handler(lv_event_t * e) diff --git a/bsp/stm32/stm32l475-atk-pandora/applications/lvgl/demo/lv_demo_calendar.h b/bsp/stm32/stm32l475-atk-pandora/applications/lvgl/demo/lv_demo_calendar.h deleted file mode 100644 index b8a7772f2f..0000000000 --- a/bsp/stm32/stm32l475-atk-pandora/applications/lvgl/demo/lv_demo_calendar.h +++ /dev/null @@ -1,6 +0,0 @@ -#ifndef __LV_DEMO_CALENDAR_H__ -#define __LV_DEMO_CALENDAR_H__ - -void lv_demo_calendar(void); - -#endif diff --git a/bsp/stm32/stm32l475-atk-pandora/applications/lvgl/lv_demo.c b/bsp/stm32/stm32l475-atk-pandora/applications/lvgl/lv_demo.c deleted file mode 100644 index d4ae3cfdbd..0000000000 --- a/bsp/stm32/stm32l475-atk-pandora/applications/lvgl/lv_demo.c +++ /dev/null @@ -1,56 +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 <rtthread.h> -#include <lvgl.h> -#include <lv_port_indev.h> -#include <lv_demo_calendar.h> -#define DBG_TAG "LVGL.demo" -#define DBG_LVL DBG_INFO -#include <rtdbg.h> - -#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) -{ - /*assign buttons to coordinates*/ - const lv_point_t points_array[] = {{200,35},{0,0},{70,35},{0,0}}; - lv_indev_set_button_points(button_indev, points_array); - - /* display demo; you may replace with your LVGL application at here */ - lv_demo_calendar(); - - /* handle the tasks of LVGL */ - while(1) - { - lv_task_handler(); - rt_thread_mdelay(10); - } -} - -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, 0); - 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/stm32/stm32l475-atk-pandora/applications/lvgl/lv_port_disp.h b/bsp/stm32/stm32l475-atk-pandora/applications/lvgl/lv_port_disp.h deleted file mode 100644 index ef39eb03cd..0000000000 --- a/bsp/stm32/stm32l475-atk-pandora/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/stm32/stm32l475-atk-pandora/applications/lvgl/lv_port_indev.c b/bsp/stm32/stm32l475-atk-pandora/applications/lvgl/lv_port_indev.c index 26f509efaf..ee0d9de60c 100644 --- a/bsp/stm32/stm32l475-atk-pandora/applications/lvgl/lv_port_indev.c +++ b/bsp/stm32/stm32l475-atk-pandora/applications/lvgl/lv_port_indev.c @@ -83,6 +83,8 @@ void button_read(lv_indev_drv_t * drv, lv_indev_data_t*data) void lv_port_indev_init(void) { static lv_indev_drv_t indev_drv; + /*assign buttons to coordinates*/ + static lv_point_t points_array[] = {{200,35},{0,0},{70,35},{0,0}}; /* Initialize the on-board buttons */ rt_pin_mode(BUTTON0_PIN, PIN_MODE_INPUT); @@ -96,4 +98,6 @@ void lv_port_indev_init(void) /*Register the driver in LVGL and save the created input device object*/ button_indev = lv_indev_drv_register(&indev_drv); + + lv_indev_set_button_points(button_indev, points_array); } diff --git a/bsp/stm32/stm32l475-atk-pandora/applications/lvgl/lv_port_indev.h b/bsp/stm32/stm32l475-atk-pandora/applications/lvgl/lv_port_indev.h deleted file mode 100644 index 7599bb899d..0000000000 --- a/bsp/stm32/stm32l475-atk-pandora/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/board/Kconfig b/bsp/stm32/stm32l475-atk-pandora/board/Kconfig index 271a804219..9f48e61ac6 100644 --- a/bsp/stm32/stm32l475-atk-pandora/board/Kconfig +++ b/bsp/stm32/stm32l475-atk-pandora/board/Kconfig @@ -96,6 +96,12 @@ menu "Onboard Peripheral Drivers" select BSP_USING_SPI_LCD default n + if BSP_USING_LVGL + config BSP_USING_LVGL_DEMO + bool "Enable LVGL demo" + default n + endif + config BSP_USING_SDCARD bool "Enable SDCARD (spi1)" select BSP_USING_SPI |
