<?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>S120 Central Bonding with S110 peripheral</title><link>https://devzone.nordicsemi.com/f/nordic-q-a/7976/s120-central-bonding-with-s110-peripheral</link><description>Hello, 
 For our application I have to set up two simultaneous connections between a S120 master device and two peripherals that use the S110 softdevice.
A very short connect-time (&amp;lt;0.5s) is essential for our application. Therefore I try to make a bond</description><dc:language>en-US</dc:language><generator>Telligent Community 13</generator><lastBuildDate>Thu, 06 Aug 2015 11:37:48 GMT</lastBuildDate><atom:link rel="self" type="application/rss+xml" href="https://devzone.nordicsemi.com/f/nordic-q-a/7976/s120-central-bonding-with-s110-peripheral" /><item><title>RE: S120 Central Bonding with S110 peripheral</title><link>https://devzone.nordicsemi.com/thread/28586?ContentTypeID=1</link><pubDate>Thu, 06 Aug 2015 11:37:48 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:020fe67e-4470-4ea2-8594-d4c53008ef6d</guid><dc:creator>michaeld</dc:creator><description>&lt;p&gt;Any chance you can share your implementation?&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: S120 Central Bonding with S110 peripheral</title><link>https://devzone.nordicsemi.com/thread/28584?ContentTypeID=1</link><pubDate>Thu, 09 Jul 2015 11:20:29 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:f07d275b-9f64-44d5-9e74-a521311f50e6</guid><dc:creator>michiel</dc:creator><description>&lt;p&gt;I saved the service &amp;#39;parameters&amp;#39; non-persistently without the device manager.&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: S120 Central Bonding with S110 peripheral</title><link>https://devzone.nordicsemi.com/thread/28585?ContentTypeID=1</link><pubDate>Thu, 09 Jul 2015 10:39:03 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:5409df43-4b1a-486c-bdec-661f64b33f40</guid><dc:creator>Petter Myhre</dc:creator><description>&lt;p&gt;Which of my suggestions did you go for? Persistently or not? Device manager or not?&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: S120 Central Bonding with S110 peripheral</title><link>https://devzone.nordicsemi.com/thread/28583?ContentTypeID=1</link><pubDate>Thu, 09 Jul 2015 08:13:58 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:54864383-d8d8-40ec-93f2-a64d66935316</guid><dc:creator>michiel</dc:creator><description>&lt;p&gt;I implemented your suggestion and it works great. Thank you very much!&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: S120 Central Bonding with S110 peripheral</title><link>https://devzone.nordicsemi.com/thread/28582?ContentTypeID=1</link><pubDate>Wed, 08 Jul 2015 13:20:03 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:3195cae8-08da-40ef-91b1-eb75ce3f39e5</guid><dc:creator>michiel</dc:creator><description>&lt;p&gt;Thanks for your clear information! I will try to implement your suggestions.&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: S120 Central Bonding with S110 peripheral</title><link>https://devzone.nordicsemi.com/thread/28581?ContentTypeID=1</link><pubDate>Wed, 08 Jul 2015 12:18:19 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:b5b14140-ab56-4f30-ba66-f7cde29afbe9</guid><dc:creator>Petter Myhre</dc:creator><description>&lt;p&gt;We don&amp;#39;t have any example to store the service context for the client, neither persistently or not, and it is not &lt;a href="https://developer.nordicsemi.com/nRF51_SDK/nRF51_SDK_v8.x.x/doc/8.1.0/s120/html/a00102.html"&gt;completely implemented&lt;/a&gt; in the device manager. But I&amp;#39;m not sure you need the device manager, since you don&amp;#39;t need encryption.&lt;/p&gt;
&lt;p&gt;In ble_app_hrs_c the Database Discovery module does service discovery to find the attribute handles for the CCCD and the characterisitic value for hrs and bas. To skip this step you need to store these (persistently or not) on the first connection and then give them to ble_hrs_c and ble_bas_c on subsequent connections.&lt;/p&gt;
&lt;p&gt;As Carles mentioned you can also store the handles through the device manager, with dm_application_context_get dm_application_context_set but device manager requires you to store this information together with a bond.&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: S120 Central Bonding with S110 peripheral</title><link>https://devzone.nordicsemi.com/thread/28579?ContentTypeID=1</link><pubDate>Wed, 08 Jul 2015 12:14:41 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:99cfdfbd-1eac-4e41-9b77-da505fbebe44</guid><dc:creator>michiel</dc:creator><description>&lt;p&gt;Thanks for the information. I will give it a try.&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: S120 Central Bonding with S110 peripheral</title><link>https://devzone.nordicsemi.com/thread/28578?ContentTypeID=1</link><pubDate>Wed, 08 Jul 2015 11:42:34 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:aebaaebe-09c1-4e2e-8efb-f522edc81315</guid><dc:creator>Carles</dc:creator><description>&lt;p&gt;I&amp;#39;m informed of the following:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;
&lt;p&gt;We don&amp;#39;t cache attributes by default&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;To achieve that yourself, you need to use the Device Manager, in particular the following methods:&lt;/p&gt;
&lt;p&gt;dm_application_context_get
dm_application_context_set&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;You then need to store the context of the db_discovery module using get()&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;And then restore it after connection using set() to avoid rediscovering&lt;/p&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;If you have trouble implementing this I suggest you open a ticket with Nordic support, they will probably be able to help you further&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: S120 Central Bonding with S110 peripheral</title><link>https://devzone.nordicsemi.com/thread/28580?ContentTypeID=1</link><pubDate>Wed, 08 Jul 2015 11:24:40 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:8c0ea941-5cb0-4725-b433-40bfcbe74ad5</guid><dc:creator>Carles</dc:creator><description>&lt;p&gt;That means then that the GATT client module in the SDK is not caching the attributes. Let me ask around and get back to you&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: S120 Central Bonding with S110 peripheral</title><link>https://devzone.nordicsemi.com/thread/28577?ContentTypeID=1</link><pubDate>Wed, 08 Jul 2015 11:22:36 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:8d095253-176a-415b-a542-06c3ff6ffed3</guid><dc:creator>michiel</dc:creator><description>&lt;p&gt;Hello Carles,&lt;/p&gt;
&lt;p&gt;Thanks for your reply.
However in the &amp;#39;ble_app_hrs_c&amp;#39;  example the &amp;#39;service_changed&amp;#39; parameter is already set at &amp;#39;0&amp;#39; and the &amp;#39; attr_tab_size&amp;#39; parameter does not exists  for the central side.
If I change the gatts_enable_params for the &amp;#39;ble_app_hrs&amp;#39; example of the peripheral side as described above. Still both services are discovered each time a new connection is made.&lt;/p&gt;
&lt;p&gt;With kind regards,
Michiel&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: S120 Central Bonding with S110 peripheral</title><link>https://devzone.nordicsemi.com/thread/28576?ContentTypeID=1</link><pubDate>Tue, 07 Jul 2015 08:16:53 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:6f6b2cc5-0b87-4082-a1a7-c1e4afba880d</guid><dc:creator>Carles</dc:creator><description>&lt;p&gt;Hi there,&lt;/p&gt;
&lt;p&gt;If you want to avoid service discovery and you are not going to change the layout of the Attribute Table during the lifetime of the device, the easiest way to do that is to simply disable the Service Changed characteristic in the GATT server devices.&lt;/p&gt;
&lt;p&gt;To do that, simply set the option when enabling the BLE functionality:&lt;/p&gt;
&lt;pre&gt;&lt;code&gt;  ble_enable_params_t en_param;
  en_param.gatts_enable_params.service_changed = 0;
  en_param.gatts_enable_params.attr_tab_size = BLE_GATTS_ATTR_TAB_SIZE_DEFAULT;
  errcode = sd_ble_enable(&amp;amp;en_param);
&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;Then the GATT client devices do not need to perform service discovery after the first connection, since the absence of the Service Changed characteristic indicates that the layout of the server´s attribute table is never going to change.
This way you can also disable encryption if you don&amp;#39;t need it, saving some time and energy as well.&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item></channel></rss>