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.

RTOS/CC2652R: bug report: The timestamp of macMcpsDataCnf_t in simplelink_zigbee_sdk_plugin_2_20_00_06 is invalid.

Part Number: CC2652R
Other Parts Discussed in Thread: CC2630

Tool/software: TI-RTOS

when debug  simplelink_zigbee_sdk_plugin_2_20_00_06 project, I add a function into MAC_CbackEvent to process MAC_MCPS_DATA_CNF message from macMcpsDataCnf_t. but the member timestamp of macMcpsDataCnf_t not change when every MAC_MCPS_DATA_CNF triggering.

  • Part Number: CC2630

    Tool/software: TI-RTOS

    In TI-MAC, the struct "macDataInd_t" and "macMcpsDataCnf_t" have member "timestamp" and "timestamp2". As document's description, the  32bit- "timestamp" is measured by "backoffs" and the 16bit-"timestamp2" is measured by “MAC timer”.What is the relationship between "backoffs" and "MAC timer"? I have researched technical manuals of IEEE802.15.4, and I know per-backoffs is 320us, per-MAC timer tick is 16us , but why the "MAC timer" 's range is less than "backoffs" 's ?

  • Hi Aries,

    Thank you for reporting this behavior, I am having a member of the Software Development Team further investigate your findings.

    Regards,
    Ryan
  • Here is an explanation regarding "timestamp" versus "timestamp2": After data was transmitted, we get the relative time when it was sent. Let's say it is "txTime". Then "txTime" is split into "timestamp" and "timestamp2" by the following equations:

    timestamp = txTime / (timer ticks per symbol) --> this means at what symbol the data transmitted.
    timestamp2 = txTime % (timer ticks per symbol) --> this means actual timer tick counts at data transmission within the symbol.

    Finally if you want to know actual time when the data sent, you have to get timestamp * (timer ticks per symbol) + timestamp2 in units of timer ticks. For 50kbps running on CC13xx, the timer is RF timer which unit is 0.25us (one symbol is 20us). So timers ticks per symbol = 20/0.25 = 80.
    Hopefully this explains why "timestamp" looks like it is not changing and why "timestamp2" is smaller.

    Regards,
    Ryan