I am trying to build a system where I attempt multiple consecutive ranging events, using the ss_twr_int_init and ss_twr_resp examples in GitHub, but I am running into a peculiar problem. Here’s the psuedocode of what I’m doing at the initiator side (the responder side is pretty much the same with ss_twr_resp):
tx_poll_for_resp1 wait_for_rx process_rx deca_sleep(70) tx_poll_for_resp2 wait_for_rx process_rx deca_sleep(70) tx_poll_for_resp3 ... ...
I am sending poll messages for different responders (destination IDs are different) and waiting for responses. However, after the rx for the resp1, I get a timeout while waiting for the rx from resp2 if I don’t put the device to sleep for at least 70 ms (using deca_sleep()). The less the amount of the sleep, the more rx messages I miss.
I have read that the Decawave PANS is able to perform ranging with 4 devices in 3 ms. I don’t really need such precision but it would be better if I did not have to wait for 70 ms between every ranging. Can anybody point me in the right direction to decrease the time I need to wait for? Or is it something like the SS-TWR examples in GitHub are somehow not precise enough for waiting less?
Thanks in advance!