Trident IoT Z-Wave SDK
 
Loading...
Searching...
No Matches
AppTimer.h
Go to the documentation of this file.
1// SPDX-FileCopyrightText: Silicon Laboratories Inc. <https://www.silabs.com/>
2//
3// SPDX-License-Identifier: BSD-3-Clause
4
24#ifndef _APPTIMER_H_
25#define _APPTIMER_H_
26
27#include <stdbool.h>
28#include <SwTimer.h>
29#include <ZW_basis_api.h>
30#include <SwTimerLiaison.h>
31
42#define MAX_NUM_APP_TIMERS 12 // Max number of timers total. I.e. the sum of normal timers and persistent timers
43#define MAX_NUM_PERSISTENT_APP_TIMERS 6 // Max number of persistent timers.
44#define APP_TIMER_RETENTION_REGISTER_RESERVED_COUNT (MAX_NUM_PERSISTENT_APP_TIMERS + 2) // Number of reserved retention registers.
45
56
64void AppTimerInit(uint8_t iTaskNotificationBitNumber, void * ReceiverTask);
65
66
77void AppTimerSetReceiverTask(void * ReceiverTask);
78
79
98 SSwTimer* pTimer,
99 bool bAutoReload,
100 void(*pCallback)(SSwTimer* pTimer)
101 );
102
103
114 bool bAutoReload,
115 void (*pCallback)(SSwTimer *pTimer));
116
117
124ESwTimerStatus AppTimerDeepSleepPersistentStart(SSwTimer *pTimer, uint32_t iTimeout);
125
126
133ESwTimerStatus AppTimerDeepSleepPersistentRestart(SSwTimer *pTimer);
134
135
142ESwTimerStatus AppTimerDeepSleepPersistentStop(SSwTimer *pTimer);
143
144
153
154
159
160
169
170
181
182
189
190
203
208void AppTimerStopAll (void);
214#endif /* _APPTIMER_H_ */
void AppTimerDeepSleepPersistentLoadAll(zpal_reset_reason_t resetReason)
void AppTimerStopAll(void)
ESwTimerStatus AppTimerDeepSleepPersistentRestart(SSwTimer *pTimer)
void AppTimerNotificationHandler(void)
bool AppTimerDeepSleepPersistentRegister(SSwTimer *pTimer, bool bAutoReload, void(*pCallback)(SSwTimer *pTimer))
uint32_t AppTimerDeepSleepGetFirstRetentionRegister(void)
bool AppTimerRegister(SSwTimer *pTimer, bool bAutoReload, void(*pCallback)(SSwTimer *pTimer))
void AppTimerSetReceiverTask(void *ReceiverTask)
void AppTimerInit(uint8_t iTaskNotificationBitNumber, void *ReceiverTask)
void AppTimerDeepSleepPersistentSaveAll(void)
void AppTimerDeepSleepPersistentResetStorage(void)
uint32_t AppTimerDeepSleepGetLastRetentionRegister(void)
ESwTimerStatus AppTimerDeepSleepPersistentStart(SSwTimer *pTimer, uint32_t iTimeout)
struct SAppTimer SAppTimer
#define MAX_NUM_APP_TIMERS
Definition AppTimer.h:42
ESwTimerStatus AppTimerDeepSleepPersistentStop(SSwTimer *pTimer)
zpal_reset_reason_t
Reset reason.
Definition zpal_init.h:57
Definition AppTimer.h:50
bool DeepSleepPersistent[MAX_NUM_APP_TIMERS]
Definition AppTimer.h:53
void(* pDeepSleepCallback[MAX_NUM_APP_TIMERS])(SSwTimer *pTimer)
Definition AppTimer.h:54
SSwTimer * aTimerPointerArray[MAX_NUM_APP_TIMERS]
Definition AppTimer.h:52
SSwTimerLiaison TimerLiaison
Definition AppTimer.h:51