<?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 dynamically change the connection interval</title><link>https://devzone.nordicsemi.com/f/nordic-q-a/115727/how-to-dynamically-change-the-connection-interval</link><description>Why do I use this function bt_conn_le_param_update( ), only after the power on the first time to work, then do not work</description><dc:language>en-US</dc:language><generator>Telligent Community 13</generator><lastBuildDate>Tue, 29 Oct 2024 10:18:40 GMT</lastBuildDate><atom:link rel="self" type="application/rss+xml" href="https://devzone.nordicsemi.com/f/nordic-q-a/115727/how-to-dynamically-change-the-connection-interval" /><item><title>RE: How to dynamically change the connection interval</title><link>https://devzone.nordicsemi.com/thread/508320?ContentTypeID=1</link><pubDate>Tue, 29 Oct 2024 10:18:40 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:a5c190e1-492c-4c4d-a909-259e3fb5ae75</guid><dc:creator>Einar Thorsrud</dc:creator><description>&lt;p&gt;Hi,&lt;/p&gt;
&lt;p&gt;You need to check the generated .config file in your build folder to see what you actually use, as there his a hiarachy of configs, and they also have default values. If you are building for a nRF devices, you will have&amp;nbsp;CONFIG_BT_LL_SOFTDEVICE=y by default unless you explicitly picked the Zephyr LL instead.&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: How to dynamically change the connection interval</title><link>https://devzone.nordicsemi.com/thread/508259?ContentTypeID=1</link><pubDate>Tue, 29 Oct 2024 01:01:59 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:a6acd0e5-5d16-4170-87b0-97de14562839</guid><dc:creator>Kc Owen</dc:creator><description>&lt;p&gt;What I find interesting is that if I connect my phone to the peripheral immediately after the broadcast, the two calls work, but if I connect after a while, the first call doesn&amp;#39;t work&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: How to dynamically change the connection interval</title><link>https://devzone.nordicsemi.com/thread/508258?ContentTypeID=1</link><pubDate>Tue, 29 Oct 2024 00:59:44 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:873e8131-0cf0-49af-9072-8e3507e73469</guid><dc:creator>Kc Owen</dc:creator><description>&lt;p&gt;My conf file does not use CONFIG_BT_LL_SOFTDEVICE=y because my program is modified based on routines from the nRF connect SDK&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: How to dynamically change the connection interval</title><link>https://devzone.nordicsemi.com/thread/508256?ContentTypeID=1</link><pubDate>Tue, 29 Oct 2024 00:54:51 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:63b144e0-27e1-4d95-a16d-beaa8e2f8161</guid><dc:creator>Kc Owen</dc:creator><description>&lt;p&gt;Both calls checked the return value, no error was returned, but only the second call can normally print the connection parameter change information, the first call does not seem to have been executed, but I am sure it has been executed, probably was rejected by the central, so I want to know whether the interval between the two calls is required&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: How to dynamically change the connection interval</title><link>https://devzone.nordicsemi.com/thread/508172?ContentTypeID=1</link><pubDate>Mon, 28 Oct 2024 13:35:06 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:e85cc09b-8670-4233-b5d2-08b5d144feb8</guid><dc:creator>Einar Thorsrud</dc:creator><description>&lt;p&gt;CONFIG_BT_GAP_AUTO_UPDATE_CONN_PARAMS is enabled by default, so unless you have disabled it it it used (you should see it in the generated .config). That is not a problem though, but as you cannot have parallell procedures, this is just an example that you need to handle that it could happen (check the return value and handle it appropriately).&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: How to dynamically change the connection interval</title><link>https://devzone.nordicsemi.com/thread/508171?ContentTypeID=1</link><pubDate>Mon, 28 Oct 2024 13:32:59 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:ce987218-31c2-4520-8779-c759a106777c</guid><dc:creator>yuxuan.cai</dc:creator><description>&lt;p&gt;That is odd, because it is the only condition that&amp;nbsp;&lt;span&gt;SDC_HCI_OPCODE_CMD_LE_CONN_UPDATE would return error code 0x0C. Could you confirm you are using Softdevice Controller? You could check if&amp;nbsp;&amp;nbsp;&lt;/span&gt;CONFIG_BT_LL_SOFTDEVICE is set to y&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: How to dynamically change the connection interval</title><link>https://devzone.nordicsemi.com/thread/508074?ContentTypeID=1</link><pubDate>Mon, 28 Oct 2024 07:53:39 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:d058a38b-0e8d-43e7-af22-c77223723883</guid><dc:creator>Kc Owen</dc:creator><description>&lt;p&gt;CONFIG_BT_GAP_AUTO_UPDATE_CONN_PARAMS is not enabled because I need to manually update the connection parameters&lt;/p&gt;
&lt;div id="gtx-trans" style="left:-54px;position:absolute;top:-18px;"&gt;
&lt;div class="gtx-trans-icon"&gt;&lt;/div&gt;
&lt;/div&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: How to dynamically change the connection interval</title><link>https://devzone.nordicsemi.com/thread/508059?ContentTypeID=1</link><pubDate>Mon, 28 Oct 2024 07:01:01 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:cb53a3c2-2d56-44c7-9a09-2cf2b13a53df</guid><dc:creator>Kc Owen</dc:creator><description>&lt;p&gt;Thank you for your reply. LLPM was not enabled, and the connection interval was set at 30ms. I feel that the two calls to update connection parameters were too short, resulting in the failure of the first call&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: How to dynamically change the connection interval</title><link>https://devzone.nordicsemi.com/thread/507955?ContentTypeID=1</link><pubDate>Fri, 25 Oct 2024 13:23:07 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:cc1443c2-d920-49c0-a447-55ba21a37417</guid><dc:creator>yuxuan.cai</dc:creator><description>&lt;p&gt;Sorry for chiming in. Are you using LLPM your application? In other words, are you using a connection interval less than 7.5ms in the first connection update call? If so, keep in mind that LLPM is only supported on 2M PHY. See&amp;nbsp;&lt;a id="" href="https://docs.nordicsemi.com/bundle/ncs-latest/page/nrf/samples/bluetooth/llpm/README.html"&gt;https://docs.nordicsemi.com/bundle/ncs-latest/page/nrf/samples/bluetooth/llpm/README.html&lt;/a&gt;&amp;nbsp;for more details&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: How to dynamically change the connection interval</title><link>https://devzone.nordicsemi.com/thread/507864?ContentTypeID=1</link><pubDate>Fri, 25 Oct 2024 08:01:45 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:b75c8636-9822-44ab-bbc7-baa91e4445fb</guid><dc:creator>Einar Thorsrud</dc:creator><description>&lt;p&gt;No. This is static. But note that this only delays connection parameter update after connection establishment. It doe snot delay subsequent connection parameter updates.&lt;/p&gt;
&lt;p&gt;One other thing, is&amp;nbsp;CONFIG_BT_GAP_AUTO_UPDATE_CONN_PARAMS enabled? If so, it will automatically appen after the configured delay after the connection is established.&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: How to dynamically change the connection interval</title><link>https://devzone.nordicsemi.com/thread/507842?ContentTypeID=1</link><pubDate>Fri, 25 Oct 2024 03:21:08 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:55fecc33-a075-4e05-a30a-fd5fcbcb3f14</guid><dc:creator>Kc Owen</dc:creator><description>&lt;p&gt;Can I dynamically adjust CONFIG_BT_CONN_PARAM_UPDATE_TIMEOUT？&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: How to dynamically change the connection interval</title><link>https://devzone.nordicsemi.com/thread/507708?ContentTypeID=1</link><pubDate>Thu, 24 Oct 2024 10:30:32 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:e7a71d93-d498-4123-bb8b-a3fc296e9608</guid><dc:creator>Einar Thorsrud</dc:creator><description>&lt;p&gt;Hi,&lt;/p&gt;
&lt;p&gt;What is the return value of the first call? I see you do not check that, but you should, and handle it accordingly. I see no point in calling twice, but it could be that by chance the timing there cause problems. Perhaps you can add&amp;nbsp;CONFIG_BT_CONN_PARAM_UPDATE_TIMEOUT=7000 or similar to your prj.conf and see if that matters (you can adjust the numer, which is a delay between when the connection is established and the first conn params update procedure. Also note that it is not allowed to perform a connection parameter update the first 5 seconds after establishing the link per Bleutooth specification.&amp;nbsp;&lt;/p&gt;
&lt;p&gt;It could also be that conn pams update is allready ongoing but you don&amp;#39;t know it? If so, I woudl recomend making a sniffer trace to see what happens on the link.&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: How to dynamically change the connection interval</title><link>https://devzone.nordicsemi.com/thread/507524?ContentTypeID=1</link><pubDate>Wed, 23 Oct 2024 08:47:06 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:a9ebe323-92a0-45c4-9fcb-96d41633ddd7</guid><dc:creator>Kc Owen</dc:creator><description>&lt;p&gt;&lt;img style="max-height:240px;max-width:320px;" alt=" " src="https://devzone.nordicsemi.com/resized-image/__size/640x480/__key/communityserver-discussions-components-files/4/774000.png" /&gt;&lt;br /&gt;Here I call bt_conn_le_param_update() twice, but only the second time to start the rental, the previous call does not work, the first call is to set the connection interval smaller, faster data synchronization, the second call is to set the connection interval larger, which is lower power consumption&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: How to dynamically change the connection interval</title><link>https://devzone.nordicsemi.com/thread/507516?ContentTypeID=1</link><pubDate>Wed, 23 Oct 2024 08:12:49 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:062ac93e-ccf8-4c81-b2d2-49eab0576597</guid><dc:creator>Einar Thorsrud</dc:creator><description>&lt;p&gt;Hi,&lt;/p&gt;
&lt;p&gt;The warning is regarding HCI command&amp;nbsp;0x2013, which is&amp;nbsp;SDC_HCI_OPCODE_CMD_LE_CONN_UPDATE, so that makes sense. I do not seee the full log though nor do I know which parameters you are tryign to udpate to, but it seems the operation is successfull?&lt;/p&gt;
&lt;p&gt;Regarding parallell procedures, I means more than one link layer (LL) procedure at one time. That is not allowed per&amp;nbsp;the Bluetooth specification.&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: How to dynamically change the connection interval</title><link>https://devzone.nordicsemi.com/thread/507509?ContentTypeID=1</link><pubDate>Wed, 23 Oct 2024 07:46:55 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:1f26e157-3409-48ed-9d5c-1fa9934f15af</guid><dc:creator>Kc Owen</dc:creator><description>&lt;p&gt;What does &amp;quot;You cannot initiate a new control procedure whiel another you initiated is actice.&amp;quot; mean? I don&amp;#39;t really understand&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: How to dynamically change the connection interval</title><link>https://devzone.nordicsemi.com/thread/507507?ContentTypeID=1</link><pubDate>Wed, 23 Oct 2024 07:42:29 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:21731eca-87b9-4f18-b3d1-9ae9601807a4</guid><dc:creator>Kc Owen</dc:creator><description>&lt;p&gt;&lt;img style="max-height:240px;max-width:320px;" alt=" " src="https://devzone.nordicsemi.com/resized-image/__size/640x480/__key/communityserver-discussions-components-files/4/3443.png" data-immersive-translate-walked="cc6daee3-4b87-4de9-8853-10fca6a71464" /&gt;&lt;br /&gt;An error was indeed returned&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: How to dynamically change the connection interval</title><link>https://devzone.nordicsemi.com/thread/507504?ContentTypeID=1</link><pubDate>Wed, 23 Oct 2024 07:28:44 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:e52758ea-6d1c-47a5-bc4e-df5eafce8295</guid><dc:creator>Einar Thorsrud</dc:creator><description>&lt;p&gt;You cannot initiate a new control procedure whiel another you initiated is actice. Perhaps that is what happened here? If you do,&amp;nbsp;bt_conn_le_param_update() will return an error. I expect this is what happened here.&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;Did you get an error code returned from&amp;nbsp;bt_conn_le_param_update()?&lt;/li&gt;
&lt;li&gt;If so, which?&lt;/li&gt;
&lt;li&gt;If not, in what way did this&amp;nbsp;fail?&lt;/li&gt;
&lt;/ol&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: How to dynamically change the connection interval</title><link>https://devzone.nordicsemi.com/thread/507471?ContentTypeID=1</link><pubDate>Wed, 23 Oct 2024 01:34:22 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:093ce80b-17c5-422e-a5ff-bc665fb10e9a</guid><dc:creator>Kc Owen</dc:creator><description>&lt;p&gt;Is there no requirement for the interval between the first call to bt_conn_le_param_update() and the second call？&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: How to dynamically change the connection interval</title><link>https://devzone.nordicsemi.com/thread/507470?ContentTypeID=1</link><pubDate>Wed, 23 Oct 2024 01:32:01 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:5c58ad25-aeb7-4459-a539-fea925fb9417</guid><dc:creator>Kc Owen</dc:creator><description>&lt;p&gt;Is there an example of updating connection parameters multiple times during a connection？&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: How to dynamically change the connection interval</title><link>https://devzone.nordicsemi.com/thread/507469?ContentTypeID=1</link><pubDate>Wed, 23 Oct 2024 01:30:35 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:5a188405-11c2-495f-a65d-b7d0aea4ed9d</guid><dc:creator>Kc Owen</dc:creator><description>&lt;p&gt;This is a change from the CGM example&lt;/p&gt;
&lt;div id="gtx-trans" style="left:-36px;position:absolute;top:-20px;"&gt;
&lt;div class="gtx-trans-icon"&gt;&lt;/div&gt;
&lt;/div&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: How to dynamically change the connection interval</title><link>https://devzone.nordicsemi.com/thread/507468?ContentTypeID=1</link><pubDate>Wed, 23 Oct 2024 01:28:16 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:697c7f16-6857-4788-b375-5027b026ff58</guid><dc:creator>Kc Owen</dc:creator><description>&lt;p&gt;After the Bluetooth connection is complete, bt_conn_le_param_update() is executed in the connected callback function. However, bt_conn_le_param_update() is executed in the code for synchronizing historical data but does not work.&lt;img style="max-height:240px;max-width:320px;" alt=" " src="https://devzone.nordicsemi.com/resized-image/__size/640x480/__key/communityserver-discussions-components-files/4/6746.png" /&gt;&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: How to dynamically change the connection interval</title><link>https://devzone.nordicsemi.com/thread/507329?ContentTypeID=1</link><pubDate>Tue, 22 Oct 2024 11:42:40 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:106c3c62-b9f8-4dcc-857c-e6fdd22bab96</guid><dc:creator>Einar Thorsrud</dc:creator><description>&lt;p&gt;Hi,&lt;/p&gt;
&lt;p&gt;There should not be any limitations on how often you can call&amp;nbsp;bt_conn_le_param_update(), and updating the connection parameters several times during a connection is common. In what way does it not work?&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: How to dynamically change the connection interval</title><link>https://devzone.nordicsemi.com/thread/507264?ContentTypeID=1</link><pubDate>Tue, 22 Oct 2024 08:01:58 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:9d2cfd63-0e1d-4335-a119-f000312a861c</guid><dc:creator>Kc Owen</dc:creator><description>&lt;p&gt;I used NCS 2.6.0&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item></channel></rss>