<?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>Integrating Buttonless DFU: with extra custom 128bit UUID (SDK 12.x)</title><link>https://devzone.nordicsemi.com/f/nordic-q-a/18929/integrating-buttonless-dfu-with-extra-custom-128bit-uuid-sdk-12-x</link><description>Assuming SDK 12.x 
 For those people that want to integrate the Buttonless DFU service to their app, which uses already one custom base 128bit UUID, please make sure to: 
 
 
 Edit softdevice_handler.c (located at components/softdevice/common/softdevice_handler</description><dc:language>en-US</dc:language><generator>Telligent Community 13</generator><lastBuildDate>Fri, 21 Apr 2017 12:43:48 GMT</lastBuildDate><atom:link rel="self" type="application/rss+xml" href="https://devzone.nordicsemi.com/f/nordic-q-a/18929/integrating-buttonless-dfu-with-extra-custom-128bit-uuid-sdk-12-x" /><item><title>RE: Integrating Buttonless DFU: with extra custom 128bit UUID (SDK 12.x)</title><link>https://devzone.nordicsemi.com/thread/73153?ContentTypeID=1</link><pubDate>Fri, 21 Apr 2017 12:43:48 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:dfbb4956-53c2-477b-953a-98a6bc95ba1d</guid><dc:creator>Sanjay Shreedharan</dc:creator><description>&lt;p&gt;Steps 1, 2 and 3 need not be followed. Only Step 4 as such is enough to get the custom DFU application working. If anyone is facing any issues, I would be happy to help!&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: Integrating Buttonless DFU: with extra custom 128bit UUID (SDK 12.x)</title><link>https://devzone.nordicsemi.com/thread/73152?ContentTypeID=1</link><pubDate>Thu, 09 Mar 2017 00:13:59 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:7346c753-6b96-45f6-923b-02cf4c084679</guid><dc:creator>Nguyen Hoan Hoang</dc:creator><description>&lt;p&gt;you need to #include &amp;quot;nrf_dfu_settings.h&amp;quot;&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: Integrating Buttonless DFU: with extra custom 128bit UUID (SDK 12.x)</title><link>https://devzone.nordicsemi.com/thread/73151?ContentTypeID=1</link><pubDate>Tue, 07 Mar 2017 15:49:08 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:5f8158ae-8935-4153-b137-08fffdcf2d16</guid><dc:creator>Arepa</dc:creator><description>&lt;p&gt;Hi Nguyen,&lt;/p&gt;
&lt;p&gt;Are necessay any #include to use that snippet code? or Any aditional step to switch to DFU bootloader from the applicacion (e.g ble_app_uart example)&lt;/p&gt;
&lt;p&gt;Thanks&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: Integrating Buttonless DFU: with extra custom 128bit UUID (SDK 12.x)</title><link>https://devzone.nordicsemi.com/thread/73150?ContentTypeID=1</link><pubDate>Wed, 11 Jan 2017 23:03:18 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:5c95e365-309b-48b3-b531-67ead33c3dea</guid><dc:creator>Nguyen Hoan Hoang</dc:creator><description>&lt;p&gt;It&amp;#39;s a lot simpler.  You don&amp;#39;t need to add a custom dfu service for buttonless DFU.  Just add these 2 functions snippet from &lt;a href="http://embeddedsoftdev.blogspot.ca/p/ehal-nrf51.html"&gt;the EHAL library&lt;/a&gt; to your code.  Call the function BlePeriphAppEnterDfu().  It will automatically switch to DFU.&lt;/p&gt;
&lt;pre&gt;&lt;code&gt;void BlePeriphAppDfuCallback(fs_evt_t const * const evt, fs_ret_t result)
{
    if (result == FS_SUCCESS)
    {
        NVIC_SystemReset();
    }
}

void BlePeriphAppEnterDfu()
{
    uint32_t err_code = nrf_dfu_flash_init(true);

    nrf_dfu_settings_init();

    s_dfu_settings.enter_buttonless_dfu = true;

    err_code = nrf_dfu_settings_write(BlePeriphAppDfuCallback);

    if (err_code != NRF_SUCCESS)
    {
    }
}
&lt;/code&gt;&lt;/pre&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item></channel></rss>