1 /**
2  * @file lv_hal_tick.h
3  * Provide access to the system tick with 1 millisecond resolution
4  */
5 
6 #ifndef LV_HAL_TICK_H
7 #define LV_HAL_TICK_H
8 
9 #ifdef __cplusplus
10 extern "C" {
11 #endif
12 
13 /*********************
14  *      INCLUDES
15  *********************/
16 #include "../lv_conf_internal.h"
17 
18 #include <stdint.h>
19 #include <stdbool.h>
20 
21 /*********************
22  *      DEFINES
23  *********************/
24 #ifndef LV_ATTRIBUTE_TICK_INC
25 #define LV_ATTRIBUTE_TICK_INC
26 #endif
27 
28 /**********************
29  *      TYPEDEFS
30  **********************/
31 
32 /**********************
33  * GLOBAL PROTOTYPES
34  **********************/
35 
36 //! @cond Doxygen_Suppress
37 
38 #if !LV_TICK_CUSTOM
39 /**
40  * You have to call this function periodically
41  * @param tick_period the call period of this function in milliseconds
42  */
43 void /* LV_ATTRIBUTE_TICK_INC */ lv_tick_inc(uint32_t tick_period);
44 #endif
45 
46 //! @endcond
47 
48 /**
49  * Get the elapsed milliseconds since start up
50  * @return the elapsed milliseconds
51  */
52 uint32_t lv_tick_get(void);
53 
54 /**
55  * Get the elapsed milliseconds since a previous time stamp
56  * @param prev_tick a previous time stamp (return value of lv_tick_get() )
57  * @return the elapsed milliseconds since 'prev_tick'
58  */
59 uint32_t lv_tick_elaps(uint32_t prev_tick);
60 
61 /**********************
62  *      MACROS
63  **********************/
64 
65 #ifdef __cplusplus
66 } /*extern "C"*/
67 #endif
68 
69 #endif /*LV_HAL_TICK_H*/
70