Application Timer module - Ensures timer callbacks are performed in the Application task. More...
Go to the source code of this file.
Data Structures | |
struct | SAppTimer |
Macros | |
#define | MAX_NUM_APP_TIMERS 12 |
#define | MAX_NUM_PERSISTENT_APP_TIMERS 6 |
#define | APP_TIMER_RETENTION_REGISTER_RESERVED_COUNT (MAX_NUM_PERSISTENT_APP_TIMERS + 2) |
Typedefs | |
typedef struct SAppTimer | SAppTimer |
Functions | |
void | AppTimerInit (uint8_t iTaskNotificationBitNumber, void *ReceiverTask) |
void | AppTimerSetReceiverTask (void *ReceiverTask) |
bool | AppTimerRegister (SSwTimer *pTimer, bool bAutoReload, void(*pCallback)(SSwTimer *pTimer)) |
bool | AppTimerDeepSleepPersistentRegister (SSwTimer *pTimer, bool bAutoReload, void(*pCallback)(SSwTimer *pTimer)) |
ESwTimerStatus | AppTimerDeepSleepPersistentStart (SSwTimer *pTimer, uint32_t iTimeout) |
ESwTimerStatus | AppTimerDeepSleepPersistentRestart (SSwTimer *pTimer) |
ESwTimerStatus | AppTimerDeepSleepPersistentStop (SSwTimer *pTimer) |
void | AppTimerNotificationHandler (void) |
void | AppTimerDeepSleepPersistentResetStorage (void) |
void | AppTimerDeepSleepPersistentSaveAll (void) |
void | AppTimerDeepSleepPersistentLoadAll (zpal_reset_reason_t resetReason) |
uint32_t | AppTimerDeepSleepGetFirstRetentionRegister (void) |
uint32_t | AppTimerDeepSleepGetLastRetentionRegister (void) |
void | AppTimerStopAll (void) |
Application Timer module - Ensures timer callbacks are performed in the Application task.
The module wraps a SwTimerLiaison and presents it as a "singleton", easing its availability among the Application modules.
The modules basically wraps a SwTimerLiaison, owning the required objects as static data.
The iTaskNotificationBitNumber (given at AppTimerInit) bit will be set as TaskNotification to the ReceiverTask (given at AppTimerInit) when a registered timer expires. When such a notification is set, the notification bit must be cleared and AppTimerNotificationHandler called.
For detailed documentation see SwTimerLiaison.h