TREK1000 - How offset is calculated by 3, 4 anchors in responding to poll request

Dear Experts,

Has gone through the link;

Sorry did not really understand how each Anchors (0,1,2) applies the delays between transmissions. Can anyone please explain? DecaLeo’s response gives details about the different superframe configuration modes; but where is the delays applied in the code. I am struck here and could not move forward :-(:worried::worried: Please help…Please help.

Following the code in instance_rxcallback() in instance_common.c, under event DWT_SIG_RX_OKAY, case RTLS_DEMO_MSG_TAG_POLL which is the packet type received by the Anchors 0,1,2,3 for ranging, if we look under anctxorrxreenable():-
a. the delayed reply time does not consider the anchor index to skip/jump so many number of fixedReplyDelayAnc; Please see below:-
//configure delayed reply time (this is incremented for each received frame) it is timed from Poll rx time
instance_data[instance].delayedReplyTime += (instance_data[instance].fixedReplyDelayAnc >> 8);

b. To send the ranging response frame from Anchor(s), using dw_starttx(), this check is done:
if((((ancToAncTWR & 1) == 0) && ((instance_data[instance].responseTO + instance_data[instance].shortAdd_idx) == NUM_EXPECTED_RESPONSES)) //it’s our turn to tx

instance_data[instance].responseTO is set to NUM_EXPECTED_RESPONSES before the call of the function anctxorrxreenable(). That means the above ‘if’ condition will be satisfied only for shortAdd_idx = 0 which is for the first anchor. It appears that there is no ranging response sent from other anchors 1,2,3 for the Tag initiated POLL command.

Thanks & regards
Sandeep Suresh.