<?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>Bluetooth connection parameters</title><link>https://devzone.nordicsemi.com/f/nordic-q-a/26592/bluetooth-connection-parameters</link><description>I am working with nRFx modules and have a few questions about updating parameters. I started my project with an example and modified what I needed. However, I am not sure if the parameters are getting set when I change them. Currently I go into main.c</description><dc:language>en-US</dc:language><generator>Telligent Community 13</generator><lastBuildDate>Fri, 10 Nov 2017 08:39:22 GMT</lastBuildDate><atom:link rel="self" type="application/rss+xml" href="https://devzone.nordicsemi.com/f/nordic-q-a/26592/bluetooth-connection-parameters" /><item><title>RE: Bluetooth connection parameters</title><link>https://devzone.nordicsemi.com/thread/104593?ContentTypeID=1</link><pubDate>Fri, 10 Nov 2017 08:39:22 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:5ffbfd28-e789-4e80-b4a0-24e16cebfd96</guid><dc:creator>Joakim Jakobsen</dc:creator><description>&lt;p&gt;Yes, sometimes that happens.&lt;br /&gt;
The reason I linked to the duplicate is to let other people searching the forum for similar issues easily find the information in both cases. That is also the reason we want to avoid duplicate threads.&lt;br /&gt;
Best regards.&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: Bluetooth connection parameters</title><link>https://devzone.nordicsemi.com/thread/104602?ContentTypeID=1</link><pubDate>Wed, 08 Nov 2017 17:25:56 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:0c85e2fd-1cc1-4194-9a3d-e17b17f51b36</guid><dc:creator>jon</dc:creator><description>&lt;p&gt;yes, joakim, this is an accidental duplicate. However, I am getting helpful information on both copies of the question.&lt;/p&gt;
&lt;p&gt;Endnode, thank you so much for all the help. You have set me on a good path!&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: Bluetooth connection parameters</title><link>https://devzone.nordicsemi.com/thread/104601?ContentTypeID=1</link><pubDate>Mon, 06 Nov 2017 12:52:50 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:9e85e591-f88f-491f-9035-c3c2ab30d2df</guid><dc:creator>Joakim Jakobsen</dc:creator><description>&lt;p&gt;This question has a &lt;a href="https://devzone.nordicsemi.com/question/176768/bluetooth-connection-parameters-help/"&gt;duplicate&lt;/a&gt;.&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: Bluetooth connection parameters</title><link>https://devzone.nordicsemi.com/thread/104600?ContentTypeID=1</link><pubDate>Sun, 05 Nov 2017 11:43:58 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:4cd2f196-9c07-4414-b57a-b4a8c5f17f21</guid><dc:creator>endnode</dc:creator><description>&lt;p&gt;Finally I would say that still the truth lives only in the radio so using BLE sniffer or some more expensive radio analyzer would tell you exactly what are connection parameters at the beginning and how different Masters (GAP Central devices) react on simple read of PPCP values from GATT Server or explicit Peripheral Connection Parameters Change procedure. Don&amp;#39;t be surprised that if you target mobile phones and similar devices you can see very different behavior starting from proper rejecting to accepting but with several seconds of delay or accepting but not acting accordingly or simply ignoring... so in the end it&amp;#39;s quite difficult to fine-tune the application logic to really improve your situation. And basically impossible if you want to have 100% compatibility with all possible centrals. If you target one or few specific devices then it&amp;#39;s probably good way.&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: Bluetooth connection parameters</title><link>https://devzone.nordicsemi.com/thread/104599?ContentTypeID=1</link><pubDate>Sun, 05 Nov 2017 11:38:07 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:aa8d6510-6fc5-491a-b11b-1b113c67c92c</guid><dc:creator>endnode</dc:creator><description>&lt;p&gt;(2/2)
... should prevent clock drift (even that shouldn&amp;#39;t happen for certified HW and stack) so again higher chance that if there is disconnection because of link loss then it&amp;#39;s because devices went too far and signals are too weak rather then some technical/SW issue while devices operate in standard range.&lt;/p&gt;
&lt;p&gt;When it comes to connection parameters update procedure all I can tell you is on Infocenter:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href="http://infocenter.nordicsemi.com/topic/com.nordic.infocenter.s132.api.v5.0.0/group___b_l_e___g_a_p___c_e_n_t_r_a_l___c_p_u___m_s_c.html"&gt;From GAP Central side&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="http://infocenter.nordicsemi.com/topic/com.nordic.infocenter.s132.api.v5.0.0/group___b_l_e___g_a_p___c_p_u___m_s_c.html"&gt;From GAP Peripheral side&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Unfortunately I&amp;#39;m not familiar with the example you use and FIRST/NEXT CONN_PARAMS_UPDATE_DELAY constants and mechanisms so I cannot advise on these.&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: Bluetooth connection parameters</title><link>https://devzone.nordicsemi.com/thread/104598?ContentTypeID=1</link><pubDate>Sun, 05 Nov 2017 11:32:38 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:b66bbfe9-c265-4aad-bec7-d62337b41256</guid><dc:creator>endnode</dc:creator><description>&lt;p&gt;There is only one interval in BLE link and that&amp;#39;s connection interval. Even if no communication happens there are two &amp;quot;empty&amp;quot; PDUs exchanged every interval (unless there is master or slave latency allowed and device takes the opportunity to miss certain interval and follow up later). The main factor for connection loss (if your device stack is implemented correctly!!!) is supervision time-out which cannot be lower then slave latency and simply once any side of the link doesn&amp;#39;t receive any PDU ack in that time it should terminate connection immediately (and because there is no one to signal it over the radio it&amp;#39;s rather internal process inside the stack and signalling to upper layers if applicable).&lt;/p&gt;
&lt;p&gt;Your strategy of lowering connection interval makes sense because it should mean more chances to exchange valid PDU pair which will reset supervision timer. Also lower interval... (1/2)&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: Bluetooth connection parameters</title><link>https://devzone.nordicsemi.com/thread/104597?ContentTypeID=1</link><pubDate>Sun, 05 Nov 2017 00:55:18 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:276e9032-62f2-451c-b1a2-5b610be691eb</guid><dc:creator>jon</dc:creator><description>&lt;p&gt;I am curious, are the min and max conn intervals how often the central will send a keep alive signal?&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: Bluetooth connection parameters</title><link>https://devzone.nordicsemi.com/thread/104596?ContentTypeID=1</link><pubDate>Sun, 05 Nov 2017 00:54:47 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:5a85e78b-7f18-442c-8280-078fc25dca70</guid><dc:creator>jon</dc:creator><description>&lt;p&gt;oh, i was thinking that those parameters were told to the central at first connection. Could you help me understand the peripheral connection parameters update procedure? This is where I would use FIRST_CONN_PARAMS_UPDATE_DELAY and NEXT_CONN_PARAMS_UPDATE_DELAY, correct?&lt;/p&gt;
&lt;p&gt;I would like to try and force the master to accept the parameters so that I can play around and see what parameters will help me experience bluetooth disconnects less often. As it stands I have a central that communicates with two peripherals that tend to move around a bit in the room. I transmit and expect data back every 300 ms or so. Bandwidth is not an issue as I am not sending/receiving a lot of data. I was thinking that I could lower the MIN_CONN_INTERVAL and MAX_CONN_INTERVAL settings and increase the CONN_SUP_TIMEOUT (so that i get less bluetooth disconnects from the windows bluetooth stack).&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: Bluetooth connection parameters</title><link>https://devzone.nordicsemi.com/thread/104595?ContentTypeID=1</link><pubDate>Sun, 05 Nov 2017 00:28:56 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:884a3cb2-bba3-4e4c-9409-4c12f83e81d7</guid><dc:creator>endnode</dc:creator><description>&lt;p&gt;No, they are not used when the connection starts because there is simply no way how would Master (Central) know these. They are not broadcasted (no space). However Master can (and should) read them is Peripheral Preferred Parameters Characteristic and Peripheral also can use Peripheral Connection Parameters Update procedure.&lt;/p&gt;
&lt;p&gt;I&amp;#39;m afraid the problem here is the perception which leads you to wrong questions. I guess it&amp;#39;s safe to say that these parameters are used but that&amp;#39;s not saying that you can automatically achieve what you want. Which brigs us to the right question (from my point of view;): what do you want exactly to achieve? Do you want to force Master (Central) to certain connection parameters? Do you want to increase bandwidth? To lower latency? Do you want to achieve that with every peer (another nRFx board, phones, PCs...)? Maybe you fiddle with the thing which won&amp;#39;t help you.&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: Bluetooth connection parameters</title><link>https://devzone.nordicsemi.com/thread/104594?ContentTypeID=1</link><pubDate>Sat, 04 Nov 2017 23:57:42 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:9d194e9f-6dfc-48f1-a316-5ebb174a3a72</guid><dc:creator>jon</dc:creator><description>&lt;p&gt;The project that was used can be found in the SDK under, examples\ble_peripheral\ble_app_uart. So if I were to modify those parameters, do they get sent to the central and used when the connection is first made? What do you suggest is the best way to figure out whether or not the parameters I am setting are actually being used?&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: Bluetooth connection parameters</title><link>https://devzone.nordicsemi.com/thread/104592?ContentTypeID=1</link><pubDate>Sat, 04 Nov 2017 08:27:45 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:325e73c2-3335-4fde-a2f1-93a6f421b6aa</guid><dc:creator>endnode</dc:creator><description>&lt;p&gt;What project you use? There are like hundred main.c files in SDK;) Normally these constants are indeed used in the code when you recompile and load it to the board so they should be used. The question is what you expect to happen;) Normally there is no debugging on Link Layer on systems like smart phones or Windows boxes so the usual way is to get RF analyzer/sniffer and see what is happening in the air.&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item></channel></rss>