Z-Wave Protocol Controller Reference
zwave_command_class_firmware_update_internals.h
Go to the documentation of this file.
1/******************************************************************************
2 * # License
3 * <b>Copyright 2021 Silicon Laboratories Inc. www.silabs.com</b>
4 ******************************************************************************
5 * The licensor of this software is Silicon Laboratories Inc. Your use of this
6 * software is governed by the terms of Silicon Labs Master Software License
7 * Agreement (MSLA) available at
8 * www.silabs.com/about-us/legal/master-software-license-agreement. This
9 * software is distributed to you in Source Code format and is governed by the
10 * sections of the MSLA applicable to Source Code.
11 *
12 *****************************************************************************/
13
21#ifndef ZWAVE_COMMAND_CLASS_FIRMWARE_UPDATE_INTERNALS_H
22#define ZWAVE_COMMAND_CLASS_FIRMWARE_UPDATE_INTERNALS_H
23
24#include "attribute_store.h"
25
28 // No Firmware transfer is ongoing
29 IDLE = 0,
30 // A Firmware transfer is ongoing
32 // A Firmware transfer is completed, wait for a subsequent activation
34 // A Firmware transfer is completed, waiting for the node to reboot
37
47
48#ifdef __cplusplus
49extern "C" {
50#endif
51
65 set_firmware_transfer_file(attribute_store_node_t firmware_transfer_node,
66 const char *file_name);
67
78 attribute_store_node_t firmware_transfer_node,
80
90sl_status_t set_transfer_offset(attribute_store_node_t firmware_transfer_node,
91 uint32_t transfer_offset);
92
105uint16_t
106 firmware_transfer_get_theoretical_max_fragment_size(attribute_store_node_t endpoint_node);
107
120 attribute_store_node_t firmware_transfer_node);
121
129bool node_supports_firmware_activation(attribute_store_node_t endpoint_node);
130
140bool node_supports_cc(attribute_store_node_t endpoint_node);
141
150bool is_firmware_target_valid(attribute_store_node_t endpoint_node,
151 uint32_t firmware_target);
152
160bool is_firmware_update_ongoing(attribute_store_node_t endpoint_node);
161
170 postpone_firmware_update_expiry(attribute_store_node_t endpoint_node);
171
172#ifdef __cplusplus
173}
174#endif
175
176#endif //ZWAVE_COMMAND_CLASS_FIRMWARE_UPDATE_INTERNALS_H
uint32_t sl_status_t
Definition: sl_status.h:139
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.
Definition: zwave_command_class_firmware_update.c:182
enum zwave_firmware_transfer_status zwave_firmware_transfer_status_t
Firmware transfer last status/error.
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.
Definition: zwave_command_class_firmware_update.c:173
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 fun...
Definition: zwave_command_class_firmware_update.c:268
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.
Definition: zwave_command_class_firmware_update.c:205
sl_status_t postpone_firmware_update_expiry(attribute_store_node_t endpoint_node)
Postpones the Firmware Update expiry for an Endpoint.
Definition: zwave_command_class_firmware_update.c:352
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.
Definition: zwave_command_class_firmware_update.c:286
bool node_supports_firmware_activation(attribute_store_node_t endpoint_node)
Verifies if a node supports Firmware Activation.
Definition: zwave_command_class_firmware_update.c:236
zwave_firmware_transfer_state
Firmware transfer state value.
Definition: zwave_command_class_firmware_update_internals.h:27
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.
Definition: zwave_command_class_firmware_update.c:149
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.
Definition: zwave_command_class_firmware_update.c:163
enum zwave_firmware_transfer_state zwave_firmware_transfer_state_t
Firmware transfer state value.
bool is_firmware_update_ongoing(attribute_store_node_t endpoint_node)
Verifies if a Firmware Update is ongoing for an endpoint.
Definition: zwave_command_class_firmware_update.c:303
zwave_firmware_transfer_status
Firmware transfer last status/error.
Definition: zwave_command_class_firmware_update_internals.h:39
@ WAITING_FOR_REBOOT
Definition: zwave_command_class_firmware_update_internals.h:35
@ WAITING_FOR_ACTIVATION
Definition: zwave_command_class_firmware_update_internals.h:33
@ ONGOING
Definition: zwave_command_class_firmware_update_internals.h:31
@ IDLE
Definition: zwave_command_class_firmware_update_internals.h:29
@ ABORTED
Definition: zwave_command_class_firmware_update_internals.h:41
@ INVALID_IMAGE
Definition: zwave_command_class_firmware_update_internals.h:43
@ NOT_AUTHORIZED
Definition: zwave_command_class_firmware_update_internals.h:42
@ REQUIRE_MORE_IMAGE
Definition: zwave_command_class_firmware_update_internals.h:44
@ NOT_SUPPORTED
Definition: zwave_command_class_firmware_update_internals.h:45
@ SUCCESS
Definition: zwave_command_class_firmware_update_internals.h:40