<?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>Add packets during a BLE connection interval?</title><link>https://devzone.nordicsemi.com/f/nordic-q-a/92363/add-packets-during-a-ble-connection-interval</link><description>Hi there, 
 
 there is so many questions regarding BLE connection intervals, yet I couldn&amp;#39;t find a precise answer to this basic question. 
 It seems to me, that multiple packets are sent in one connection interval only if they were all queued up at the</description><dc:language>en-US</dc:language><generator>Telligent Community 13</generator><lastBuildDate>Wed, 12 Oct 2022 07:54:23 GMT</lastBuildDate><atom:link rel="self" type="application/rss+xml" href="https://devzone.nordicsemi.com/f/nordic-q-a/92363/add-packets-during-a-ble-connection-interval" /><item><title>RE: Add packets during a BLE connection interval?</title><link>https://devzone.nordicsemi.com/thread/390370?ContentTypeID=1</link><pubDate>Wed, 12 Oct 2022 07:54:23 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:0ae217d7-7898-454e-aea7-e0a4075e9202</guid><dc:creator>Kazi Afroza Sultana</dc:creator><description>&lt;p&gt;You are welcome. The set value 3 can be changed from kconfig and set the application accordance to that. However, You can run your test first and feel free to share us the result. :)&amp;nbsp;&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: Add packets during a BLE connection interval?</title><link>https://devzone.nordicsemi.com/thread/390367?ContentTypeID=1</link><pubDate>Wed, 12 Oct 2022 07:36:17 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:199046f3-4188-418f-b4ff-03154ab64768</guid><dc:creator>ubat</dc:creator><description>&lt;p&gt;Dear Kazi,&lt;/p&gt;
