User Manual

Operate in API mode API mode overview
XBee/XBee-PRO S2C 802.15.4 RF Module User Guide
99
Frame fields Byte Description
Length 2 - 3 Most Significant Byte, Least Significant Byte Characters escaped if needed
Frame Data 4 - n API-specific structure
Checksum n + 1 1 byte
Escape characters
When sending or receiving a UART data frame, you must escape (flag) specific data values so they do
not interfere with the data frame sequencing. To escape an interfering data byte, insert 0x7D and
follow it with the byte to be escaped XOR’d with 0x20. If not escaped, 0x11 and 0x13 are sent as is.
Data bytes that need to be escaped:
n 0x7E Frame Delimiter
n 0x7D Escape
n 0x11 XON
n 0x13 XOFF
Example - Raw UART Data Frame (before escaping interfering bytes): 0x7E 0x00 0x02 0x23 0x11 0xCB
0x11 needs to be escaped which results in the following frame: 0x7E 0x00 0x02 0x23 0x7D 0x31 0xCB
Note In the previous example, the length of the raw data (excluding the checksum) is 0x0002 and the
checksum of the non-escaped data (excluding frame delimiter and length) is calculated as:
0xFF - (0x23 + 0x11) = (0xFF - 0x34) = 0xCB.
Start delimiter
This field indicates the beginning of a frame. It is always 0x7E. This allows the device to easily detect a
new incoming frame.
Length
The length field specifies the total number of bytes included in the frame's data field. Its two-byte
value excludes the start delimiter, the length, and the checksum.
Frame data
This field contains the information that a device receives or will transmit. The structure of frame data
depends on the purpose of the API frame:
Start
delimiter Length
Frame data
Checksum
Frame
type
Data
1 2 3 4 5 6 7 8 9 ... n n+1
0x7E MSB LSB
API
frame
type
Data
Single
byte
n Frame type is the API frame type identifier. It determines the type of API frame and indicates
how the Data field organizes the information.