<?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 Gatt Read Characteristic Slow Or Normal?</title><link>https://devzone.nordicsemi.com/f/nordic-q-a/7620/ble-gatt-read-characteristic-slow-or-normal</link><description>I am using read characteristic to read data from from a characteristic. The characteristics range from 2 bytes to 32 bytes in length. The time to read the data using IOS, Android or Linux, varies from 100ms to 400ms. Even for 2 bytes the timing is quite</description><dc:language>en-US</dc:language><generator>Telligent Community 13</generator><lastBuildDate>Thu, 18 Jun 2015 04:33:47 GMT</lastBuildDate><atom:link rel="self" type="application/rss+xml" href="https://devzone.nordicsemi.com/f/nordic-q-a/7620/ble-gatt-read-characteristic-slow-or-normal" /><item><title>RE: BLE Gatt Read Characteristic Slow Or Normal?</title><link>https://devzone.nordicsemi.com/thread/27194?ContentTypeID=1</link><pubDate>Thu, 18 Jun 2015 04:33:47 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:b4d18ec2-7fed-49be-9835-1163e702ab30</guid><dc:creator>FormerMember</dc:creator><description>&lt;p&gt;On the BLE_GAP_EVT_CONNECTED: I set the parameters using sd_ble_gap_conn_param_update. For experimental purposes, I used a min interval of 12ms and a max interval of 25 ms. The results were much better, however the reception time difference between packets varied from 16 to 38ms(Android).&lt;/p&gt;
&lt;p&gt;I tried 3 settings to match different sensor sample rates on the BLE device.&lt;/p&gt;
&lt;p&gt;40 Hz (20ms)
50 Hz (25ms)
100 Hz (10ms)&lt;/p&gt;
&lt;p&gt;Over a period of a minute or more, the reception rate at the Android end matched the sensor sample rate. To achieved the increased rates I simply reduced the connection interval. All in all satisfactory results. Over periods of 8 hours or more, the behavious remained the same.&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: BLE Gatt Read Characteristic Slow Or Normal?</title><link>https://devzone.nordicsemi.com/thread/27193?ContentTypeID=1</link><pubDate>Wed, 17 Jun 2015 07:44:32 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:22743be2-28ef-431d-bcff-ad2f5fd79125</guid><dc:creator>Ulrich Myhre</dc:creator><description>&lt;p&gt;You could try to send some Connection Parameter Update requests with lower and lower parameters and see what your peer accepts. The numerous threads on DevZone about throughput should be mentioning the minimum connection parameters for various smart phone centrals, &lt;a href="https://devzone.nordicsemi.com/question/3440/how-do-i-calculate-throughput-for-a-ble-link/"&gt;here is one of these&lt;/a&gt;. It mentions that the latest iOS (at that point) did not allow anything below 30ms, but there is an exception here for device that have a HID profile.&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: BLE Gatt Read Characteristic Slow Or Normal?</title><link>https://devzone.nordicsemi.com/thread/27192?ContentTypeID=1</link><pubDate>Wed, 17 Jun 2015 07:27:56 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:5a7834a5-4ef8-4076-adce-daecf7dd974b</guid><dc:creator>FormerMember</dc:creator><description>&lt;p&gt;It did strike me as very slow. I&amp;#39;m not sure of the cause. As you say it could be interference caused by numerous other devices using the 2.4GHz band. The results are pretty consistent for different applications.&lt;/p&gt;
&lt;p&gt;Notifcations are reasonably fast, 30 ms for IOS, 50 ms for Android. My aim is for about 20ms.&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: BLE Gatt Read Characteristic Slow Or Normal?</title><link>https://devzone.nordicsemi.com/thread/27191?ContentTypeID=1</link><pubDate>Mon, 15 Jun 2015 11:45:22 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:401735b8-0e10-4426-8955-6f66d65ad4fd</guid><dc:creator>Ulrich Myhre</dc:creator><description>&lt;p&gt;Hi Paul,&lt;/p&gt;
&lt;p&gt;Of all the things that govern the response time and throughput of read requests, the only thing you can tune here is the connection interval. This can be done by sending a connection parameter update request (if you are the peripheral) or by changing them directly (if central). This is done by calling sd_ble_gap_conn_param_update() with the connection parameters your prefer. The PPCP (Peripheral Preferred Connection Parameters) are only an indication of which connection parameters you normally prefer, but not all peers will care about this. PPCP is also only available after you are connected, unless you choose to include the AD field in your advertising data. Each central will also have their own limitations on connection parameters, where e.g. Android will go down to 7.5ms and iOS to 11.5ms (only if HID service available).&lt;/p&gt;
&lt;p&gt;You should set the PPCP to whatever parameters you prefer for normal operation, and send a connection parameter update request at the start of the connection if the parameters are unsuitable for your requirements. There are certain rules when it comes to combinations of slave latency, supervision timeout and connection intervals and quite different power usages, so please read through the documentation for &lt;a href="https://developer.nordicsemi.com/nRF51_SDK/nRF51_SDK_v8.x.x/doc/8.1.0/s110/html/a01288.html#gaf89b434841998ab384e0612dca9e12f8"&gt;sd_ble_gap_conn_param_update&lt;/a&gt;() and &lt;a href="https://developer.nordicsemi.com/nRF51_SDK/nRF51_SDK_v8.x.x/doc/8.1.0/s110/html/a00255.html"&gt;ble_gap_conn_params_t&lt;/a&gt; to get some pointers on these.&lt;/p&gt;
&lt;p&gt;The normal delay of a read request should be no more than 7.5ms at normal operating conditions, but this can be much worse in places with lots of interference in the 2.4 GHz band (leads to CRC errors, collisions, etc.)&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item></channel></rss>