1 /*
2  * Copyright (c) 2006-2021, RT-Thread Development Team
3  *
4  * SPDX-License-Identifier: MIT
5  *
6  * Change Logs:
7  * Date           Author       Notes
8  * 2021-10-15     Meco Man     The first version
9  */
10 
11 #ifndef LV_RT_THREAD_CONF_H
12 #define LV_RT_THREAD_CONF_H
13 
14 #ifdef __RTTHREAD__
15 
16 #define LV_RTTHREAD_INCLUDE <rtthread.h>
17 #include LV_RTTHREAD_INCLUDE
18 
19 /*=========================
20    STDLIB WRAPPER SETTINGS
21  *=========================*/
22 
23 #ifdef RT_USING_HEAP
24     #define LV_USE_STDLIB_MALLOC    LV_STDLIB_RTTHREAD
25 #endif
26 
27 #define LV_USE_STDLIB_STRING    LV_STDLIB_RTTHREAD
28 
29 #if LV_USE_FLOAT == 0
30     #define LV_USE_STDLIB_SPRINTF   LV_STDLIB_RTTHREAD
31 #endif
32 
33 /*=========================
34    CPU usage
35  *=========================*/
36 
37 #ifdef PKG_USING_CPU_USAGE
38     #define LV_SYSMON_GET_IDLE   lv_timer_os_get_idle
39 #endif /* PKG_USING_CPU_USAGE */
40 
41 /*=================
42  * OPERATING SYSTEM
43  *=================*/
44 
45 #define LV_USE_OS   LV_OS_RTTHREAD
46 
47 /*-------------
48  * Asserts
49  *-----------*/
50 
51 #define LV_ASSERT_HANDLER_INCLUDE LV_RTTHREAD_INCLUDE
52 #define LV_ASSERT_HANDLER RT_ASSERT(0);
53 
54 /*=====================
55  *  COMPILER SETTINGS
56  *====================*/
57 
58 #ifdef ARCH_CPU_BIG_ENDIAN
59     #define LV_BIG_ENDIAN_SYSTEM 1
60 #else
61     #define LV_BIG_ENDIAN_SYSTEM 0
62 #endif
63 
64 #ifdef rt_align /* >= RT-Thread v5.0.0 */
65     #define LV_ATTRIBUTE_MEM_ALIGN rt_align(RT_ALIGN_SIZE)
66 #else
67     #define LV_ATTRIBUTE_MEM_ALIGN ALIGN(RT_ALIGN_SIZE)
68 #endif
69 
70 /*==================
71 * EXAMPLES
72 *==================*/
73 
74 #ifdef PKG_LVGL_USING_EXAMPLES
75     #define LV_BUILD_EXAMPLES 1
76 #endif
77 
78 /*--END OF LV_RT_THREAD_CONF_H--*/
79 
80 #endif /*__RTTHREAD__*/
81 
82 #endif /*LV_CONF_H*/
83