<?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>nRF52 as central: bad parameters requested by peripheral</title><link>https://devzone.nordicsemi.com/f/nordic-q-a/82423/nrf52-as-central-bad-parameters-requested-by-peripheral</link><description>We have an nRF52 with dual roles: peripheral for the connection to an app, and central, connecting to multiple third party peripheral devices. 
 we have a few problems with parameter negotiation as central. The current one is that one of the peripherals</description><dc:language>en-US</dc:language><generator>Telligent Community 13</generator><lastBuildDate>Wed, 08 Dec 2021 11:53:51 GMT</lastBuildDate><atom:link rel="self" type="application/rss+xml" href="https://devzone.nordicsemi.com/f/nordic-q-a/82423/nrf52-as-central-bad-parameters-requested-by-peripheral" /><item><title>RE: nRF52 as central: bad parameters requested by peripheral</title><link>https://devzone.nordicsemi.com/thread/342532?ContentTypeID=1</link><pubDate>Wed, 08 Dec 2021 11:53:51 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:35300380-ac33-467f-8709-673cbd9d0664</guid><dc:creator>Einar Thorsrud</dc:creator><description>&lt;p&gt;Yes. It works with our implementation, and I am not able to see anything in the spec that says it should not be allowed.&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: nRF52 as central: bad parameters requested by peripheral</title><link>https://devzone.nordicsemi.com/thread/342389?ContentTypeID=1</link><pubDate>Tue, 07 Dec 2021 14:37:07 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:1fccb111-f1cf-4032-8de9-9d3d07dd086f</guid><dc:creator>thefool</dc:creator><description>&lt;p&gt;OK, so you&amp;#39;re saying how I tried to do it would be OK according to spec and to your implementation (modifying a copy of the parameters before calling&amp;nbsp;&lt;span&gt;sd_ble_gap_conn_param_update() with this copy)?&lt;/span&gt;&lt;span&gt;&lt;br /&gt;&lt;br /&gt;Good to know calling sd_ble_gap_conn_param_update()&amp;nbsp;outside of the UPDATE_REQUEST event&amp;nbsp;would work.&lt;/span&gt;&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: nRF52 as central: bad parameters requested by peripheral</title><link>https://devzone.nordicsemi.com/thread/342380?ContentTypeID=1</link><pubDate>Tue, 07 Dec 2021 14:28:26 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:356e1893-8fda-48fa-b0cc-d6e054515a2e</guid><dc:creator>Einar Thorsrud</dc:creator><description>&lt;p&gt;Hi,&lt;/p&gt;
&lt;p&gt;Good to hear declining the request works. I have not been able to find anything in the Bluetooth specification that states that it is not allowed to respond with other parameters (reading&amp;nbsp;5.1.1 Connection Update procedure, starting from page 2869 in version 5.3 of the spec). It could be just that it is not handled properly by this specific peripheral implementation.&lt;/p&gt;
[quote user="thefool"]How would I do that, if not by modifying the requested parameters?&amp;nbsp;[/quote]
&lt;p&gt;Then you use&amp;nbsp;sd_ble_gap_conn_param_update(), but&amp;nbsp;not as a response to a request. In this case you use the same function - sd_ble_gap_conn_param_update(), and this will initiate a connection parameter update procedure. (In other words, this is not only used to respond to a&amp;nbsp;BLE_GAP_EVT_CONN_PARAM_UPDATE_REQUEST event).&amp;nbsp;&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: nRF52 as central: bad parameters requested by peripheral</title><link>https://devzone.nordicsemi.com/thread/342178?ContentTypeID=1</link><pubDate>Mon, 06 Dec 2021 21:25:00 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:390225fb-2974-4e46-952e-2d8c7d7bd373</guid><dc:creator>thefool</dc:creator><description>&lt;p&gt;I&amp;#39;ll get in touch with the manufacturer, to notify them of the issue and ask why they chose those values.&amp;nbsp;&lt;/p&gt;
&lt;p&gt;I tried&amp;nbsp;NULL: that works in this case! Thanks&lt;/p&gt;
&lt;p&gt;Is modifying(fixing) the requested parameters before telling the soft device to update them not allowed? i.e is it either accept or reject?&lt;/p&gt;
&lt;p&gt;And a related question: lets say in this case I want our central to negotiate a connection interval of 32 instead of the 6, in an attempt to save power. How would I do that, if not by modifying the requested parameters?&amp;nbsp;&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: nRF52 as central: bad parameters requested by peripheral</title><link>https://devzone.nordicsemi.com/thread/342113?ContentTypeID=1</link><pubDate>Mon, 06 Dec 2021 14:17:58 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:a88572d4-2479-433e-bb56-71eb59bef7cf</guid><dc:creator>Einar Thorsrud</dc:creator><description>&lt;p&gt;Hi,&lt;/p&gt;
&lt;p&gt;It is difficult to know why the peripheral does what it does without knowing the implementation of it.&amp;nbsp;It is probably best to reject the request when it is invalid. To do that,&amp;nbsp;pass NULL as the second parameter when you call&amp;nbsp;sd_ble_gap_conn_param_update().&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item></channel></rss>