<?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>topic Re: JN5169: MCPS  Synchronous Data Confirm in Wireless MCU</title>
    <link>https://community.nxp.com/t5/Wireless-MCU/JN5169-MCPS-Synchronous-Data-Confirm/m-p/1080437#M9782</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 for taking the time to answer my question.&lt;/P&gt;&lt;P&gt;I think the question was more about whether or not data.request - data.confirm was a blocking operation (Synchronized by the terms used in NXP manual). Which according to the manual its "&lt;SPAN style="color: #51626f; background-color: #ffffff;"&gt;Return the results immediately, rather than the results being posted as a deferred confirm sometime later".&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;This is a little unclear because&amp;nbsp; data.confirm is handle by "vHandleMcpsData&lt;STRONG&gt;D&lt;/STRONG&gt;cfrm" , and as far as I know the D stands for Deferred which somehow means this is a non-blocking operation, but in other section of the reference guide its inferred that this is indeed a blocking operation (synchronized) and therefore not "deferred".&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;This is also somehow related to my other question in&amp;nbsp;&lt;A href="https://community.nxp.com/message/1337119"&gt;https://community.nxp.com/message/1337119&lt;/A&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;The sync operation used in the beacon mode is unrelated. I was talking about the transmission of data packets in beaconless mode.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Thank you for your time.&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
    <pubDate>Wed, 15 Jul 2020 07:48:29 GMT</pubDate>
    <dc:creator>ramonet</dc:creator>
    <dc:date>2020-07-15T07:48:29Z</dc:date>
    <item>
      <title>JN5169: MCPS  Synchronous Data Confirm</title>
      <link>https://community.nxp.com/t5/Wireless-MCU/JN5169-MCPS-Synchronous-Data-Confirm/m-p/1080435#M9780</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;According to the&amp;nbsp;&lt;A href="https://www.nxp.com/docs/en/user-guide/JN-UG-3024.pdf" rel="nofollow noopener noreferrer" target="_blank"&gt;2.6 User Guide&lt;/A&gt;, it is possible to have Synchronous Data Confirm (i.e. Return the results immediately, rather than the results being posted as a deferred confirm sometime later).&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;See Section 3.8.3.&amp;nbsp; (User Guide 2.6) or page 18 (stack API v1.7).&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Regardless of this description, no explanation is given on how to achieve this. The example JN-AN-1174 only uses deferred confirms.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Here is what I tried, please check what is after&amp;nbsp;vAppApiMcpsRequest.&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;vTransmitDataPacket&lt;/SPAN&gt;&lt;SPAN class="punctuation token"&gt;(&lt;/SPAN&gt;uint8 &lt;SPAN class="operator token"&gt;*&lt;/SPAN&gt;pu8Data&lt;SPAN class="punctuation token"&gt;,&lt;/SPAN&gt; uint8 u8Len&lt;SPAN class="punctuation token"&gt;,&lt;/SPAN&gt; uint16 u16DestAdr&lt;SPAN class="punctuation token"&gt;)&lt;/SPAN&gt;
