<?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>How to manually disconnect a certain peripheral from a central on SDK 16?</title><link>https://devzone.nordicsemi.com/f/nordic-q-a/86389/how-to-manually-disconnect-a-certain-peripheral-from-a-central-on-sdk-16</link><description>Hi everyone, i am developing a system where i have 2 types of board, one board is a central&amp;amp;peripheral (lest name it BOARD1), and the other board is only a peripheral(lets name it BOARD2). I connect to the BOARD1 peripheral with nrF Connect and send commands</description><dc:language>en-US</dc:language><generator>Telligent Community 13</generator><lastBuildDate>Fri, 01 Apr 2022 01:36:28 GMT</lastBuildDate><atom:link rel="self" type="application/rss+xml" href="https://devzone.nordicsemi.com/f/nordic-q-a/86389/how-to-manually-disconnect-a-certain-peripheral-from-a-central-on-sdk-16" /><item><title>RE: How to manually disconnect a certain peripheral from a central on SDK 16?</title><link>https://devzone.nordicsemi.com/thread/361115?ContentTypeID=1</link><pubDate>Fri, 01 Apr 2022 01:36:28 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:77520609-8e24-4cd4-93af-01e87dbb86c4</guid><dc:creator>Yeyzz</dc:creator><description>&lt;p&gt;Oh i was thinking that the function &amp;quot;&lt;span&gt;nrf_ble_qwr_conn_handle_assign&lt;/span&gt;&lt;span&gt;(&amp;amp;&lt;/span&gt;&lt;span&gt;m_central_qwr&lt;/span&gt;&lt;span&gt;, &lt;/span&gt;&lt;span&gt;m_conn_handle&lt;/span&gt;&lt;span&gt;);&amp;quot; call in the example after a connection was a necessary step for validate or something the connection. Anyways it works creating a new conn_handle for the central and disconnect that one with disconnect call. So i think the extra step of the QWR module instance for the central was not necessary.&lt;/span&gt;&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: How to manually disconnect a certain peripheral from a central on SDK 16?</title><link>https://devzone.nordicsemi.com/thread/360959?ContentTypeID=1</link><pubDate>Thu, 31 Mar 2022 09:21:34 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:26f73673-7916-4488-aae7-a99f676ace69</guid><dc:creator>Einar Thorsrud</dc:creator><description>&lt;p&gt;I may be missing something, but why do you refer to the QWR module in relation to how to terminate a connection? The QWR module has its uses, but disconnecting the connection is a GAP operation that is not related to QWR in any way. (Also, the queued write module subscribes to BLE events so when you disconnect as I explained in my previous post, it will also get the BLE_GAP_EVT_DISCONNECTED and change the internal state accordingly).&lt;/p&gt;
&lt;p&gt;Regarding using QWR for multiple connections you need multiple instances, yes. You can for instance see how that is done in&amp;nbsp;examples\ble_central_and_peripheral\experimental\ble_app_hrs_rscs_relay\main.c where an array of instances is declared using&amp;nbsp;NRF_BLE_QWRS_DEF().&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: How to manually disconnect a certain peripheral from a central on SDK 16?</title><link>https://devzone.nordicsemi.com/thread/360858?ContentTypeID=1</link><pubDate>Wed, 30 Mar 2022 14:20:49 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:6c67dcb1-9e5e-43d7-b8c1-ac74ce7731f1</guid><dc:creator>Yeyzz</dc:creator><description>&lt;p&gt;For this i have to create another instance of the QWR? or is fine use the same one that the peripheral?&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: How to manually disconnect a certain peripheral from a central on SDK 16?</title><link>https://devzone.nordicsemi.com/thread/360837?ContentTypeID=1</link><pubDate>Wed, 30 Mar 2022 13:22:13 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:927650b8-acdc-4b57-9d7d-c3b608cfec3d</guid><dc:creator>Einar Thorsrud</dc:creator><description>&lt;p&gt;Hi,&lt;/p&gt;
&lt;p&gt;You will get a&amp;nbsp;BLE_GAP_EVT_CONNECTED event when a connection is established both in the central and peripheral role. With that, you get a connection handle which is used&amp;nbsp;for all subsequent API calls and events for the lifetime of that connection. With the&amp;nbsp;BLE_GAP_EVT_CONNECTED event you are also informed about the role (see &lt;a href="https://infocenter.nordicsemi.com/topic/com.nordic.infocenter.s132.api.v7.3.0/structble__gap__evt__connected__t.html"&gt;ble_gap_evt_connected_t&lt;/a&gt;). To disconnect, simply call&amp;nbsp;sd_ble_gap_disconnect() with the connection handle of the connection you want to terminate. This is done in exactly the same way irrespective of the role.&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item></channel></rss>