User's Manual

Table Of Contents
XTend™RFModule‐ProductManual
©2013DigiInternatonal,Inc. 42
Data bytes that need to be escaped:
0x7E – Frame Delimiter
•0x7D Escape
0x11 – XON
0x13 – XOFF
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.
API Types
Frame data of the UART data frame forms an API-specific structure as follows:
Figure303. UARTDataFrame&APIspecificStructure:
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.
RF Module Status
API Identifier: 0x8A
RF module status messages are sent from the module in response to specific conditions.
Figure304. RFModuleStatusFrames
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
Length
(Bytes 2-3)
Checksum
(Byte n + 1)
MSB LSB 1 Byte
Start Delimiter
(Byte 1)
0x7E
Frame Data
(Bytes 4-n)
API-specific Structure
Identifier-specific Data
cmdData
API Identifier
cmdID
cmdData0x8A
Length ChecksumStart Delimiter Frame Data
Identifier-specific DataAPI Identifier
MSB LSB0x7E 1 ByteAPI-specific Structure
Status (Byte 5)
0 = Hardware reset
1 = Watchdog timer reset