This post is older than 2 years and might not be relevant anymore
More Info: Consider searching for newer posts

ANT timeslot collision avoidance

I have a system where any two identical devices need to establish a communication between each other, without any prior knowledge of which is master and which is slave. Currently they are both programmed to open a CHANNEL_TYPE_MASTER channel and transmit, expecting an acknowledgement.

Unfortunately, in my design, it is likely that both devices will open their channels at approximately the same instant and thus a collision is likely. I know that ANT is designed to drift channels away from each other, which will rememdy this, but in testing this seems to happen far too slowly: I want to be able to reliably exchange data within 100ms, therefore if a collision happens, I need to actively take steps to resolve it.

One way would be to adjust the ANT slot time in each device by some random amount, after every few transmissions. Is this possible? Are there better ways to resolve this problem?

Related