|
Z-Wave Protocol Controller Reference
|
Firmware Update Command Class transfer API functions. More...
Modules | |
| Firmware Update Command Class internal types | |
| Internal types and definitions for the Firmware Update Command Class. | |
Functions | |
| sl_status_t | command_class_firmware_update_initiate_firmware_update (zwave_node_id_t node_id, zwave_endpoint_id_t endpoint_id, uint32_t firmware_target, unsigned long apply_after, const char *filename) |
| Attempts to start a Firmware Update procedure for a node. More... | |
| void | command_class_firmware_update_abort_ongoing_firmware_operation (zwave_node_id_t node_id, zwave_endpoint_id_t endpoint_id) |
| Abort any ongoing Firmware operation with a node. More... | |
Firmware Update Command Class transfer API functions.
This module implement functions for the support and control of the Firmware Update Command Class.
The control part is sub-divided into 2 parts:
All control of the Firmware Update Command Class relies on the Attribute Store state. 2 Subtrees are used to keep track of everything.
The following subtree is used to store information about firmwares from supporting nodes:
The following subtree is used to keep track of firmware updates image transfers:
The following state diagram denotes how state transitions while doing firmware update:
| void command_class_firmware_update_abort_ongoing_firmware_operation | ( | zwave_node_id_t | node_id, |
| zwave_endpoint_id_t | endpoint_id | ||
| ) |
Abort any ongoing Firmware operation with a node.
This function will instruct the Firmware Update Command Class to return the firmware transfer to idle.
| node_id | The NodeID for which the Firmware Update transfer state must go to idle |
| endpoint_id | The Endpoint ID for which the Firmware Update must go to idle. |
| sl_status_t command_class_firmware_update_initiate_firmware_update | ( | zwave_node_id_t | node_id, |
| zwave_endpoint_id_t | endpoint_id, | ||
| uint32_t | firmware_target, | ||
| unsigned long | apply_after, | ||
| const char * | filename | ||
| ) |
Attempts to start a Firmware Update procedure for a node.
This function will verify that that paramters are in accordance with the nodes capabilities and configure the Attribute Store state to initiate a Firmware Update request, and subsequent transfer.
| node_id | The NodeID for which the Firmware Update must be initiated |
| endpoint_id | The Endpoint ID for which the Firmware Update must take place. |
| firmware_target | The Firmware target to upgrade at the end node. |
| apply_after | Timestamp of when to apply the firmware. If the node does not support subsequent activations, the firmware update attempt will be rejected and postponed. |
| filename | The filename to open to access the content of the firmware |