Association Data Store#

Modules#

s_ZAF_ADS_SecurityHighestClass_t

Enumerations#

enum
SECURITY_HIGHEST_CLASS_NOT_DISCOVERED
SECURITY_HIGHEST_CLASS_DISCOVERED_NOT_GRANTED_TO_ME
SECURITY_HIGHEST_CLASS_DISCOVERED
}

Defines the states of a highest security class discovery.

enum
CC_CAPABILITY_NOT_DISCOVERED
CC_CAPABILITY_SUPPORTED
CC_CAPABILITY_NOT_SUPPORTED
}

Defines the states of a command class discovery.

enum
ZAF_ADS_CC_SUPERVISION
ZAF_ADS_CC_MULTI_COMMAND
ZAF_ADS_MAX_CC
}

Defines the list of command classes for which the support can be stored.

Typedefs#

typedef void *

Type to use when defining a handle for the ADS functions.

Functions#

ZAF_ADS_Init(void *pStorage, uint8_t MaxNodeCount)

Initializes the Association Data Store.

bool
ZAF_ADS_Delete(ZAF_ADS_Handle_t handle, uint8_t NodeID)

Removes all information related to a NodeID in the data store.

ZAF_ADS_GetNodeHighestSecurityClass(ZAF_ADS_Handle_t handle, uint8_t NodeID, security_key_t *pHighestClass)

Returns the highest security class for a given NodeID.

bool
ZAF_ADS_SetNodeHighestSecurityClass(ZAF_ADS_Handle_t handle, uint8_t NodeID, security_key_t HighestClass)

Sets the highest security class of a node.

ZAF_ADS_IsNodeSupportingCC(ZAF_ADS_Handle_t handle, uint8_t NodeID, e_ZAF_ADS_CommandClass_t commandClass)

Returns whether a node supports a given CC or not.

bool
ZAF_ADS_SetNodeIsSupportingCC(ZAF_ADS_Handle_t handle, uint8_t NodeID, e_ZAF_ADS_CommandClass_t commandClass, e_ZAF_ADS_CC_Capability_t CC_Capability)

Sets whether a given node supports a given CC.

Macros#

#define
ZAF_ADS_STORAGE_SIZE (num_elements)
#define
ZAF_ADS_STORAGE (name, num_elements)

Allocates storage at a word boundary (or any other boundary if needed)

Enumeration Documentation#

e_ZAF_ADS_SecurityHighestClassState_t#

e_ZAF_ADS_SecurityHighestClassState_t

Defines the states of a highest security class discovery.

Enumerator
SECURITY_HIGHEST_CLASS_NOT_DISCOVERED

Not discovered yet.

SECURITY_HIGHEST_CLASS_DISCOVERED_NOT_GRANTED_TO_ME

The security class has been discovered but was not granted to me.

SECURITY_HIGHEST_CLASS_DISCOVERED

The Security class has been discovered and is granted to me.


Definition at line 51 of file /mnt/raid/workspaces/ws.WDdsgIAV6/overlay/gsdk/protocol/z-wave/ZAF/ApplicationUtilities/ZAF_AssociationDataStore.h

e_ZAF_ADS_CC_Capability_t#

e_ZAF_ADS_CC_Capability_t

Defines the states of a command class discovery.

Enumerator
CC_CAPABILITY_NOT_DISCOVERED

Support of the CC has not yet been discovered.

CC_CAPABILITY_SUPPORTED

The CC is supported.

CC_CAPABILITY_NOT_SUPPORTED

The CC is NOT supported.


Definition at line 70 of file /mnt/raid/workspaces/ws.WDdsgIAV6/overlay/gsdk/protocol/z-wave/ZAF/ApplicationUtilities/ZAF_AssociationDataStore.h

e_ZAF_ADS_CommandClass_t#

e_ZAF_ADS_CommandClass_t

Defines the list of command classes for which the support can be stored.

Enumerator
ZAF_ADS_CC_SUPERVISION

Command Class Supervision.

ZAF_ADS_CC_MULTI_COMMAND

Command Class Multi Command.

ZAF_ADS_MAX_CC

Must be the last element in this enum.


Definition at line 80 of file /mnt/raid/workspaces/ws.WDdsgIAV6/overlay/gsdk/protocol/z-wave/ZAF/ApplicationUtilities/ZAF_AssociationDataStore.h

Typedef Documentation#

ZAF_ADS_Handle_t#

typedef void* ZAF_ADS_Handle_t

Type to use when defining a handle for the ADS functions.

The handle is assigned by calling ZAF_ADS_Init.


Definition at line 32 of file /mnt/raid/workspaces/ws.WDdsgIAV6/overlay/gsdk/protocol/z-wave/ZAF/ApplicationUtilities/ZAF_AssociationDataStore.h

Function Documentation#

ZAF_ADS_Init#

ZAF_ADS_Handle_t ZAF_ADS_Init (void *pStorage, uint8_t MaxNodeCount)

Initializes the Association Data Store.

Parameters
N/ApStorage

Pointer to allocated storage by ZAF_ADS_STORAGE. The name given in ZAF_ADS_STORAGE is what must be supplied as this argument.

N/AMaxNodeCount

MaxNodeCount should be set to the max number of nodes that can be associated in controlling association groups. A controlling group is one that can transmit set or get commands. If an application has one controlling group that sends Basic Set, and the group can contain 5 associations, the MaxNodeCount should be set to 5.

