[color=#222222][size=small][font=Arial, Helvetica, sans-serif]Hallo everybody,
I am a little bit confused about the delays.
Let’s have a look at the DS TWR example.
- TX send a poll message.
The computation time after receiving the message and obtaining the timestamp (poll_rx_ts = get_rx_timestamp_u64()
is POLL_RX_TO_RESP_TX_DLY_UUS.
- RX send a response
The computation time after receiving the message and the timestamp (get_rx_timestamp_u64()
is RESP_RX_TO_FINAL_TX_DLY_UUS
- TX send the final message
…
So what is the POLL_TX_TO_RESP_RX_DLY_UUS and RESP_TX_TO_FINAL_RX_DLY_UUS ?
Regards
[/font][/size][/color]
The explanation/description is in the name
POLL_RX_TO_RESP_TX_DLY_UUS - this is the time from Poll reception to the transmission of the Response, similarly the RESP_RX_TO_FINAL_TX_DLY_UUS is the time from the Response reception to the transmission of the Final.
Not sure where the confusion arises? Note the units are DW “micro seconds” … as mentioned in the notes/comments in the main. c files.
Ok but if RESP_RX_TO_FINAL_TX_DLY_UUS is the computational time between the response message and the final message. (In my example step 3)
Why is it used at step 2
(resp_tx_time = (poll_rx_ts + (POLL_RX_TO_RESP_TX_DLY_UUS * UUS_TO_DWT_TIME)) >> 8;)
after the receiving of the poll message (step 2) ?