<?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>NRF51822 Data Logging - Buffering ADC measurements</title><link>https://devzone.nordicsemi.com/f/nordic-q-a/342/nrf51822-data-logging---buffering-adc-measurements</link><description>I have been looking at the NRF51822 for data logging sensor measurements from the ADC. Currently, I have run into some limitations with iOS and can only get approximately 12 samples per second transmitted reliably from the NRF51822 (real-time). Unfortunately</description><dc:language>en-US</dc:language><generator>Telligent Community 13</generator><lastBuildDate>Wed, 28 Aug 2013 06:31:42 GMT</lastBuildDate><atom:link rel="self" type="application/rss+xml" href="https://devzone.nordicsemi.com/f/nordic-q-a/342/nrf51822-data-logging---buffering-adc-measurements" /><item><title>RE: NRF51822 Data Logging - Buffering ADC measurements</title><link>https://devzone.nordicsemi.com/thread/1799?ContentTypeID=1</link><pubDate>Wed, 28 Aug 2013 06:31:42 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:be62b4e8-2425-43ea-9480-670409597d52</guid><dc:creator>Pablo Garcia</dc:creator><description>&lt;p&gt;Let&amp;#39;s move this to the right thread:
&lt;a target="_blank" href="https://devzone.nordicsemi.com/index.php/nrf8001-what-is-the-maximum-data-rate-with-peered-device" rel="nofollow"&gt;https://devzone.nordicsemi.com/index.php/nrf8001-what-is-the-maximum-data-rate-with-peered-device&lt;/a&gt;&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: NRF51822 Data Logging - Buffering ADC measurements</title><link>https://devzone.nordicsemi.com/thread/1798?ContentTypeID=1</link><pubDate>Wed, 28 Aug 2013 05:39:02 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:b60223ac-054b-4fd6-a29e-061cbfa22807</guid><dc:creator>Ole Morten</dc:creator><description>&lt;p&gt;I just realized my calculations were wrong by a factor 8... If you read the above as kilobytes per second, not kilobits, they are correct. The throughput of nRF8001 is hence 0.67 kBps or 1-2 kBps (or 5-6 kbps and 10-16 kbps), given a 30 ms connection interval. Sorry for the confusion!&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: NRF51822 Data Logging - Buffering ADC measurements</title><link>https://devzone.nordicsemi.com/thread/1797?ContentTypeID=1</link><pubDate>Mon, 26 Aug 2013 12:55:23 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:f243b113-5324-4c4b-8cf6-4f746ed57c75</guid><dc:creator>Pablo Garcia</dc:creator><description>&lt;p&gt;I move your reply to another thread then. tks !&lt;/p&gt;
&lt;p&gt;&lt;a target="_blank" href="https://devzone.nordicsemi.com/index.php/nrf8001-what-is-the-maximum-data-rate-with-peered-device#reply-795" rel="nofollow"&gt;https://devzone.nordicsemi.com/index.php/nrf8001-what-is-the-maximum-data-rate-with-peered-device#reply-795&lt;/a&gt;&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: NRF51822 Data Logging - Buffering ADC measurements</title><link>https://devzone.nordicsemi.com/thread/1796?ContentTypeID=1</link><pubDate>Mon, 26 Aug 2013 12:34:39 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:a3e1398f-5daf-4444-87d0-4efb1ec3e736</guid><dc:creator>Ole Morten</dc:creator><description>&lt;ul&gt;
&lt;li&gt;Apple allows you to change parameters, as long as you stay within their recommendations, as linked to in my other answer.&lt;/li&gt;
&lt;li&gt;With the nRF51822/S110, the maximum throughput is given in the S110 SoftDevice Specification. It&amp;#39;s basically up to 128 kbps for notification/write without responses.&lt;/li&gt;
&lt;li&gt;With the nRF8001, the throughput is less, since it can send only one packet and receive two-three packets for each connection event. With iOS, this becomes 0.67 kbps notifying and 1.3-2 kbps when read.&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;However, this doesn&amp;#39;t seem quite related to the original poster&amp;#39;s question, so if you need further information, I suggest you post a separate question. :-)&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: NRF51822 Data Logging - Buffering ADC measurements</title><link>https://devzone.nordicsemi.com/thread/1800?ContentTypeID=1</link><pubDate>Mon, 26 Aug 2013 12:28:45 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:2001c981-6521-407b-83d7-780eba913153</guid><dc:creator>Ole Morten</dc:creator><description>&lt;p&gt;The most important parameter to set data throughput is the connection interval. By the Bluetooth specification, the connection interval in BLE is limited to be between 7.5 ms and 4 s. Apple further limits the usable connection intervals in their &lt;a href="https://developer.apple.com/hardwaredrivers/BluetoothDesignGuidelines.pdf"&gt;Bluetooth Accessory Design Guidelines&lt;/a&gt; to be at least between 20 and 40 ms.&lt;/p&gt;
&lt;p&gt;With iOS you should be able to send up to 6 packets of 20 bytes each connection interval, and given an interval of 30 ms, this will give ~4 kbps. In practice you&amp;#39;ll most likely see some less, since 6 packets won&amp;#39;t be transferred every interval.&lt;/p&gt;
&lt;p&gt;We don&amp;#39;t really have any sample code explicitly showing how to buffer and transmit data, but there isn&amp;#39;t really any precautions needed to make this work. Just create a custom service and then send data with regular notifications, calling sd_ble_gatts_hvx() untill you get NO_TX_BUFFERS back. When you then get the BLE_EVT_TX_COMPLETE, you know there is more buffer space available, and you can send further data.&lt;/p&gt;
&lt;p&gt;For further explanation on connection parameters, take a look at &lt;a href="https://devzone.nordicsemi.com/index.php/what-is-connection-parameters"&gt;this question&lt;/a&gt;.&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: NRF51822 Data Logging - Buffering ADC measurements</title><link>https://devzone.nordicsemi.com/thread/1795?ContentTypeID=1</link><pubDate>Mon, 26 Aug 2013 05:26:38 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:ae4fefe1-1767-4d4e-ac19-31a78098a017</guid><dc:creator>Pablo Garcia</dc:creator><description>&lt;p&gt;I am also trying to send data to the cellphone (from the nRF8001, in my case) and the actual data rate is way below the theoric limit... what is going on here?&lt;/p&gt;
&lt;p&gt;Where are the bottlenecks?
For sure, one is on the Apple side, that does not allow to modify the connection intervals and parameters...
On the Nordic side... Is it the implementation of the BLE stack of Nordic?&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item></channel></rss>