<?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>Softdevice BLE internal buffering</title><link>https://devzone.nordicsemi.com/f/nordic-q-a/123957/softdevice-ble-internal-buffering</link><description>I&amp;#39;m working with nRF52840 microcontroller, nRF SDK 17.1.0 and Softdevice S140 version 7.2.0 
 The peripheral devices sends 29 bytes of data with a BLE notification from a custom GATT service. 
 The notifications are synchronized with the radio Active</description><dc:language>en-US</dc:language><generator>Telligent Community 13</generator><lastBuildDate>Thu, 28 Aug 2025 13:53:42 GMT</lastBuildDate><atom:link rel="self" type="application/rss+xml" href="https://devzone.nordicsemi.com/f/nordic-q-a/123957/softdevice-ble-internal-buffering" /><item><title>RE: Softdevice BLE internal buffering</title><link>https://devzone.nordicsemi.com/thread/547097?ContentTypeID=1</link><pubDate>Thu, 28 Aug 2025 13:53:42 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:f6a5ab6f-a64e-4cf1-a157-b9d204b7ff26</guid><dc:creator>tvik81</dc:creator><description>&lt;p&gt;OK, clear. Thanks for the explanation!&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: Softdevice BLE internal buffering</title><link>https://devzone.nordicsemi.com/thread/547026?ContentTypeID=1</link><pubDate>Thu, 28 Aug 2025 08:08:32 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:f07b8ba2-2dcf-4e70-9c17-401c090d1258</guid><dc:creator>Hung Bui</dc:creator><description>&lt;p&gt;Hi Viktor,&amp;nbsp;&lt;br /&gt;I would need to have some more info about your central to tell what exactly going on here. What are you using the radio notification on the central for ?&amp;nbsp;&lt;br /&gt;&lt;br /&gt;&lt;/p&gt;
[quote user="Viktor Timkov"]In general - is there a way to make sure that the data is sent each connection interval. In my case, even though the data is pushed once each connection interval, occasionally (each 10-15 seconds) the connection interval is skipped and two data packets are sent the next connection interval[/quote]
&lt;p&gt;I don&amp;#39;t think there is an option for that. I was thinking of limiting the size of the buffer to only one packet. So that you have control over the queue and only one packet to be sent per connection event. But that feature is not available on nRF5 SDK. It&amp;#39;s available on nRF Connect SDK.&amp;nbsp;&lt;br /&gt;What you can do is to queue only one packet at a time and immediately queue the next packet when you receive the event that notification has been sent.&amp;nbsp;&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: Softdevice BLE internal buffering</title><link>https://devzone.nordicsemi.com/thread/546935?ContentTypeID=1</link><pubDate>Wed, 27 Aug 2025 13:27:17 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:487ec84c-abd2-4807-bd87-afca2abf0b68</guid><dc:creator>tvik81</dc:creator><description>&lt;p&gt;Controversially, it turns out that cause was that T_ndist in the central was set to 2680us. When I decreased it to 800 us the data is sent the nearest connection interval. Thanks for the hint, you give me the right direction to dig in!&lt;/p&gt;
&lt;p&gt;In general - is there a way to make sure that the data is sent each connection interval. In my case, even though the data is pushed once each connection interval, occasionally (each 10-15 seconds) the connection interval is skipped and two data packets are sent the next connection interval&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: Softdevice BLE internal buffering</title><link>https://devzone.nordicsemi.com/thread/546865?ContentTypeID=1</link><pubDate>Wed, 27 Aug 2025 09:00:53 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:352068e2-3e24-45b7-899c-de414d2d3f42</guid><dc:creator>Hung Bui</dc:creator><description>&lt;p&gt;Hi Viktor,&amp;nbsp;&lt;br /&gt;I think there can be a race condition here. If you trigger a radio notification at the exact time when the stack planning to wake up and handle the connection interval, there could be not enough time for the CPU to queue the data to the stack and then the stack schedule the packet into the connection event.&amp;nbsp;&lt;br /&gt;The scheduling to send a packet in a connection would need to happen before the actual radio activity occurs.&amp;nbsp;&lt;br /&gt;Have you used the T_ndist to set a distance before the connection event occurs to queue the data ?&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&lt;br /&gt;&lt;img style="max-height:240px;max-width:320px;" src="https://devzone.nordicsemi.com/resized-image/__size/640x480/__key/communityserver-discussions-components-files/4/pastedimage1756285227461v1.png" alt=" " /&gt;&lt;/p&gt;
&lt;p&gt;(Chapter 11 in S140 softdevice specification)&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item></channel></rss>