&lt;SPAN class="punctuation token"&gt;{&lt;/SPAN&gt;
 MAC_McpsReqRsp_s sMcpsReqRsp&lt;SPAN class="punctuation token"&gt;;&lt;/SPAN&gt;
 MAC_McpsSyncCfm_s sMcpsSyncCfm&lt;SPAN class="punctuation token"&gt;;&lt;/SPAN&gt;
 uint8 &lt;SPAN class="operator token"&gt;*&lt;/SPAN&gt;pu8Payload&lt;SPAN class="punctuation token"&gt;,&lt;/SPAN&gt; i &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;/* Create frame transmission request */&lt;/SPAN&gt;
 sMcpsReqRsp&lt;SPAN class="punctuation token"&gt;.&lt;/SPAN&gt;u8Type &lt;SPAN class="operator token"&gt;=&lt;/SPAN&gt; MAC_MCPS_REQ_DATA&lt;SPAN class="punctuation token"&gt;;&lt;/SPAN&gt;
 sMcpsReqRsp&lt;SPAN class="punctuation token"&gt;.&lt;/SPAN&gt;u8ParamLength &lt;SPAN class="operator token"&gt;=&lt;/SPAN&gt; &lt;SPAN class="keyword token"&gt;sizeof&lt;/SPAN&gt;&lt;SPAN class="punctuation token"&gt;(&lt;/SPAN&gt;MAC_McpsReqData_s&lt;SPAN class="punctuation token"&gt;)&lt;/SPAN&gt;&lt;SPAN class="punctuation token"&gt;;&lt;/SPAN&gt;
 &lt;SPAN class="comment token"&gt;/* Set handle so we can match confirmation to request */&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;u8Handle &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;/* Use short address for source */&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;sSrcAddr&lt;SPAN class="punctuation token"&gt;.&lt;/SPAN&gt;u8AddrMode &lt;SPAN class="operator token"&gt;=&lt;/SPAN&gt; &lt;SPAN class="number token"&gt;2&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;sSrcAddr&lt;SPAN class="punctuation token"&gt;.&lt;/SPAN&gt;u16PanId &lt;SPAN class="operator token"&gt;=&lt;/SPAN&gt; PAN_ID&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;sSrcAddr&lt;SPAN class="punctuation token"&gt;.&lt;/SPAN&gt;uAddr&lt;SPAN class="punctuation token"&gt;.&lt;/SPAN&gt;u16Short &lt;SPAN class="operator token"&gt;=&lt;/SPAN&gt; sEndDeviceData&lt;SPAN class="punctuation token"&gt;.&lt;/SPAN&gt;u16Address&lt;SPAN class="punctuation token"&gt;;&lt;/SPAN&gt;
 &lt;SPAN class="comment token"&gt;/* Use short address for destination */&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;sDstAddr&lt;SPAN class="punctuation token"&gt;.&lt;/SPAN&gt;u8AddrMode &lt;SPAN class="operator token"&gt;=&lt;/SPAN&gt; &lt;SPAN class="number token"&gt;2&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;sDstAddr&lt;SPAN class="punctuation token"&gt;.&lt;/SPAN&gt;u16PanId &lt;SPAN class="operator token"&gt;=&lt;/SPAN&gt; PAN_ID&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;sDstAddr&lt;SPAN class="punctuation token"&gt;.&lt;/SPAN&gt;uAddr&lt;SPAN class="punctuation token"&gt;.&lt;/SPAN&gt;u16Short &lt;SPAN class="operator token"&gt;=&lt;/SPAN&gt; u16DestAdr&lt;SPAN class="punctuation token"&gt;;&lt;/SPAN&gt;
&lt;SPAN class="comment token"&gt;/* Transmit without ack req */&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;u8TxOptions &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;// for ack req : MAC_TX_OPTION_ACK;&lt;/SPAN&gt;
 pu8Payload &lt;SPAN class="operator 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;au8Sdu&lt;SPAN class="punctuation token"&gt;;&lt;/SPAN&gt;
pu8Payload &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="operator token"&gt;=&lt;/SPAN&gt; &lt;SPAN class="number token"&gt;0x00&lt;/SPAN&gt;&lt;SPAN class="punctuation token"&gt;;&lt;/SPAN&gt;
 pu8Payload &lt;SPAN class="punctuation token"&gt;[&lt;/SPAN&gt;&lt;SPAN class="number token"&gt;1&lt;/SPAN&gt;&lt;SPAN class="punctuation token"&gt;]&lt;/SPAN&gt; &lt;SPAN class="operator token"&gt;=&lt;/SPAN&gt; &lt;SPAN class="number token"&gt;0x01&lt;/SPAN&gt;&lt;SPAN class="punctuation token"&gt;;&lt;/SPAN&gt;
 pu8Payload &lt;SPAN class="punctuation token"&gt;[&lt;/SPAN&gt;&lt;SPAN class="number token"&gt;2&lt;/SPAN&gt;&lt;SPAN class="punctuation token"&gt;]&lt;/SPAN&gt; &lt;SPAN class="operator token"&gt;=&lt;/SPAN&gt; &lt;SPAN class="number token"&gt;0x02&lt;/SPAN&gt;&lt;SPAN class="punctuation token"&gt;;&lt;/SPAN&gt;
 pu8Payload &lt;SPAN class="punctuation token"&gt;[&lt;/SPAN&gt;&lt;SPAN class="number token"&gt;3&lt;/SPAN&gt;&lt;SPAN class="punctuation token"&gt;]&lt;/SPAN&gt; &lt;SPAN class="operator token"&gt;=&lt;/SPAN&gt; &lt;SPAN class="number token"&gt;0x03&lt;/SPAN&gt;&lt;SPAN class="punctuation token"&gt;;&lt;/SPAN&gt;
&lt;SPAN class="comment token"&gt;/* Set frame length */&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="operator token"&gt;=&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;/* Request transmit */&lt;/SPAN&gt;
 uint32 currentTime &lt;SPAN class="operator 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="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;currentTime&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="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;"syncfmstatus %d \n"&lt;/SPAN&gt;&lt;SPAN class="punctuation token"&gt;,&lt;/SPAN&gt;sMcpsSyncCfm&lt;SPAN class="punctuation token"&gt;.&lt;/SPAN&gt;u8Status&lt;SPAN class="punctuation token"&gt;)&lt;/SPAN&gt;&lt;SPAN class="punctuation token"&gt;;&lt;/SPAN&gt;
&lt;SPAN class="comment token"&gt;//Status  here should be != deferred if we want a sync mcps confirm&lt;/SPAN&gt;
 &lt;SPAN class="keyword token"&gt;if&lt;/SPAN&gt; &lt;SPAN class="punctuation token"&gt;(&lt;/SPAN&gt;sMcpsSyncCfm&lt;SPAN class="punctuation token"&gt;.&lt;/SPAN&gt;u8Status &lt;SPAN class="operator token"&gt;!=&lt;/SPAN&gt; MAC_MCPS_CFM_DEFERRED&lt;SPAN class="punctuation token"&gt;)&lt;/SPAN&gt;&lt;SPAN class="punctuation token"&gt;{&lt;/SPAN&gt;
 &lt;SPAN class="keyword token"&gt;if&lt;/SPAN&gt; &lt;SPAN class="punctuation token"&gt;(&lt;/SPAN&gt;sMcpsSyncCfm&lt;SPAN class="punctuation token"&gt;.&lt;/SPAN&gt;uParam&lt;SPAN class="punctuation token"&gt;.&lt;/SPAN&gt;sCfmData&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;
 uint32 time1 &lt;SPAN class="operator 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="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 | Sync Data transmit confirm \n"&lt;/SPAN&gt;&lt;SPAN class="punctuation token"&gt;,&lt;/SPAN&gt;time1&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;/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;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;Any way to achieve this synchronous&amp;nbsp; MCPS-DATA.request - confirm?&lt;/P&gt;&lt;P&gt;Any help is much appreciated.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Regards,&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Al&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Thu, 09 Jul 2020 06:51:32 GMT</pubDate>
      <guid>https://community.nxp.com/t5/Wireless-MCU/JN5169-MCPS-Synchronous-Data-Confirm/m-p/1080435#M9780</guid>
      <dc:creator>ramonet</dc:creator>
      <dc:date>2020-07-09T06:51:32Z</dc:date>
    </item>
    <item>
      <title>Re: JN5169: MCPS  Synchronous Data Confirm</title>
      <link>https://community.nxp.com/t5/Wireless-MCU/JN5169-MCPS-Synchronous-Data-Confirm/m-p/1080436#M9781</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;Please look at the&amp;nbsp;1.15.2 Blocking and Non-Blocking Operation Chapter, the process that you need is the MAC User and MAC Layer wait for the response or confirm before carrying on processing.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;The next chapter will help you with this process.3.4 Synchronisation. We provide an example of a beacon synchronization request 3.5.3 Beacon Examples&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;The&amp;nbsp;vAppApiMlmeRequest API will help you to achieve this, look at the pointer structure *psMlmeReqRsp. Type MAC_MLME_REQ_SYNC.&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>Tue, 14 Jul 2020 20:00:40 GMT</pubDate>
      <guid>https://community.nxp.com/t5/Wireless-MCU/JN5169-MCPS-Synchronous-Data-Confirm/m-p/1080436#M9781</guid>
      <dc:creator>mario_castaneda</dc:creator>
      <dc:date>2020-07-14T20:00:40Z</dc:date>
    </item>
    <item>
      <title>Re: JN5169: MCPS  Synchronous Data Confirm</title>
      <link>https://community.nxp.com/t5/Wireless-MCU/JN5169-MCPS-Synchronous-Data-Confirm/m-p/1080437#M9782</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 for taking the time to answer my question.&lt;/P&gt;&lt;P&gt;I think the question was more about whether or not data.request - data.confirm was a blocking operation (Synchronized by the terms used in NXP manual). Which according to the manual its "&lt;SPAN style="color: #51626f; background-color: #ffffff;"&gt;Return the results immediately, rather than the results being posted as a deferred confirm sometime later".&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;This is a little unclear because&amp;nbsp; data.confirm is handle by "vHandleMcpsData&lt;STRONG&gt;D&lt;/STRONG&gt;cfrm" , and as far as I know the D stands for Deferred which somehow means this is a non-blocking operation, but in other section of the reference guide its inferred that this is indeed a blocking operation (synchronized) and therefore not "deferred".&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;This is also somehow related to my other question in&amp;nbsp;&lt;A href="https://community.nxp.com/message/1337119"&gt;https://community.nxp.com/message/1337119&lt;/A&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;The sync operation used in the beacon mode is unrelated. I was talking about the transmission of data packets in beaconless mode.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Thank you for your time.&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Wed, 15 Jul 2020 07:48:29 GMT</pubDate>
      <guid>https://community.nxp.com/t5/Wireless-MCU/JN5169-MCPS-Synchronous-Data-Confirm/m-p/1080437#M9782</guid>
      <dc:creator>ramonet</dc:creator>
      <dc:date>2020-07-15T07:48:29Z</dc:date>
    </item>
  </channel>
</rss>

