Modules#
OTA Storage Common#
API and Callbacks for the OTA Storage Common Component.
Common code for any storage module implementing an Over-the-Air bootload cluster. It is used by either the Zigbee or legacy Ember Standalone bootloader implementations.
API#
bool
emberAfIsOtaImageIdValid(const EmberAfOtaImageId *idToCompare)
Macros#
#define
OTA_MINIMUM_HEADER_LENGTH (20 + 32 + 4)
#define
OTA_MAXIMUM_HEADER_LENGTH (OTA_MINIMUM_HEADER_LENGTH + 1 + 32 + 4)
#define
OTA_MAXIMUM_HEADER_LENGTH_2_BYTE_ALIGNED (OTA_MAXIMUM_HEADER_LENGTH + 1)
#define
OTA_MAXIMUM_HEADER_LENGTH_4_BYTE_ALIGNED (OTA_MAXIMUM_HEADER_LENGTH + 3)
#define
OTA_FILE_MAGIC_NUMBER 0x0BEEF11EL
#define
#define
#define
#define
#define
#define
#define
#define
#define
#define
#define
#define
#define
TAG_OVERHEAD (2 + 4)
#define
isValidHeaderVersion (headerVersion)
#define
#define
#define
#define
headerHasSecurityCredentials (header)
#define
headerHasUpgradeFileDest (header)
#define
headerHasHardwareVersions (header)
#define
SIGNATURE_TAG_DATA_SIZE (EUI64_SIZE + EMBER_SIGNATURE_SIZE)
#define
SIGNATURE_283K1_TAG_DATA_SIZE (EUI64_SIZE + EMBER_SIGNATURE_283K1_SIZE)
#define
INVALID_MANUFACTURER_ID 0xFFFF
#define
INVALID_DEVICE_ID 0xFFFF
#define
INVALID_FIRMWARE_VERSION 0xFFFFFFFFUL
#define
INVALID_EUI64 { 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 }
#define
INVALID_OTA_IMAGE_ID undefined
#define
INVALID_SLOT (uint32_t)-1
API Documentation#
emberAfIsOtaImageIdValid#
bool emberAfIsOtaImageIdValid (const EmberAfOtaImageId * idToCompare)
Parameters
| Type | Direction | Argument Name | Description |
|---|---|---|---|
| const EmberAfOtaImageId * | N/A | idToCompare |
Macro Definition Documentation#
OTA_MAXIMUM_HEADER_LENGTH#
#define OTA_MAXIMUM_HEADER_LENGTHValue:
(OTA_MINIMUM_HEADER_LENGTH + 1 + 32 + 4)
OTA_MAXIMUM_HEADER_LENGTH_2_BYTE_ALIGNED#
#define OTA_MAXIMUM_HEADER_LENGTH_2_BYTE_ALIGNEDValue:
(OTA_MAXIMUM_HEADER_LENGTH + 1)
OTA_MAXIMUM_HEADER_LENGTH_4_BYTE_ALIGNED#
#define OTA_MAXIMUM_HEADER_LENGTH_4_BYTE_ALIGNEDValue:
(OTA_MAXIMUM_HEADER_LENGTH + 3)
SECURITY_CREDENTIAL_VERSION_FIELD_PRESENT_MASK#
#define SECURITY_CREDENTIAL_VERSION_FIELD_PRESENT_MASKValue:
0x0001
SIGNATURE_283K1_TAG_DATA_SIZE#
#define SIGNATURE_283K1_TAG_DATA_SIZEValue:
(EUI64_SIZE + EMBER_SIGNATURE_283K1_SIZE)
INVALID_OTA_IMAGE_ID#
#define INVALID_OTA_IMAGE_IDValue:
{ INVALID_MANUFACTURER_ID, \
INVALID_DEVICE_ID, \
INVALID_FIRMWARE_VERSION, \
INVALID_EUI64, \
}