Z-Wave Protocol Controller Reference
Firmware Update Command Class internal types

Internal types and definitions for the Firmware Update Command Class. More...

Collaboration diagram for Firmware Update Command Class internal types:

Typedefs

typedef enum zwave_firmware_transfer_state zwave_firmware_transfer_state_t
 Firmware transfer state value. More...
 
typedef enum zwave_firmware_transfer_status zwave_firmware_transfer_status_t
 Firmware transfer last status/error. More...
 

Enumerations

enum  zwave_firmware_transfer_state { IDLE = 0 , ONGOING = 1 , WAITING_FOR_ACTIVATION = 2 , WAITING_FOR_REBOOT = 3 }
 Firmware transfer state value. More...
 
enum  zwave_firmware_transfer_status {
  SUCCESS = 0 , ABORTED = 1 , NOT_AUTHORIZED = 2 , INVALID_IMAGE = 3 ,
  REQUIRE_MORE_IMAGE = 4 , NOT_SUPPORTED = 5
}
 Firmware transfer last status/error. More...
 

Functions

sl_status_t set_firmware_transfer_file (attribute_store_node_t firmware_transfer_node, const char *file_name)
 Sets the Firmware data file for a Firmware Update. More...
 
sl_status_t set_firmware_transfer_last_status (attribute_store_node_t firmware_transfer_node, zwave_firmware_transfer_status_t status)
 Sets the Firmware transfer last status for a Firmware Update. More...
 
sl_status_t set_transfer_offset (attribute_store_node_t firmware_transfer_node, uint32_t transfer_offset)
 Sets the current offset for a Firmware Transfer. More...
 
uint16_t firmware_transfer_get_theoretical_max_fragment_size (attribute_store_node_t endpoint_node)
 Gets the theoretical max fragment size with a node/endpoint. More...
 
sl_status_t set_firmware_transfer_fragment_size (attribute_store_node_t firmware_transfer_node)
 Sets the Firmware transfer fragment size for a Firmware Update. More...
 
bool node_supports_firmware_activation (attribute_store_node_t endpoint_node)
 Verifies if a node supports Firmware Activation. More...
 
bool node_supports_cc (attribute_store_node_t endpoint_node)
 Verifies if a node supports Firmware CC, which indicates if the supporting node’s Command Classes functionality will continue to function normally during Firmware Update transfer. More...
 
bool is_firmware_target_valid (attribute_store_node_t endpoint_node, uint32_t firmware_target)
 Verifies if a Firmware Target value is valid for an endpoint. More...
 
bool is_firmware_update_ongoing (attribute_store_node_t endpoint_node)
 Verifies if a Firmware Update is ongoing for an endpoint. More...
 
sl_status_t postpone_firmware_update_expiry (attribute_store_node_t endpoint_node)
 Postpones the Firmware Update expiry for an Endpoint. More...
 

Detailed Description

Internal types and definitions for the Firmware Update Command Class.

Typedef Documentation

◆ zwave_firmware_transfer_state_t

Firmware transfer state value.

◆ zwave_firmware_transfer_status_t

Firmware transfer last status/error.

Enumeration Type Documentation

◆ zwave_firmware_transfer_state

Firmware transfer state value.

Enumerator
IDLE 
ONGOING 
WAITING_FOR_ACTIVATION 
WAITING_FOR_REBOOT 

◆ zwave_firmware_transfer_status

Firmware transfer last status/error.

Enumerator
SUCCESS 
ABORTED 
NOT_AUTHORIZED 
INVALID_IMAGE 
REQUIRE_MORE_IMAGE 
NOT_SUPPORTED 

Function Documentation

◆ firmware_transfer_get_theoretical_max_fragment_size()

uint16_t firmware_transfer_get_theoretical_max_fragment_size ( attribute_store_node_t  endpoint_node)

Gets the theoretical max fragment size with a node/endpoint.

It will use the Security Class, inclusion protocol and RF Region configuration to calculate the maximum amount of data that can be passed in each frame.

