<?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>Fastest peripheral to central small packet transfer (nRF52)</title><link>https://devzone.nordicsemi.com/f/nordic-q-a/24621/fastest-peripheral-to-central-small-packet-transfer-nrf52</link><description>I am trying to send small data packets of up to 9 bytes at the fastest and most consistent rate from a nRF52 peripheral to a nRF52 Central. Both use the s332 SoftDevices. 
 What seems to give the best results is: 
 
 MIN and MAX CONN INTERVAL SET to</description><dc:language>en-US</dc:language><generator>Telligent Community 13</generator><lastBuildDate>Thu, 24 Aug 2017 11:02:06 GMT</lastBuildDate><atom:link rel="self" type="application/rss+xml" href="https://devzone.nordicsemi.com/f/nordic-q-a/24621/fastest-peripheral-to-central-small-packet-transfer-nrf52" /><item><title>RE: Fastest peripheral to central small packet transfer (nRF52)</title><link>https://devzone.nordicsemi.com/thread/96925?ContentTypeID=1</link><pubDate>Thu, 24 Aug 2017 11:02:06 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:af4eb1d2-7498-4570-9044-dd515c2ad8e6</guid><dc:creator>endnode</dc:creator><description>&lt;p&gt;No, &lt;code&gt;sd_ble_gatts_hvx&lt;/code&gt; is the only way how to issue GATT Notify method from GATT Server role so that is correct. Do you check return value (error code)? How do you handle when SD has no free Tx buffer left? Do you have any log from radio analyzer/sniffer to see how exactly is transfer achieved on link layer? Without that you are just guessing and dancing around the black box.&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: Fastest peripheral to central small packet transfer (nRF52)</title><link>https://devzone.nordicsemi.com/thread/96926?ContentTypeID=1</link><pubDate>Thu, 24 Aug 2017 10:57:38 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:28df8f65-0c81-45e8-a7fa-316f72e5e856</guid><dc:creator>Colt</dc:creator><description>&lt;p&gt;Thank you for the answer. When you say &amp;quot;calling HVX transport&amp;quot; what function are you referring to exactly?  We are currently using return &amp;quot;sd_ble_gatts_hvx(p_nus-&amp;gt;conn_handle, &amp;amp;hvx_params);&amp;quot;  Is there a better set of functions to use?&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: Fastest peripheral to central small packet transfer (nRF52)</title><link>https://devzone.nordicsemi.com/thread/96923?ContentTypeID=1</link><pubDate>Thu, 24 Aug 2017 08:41:02 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:1dd88f2d-e1bb-4dbd-a653-6ac75193b950</guid><dc:creator>run_ar</dc:creator><description>&lt;p&gt;Could you be using indications? Try to use notifications instead, it should be possible to send multiple packets in each connection event also at 7.5 ms events.&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: Fastest peripheral to central small packet transfer (nRF52)</title><link>https://devzone.nordicsemi.com/thread/96924?ContentTypeID=1</link><pubDate>Thu, 24 Aug 2017 07:06:48 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:2da2629c-6de0-47bc-a7d1-354b9c1ccbac</guid><dc:creator>endnode</dc:creator><description>&lt;p&gt;You won&amp;#39;t get anything much better then Nordic throughput examples I&amp;#39;m afraid. If you care about &amp;quot;latency&amp;quot; then you should go for 7.5ms connection interval (as you did) and simply try to play with throughput and MTU extension parameters to fine the best experimentally. If you group data to longer streams and then cut into packets of MTU-3 size it should be close to &amp;quot;ideal&amp;quot; throughput over GATT, also calling HVX transport each time you have packet ready (whatever timing it is) and simply doing it until you get error code back and then restart the same state machine on TX_COMPLETE event works well for me, hard to say what are you doing differently without seeing the code, debug log from the BLE FW and log from BLE radio...&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item></channel></rss>