|
Z-Wave Protocol Controller Reference
|
Version Command Class support and control handlers. More...
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... | |
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:
| #define COMMAND_CLASS_IDENTIFIER_ATTRIBUTE_TYPE_MASK 0x0000FF00 |
| #define COMMAND_CLASS_VERSION_ATTRIBUTE_TYPE_MASK 0xFF0000FF |
| #define IS_ATTRIBUTE_TYPE_VERSION_CC_ATTRIBUTE | ( | type | ) |
| 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.
| node | An attribute store node that is under a NodeID attribute. |
| 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.