OTA Control Point

When written by a client, the OTA Control Point characteristic is an 8-bit enumerated value (known as the opcode) followed by zero or more parameter octets. The opcode is used by the server to determine which OTA Control operation is being initiated by the client. A notification of the OTA Control Point is used to provide a response to a client-initiated the OTA Control Point operation.

The structure of the OTA Control Point characteristic is defined in Table 3.6.

Table 3.6: Structure of OTA Control Point characteristic
Field Requirement Size (octets) Description
Opcode M uint8 Opcode of the client -initiated OTA Control operation
Parameter M variables Dependent of the operations defined in Table 3.7

OTA Control Point procedures only can be initiated by client.

Client shall enable the Client Characteristic Configuration Descriptor (CCCD) of OTA Control Point on Server before issuing OTA Control Point procedure.

OTA Control operation and any associated opcodes are defined in Table 3.7.

Table 3.7: OTA Control operations
Opcode Operation Requirement Applicable Response Values Response Parameter
0x00 RFU -
0x01 Response Code M N/A N/A
0x02 Firmware Update Request M

Success

Not Supported

Operation Failed

Invalid Parameter

Max Fragmented Image Size (uint16)

Current Firmware Version (uint32)
0x03 Firmware Update Start M

Success

Invalid State

Not Supported
N/A
0x04 Firmware Update Complete M

Success

Invalid State
N/A
0x05 Device Reset Request M N/A N/A
0x06-0xFF RFU -