<?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>BLE Slave latency and throughput</title><link>https://devzone.nordicsemi.com/f/nordic-q-a/108000/ble-slave-latency-and-throughput</link><description>Hi, 
 I have the scenario of a Data producer that produces a data payload every second, but that payload needs to be sent with as low latency as possible. 
 Currently the direction of the data transfer is always from Master/Central to Slave/Peripheral</description><dc:language>en-US</dc:language><generator>Telligent Community 13</generator><lastBuildDate>Fri, 02 Feb 2024 11:07:07 GMT</lastBuildDate><atom:link rel="self" type="application/rss+xml" href="https://devzone.nordicsemi.com/f/nordic-q-a/108000/ble-slave-latency-and-throughput" /><item><title>RE: BLE Slave latency and throughput</title><link>https://devzone.nordicsemi.com/thread/467345?ContentTypeID=1</link><pubDate>Fri, 02 Feb 2024 11:07:07 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:f363ff79-d41f-42e1-8cad-6327ebad427a</guid><dc:creator>jonas.woerner</dc:creator><description>&lt;p&gt;thanks, thats all I needed to know! It may really be possible to switch the role of the data producer, so that seems to be the best solution &lt;span class="emoticon" data-url="https://devzone.nordicsemi.com/cfs-file/__key/system/emoji/1f642.svg" title="Slight smile"&gt;&amp;#x1f642;&lt;/span&gt;&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: BLE Slave latency and throughput</title><link>https://devzone.nordicsemi.com/thread/467339?ContentTypeID=1</link><pubDate>Fri, 02 Feb 2024 10:44:49 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:97e78a42-2626-49d4-8c58-5b149ffae356</guid><dc:creator>Hung Bui</dc:creator><description>&lt;p&gt;Hi Jonas,&amp;nbsp;&lt;/p&gt;
&lt;p&gt;When you enable slave latency the slave/peripheral will simply skip the connection event when it has nothing to send. This mean it will not receive any packet when it&amp;#39;s not listen to the connection event. So there is no way it would know if it&amp;#39;s an empty packet from the central or it&amp;#39;s a data packet.&lt;/p&gt;
&lt;p&gt;I think it makes sense, if the slave listen to the packet to detect if it&amp;#39;s an empty packet then it&amp;#39;s no point doing slave latency, you will not save any power.&amp;nbsp;&lt;/p&gt;
&lt;p&gt;What you proposed to change the data direction to data is sent from&amp;nbsp;peripheral to central would work. The peripheral will&amp;nbsp;not enter slave latency mode if it has something to send in the buffer.&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&lt;br /&gt;But I&amp;#39;m not so sure how you change the data direction, are you switching the role of the data producer ? If it&amp;#39;s fine to have the slave to collect data and send data to the central then you are all set.&amp;nbsp;&lt;/p&gt;
&lt;p&gt;Otherwise, if you have to have the central to send data and slave latency on the peripheral then we will have to think of a solution to temporarily disable slave latency when the peripheral first receive a data packet from the central and continue slave latency after the data transfer is finished.&amp;nbsp;&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item></channel></rss>