Z-Wave Protocol Controller Reference
Version Command Class

Version Command Class support and control handlers. More...

Collaboration diagram for Version Command Class:

Macros

#define COMMAND_CLASS_VERSION_ATTRIBUTE_TYPE_MASK   0xFF0000FF
 
#define COMMAND_CLASS_IDENTIFIER_ATTRIBUTE_TYPE_MASK   0x0000FF00
 
#define IS_ATTRIBUTE_TYPE_VERSION_CC_ATTRIBUTE(type)
 

Functions

bool is_version_cc_found (attribute_store_node_t node)
 Checks we know that the version CC is supported by the node. More...
 
sl_status_t zwave_command_class_version_init ()
 Intitialize the Version Command Class control APIs. More...
 

Detailed Description

Version Command Class support and control handlers.

This module performs command class version probing using the attribute resolver, and populate the versions to the version attributes per supported command class.

This module also perform version command class, version 3 probing.

Version attributes like PROTOCOL_VERSION or FIRMWARE_VERSION are saved as uint32_t values. In case the version is given as 2 digits (e.g. 7.16), the value will be 7<<16 + 16 <<8. In case the version is given as 3 digits (e.g. 7.16.3) the value will be 7<<16 + 16 <<8 + 3.

The following subtree is used to keep track of version data transfers:

Version Command Class data model

Macro Definition Documentation

◆ COMMAND_CLASS_IDENTIFIER_ATTRIBUTE_TYPE_MASK

#define COMMAND_CLASS_IDENTIFIER_ATTRIBUTE_TYPE_MASK   0x0000FF00

◆ COMMAND_CLASS_VERSION_ATTRIBUTE_TYPE_MASK

#define COMMAND_CLASS_VERSION_ATTRIBUTE_TYPE_MASK   0xFF0000FF

◆ IS_ATTRIBUTE_TYPE_VERSION_CC_ATTRIBUTE

#define IS_ATTRIBUTE_TYPE_VERSION_CC_ATTRIBUTE (   type)
Value:
((COMMAND_CLASS_VERSION_ATTRIBUTE_TYPE_MASK & type) == 0x00000001) \
#define COMMAND_CLASS_IDENTIFIER_ATTRIBUTE_TYPE_MASK
Definition: zwave_command_class_version.h:158
#define COMMAND_CLASS_VERSION_ATTRIBUTE_TYPE_MASK
Definition: zwave_command_class_version.h:157

Function Documentation

◆ is_version_cc_found()

bool is_version_cc_found ( attribute_store_node_t  node)

Checks we know that the version CC is supported by the node.

When this returns true, a component can trust that the version of the command classes for endpoints under a node is accurate and final.

Parameters
nodeAn attribute store node that is under a NodeID attribute.
Returns
true is the version information of Command Classes is accurate. false otherwise
Here is the caller graph for this function:

◆ zwave_command_class_version_init()

sl_status_t zwave_command_class_version_init ( )

Intitialize the Version Command Class control APIs.

This setup will register the Version Command Class handler to the Z-Wave CC framework, register rule to the attribute_resolver and callbacks to the attribute_store.

Returns
SL_STATUS_OK if successful
SL_STATUS_FAIL if an error occurred
Here is the call graph for this function:
Here is the caller graph for this function: