<?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>S130: Simultaneous connecting to multiple peripherals</title><link>https://devzone.nordicsemi.com/f/nordic-q-a/10480/s130-simultaneous-connecting-to-multiple-peripherals</link><description>Hi, 
 the S130 supports multiple connections for the Central role. Is it possible to connect to multiple devices at the same time? E.g. calling sd_ble_gap_connect() asynchronously multiple times with different peer addresses before a timeout or a connection</description><dc:language>en-US</dc:language><generator>Telligent Community 13</generator><lastBuildDate>Thu, 26 Nov 2015 11:16:37 GMT</lastBuildDate><atom:link rel="self" type="application/rss+xml" href="https://devzone.nordicsemi.com/f/nordic-q-a/10480/s130-simultaneous-connecting-to-multiple-peripherals" /><item><title>RE: S130: Simultaneous connecting to multiple peripherals</title><link>https://devzone.nordicsemi.com/thread/38947?ContentTypeID=1</link><pubDate>Thu, 26 Nov 2015 11:16:37 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:c349db21-6a44-4d6a-b391-0403ef19a186</guid><dc:creator>Petter Myhre</dc:creator><description>&lt;p&gt;Scanning is automatically stopped with the S130. Your implementation idea sounds good.&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: S130: Simultaneous connecting to multiple peripherals</title><link>https://devzone.nordicsemi.com/thread/38946?ContentTypeID=1</link><pubDate>Thu, 26 Nov 2015 10:43:34 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:676ba520-6d80-49d2-a9d7-fed227bf0ce5</guid><dc:creator>puz_md</dc:creator><description>&lt;p&gt;Thanks, then the whitelist might be something that helps us doing a clean implementation.
So stopping the scanning manually is not needed on the S130 stack?
My current strategy for the scenario described above would be as follows:&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;In idle mode, try to connect to B, C and D using the whitelist&lt;/li&gt;
&lt;li&gt;When the trigger event is detected, stop connecting from 1) and enter scan mode. Find the correct device (X, Y, Z) and connect to it. After the connection is established, continue with whitelist connecting to B, C and D, just like in 1).&lt;/li&gt;
&lt;/ol&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: S130: Simultaneous connecting to multiple peripherals</title><link>https://devzone.nordicsemi.com/thread/38944?ContentTypeID=1</link><pubDate>Thu, 26 Nov 2015 10:37:47 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:4cc84f4b-5424-40a2-8037-a432d3978943</guid><dc:creator>puz_md</dc:creator><description>&lt;p&gt;We have device A that implements a Dual Role or rather Triple Role (Peripheral, Central and Observer). Then we have several slave devices B, C and D (maybe more in the future) running in Peripheral mode that each implement different functionality a different Bluetooth profile. At startup, device A shall connect to devices B, C and D. Also, it shall reconnect if the connection is lost and it shall connect if A, B or C becomes available only after A has already started. This is the background functionality we need. Further, there are devices X, Y, Z, also running in peripheral mode, which implement the same profile but send different advertising data. Upon a trigger event, device A scans for advertising packets and depending on the advertising data connects to one of X, Y, Z etc. This is the main functionality. But connection to the slave devices (B, C, D etc.) should be kept and (re-) established at the same time. I already have a coarse Idea about how to implement this, based on your answer.&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: S130: Simultaneous connecting to multiple peripherals</title><link>https://devzone.nordicsemi.com/thread/38943?ContentTypeID=1</link><pubDate>Thu, 26 Nov 2015 10:13:11 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:c0807a95-c5dc-409c-aafa-3e06f9c0ddef</guid><dc:creator>Petter Myhre</dc:creator><description>&lt;p&gt;&amp;quot;My goal is to have multiple central services/profiles that handle their connections independently of each other.&amp;quot; Could you elaborate on the meaning of this?&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: S130: Simultaneous connecting to multiple peripherals</title><link>https://devzone.nordicsemi.com/thread/38945?ContentTypeID=1</link><pubDate>Thu, 26 Nov 2015 10:12:40 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:0bcbb85e-27b7-4910-92af-303df543512c</guid><dc:creator>Petter Myhre</dc:creator><description>&lt;p&gt;You can only connect to one device at the time. You can do this by either providing a peer address, or you can provide a whitelist with multiple addresses/IRKs. If you provide a whitelist, it will try to connect to the first advertisment that get a match with the whitelist. Then you will have to call sd_ble_gap_connect() again to connect to a second device, and so on.&lt;/p&gt;
&lt;p&gt;If you are scanning, and you call sd_ble_gap_connect() the &amp;quot;old&amp;quot; scan will be stopped. This had to be done manually with the S120 I believe. So the SoftDevice doesn&amp;#39;t allow you to observe while you are trying to connect. If this is an important feature, it may be possible to implement the observer with the timeslot API.&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item></channel></rss>