Ota Unicast Bootloader Common

Macros and types defined for ota-unicast-bootloaders. More...

Enumerations

enum  EmberAfOtaUnicastBootloaderStatus {
  EMBER_OTA_UNICAST_BOOTLOADER_STATUS_SUCCESS = 0x00,
  EMBER_OTA_UNICAST_BOOTLOADER_STATUS_INVALID_CALL = 0x01,
  EMBER_OTA_UNICAST_BOOTLOADER_STATUS_BUSY = 0x02,
  EMBER_OTA_UNICAST_BOOTLOADER_STATUS_DATA_UNDERFLOW = 0x03,
  EMBER_OTA_UNICAST_BOOTLOADER_STATUS_STACK_ERROR = 0x04,
  EMBER_OTA_UNICAST_BOOTLOADER_STATUS_TIMEOUT = 0x05,
  EMBER_OTA_UNICAST_BOOTLOADER_STATUS_FAILED = 0x06,
  EMBER_OTA_UNICAST_BOOTLOADER_STATUS_ABORTED = 0x07,
  EMBER_OTA_UNICAST_BOOTLOADER_STATUS_REFUSED = 0x08,
  EMBER_OTA_UNICAST_BOOTLOADER_STATUS_UNREACHABLE = 0x09
}
 OTA Unicast Bootloader return status codes. More...
 

Detailed Description

Macros and types defined for ota-unicast-bootloaders.

OTA bootloading plugins are usable to send firmware images Over The Air when the application is running. When the firmware is downloaded to a device, a bootloader can be started to replace the application in the flash to the one just downloaded.

All Connect bootloader related code relies on the Gecko Bootloader for bootloading and it must be installed on the device for these plugins to work. For details on the Gecko Bootloader, see UG266.

The Unicast OTA plugins implement the OTA download operation in a unicast, addressed way, so only a single client can be addressed from a server in an OTA session, and downloading images to multiple devices will require the server to send the image multiple times. Communication relies on standard unicast data messages, which also means that the routing provided by the Connect stack is availble.

Although bootloading sleepy end devices is theoretically possible with polling, it is not very effective, and it's probably simpler to reconnect as a normal end device while the OTA is active.

Unicast OTA uses a plugin configurable endpoint, which is 13 by default.

Security can be also enabled as plugin configuration on the server, as well as the interval of the messages. The client has a timeout plugin configuration after which it stops the OTA session with an error.

See UG235.06 for further details.

Note
OTA Unicast Bootloading plugins are not available in MAC mode due to the lack of endpoints.

Enumeration Type Documentation

◆ EmberAfOtaUnicastBootloaderStatus

OTA Unicast Bootloader return status codes.

Enumerator
EMBER_OTA_UNICAST_BOOTLOADER_STATUS_SUCCESS 

The generic "no error" message.

EMBER_OTA_UNICAST_BOOTLOADER_STATUS_INVALID_CALL 

Indicates that some parameters are invalid, or the OTA server/client is not in the expected state for the call.

EMBER_OTA_UNICAST_BOOTLOADER_STATUS_BUSY 

Indicates that the OTA server is busy performing another OTA task.

EMBER_OTA_UNICAST_BOOTLOADER_STATUS_DATA_UNDERFLOW 

Indicates that the application did not provided the requested data to the OTA server.

EMBER_OTA_UNICAST_BOOTLOADER_STATUS_STACK_ERROR 

Indicates that the Connect stack returned an error to the OTA server.

EMBER_OTA_UNICAST_BOOTLOADER_STATUS_TIMEOUT 

Indicates that the image download is timed out on the OTA client.

EMBER_OTA_UNICAST_BOOTLOADER_STATUS_FAILED 

Indicates that the image download is failed because the connection between the client and server is lost.

EMBER_OTA_UNICAST_BOOTLOADER_STATUS_ABORTED 

Indicates that the application is aborted the current OTA process.

EMBER_OTA_UNICAST_BOOTLOADER_STATUS_REFUSED 

Indicates that the client refused the image.

EMBER_OTA_UNICAST_BOOTLOADER_STATUS_UNREACHABLE 

Indicates that the server can not establish communication with the target client.

Definition at line 62 of file ota-unicast-bootloader-types.h.