<?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>ATT delay on BLE notification</title><link>https://devzone.nordicsemi.com/f/nordic-q-a/114625/att-delay-on-ble-notification</link><description>I&amp;#39;m using an nRF52840 as BLE peripheral with a custom service similar to NUS to send large data. The data is send in 4k chunks via BLE notifications to an Android phone. With some phones this works pretty good, but with others I can see a weird delay</description><dc:language>en-US</dc:language><generator>Telligent Community 13</generator><lastBuildDate>Wed, 11 Sep 2024 11:48:46 GMT</lastBuildDate><atom:link rel="self" type="application/rss+xml" href="https://devzone.nordicsemi.com/f/nordic-q-a/114625/att-delay-on-ble-notification" /><item><title>RE: ATT delay on BLE notification</title><link>https://devzone.nordicsemi.com/thread/502102?ContentTypeID=1</link><pubDate>Wed, 11 Sep 2024 11:48:46 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:90e9711a-46d2-4948-b02b-e7cfeebd8270</guid><dc:creator>wichmann</dc:creator><description>&lt;div&gt;
&lt;div&gt;&lt;span&gt;Thanks for the response. This happens on multiple Android devices, at least one of which was high end at the time, and with multiple Android versions (8 and 10). Other devices from the same manufacturer and similar release date do not have these problems.&lt;/span&gt;&lt;/div&gt;
&lt;br /&gt;
&lt;div&gt;&lt;span&gt;I did some more testing and I&amp;#39;m now pretty sure that my explanation was right. Reducing the connection interval also reduces the delays. I just can&amp;#39;t understand why the hardware or software stack would limit the number of packets this severely. But I guess you&amp;#39;re right. The number probably can&amp;#39;t be configured. I did find the Android method requestConnectionPriority(), but this seems to just reduce the connection interval. The number of packets seems to stay the same. This just leaves me with reducing the connection interval on all plattforms. Still thanks for the help.&lt;/span&gt;&lt;/div&gt;
&lt;/div&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: ATT delay on BLE notification</title><link>https://devzone.nordicsemi.com/thread/502096?ContentTypeID=1</link><pubDate>Wed, 11 Sep 2024 11:23:41 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:28ca650e-81f6-48c0-8902-0efa0f1d0d7b</guid><dc:creator>Simonr</dc:creator><description>&lt;p&gt;Hi&lt;/p&gt;
[quote user=""]&lt;div&gt;&lt;span&gt;every fourth or fifth ATT packet is delayed by about 30 ms.&lt;/span&gt;&lt;/div&gt;
[/quote]
&lt;p&gt;Does this only happen on these select two phone models or do you see it on other devices as well. This sounds very much like a problem with the Android stack on the device you&amp;#39;re using and there are a lot of BLE related issues especially in older Android devices. I can&amp;#39;t say I have seen this issue specifically before. I would assume this is only an issue on older low-end Android devices.&lt;/p&gt;
&lt;p&gt;For reference I think your explanation makes sense, but I&amp;#39;m not aware of a way to increase the number of packets an Android device can receive per conn. interval. I would guess it&amp;#39;s set in the stack and not configurable though.&lt;/p&gt;
&lt;p&gt;Best regards,&lt;/p&gt;
&lt;p&gt;Simon&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: ATT delay on BLE notification</title><link>https://devzone.nordicsemi.com/thread/501939?ContentTypeID=1</link><pubDate>Tue, 10 Sep 2024 12:53:06 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:3bb10ec7-7706-4fdf-aced-05a23c0209dd</guid><dc:creator>wichmann</dc:creator><description>&lt;div&gt;
&lt;div&gt;&lt;span&gt;Just after posting, I think I found a possible explanation. This might just be the limit of number of packets per connection interval. It&amp;#39;s just that one phone allows at least 50 or so packets per interval, while the &amp;quot;problem&amp;quot; phone only allows four or five. After these packets are sent, a pause is inserted until the next interval starts (about 30 ms at 37.5 ms connection interval).&lt;/span&gt;&lt;/div&gt;
&lt;br /&gt;
&lt;div&gt;&lt;span&gt;That would mean, that my only possible option would be to lower the connection interval. Or are there any options on Android side to increase the number of packets or at least detect how many packets are allowed?&lt;/span&gt;&lt;/div&gt;
&lt;/div&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item></channel></rss>