What happens when digimesh packets arrive simulaneously?


Xbee Pro 900 Digimesh

Configuration is a sleep coordinator/listener gathering sensor data from two nodes. Coordinator/listener in API mode, and nodes in Transparent mode. With one node it works fine. With two nodes I am receiving either node A or node B intermittently. Never both during a sleep cycle. I am still in test environment so both nodes are close and have direct shot to coordinator. Nodes are watching pin13 on module and when it goes high they send their data, therefore it’s likely at the same time.

I went in to node B and added a 1 second delay in the time that pin13 went high and it sent, and this fixed it. Now I receive both nodes data during each sleep cycle. However this is not a realistic fix for deploying a larger mesh network. I’ve read page 19 of the manual where it talks about the transparent vs API and from that I feel like my configuration is correct, but what I can’t glean from that is what happens if two packets arrive at the same time. Does 1 module know it didn’t get it’s data received or should both make it into the buffer or what?

Thanks for the help.

If both modules transmit at the same time, a data collision will occur resulting in lost data.

The modules will then do a random back off and re-transmission of the data based off of the RR and NN commands.