<?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>Understanding BLE_GATTC_EVT_TIMEOUT</title><link>https://devzone.nordicsemi.com/f/nordic-q-a/18504/understanding-ble_gattc_evt_timeout</link><description>In the blinky-central example, on_ble_evt() switches over both BLE_GAP_EVT_DISCONNECTED and BLE_GATTC_EVT_TIMEOUT . 
 
 Why is this required? Won&amp;#39;t a client GATT timeout trigger a BLE_GAP_EVT_DISCONNECTED event anyway? 
 Why is BLE_GATTS_EVT_TIMEOUT</description><dc:language>en-US</dc:language><generator>Telligent Community 13</generator><lastBuildDate>Wed, 28 Dec 2016 09:55:00 GMT</lastBuildDate><atom:link rel="self" type="application/rss+xml" href="https://devzone.nordicsemi.com/f/nordic-q-a/18504/understanding-ble_gattc_evt_timeout" /><item><title>RE: Understanding BLE_GATTC_EVT_TIMEOUT</title><link>https://devzone.nordicsemi.com/thread/71405?ContentTypeID=1</link><pubDate>Wed, 28 Dec 2016 09:55:00 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:480bf740-d921-47b1-a230-67937cf3db17</guid><dc:creator>Sigurd</dc:creator><description>&lt;p&gt;Yes, calling &lt;code&gt;sd_ble_gap_disconnect()&lt;/code&gt; will trigger &lt;code&gt;BLE_GAP_EVT_DISCONNECTED&lt;/code&gt; . See &lt;a href="https://infocenter.nordicsemi.com/index.jsp?topic=%2Fcom.nordic.infocenter.s132.api.v3.0.0%2Fgroup___b_l_e___g_a_p___c_o_n_n___m_s_c.html"&gt;this&lt;/a&gt; message sequence chart.&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: Understanding BLE_GATTC_EVT_TIMEOUT</title><link>https://devzone.nordicsemi.com/thread/71404?ContentTypeID=1</link><pubDate>Mon, 26 Dec 2016 10:01:42 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:85d9147b-ef2c-465c-9995-2d10c8209031</guid><dc:creator>Boaz</dc:creator><description>&lt;p&gt;Just to make sure: will calling &lt;code&gt;sd_ble_gap_disconnect()&lt;/code&gt; when handling &lt;code&gt;BLE_GATTC/S_EVT_TIMEOUT&lt;/code&gt; eventually trigger the &lt;code&gt;BLE_GAP_EVT_DISCONNECTED&lt;/code&gt; event? I&amp;#39;m trying to unify business logic paths.&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: Understanding BLE_GATTC_EVT_TIMEOUT</title><link>https://devzone.nordicsemi.com/thread/71403?ContentTypeID=1</link><pubDate>Thu, 22 Dec 2016 11:26:54 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:8e0f4e38-6c7b-418f-adca-0d688fe27225</guid><dc:creator>Sigurd</dc:creator><description>&lt;p&gt;Hi,&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Q1&lt;/strong&gt;) Won&amp;#39;t a client GATT timeout trigger a &lt;code&gt;BLE_GAP_EVT_DISCONNECTED&lt;/code&gt; event anyway?&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;A1&lt;/strong&gt; ) No. The SoftDevice will disable all ATT traffic and mark the ATT connection as down, but it’s up to the application to do the final disconnect with &lt;code&gt;sd_ble_gap_disconnect()&lt;/code&gt;.&lt;/p&gt;
&lt;hr /&gt;
&lt;p&gt;&lt;strong&gt;Q2&lt;/strong&gt;) Why is &lt;code&gt;BLE_GATTS_EVT_TIMEOUT&lt;/code&gt; (i.e. GATT server timeout) also checked?&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;A2&lt;/strong&gt;) The SoftDevice can be configured to act concurrently as both a peripheral and as a central. In this case the code to check for both events is therefore added.&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item></channel></rss>