<?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>DFU Service in scan response advertising data</title><link>https://devzone.nordicsemi.com/f/nordic-q-a/22904/dfu-service-in-scan-response-advertising-data</link><description>Hi, 
 I am designing a BLE Device based on nRF51822, which broadcast three services : one home made service, the Battery Service, and the DFU service for the OTA update. 
 When the device is advertising, it is supposed to broacast the UUID of all the</description><dc:language>en-US</dc:language><generator>Telligent Community 13</generator><lastBuildDate>Tue, 20 Jun 2017 12:40:51 GMT</lastBuildDate><atom:link rel="self" type="application/rss+xml" href="https://devzone.nordicsemi.com/f/nordic-q-a/22904/dfu-service-in-scan-response-advertising-data" /><item><title>RE: DFU Service in scan response advertising data</title><link>https://devzone.nordicsemi.com/thread/90069?ContentTypeID=1</link><pubDate>Tue, 20 Jun 2017 12:40:51 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:43e5b6b2-2aa4-4553-a9fe-d5a3b4c238c2</guid><dc:creator>Hung Bui</dc:creator><description>&lt;p&gt;Note that the &amp;quot;UUID type&amp;quot;, it not really a &amp;quot;type&amp;quot; it&amp;#39;s the ID of the UUID base registered in the database in the softdevice, so if you have more than one UUID base , the type will be the the increment , start from BLE_UUID_TYPE_VENDOR_BEGIN = 0x02&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: DFU Service in scan response advertising data</title><link>https://devzone.nordicsemi.com/thread/90068?ContentTypeID=1</link><pubDate>Tue, 20 Jun 2017 09:28:05 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:c8bde571-c116-4884-a801-4f90032eabb8</guid><dc:creator>Guillaume Levant</dc:creator><description>&lt;p&gt;The problem was solved : I had to split the advertising of the UUIDs between adv_data and sr_data. But there is one thing to know if you want to advertise the DFU Service UUID : You have to set the uuid struct of the device service the following way :&lt;/p&gt;
&lt;p&gt;{BLE_DFU_SERVICE_UUID, 0x03}&lt;/p&gt;
&lt;p&gt;The type of the UUID 0x03 is not defined in ble_types.h, but when you add trace to check the type of the UUID in the dfu service init, you can see that its type is 0x03.&lt;/p&gt;
&lt;p&gt;Thank you endnode for your help !&lt;/p&gt;
&lt;p&gt;Best regards,&lt;/p&gt;
&lt;p&gt;Guillaume&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: DFU Service in scan response advertising data</title><link>https://devzone.nordicsemi.com/thread/90072?ContentTypeID=1</link><pubDate>Mon, 19 Jun 2017 13:07:34 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:739d9161-e2f1-4f3a-8552-8485c6a16058</guid><dc:creator>endnode</dc:creator><description>&lt;p&gt;I&amp;#39;m afraid the only way &amp;quot;in the spirit of BT SIG spec&amp;quot; should be to indicate that your broadcast only partial UUID list and put only one 128-bit UUID there (probably the most &amp;quot;signature&amp;quot; or the most important one which should trigger your GAP/GATT application on Central/Client side). Then each device should do full GATT service discovery after connection and find all remaining services. If you don&amp;#39;t like this then you can experiment with putting some of UUID list AD elements to both Advertising and Scan Response data. I believe it could work with Soft Device, it&amp;#39;s just question if it won&amp;#39;t confuse some of the listeners (mobile phones and similar devices I guess;)... this would need to be validated extensively by you/your team.&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: DFU Service in scan response advertising data</title><link>https://devzone.nordicsemi.com/thread/90071?ContentTypeID=1</link><pubDate>Mon, 19 Jun 2017 13:03:36 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:5e038567-bcf3-43c7-8c81-911f8f8502e0</guid><dc:creator>Guillaume Levant</dc:creator><description>&lt;p&gt;Hi Jan,
Thank you for you anwer. Indeed  2 times 16 bytes is bigger than 31 bytes so I guess than even if the service UUID was the only thing I send through advertising, it would not work, thanks for this point that I forgot. At this moment I am sending the following informations through advertising :
adv_data :
advdata.name_type               = BLE_ADVDATA_FULL_NAME;
advdata.flags                   = BLE_GAP_ADV_FLAGS_LE_ONLY_GENERAL_DISC_MODE;&lt;/p&gt;
&lt;p&gt;sr_data :
srdata.uuids_complete.uuid_cnt = sizeof(m_adv_uuids) / sizeof(m_adv_uuids[0]);
srdata.uuids_complete.p_uuids = m_adv_uuids;
srdata.p_tx_power_level = &amp;amp;tx_power;&lt;/p&gt;
&lt;p&gt;Is there a more effective way to split it ? I don&amp;#39;t think that I can split the array that contains the UUIDs for advertising, is it possible ?&lt;/p&gt;
&lt;p&gt;Best regards,&lt;/p&gt;
&lt;p&gt;Guillaume&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: DFU Service in scan response advertising data</title><link>https://devzone.nordicsemi.com/thread/90070?ContentTypeID=1</link><pubDate>Mon, 19 Jun 2017 12:45:47 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:e6830813-dd07-4130-b841-034491dc9dac</guid><dc:creator>endnode</dc:creator><description>&lt;p&gt;Hi Guillaume,&lt;/p&gt;
&lt;p&gt;Both ADV_DATA and SCAN_RSP data are limited to 31B by BT SIG specification (not counting latest BT 5.0 extension). That includes GAP AD element&amp;#39;s overhead (TAG and LENGTH bytes) so you are not able to put more than one 16-byte (128-bit) UUID string into either of these data fields. If you have some other AD objects there (which you typically have - e.g. mandatory AD Flags etc.) then your capacity goes even lower. Can you check what exact string are you trying to put into ADV. and SCAN RSP. data?&lt;/p&gt;
&lt;p&gt;Cheers Jan&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item></channel></rss>