This function must be invoked before all the other ADS functions.

This value must match the number of elements given in ZAF_ADS_STORAGE. Returns

  • Returns a handle to the allocated Association Data Store.


Definition at line 103 of file /mnt/raid/workspaces/ws.WDdsgIAV6/overlay/gsdk/protocol/z-wave/ZAF/ApplicationUtilities/ZAF_AssociationDataStore.h

ZAF_ADS_Delete#

bool ZAF_ADS_Delete (ZAF_ADS_Handle_t handle, uint8_t NodeID)

Removes all information related to a NodeID in the data store.

Parameters
N/Ahandle

ADS handle returned from ZAF_ADS_Init.

N/ANodeID

Node ID to remove.

Returns

  • Returns true if the node was removed, and false otherwise.


Definition at line 111 of file /mnt/raid/workspaces/ws.WDdsgIAV6/overlay/gsdk/protocol/z-wave/ZAF/ApplicationUtilities/ZAF_AssociationDataStore.h

ZAF_ADS_GetNodeHighestSecurityClass#

e_ZAF_ADS_SecurityHighestClassState_t ZAF_ADS_GetNodeHighestSecurityClass (ZAF_ADS_Handle_t handle, uint8_t NodeID, security_key_t *pHighestClass)

Returns the highest security class for a given NodeID.

Parameters
N/Ahandle

ADS handle returned from ZAF_ADS_Init.

N/ANodeID

Node ID of which the highest security class must be read.

N/ApHighestClass

Pointer to variable where the highest security class must be written.

Returns

  • Returns the state of the discovery for the given node ID.


Definition at line 120 of file /mnt/raid/workspaces/ws.WDdsgIAV6/overlay/gsdk/protocol/z-wave/ZAF/ApplicationUtilities/ZAF_AssociationDataStore.h

ZAF_ADS_SetNodeHighestSecurityClass#

bool ZAF_ADS_SetNodeHighestSecurityClass (ZAF_ADS_Handle_t handle, uint8_t NodeID, security_key_t HighestClass)

Sets the highest security class of a node.

Parameters
N/Ahandle

ADS handle returned from ZAF_ADS_Init.

N/ANodeID

Node ID of which the highest security class must be set.

N/AHighestClass

Security class to be set as the highest.

Returns

  • Returns true if the class was set and false if there were no free slots in the ADS (increase the MaxNodeCount for the storage space used with ZAF_ADS_Init)


Definition at line 134 of file /mnt/raid/workspaces/ws.WDdsgIAV6/overlay/gsdk/protocol/z-wave/ZAF/ApplicationUtilities/ZAF_AssociationDataStore.h

ZAF_ADS_IsNodeSupportingCC#

e_ZAF_ADS_CC_Capability_t ZAF_ADS_IsNodeSupportingCC (ZAF_ADS_Handle_t handle, uint8_t NodeID, e_ZAF_ADS_CommandClass_t commandClass)

Returns whether a node supports a given CC or not.

Parameters
N/Ahandle

ADS handle returned from ZAF_ADS_Init.

N/ANodeID

Node ID of which the check is made.

N/AcommandClass

Command class to check support for.

Returns

  • Returns the state of the CC support discovery.


Definition at line 146 of file /mnt/raid/workspaces/ws.WDdsgIAV6/overlay/gsdk/protocol/z-wave/ZAF/ApplicationUtilities/ZAF_AssociationDataStore.h

ZAF_ADS_SetNodeIsSupportingCC#

bool ZAF_ADS_SetNodeIsSupportingCC (ZAF_ADS_Handle_t handle, uint8_t NodeID, e_ZAF_ADS_CommandClass_t commandClass, e_ZAF_ADS_CC_Capability_t CC_Capability)

Sets whether a given node supports a given CC.

Parameters
N/Ahandle

ADS handle returned from ZAF_ADS_Init.

N/ANodeID

Node ID of which the given CC must be set.

N/AcommandClass

CC that is discovered.

N/ACC_Capability

State of the support.

Returns

  • Returns true if the state was set and false if there were no free slots in the ADS (increase the MaxNodeCount for the storage space used with ZAF_ADS_Init)


Definition at line 161 of file /mnt/raid/workspaces/ws.WDdsgIAV6/overlay/gsdk/protocol/z-wave/ZAF/ApplicationUtilities/ZAF_AssociationDataStore.h

Macro Definition Documentation#

ZAF_ADS_HEADER_SIZE#

#define ZAF_ADS_HEADER_SIZE
Value:
4

Definition at line 36 of file /mnt/raid/workspaces/ws.WDdsgIAV6/overlay/gsdk/protocol/z-wave/ZAF/ApplicationUtilities/ZAF_AssociationDataStore.h

ZAF_ADS_ELEMENT_SIZE#

#define ZAF_ADS_ELEMENT_SIZE
Value:
20

Definition at line 37 of file /mnt/raid/workspaces/ws.WDdsgIAV6/overlay/gsdk/protocol/z-wave/ZAF/ApplicationUtilities/ZAF_AssociationDataStore.h

ZAF_ADS_STORAGE_SIZE#

#define ZAF_ADS_STORAGE_SIZE
Value:
(num_elements)