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.