<?xml version="1.0" encoding="UTF-8"?>
<rss xmlns:content="http://purl.org/rss/1.0/modules/content/" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:taxo="http://purl.org/rss/1.0/modules/taxonomy/" version="2.0">
  <channel>
    <title>Wireless MCUのトピックJN5169 Data transmit  request-confirm time</title>
    <link>https://community.nxp.com/t5/Wireless-MCU/JN5169-Data-transmit-request-confirm-time/m-p/1073637#M9654</link>
    <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Hi,&amp;nbsp;&lt;/P&gt;&lt;P&gt;I am trying to measure the time interval between&amp;nbsp;a data request and a data confirmation&amp;nbsp;in a single transmitting device but I am not 100 %&amp;nbsp; sure my time class is correct or even if this can simply be measured by getting the times in the mcps-data.request and mcps-data.confirm. Perhaps there are some delays I am not aware of? I am using JN-AN-1174 as a base.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;My time class looks like this:&amp;nbsp;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;PRE class="language-c line-numbers"&gt;&lt;CODE&gt;PRIVATE &lt;SPAN class="keyword token"&gt;void&lt;/SPAN&gt; &lt;SPAN class="token function"&gt;vTimer0Callback&lt;/SPAN&gt;&lt;SPAN class="punctuation token"&gt;(&lt;/SPAN&gt;uint32 u32Device&lt;SPAN class="punctuation token"&gt;,&lt;/SPAN&gt; uint32 u32ItemBitmap&lt;SPAN class="punctuation token"&gt;)&lt;/SPAN&gt;
