ZAF Interface#
Enumerations#
Used to indicate node inclusion type that related to it working over Long Range or Z-Wave mode.
Typedefs#
Functions#
Initializes the Z-Wave Application Framework.
Reset ZAF and command classes that have registered a reset function with a REGISTER_CC macro.
Returns the task handle set by ZAF_Init().
Makes the node stay awake for either 2 or 10 seconds.
Function called when the EVENT_SYSTEM_LEARNMODE_FINISHED is received.
Pass an application handle to the ZAF framework with pointers to application resources.
Pass an application power lock handle to the ZAF framework.
Set the CP context.
Get m_pAppHandles object.
Get Protocol Info object.
Get Notifying queue object.
Get Notifying queue object used for ZW Command Queue.
Get Network Statistics object.
Get m_PowerLock object.
Returns the granted security keys.
Get Command Publisher handle Any other module can request the address of the CP context to use the API.
Check if device is FLiRS based on device option mask.
Returns the current inclusion state of the node.
Returns the current ID of the node.
Returns the current home ID.
Returns the current Suc node ID.
Returns the current inclusion mode of the node, which indicates whether the node is acting as a Z-Wave or Z-Wave LR node.
Checks if region is supported by Z-Wave stack.
Check if eRegion is a Long Range region.
Registers a wake up function to keep the node awake.
Returns the wake up callback.
Enumeration Documentation#
EInclusionMode_t#
EInclusionMode_t
Used to indicate node inclusion type that related to it working over Long Range or Z-Wave mode.
This information will be used to distinguish between these two mode in order to indicate the needed operations when they differ between Z-Wave and Long Range.
Enumerator | |
---|---|
EINCLUSIONMODE_NOT_SET | |
EINCLUSIONMODE_ZWAVE_CLS | !< Does not indicate inclusion state, but that it is undefined! |
EINCLUSIONMODE_ZWAVE_LR | !< This node was included as a Z-Wave Classic device. |
Function Documentation#
ZAF_Init#
void ZAF_Init (TaskHandle_t AppTaskHandle, SApplicationHandles * pAppHandles)
Initializes the Z-Wave Application Framework.
Type | Direction | Argument Name | Description |
---|---|---|---|
TaskHandle_t | N/A | AppTaskHandle | Task handle |
SApplicationHandles * | N/A | pAppHandles | pointer to Application Handle in application |
This function must be invoked by end devices and portable controllers, but not Serial API.
It initializes the following stuff:
Application timer
Board
Application file system
Power lock for FLiRS
True Status
Command Publisher
All command classes that have registered an init function.
Generates the three lists of command classes used for Node Information Frame, etc.
ZAF_Reset#
void ZAF_Reset (void )
Reset ZAF and command classes that have registered a reset function with a REGISTER_CC macro.
Type | Direction | Argument Name | Description |
---|---|---|---|
void | N/A |
ZAF_getAppTaskHandle#
TaskHandle_t ZAF_getAppTaskHandle (void )
Returns the task handle set by ZAF_Init().
Type | Direction | Argument Name | Description |
---|---|---|---|
void | N/A |
Returns
Task handle.
zaf_stay_awake#
void zaf_stay_awake (void )
Makes the node stay awake for either 2 or 10 seconds.
Type | Direction | Argument Name | Description |
---|---|---|---|
void | N/A |
For an LS (listening sleeping) node, the node will stay awake for 2 seconds. If the node supports CC Wake Up, it will stay awake for 10 seconds, if CC Wake Up is active.
For RS (reporting sleeping), the node will stay awake for 10 seconds, if CC Wake Up is active.
zaf_learn_mode_finished#
void zaf_learn_mode_finished (void )
Function called when the EVENT_SYSTEM_LEARNMODE_FINISHED is received.
Type | Direction | Argument Name | Description |
---|---|---|---|
void | N/A |
This function is weakly defined and can be overwritten by one command class. Applications should not overwrite this function instead they should handle the event. CC WakeUp overwrites it.
ZAF_setAppHandle#
void ZAF_setAppHandle (SApplicationHandles * pAppHandle)
Pass an application handle to the ZAF framework with pointers to application resources.
Type | Direction | Argument Name | Description |
---|---|---|---|
SApplicationHandles * | N/A | pAppHandle | pointer to Application Handle in application |
Can be later used by CC-s.
ZAF_setPowerLock#
void ZAF_setPowerLock (zpal_pm_handle_t powerLock)
Pass an application power lock handle to the ZAF framework.
Type | Direction | Argument Name | Description |
---|---|---|---|
zpal_pm_handle_t | N/A | powerLock | pointer to power lock object in application |
Can be later used by CC-s. Used for Power management in case of wake up of FLiRS nodes.
ZAF_SetCPHandle#
void ZAF_SetCPHandle (CP_Handle_t handle)
Set the CP context.
Type | Direction | Argument Name | Description |
---|---|---|---|
CP_Handle_t | N/A | handle | to set |
The application should use this an initialization, so the ZAF_Common interface can redistribute the pContext address subsequently
ZAF_getAppHandle#
SApplicationHandles * ZAF_getAppHandle (void )
Get m_pAppHandles object.
Type | Direction | Argument Name | Description |
---|---|---|---|
void | N/A |
Returns
m_pAppHandles
ZAF_getProtocolInfo#
const SProtocolInfo * ZAF_getProtocolInfo (void )
Get Protocol Info object.
Type | Direction | Argument Name | Description |
---|---|---|---|
void | N/A |
Returns
pProtocolInfo member of m_pAppHandles
ZAF_getZwTxQueue#
SQueueNotifying * ZAF_getZwTxQueue (void )
Get Notifying queue object.
Type | Direction | Argument Name | Description |
---|---|---|---|
void | N/A |
It is stored in m_pAppHandles Returns
pZwTxQueue member of m_pAppHandles
ZAF_getZwCommandQueue#
SQueueNotifying * ZAF_getZwCommandQueue (void )
Get Notifying queue object used for ZW Command Queue.
Type | Direction | Argument Name | Description |
---|---|---|---|
void | N/A |
Returns
pZwCommandQueue member of m_pAppHandles
ZAF_getNetworkStatistics#
const zpal_radio_network_stats_t * ZAF_getNetworkStatistics (void )
Get Network Statistics object.
Type | Direction | Argument Name | Description |
---|---|---|---|
void | N/A |
Returns
pNetworkStatistics member of m_pAppHandles
ZAF_getPowerLock#
zpal_pm_handle_t ZAF_getPowerLock (void )
Get m_PowerLock object.
Type | Direction | Argument Name | Description |
---|---|---|---|
void | N/A |
Returns
m_PowerLock
ZAF_GetSecurityKeys#
uint8_t ZAF_GetSecurityKeys (void )
Returns the granted security keys.
Type | Direction | Argument Name | Description |
---|---|---|---|
void | N/A |
Refer to ZW_security_api.h for the security key masks. Returns
8 bit mask where a set bit indicates that a security key is granted.
ZAF_getCPHandle#
CP_Handle_t ZAF_getCPHandle (void )
Get Command Publisher handle Any other module can request the address of the CP context to use the API.
Type | Direction | Argument Name | Description |
---|---|---|---|
void | N/A |
Returns
Pointer to Command Publisher context
isFLiRS#
bool isFLiRS (const SAppNodeInfo_t * pAppNodeInfo)
Check if device is FLiRS based on device option mask.
Type | Direction | Argument Name | Description |
---|---|---|---|
const SAppNodeInfo_t * | N/A | pAppNodeInfo |
Returns
True or false, based on pAppNodeInfo
ZAF_GetInclusionState#
EInclusionState_t ZAF_GetInclusionState (void )
Returns the current inclusion state of the node.
Type | Direction | Argument Name | Description |
---|---|---|---|
void | N/A |
Returns
EInclusionState_t
ZAF_GetNodeID#
node_id_t ZAF_GetNodeID (void )
Returns the current ID of the node.
Type | Direction | Argument Name | Description |
---|---|---|---|
void | N/A |
If the node is not added to a network, the node ID is zero. Returns
Node ID
ZAF_GetHomeID#
uint32_t ZAF_GetHomeID (void )
Returns the current home ID.
Type | Direction | Argument Name | Description |
---|---|---|---|
void | N/A |
Returns
Home ID
ZAF_GetSucNodeId#
node_id_t ZAF_GetSucNodeId (void )
Returns the current Suc node ID.
Type | Direction | Argument Name | Description |
---|---|---|---|
void | N/A |
Returns
Suc Node ID
ZAF_GetInclusionMode#
EInclusionMode_t ZAF_GetInclusionMode (void )
Returns the current inclusion mode of the node, which indicates whether the node is acting as a Z-Wave or Z-Wave LR node.
Type | Direction | Argument Name | Description |
---|---|---|---|
void | N/A |
Returns
EInclusionMode_t
isRfRegionValid#
bool isRfRegionValid (zpal_radio_region_t region)
Checks if region is supported by Z-Wave stack.
Type | Direction | Argument Name | Description |
---|---|---|---|
zpal_radio_region_t | N/A | region | Region to check |
Returns
True if region is valid, false if it isn't.
ZAF_isLongRangeRegion#
bool ZAF_isLongRangeRegion (zpal_radio_region_t eRegion)
Check if eRegion is a Long Range region.
Type | Direction | Argument Name | Description |
---|---|---|---|
zpal_radio_region_t | N/A | eRegion | Region to check |
Warning: the function does not check that the region is supported by the zpal. Returns
True if the region support Long Range, False otherwise.
zaf_set_stay_awake_callback#
void zaf_set_stay_awake_callback (zaf_wake_up_callback_t callback)
Registers a wake up function to keep the node awake.
Type | Direction | Argument Name | Description |
---|---|---|---|
zaf_wake_up_callback_t | N/A | callback | Function to invoke to keep the node awake. |
The function will be invoked on every reception of a frame to keep the node awake.
zaf_get_stay_awake_callback#
zaf_wake_up_callback_t zaf_get_stay_awake_callback (void )
Returns the wake up callback.
Type | Direction | Argument Name | Description |
---|---|---|---|
void | N/A |
Returns
Wake up callback