OTA Client#

API and Callbacks for the OTA Cluster Client Component.

Silicon Labs implementation of the Zigbee Over-the-air Bootload Client Cluster (a multi-hop, application bootloader). This implementation finds the OTA server in the network, periodically queries the server for a new image to download, downloads the data, and then waits for the server command to tell it to upgrade. Optionally, it can cryptographically verify the image before upgrade.

Modules#

OTA Client

API#

void

Set whether OTA clients use non TC servers.

void

Set whether OTA clients use non TC servers.

bool

Return the current value of ignoreNonTrustCenter for OTA clients.

void

Set whether OTA Clients will permit firmware downgrades.

bool

Return the current value of disableOtaDowngrades.

API Documentation#

sl_zigbee_af_ota_server_send_upgrade_request#

void sl_zigbee_af_ota_server_send_upgrade_request ( IgnoreNonTc)

Set whether OTA clients use non TC servers.

Parameters
N/AIgnoreNonTc

a bool determining whether client should ignore any non Trust Center OTA servers

Sets the behavior of OTA clients when determining whether or not to use non Trust Center OTA servers and abort any download that is in progress.


Definition at line 171 of file app/framework/plugin/ota-client/ota-client.h

sl_zigbee_af_ota_client_set_ignore_non_trust_center#

void sl_zigbee_af_ota_client_set_ignore_non_trust_center (bool ignoreNonTc)

Set whether OTA clients use non TC servers.

Parameters
N/AignoreNonTc

a bool determining whether client should ignore any non Trust Center OTA servers

Sets the behavior of OTA clients when determining whether or not to use non Trust Center OTA servers and abort any download that is in progress.


Definition at line 182 of file app/framework/plugin/ota-client/ota-client.h

sl_zigbee_af_ota_client_get_ignore_non_trust_center#

bool sl_zigbee_af_ota_client_get_ignore_non_trust_center ()

Return the current value of ignoreNonTrustCenter for OTA clients.


Definition at line 187 of file app/framework/plugin/ota-client/ota-client.h

sl_zigbee_af_set_disable_ota_downgrades#

void sl_zigbee_af_set_disable_ota_downgrades (bool isDisabled)

Set whether OTA Clients will permit firmware downgrades.

Parameters
N/AisDisabled

A bool value indicating whether or not downgrades will be disabled


Definition at line 195 of file app/framework/plugin/ota-client/ota-client.h

sl_zigbee_af_get_disable_ota_downgrades#

bool sl_zigbee_af_get_disable_ota_downgrades ()

Return the current value of disableOtaDowngrades.


Definition at line 200 of file app/framework/plugin/ota-client/ota-client.h

Variable Documentation#

sli_zigbee_af_ota_client_stop_download_percentage#

uint8_t sli_zigbee_af_ota_client_stop_download_percentage

Definition at line 163 of file app/framework/plugin/ota-client/ota-client.h

Macro Definition Documentation#

SL_ZIGBEE_AF_PLUGIN_OTA_CLIENT_DOWNLOAD_DELAY_MS#

#define SL_ZIGBEE_AF_PLUGIN_OTA_CLIENT_DOWNLOAD_DELAY_MS
Value:
0L

Definition at line 66 of file app/framework/plugin/ota-client/ota-client.h

SL_ZIGBEE_AF_OTA_SERVER_DISCOVERY_DELAY_MS#

#define SL_ZIGBEE_AF_OTA_SERVER_DISCOVERY_DELAY_MS
Value:
(2 * MINUTES_IN_MS)

Definition at line 76 of file app/framework/plugin/ota-client/ota-client.h

SL_ZIGBEE_AF_OTA_QUERY_DELAY_MS#

#define SL_ZIGBEE_AF_OTA_QUERY_DELAY_MS
Value:
(5 * MINUTES_IN_MS)

Definition at line 85 of file app/framework/plugin/ota-client/ota-client.h

SL_ZIGBEE_AF_PLUGIN_OTA_CLIENT_QUERY_ERROR_THRESHOLD#

#define SL_ZIGBEE_AF_PLUGIN_OTA_CLIENT_QUERY_ERROR_THRESHOLD
Value:
10