&lt;SPAN class="punctuation token"&gt;{&lt;/SPAN&gt;
 tickCount&lt;SPAN class="operator token"&gt;++&lt;/SPAN&gt;&lt;SPAN class="punctuation token"&gt;;&lt;/SPAN&gt;
&lt;SPAN class="punctuation token"&gt;}&lt;/SPAN&gt;
PUBLIC &lt;SPAN class="keyword token"&gt;void&lt;/SPAN&gt; vInitTimer &lt;SPAN class="punctuation token"&gt;(&lt;/SPAN&gt;&lt;SPAN class="punctuation token"&gt;)&lt;/SPAN&gt;
&lt;SPAN class="punctuation token"&gt;{&lt;/SPAN&gt;
 tickCount &lt;SPAN class="operator token"&gt;=&lt;/SPAN&gt; &lt;SPAN class="number token"&gt;0&lt;/SPAN&gt;&lt;SPAN class="punctuation token"&gt;;&lt;/SPAN&gt;
&lt;SPAN class="comment token"&gt;// 16 Mhz clock&lt;/SPAN&gt;
 &lt;SPAN class="comment token"&gt;// With a 2^4 Prescaler = 16/2^4 = 1Mhz clock = 1 000 000 hz&lt;/SPAN&gt;
 &lt;SPAN class="comment token"&gt;// therefore, 1 tick = 1/1000 000 = 1us (microsecond)&lt;/SPAN&gt;
vAHI_TimerEnable &lt;SPAN class="punctuation token"&gt;(&lt;/SPAN&gt;E_AHI_TIMER_0&lt;SPAN class="punctuation token"&gt;,&lt;/SPAN&gt;&lt;SPAN class="comment token"&gt;// Using Timer 0, (Options 0-4)&lt;/SPAN&gt;
 &lt;SPAN class="number token"&gt;4&lt;/SPAN&gt;&lt;SPAN class="punctuation token"&gt;,&lt;/SPAN&gt; &lt;SPAN class="comment token"&gt;// Prescale 2^4&lt;/SPAN&gt;
 FALSE&lt;SPAN class="punctuation token"&gt;,&lt;/SPAN&gt; &lt;SPAN class="comment token"&gt;// Enable interrupt at the beginning of timer (lowToHigh)&lt;/SPAN&gt;
 TRUE&lt;SPAN class="punctuation token"&gt;,&lt;/SPAN&gt; &lt;SPAN class="comment token"&gt;// Enable interrupt in end of timer (highToLow)&lt;/SPAN&gt;
 FALSE&lt;SPAN class="punctuation token"&gt;)&lt;/SPAN&gt;&lt;SPAN class="punctuation token"&gt;;&lt;/SPAN&gt; &lt;SPAN class="comment token"&gt;// OutputEnabled: False= Timer Mode, True= PWN or Delta Sigma Mode&lt;/SPAN&gt;
vAHI_TimerClockSelect &lt;SPAN class="punctuation token"&gt;(&lt;/SPAN&gt;E_AHI_TIMER_0&lt;SPAN class="punctuation token"&gt;,&lt;/SPAN&gt;
 FALSE&lt;SPAN class="punctuation token"&gt;,&lt;/SPAN&gt; &lt;SPAN class="comment token"&gt;// FALSE = Use the internal 16Mhz clock, TRUE= Use external clock&lt;/SPAN&gt;
 TRUE&lt;SPAN class="punctuation token"&gt;)&lt;/SPAN&gt;&lt;SPAN class="punctuation token"&gt;;&lt;/SPAN&gt;
&lt;SPAN class="token function"&gt;vAHI_Timer0RegisterCallback&lt;/SPAN&gt;&lt;SPAN class="punctuation token"&gt;(&lt;/SPAN&gt;vTimer0Callback&lt;SPAN class="punctuation token"&gt;)&lt;/SPAN&gt;&lt;SPAN class="punctuation token"&gt;;&lt;/SPAN&gt;
&lt;SPAN class="token function"&gt;vAHI_TimerStartRepeat&lt;/SPAN&gt;&lt;SPAN class="punctuation token"&gt;(&lt;/SPAN&gt;E_AHI_TIMER_0&lt;SPAN class="punctuation token"&gt;,&lt;/SPAN&gt;
 &lt;SPAN class="number token"&gt;0&lt;/SPAN&gt;&lt;SPAN class="punctuation token"&gt;,&lt;/SPAN&gt;
 &lt;SPAN class="number token"&gt;60000&lt;/SPAN&gt;&lt;SPAN class="punctuation token"&gt;)&lt;/SPAN&gt;&lt;SPAN class="punctuation token"&gt;;&lt;/SPAN&gt; &lt;SPAN class="comment token"&gt;//repeat every 60ms&lt;/SPAN&gt;
&lt;SPAN class="punctuation token"&gt;}&lt;/SPAN&gt;
PUBLIC uint32 &lt;SPAN class="token function"&gt;vGetMicroSeconds&lt;/SPAN&gt;&lt;SPAN class="punctuation token"&gt;(&lt;/SPAN&gt;&lt;SPAN class="punctuation token"&gt;)&lt;/SPAN&gt;
&lt;SPAN class="punctuation token"&gt;{&lt;/SPAN&gt;
 &lt;SPAN class="keyword token"&gt;return&lt;/SPAN&gt; &lt;SPAN class="punctuation token"&gt;(&lt;/SPAN&gt;&lt;SPAN class="token function"&gt;u16AHI_TimerReadCount&lt;/SPAN&gt;&lt;SPAN class="punctuation token"&gt;(&lt;/SPAN&gt;E_AHI_TIMER_0&lt;SPAN class="punctuation token"&gt;)&lt;/SPAN&gt; &lt;SPAN class="operator token"&gt;+&lt;/SPAN&gt; &lt;SPAN class="punctuation token"&gt;(&lt;/SPAN&gt;&lt;SPAN class="number token"&gt;60000&lt;/SPAN&gt; &lt;SPAN class="operator token"&gt;*&lt;/SPAN&gt; tickCount&lt;SPAN class="punctuation token"&gt;)&lt;/SPAN&gt;&lt;SPAN class="punctuation token"&gt;)&lt;/SPAN&gt;&lt;SPAN class="punctuation token"&gt;;&lt;/SPAN&gt;
&lt;SPAN class="punctuation token"&gt;}&lt;/SPAN&gt;‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍&lt;SPAN class="line-numbers-rows"&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/CODE&gt;&lt;/PRE&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Inside&amp;nbsp;PRIVATE void vTransmitDataPacket(uint8 *pu8Data, uint8 u8Len, uint16 u16DestAdr)&lt;/P&gt;&lt;P&gt;I get the current time :&lt;/P&gt;&lt;P&gt;&lt;SPAN&gt;&amp;nbsp;&lt;/SPAN&gt;&lt;/P&gt;&lt;PRE class="language-c line-numbers"&gt;&lt;CODE&gt;&lt;SPAN class="comment token"&gt;/* Request transmit */&lt;/SPAN&gt;
 &lt;SPAN class="token function"&gt;DBG_vPrintf&lt;/SPAN&gt;&lt;SPAN class="punctuation token"&gt;(&lt;/SPAN&gt;TRUE&lt;SPAN class="punctuation token"&gt;,&lt;/SPAN&gt;&lt;SPAN class="string token"&gt;"%d MicroSec | Transmit Request with size %d \n"&lt;/SPAN&gt;&lt;SPAN class="punctuation token"&gt;,&lt;/SPAN&gt;&lt;SPAN class="token function"&gt;vGetMicroSeconds&lt;/SPAN&gt;&lt;SPAN class="punctuation token"&gt;(&lt;/SPAN&gt;&lt;SPAN class="punctuation token"&gt;)&lt;/SPAN&gt;&lt;SPAN class="punctuation token"&gt;,&lt;/SPAN&gt;sMcpsReqRsp&lt;SPAN class="punctuation token"&gt;.&lt;/SPAN&gt;uParam&lt;SPAN class="punctuation token"&gt;.&lt;/SPAN&gt;sReqData&lt;SPAN class="punctuation token"&gt;.&lt;/SPAN&gt;sFrame&lt;SPAN class="punctuation token"&gt;.&lt;/SPAN&gt;u8SduLength&lt;SPAN class="punctuation token"&gt;)&lt;/SPAN&gt;&lt;SPAN class="punctuation token"&gt;;&lt;/SPAN&gt;
 &lt;SPAN class="token function"&gt;vAppApiMcpsRequest&lt;/SPAN&gt;&lt;SPAN class="punctuation token"&gt;(&lt;/SPAN&gt;&lt;SPAN class="operator token"&gt;&amp;amp;&lt;/SPAN&gt;sMcpsReqRsp&lt;SPAN class="punctuation token"&gt;,&lt;/SPAN&gt; &lt;SPAN class="operator token"&gt;&amp;amp;&lt;/SPAN&gt;sMcpsSyncCfm&lt;SPAN class="punctuation token"&gt;)&lt;/SPAN&gt;&lt;SPAN class="punctuation token"&gt;;&lt;/SPAN&gt;‍‍‍‍‍‍&lt;SPAN class="line-numbers-rows"&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/CODE&gt;&lt;/PRE&gt;&lt;P&gt;&lt;SPAN&gt;&amp;nbsp;&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN&gt;and inside&amp;nbsp;PRIVATE void vHandleMcpsDataDcfm(MAC_McpsDcfmInd_s *psMcpsInd)&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN&gt;I get the current time again:&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;PRE class="language-c line-numbers"&gt;&lt;CODE&gt;&lt;SPAN class="keyword token"&gt;if&lt;/SPAN&gt; &lt;SPAN class="punctuation token"&gt;(&lt;/SPAN&gt;psMcpsInd&lt;SPAN class="operator token"&gt;-&amp;gt;&lt;/SPAN&gt;uParam&lt;SPAN class="punctuation token"&gt;.&lt;/SPAN&gt;sDcfmData&lt;SPAN class="punctuation token"&gt;.&lt;/SPAN&gt;u8Status &lt;SPAN class="operator token"&gt;==&lt;/SPAN&gt; MAC_ENUM_SUCCESS&lt;SPAN class="punctuation token"&gt;)&lt;/SPAN&gt;
 &lt;SPAN class="punctuation token"&gt;{&lt;/SPAN&gt;
 &lt;SPAN class="token function"&gt;DBG_vPrintf&lt;/SPAN&gt;&lt;SPAN class="punctuation token"&gt;(&lt;/SPAN&gt;TRUE&lt;SPAN class="punctuation token"&gt;,&lt;/SPAN&gt;&lt;SPAN class="string token"&gt;"%d MicroSec | Data transmit Confirm \n"&lt;/SPAN&gt;&lt;SPAN class="punctuation token"&gt;,&lt;/SPAN&gt;&lt;SPAN class="token function"&gt;vGetMicroSeconds&lt;/SPAN&gt;&lt;SPAN class="punctuation token"&gt;(&lt;/SPAN&gt;&lt;SPAN class="punctuation token"&gt;)&lt;/SPAN&gt;&lt;SPAN class="punctuation token"&gt;)&lt;/SPAN&gt;&lt;SPAN class="punctuation token"&gt;;&lt;/SPAN&gt;
 &lt;SPAN class="punctuation token"&gt;}&lt;/SPAN&gt;‍‍‍‍‍‍‍‍&lt;SPAN class="line-numbers-rows"&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/CODE&gt;&lt;/PRE&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN&gt;Finally, I transmit&amp;nbsp; 3 packets of 4 bytes:&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN&gt; vTransmitDataPacket(data,4,0x0000);&lt;BR /&gt; vTransmitDataPacket(data,4,0x0000);&lt;BR /&gt; vTransmitDataPacket(data,4,0x0000);&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN&gt;The result:&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN&gt;20726445 MicroSec | Transmit Request with size 4 &lt;BR /&gt;20731540 MicroSec | Transmit Request with size 4 &lt;BR /&gt;20736663 MicroSec | Transmit Request with size 4 &lt;BR /&gt;20741786 MicroSec | Data transmit Confirm &lt;BR /&gt;20746197 MicroSec | Data transmit Confirm &lt;BR /&gt;20750579 MicroSec | Data transmit Confirm&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;0 random backoff and retries :&lt;/P&gt;&lt;PRE class="language-c line-numbers"&gt;&lt;CODE&gt;&lt;SPAN class="comment token"&gt;// No Csma Backoff chances&lt;/SPAN&gt;
 &lt;SPAN class="token function"&gt;MAC_vPibSetMaxCsmaBackoffs&lt;/SPAN&gt;&lt;SPAN class="punctuation token"&gt;(&lt;/SPAN&gt;s_pvMac&lt;SPAN class="punctuation token"&gt;,&lt;/SPAN&gt;&lt;SPAN class="number token"&gt;0&lt;/SPAN&gt;&lt;SPAN class="punctuation token"&gt;)&lt;/SPAN&gt;&lt;SPAN class="punctuation token"&gt;;&lt;/SPAN&gt;
 &lt;SPAN class="comment token"&gt;// No Random BackOff Periods&lt;/SPAN&gt;
 &lt;SPAN class="token function"&gt;MAC_vPibSetMinBe&lt;/SPAN&gt;&lt;SPAN class="punctuation token"&gt;(&lt;/SPAN&gt;s_pvMac&lt;SPAN class="punctuation token"&gt;,&lt;/SPAN&gt;&lt;SPAN class="number token"&gt;0&lt;/SPAN&gt;&lt;SPAN class="punctuation token"&gt;)&lt;/SPAN&gt;&lt;SPAN class="punctuation token"&gt;;&lt;/SPAN&gt;&lt;SPAN class="line-numbers-rows"&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/CODE&gt;&lt;/PRE&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN&gt;The time between the first request and the first confirm should be not more than&amp;nbsp; 4256 microseconds (dataframe transmission time) + 128 (CCA time) + 0 random backoff and No ack&amp;nbsp; equals to 4384 microseconds for the case of the max payload (&lt;/SPAN&gt;&lt;SPAN&gt;114 bytes), but instead, my test with only 4 bytes of payload resulted in&amp;nbsp;15,341 microseconds (20741786 - 20726445). Could anybody point me in the right direction?&amp;nbsp;&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN&gt;Is the time class or something else?&lt;/SPAN&gt;&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
    <pubDate>Wed, 08 Jul 2020 05:28:37 GMT</pubDate>
    <dc:creator>ramonet</dc:creator>
    <dc:date>2020-07-08T05:28:37Z</dc:date>
    <item>
      <title>JN5169 Data transmit  request-confirm time</title>
      <link>https://community.nxp.com/t5/Wireless-MCU/JN5169-Data-transmit-request-confirm-time/m-p/1073637#M9654</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Hi,&amp;nbsp;&lt;/P&gt;&lt;P&gt;I am trying to measure the time interval between&amp;nbsp;a data request and a data confirmation&amp;nbsp;in a single transmitting device but I am not 100 %&amp;nbsp; sure my time class is correct or even if this can simply be measured by getting the times in the mcps-data.request and mcps-data.confirm. Perhaps there are some delays I am not aware of? I am using JN-AN-1174 as a base.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;My time class looks like this:&amp;nbsp;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;PRE class="language-c line-numbers"&gt;&lt;CODE&gt;PRIVATE &lt;SPAN class="keyword token"&gt;void&lt;/SPAN&gt; &lt;SPAN class="token function"&gt;vTimer0Callback&lt;/SPAN&gt;&lt;SPAN class="punctuation token"&gt;(&lt;/SPAN&gt;uint32 u32Device&lt;SPAN class="punctuation token"&gt;,&lt;/SPAN&gt; uint32 u32ItemBitmap&lt;SPAN class="punctuation token"&gt;)&lt;/SPAN&gt;
