This thread has been locked.
If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.
Tool/software: Code Composer Studio
Dear TI,
we have implemented a wireless synchronization method with TU15.4 stack with an accuracy in the order of a couple of ms.
At this time we have to compare a timestamp got with RF_getCurrentTime() with the timestamp of the pDataInd structure.
The problem is that the timestamp of the pDataInd struct seems to overflow at 0x2FFFFF in unit of 100us: "t1 = (pDataInd->timestamp * 80 + pDataInd->timestamp) / 400"
while "t2 = RF_getCurrentTime() / 400" at 10737418 (uint32 / 400 ----> unit of 100us)
If "t1 < t2" then we apply the correction for the overflow of t1: "t2 = t2 % 0x2FFFFF". But when t2 overflows the two timestamps will not be align anymore. Is there any way to get t1 of the same size of t2?
Thank you very much
Best regards
Hi Paolo,
We will look into this and get back to you by the end of the week.
Thanks,
Alexis
Hi Paolo,
Please review the following E2E threads and let us know if any help resolve your issue:
https://e2e.ti.com/support/wireless-connectivity/zigbee-and-thread/f/158/t/736993
https://e2e.ti.com/support/wireless-connectivity/sub-1-ghz/f/156/t/836363
https://e2e.ti.com/support/wireless-connectivity/sub-1-ghz/f/156/t/637395
https://e2e.ti.com/support/wireless-connectivity/sub-1-ghz/f/156/t/788952
Regards,
Ryan
Dear Ryan,
I have already read these threads.
At this time we are using two variables which track the the two timestamp and they are incremented each time in order to keep under control the overflow.
This in not a good solution but we do not know any other way to have one timestamp in the same unit of the other.
Do you also know if there is any way to get the timestamp of the sent message? The dataCnfCb seems to be triggered when the TI15.4 stack has received an ack from the destination of the message. We are trying to get the best synchronization accuracy and precise timestamp are mandatory, we are also sending broadcast message for the time synchronization (https://e2e.ti.com/support/wireless-connectivity/sub-1-ghz/f/156/t/837012?tisearch=e2e-sitesearch&keymatch=%20user%3A421277
Thank you very much
Hi Paolo,
dataCnfCb does trigger when the MAC ACK is received, however the timestamps included contain information regarding the transmitted frame. Keep in mind that dataCnfCb can also return a ApiMac_status_noAck status.
Regards,
Ryan