Data Structures

struct EmberZclOtaBootloadClientServerInfo_t
struct EmberZclOtaBootloadHardwareVersionRange_t
struct EmberZclOtaBootloadFileSpec_t
struct EmberZclOtaBootloadFileHeaderInfo_t
struct EmberZclOtaBootloadStorageInfo_t
struct EmberZclOtaBootloadStorageFileInfo_t

Macros

#define EMBER_ZCL_OTA_BOOTLOAD_FILE_MAGIC_NUMBER 0x0BEEF11E
#define EMBER_ZCL_OTA_BOOTLOAD_FILE_MAGIC_NUMBER_SIZE 4
#define EMBER_ZCL_OTA_BOOTLOAD_FILE_VERSION 0x2000
#define EMBER_ZCL_OTA_BOOTLOAD_HEADER_STRING_SIZE 32
#define EMBER_ZCL_OTA_BOOTLOAD_HEADER_MAX_SIZE 93
#define EMBER_ZCL_OTA_BOOTLOAD_FILE_VERSION_NULL (( EmberZclOtaBootloadFileVersion_t )-1)
#define EMBER_ZCL_OTA_BOOTLOAD_HARDWARE_VERSION_NULL (( EmberZclOtaBootloadHardwareVersion_t )-1)

Typedefs

typedef uint32_t EmberZclOtaBootloadFileVersion_t
typedef uint16_t EmberZclOtaBootloadHardwareVersion_t
typedef void(* EmberZclOtaBootloadStorageDeleteCallback ) ( EmberZclOtaBootloadStorageStatus_t )

Enumerations

enum EmberZclOtaBootloadFileHeaderFieldControl_t {
EMBER_ZCL_OTA_BOOTLOAD_FILE_HEADER_FIELD_CONTROL_DESTINATION = 0x0002,
EMBER_ZCL_OTA_BOOTLOAD_FILE_HEADER_FIELD_CONTROL_HARDWARE_VERSION = 0x0004,
EMBER_ZCL_OTA_BOOTLOAD_FILE_HEADER_FIELD_CONTROL_NULL = ((EmberZclOtaBootloadFileHeaderFieldControl_t)-1)
}
enum EmberZclOtaBootloadFileType_t {
EMBER_ZCL_OTA_BOOTLOAD_FILE_TYPE_MANUFACTURER_SPECIFIC_MAXIMUM = 0xFFBF,
EMBER_ZCL_OTA_BOOTLOAD_FILE_TYPE_SECURITY_CREDENTIALS = 0xFFC0,
EMBER_ZCL_OTA_BOOTLOAD_FILE_TYPE_CONFIGURATION = 0xFFC1,
EMBER_ZCL_OTA_BOOTLOAD_FILE_TYPE_LOG = 0xFFC2,
EMBER_ZCL_OTA_BOOTLOAD_FILE_TYPE_PICTURE = 0xFFC3,
EMBER_ZCL_OTA_BOOTLOAD_FILE_TYPE_WILDCARD = 0xFFFF
}
enum EmberZclOtaBootloadStackVersion_t {
EMBER_ZCL_OTA_BOOTLOAD_STACK_VERSION_IP = 0x0004,
EMBER_ZCL_OTA_BOOTLOAD_STACK_VERSION_NONE = ((EmberZclOtaBootloadStackVersion_t)-1)
}
enum EmberZclOtaBootloadSecurityCredentialVersion_t {
EMBER_ZCL_OTA_BOOTLOAD_SECURITY_CREDENTIAL_VERSION_IP = 0x03,
EMBER_ZCL_OTA_BOOTLOAD_SECURITY_CREDENTIAL_VERSION_NULL = ((EmberZclOtaBootloadSecurityCredentialVersion_t)-1)
}
enum EmberZclOtaBootloadFileStatus_t {
EMBER_ZCL_OTA_BOOTLOAD_FILE_STATUS_VALID = 0x00,
EMBER_ZCL_OTA_BOOTLOAD_FILE_STATUS_INVALID_MAGIC_NUMBER = 0x01,
EMBER_ZCL_OTA_BOOTLOAD_FILE_STATUS_INVALID_VERSION = 0x02,
EMBER_ZCL_OTA_BOOTLOAD_FILE_STATUS_INVALID_HEADER_SIZE = 0x03,
EMBER_ZCL_OTA_BOOTLOAD_FILE_STATUS_INVALID_STACK_VERSION = 0x04,
EMBER_ZCL_OTA_BOOTLOAD_FILE_STATUS_INVALID_SECURITY_CREDENTIAL_VERSION = 0x05,
EMBER_ZCL_OTA_BOOTLOAD_FILE_STATUS_NULL = 0xFF
}
enum EmberZclOtaBootloadStorageStatus_t {
EMBER_ZCL_OTA_BOOTLOAD_STORAGE_STATUS_SUCCESS = 0x00,
EMBER_ZCL_OTA_BOOTLOAD_STORAGE_STATUS_FAILED = 0x01,
EMBER_ZCL_OTA_BOOTLOAD_STORAGE_STATUS_OUT_OF_RANGE = 0x02,
EMBER_ZCL_OTA_BOOTLOAD_STORAGE_STATUS_INVALID_FILE = 0x03,
EMBER_ZCL_OTA_BOOTLOAD_STORAGE_STATUS_OUT_OF_SPACE = 0x04,
EMBER_ZCL_OTA_BOOTLOAD_STORAGE_STATUS_NULL = 0xFF
}

