86 lines
1.9 KiB
C
86 lines
1.9 KiB
C
/**
|
|
* @file lv_tick.h
|
|
* Provide access to the system tick with 1 millisecond resolution
|
|
*/
|
|
|
|
#ifndef LV_TICK_H
|
|
#define LV_TICK_H
|
|
|
|
#ifdef __cplusplus
|
|
extern "C" {
|
|
#endif
|
|
|
|
/*********************
|
|
* INCLUDES
|
|
*********************/
|
|
#include "../lv_conf_internal.h"
|
|
|
|
#include "../misc/lv_types.h"
|
|
|
|
/*********************
|
|
* DEFINES
|
|
*********************/
|
|
#ifndef LV_ATTRIBUTE_TICK_INC
|
|
#define LV_ATTRIBUTE_TICK_INC
|
|
#endif
|
|
|
|
/**********************
|
|
* TYPEDEFS
|
|
**********************/
|
|
typedef uint32_t (*lv_tick_get_cb_t)(void);
|
|
|
|
typedef void (*lv_delay_cb_t)(uint32_t ms);
|
|
|
|
/**********************
|
|
* GLOBAL PROTOTYPES
|
|
**********************/
|
|
|
|
/**
|
|
* You have to call this function periodically
|
|
* @param tick_period the call period of this function in milliseconds
|
|
*/
|
|
LV_ATTRIBUTE_TICK_INC void lv_tick_inc(uint32_t tick_period);
|
|
|
|
/**
|
|
* Get the elapsed milliseconds since start up
|
|
* @return the elapsed milliseconds
|
|
*/
|
|
uint32_t lv_tick_get(void);
|
|
|
|
/**
|
|
* Get the elapsed milliseconds since a previous time stamp
|
|
* @param prev_tick a previous time stamp (return value of lv_tick_get() )
|
|
* @return the elapsed milliseconds since 'prev_tick'
|
|
*/
|
|
uint32_t lv_tick_elaps(uint32_t prev_tick);
|
|
|
|
/**
|
|
* Delay for the given milliseconds.
|
|
* By default it's a blocking delay, but with `lv_delay_set_cb()`
|
|
* a custom delay function can be set too
|
|
* @param ms the number of milliseconds to delay
|
|
*/
|
|
void lv_delay_ms(uint32_t ms);
|
|
|
|
/**
|
|
* Set the custom callback for 'lv_tick_get'
|
|
* @param cb call this callback on 'lv_tick_get'
|
|
*/
|
|
void lv_tick_set_cb(lv_tick_get_cb_t cb);
|
|
|
|
/**
|
|
* Set a custom callback for 'lv_delay_ms'
|
|
* @param cb call this callback in 'lv_delay_ms'
|
|
*/
|
|
void lv_delay_set_cb(lv_delay_cb_t cb);
|
|
|
|
/**********************
|
|
* MACROS
|
|
**********************/
|
|
|
|
#ifdef __cplusplus
|
|
} /*extern "C"*/
|
|
#endif
|
|
|
|
#endif /*LV_TICK_H*/
|