If the ep>0, we also account for Multi Channel Encapsulation.

Parameters
endpoint_nodeAttribute Store node for the Endpoint.
Returns
sl_status_t code.
Here is the call graph for this function:

◆ is_firmware_target_valid()

bool is_firmware_target_valid ( attribute_store_node_t  endpoint_node,
uint32_t  firmware_target 
)

Verifies if a Firmware Target value is valid for an endpoint.

Parameters
endpoint_nodeAttribute Store node for the Endpoint ID
firmware_targetFirmware target to look for.
Returns
true if the firmware target is valid, false otherwise
Here is the caller graph for this function:

◆ is_firmware_update_ongoing()

bool is_firmware_update_ongoing ( attribute_store_node_t  endpoint_node)

Verifies if a Firmware Update is ongoing for an endpoint.

Parameters
endpoint_nodeAttribute Store node for the Endpoint ID
Returns
true if a firmware update is ongoing, false otherwise
Here is the caller graph for this function:

◆ node_supports_cc()

bool node_supports_cc ( attribute_store_node_t  endpoint_node)

Verifies if a node supports Firmware CC, which indicates if the supporting node’s Command Classes functionality will continue to function normally during Firmware Update transfer.

Parameters
endpoint_nodeAttribute Store node for the Endpoint ID
Returns
true if supported, false otherwise
Here is the call graph for this function:
Here is the caller graph for this function:

◆ node_supports_firmware_activation()

bool node_supports_firmware_activation ( attribute_store_node_t  endpoint_node)

Verifies if a node supports Firmware Activation.

Parameters
endpoint_nodeAttribute Store node for the Endpoint ID
Returns
true if supported, false otherwise
Here is the call graph for this function:
Here is the caller graph for this function:

◆ postpone_firmware_update_expiry()

sl_status_t postpone_firmware_update_expiry ( attribute_store_node_t  endpoint_node)

Postpones the Firmware Update expiry for an Endpoint.

Parameters
endpoint_nodeAttribute Store node for the Endpoint ID
Returns
SL_STATUS_OK if it was postponed successfully.
Here is the call graph for this function:

◆ set_firmware_transfer_file()

sl_status_t set_firmware_transfer_file ( attribute_store_node_t  firmware_transfer_node,
const char *  file_name 
)

Sets the Firmware data file for a Firmware Update.

It will configure the Firmware transfer to use this file

Parameters
firmware_transfer_nodeAttribute Store node under which the Firmware Target must be set.
file_nameString that indicates the path of a file on the file-system
Returns
sl_status_t code.
Here is the caller graph for this function:

◆ set_firmware_transfer_fragment_size()

sl_status_t set_firmware_transfer_fragment_size ( attribute_store_node_t  firmware_transfer_node)

Sets the Firmware transfer fragment size for a Firmware Update.

It will find the information from the Firmware Update capabilities and lock it for that firmware transfer.

Parameters
firmware_transfer_nodeAttribute Store node under which the Firmware Target must be set.
Returns
sl_status_t code.
Here is the caller graph for this function:

◆ set_firmware_transfer_last_status()

sl_status_t set_firmware_transfer_last_status ( attribute_store_node_t  firmware_transfer_node,
zwave_firmware_transfer_status_t  status 
)

Sets the Firmware transfer last status for a Firmware Update.

Parameters
firmware_transfer_nodeAttribute Store node under which the Firmware Target must be set.
statuszwave_firmware_transfer_status_t to set
Returns
sl_status_t code.
Here is the caller graph for this function:

◆ set_transfer_offset()

sl_status_t set_transfer_offset ( attribute_store_node_t  firmware_transfer_node,
uint32_t  transfer_offset 
)

Sets the current offset for a Firmware Transfer.

Parameters
firmware_transfer_nodeAttribute Store node under which the Firmware Target must be set.
transfer_offsetThe value of the current offset
Returns
sl_status_t code.
Here is the caller graph for this function: