<?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>Bluetooth: Master initiates the data transmission in Slave Notify mode. Multiple transmissions in single connection event</title><link>https://devzone.nordicsemi.com/f/nordic-q-a/68871/bluetooth-master-initiates-the-data-transmission-in-slave-notify-mode-multiple-transmissions-in-single-connection-event</link><description>I am trying to understand better the Bluetooth communication based on some data logs. 
 Master connection params: 
 
 Slave is calling function bt_gatt_notify every 20ms with new values provided. Master is subscribed to the notifications. 
 Here is the</description><dc:language>en-US</dc:language><generator>Telligent Community 13</generator><lastBuildDate>Thu, 03 Dec 2020 10:25:06 GMT</lastBuildDate><atom:link rel="self" type="application/rss+xml" href="https://devzone.nordicsemi.com/f/nordic-q-a/68871/bluetooth-master-initiates-the-data-transmission-in-slave-notify-mode-multiple-transmissions-in-single-connection-event" /><item><title>RE: Bluetooth: Master initiates the data transmission in Slave Notify mode. Multiple transmissions in single connection event</title><link>https://devzone.nordicsemi.com/thread/283034?ContentTypeID=1</link><pubDate>Thu, 03 Dec 2020 10:25:06 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:827e46ba-7cdb-4b92-b949-8948c2fb93f0</guid><dc:creator>ovrebekk</dc:creator><description>&lt;p&gt;Hi&amp;nbsp;&lt;/p&gt;
&lt;p&gt;The Bluetooth specification mandates that the stack retransmit a packet indefinitely (or until the link is lost), so this can&amp;#39;t be changed.&amp;nbsp;&lt;/p&gt;
&lt;p&gt;Buffer counts and similar can be changed. I would suggest having a look at the Kconfig file in the zephyr/subsys/bluetooth/host/ directory for an overview of the various host configuration parameters available.&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: Bluetooth: Master initiates the data transmission in Slave Notify mode. Multiple transmissions in single connection event</title><link>https://devzone.nordicsemi.com/thread/282899?ContentTypeID=1</link><pubDate>Wed, 02 Dec 2020 13:56:50 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:50486da6-93e7-49dc-a078-bd98dbadf204</guid><dc:creator>vasilje</dc:creator><description>&lt;p&gt;Hi, I am using central_hr and peripheral_hr examples, but I am modifying connection params (int_max,int_min,lat,timeout). Now I wonder how I can modify other params of the connection: retransmissions, max queue lenght,...&amp;nbsp; Let me know if you get further info. &lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: Bluetooth: Master initiates the data transmission in Slave Notify mode. Multiple transmissions in single connection event</title><link>https://devzone.nordicsemi.com/thread/282592?ContentTypeID=1</link><pubDate>Tue, 01 Dec 2020 08:12:27 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:1c0417e8-9db2-4b53-a1c6-9adce42ada27</guid><dc:creator>ovrebekk</dc:creator><description>&lt;p&gt;Hi&lt;/p&gt;
&lt;p&gt;Which example are you using as a starting point?&lt;/p&gt;
&lt;p&gt;Technically it is up to the application to request a change of connection parameters. In the nRF5 SDK we had a support module to handle this for you, so you just needed to define the desired connection parameters in the main file, but I need to check how this is handled in Zephyr.&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: Bluetooth: Master initiates the data transmission in Slave Notify mode. Multiple transmissions in single connection event</title><link>https://devzone.nordicsemi.com/thread/282442?ContentTypeID=1</link><pubDate>Mon, 30 Nov 2020 12:52:55 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:4978d8fc-7b15-4890-b57d-b8aed3c0ccb0</guid><dc:creator>vasilje</dc:creator><description>&lt;p&gt;It was just for the sake of experimenting and trying to understand better how low level stack handles such events. I checked-no data is being lost, its just that the slave is not able to send the notifications, but once it is, the data is arriving in right order. Slave also doesnt throw any errors.&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: Bluetooth: Master initiates the data transmission in Slave Notify mode. Multiple transmissions in single connection event</title><link>https://devzone.nordicsemi.com/thread/282441?ContentTypeID=1</link><pubDate>Mon, 30 Nov 2020 12:49:55 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:e00ea149-8ae7-4bc8-9b79-0c6e8827e9b2</guid><dc:creator>vasilje</dc:creator><description>&lt;p&gt;Hey, thanks for clarifications! I checked, I do not get any errors, the 3 values are queued even when I put the smaller delay between notifications. I also checked, no notifications has been lost, they are all in right sequence. Parameters are alright, since its easy to check based on the log that every connection event takes 1s. Also, after some time the peripheral is requesting the update of the connection parameters to default one, I found that interesting since I am not specifying it in my code.&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: Bluetooth: Master initiates the data transmission in Slave Notify mode. Multiple transmissions in single connection event</title><link>https://devzone.nordicsemi.com/thread/282341?ContentTypeID=1</link><pubDate>Sat, 28 Nov 2020 14:34:50 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:9e86b6ae-8a4a-4d0f-8924-640f60874fc4</guid><dc:creator>Dmitry</dc:creator><description>&lt;p&gt;I would like to add that your conn parameters are strange - you&amp;#39;re trying to send a notification every 20ms knowing that an exchange will occur not frequently than once a second - so 47 messages of 50 are lost. If you would like to save power, configure 20-ms conn interval and set slave latency to 50 (to skip events while no data is ready).&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: Bluetooth: Master initiates the data transmission in Slave Notify mode. Multiple transmissions in single connection event</title><link>https://devzone.nordicsemi.com/thread/282340?ContentTypeID=1</link><pubDate>Sat, 28 Nov 2020 13:30:32 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:b714b9f4-bde4-4602-a834-489b92e77fdf</guid><dc:creator>Turbo J</dc:creator><description>[quote userid="95479" url="~/f/nordic-q-a/68871/bluetooth-master-initiates-the-data-transmission-in-slave-notify-mode-multiple-transmissions-in-single-connection-event"]I was expecting that there will be asynchronous data transmission initiated by the Slave as soon as the data is updated. [/quote]
&lt;p&gt;Wrong expectation. All communication is done via connection events that take place every connection interval. Notifications and indications are queued, ether in the application (nrf_ble_gq) or in the softdevice itself.&lt;/p&gt;
&lt;p&gt;The amount of data exchanged &lt;em&gt;during&lt;/em&gt; a connection intervall changes with softdevice config - default config can queue up to 6 or 7 notifications IIRC. The central may not be able to take that much data, though.&lt;/p&gt;
&lt;p&gt;If you call bt_gatt_notify every 20ms you should have gotten some of those NRF_ERROR_RESOURCES return codes (if your conn params are correct).&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item></channel></rss>