Modules#

OTA Client

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.

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#

emberAfOtaServerSendUpgradeRequest#

void emberAfOtaServerSendUpgradeRequest ( 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 183 of file app/framework/plugin/ota-client/ota-client.h

emberAfPluginOtaClientSetIgnoreNonTrustCenter#

void emberAfPluginOtaClientSetIgnoreNonTrustCenter (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 194 of file app/framework/plugin/ota-client/ota-client.h

emberAfPluginOtaClientGetIgnoreNonTrustCenter#

bool emberAfPluginOtaClientGetIgnoreNonTrustCenter ()

Return the current value of ignoreNonTrustCenter for OTA clients.


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

emberAfPluginSetDisableOtaDowngrades#

void emberAfPluginSetDisableOtaDowngrades (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 207 of file app/framework/plugin/ota-client/ota-client.h

emberAfPluginGetDisableOtaDowngrades#

bool emberAfPluginGetDisableOtaDowngrades ()

Return the current value of disableOtaDowngrades.


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

Variable Documentation#

emAfOtaClientStopDownloadPercentage#

uint8_t emAfOtaClientStopDownloadPercentage

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

Macro Definition Documentation#

EMBER_AF_PLUGIN_OTA_CLIENT_DOWNLOAD_DELAY_MS#

#define EMBER_AF_PLUGIN_OTA_CLIENT_DOWNLOAD_DELAY_MS
Value:
0L

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

EMBER_AF_OTA_SERVER_DISCOVERY_DELAY_MS#

#define EMBER_AF_OTA_SERVER_DISCOVERY_DELAY_MS
Value:
(2 * MINUTES_IN_MS)

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

EMBER_AF_OTA_QUERY_DELAY_MS#

#define EMBER_AF_OTA_QUERY_DELAY_MS
Value:
(5 * MINUTES_IN_MS)

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

EMBER_AF_PLUGIN_OTA_CLIENT_QUERY_ERROR_THRESHOLD#

#define EMBER_AF_PLUGIN_OTA_CLIENT_QUERY_ERROR_THRESHOLD
Value:
10

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

EMBER_AF_PLUGIN_OTA_CLIENT_DOWNLOAD_ERROR_THRESHOLD#

#define EMBER_AF_PLUGIN_OTA_CLIENT_DOWNLOAD_ERROR_THRESHOLD
Value:
10

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

EMBER_AF_RUN_UPGRADE_REQUEST_DELAY_MS#

#define EMBER_AF_RUN_UPGRADE_REQUEST_DELAY_MS
Value:
(10 * MINUTES_IN_MS)

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

EMBER_AF_PLUGIN_OTA_CLIENT_UPGRADE_WAIT_THRESHOLD#

#define EMBER_AF_PLUGIN_OTA_CLIENT_UPGRADE_WAIT_THRESHOLD
Value:
10

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

EMBER_AF_PLUGIN_OTA_CLIENT_PAGE_REQUEST_SIZE#

#define EMBER_AF_PLUGIN_OTA_CLIENT_PAGE_REQUEST_SIZE
Value:
1024

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

EMBER_AF_OTA_CLIENT_PAGE_REQUEST_SPACING_MS#

#define EMBER_AF_OTA_CLIENT_PAGE_REQUEST_SPACING_MS
Value:
50L

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

EMBER_AF_PLUGIN_OTA_CLIENT_VERIFY_DELAY_MS#

#define EMBER_AF_PLUGIN_OTA_CLIENT_VERIFY_DELAY_MS
Value:
10L

Definition at line 143 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 146 of file app/framework/plugin/ota-client/ota-client.h

EMBER_AF_PLUGIN_OTA_CLIENT_SIGNER_EUI0#

#define EMBER_AF_PLUGIN_OTA_CLIENT_SIGNER_EUI0
Value:
NULL_EUI64

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

EMBER_AF_PLUGIN_OTA_CLIENT_SIGNER_EUI1#

#define EMBER_AF_PLUGIN_OTA_CLIENT_SIGNER_EUI1
Value:
NULL_EUI64

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

EMBER_AF_PLUGIN_OTA_CLIENT_SIGNER_EUI2#

#define EMBER_AF_PLUGIN_OTA_CLIENT_SIGNER_EUI2
Value:
NULL_EUI64

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

SECONDS_IN_MS#

#define SECONDS_IN_MS
Value:
(1000L)

Definition at line 161 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 162 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 163 of file app/framework/plugin/ota-client/ota-client.h

EMBER_AF_INVALID_HARDWARE_VERSION#

#define EMBER_AF_INVALID_HARDWARE_VERSION
Value:
0xFFFF

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