<?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 Reads of 500 bytes taking 9 seconds</title><link>https://devzone.nordicsemi.com/f/nordic-q-a/57274/ble-reads-of-500-bytes-taking-9-seconds</link><description>I have taken the code found here: 
 https://github.com/bjornspockeli/custom_ble_service_example 
 and modified it so that the custom characteristic is located in user memory instead of on the stack, and also made the size of it 500 bytes instead of 1</description><dc:language>en-US</dc:language><generator>Telligent Community 13</generator><lastBuildDate>Mon, 03 Feb 2020 12:53:21 GMT</lastBuildDate><atom:link rel="self" type="application/rss+xml" href="https://devzone.nordicsemi.com/f/nordic-q-a/57274/ble-reads-of-500-bytes-taking-9-seconds" /><item><title>RE: BLE Reads of 500 bytes taking 9 seconds</title><link>https://devzone.nordicsemi.com/thread/232321?ContentTypeID=1</link><pubDate>Mon, 03 Feb 2020 12:53:21 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:60ef934d-3b03-4d39-98fe-06a4e0fc7113</guid><dc:creator>SleepingDog</dc:creator><description>&lt;p&gt;Thank you *VERY* much, Dmitry. That was it. Clearly I have more learning to do with respect to BLE. I did not understand this aspect of the protocol at all.&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: BLE Reads of 500 bytes taking 9 seconds</title><link>https://devzone.nordicsemi.com/thread/232274?ContentTypeID=1</link><pubDate>Mon, 03 Feb 2020 10:09:06 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:937455c9-0995-490a-a8a8-68f27735d2db</guid><dc:creator>Sigurd</dc:creator><description>&lt;p&gt;Decreasing the connection interval will help. I also recommend increasing&amp;nbsp;NRF_SDH_BLE_GAP_EVENT_LENGTH in sdk_config.h from 6 to e.g. 320&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: BLE Reads of 500 bytes taking 9 seconds</title><link>https://devzone.nordicsemi.com/thread/232202?ContentTypeID=1</link><pubDate>Sun, 02 Feb 2020 19:26:58 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:77ea67c0-7e3b-47f2-a95d-67c22f6bd53b</guid><dc:creator>Dmitry</dc:creator><description>&lt;p&gt;Hi,&lt;/p&gt;
&lt;p&gt;The connection interval in original example is 100-200 msec. If you didn&amp;#39;t change it, device can transfer 5-10 packets per second. A default MTU size is 23 bytes that allows you to transfer your characteristic by twenty five 20-byte chunks, requiring 50 packets - 25 requests and 25 responses, so total time will vary from 5 to 10 seconds - that&amp;#39;s your case. To improve speed, a simplest way is to decrease connection interval:&lt;/p&gt;
&lt;p&gt;&lt;pre class="ui-code" data-mode="c_cpp"&gt;#define MIN_CONN_INTERVAL      MSEC_TO_UNITS(15, UNIT_1_25_MS)
#define MAX_CONN_INTERVAL      MSEC_TO_UNITS(20, UNIT_1_25_MS)
&lt;/pre&gt;&lt;/p&gt;
&lt;p&gt;A better speed improvement can be achieved by increasing MTU up to 251 bytes and use DLE (data length extension), but it has to be supported by both sides. You can search forum, there was a number of threads about increasing MTU size.&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item></channel></rss>