Trident IoT Z-Wave SDK
 
Loading...
Searching...
No Matches
ZAF Interface
+ Collaboration diagram for ZAF Interface:

Typedefs

typedef void(* zaf_wake_up_callback_t) (void)
 

Enumerations

enum  EInclusionMode_t {
  EINCLUSIONMODE_NOT_SET = 0 ,
  EINCLUSIONMODE_ZWAVE_CLS ,
  EINCLUSIONMODE_ZWAVE_LR
}
 

Functions

void ZAF_Init (TaskHandle_t AppTaskHandle, SApplicationHandles *pAppHandles)
 
void ZAF_Reset (void)
 
TaskHandle_t ZAF_getAppTaskHandle (void)
 
void zaf_stay_awake (void)
 
void zaf_learn_mode_finished (void)
 
void ZAF_setAppHandle (SApplicationHandles *pAppHandle)
 
void ZAF_setPowerLock (zpal_pm_handle_t powerLock)
 
void ZAF_SetCPHandle (CP_Handle_t handle)
 
SApplicationHandlesZAF_getAppHandle (void)
 
const SProtocolInfoZAF_getProtocolInfo (void)
 
SQueueNotifying * ZAF_getZwTxQueue (void)
 
SQueueNotifying * ZAF_getZwCommandQueue (void)
 
const zpal_radio_network_stats_tZAF_getNetworkStatistics (void)
 
zpal_pm_handle_t ZAF_getPowerLock (void)
 
uint8_t ZAF_GetSecurityKeys (void)
 
CP_Handle_t ZAF_getCPHandle (void)
 
bool isFLiRS (const SAppNodeInfo_t *pAppNodeInfo)
 
EInclusionState_t ZAF_GetInclusionState (void)
 
node_id_t ZAF_GetNodeID (void)
 
uint32_t ZAF_GetHomeID (void)
 
node_id_t ZAF_GetSucNodeId (void)
 
EInclusionMode_t ZAF_GetInclusionMode (void)
 
bool isRfRegionValid (zpal_radio_region_t region)
 
bool ZAF_isLongRangeRegion (zpal_radio_region_t const eRegion)
 
void zaf_set_stay_awake_callback (zaf_wake_up_callback_t callback)
 
zaf_wake_up_callback_t zaf_get_stay_awake_callback (void)
 

Detailed Description

Typedef Documentation

◆ zaf_wake_up_callback_t

typedef void(* zaf_wake_up_callback_t) (void)

Enumeration Type Documentation

◆ 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.

!< This node was included as a Z-Wave Long Range device.

Function Documentation

◆ isFLiRS()

bool isFLiRS ( const SAppNodeInfo_t * pAppNodeInfo)

Check if device is FLiRS based on device option mask

Parameters
pAppNodeInfo
Returns
True or false, based on pAppNodeInfo

◆ isRfRegionValid()

bool isRfRegionValid ( zpal_radio_region_t region)

Checks if region is supported by Z-Wave stack

Parameters
regionRegion to check
Returns
True if region is valid, false if it isn't.

◆ zaf_get_stay_awake_callback()

zaf_wake_up_callback_t zaf_get_stay_awake_callback ( void )

Returns the wake up callback.

Returns
Wake up callback

◆ ZAF_getAppHandle()

SApplicationHandles * ZAF_getAppHandle ( void )

Get m_pAppHandles object

Returns
m_pAppHandles

◆ ZAF_getAppTaskHandle()

TaskHandle_t ZAF_getAppTaskHandle ( void )

Returns the task handle set by ZAF_Init().

Returns
Task handle.

◆ 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

Returns
Pointer to Command Publisher context

◆ ZAF_GetHomeID()

uint32_t ZAF_GetHomeID ( void )

Returns the current home ID

Returns
Home 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.

Returns
EInclusionMode_t

◆ ZAF_GetInclusionState()

EInclusionState_t ZAF_GetInclusionState ( void )

Returns the current inclusion state of the node.

Returns
EInclusionState_t

◆ ZAF_getNetworkStatistics()

const zpal_radio_network_stats_t * ZAF_getNetworkStatistics ( void )

Get Network Statistics object.

Returns
pNetworkStatistics member of m_pAppHandles

◆ ZAF_GetNodeID()

node_id_t ZAF_GetNodeID ( void )

Returns the current ID of the node.

If the node is not added to a network, the node ID is zero.

Returns
Node ID

◆ ZAF_getPowerLock()

zpal_pm_handle_t ZAF_getPowerLock ( void )

Get m_PowerLock object

Returns
m_PowerLock

◆ ZAF_getProtocolInfo()

const SProtocolInfo * ZAF_getProtocolInfo ( void )

Get Protocol Info object

Returns
pProtocolInfo member of m_pAppHandles

◆ ZAF_GetSecurityKeys()

uint8_t ZAF_GetSecurityKeys ( void )

Returns the granted security keys.

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_GetSucNodeId()

node_id_t ZAF_GetSucNodeId ( void )

Returns the current Suc node ID

Returns
Suc Node ID

◆ ZAF_getZwCommandQueue()

SQueueNotifying * ZAF_getZwCommandQueue ( void )

Get Notifying queue object used for ZW Command Queue.

Returns
pZwCommandQueue member of m_pAppHandles

◆ ZAF_getZwTxQueue()

SQueueNotifying * ZAF_getZwTxQueue ( void )

Get Notifying queue object. It is stored in m_pAppHandles

Returns
pZwTxQueue member of m_pAppHandles

◆ ZAF_Init()

void ZAF_Init ( TaskHandle_t AppTaskHandle,
SApplicationHandles * pAppHandles )

Initializes the Z-Wave Application Framework

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.
Parameters
AppTaskHandleTask handle
pAppHandlespointer to Application Handle in application

◆ ZAF_isLongRangeRegion()

bool ZAF_isLongRangeRegion ( zpal_radio_region_t const eRegion)

Check if eRegion is a Long Range region. Warning: the function does not check that the region is supported by the zpal.

Parameters
eRegionRegion to check
Returns
True if the region support Long Range, False otherwise.

◆ zaf_learn_mode_finished()

void zaf_learn_mode_finished ( void )

Function called when the EVENT_SYSTEM_LEARNMODE_FINISHED event is received.

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_Reset()

void ZAF_Reset ( void )

Reset ZAF and command classes that have registered a reset function with a REGISTER_CC macro.

◆ 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.

The function will be invoked on every reception of a frame to keep the node awake.

Parameters
callbackFunction to invoke to keep the node awake.

◆ ZAF_setAppHandle()

void ZAF_setAppHandle ( SApplicationHandles * pAppHandle)

Pass an application handle to the ZAF framework with pointers to application resources. Can be later used by CC-s.

Parameters
pAppHandlepointer to Application Handle in application

◆ ZAF_SetCPHandle()

void ZAF_SetCPHandle ( CP_Handle_t handle)

Set the CP context. The application should use this an initialization, so the ZAF_Common interface can redistribute the pContext address subsequently

Parameters
handleto set

◆ ZAF_setPowerLock()

void ZAF_setPowerLock ( zpal_pm_handle_t powerLock)

Pass an application power lock handle to the ZAF framework. Can be later used by CC-s. Used for Power management in case of wake up of FLiRS nodes.

Parameters
powerLockpointer to power lock object in application

◆ zaf_stay_awake()

void zaf_stay_awake ( void )

Makes the node stay awake for either 2 or 10 seconds.

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.