BB-ZP9D115RMLR-A Radio Modem
49
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:
UART Data Frame Structure with escape control characters:
MSB = Most Significant Byte, LSB = Least Significant Byte
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 calculate
: 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.