Trident IoT Z-Wave SDK
 
Loading...
Searching...
No Matches
AppTimer.h File Reference

Application Timer module - Ensures timer callbacks are performed in the Application task. More...

#include <stdbool.h>
#include <SwTimer.h>
#include <ZW_basis_api.h>
#include <SwTimerLiaison.h>
+ Include dependency graph for AppTimer.h:

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)
 

Detailed Description

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