31 lines
812 B
C
31 lines
812 B
C
/*
|
|
* swtimer.h
|
|
*
|
|
* Created on: Aug 4, 2017
|
|
* Author: anonymous
|
|
*/
|
|
|
|
#ifndef APP_INCLUDE_PM_SWTIMER_H_
|
|
#define APP_INCLUDE_PM_SWTIMER_H_
|
|
|
|
void swtmr_cb_register(void* timer_cb_ptr, uint8 suspend_policy);
|
|
|
|
#define SWTIMER_RESUME 0 //save remaining time
|
|
#define SWTIMER_RESTART 1 //use timer_period as remaining time
|
|
#define SWTIMER_IMMEDIATE 2 //fire timer immediately after resume
|
|
#define SWTIMER_DROP 3 //disarm timer, do not resume
|
|
|
|
#if defined(TIMER_SUSPEND_ENABLE)
|
|
#define SWTIMER_REG_CB(cb_ptr, suspend_policy) do{ \
|
|
static bool cb_ptr##_registered_flag;\
|
|
if(!cb_ptr##_registered_flag){ \
|
|
cb_ptr##_registered_flag = true; \
|
|
swtmr_cb_register(cb_ptr, suspend_policy);\
|
|
} \
|
|
}while(0);
|
|
#else
|
|
#define SWTIMER_REG_CB(...)
|
|
#endif
|
|
|
|
#endif /* APP_INCLUDE_PM_SWTIMER_H_ */
|