Transmit Status - 0x89
Request frames:
- TX Request: 64-bit address frame - 0x00
- TX Request: 16-bit address - 0x01
- User Data Relay Input - 0x2D
Description
This frame type is emitted when a transmit request completes. The status field of this frame indicates whether the request succeeded or failed and the reason.
This frame is only emitted if the Frame ID in the request is non-zero.
Note Broadcast transmissions are not acknowledged and always return a status of 0x00, even if the delivery failed.
Format
The following table provides the contents of the frame. For details on frame structure, see API frame format.
Offset | Size | Frame Field | Description |
---|---|---|---|
0 | 8-bit | Start Delimiter | Indicates the start of an API frame. |
1 | 16-bit | Length | Number of bytes between the length and checksum. |
3 | 8-bit | Frame type |
Transmit Status - 0x89 |
4 | 8-bit | Frame ID | Identifies the data frame for the host to correlate with a prior request. |
5 | 8-bit | Delivery status |
Complete list of delivery statuses: 0x00 = Success 0x01 = No ACK received 0x02 = CCA failure 0x03 = Indirect message unrequested 0x04 = Transceiver was unable to complete the transmission 0x21 = Network ACK failure 0x22 = Not joined to network 0x2C = Invalid frame values (check the phone number) 0x31 = Internal error 0x32 = Resource error - lack of free buffers, timers, etc. 0x34 = No Secure Session Connection 0x35 = Encryption Failure 0x74 = Message too long 0x76 = Socket closed unexpectedly 0x78 = Invalid UDP port 0x79 = Invalid TCP port 0x7A = Invalid host address 0x7B = Invalid data mode 0x7C = Invalid interface. See User Data Relay Input - 0x2D. 0x7D = Interface not accepting frames. See User Data Relay Input - 0x2D. 0x7E = A modem update is in progress. Try again after the update is complete. 0x80 = Connection refused 0x81 = Socket connection lost 0x82 = No server 0x83 = Socket closed 0x84 = Unknown server 0x85 = Unknown error 0x86 = Invalid TLS configuration (missing file, and so forth) 0x87 = Socket not connected 0x88 = Socket not bound Refer to the tables below for a filtered list of status codes that are appropriate for specific devices. |
EOF | 8-bit | Checksum | 0xFF minus the 8-bit sum of bytes from offset 3 to this byte (between length and checksum). |
Delivery status codes
Protocol-specific status codes follow
XBee 3 DigiMesh
This frame type is only used for indicating errors in sending a User Data Relay request
0x7C = Invalid interface. See User Data Relay Input - 0x2D.
0x7D = Interface not accepting frames. See User Data Relay Input - 0x2D.
Examples
Each example is written without escapes (AP = 1) and all bytes are represented in hex format. For brevity, the start delimiter, length, and checksum fields have been excluded.
Successful transmission
Host sent a unicast transmission to a remote device using a TX Request: 64-bit address frame - 0x00 frame.
The corresponding 0x89 Transmit Status with a matching Frame ID is emitted as a response to the request:
7E 00 03 89 52 00 24
Frame type | Frame ID | Delivery status |
---|---|---|
0x89 | 0x52 | 0x00 |
Response | Matches request | Success |