The Over-the-Air Firmware Update Status frame provides an indication of the status of a firmware update transmission attempt. A query command (0x01 0x51) sent to a target with a 64-bit address of 0x0013A200 40522BAA through an updater with 64-bit address 0x0013A200403E0750 and 16-bit address 0x0000, generates the following expected response.
| Frame data fields | Offset | Description |
|---|---|---|
| Frame type | 3 | 0xA0 |
|
64-bit Source (remote) address |
4-11 | MSB first, LSB last. The address of the remote radio returning this response. |
| 16-bit destination address | 12-13 | The 16-bit address of the updater device. |
| Receive options | 14 |
0x01 - Packet Acknowledged. 0x02 - Packet was a broadcast. |
| Bootloader message type | 15 |
0x06 - ACK 0x15 - NACK 0x40 - No Mac ACK 0x51 - Query (received if the bootloader is not active on the target) 0x52 - Query Response |
| Block number | 16 | Block number used in the update request. Set to 0 if not applicable. |
| 64-bit target address | 17-n | The 64-bit Address of remote device that is being updated (target) |
If a query request returns a 0x15 (NACK) status, the target is likely waiting for a firmware update image. If no messages are sent to it for about 75 seconds, the target will timeout and accept new query messages.
If a query returns a 0x51 (QUERY) status, then the target's bootloader is not active and will not respond to query messages.
|
Frame data fields |
Offset |
Example |
|
|---|---|---|---|
|
Start delimiter |
0 |
0x7E |
|
|
Length |
MSB 1 |
0x00 |
|
|
|
LSB 2 |
0x16 |
|
| Frame type | 3 | 0xA0 | |
| 64-bit source (remote) address | MSB 4 | 0x00 | |
| 5 | 0x13 | ||
| 6 | 0xA2 | ||
| 7 | 0x00 | ||
| 8 | 0x40 | ||
| 9 | 0x3E | ||
| 10 | 0x07 | ||
| 11 | 0x50 | ||
| 16-bit destination address | 12 | 0x00 | |
| 13 | 0x00 | ||
| Receive options | 14 | 0x01 | |
| Bootloader message type | 15 | 0x52 | |
| Block number | 16 | 0x00 | |
| 64-bit target address | 17 | 0x00 | |
| 18 | 0x13 | ||
| 19 | 0xA2 | ||
| 20 | 0x00 | ||
| 21 | 0x40 | ||
| 22 | 0x52 | ||
| 23 | 0x2B | ||
| 24 | 0xAA | ||
| Checksum | 25 | 0x66 | |