<?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>scanning and connection establishment parameters</title><link>https://devzone.nordicsemi.com/f/nordic-q-a/19501/scanning-and-connection-establishment-parameters</link><description>Hi, 
 I have a question about scan window and interval [I&amp;#39;m using nrf51822aa with s130 2.0.1... I performing some tests and I find a use case: If I set both of them (scan interval and window) to 0x140 - 200ms then radio scans all the time, after that</description><dc:language>en-US</dc:language><generator>Telligent Community 13</generator><lastBuildDate>Tue, 26 Sep 2017 11:53:46 GMT</lastBuildDate><atom:link rel="self" type="application/rss+xml" href="https://devzone.nordicsemi.com/f/nordic-q-a/19501/scanning-and-connection-establishment-parameters" /><item><title>RE: scanning and connection establishment parameters</title><link>https://devzone.nordicsemi.com/thread/75755?ContentTypeID=1</link><pubDate>Tue, 26 Sep 2017 11:53:46 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:3f031daf-2f4e-47ec-964c-c3bfde210741</guid><dc:creator>Petter Myhre</dc:creator><description>&lt;p&gt;The peripheral link doesn&amp;#39;t normally get on hold, but a scanner/observer can get higher priority.&lt;/p&gt;
&lt;p&gt;Normally both will be in &lt;strong&gt;Fourth priority&lt;/strong&gt; - All BLE roles in states other than above run with this priority.&lt;/p&gt;
&lt;p&gt;A scanner can get &lt;strong&gt;Third priority&lt;/strong&gt; - Advertiser/Broadcaster/Scanner which has been blocked consecutively for a few times.&lt;/p&gt;
&lt;p&gt;A peripheral link can &lt;strong&gt;First priority&lt;/strong&gt; - Connection as a peripheral that is about to time-out&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: scanning and connection establishment parameters</title><link>https://devzone.nordicsemi.com/thread/75753?ContentTypeID=1</link><pubDate>Tue, 26 Sep 2017 11:44:44 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:1d1bec04-61d7-45a3-b2e3-e0751a5ad48f</guid><dc:creator>Matej</dc:creator><description>&lt;p&gt;Hm, ok... in that case is doxygen comment maybe a bit misleading.&lt;/p&gt;
&lt;p&gt;We have configured SoftDevice to support 1 peripheral link and 2 central links... We ( your SoftDevice ;) ) also support observing and broadcasting and we expose all of that to end customer.
It&amp;#39;s a bit hard to say how to limit user with those params; some of customers need just observer, other needs advertising + peripheral link and of course some of them need whole package (1+2, Observer or Broadcaster).
Your SoftDevice is amazing and I somehow expected that you also have check for configuration which is actuall not possible from timeslot perspective.&lt;/p&gt;
&lt;p&gt;Probably you have some reason that this is done in that way and you not limiting end user... What about priorities, why peripheral link gets on hold and observer gets higher priority?&lt;/p&gt;
&lt;p&gt;Thank you&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: scanning and connection establishment parameters</title><link>https://devzone.nordicsemi.com/thread/75754?ContentTypeID=1</link><pubDate>Tue, 26 Sep 2017 11:11:31 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:75d0097b-91a2-495e-9ab0-c0547a1b27de</guid><dc:creator>Petter Myhre</dc:creator><description>&lt;p&gt;I see. You can get the NRF_ERROR_RESOURCES if you for example have configured the SoftDevice to have 0 central links, and you try to scan.&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: scanning and connection establishment parameters</title><link>https://devzone.nordicsemi.com/thread/75756?ContentTypeID=1</link><pubDate>Tue, 26 Sep 2017 11:02:42 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:e47fd60a-e9bb-4822-ac32-d31022003cde</guid><dc:creator>Matej</dc:creator><description>&lt;p&gt;I came up to such conclusion with reading doxygen comment sd_ble_gap_scan_start of function... where is written: &amp;quot;&lt;em&gt;Not enough BLE role slots available. Stop one or more currently active roles (Central, Peripheral or Broadcaster) and try again&lt;/em&gt;&amp;quot;&lt;/p&gt;
&lt;p&gt;Considering priorities... then peripheral link should not starve, because of such scanning parameters. Peripheral link have the highest priority while observer/broadcaster is on the 3rd place.&lt;/p&gt;
&lt;p&gt;After all, I assume that in case if I already have established connection peripheral or central and then I call function to scan with 100% of time. I should get error NRF_ERROR_RESOURCES - considering to description.&lt;/p&gt;
&lt;p&gt;Or when it is possible to trigger that error?&lt;/p&gt;
&lt;p&gt;Thank you for additional info Petter.&lt;/p&gt;
&lt;p&gt;BR,
Matej&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: scanning and connection establishment parameters</title><link>https://devzone.nordicsemi.com/thread/75757?ContentTypeID=1</link><pubDate>Tue, 26 Sep 2017 10:32:08 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:4b116d07-51e4-4f1d-8a55-0e7f2ddadec0</guid><dc:creator>Petter Myhre</dc:creator><description>&lt;p&gt;News about what? :)&lt;/p&gt;
&lt;p&gt;It is possible to tell the SoftDevice to use those parameters, but it will of course not be able to scan 100% of the time and maintain a connection, the scanning and connection events will be scheduled according to the chapter you linked to. I don&amp;#39;t see how you end up with expecting NRF_ERROR_RESOURCES by reading that chapter, could you explain a bit more?&lt;/p&gt;
&lt;p&gt;The peripheral connection isn&amp;#39;t necessarily terminated, but it depends a bit on the connection parameters. It can hit the supervision timeout and get linkloss. I don&amp;#39;t have any other suggestions than limiting the user to enter such parameters.&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: scanning and connection establishment parameters</title><link>https://devzone.nordicsemi.com/thread/75752?ContentTypeID=1</link><pubDate>Mon, 25 Sep 2017 14:27:47 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:b2ec9d3e-15f6-44db-ba9a-e380069c1f6b</guid><dc:creator>Matej</dc:creator><description>&lt;p&gt;Hi, it&amp;#39;s been a while since this topic... So I&amp;#39;m wondering if there are some news about that.&lt;/p&gt;
&lt;p&gt;I have established peripheral link and after that user start scanning (sd_ble_gap_scan_start) with interval 200ms and also window 200ms. Of course such parameters are not possible, because part of timeslot is already used for peripheral connection – so scanning with such configuration is not possible.&lt;/p&gt;
&lt;p&gt;Regarding to &lt;a href="http://infocenter.nordicsemi.com/topic/com.nordic.infocenter.s130.sds/dita/softdevices/s130/multilink_scheduling/priorities_and_events_intro.html?cp=3_7_2_0_14_0"&gt;this chapter&lt;/a&gt; somehow I expect to get NRF_ERROR_RESOURCES error. But actually peripheral connection is terminated and scanning is started. What do you suggest? Except limiting user to enter such parameters.&lt;/p&gt;
&lt;p&gt;Thank you for update ;)&lt;/p&gt;
&lt;p&gt;BR, Matej&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: scanning and connection establishment parameters</title><link>https://devzone.nordicsemi.com/thread/75751?ContentTypeID=1</link><pubDate>Tue, 07 Feb 2017 10:21:27 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:e2d3c99c-d27f-4c39-b0a3-14ef45dcd1e5</guid><dc:creator>Petter Myhre</dc:creator><description>&lt;p&gt;I guess you should, but it is up to you :) The central device dictates the connection interval, the peripheral can only request a connection parameter update, the central decides if it wants to accept or reject. See &lt;a href="http://infocenter.nordicsemi.com/topic/com.nordic.infocenter.s130.api.v2.0.1/group___b_l_e___g_a_p___c_p_u___m_s_c.html?cp=3_7_2_1_0_2_1_3_7"&gt;this&lt;/a&gt; MSC.&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: scanning and connection establishment parameters</title><link>https://devzone.nordicsemi.com/thread/75750?ContentTypeID=1</link><pubDate>Mon, 06 Feb 2017 15:44:41 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:46558194-366f-427a-a9e1-6ef4c7ca621d</guid><dc:creator>Matej</dc:creator><description>&lt;p&gt;Thank you for info Petter! So I also should take in account number of established connections and all of connection intervals - which also should use multiple to avoid some possible schedule collisions?
In case that some of device would like to update/change connection interval – is it on my side that I check if this proposed connection interval is acceptable according to already connected devices and intervals that are already used?&lt;/p&gt;
&lt;p&gt;Thank you.&lt;/p&gt;
&lt;p&gt;BR, Matej&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: scanning and connection establishment parameters</title><link>https://devzone.nordicsemi.com/thread/75749?ContentTypeID=1</link><pubDate>Mon, 06 Feb 2017 15:32:10 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:60e14a3f-0819-4a7e-a97e-8a8bfd9e382a</guid><dc:creator>Petter Myhre</dc:creator><description>&lt;p&gt;Yes, the SoftDevice will accept such parameters even though it has a connection. It will schedule connection and scanning events. See &lt;a href="http://infocenter.nordicsemi.com/topic/com.nordic.infocenter.s130.sds/dita/softdevices/s130/multilink_scheduling/multilink_scheduling.html?cp=3_7_2_0_14"&gt;this&lt;/a&gt; for more information about scheduling.&lt;/p&gt;
&lt;p&gt;The SoftDevice does not protect against this, it expect the user to select paramters that make sense.&lt;/p&gt;
&lt;p&gt;I absolutely think it makes sense to limit the parameters the user can enter.&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item></channel></rss>