Variables

const EmberZclOtaBootloadFileSpec_t emberZclOtaBootloadFileSpecNull

Macro Definition Documentation

#define EMBER_ZCL_OTA_BOOTLOAD_FILE_MAGIC_NUMBER   0x0BEEF11E

This is the magic 32-bit number that appears at the beginning of every OTA file.

See also
EMBER_ZCL_OTA_BOOTLOAD_FILE_MAGIC_NUMBER_SIZE
EmberZclOtaBootloadFileHeaderInfo_t
#define EMBER_ZCL_OTA_BOOTLOAD_FILE_MAGIC_NUMBER_SIZE   4

This is the size of the magic 32-bit number that appears at the beginning of every OTA file.

See also
EMBER_ZCL_OTA_BOOTLOAD_FILE_MAGIC_NUMBER
EmberZclOtaBootloadFileHeaderInfo_t
#define EMBER_ZCL_OTA_BOOTLOAD_FILE_VERSION   0x2000

This is the version of OTA files that work with ZCLIP.

See also
EmberZclOtaBootloadFileHeaderInfo_t
#define EMBER_ZCL_OTA_BOOTLOAD_FILE_VERSION_NULL   (( EmberZclOtaBootloadFileVersion_t )-1)

Distinguished value that represents a null (invalid) OTA file version.

#define EMBER_ZCL_OTA_BOOTLOAD_HARDWARE_VERSION_NULL   (( EmberZclOtaBootloadHardwareVersion_t )-1)

Distinguished value that represents a null (invalid) OTA file hardware version.

#define EMBER_ZCL_OTA_BOOTLOAD_HEADER_MAX_SIZE   93

This is the maximum number of bytes contained in an OTA file header.

These fields are required.

These fields are optional.

  • 32-byte destination UID
  • 2-byte minimum hardware version
  • 2-byte maximum hardware version
See also
EmberZclOtaBootloadFileHeaderInfo_t
#define EMBER_ZCL_OTA_BOOTLOAD_HEADER_STRING_SIZE   32

This is the size of the OTA file header string in bytes. This size includes the byte for the NUL-terminator, which must be included in a header string.

See also
EmberZclOtaBootloadFileHeaderInfo_t

Typedef Documentation

OTA file version.

OTA file hardware version.

typedef void(* EmberZclOtaBootloadStorageDeleteCallback) ( EmberZclOtaBootloadStorageStatus_t )

Enumeration Type Documentation

OTA file header field control.

Enumerator
EMBER_ZCL_OTA_BOOTLOAD_FILE_HEADER_FIELD_CONTROL_DESTINATION

OTA file header contains destination field.

