We are using Asynchronous Cyclic Sleep Pin Wake to reduce power consumption. We have a Gateway (ConnectPort X2 - XBee-PRO 900HP) and our own device that uses a Digi XBee-PRO 900HP module.
In testing our system, we found that indirect messages sometimes arrived at our device, but often they did not. We need assistance in figuring out what is wrong, or suggestions how we could further investigate the problem.
To diagnose the issue, we probed the Digi Module pins on our device, observing the ATTN and SLEEP_STATUS pins. We can see the module regularly wake up every second, and go back to sleep about 30ms later (no message). When we send a message via the Gateway to our device, we can see through printing from the python script that the TCP/IP message arrives addressed to the Digi MAC address of our device. In cases when the message succeeds, we see the next wake up cycle actually gets data - the ATTN pin toggles as data is queued up for UART transfer to our main CPU.
However, it often does not work, and the ATTN flag stays high. We are trying to determine what happens to the lost messages.
Using the ConnectPort X2D web interface, under Administration->System Information->Xbee Network, we found that the “XBee Network Error Counts” section showed that “Route not found” count was increasing every time a message was missed.
From the scope probe we can also see that if sending occurs while our device’s Digi radio is awake, it always succeeds. If sending occurs while the Digi radio sleeps, sometimes the poll fetches data successfully, in which case “Route not found” error count remains unchanged, and other no data is fetched, and “Route not found” error count increments.
Any suggestions or assistance you can offer is appreciated!