Application Timer#
Modules#
Functions#
Initialize AppTimer.
Configures the Receiver task of callbacks.
Register a SwTimer to a TimerLiaison.
Wrapper for AppTimerRegister to register timers that should be re-loaded after deep sleep hibernate.
Wrapper for TimerStart() that ensures the timer value is saved so it can be re-loaded after deep sleep hibernate.
Wrapper for TimerRestart() that ensures the timer status is saved so it can be re-loaded after deep sleep hibernate.
Wrapper for TimerStop() that ensures the timer status is saved so it does not get re-started after deep sleep hibernate.
Must be called from application task when the task notification bit assigned to AppTimer is set.
Clear storage used for persisting application timers during deep sleep hibernate.
Save SSwTimers that should survive deep sleep Hibernate.
Load SSwTimers after deep sleep hibernate wakeup.
Get index of first retention register used for saving Deep Sleep persistent app timers.
Get index of last retention register used for saving Deep Sleep persistent app timers.
Stops all the running applications timers.
Macros#
Max number of application timers.
Typedef Documentation#
SAppTimer#
typedef struct SAppTimer SAppTimer
AppTimer object.
51
of file /mnt/raid/workspaces/ws.WDdsgIAV6/overlay/gsdk/protocol/z-wave/ZAF/ApplicationUtilities/AppTimer.h
Function Documentation#
AppTimerInit#
void AppTimerInit (uint8_t iTaskNotificationBitNumber, void * ReceiverTask)
Initialize AppTimer.
[in] | iTaskNotificationBitNumber | Number defines which bit to use when notifying receiver task of pending timer event (range 0 - 31) |
[in] | ReceiverTask | Handle to the Application task |
60
of file /mnt/raid/workspaces/ws.WDdsgIAV6/overlay/gsdk/protocol/z-wave/ZAF/ApplicationUtilities/AppTimer.h
AppTimerSetReceiverTask#
void AppTimerSetReceiverTask (void * ReceiverTask)
Configures the Receiver task of callbacks.
[in] | ReceiverTask | Handle to the Application task |
Provided as the AppTimer may be needed for registering SwTimers before the receiver task is created, meaning AppTimerInit is called prior to the Receiver task handle being available. Though not the intention, the receiver task can be changed at run time.
73
of file /mnt/raid/workspaces/ws.WDdsgIAV6/overlay/gsdk/protocol/z-wave/ZAF/ApplicationUtilities/AppTimer.h
AppTimerRegister#
bool AppTimerRegister (SSwTimer * pTimer, bool bAutoReload, void(*)(SSwTimer *pTimer) pCallback)
Register a SwTimer to a TimerLiaison.
[in] | pTimer | Pointer to the SwTimer object to register |
[in] | bAutoReload | Enable timer auto reload on timeout. Configuration of AutoReload cannot be changed after registration. |
[in] | pCallback | Callback method of type void Callback(SSwTimer* pTimer). Argument may be NULL, in which case no callback is performed. |
Initial SwTimer configuration is also performed.
Method creates a static FreeRTOS timer from the SwTimer object passed as argument, and registers it as requiring callbacks in the Receiver task. If calling method AppTimerRegister on the same SwTimer object multiple times, all but the first call will be ignored.
93
of file /mnt/raid/workspaces/ws.WDdsgIAV6/overlay/gsdk/protocol/z-wave/ZAF/ApplicationUtilities/AppTimer.h
AppTimerDeepSleepPersistentRegister#
bool AppTimerDeepSleepPersistentRegister (SSwTimer * pTimer, bool bAutoReload, void(*)(SSwTimer *pTimer) pCallback)
Wrapper for AppTimerRegister to register timers that should be re-loaded after deep sleep hibernate.
N/A | pTimer | |
N/A | bAutoReload | |
N/A | pCallback |
In addition to having AppTimerRegister() register the timer with a TimerLiaison this function also marks the timer to survive deep sleep hibernate.
For parameter descriptions See Also
109
of file /mnt/raid/workspaces/ws.WDdsgIAV6/overlay/gsdk/protocol/z-wave/ZAF/ApplicationUtilities/AppTimer.h
AppTimerDeepSleepPersistentStart#
ESwTimerStatus AppTimerDeepSleepPersistentStart (SSwTimer * pTimer, uint32_t iTimeout)
Wrapper for TimerStart() that ensures the timer value is saved so it can be re-loaded after deep sleep hibernate.
N/A | pTimer | |
N/A | iTimeout |
For parameter descriptions See Also
120
of file /mnt/raid/workspaces/ws.WDdsgIAV6/overlay/gsdk/protocol/z-wave/ZAF/ApplicationUtilities/AppTimer.h
AppTimerDeepSleepPersistentRestart#
ESwTimerStatus AppTimerDeepSleepPersistentRestart (SSwTimer * pTimer)
Wrapper for TimerRestart() that ensures the timer status is saved so it can be re-loaded after deep sleep hibernate.
N/A | pTimer |
For parameter descriptions See Also
129
of file /mnt/raid/workspaces/ws.WDdsgIAV6/overlay/gsdk/protocol/z-wave/ZAF/ApplicationUtilities/AppTimer.h
AppTimerDeepSleepPersistentStop#
ESwTimerStatus AppTimerDeepSleepPersistentStop (SSwTimer * pTimer)
Wrapper for TimerStop() that ensures the timer status is saved so it does not get re-started after deep sleep hibernate.
N/A | pTimer |
For parameter descriptions See Also
138
of file /mnt/raid/workspaces/ws.WDdsgIAV6/overlay/gsdk/protocol/z-wave/ZAF/ApplicationUtilities/AppTimer.h
AppTimerNotificationHandler#
void AppTimerNotificationHandler (void )
Must be called from application task when the task notification bit assigned to AppTimer is set.
N/A |
Method will perform pending callbacks. There is no side effects fro