<?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>Communication speed has been slowed down after modification of INDICATION in NOTIFICATION.</title><link>https://devzone.nordicsemi.com/f/nordic-q-a/34947/communication-speed-has-been-slowed-down-after-modification-of-indication-in-notification</link><description>Hi, 
 I am working on the project as a MultiLink example. My environment is using nRF52840DK &amp;amp; Softdevice 6 &amp;amp; SDK15. 
 I am trying to make multiple connections and communicate. Previously, we only communicated with NOTIFY, but decided to use INDICATE</description><dc:language>en-US</dc:language><generator>Telligent Community 13</generator><lastBuildDate>Thu, 07 Jun 2018 01:42:56 GMT</lastBuildDate><atom:link rel="self" type="application/rss+xml" href="https://devzone.nordicsemi.com/f/nordic-q-a/34947/communication-speed-has-been-slowed-down-after-modification-of-indication-in-notification" /><item><title>RE: Communication speed has been slowed down after modification of INDICATION in NOTIFICATION.</title><link>https://devzone.nordicsemi.com/thread/135027?ContentTypeID=1</link><pubDate>Thu, 07 Jun 2018 01:42:56 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:00353171-ddac-4c1c-bef3-ded955093b8b</guid><dc:creator>jwcheon</dc:creator><description>&lt;p&gt;Sorry.&lt;br /&gt;I made a comment.&lt;br /&gt;I will check the flow chart once.&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: Communication speed has been slowed down after modification of INDICATION in NOTIFICATION.</title><link>https://devzone.nordicsemi.com/thread/134656?ContentTypeID=1</link><pubDate>Tue, 05 Jun 2018 07:33:07 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:270659ab-49fc-4848-bfe2-057ebc47c91d</guid><dc:creator>run_ar</dc:creator><description>&lt;p&gt;Not sure I understand this. But according to Google translate you are trying to connect to 4 units in total (not sure about roles). And that you are not loosing connections due to a supervision timeout within 4 seconds. Instead you are disconnected after 30 seconds because your device has not received application layer acknowledgements for a indication. To solve that you must make sure your application acknowledges these indications.&lt;/p&gt;
&lt;p&gt;Here is the &lt;a href="http://infocenter.nordicsemi.com/topic/com.nordic.infocenter.s140.api.v6.0.0/group___b_l_e___g_a_t_t_s___h_v_i___m_s_c.html"&gt;flow chart for a gatt server&lt;/a&gt;. And here is the &lt;a href="http://infocenter.nordicsemi.com/topic/com.nordic.infocenter.s140.api.v6.0.0/group___b_l_e___g_a_t_t_c___h_v_i___m_s_c.html"&gt;flow chart for the gatt client (usually the central)&lt;/a&gt;. As you see the gatt client has to reply to the BLE_GATTC_EVT_HVX event for the Softdevice to send an Handle value confirmation to the peer.&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: Communication speed has been slowed down after modification of INDICATION in NOTIFICATION.</title><link>https://devzone.nordicsemi.com/thread/134152?ContentTypeID=1</link><pubDate>Thu, 31 May 2018 09:32:22 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:1ead4a0f-34b8-49bb-9f9d-588f3ed838b8</guid><dc:creator>jwcheon</dc:creator><description>&lt;p&gt;The connection interval is as follows.&lt;/p&gt;
&lt;p&gt;I am currently trying to connect up to 4 units.&lt;br /&gt;When connecting the nrf52840 board and two devices, the connection is broken and data transmission / reception is possible.&lt;/p&gt;
&lt;p&gt;However, the speed of data transmission and reception from three or more units is slow, and communication is interrupted frequently.&lt;/p&gt;
&lt;p&gt;My answer to the last question is central.&lt;/p&gt;
&lt;p&gt;&lt;pre class="ui-code" data-mode="c_cpp"&gt;
#define MIN_CONNECTION_INTERVAL   MSEC_TO_UNITS(7.5, UNIT_1_25_MS)      /**&amp;lt; Determines minimum connection interval in milliseconds. */
#define MAX_CONNECTION_INTERVAL   MSEC_TO_UNITS(30, UNIT_1_25_MS)       /**&amp;lt; Determines maximum connection interval in milliseconds. */
#define SLAVE_LATENCY             0                                     /**&amp;lt; Determines slave latency in terms of connection events. */
#define SUPERVISION_TIMEOUT       MSEC_TO_UNITS(4000, UNIT_10_MS)       /**&amp;lt; Determines supervision time-out in units of 10 milliseconds. */

&lt;/pre&gt;&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: Communication speed has been slowed down after modification of INDICATION in NOTIFICATION.</title><link>https://devzone.nordicsemi.com/thread/134150?ContentTypeID=1</link><pubDate>Thu, 31 May 2018 09:28:52 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:1d7b202c-4c5e-4810-b2df-53fd547a21ff</guid><dc:creator>run_ar</dc:creator><description>&lt;p&gt;Unfortunately the only way to increase the speed of indications is to have a faster connection interval, but this might lead to more problems with maintaining your connection.&lt;/p&gt;
&lt;p&gt;If you have disconnects before the 30 second procedure timeout for indications, you are most likely getting a connection supervision timeout. What connection interval are you using? and how many devices are you testing with? and are this devices centrals or peripherals?&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: Communication speed has been slowed down after modification of INDICATION in NOTIFICATION.</title><link>https://devzone.nordicsemi.com/thread/134146?ContentTypeID=1</link><pubDate>Thu, 31 May 2018 09:12:49 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:688084a7-f24e-4b1b-942e-8326c61b6914</guid><dc:creator>jwcheon</dc:creator><description>&lt;p&gt;Hi, run_ar.&lt;/p&gt;
&lt;p&gt;Your answer became a really great understanding for me.&lt;br /&gt;The more devices connected to the nRF52840 board, the more I understood why the communication speed is slowed down.&lt;/p&gt;
&lt;p&gt;So, is there any way to improve the speed of using Indication?&lt;/p&gt;
&lt;p&gt;&lt;br /&gt;Also, the timeout period is about 30 seconds, and it is confirmed that several devices continuously send packets in a short period of time and lose the response time and forcibly disconnect the connection.&lt;/p&gt;
&lt;p&gt;If so, does this timeout need to be modified on the nRF52840 board?&lt;br /&gt;If not, do I have to modify it in the connecting device?&lt;/p&gt;
&lt;p&gt;As I guess, the connecting device is likely to send an indication packet and wait for a response timer.&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: Communication speed has been slowed down after modification of INDICATION in NOTIFICATION.</title><link>https://devzone.nordicsemi.com/thread/134143?ContentTypeID=1</link><pubDate>Thu, 31 May 2018 08:50:19 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:db269dea-08de-40c0-9d9a-162ec73aaf37</guid><dc:creator>run_ar</dc:creator><description>&lt;p&gt;Indications require application level acknowledgement which means it will be slower/ much slower than using notification which only uses Link layer acknowledgements. While you can send one or more notifications per connectio event. Indications will require processing on the peer side, which means server will send the indication in one connection event (event n), the peer will acknowledge this in the next connection event (event n+1) and the server can send another indication in the following connection event (event n+2).&lt;/p&gt;
&lt;p&gt;However I would not expect to see disconnections when using indication compared to notifications. At least not as long as your application makes sure to acknowledge received indications, If I remember correctly the timeout is 30seconds, which means the server will disconnect if it takes more than 30 seconds to get a reply for an indication.&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item></channel></rss>