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 |