&lt;SPAN class="punctuation token"&gt;{&lt;/SPAN&gt;
 tickCount&lt;SPAN class="operator token"&gt;++&lt;/SPAN&gt;&lt;SPAN class="punctuation token"&gt;;&lt;/SPAN&gt;
&lt;SPAN class="punctuation token"&gt;}&lt;/SPAN&gt;
PUBLIC &lt;SPAN class="keyword token"&gt;void&lt;/SPAN&gt; vInitTimer &lt;SPAN class="punctuation token"&gt;(&lt;/SPAN&gt;&lt;SPAN class="punctuation token"&gt;)&lt;/SPAN&gt;
&lt;SPAN class="punctuation token"&gt;{&lt;/SPAN&gt;
 tickCount &lt;SPAN class="operator token"&gt;=&lt;/SPAN&gt; &lt;SPAN class="number token"&gt;0&lt;/SPAN&gt;&lt;SPAN class="punctuation token"&gt;;&lt;/SPAN&gt;
&lt;SPAN class="comment token"&gt;// 16 Mhz clock&lt;/SPAN&gt;
 &lt;SPAN class="comment token"&gt;// With a 2^4 Prescaler = 16/2^4 = 1Mhz clock = 1 000 000 hz&lt;/SPAN&gt;
 &lt;SPAN class="comment token"&gt;// therefore, 1 tick = 1/1000 000 = 1us (microsecond)&lt;/SPAN&gt;
vAHI_TimerEnable &lt;SPAN class="punctuation token"&gt;(&lt;/SPAN&gt;E_AHI_TIMER_0&lt;SPAN class="punctuation token"&gt;,&lt;/SPAN&gt;&lt;SPAN class="comment token"&gt;// Using Timer 0, (Options 0-4)&lt;/SPAN&gt;
 &lt;SPAN class="number token"&gt;4&lt;/SPAN&gt;&lt;SPAN class="punctuation token"&gt;,&lt;/SPAN&gt; &lt;SPAN class="comment token"&gt;// Prescale 2^4&lt;/SPAN&gt;
 FALSE&lt;SPAN class="punctuation token"&gt;,&lt;/SPAN&gt; &lt;SPAN class="comment token"&gt;// Enable interrupt at the beginning of timer (lowToHigh)&lt;/SPAN&gt;
 TRUE&lt;SPAN class="punctuation token"&gt;,&lt;/SPAN&gt; &lt;SPAN class="comment token"&gt;// Enable interrupt in end of timer (highToLow)&lt;/SPAN&gt;
 FALSE&lt;SPAN class="punctuation token"&gt;)&lt;/SPAN&gt;&lt;SPAN class="punctuation token"&gt;;&lt;/SPAN&gt; &lt;SPAN class="comment token"&gt;// OutputEnabled: False= Timer Mode, True= PWN or Delta Sigma Mode&lt;/SPAN&gt;
vAHI_TimerClockSelect &lt;SPAN class="punctuation token"&gt;(&lt;/SPAN&gt;E_AHI_TIMER_0&lt;SPAN class="punctuation token"&gt;,&lt;/SPAN&gt;
 FALSE&lt;SPAN class="punctuation token"&gt;,&lt;/SPAN&gt; &lt;SPAN class="comment token"&gt;// FALSE = Use the internal 16Mhz clock, TRUE= Use external clock&lt;/SPAN&gt;
 TRUE&lt;SPAN class="punctuation token"&gt;)&lt;/SPAN&gt;&lt;SPAN class="punctuation token"&gt;;&lt;/SPAN&gt;
&lt;SPAN class="token function"&gt;vAHI_Timer0RegisterCallback&lt;/SPAN&gt;&lt;SPAN class="punctuation token"&gt;(&lt;/SPAN&gt;vTimer0Callback&lt;SPAN class="punctuation token"&gt;)&lt;/SPAN&gt;&lt;SPAN class="punctuation token"&gt;;&lt;/SPAN&gt;
&lt;SPAN class="token function"&gt;vAHI_TimerStartRepeat&lt;/SPAN&gt;&lt;SPAN class="punctuation token"&gt;(&lt;/SPAN&gt;E_AHI_TIMER_0&lt;SPAN class="punctuation token"&gt;,&lt;/SPAN&gt;
 &lt;SPAN class="number token"&gt;0&lt;/SPAN&gt;&lt;SPAN class="punctuation token"&gt;,&lt;/SPAN&gt;
 &lt;SPAN class="number token"&gt;60000&lt;/SPAN&gt;&lt;SPAN class="punctuation token"&gt;)&lt;/SPAN&gt;&lt;SPAN class="punctuation token"&gt;;&lt;/SPAN&gt; &lt;SPAN class="comment token"&gt;//repeat every 60ms&lt;/SPAN&gt;
&lt;SPAN class="punctuation token"&gt;}&lt;/SPAN&gt;
PUBLIC uint32 &lt;SPAN class="token function"&gt;vGetMicroSeconds&lt;/SPAN&gt;&lt;SPAN class="punctuation token"&gt;(&lt;/SPAN&gt;&lt;SPAN class="punctuation token"&gt;)&lt;/SPAN&gt;
&lt;SPAN class="punctuation token"&gt;{&lt;/SPAN&gt;
 &lt;SPAN class="keyword token"&gt;return&lt;/SPAN&gt; &lt;SPAN class="punctuation token"&gt;(&lt;/SPAN&gt;&lt;SPAN class="token function"&gt;u16AHI_TimerReadCount&lt;/SPAN&gt;&lt;SPAN class="punctuation token"&gt;(&lt;/SPAN&gt;E_AHI_TIMER_0&lt;SPAN class="punctuation token"&gt;)&lt;/SPAN&gt; &lt;SPAN class="operator token"&gt;+&lt;/SPAN&gt; &lt;SPAN class="punctuation token"&gt;(&lt;/SPAN&gt;&lt;SPAN class="number token"&gt;60000&lt;/SPAN&gt; &lt;SPAN class="operator token"&gt;*&lt;/SPAN&gt; tickCount&lt;SPAN class="punctuation token"&gt;)&lt;/SPAN&gt;&lt;SPAN class="punctuation token"&gt;)&lt;/SPAN&gt;&lt;SPAN class="punctuation token"&gt;;&lt;/SPAN&gt;
&lt;SPAN class="punctuation token"&gt;}&lt;/SPAN&gt;‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍&lt;SPAN class="line-numbers-rows"&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/CODE&gt;&lt;/PRE&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Inside&amp;nbsp;PRIVATE void vTransmitDataPacket(uint8 *pu8Data, uint8 u8Len, uint16 u16DestAdr)&lt;/P&gt;&lt;P&gt;I get the current time :&lt;/P&gt;&lt;P&gt;&lt;SPAN&gt;&amp;nbsp;&lt;/SPAN&gt;&lt;/P&gt;&lt;PRE class="language-c line-numbers"&gt;&lt;CODE&gt;&lt;SPAN class="comment token"&gt;/* Request transmit */&lt;/SPAN&gt;
 &lt;SPAN class="token function"&gt;DBG_vPrintf&lt;/SPAN&gt;&lt;SPAN class="punctuation token"&gt;(&lt;/SPAN&gt;TRUE&lt;SPAN class="punctuation token"&gt;,&lt;/SPAN&gt;&lt;SPAN class="string token"&gt;"%d MicroSec | Transmit Request with size %d \n"&lt;/SPAN&gt;&lt;SPAN class="punctuation token"&gt;,&lt;/SPAN&gt;&lt;SPAN class="token function"&gt;vGetMicroSeconds&lt;/SPAN&gt;&lt;SPAN class="punctuation token"&gt;(&lt;/SPAN&gt;&lt;SPAN class="punctuation token"&gt;)&lt;/SPAN&gt;&lt;SPAN class="punctuation token"&gt;,&lt;/SPAN&gt;sMcpsReqRsp&lt;SPAN class="punctuation token"&gt;.&lt;/SPAN&gt;uParam&lt;SPAN class="punctuation token"&gt;.&lt;/SPAN&gt;sReqData&lt;SPAN class="punctuation token"&gt;.&lt;/SPAN&gt;sFrame&lt;SPAN class="punctuation token"&gt;.&lt;/SPAN&gt;u8SduLength&lt;SPAN class="punctuation token"&gt;)&lt;/SPAN&gt;&lt;SPAN class="punctuation token"&gt;;&lt;/SPAN&gt;
 &lt;SPAN class="token function"&gt;vAppApiMcpsRequest&lt;/SPAN&gt;&lt;SPAN class="punctuation token"&gt;(&lt;/SPAN&gt;&lt;SPAN class="operator token"&gt;&amp;amp;&lt;/SPAN&gt;sMcpsReqRsp&lt;SPAN class="punctuation token"&gt;,&lt;/SPAN&gt; &lt;SPAN class="operator token"&gt;&amp;amp;&lt;/SPAN&gt;sMcpsSyncCfm&lt;SPAN class="punctuation token"&gt;)&lt;/SPAN&gt;&lt;SPAN class="punctuation token"&gt;;&lt;/SPAN&gt;‍‍‍‍‍‍&lt;SPAN class="line-numbers-rows"&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/CODE&gt;&lt;/PRE&gt;&lt;P&gt;&lt;SPAN&gt;&amp;nbsp;&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN&gt;and inside&amp;nbsp;PRIVATE void vHandleMcpsDataDcfm(MAC_McpsDcfmInd_s *psMcpsInd)&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN&gt;I get the current time again:&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;PRE class="language-c line-numbers"&gt;&lt;CODE&gt;&lt;SPAN class="keyword token"&gt;if&lt;/SPAN&gt; &lt;SPAN class="punctuation token"&gt;(&lt;/SPAN&gt;psMcpsInd&lt;SPAN class="operator token"&gt;-&amp;gt;&lt;/SPAN&gt;uParam&lt;SPAN class="punctuation token"&gt;.&lt;/SPAN&gt;sDcfmData&lt;SPAN class="punctuation token"&gt;.&lt;/SPAN&gt;u8Status &lt;SPAN class="operator token"&gt;==&lt;/SPAN&gt; MAC_ENUM_SUCCESS&lt;SPAN class="punctuation token"&gt;)&lt;/SPAN&gt;
 &lt;SPAN class="punctuation token"&gt;{&lt;/SPAN&gt;
 &lt;SPAN class="token function"&gt;DBG_vPrintf&lt;/SPAN&gt;&lt;SPAN class="punctuation token"&gt;(&lt;/SPAN&gt;TRUE&lt;SPAN class="punctuation token"&gt;,&lt;/SPAN&gt;&lt;SPAN class="string token"&gt;"%d MicroSec | Data transmit Confirm \n"&lt;/SPAN&gt;&lt;SPAN class="punctuation token"&gt;,&lt;/SPAN&gt;&lt;SPAN class="token function"&gt;vGetMicroSeconds&lt;/SPAN&gt;&lt;SPAN class="punctuation token"&gt;(&lt;/SPAN&gt;&lt;SPAN class="punctuation token"&gt;)&lt;/SPAN&gt;&lt;SPAN class="punctuation token"&gt;)&lt;/SPAN&gt;&lt;SPAN class="punctuation token"&gt;;&lt;/SPAN&gt;
 &lt;SPAN class="punctuation token"&gt;}&lt;/SPAN&gt;‍‍‍‍‍‍‍‍&lt;SPAN class="line-numbers-rows"&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/CODE&gt;&lt;/PRE&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN&gt;Finally, I transmit&amp;nbsp; 3 packets of 4 bytes:&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN&gt; vTransmitDataPacket(data,4,0x0000);&lt;BR /&gt; vTransmitDataPacket(data,4,0x0000);&lt;BR /&gt; vTransmitDataPacket(data,4,0x0000);&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN&gt;The result:&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN&gt;20726445 MicroSec | Transmit Request with size 4 &lt;BR /&gt;20731540 MicroSec | Transmit Request with size 4 &lt;BR /&gt;20736663 MicroSec | Transmit Request with size 4 &lt;BR /&gt;20741786 MicroSec | Data transmit Confirm &lt;BR /&gt;20746197 MicroSec | Data transmit Confirm &lt;BR /&gt;20750579 MicroSec | Data transmit Confirm&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;0 random backoff and retries :&lt;/P&gt;&lt;PRE class="language-c line-numbers"&gt;&lt;CODE&gt;&lt;SPAN class="comment token"&gt;// No Csma Backoff chances&lt;/SPAN&gt;
 &lt;SPAN class="token function"&gt;MAC_vPibSetMaxCsmaBackoffs&lt;/SPAN&gt;&lt;SPAN class="punctuation token"&gt;(&lt;/SPAN&gt;s_pvMac&lt;SPAN class="punctuation token"&gt;,&lt;/SPAN&gt;&lt;SPAN class="number token"&gt;0&lt;/SPAN&gt;&lt;SPAN class="punctuation token"&gt;)&lt;/SPAN&gt;&lt;SPAN class="punctuation token"&gt;;&lt;/SPAN&gt;
 &lt;SPAN class="comment token"&gt;// No Random BackOff Periods&lt;/SPAN&gt;
 &lt;SPAN class="token function"&gt;MAC_vPibSetMinBe&lt;/SPAN&gt;&lt;SPAN class="punctuation token"&gt;(&lt;/SPAN&gt;s_pvMac&lt;SPAN class="punctuation token"&gt;,&lt;/SPAN&gt;&lt;SPAN class="number token"&gt;0&lt;/SPAN&gt;&lt;SPAN class="punctuation token"&gt;)&lt;/SPAN&gt;&lt;SPAN class="punctuation token"&gt;;&lt;/SPAN&gt;&lt;SPAN class="line-numbers-rows"&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/CODE&gt;&lt;/PRE&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN&gt;The time between the first request and the first confirm should be not more than&amp;nbsp; 4256 microseconds (dataframe transmission time) + 128 (CCA time) + 0 random backoff and No ack&amp;nbsp; equals to 4384 microseconds for the case of the max payload (&lt;/SPAN&gt;&lt;SPAN&gt;114 bytes), but instead, my test with only 4 bytes of payload resulted in&amp;nbsp;15,341 microseconds (20741786 - 20726445). Could anybody point me in the right direction?&amp;nbsp;&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN&gt;Is the time class or something else?&lt;/SPAN&gt;&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Wed, 08 Jul 2020 05:28:37 GMT</pubDate>
      <guid>https://community.nxp.com/t5/Wireless-MCU/JN5169-Data-transmit-request-confirm-time/m-p/1073637#M9654</guid>
      <dc:creator>ramonet</dc:creator>
      <dc:date>2020-07-08T05:28:37Z</dc:date>
    </item>
    <item>
      <title>Re: JN5169 Data transmit  request-confirm time</title>
      <link>https://community.nxp.com/t5/Wireless-MCU/JN5169-Data-transmit-request-confirm-time/m-p/1073638#M9655</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Hi Alberto,&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;I hope you are doing great.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Could you please provide more details about your application? What is the reason for getting the time between the data request and&amp;nbsp;&lt;SPAN style="color: #51626f; background-color: #ffffff;"&gt;data confirmation?&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P style="border: 0px;"&gt;&lt;SPAN style="border: 0px; font-weight: inherit;"&gt;Could anybody point me in the right direction?&amp;nbsp;&lt;/SPAN&gt;&lt;/P&gt;&lt;P style="border: 0px;"&gt;&lt;SPAN style="border: 0px; font-weight: inherit;"&gt;Is the time class or something else?&lt;/SPAN&gt;&lt;/P&gt;&lt;P style="border: 0px;"&gt;&lt;SPAN style="border: 0px; font-weight: inherit;"&gt;You have to be careful about the time that the MCU needs to read out the time.&lt;/SPAN&gt;&lt;/P&gt;&lt;P style="border: 0px;"&gt;&lt;/P&gt;&lt;P style="border: 0px;"&gt;&lt;SPAN style="border: 0px; font-weight: inherit;"&gt;The "if", that is getting&amp;nbsp;MAC_ENUM_SUCCESS, the data frame transmission was successful. So, it requires some time in this validation.&lt;/SPAN&gt;&lt;/P&gt;&lt;P style="border: 0px;"&gt;&lt;/P&gt;&lt;P style="border: 0px;"&gt;&lt;SPAN style="border: 0px; font-weight: inherit;"&gt;You could double-check the packets over the air using a sniffer.&lt;/SPAN&gt;&lt;/P&gt;&lt;P style="border: 0px;"&gt;&lt;SPAN style="border: 0px; font-weight: inherit;"&gt;&amp;nbsp;&lt;/SPAN&gt;&lt;/P&gt;&lt;P style="border: 0px;"&gt;&lt;SPAN style="border: 0px; font-weight: inherit;"&gt;Regards,&lt;/SPAN&gt;&lt;/P&gt;&lt;P style="border: 0px;"&gt;&lt;SPAN style="border: 0px; font-weight: inherit;"&gt;Mario&lt;/SPAN&gt;&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Tue, 14 Jul 2020 19:21:00 GMT</pubDate>
      <guid>https://community.nxp.com/t5/Wireless-MCU/JN5169-Data-transmit-request-confirm-time/m-p/1073638#M9655</guid>
      <dc:creator>mario_castaneda</dc:creator>
      <dc:date>2020-07-14T19:21:00Z</dc:date>
    </item>
    <item>
      <title>Re: JN5169 Data transmit  request-confirm time</title>
      <link>https://community.nxp.com/t5/Wireless-MCU/JN5169-Data-transmit-request-confirm-time/m-p/1073639#M9656</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Hi Mario,&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Thank you very much for your reply.&lt;/P&gt;&lt;P&gt;The reason to measure the times between request and data confirmation is to know the internal times involved&amp;nbsp;between the moment we give the order to transmit a packet and the moment we successfully sent that packet also, to know when TurnArounds are occurring. This is to reproduce the same behavior in simulations.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;You are totally right. In my case, it was not only the delays caused by the MCU time read and the validations in the program but also,&amp;nbsp;there was a&amp;nbsp;huge delay caused by the DBG_vPrintf itself (in the order of 3000us).&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;I solved this by only taking the time in the moments I needed and,&amp;nbsp; printing these resulting times at the end.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;I am also measuring the time between data confirmations to figure out if the PHY goes back to PHY_RX_ON between packets. Apparently, it did not.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;I tested sending 4 packets and measuring their intervals&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;span class="lia-inline-image-display-wrapper" image-alt="dataTrans.png"&gt;&lt;img src="https://community.nxp.com/t5/image/serverpage/image-id/115865i4B9630D6FBFCF925/image-size/large?v=v2&amp;amp;px=999" role="button" title="dataTrans.png" alt="dataTrans.png" /&gt;&lt;/span&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P data-sourcepos="4:1-4:211"&gt;The transmission of data packets in a beaconless mode, with a Beacon Exponent (BE) of 0 (No random backoffs delays before CCA) and no ACK flag, with a payload of 114 bytes (max payload)&amp;nbsp; is:&lt;/P&gt;&lt;P data-sourcepos="4:1-4:211"&gt;&lt;/P&gt;&lt;P data-sourcepos="6:1-8:13"&gt;1 byte = 2 sym 1 sym = 16 us (us = MicroSeconds) LIFS = 40 sym&lt;/P&gt;&lt;P data-sourcepos="6:1-8:13"&gt;&lt;/P&gt;&lt;P data-sourcepos="10:1-10:106"&gt;114 bytes (data Payload) + 13 bytes (Mac header and trailer) + 6 bytes (PHY headers) = 127 bytes = 4256 us&lt;/P&gt;&lt;P data-sourcepos="10:1-10:106"&gt;&lt;/P&gt;&lt;P data-sourcepos="12:1-12:80"&gt;Therefore, the interval between data packets of the same payload size should be:&lt;/P&gt;&lt;P data-sourcepos="14:1-14:57"&gt;4256 us (data) + 128 us (1 CCA) + 640 us (LIFS) = 5024 us&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;span class="lia-inline-image-display-wrapper" image-alt="confirmInterval.png"&gt;&lt;img src="https://community.nxp.com/t5/image/serverpage/image-id/115866iA2124A3D2825D8A6/image-size/large?v=v2&amp;amp;px=999" role="button" title="confirmInterval.png" alt="confirmInterval.png" /&gt;&lt;/span&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;The interval values obtained are a little above 5024 us but I think is the overheads you mentioned.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;I think the PHY remains TX_ON after the initial packet and there is no more extra turnArounds, is this assumption correct?&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Furthermore, is there a way to know the value of the TurnAround (TX-&amp;gt;RX and RX-&amp;gt;TX) in JN5169?&amp;nbsp; I know it should not be more than 12 sym (192us) but that does not mean the value is exactly 12 sym . Also, I am suspecting it is different between&amp;nbsp;&lt;SPAN&gt;TX-&amp;gt;RX and RX-&amp;gt;TX.&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN&gt;Thank you for your time and sorry for the lengthy post. Please let me know what you think about this.&lt;/SPAN&gt;&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Wed, 15 Jul 2020 07:25:03 GMT</pubDate>
      <guid>https://community.nxp.com/t5/Wireless-MCU/JN5169-Data-transmit-request-confirm-time/m-p/1073639#M9656</guid>
      <dc:creator>ramonet</dc:creator>
      <dc:date>2020-07-15T07:25:03Z</dc:date>
    </item>
    <item>
      <title>Re: JN5169 Data transmit  request-confirm time</title>
      <link>https://community.nxp.com/t5/Wireless-MCU/JN5169-Data-transmit-request-confirm-time/m-p/1073640#M9657</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Hi Alberto,&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P style="color: #51626f; background-color: #ffffff; border: 0px;"&gt;&lt;EM&gt;The interval values obtained are a little above 5024 us but I think is the overheads you mentioned.&lt;/EM&gt;&lt;/P&gt;&lt;P style="color: #51626f; background-color: #ffffff; border: 0px;"&gt;&lt;EM&gt;I think the PHY remains TX_ON after the initial packet and there are no more extra turnArounds, is this assumption correct?&lt;/EM&gt;&lt;/P&gt;&lt;P style="color: #51626f; background-color: #ffffff; border: 0px;"&gt;&lt;/P&gt;&lt;P style="color: #51626f; background-color: #ffffff; border: 0px;"&gt;The PHY remains in RX if the TX is setting the ACK flag, this requires around&amp;nbsp;180 to 204 μs (turnaround time range from ZB_CSG-ZigBee-IP IEEE 802.15.4 Level Test Specification)&lt;/P&gt;&lt;P style="color: #51626f; background-color: #ffffff; border: 0px;"&gt;&lt;/P&gt;&lt;P style="color: #51626f; background-color: #ffffff; border: 0px;"&gt;Regards,&lt;/P&gt;&lt;P style="color: #51626f; background-color: #ffffff; border: 0px;"&gt;Mario&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Fri, 17 Jul 2020 21:00:13 GMT</pubDate>
      <guid>https://community.nxp.com/t5/Wireless-MCU/JN5169-Data-transmit-request-confirm-time/m-p/1073640#M9657</guid>
      <dc:creator>mario_castaneda</dc:creator>
      <dc:date>2020-07-17T21:00:13Z</dc:date>
    </item>
    <item>
      <title>Re: JN5169 Data transmit  request-confirm time</title>
      <link>https://community.nxp.com/t5/Wireless-MCU/JN5169-Data-transmit-request-confirm-time/m-p/1073641#M9658</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Thank you Mario I really appreciate your comments.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Sorry to Insist, but as I mentioned, the figure I posted above was for transmission &lt;STRONG&gt;without Acknowledgement&lt;/STRONG&gt;. So, If am not mistaken for this case, the PHY remains in TX&amp;nbsp; after the first transmission until the MAC is idle again, correct?&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Now, for the case of Data transmission&amp;nbsp;&lt;STRONG&gt;with Acknowledgment&lt;/STRONG&gt; my mental image is this:&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;span class="lia-inline-image-display-wrapper" image-alt="dataTransAck.png"&gt;&lt;img src="https://community.nxp.com/t5/image/serverpage/image-id/116248iE77C180B49281F9F/image-size/large?v=v2&amp;amp;px=999" role="button" title="dataTransAck.png" alt="dataTransAck.png" /&gt;&lt;/span&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Or at least this should be true, but the NXP data rates calculation document mentions that in real cases the backoff delay overlaps the IFS for energy saving reasons. What happens if BE =0 and therefore, there is no backoff delay?&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;In the figure above of data transmission with ACK, and&amp;nbsp;&amp;nbsp;with BE=0, does the IFS overlaps and therefore absorb the CCA and the TurnAround(Rx-&amp;gt;Tx) time??&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Furthermore,&amp;nbsp; you mention that the turnaround is between&amp;nbsp;&lt;SPAN style="color: #51626f; background-color: #ffffff;"&gt;180 to 204 μs&lt;/SPAN&gt;, isn't this above the 192us that is supposed to be the maximum limit according to the IEEE 802.15.4-2006 std?&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;I really appreciate if you could clarify these questions, thank you for your support.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Sincerely,&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Alberto&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Mon, 20 Jul 2020 02:54:36 GMT</pubDate>
      <guid>https://community.nxp.com/t5/Wireless-MCU/JN5169-Data-transmit-request-confirm-time/m-p/1073641#M9658</guid>
      <dc:creator>ramonet</dc:creator>
      <dc:date>2020-07-20T02:54:36Z</dc:date>
    </item>
    <item>
      <title>Re: JN5169 Data transmit  request-confirm time</title>
      <link>https://community.nxp.com/t5/Wireless-MCU/JN5169-Data-transmit-request-confirm-time/m-p/1073642#M9659</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Hi Alberto,&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;BE shall be initialized to the value of macMinBE. So,&amp;nbsp;if macMinBE is set to zero, collision avoidance will be disabled during the&amp;nbsp;first iteration of this algorithm. After that, the BE will provide a value of&amp;nbsp;BE = min(BE+1, macMinBE).&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Regards,&lt;/P&gt;&lt;P&gt;Mario&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Thu, 23 Jul 2020 02:05:30 GMT</pubDate>
      <guid>https://community.nxp.com/t5/Wireless-MCU/JN5169-Data-transmit-request-confirm-time/m-p/1073642#M9659</guid>
      <dc:creator>mario_castaneda</dc:creator>
      <dc:date>2020-07-23T02:05:30Z</dc:date>
    </item>
  </channel>
</rss>

