LittlevGL  3.20.00.19
lv_task.h
Go to the documentation of this file.
1 
7 #ifndef LV_TASK_H
8 #define LV_TASK_H
9 
10 #ifdef __cplusplus
11 extern "C" {
12 #endif
13 
14 /*********************
15  * INCLUDES
16  *********************/
17 #ifdef LV_CONF_INCLUDE_SIMPLE
18 #include "lv_conf.h"
19 #else
20 #include "../../../lv_conf.h"
21 #endif
22 
23 #include <stdint.h>
24 #include <stdbool.h>
25 #include "lv_mem.h"
26 #include "lv_ll.h"
27 
28 /*********************
29  * DEFINES
30  *********************/
31 #ifndef LV_ATTRIBUTE_TASK_HANDLER
32 #define LV_ATTRIBUTE_TASK_HANDLER
33 #endif
34 /**********************
35  * TYPEDEFS
36  **********************/
37 
38 struct _lv_task_t;
39 
43 typedef void (*lv_task_cb_t)(struct _lv_task_t *);
44 
48 enum {
56 };
57 typedef uint8_t lv_task_prio_t;
58 
62 typedef struct _lv_task_t
63 {
64  uint32_t period;
65  uint32_t last_run;
68  void * user_data;
70  uint8_t prio : 3;
71  uint8_t once : 1;
72 } lv_task_t;
73 
74 /**********************
75  * GLOBAL PROTOTYPES
76  **********************/
77 
81 void lv_task_core_init(void);
82 
84 
88 LV_ATTRIBUTE_TASK_HANDLER void lv_task_handler(void);
89 
91 
98 
109 lv_task_t * lv_task_create(lv_task_cb_t task_xcb, uint32_t period, lv_task_prio_t prio, void * user_data);
110 
115 void lv_task_del(lv_task_t * task);
116 
123 
129 void lv_task_set_prio(lv_task_t * task, lv_task_prio_t prio);
130 
136 void lv_task_set_period(lv_task_t * task, uint32_t period);
137 
142 void lv_task_ready(lv_task_t * task);
143 
148 void lv_task_once(lv_task_t * task);
149 
155 void lv_task_reset(lv_task_t * task);
156 
161 void lv_task_enable(bool en);
162 
167 uint8_t lv_task_get_idle(void);
168 
169 /**********************
170  * MACROS
171  **********************/
172 
173 #ifdef __cplusplus
174 } /* extern "C" */
175 #endif
176 
177 #endif
uint8_t once
Definition: lv_task.h:71
void(* lv_task_cb_t)(struct _lv_task_t *)
Definition: lv_task.h:43
uint8_t lv_task_get_idle(void)
Definition: lv_task.h:53
Definition: lv_task.h:54
uint8_t prio
Definition: lv_task.h:70
Definition: lv_task.h:52
#define LV_ATTRIBUTE_TASK_HANDLER
Definition: lv_task.h:32
Definition: lv_task.h:62
Definition: lv_task.h:55
void * user_data
Definition: lv_task.h:68
void lv_task_set_period(lv_task_t *task, uint32_t period)
lv_task_t * lv_task_create_basic(void)
void lv_task_del(lv_task_t *task)
void lv_task_enable(bool en)
void lv_task_core_init(void)
void lv_task_ready(lv_task_t *task)
void lv_task_reset(lv_task_t *task)
void lv_task_set_prio(lv_task_t *task, lv_task_prio_t prio)
Definition: lv_task.h:51
uint8_t lv_task_prio_t
Definition: lv_task.h:57
void lv_task_once(lv_task_t *task)
Definition: lv_task.h:50
struct _lv_task_t lv_task_t
lv_task_cb_t task_cb
Definition: lv_task.h:66
uint32_t period
Definition: lv_task.h:64
uint32_t last_run
Definition: lv_task.h:65
void lv_task_set_cb(lv_task_t *task, lv_task_cb_t task_cb)
Definition: lv_task.h:49
lv_task_t * lv_task_create(lv_task_cb_t task_xcb, uint32_t period, lv_task_prio_t prio, void *user_data)
© Copyright 1995-2019, Texas Instruments Incorporated. All rights reserved.
Trademarks | Privacy policy | Terms of use | Terms of sale