<?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>Connection Interval and Througput</title><link>https://devzone.nordicsemi.com/f/nordic-q-a/67249/connection-interval-and-througput</link><description>Hi, 
 I am a bit confused about the effect the Connection Interval has on BLE throughput. 
 
 SoftDevice documentation : 
 https://infocenter.nordicsemi.com/index.jsp?topic=%2Fsds_s140%2FSDS%2Fs1xx%2Fmultilink_scheduling%2Fextend_connection_event.html</description><dc:language>en-US</dc:language><generator>Telligent Community 13</generator><lastBuildDate>Fri, 23 Oct 2020 13:26:39 GMT</lastBuildDate><atom:link rel="self" type="application/rss+xml" href="https://devzone.nordicsemi.com/f/nordic-q-a/67249/connection-interval-and-througput" /><item><title>RE: Connection Interval and Througput</title><link>https://devzone.nordicsemi.com/thread/276643?ContentTypeID=1</link><pubDate>Fri, 23 Oct 2020 13:26:39 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:83f9b974-1f65-42c3-b67d-333cf1037fb2</guid><dc:creator>ovrebekk</dc:creator><description>&lt;p&gt;Hi&amp;nbsp;&lt;/p&gt;
[quote user="wrani"]so , the &amp;quot;&amp;quot;GAP event length&amp;quot; is the actual time the radio is on, and conn. interval is the interval in which&amp;nbsp; &amp;quot;GAP event length &amp;quot; correct ?&amp;nbsp;[/quote]
&lt;p&gt;The GAP event length is the maximum time the stack can spend sending and receiving packets in one connection event, yes.&amp;nbsp;&lt;/p&gt;
&lt;p&gt;The connection interval is the time between the start of each connection event.&amp;nbsp;&lt;/p&gt;
[quote user="wrani"]Do I need to change &amp;quot;GAP event length &amp;quot; in the central \ Peripheral \ Both ?&amp;nbsp;[/quote]
&lt;p&gt;You need to change this on both sides, yes. If one device has a lower GAP event length than the other, then the lower value will set the maximum GAP event length for that connection.&amp;nbsp;&lt;/p&gt;
[quote user="wrani"]Currently - this are set to 50 in both Master and Peripheral, because I was unsure where to set them. Also - what is the effect &amp;quot;gap length&amp;quot; have on softdevice memory ?&amp;nbsp;[/quote]
&lt;p&gt;I don&amp;#39;t know if there is a precise relationship between the GAP event length and memory consumption, since this is affected by many factors. The critical point is that you keep logging enabled when changing these parameters, so that you get a warning message in the log if you don&amp;#39;t have enough RAM set aside for the SoftDevice.&amp;nbsp;&lt;/p&gt;
&lt;p&gt;Best regards&lt;br /&gt;Torbjørn&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: Connection Interval and Througput</title><link>https://devzone.nordicsemi.com/thread/276328?ContentTypeID=1</link><pubDate>Thu, 22 Oct 2020 05:51:06 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:9bf0b2c2-c971-4d7d-88c6-d6fe712c5242</guid><dc:creator>wrani</dc:creator><description>&lt;p&gt;&lt;span style="background-color:#ffffff;color:#11171a;float:none;font-family:&amp;#39;GT Eesti&amp;#39;,&amp;#39;Helvetica&amp;#39;,Arial,sans-serif;font-size:14px;font-style:normal;font-weight:400;letter-spacing:normal;line-height:1.5em;text-align:left;text-decoration:none;text-indent:0px;text-transform:none;white-space:normal;"&gt;so , the &amp;quot;&amp;quot;GAP event length&amp;quot; is the actual time the radio is on, and conn. interval is the interval in which&amp;nbsp; &amp;quot;GAP event length &amp;quot; correct ?&amp;nbsp;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style="background-color:#ffffff;color:#11171a;float:none;font-family:&amp;#39;GT Eesti&amp;#39;,&amp;#39;Helvetica&amp;#39;,Arial,sans-serif;font-size:14px;font-style:normal;font-weight:400;letter-spacing:normal;line-height:1.5em;text-align:left;text-decoration:none;text-indent:0px;text-transform:none;white-space:normal;"&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style="background-color:#ffffff;color:#11171a;float:none;font-family:&amp;#39;GT Eesti&amp;#39;,&amp;#39;Helvetica&amp;#39;,Arial,sans-serif;font-size:14px;font-style:normal;font-weight:400;letter-spacing:normal;line-height:1.5em;text-align:left;text-decoration:none;text-indent:0px;text-transform:none;white-space:normal;"&gt;Do I need to change &amp;quot;GAP event length &amp;quot; in the central \ Peripheral \ Both ?&amp;nbsp;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style="background-color:#ffffff;color:#11171a;float:none;font-family:&amp;#39;GT Eesti&amp;#39;,&amp;#39;Helvetica&amp;#39;,Arial,sans-serif;font-size:14px;font-style:normal;font-weight:400;letter-spacing:normal;line-height:1.5em;text-align:left;text-decoration:none;text-indent:0px;text-transform:none;white-space:normal;"&gt;Currently - this are set to 50 in both Master and Peripheral, because I was unsure where to set them. Also - what is the effect &amp;quot;gap length&amp;quot; have on softdevice memory ?&amp;nbsp;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style="background-color:#ffffff;color:#11171a;float:none;font-family:&amp;#39;GT Eesti&amp;#39;,&amp;#39;Helvetica&amp;#39;,Arial,sans-serif;font-size:14px;font-style:normal;font-weight:400;letter-spacing:normal;line-height:1.5em;text-align:left;text-decoration:none;text-indent:0px;text-transform:none;white-space:normal;"&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style="background-color:#ffffff;color:#11171a;float:none;font-family:&amp;#39;GT Eesti&amp;#39;,&amp;#39;Helvetica&amp;#39;,Arial,sans-serif;font-size:14px;font-style:normal;font-weight:400;letter-spacing:normal;line-height:1.5em;text-align:left;text-decoration:none;text-indent:0px;text-transform:none;white-space:normal;"&gt;&lt;/span&gt;&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: Connection Interval and Througput</title><link>https://devzone.nordicsemi.com/thread/276129?ContentTypeID=1</link><pubDate>Wed, 21 Oct 2020 09:29:52 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:d16d0f3b-8c8c-4345-bf34-b512b46a64f1</guid><dc:creator>ovrebekk</dc:creator><description>&lt;p&gt;Hi&amp;nbsp;&lt;/p&gt;
&lt;p&gt;In a multilink scenario you essentially need to divide the available RF time between all the running links.&amp;nbsp;&lt;/p&gt;
&lt;p&gt;In this case I would probably use a longer connection interval, to ensure that each connection gets a longer connection event before the central has to switch to the next link.&amp;nbsp;&lt;/p&gt;
&lt;p&gt;On the peripheral side there isn&amp;#39;t much you can do in this case, it is mainly up to the central to decide the most efficient connection parameters for multiple links.&amp;nbsp;&lt;/p&gt;
&lt;p&gt;You could try a connection interval of around 400ms for instance, and use a long GAP event length to maximize throughput.&amp;nbsp;&lt;/p&gt;
&lt;p&gt;Best regards&lt;br /&gt;Torbjørn&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: Connection Interval and Througput</title><link>https://devzone.nordicsemi.com/thread/276022?ContentTypeID=1</link><pubDate>Tue, 20 Oct 2020 18:09:52 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:e1ba0bbc-3bf5-481c-8287-ef464b48b6c8</guid><dc:creator>wrani</dc:creator><description>&lt;p&gt;Thanks.&amp;nbsp;&lt;/p&gt;
&lt;p&gt;Does any of what we&amp;#39;ve discussed changes if I am running a multilink setup ?&amp;nbsp;&lt;/p&gt;
&lt;p&gt;for ex , aggregator for 15 devices, all NRF&amp;#39;s .&lt;/p&gt;
&lt;p&gt;What special attention\calculation in need to consider in such case ?&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: Connection Interval and Througput</title><link>https://devzone.nordicsemi.com/thread/275937?ContentTypeID=1</link><pubDate>Tue, 20 Oct 2020 12:59:00 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:82dfbb21-16b1-458c-8691-bb6487147062</guid><dc:creator>ovrebekk</dc:creator><description>&lt;p&gt;Hi&amp;nbsp;&lt;/p&gt;
[quote user="wrani"]1.I am using NUS service, so each call to &amp;quot;ble_nus_data_send&amp;quot; ( which calls&amp;nbsp;sd_ble_gatts_hvx ) equals a &amp;quot;packet&amp;quot; ?&amp;nbsp;[/quote]
&lt;p&gt;Each call to ble_nus_data_send constitutes one attribute (host) packet, but the link layer might split this packet into multiple on air packets if the data length is not large enough to send the entire packet in one go.&amp;nbsp;&lt;/p&gt;
&lt;p&gt;Assuming the data length is larger than your NUS packet +&amp;nbsp;7 bytes it will be sent in one packet over the air (the 7 bytes is used for the L2CAP and attribute headers).&amp;nbsp;&lt;/p&gt;
[quote user="wrani"]&lt;p&gt;&lt;/p&gt;
&lt;p&gt;&lt;/p&gt;
&lt;p style="direction:rtl;"&gt;2.if maximum data buffer I&amp;#39;m sending over NUS is ~160 Bytes, is it still better to set&amp;nbsp;&lt;span&gt;NRF_SDH_BLE_GATT_MAX_MTU_SIZE=247 and&amp;nbsp;&amp;nbsp;NRF_SDH_BLE_GAP_DATA_LENGTH =251 ?&amp;nbsp;&lt;/span&gt;&lt;/p&gt;[/quote]
&lt;p&gt;In general there is no drawback having a GATT MTU and data length larger than what you need, but it does increase the RAM consumption of the SoftDevice a bit, so if you are running out of RAM you might consider optimizing this.&amp;nbsp;&lt;/p&gt;
&lt;p&gt;A GATT MTU of 163 and a data length of 167 is the minimum needed to support 160 bytes of user data in a single on air packet.&amp;nbsp;&lt;/p&gt;
&lt;p&gt;Regarding question 3, it is correct that waiting for the&amp;nbsp;&lt;span&gt;HVN_TX_COMPLETE_EVENT is the correct way to handle the NRF_ERROR_RESOURCE error. Then you ensure that the SoftDevice buffers are full at all times, which ensures optimal data transfer.&amp;nbsp;&lt;/span&gt;&lt;/p&gt;
[quote user="wrani"]&lt;p style="direction:rtl;"&gt;&lt;span&gt;other posts ?&amp;nbsp;&lt;/span&gt;&lt;/p&gt;
&lt;p style="direction:rtl;"&gt;&lt;span&gt;4. Is there any reason to change HVN Q size ? I remember reading it will be automatically&amp;nbsp;calculate based on connection params&amp;nbsp;?&amp;nbsp;&lt;/span&gt;&lt;/p&gt;[/quote]
&lt;p&gt;In order to maximize data throughput you can increase the SoftDevice buffers through the NRF_SDH_BLE_GAP_DATA_LENGTH parameter in sdk_config.h&lt;/p&gt;
&lt;p&gt;This parameters determines how long you can keep transmitting packets back to back in a single connection event.&amp;nbsp;&lt;/p&gt;
&lt;p&gt;Best regards&lt;br /&gt;Torbjørn&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: Connection Interval and Througput</title><link>https://devzone.nordicsemi.com/thread/275342?ContentTypeID=1</link><pubDate>Fri, 16 Oct 2020 11:53:58 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:73fbe045-1b88-4d3c-9e47-974567a21ca9</guid><dc:creator>wrani</dc:creator><description>&lt;p&gt;Thanks, another questions :&lt;/p&gt;
&lt;p&gt;1.I am using NUS service, so each call to &amp;quot;ble_nus_data_send&amp;quot; ( which calls&amp;nbsp;sd_ble_gatts_hvx ) equals a &amp;quot;packet&amp;quot; ?&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&lt;/p&gt;
&lt;p style="direction:rtl;"&gt;2.if maximum data buffer I&amp;#39;m sending over NUS is ~160 Bytes, is it still better to set&amp;nbsp;&lt;span&gt;NRF_SDH_BLE_GATT_MAX_MTU_SIZE=247 and&amp;nbsp;&amp;nbsp;NRF_SDH_BLE_GAP_DATA_LENGTH =251 ?&amp;nbsp;&lt;/span&gt;&lt;/p&gt;
&lt;p style="direction:rtl;"&gt;&lt;span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p style="direction:rtl;"&gt;&lt;span&gt;3.Having done all the suggested above, how do I handle NRF_ERROR_RESOURCE if and when calling&amp;nbsp;sd_ble_gatts_hvx ? wait for HVN_TX_COMPLETE_EVENTS as suggested&amp;nbsp;in other posts ?&amp;nbsp;&lt;/span&gt;&lt;/p&gt;
&lt;p style="direction:rtl;"&gt;&lt;span&gt;4. Is there any reason to change HVN Q size ? I remember reading it will be automatically&amp;nbsp;calculate based on connection params&amp;nbsp;?&amp;nbsp;&lt;/span&gt;&lt;/p&gt;
&lt;p style="direction:rtl;"&gt;&lt;span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p style="direction:rtl;"&gt;&lt;span&gt;Thanks Again - Much appreciated&amp;nbsp;&lt;/span&gt;&lt;/p&gt;
&lt;p style="direction:rtl;"&gt;&lt;span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p style="direction:rtl;"&gt;&lt;span&gt;&lt;/span&gt;&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: Connection Interval and Througput</title><link>https://devzone.nordicsemi.com/thread/275273?ContentTypeID=1</link><pubDate>Fri, 16 Oct 2020 08:03:57 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:7401be3d-6eaf-48e3-af77-648aa36ecbb2</guid><dc:creator>Dmitry</dc:creator><description>&lt;p&gt;Yes, you can enable 2M PHY, and also&amp;nbsp;increase&amp;nbsp;MTU and&amp;nbsp;maximum packet length&amp;nbsp;(both &lt;span&gt;NRF_SDH_BLE_GAP_DATA_LENGTH&amp;nbsp;&lt;/span&gt;&lt;span&gt;and NRF_SDH_BLE_GATT_MAX_MTU_SIZE&lt;/span&gt;) - in combination with shortest connection interval, you should get a throughput close to phone&amp;#39;s limit.&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: Connection Interval and Througput</title><link>https://devzone.nordicsemi.com/thread/275243?ContentTypeID=1</link><pubDate>Fri, 16 Oct 2020 05:28:06 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:63d5658b-c0c8-422b-90ce-0a0f7f280c49</guid><dc:creator>wrani</dc:creator><description>&lt;p&gt;Also - what about switching to 2Mb PHY ? I know not all phone supports this , but I can send a request and check if it was granted . right ?&amp;nbsp;&lt;/p&gt;
&lt;p&gt;Ran&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: Connection Interval and Througput</title><link>https://devzone.nordicsemi.com/thread/275194?ContentTypeID=1</link><pubDate>Thu, 15 Oct 2020 18:18:57 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:c5e5a97e-d3c4-4d93-983d-b32d68598d02</guid><dc:creator>Dmitry</dc:creator><description>[quote userid="93120" url="~/f/nordic-q-a/67249/connection-interval-and-througput/275186#275186"]why sould I disable latency in that scenarion ?[/quote]
&lt;p&gt;You&amp;#39;re right, if data are sent just as a bunch of notifications (without any interaction or acknowledgement), it may not be needed.&amp;nbsp;&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: Connection Interval and Througput</title><link>https://devzone.nordicsemi.com/thread/275186?ContentTypeID=1</link><pubDate>Thu, 15 Oct 2020 17:43:42 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:4e07d9e2-b926-4bc0-a077-62ca31f9ea7f</guid><dc:creator>wrani</dc:creator><description>&lt;p&gt;&lt;span style="background-color:#ffffff;color:#11171a;float:none;font-family:&amp;#39;GT Eesti&amp;#39;,&amp;#39;Helvetica&amp;#39;,Arial,sans-serif;font-size:14px;font-style:normal;font-weight:400;letter-spacing:normal;line-height:1.5em;text-align:left;text-decoration:none;text-indent:0px;text-transform:none;white-space:normal;"&gt;- The problem is that host can reject your request&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style="background-color:#ffffff;color:#11171a;float:none;font-family:&amp;#39;GT Eesti&amp;#39;,&amp;#39;Helvetica&amp;#39;,Arial,sans-serif;font-size:14px;font-style:normal;font-weight:400;letter-spacing:normal;line-height:1.5em;text-align:left;text-decoration:none;text-indent:0px;text-transform:none;white-space:normal;"&gt;Today, In this case, I add a &amp;quot;sleep&amp;quot; between data chunks.&amp;nbsp;&lt;/span&gt;&lt;span style="background-color:#ffffff;color:#11171a;float:none;font-family:&amp;#39;GT Eesti&amp;#39;,&amp;#39;Helvetica&amp;#39;,Arial,sans-serif;font-size:14px;font-style:normal;font-weight:400;letter-spacing:normal;line-height:1.5em;text-align:left;text-decoration:none;text-indent:0px;text-transform:none;white-space:normal;"&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style="background-color:#ffffff;color:#11171a;float:none;font-family:&amp;#39;GT Eesti&amp;#39;,&amp;#39;Helvetica&amp;#39;,Arial,sans-serif;font-size:14px;font-style:normal;font-weight:400;letter-spacing:normal;line-height:1.5em;text-align:left;text-decoration:none;text-indent:0px;text-transform:none;white-space:normal;"&gt;( waiting for UPDATE_CONN_PARAM event before sending the chunks )&amp;nbsp;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style="background-color:#ffffff;color:#11171a;float:none;font-family:&amp;#39;GT Eesti&amp;#39;,&amp;#39;Helvetica&amp;#39;,Arial,sans-serif;font-size:14px;font-style:normal;font-weight:400;letter-spacing:normal;line-height:1.5em;text-align:left;text-decoration:none;text-indent:0px;text-transform:none;white-space:normal;"&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style="background-color:#ffffff;color:#11171a;float:none;font-family:&amp;#39;GT Eesti&amp;#39;,&amp;#39;Helvetica&amp;#39;,Arial,sans-serif;font-size:14px;font-style:normal;font-weight:400;letter-spacing:normal;line-height:1.5em;text-align:left;text-decoration:none;text-indent:0px;text-transform:none;white-space:normal;"&gt;- Alternative way is to set a large latency value &lt;/span&gt;&lt;/p&gt;
&lt;p&gt;But my understanding of &amp;quot;slave latency&amp;quot; - &lt;span style="background-color:#ffffff;color:#555555;float:none;font-family:&amp;#39;Source Sans Pro&amp;#39;,&amp;#39;Helvetica&amp;#39;,Arial,sans-serif;font-size:14px;font-style:normal;font-weight:400;letter-spacing:normal;text-align:left;text-decoration:none;text-indent:0px;text-transform:none;white-space:normal;"&gt;if i don&amp;#39;t have any data to send, peripheral can choose to skip connection events and stay asleep. But when sending sample, I do have data. why sould I disable latency in that scenarion ?&amp;nbsp;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style="background-color:#ffffff;color:#555555;float:none;font-family:&amp;#39;Source Sans Pro&amp;#39;,&amp;#39;Helvetica&amp;#39;,Arial,sans-serif;font-size:14px;font-style:normal;font-weight:400;letter-spacing:normal;text-align:left;text-decoration:none;text-indent:0px;text-transform:none;white-space:normal;"&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style="background-color:#ffffff;color:#555555;float:none;font-family:&amp;#39;Source Sans Pro&amp;#39;,&amp;#39;Helvetica&amp;#39;,Arial,sans-serif;font-size:14px;font-style:normal;font-weight:400;letter-spacing:normal;text-align:left;text-decoration:none;text-indent:0px;text-transform:none;white-space:normal;"&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: Connection Interval and Througput</title><link>https://devzone.nordicsemi.com/thread/275184?ContentTypeID=1</link><pubDate>Thu, 15 Oct 2020 17:32:51 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:e458eb02-bd5d-4fb7-9749-50e717527bc5</guid><dc:creator>Dmitry</dc:creator><description>[quote userid="93120" url="~/f/nordic-q-a/67249/connection-interval-and-througput/275181#275181"]&lt;p&gt;So when testing throughput between 2 NRF52840-DK, Conn. Interval = 200 will give a better throughput then conn. Interval =30 .&lt;/p&gt;
&lt;p&gt;When testing throughput between 1 NRF42840-DK and Android , Conn. Interval = 30 give a better throughput then Conn. Interval = 200, this is due to the limited number of packet each connection event can exchange.&lt;/p&gt;
&lt;p&gt;Did I get this right ? &amp;nbsp;&lt;/p&gt;[/quote]
&lt;p&gt;Yes.&lt;/p&gt;
[quote userid="93120" url="~/f/nordic-q-a/67249/connection-interval-and-througput/275181#275181"]&lt;p&gt;When sending 2K ( 20 chinks of 100 bytes )&amp;nbsp; , I asking the master to update Connection Interval =75 .&lt;/p&gt;
&lt;p&gt;(for few seconds and then lower back )&amp;nbsp;&lt;/p&gt;[/quote]
&lt;p&gt;The problem is that host can reject your request, and you need to handle this case somehow. An alternative way is to set a large latency value when connecting, and then&amp;nbsp;&lt;a href="https://infocenter.nordicsemi.com/topic/com.nordic.infocenter.s140.api.v7.2.0/structble__gap__opt__slave__latency__disable__t.html"&gt;temporary disable latency&lt;/a&gt;&amp;nbsp;when you need to transfer sampling data.&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: Connection Interval and Througput</title><link>https://devzone.nordicsemi.com/thread/275181?ContentTypeID=1</link><pubDate>Thu, 15 Oct 2020 17:02:34 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:47079e17-3f1b-438c-b643-dfd829b301d6</guid><dc:creator>wrani</dc:creator><description>&lt;p&gt;I see.&lt;/p&gt;
&lt;p&gt;So when testing throughput between 2 NRF52840-DK, Conn. Interval = 200 will give a better throughput then conn. Interval =30 .&lt;/p&gt;
&lt;p&gt;When testing throughput between 1 NRF42840-DK and Android , Conn. Interval = 30 give a better throughput then Conn. Interval = 200, this is due to the limited number of packet each connection event can exchange.&lt;/p&gt;
&lt;p&gt;Did I get this right ? &amp;nbsp;&lt;/p&gt;
&lt;p&gt;&lt;/p&gt;
&lt;p&gt;If so&amp;nbsp; - I have a NRF52840 sampling device which connect to an Android phone.&amp;nbsp;&lt;/p&gt;
&lt;p&gt;Occasionally, I need to send a 2K of data ( containing sampling data ) .&amp;nbsp;&lt;/p&gt;
&lt;p&gt;My flow is to use Interval=300 in Idle ( to reduce power consumption )&amp;nbsp;&lt;/p&gt;
&lt;p&gt;When sending 2K ( 20 chinks of 100 bytes )&amp;nbsp; , I asking the master to update Connection Interval =75 .&lt;/p&gt;
&lt;p&gt;(for few seconds and then lower back )&amp;nbsp;&lt;/p&gt;
&lt;p&gt;Does that sounds right ?&amp;nbsp;&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: Connection Interval and Througput</title><link>https://devzone.nordicsemi.com/thread/275160?ContentTypeID=1</link><pubDate>Thu, 15 Oct 2020 15:14:23 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:b3fd3cae-2154-434b-b8e6-aec8ba422ece</guid><dc:creator>Dmitry</dc:creator><description>&lt;p&gt;Hi Ran,&lt;/p&gt;
&lt;p&gt;There isn&amp;#39;t any contradiction here. With enabled event length extension, SoftDevice can fit as many packets into one event as connection interval permits. The space between consecutive packets within a connection event is 150 usec that is in any case shorter than between connection events - so the longer connection interval, the less time is wasted. To take any gain from this feature, event length extension has to be supported by both sides.&lt;br /&gt;Android and iOS don&amp;#39;t allow long connection events, they have some hardcoded number of packets per connection interval - as second document claims, it&amp;#39;s 4 for iOS and 6 for Android (though there may be different values for different phones and OS versions). In this case, shorter connection interval gives more connection events per second -&amp;gt; better throughput.&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item></channel></rss>