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 :-( 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