User's Manual
9XTend™ OEM RF Module - Product Manual v2.x6x
© 2010 Digi Internatonal, Inc. 63
API Operation - with Escape Characters (AP parameter = 2)
When this API mode is enabled (AP = 2), the UART data frame structure is defined as follows:
Figure 5-02. UART Data Frame Structure - with escape control characters
Escape characters. When sending or receiving a UART data frame, specific data values must be
escaped (flagged) so they do not interfere with the UART or UART data frame operation. To escape
an interfering data byte, insert 0x7D and follow it with the byte to be escaped XOR'd with 0x20.
Data bytes that need to be escaped:
0x7E - Frame Delimiter
0x7D - Escape
0x11 - XON
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 above 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.
Checksum
To test data integrity, a checksum is calculated and verified on non-escaped data.
To c
alculate: Not including frame delimiters and length, add all bytes keeping only the lowest 8
bits of the result and subtract from 0xFF.
To verify: Add all bytes (include checksum, but not the delimiter and length). If the checksum is
correct, the sum will equal 0xFF.
API Types
Frame data of the UART data frame forms an API-specific structure as follows:
Figure 5-03. UART Data Frame & API-specic Structure
The cmdID frame (API-identifier) indicates which API messages will be contained in the cmdData
frame (Identifier-specific data). Refer to the sections that follow for more information regarding
the supported API types. Note that multi-byte values are sent big endian.










