Transmission, addressing, and routing ZDO transmissions
Digi XBee® 3 Zigbee® RF Module
115
Send a ZDO command
When operating in API mode, ZDO commands can be sent as the payload of an explicit transmit API
frame (0x11). The outgoing ZDO command must be formatted properly with the correct byte order
and endianness observed. In order to receive responses to outgoing ZDO commands, you need to
enable ZDO pass-through using AO (API Options).
To send a ZDO command:
1. Set the source and destination endpoints and profile ID to 0.
2. Set the cluster ID to match the cluster ID of the appropriate service. For example, to send an
active endpoints request, set the cluster ID to 0x0005.
3. The first byte of payload in the API frame is an application sequence number (transaction
sequence number) that can be set to any single byte value. The first byte of the ZDO response
uses this same value.
4. All remaining payload bytes must be set as required by the ZDO. All multi-byte values must be
sent in little endian byte order.
Receiving ZDO command and responses
Incoming ZDO commands and responses are handled by the XBee application by default. In order to
receive and work with incoming ZDO commands, you must configure the device to pass ZDOs to the
serial port instead of the XBee handling them. AO (API Options) is used to control this.
When operating in API mode andwith AO set to 0, the output format for received data packets is
Digi's native 0x90 receive frame format. In this configuration, the XBee application will handle and
respond to any incoming ZDO requests. For unsupported ZDO commands, the XBee 3 Zigbee RF
Module will respond with:ZDO not supported. The following figure shows AO set to 0.
When AO is non-zero, the API frame format for received data packets is an explicit 0x91 receive frame.
This frame contains the additional fields necessary to interpret ZDO messages.