Digi XBee(R) ANSI C Host Library
Data Structures | Macros | Functions

Based on ZigBee document 095264r23. More...

#include "xbee/platform.h"
#include "wpan/types.h"
#include "zigbee/zcl_types.h"

Go to the source code of this file.

Data Structures

struct  zcl_ota_image_id_t
 Common sequence of fields appearing in multiple frame formats. More...
 
struct  zcl_ota_file_header_t
 OTA Upgrade File Header. More...
 
struct  zcl_ota_element_t
 Header of sub-elements in OTA Upgrade File following zcl_ota_file_header_t. More...
 
struct  zcl_ota_element_ecdsa_signature_t
 Sub-element with signature for the entire file, must be last in the file. More...
 
struct  zcl_ota_element_ecdsa_cert_t
 Sub-element with the certificate used to generate the OTA file's signature. More...
 
struct  zcl_ota_element_integrity_code_t
 Sub-element with a hash value to verify the integrity of the OTA file. More...
 
struct  zcl_ota_image_notify_t
 < new image identification More...
 
struct  zcl_ota_query_next_image_req_t
 < current image identification More...
 
struct  zcl_ota_query_next_image_resp_t
 < new image identification More...
 
struct  zcl_ota_image_block_req_t
 < upgrade image identification More...
 
struct  zcl_ota_image_page_req_t
 < upgrade image identification More...
 
struct  zcl_ota_image_block_resp_t
 < upgrade image identification More...
 
struct  zcl_ota_upgrade_end_req_t
 < upgrade image identification More...
 
struct  zcl_ota_upgrade_end_resp_t
 < upgrade image identification More...
 

Macros

#define ZCL_CLUST_OTA_UPGRADE   0x0019
 
#define ZCL_OTA_FILE_ID   0x0BEEF11E
 value for file_id_le element of zcl_ota_file_header_t
 
#define ZCL_OTA_HEADER_VER   0x0100
 value for header_ver_le element of zcl_ota_file_header_t
 
#define ZCL_OTA_FIELD_CONTROL_SECURITY_CRED   (1<<0)
 
#define ZCL_OTA_FIELD_CONTROL_DEVICE_SPECIFIC   (1<<1)
 
#define ZCL_OTA_FIELD_CONTROL_HARDWARE_VERSIONS   (1<<2)
 
#define ZCL_OTA_IMAGE_TYPE_CLIENT_SECURITY_CREDS   0xFFC0
 
#define ZCL_OTA_IMAGE_TYPE_CLIENT_CONFIG   0xFFC1
 
#define ZCL_OTA_IMAGE_TYPE_SERVER_LOG   0xFFC2
 
#define ZCL_OTA_IMAGE_TYPE_WILDCARD   0xFFFF
 
#define ZCL_OTA_ZIGBEE_STACK_2006   0x0000
 
#define ZCL_OTA_ZIGBEE_STACK_2007   0x0001
 
#define ZCL_OTA_ZIGBEE_STACK_PRO   0x0002
 
#define ZCL_OTA_ZIGBEE_STACK_IP   0x0003
 
#define ZCL_OTA_SECURITY_CRED_SE_10   0x00
 
#define ZCL_OTA_SECURITY_CRED_SE_11   0x01
 
#define ZCL_OTA_SECURITY_CRED_SE_20   0x02
 
#define ZCL_OTA_TAG_ID_UPGRADE_IMAGE   0x0000
 
#define ZCL_OTA_TAG_ID_ECDSA_SIGNATURE   0x0001
 
#define ZCL_OTA_TAG_ID_ECDSA_CERTIFICATE   0x0002
 
#define ZCL_OTA_TAG_ID_IMAGE_INTEGRITY_CODE   0x0003
 
#define ZCL_OTA_ATTR_UPGRADE_SERVER_ID   0x0000
 
#define ZCL_OTA_ATTR_FILE_OFFSET   0x0001
 
#define ZCL_OTA_ATTR_CURRENT_FILE_VER   0x0002
 
#define ZCL_OTA_ATTR_CURRENT_ZIGBEE_STACK_VER   0x0003
 
#define ZCL_OTA_ATTR_DOWNLOAD_FILE_VER   0x0004
 
#define ZCL_OTA_ATTR_DOWNLOAD_ZIGBEE_STACK_VER   0x0005
 
#define ZCL_OTA_ATTR_IMAGE_UPGRADE_STATUS   0x0006
 
#define ZCL_OTA_ATTR_MANUFACTURER_ID   0x0007
 
#define ZCL_OTA_ATTR_IMAGE_TYPE_ID   0x0008
 
#define ZCL_OTA_ATTR_MIN_BLOCK_REQUEST_DELAY   0x0009
 
#define ZCL_OTA_ATTR_IMAGE_STAMP   0x000A
 
#define ZCL_OTA_CMD_IMAGE_NOTIFY   0x00
 
#define ZCL_OTA_CMD_QUERY_NEXT_IMAGE_RESP   0x02
 
#define ZCL_OTA_CMD_IMAGE_BLOCK_RESP   0x05
 
#define ZCL_OTA_CMD_UPGRADE_END_RESP   0x07
 
#define ZCL_OTA_CMD_QUERY_SPECIFIC_FILE_RESP   0x09
 
#define ZCL_OTA_CMD_QUERY_NEXT_IMAGE_REQ   0x01
 
#define ZCL_OTA_CMD_IMAGE_BLOCK_REQ   0x03
 
#define ZCL_OTA_CMD_IMAGE_PAGE_REQ   0x04
 
#define ZCL_OTA_CMD_UPGRADE_END_REQ   0x06
 
#define ZCL_OTA_CMD_QUERY_SPECIFIC_FILE_REQ   0x08
 

Functions

const char * zcl_ota_zigbee_stack_ver_str (uint16_t v)
 Return a description for an OTA header's Zigbee Stack Version.
 
const char * zcl_ota_security_credential_ver_str (uint8_t v)
 Return a description for an OTA header's Security Credential Version.
 
const char * zcl_ota_tag_identifier_str (uint16_t id)
 Return a description for an OTA header's Sub-Element Tag.
 
uint32_t zcl_ota_tag_identifier_length (uint16_t id)
 The expected length (or 0 for variable) of an OTA file's Sub-Element Tag. More...
 

Detailed Description

Based on ZigBee document 095264r23.

XBee3 802.15.4, DigiMesh, and Zigbee products use a modified version of this protocol for firmware and file system updates on endpoint 0xE8 with Profile ID 0xC105. Current firmware versions use fields from the OTA File Header, but only send the first sub-element's content (the GBL firmware image, or a file system image created from XCTU).