Definition at line 91 of file app/framework/plugin/ota-client/ota-client.h

SL_ZIGBEE_AF_PLUGIN_OTA_CLIENT_DOWNLOAD_ERROR_THRESHOLD#

#define SL_ZIGBEE_AF_PLUGIN_OTA_CLIENT_DOWNLOAD_ERROR_THRESHOLD
Value:
10

Definition at line 97 of file app/framework/plugin/ota-client/ota-client.h

SL_ZIGBEE_AF_RUN_UPGRADE_REQUEST_DELAY_MS#

#define SL_ZIGBEE_AF_RUN_UPGRADE_REQUEST_DELAY_MS
Value:
(10 * MINUTES_IN_MS)

Definition at line 106 of file app/framework/plugin/ota-client/ota-client.h

SL_ZIGBEE_AF_PLUGIN_OTA_CLIENT_UPGRADE_WAIT_THRESHOLD#

#define SL_ZIGBEE_AF_PLUGIN_OTA_CLIENT_UPGRADE_WAIT_THRESHOLD
Value:
10

Definition at line 113 of file app/framework/plugin/ota-client/ota-client.h

SL_ZIGBEE_AF_PLUGIN_OTA_CLIENT_PAGE_REQUEST_SIZE#

#define SL_ZIGBEE_AF_PLUGIN_OTA_CLIENT_PAGE_REQUEST_SIZE
Value:
1024

Definition at line 117 of file app/framework/plugin/ota-client/ota-client.h

SL_ZIGBEE_AF_OTA_CLIENT_PAGE_REQUEST_SPACING_MS#

#define SL_ZIGBEE_AF_OTA_CLIENT_PAGE_REQUEST_SPACING_MS
Value:
50L

Definition at line 123 of file app/framework/plugin/ota-client/ota-client.h

SL_ZIGBEE_AF_PLUGIN_OTA_CLIENT_VERIFY_DELAY_MS#

#define SL_ZIGBEE_AF_PLUGIN_OTA_CLIENT_VERIFY_DELAY_MS
Value:
10L

Definition at line 131 of file app/framework/plugin/ota-client/ota-client.h

NULL_EUI64#

#define NULL_EUI64
Value:
{ 0, 0, 0, 0, 0, 0, 0, 0 }

Definition at line 134 of file app/framework/plugin/ota-client/ota-client.h

SL_ZIGBEE_AF_PLUGIN_OTA_CLIENT_SIGNER_EUI0#

#define SL_ZIGBEE_AF_PLUGIN_OTA_CLIENT_SIGNER_EUI0
Value:
NULL_EUI64

Definition at line 138 of file app/framework/plugin/ota-client/ota-client.h

SL_ZIGBEE_AF_PLUGIN_OTA_CLIENT_SIGNER_EUI1#

#define SL_ZIGBEE_AF_PLUGIN_OTA_CLIENT_SIGNER_EUI1
Value:
NULL_EUI64

Definition at line 142 of file app/framework/plugin/ota-client/ota-client.h

SL_ZIGBEE_AF_PLUGIN_OTA_CLIENT_SIGNER_EUI2#

#define SL_ZIGBEE_AF_PLUGIN_OTA_CLIENT_SIGNER_EUI2
Value:
NULL_EUI64

Definition at line 146 of file app/framework/plugin/ota-client/ota-client.h

SECONDS_IN_MS#

#define SECONDS_IN_MS
Value:
(1000L)

Definition at line 149 of file app/framework/plugin/ota-client/ota-client.h

MINUTES_IN_MS#

#define MINUTES_IN_MS
Value:
(60 * SECONDS_IN_MS)

Definition at line 150 of file app/framework/plugin/ota-client/ota-client.h

HOURS_IN_MS#

#define HOURS_IN_MS
Value:
(60 * MINUTES_IN_MS)

Definition at line 151 of file app/framework/plugin/ota-client/ota-client.h

SL_ZIGBEE_AF_INVALID_HARDWARE_VERSION#

#define SL_ZIGBEE_AF_INVALID_HARDWARE_VERSION
Value:
0xFFFF

Definition at line 158 of file app/framework/plugin/ota-client/ota-client.h