&lt;p&gt;thank you for getting back to me!&lt;/p&gt;
&lt;p&gt;I noticed the limitation to 3 packets also - however, with longer connection intervals, there are more packets transmitted in my tests.&lt;/p&gt;
&lt;p&gt;I&amp;#39;ll run some more tests with the information you provided, thanks!&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: Add packets during a BLE connection interval?</title><link>https://devzone.nordicsemi.com/thread/390366?ContentTypeID=1</link><pubDate>Wed, 12 Oct 2022 07:31:39 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:f2b01cad-4e3d-4b30-a187-b73c147c0371</guid><dc:creator>Kazi Afroza Sultana</dc:creator><description>&lt;p&gt;Hello,&lt;/p&gt;
&lt;p&gt;Sorry for late reply. I have talked to team and got the insight of this case.&lt;/p&gt;
&lt;div&gt;
&lt;p&gt;The default value for TX packets number queued during one connection interval is set to 3. (&lt;a title="https://github.com/nrfconnect/sdk-nrf/blob/main/subsys/bluetooth/controller/kconfig#l115" href="https://github.com/nrfconnect/sdk-nrf/blob/main/subsys/bluetooth/controller/Kconfig#L115" rel="noopener noreferrer" target="_blank"&gt;https://github.com/nrfconnect/sdk-nrf/blob/main/subsys/bluetooth/controller/Kconfig#L115&lt;/a&gt;)&amp;nbsp;&lt;em&gt;. &lt;/em&gt;If a throughput increase is required, then this config can be changed accordingly. You can see that only 3 packets were received at RX3 (RX3 365.87860-&lt;span&gt;last packet received in this connection interval. Only 3 packets were received.). This is because of the limitation provided by the kconfig as you can see in the line 115 of the Kconfig file.&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;/p&gt;
&lt;p&gt;&lt;pre class="ui-code" data-mode="text"&gt;config BT_CTLR_SDC_TX_PACKET_COUNT
	int &amp;quot;Number of Link Layer ACL TX buffers&amp;quot;
	default 3
	range 1 20
	help
	  The number Link Layer ACL TX packets reserved per connection.
	  With the default count, the application is able to refill the buffers during a connection event.
	  That is, non-default values should only be used if reduced throughput is accepted, or when the CPU
	  utilization is so high that the application is not able to provide data fast enough during connection events.&lt;/pre&gt;&lt;/p&gt;
&lt;p&gt;Thanks.&lt;/p&gt;
&lt;p&gt;&lt;/p&gt;
&lt;p&gt;BR&lt;/p&gt;
&lt;p&gt;Kazi&lt;/p&gt;
&lt;/div&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: Add packets during a BLE connection interval?</title><link>https://devzone.nordicsemi.com/thread/388506?ContentTypeID=1</link><pubDate>Thu, 29 Sep 2022 09:29:36 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:aa692d18-cc88-451b-adf2-d156a38b1a22</guid><dc:creator>ubat</dc:creator><description>&lt;p&gt;Hello Kazi,&lt;/p&gt;
&lt;p&gt;I ran some more tests but cannot add packets to an up and going connection interval.&lt;/p&gt;
&lt;p&gt;For the following tests, I used 2x nRF5340DK and a modified &amp;quot;throughput&amp;quot; example, where I modified the data sending while() loop with some waits.&lt;/p&gt;
&lt;p&gt;There are burst of 7 packets transmitted with close to 2.5ms from one packet to the next.&lt;/p&gt;
&lt;p&gt;There is a 333ms gap from one burst of packets to the next.&lt;/p&gt;
&lt;p&gt;Every time I&amp;#39;m&amp;nbsp;calling&amp;nbsp;bt_throughput_write, I&amp;#39;m raising a GPIO pin, and a 3rd uC board catches the rising slope.&lt;/p&gt;
&lt;p&gt;Every time the receiver receives a packet I&amp;#39;m raising a GPIO of the RX board, and the same 3rd uC board catches that.&lt;/p&gt;
&lt;p&gt;This is an example of what will happen. The connection interval is set to 30.&lt;/p&gt;
&lt;p&gt;...&lt;/p&gt;
&lt;p&gt;TX1&amp;nbsp; &amp;nbsp;365.867140 - Burst of 7 packet starts here ~&lt;span&gt;365.867&lt;/span&gt;&lt;br /&gt;TX2&amp;nbsp; &amp;nbsp;365.869490 &lt;br /&gt;TX3&amp;nbsp; &amp;nbsp;365.871840 &lt;br /&gt;TX4&amp;nbsp; &amp;nbsp;365.874130 &lt;br /&gt;RX1&amp;nbsp; &amp;nbsp;365.875740 - connection interval starts here at ~&lt;span&gt;365.875. 4 packets were queued before.&lt;/span&gt;&lt;br /&gt;RX2&amp;nbsp; &amp;nbsp;365.876740 &lt;br /&gt;TX5&amp;nbsp; &amp;nbsp;365.876760 &lt;br /&gt;RX3&amp;nbsp; &amp;nbsp;365.876860 - last packet received in this connection interval. Only 3 packets were received.&lt;br /&gt;TX6&amp;nbsp; &amp;nbsp;365.879130 &lt;br /&gt;TX7&amp;nbsp; &amp;nbsp;365.881420 &lt;br /&gt;RX4&amp;nbsp; &amp;nbsp;365.913240 - next connection interval starts at ~&lt;span&gt;365.913, ~37.5ms after the previous CI.&lt;/span&gt;&lt;br /&gt;RX5&amp;nbsp; &amp;nbsp;365.914300 &lt;br /&gt;RX6&amp;nbsp; &amp;nbsp;365.914420 &lt;br /&gt;RX7&amp;nbsp; &amp;nbsp;365.950400&lt;/p&gt;
&lt;p&gt;&lt;/p&gt;
&lt;p&gt;This will happen repeatedly. This means, even shortly before the receiver actually receives the first packet of a connection interval, I cannot add more packets.&lt;/p&gt;
&lt;p&gt;The maximum delay - even without retranmission - is therefore slightly bigger than the connection interval.&lt;/p&gt;
&lt;p&gt;&lt;/p&gt;
&lt;p&gt;Is there a way to change this, so I can still add packets during a connection interval?&lt;/p&gt;
&lt;p&gt;&lt;/p&gt;
&lt;p&gt;Best regards,&lt;/p&gt;
&lt;p&gt;Uli&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: Add packets during a BLE connection interval?</title><link>https://devzone.nordicsemi.com/thread/388460?ContentTypeID=1</link><pubDate>Thu, 29 Sep 2022 06:29:30 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:7d610939-a46a-474a-8d4a-00aa7f7589b2</guid><dc:creator>ubat</dc:creator><description>&lt;p&gt;Hello Kazi,&lt;/p&gt;
&lt;p&gt;wow thats interesting to hear!&lt;/p&gt;
&lt;p&gt;How is it please possible to push the time out of the current connection event back?&amp;nbsp;&lt;/p&gt;
&lt;p&gt;Thank you!&lt;/p&gt;
&lt;p&gt;Uli&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: Add packets during a BLE connection interval?</title><link>https://devzone.nordicsemi.com/thread/388453?ContentTypeID=1</link><pubDate>Thu, 29 Sep 2022 05:38:08 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:576ac771-6d94-4209-8075-9190a5d40490</guid><dc:creator>Kazi Afroza Sultana</dc:creator><description>&lt;p&gt;Hello Uli,&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;&amp;#39;&amp;#39;A&amp;nbsp;packets&amp;nbsp;that is being queued at 0.101s - which is during the time of the transmission of the previously queued packets - will only be sent with the connection interval at 0.20s.&amp;nbsp;&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Is that understanding correct, or is there a possibility to add packets, while the previously queued packets for this connection interval are still being processed?&lt;/strong&gt;&amp;#39;&amp;#39;&lt;/p&gt;
&lt;p&gt;Yes there is a possibility of add new packets to the queue that will be sent in the current connection event, as long as the current connection even is not timed out.&lt;/p&gt;
&lt;p&gt;Thanks.&lt;/p&gt;
&lt;p&gt;Best Regards,&lt;/p&gt;
&lt;p&gt;Kazi Afroza Sultana&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item></channel></rss>