Could I ask for some more detail on AO mode bit settings please?
According to the documentation:
Bit 0 - Output in Native/Explicit API format
Bit 1 - Supported ZDO request pass-through
Bit 2 - Unsupported ZDO request pass-through
Bit 3 - Binding request pass-through
Bit 4 - Echo received supported ZDO requests out the serial port
Bit 5 - Suppress all ZDO messages from being sent out the serial port and disable pass-through
So I'd like to know:
- What is "supported" vs "unsupported" ZDO request? Is it that certain ZDP clusters are not supported? Or would a Simple_Descriptor_request (Cluster Id 0x0004) for an Endpoint other than E6 or E8 be considered as "unsupported".
- Is there another type of Zigbee message beyond "supported" and "unsupported" request? For example, I can see Node_Descriptor_responses (Cluster Id 0x8002) whether or not Bit 1/2 are set.
- Does pass-through strictly mean that the Xbee's ZDO takes no notice of it?
I'm looking at developing a simple ZHA device, so my understanding is that I need to implement the ZHA profile on one or more custom endpoints. So since the Xbee's ZDO only knows about E6 and E8 endpoints, do I need to turn on bit 1 (Supported ZDO pass-thru) and, in my host program, respond to the Active_EP_request (0x0005) by supplying my endpoint list, and respond to the Simple_Desc_request (0x0004) by supplying the profile,clusters,etc for each of my endpoints?
Having turned on bit 1 (Supported ZDO pass-thru) it means I'll also need to handle any other ZDP commands that the Xbee would have handled automatically. Is that correct? So I'm thinking of the other boilerplate stuff like IEEE_addr_req, NWK_addr_req, Node_desc, etc, would need to be explicitly handled. At least until, I turn bit 1 off again.
I know there's a few Xbee libraries around, but I'm just thinking through what needs to be implemented and what I can assume the module can carry on doing for me.