<?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 event generation</title><link>https://devzone.nordicsemi.com/f/nordic-q-a/83890/ble-event-generation</link><description>Hi, 
 I use the BLE_APP_UART example for reference and in the code there is the ble_evt_handler with the following states: 
 case BLE_GAP_EVT_CONNECTED: case BLE_GAP_EVT_DISCONNECTED: case BLE_GAP_EVT_PHY_UPDATE_REQUEST: case BLE_GAP_EVT_SEC_PARAMS_REQUEST</description><dc:language>en-US</dc:language><generator>Telligent Community 13</generator><lastBuildDate>Fri, 21 Jan 2022 13:35:13 GMT</lastBuildDate><atom:link rel="self" type="application/rss+xml" href="https://devzone.nordicsemi.com/f/nordic-q-a/83890/ble-event-generation" /><item><title>RE: BLE event generation</title><link>https://devzone.nordicsemi.com/thread/348945?ContentTypeID=1</link><pubDate>Fri, 21 Jan 2022 13:35:13 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:58ef24a6-694c-4dd9-ab07-73b9a99879b1</guid><dc:creator>Einar Thorsrud</dc:creator><description>&lt;p&gt;Hi Morten,&lt;/p&gt;
&lt;p&gt;The SoftDevice can trigger many different events in different situations (se SoftDevice API documentation for all events). Depending on use case you may never see some of them. Regarding these you mention here:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;BLE_GAP_EVT_PHY_UPDATE_REQUEST this is triggered when the peer requests to update the PHY. If you are testing with nRF Connect for _Desktop, you can click the&amp;nbsp;cogwheel in the box representing the connection and select &amp;quot;Update phy...&amp;quot; to test this.&lt;/li&gt;
&lt;li&gt;&lt;span&gt;BLE_GAP_EVT_SEC_PARAMS_REQUEST - Initiate pairing.&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;span&gt;BLE_GATTS_EVT_SYS_ATTR_MISSING - from the peer (like nRF Connect for desktop), read a CCCD that has not been set.&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;span&gt;BLE_GATTC_EVT_TIMEOUT - This indicates that a GATTC operation&amp;nbsp;timed out&amp;nbsp;so the GATT server on the peer needs to not respond in time in order to trigger this.&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;span&gt;BLE_GATTS_EVT_TIMEOUT - same here, the event indicates that the peer (GATT client in this case) did not respond in time. So you would need to make a GATT client that misbehaves/does not respond in order to trigger it.&lt;/span&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Einar&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item></channel></rss>