1 /*
2  * Copyright (c) 2006-2022, RT-Thread Development Team
3  *
4  * SPDX-License-Identifier: Apache-2.0
5  *
6  * Change Logs:
7  * Date           Author        Notes
8  * 2022-01-28     Rudy Lo       The first version
9  */
10 #include <rtthread.h>
11 #include <lvgl.h>
12 #include <lv_port_indev.h>
13 #define DBG_TAG    "LVGL.demo"
14 #define DBG_LVL    DBG_INFO
15 #include <rtdbg.h>
16 
17 #ifndef LV_THREAD_STACK_SIZE
18 #define LV_THREAD_STACK_SIZE 4096
19 #endif
20 
21 #ifndef LV_THREAD_PRIO
22 #define LV_THREAD_PRIO (RT_THREAD_PRIORITY_MAX * 2 / 3)
23 #endif
24 
lvgl_thread(void * parameter)25 static void lvgl_thread(void *parameter)
26 {
27     extern void lv_demo_music(void);
28     lv_demo_music();
29 
30     /* handle the tasks of LVGL */
31     while(1)
32     {
33         lv_task_handler();
34         rt_thread_mdelay(10);
35     }
36 }
37 
lvgl_demo_init(void)38 static int lvgl_demo_init(void)
39 {
40     rt_thread_t tid;
41 
42     tid = rt_thread_create("LVGL", lvgl_thread, RT_NULL, LV_THREAD_STACK_SIZE, LV_THREAD_PRIO, 0);
43     if(tid == RT_NULL)
44     {
45         LOG_E("Fail to create 'LVGL' thread");
46     }
47     rt_thread_startup(tid);
48 
49     return 0;
50 }
51 INIT_APP_EXPORT(lvgl_demo_init);
52