<?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>Issue detecting buttonless DFU characteristic</title><link>https://devzone.nordicsemi.com/f/nordic-q-a/33034/issue-detecting-buttonless-dfu-characteristic</link><description>I&amp;#39;m trying to implement an application for the nRF52832 that will provide an OTA update to another external nRF52. The code for the device accepting the update has already been developed and is working fine with nRFConnect run on a Windows PC. When I</description><dc:language>en-US</dc:language><generator>Telligent Community 13</generator><lastBuildDate>Wed, 04 Apr 2018 13:58:23 GMT</lastBuildDate><atom:link rel="self" type="application/rss+xml" href="https://devzone.nordicsemi.com/f/nordic-q-a/33034/issue-detecting-buttonless-dfu-characteristic" /><item><title>RE: Issue detecting buttonless DFU characteristic</title><link>https://devzone.nordicsemi.com/thread/126876?ContentTypeID=1</link><pubDate>Wed, 04 Apr 2018 13:58:23 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:93bd72a6-5379-4457-8737-873f82cdba54</guid><dc:creator>klockhart</dc:creator><description>&lt;p&gt;Turns out the issue was that I needed to add the Nordic vendor specific UUID in order for the characteristic to be discovered. I changed my init function to the following:&lt;/p&gt;
&lt;p&gt;#define BLE_DFU_SERVICE_UUID 0xFE59 //!&amp;lt; The UUID of the DFU Service.&lt;br /&gt;#define BLE_NORDIC_VENDOR_BASE_UUID \&lt;br /&gt;{{ \&lt;br /&gt; 0x50, 0xEA, 0xDA, 0x30, 0x88, 0x83, 0xB8, 0x9F, \&lt;br /&gt; 0x60, 0x4F, 0x15, 0xF3, 0x00, 0x00, 0xC9, 0x8E \&lt;br /&gt;}}&lt;/p&gt;
&lt;p&gt;uint32_t dfu_svc_init(void)&lt;br /&gt;{&lt;br /&gt;&amp;nbsp; &amp;nbsp; ble_uuid_t buttonless_dfu_uuid;&lt;br /&gt;&amp;nbsp; &amp;nbsp; ble_uuid_t nordic_uuid;&lt;br /&gt;&amp;nbsp; &amp;nbsp; ble_uuid128_t nordic_base_uuid = BLE_NORDIC_VENDOR_BASE_UUID;&lt;br /&gt;&amp;nbsp; &amp;nbsp; uint8_t nordic_base_uuid_type;&lt;br /&gt;&amp;nbsp; &amp;nbsp; uint32_t err_code;&lt;/p&gt;
&lt;p&gt;&amp;nbsp; &amp;nbsp; err_code = sd_ble_uuid_vs_add(&amp;amp;nordic_base_uuid, &amp;amp;nordic_base_uuid_type);&lt;br /&gt;&amp;nbsp; &amp;nbsp; VERIFY_SUCCESS(err_code);&lt;/p&gt;
&lt;p&gt;&amp;nbsp; &amp;nbsp; nordic_uuid.type = nordic_base_uuid_type;&lt;br /&gt;&amp;nbsp; &amp;nbsp; nordic_uuid.uuid = BLE_DFU_SERVICE_UUID;&lt;/p&gt;
&lt;p&gt;&amp;nbsp; &amp;nbsp; err_code = ble_db_discovery_evt_register(&amp;amp;nordic_uuid);&lt;br /&gt;&amp;nbsp; &amp;nbsp; VERIFY_SUCCESS(err_code);&lt;/p&gt;
&lt;p&gt;&amp;nbsp; &amp;nbsp; buttonless_dfu_uuid.type = BLE_UUID_TYPE_BLE;&lt;br /&gt;&amp;nbsp; &amp;nbsp; buttonless_dfu_uuid.uuid = BLE_DFU_SERVICE_UUID;&lt;/p&gt;
&lt;p&gt;&amp;nbsp; &amp;nbsp; return ble_db_discovery_evt_register(&amp;amp;buttonless_dfu_uuid);&lt;br /&gt;}&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item></channel></rss>