EMBER_ZCL_OTA_BOOTLOAD_FILE_HEADER_FIELD_CONTROL_HARDWARE_VERSION

OTA file header contains minimum and maximum valid hardware versions.

EMBER_ZCL_OTA_BOOTLOAD_FILE_HEADER_FIELD_CONTROL_NULL

Distinguished value that represents a null (invalid) OTA file header field control.

OTA file status.

Enumerator
EMBER_ZCL_OTA_BOOTLOAD_FILE_STATUS_VALID

OTA file is valid.

EMBER_ZCL_OTA_BOOTLOAD_FILE_STATUS_INVALID_MAGIC_NUMBER

OTA file has invalid magic number.

EMBER_ZCL_OTA_BOOTLOAD_FILE_STATUS_INVALID_VERSION

OTA file has invalid version.

EMBER_ZCL_OTA_BOOTLOAD_FILE_STATUS_INVALID_HEADER_SIZE

OTA file has invalid header size.

EMBER_ZCL_OTA_BOOTLOAD_FILE_STATUS_INVALID_STACK_VERSION

OTA file has invalid stack version.

EMBER_ZCL_OTA_BOOTLOAD_FILE_STATUS_INVALID_SECURITY_CREDENTIAL_VERSION

OTA file has invalid security credential version.

EMBER_ZCL_OTA_BOOTLOAD_FILE_STATUS_NULL

Distinguished value that represents a null (invalid) OTA file status.

OTA file type.

Enumerator
EMBER_ZCL_OTA_BOOTLOAD_FILE_TYPE_MANUFACTURER_SPECIFIC_MAXIMUM

This is the maximum value for a manufacturer-specific file type.

EMBER_ZCL_OTA_BOOTLOAD_FILE_TYPE_SECURITY_CREDENTIALS

OTA file is security credentials.

EMBER_ZCL_OTA_BOOTLOAD_FILE_TYPE_CONFIGURATION

OTA file is a configuration.

EMBER_ZCL_OTA_BOOTLOAD_FILE_TYPE_LOG

OTA file is a log.

EMBER_ZCL_OTA_BOOTLOAD_FILE_TYPE_PICTURE

OTA file is a picture.

EMBER_ZCL_OTA_BOOTLOAD_FILE_TYPE_WILDCARD

OTA file is unspecified.

OTA file security credential version.

Enumerator
EMBER_ZCL_OTA_BOOTLOAD_SECURITY_CREDENTIAL_VERSION_IP

OTA file uses IP security credentials.

EMBER_ZCL_OTA_BOOTLOAD_SECURITY_CREDENTIAL_VERSION_NULL

Distinguished value that represents a null (invalid) OTA file security credential version.

OTA file stack version.

Enumerator
EMBER_ZCL_OTA_BOOTLOAD_STACK_VERSION_IP

OTA file is for an IP stack.

EMBER_ZCL_OTA_BOOTLOAD_STACK_VERSION_NONE

Distinguished value that represents a null (invalid) OTA file stack version.

OTA storage status.

Enumerator
EMBER_ZCL_OTA_BOOTLOAD_STORAGE_STATUS_SUCCESS

An operation has succeeded.

EMBER_ZCL_OTA_BOOTLOAD_STORAGE_STATUS_FAILED

An operation has failed.

EMBER_ZCL_OTA_BOOTLOAD_STORAGE_STATUS_OUT_OF_RANGE

An operation is outside a valid range.

EMBER_ZCL_OTA_BOOTLOAD_STORAGE_STATUS_INVALID_FILE

An operation is specified on a nonexistent file.

EMBER_ZCL_OTA_BOOTLOAD_STORAGE_STATUS_OUT_OF_SPACE

An operation is outside valid space constraints.

EMBER_ZCL_OTA_BOOTLOAD_STORAGE_STATUS_NULL

Distinguished value that represents a null (invalid) status value.

Variable Documentation

const EmberZclOtaBootloadFileSpec_t emberZclOtaBootloadFileSpecNull

This is a distinguished value that represents a null (invalid) OTA file specification.

This is provided as a utility to applications that wish to use a file specification value that is uninitialized or invalid .