User's Guide
Table Of Contents
- XBee/XBee-PRO S2C 802.15.4 RF Module User Guide
- Technical specifications
- Hardware
- Configure the XBee/XBee-PRO S2C 802.15.4 RF Module
- Modes
- Operation
- AT commands
- Special commands
- Networking and security commands
- C8 (802.15.4 Compatibility)
- CH (Operating Channel)
- ID (Network ID)
- DH (Destination Address High)
- DL (Destination Address Low)
- MY (Source Address)
- SH (Serial Number High)
- SL (Serial Number Low)
- MM (MAC Mode)
- RR (XBee Retries)
- RN (Random Delay Slots)
- ND (Network Discovery)
- NT (Node Discover Timeout)
- NO (Node Discovery Options)
- DN (Discover Node)
- CE (Coordinator Enable)
- SC (Scan Channels)
- SD (Scan Duration)
- A1 (End Device Association)
- A2 (Coordinator Association)
- AI (Association Indication)
- DA (Force Disassociation)
- FP (Force Poll)
- AS (Active Scan)
- ED (Energy Detect)
- EE (Encryption Enable)
- KY (AES Encryption Key)
- NI (Node Identifier)
- NP (Maximum Packet Payload Bytes)
- RF interfacing commands
- Sleep commands
- Serial interfacing commands
- I/O settings commands
- D0 (DIO0/AD0)
- D1 (DIO1/AD1)
- D2 (DIO2/AD2)
- D3 (DIO3/AD3)
- D4 (DIO4)
- D5 (DIO5/ASSOCIATED_INDICATOR)
- D8 (DIO8/SLEEP_REQUEST)
- P0 (RSSI/PWM0 Configuration)
- P1 (PWM1 Configuration)
- P2 (SPI_MISO)
- M0 (PWM0 Duty Cycle)
- M1 (PWM1 Duty Cycle)
- P5 (SPI_MISO)
- P6 (SPI_MOSI Configuration)
- P7 (SPI_SSEL )
- P8 (SPI_SCLK)
- P9 (SPI_ATTN)
- PR (Pull-up/Down Resistor Enable)
- PD (Pull Up/Down Direction)
- IU (I/O Output Enable)
- IT (Samples before TX)
- IS (Force Sample)
- IO (Digital Output Level)
- IC (DIO Change Detect)
- IR (Sample Rate)
- RP (RSSI PWM Timer)
- I/O line passing commands
- Diagnostic commands
- Command mode options
- Operate in API mode
- API mode overview
- API frame specifications
- Escaped characters in API frames
- Frame descriptions
- TX Request: 64-bit address frame - 0x00
- TX Request: 16-bit address - 0x01
- AT Command frame - 0x08
- AT Command - Queue Parameter Value frame - 0x09
- Remote AT Command Request frame - 0x17
- RX Packet: 64-bit Address frame - 0x80
- Receive Packet: 16-bit address frame - 0x81
- RX (Receive) Packet: 64-bit address IO frame- 0x82
- RX Packet: 16-bit address I/O frame - 0x83
- AT Command Response frame - 0x88
- TX Status frame - 0x89
- Modem Status frame - 0x8A
- Remote Command Response frame - 0x97
- Regulatory information
- Load 802.15.4 firmware on ZB devices
- Migrate from XBee through-hole to surface-mount devices
- PCB design and manufacturing
Operate in API mode Escaped characters in API frames
XBee/XBee-PRO S2C 802.15.4 RF Module User Guide
110
Byte(s) Description
48 65 6C 6C 6F Data packet
B8 Checksum
To calculate the check sum you add all bytes of the packet, excluding the frame delimiter 7E and the
length (the second and third bytes):
7E 00 0A 01 01 50 01 00 48 65 6C 6C 6F B8
Add these hex bytes:
01 + 01 + 50 + 01 + 00 + 48 + 65 + 6C + 6C + 6F = 247
Now take the result of 0x247 and keep only the lowest 8 bits which, in this example, is 0x47 (the two
far right digits). Subtract 0x47 from 0xFF and you get 0xB8 (0xFF - 0x47 = 0xB8). 0xB8 is the checksum
for this data packet.
If an API data packet is composed with an incorrect checksum, the XBee/XBee-PRO S2C 802.15.4 RF
Module will consider the packet invalid and will ignore the data.
To verify the check sum of an API packet add all bytes including the checksum (do not include the
delimiter and length) and if correct, the last two far right digits of the sum will equal FF.
01 + 01 + 50 + 01 + 00 + 48 + 65 + 6C + 6C + 6F + B8 = 2FF
Escaped characters in API frames
If operating in API mode with escaped characters (AP parameter = 2), when sending or receiving a
serial data frame, specific data values must be escaped (flagged) 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'ed with 0x20).
The following data bytes need to be escaped:
n 0x7E: start delimiter
n 0x7D: escape character
n 0x11: XON
n 0x13: XOFF
To escape a character:
1. Insert 0x7D (escape character).
2. Append it with the byte you want to escape, XOR'ed with 0x20.
In API mode with escaped characters, the length field does not include any escape characters in the
frame and the firmware calculates the checksum with non-escaped data.