We are in the process of developing a system that uses Zigbee technology to send information. The system will consist of around 200 routers sending data back to a coordinator. To help with development we purchased several CC2530ZNP mini dev kits in order to create a smaller version of our system (6 routers). The MSP430 contains our own custom firmware (based on your examples).
Below is a picture of our test setup.
NOTE: The distance between two routers is no more than 5 meters.
Key
Black line = Walls
Red square = Coordinator
Green square = Router
All the routers seem to connect to the network ok. However only routers 1 and 2 always send their data successfully, 3 most of the time, 4 less frequently and 5 hardly ever.
I determine whether or not the data was sent by the AF_DATA_CONFIRM command, status byte equals 0.
Is there any reason why the further I get away from the coordinator the less likely messages are to be sent? I could understand if they were being sent DIRECTLY to the coordinator but thats not how a Zigbee network works. The routers should be sending messages via each other e.g. if router 5 wants to send a mesaage to the coordinator it does so via routers 4, 3, 2 and 1.
Also whats the maximum distance between devices?
The documentation for AF_DATA_CONFIRM does not mention what a status of 0xCD is, what is it?