<?xml version="1.0" encoding="UTF-8" ?>
<?xml-stylesheet type="text/xsl" href="https://devzone.nordicsemi.com/cfs-file/__key/system/syndication/rss.xsl" media="screen"?><rss version="2.0" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:slash="http://purl.org/rss/1.0/modules/slash/" xmlns:wfw="http://wellformedweb.org/CommentAPI/" xmlns:atom="http://www.w3.org/2005/Atom"><channel><title>BLE data packet transmission verification</title><link>https://devzone.nordicsemi.com/f/nordic-q-a/82237/ble-data-packet-transmission-verification</link><description>Hi, 
 Is it possible to check somehow if a BLE packet has been transferred (or not) from a peripheral to the central device? 
 Through a succesful transmission flag or something? 
 I use ble_nus_data_send() to transfer data to the central 
 
 Thank y</description><dc:language>en-US</dc:language><generator>Telligent Community 13</generator><lastBuildDate>Tue, 30 Nov 2021 15:11:58 GMT</lastBuildDate><atom:link rel="self" type="application/rss+xml" href="https://devzone.nordicsemi.com/f/nordic-q-a/82237/ble-data-packet-transmission-verification" /><item><title>RE: BLE data packet transmission verification</title><link>https://devzone.nordicsemi.com/thread/341351?ContentTypeID=1</link><pubDate>Tue, 30 Nov 2021 15:11:58 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:c6d305ae-13e7-4377-acda-7acf65fb083b</guid><dc:creator>Kazi Afroza Sultana</dc:creator><description>&lt;p&gt;Hello Kostoulas,&amp;nbsp;&lt;/p&gt;
&lt;p&gt;Thanks for your query.&lt;/p&gt;
&lt;p&gt;Yes it is possible to check the transmission of BLE&amp;nbsp;packet from a peripheral to the central device. In the ble_app_uart example, inside ble_evt_handler()&lt;strong&gt;&amp;nbsp;(main.c file) &lt;/strong&gt;function, you can just add the &lt;span&gt;BLE_GATTS_EVT_HVN_TX_COMPLETE (Handle value Notification Transmission Complete) as a case.&amp;nbsp;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span&gt;The packets are sent in the order they were queued, so if two packets are sent and received only one Transmission (TX) complete event, that means the first packet is acknowledged. When second one is also received that means both are acknowledged.&amp;nbsp;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span&gt;This notification is sent in order the way they are placed in transmission buffer.&amp;nbsp;The BLE packets doesn&amp;#39;t time out. Until getting notification/acknowledgement by the peer or getting a disconnect event (timeout), it will be (re) transmitted.&amp;nbsp;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span&gt;Hope it helps.&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span&gt;Best regards&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span&gt;Kazi Afroza Sultana&lt;/span&gt;&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item></channel></rss>