123456789101112131415161718192021222324252627282930 |
- /*
- * 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_ */
|