<?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>How to make beacon connectable</title><link>https://devzone.nordicsemi.com/f/nordic-q-a/25490/how-to-make-beacon-connectable</link><description>Hi Nordic, 
 I am trying to implement DFU-OTA in beacon. For that I am trying to make beacon connectable. My requirement is to work the beacon in non-connectable mode during normal operation whereas for implementing DFU, I need to make it connectable</description><dc:language>en-US</dc:language><generator>Telligent Community 13</generator><lastBuildDate>Thu, 05 Oct 2017 10:08:15 GMT</lastBuildDate><atom:link rel="self" type="application/rss+xml" href="https://devzone.nordicsemi.com/f/nordic-q-a/25490/how-to-make-beacon-connectable" /><item><title>RE: How to make beacon connectable</title><link>https://devzone.nordicsemi.com/thread/100473?ContentTypeID=1</link><pubDate>Thu, 05 Oct 2017 10:08:15 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:d7b23df0-89a3-4c1a-8db7-ca4c0aa4a899</guid><dc:creator>arjun</dc:creator><description>&lt;p&gt;I am using the button to switch to connectable mode.My application by default runs in beacon state.&lt;/p&gt;
&lt;p&gt;Yes, I was able to perform DFU multiple times.&lt;/p&gt;
&lt;p&gt;I am problem in the last two steps. After disconnecting and switching to bootloader mode, my device is not able to connect.It stucks somewhere in the connecting part. I am debugging it.&lt;/p&gt;
&lt;p&gt;However, I was able to resolve that issue by adding the NUS service and passing its uuid parameters. I was wondering, if it is necessary to pass adv_uuid, in the advertising init, when implementing connected mode.&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: How to make beacon connectable</title><link>https://devzone.nordicsemi.com/thread/100476?ContentTypeID=1</link><pubDate>Thu, 05 Oct 2017 07:48:35 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:73d35cb3-5bdf-405c-94ea-4024611d0008</guid><dc:creator>Hung Bui</dc:creator><description>&lt;p&gt;No, it doesn&amp;#39;t matter which UUID you advertise in the advertising packet. The way DFU buttonless works is:&lt;/p&gt;
&lt;p&gt;Device advertises (doesn&amp;#39;t matter what in the advertising packet)&lt;/p&gt;
&lt;p&gt;DFU app connect, check if the DFU service is in the Attribute table&lt;/p&gt;
&lt;p&gt;DFU app enable CCCD and send DFU command (0x01) to the DFU control point&lt;/p&gt;
&lt;p&gt;Device disconnects and switchs to Bootloader&lt;/p&gt;
&lt;p&gt;Bootloader advertises.&lt;/p&gt;
&lt;p&gt;DFU app connect again to the bootloader and perform DFU.&lt;/p&gt;
&lt;p&gt;Could you debug and check at which step it&amp;#39;s failed ?&lt;/p&gt;
&lt;p&gt;I would assume you have tested DFU with button (to switch to bootloader mode) and it worked, you managed to DFU update your application multiple times ?&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: How to make beacon connectable</title><link>https://devzone.nordicsemi.com/thread/100478?ContentTypeID=1</link><pubDate>Wed, 04 Oct 2017 12:29:30 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:161edee6-df59-477d-a87e-189a9dfa60d8</guid><dc:creator>arjun</dc:creator><description>&lt;p&gt;Not exactly. Even though I was able to make it properly connectable, I was not able to perform DFU. It was crashing while performing DFU. I have however reached a solution. Earlier for the connectable mode,in the advertising_init function, I was not passing any &lt;code&gt;advdata.uuids_complete.uuid_cnt&lt;/code&gt; and &lt;code&gt;advdata.uuids_complete.p_uuids&lt;/code&gt; values, as there was no service other than the DFU.&lt;/p&gt;
&lt;p&gt;Thus when I included the NUS in my application and passed its adv_uuid values to the advertising init function, it worked fine without any issues.&lt;/p&gt;
&lt;p&gt;Is it mandatory to pass the uuid parameters in the advertising init function , for a proper connection? Or is it necessary to have a service present, other than the DFU.&lt;/p&gt;
&lt;p&gt;I am debugging the issue. It would be helpful if you could give me some suggestion..&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: How to make beacon connectable</title><link>https://devzone.nordicsemi.com/thread/100474?ContentTypeID=1</link><pubDate>Wed, 04 Oct 2017 07:21:12 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:a11c9120-5b12-483c-9fcc-94ab7d36e52a</guid><dc:creator>Hung Bui</dc:creator><description>&lt;p&gt;I&amp;#39;m glad that you found the issue. Can you do DFU now with the fix ?&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: How to make beacon connectable</title><link>https://devzone.nordicsemi.com/thread/100479?ContentTypeID=1</link><pubDate>Tue, 03 Oct 2017 06:50:58 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:53704d27-b3fb-4de3-9975-5404174ee635</guid><dc:creator>arjun</dc:creator><description>&lt;p&gt;Hi Hung, Thanks.I debugged the problem. The issue was due to the advertising init function called inside the for loop. Although the device switched from non-connectable to connectable mode,before the whole transition, it jumped back to non-connectable mode due to the advertising init function. It worked fine after I prevented the following by using a flag variable.&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: How to make beacon connectable</title><link>https://devzone.nordicsemi.com/thread/100472?ContentTypeID=1</link><pubDate>Thu, 28 Sep 2017 13:40:46 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:1ca4c63a-120b-45b7-ac00-24430223509a</guid><dc:creator>Hung Bui</dc:creator><description>&lt;p&gt;Please try to debug and see why it stopped advertising. Most likely the parameter was not correct for doing connectable advertising. You need to figure out which function return error.&lt;/p&gt;
&lt;p&gt;I don&amp;#39;t see why you can&amp;#39;t advertise in connectable mode. But note that advertising in connectable mode is just one condition, you need the DFU service to switch from application to bootloader.&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: How to make beacon connectable</title><link>https://devzone.nordicsemi.com/thread/100471?ContentTypeID=1</link><pubDate>Thu, 28 Sep 2017 09:52:56 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:88679e67-d869-4e33-a224-6347b701caf2</guid><dc:creator>arjun</dc:creator><description>&lt;p&gt;Hi Hung,&lt;/p&gt;
&lt;p&gt;For debugging purpose, I am tried to make beacon by default in connectable mode.Thus I replaced the &lt;code&gt;BLE_GAP_ADV_TYPE_ADV_NONCONN_IND&lt;/code&gt; in the advertising_init() with &lt;code&gt;BLE_GAP_ADV_TYPE_ADV_IND&lt;/code&gt;. But when I do this , the device stops advertising, whereas when I change it back to non-connectable, its advertising. For further surety, I added all the connection related parameters and functions(conn_params_init()).&lt;/p&gt;
&lt;p&gt;Can beacon be made connectable at all? If so, is button based DFU the only solution for implementing DFU-OTA in beacon?&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: How to make beacon connectable</title><link>https://devzone.nordicsemi.com/thread/100470?ContentTypeID=1</link><pubDate>Thu, 28 Sep 2017 07:29:53 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:a9da85ef-f299-4efe-a7cf-7146dfcda173</guid><dc:creator>Hung Bui</dc:creator><description>&lt;p&gt;You need to debug in more detail. Switching from application to bootloader mode is pretty straight forward. The DFU control point should have CCCD enabled, then 0x01 being written to the control point. The application then switch to DFU bootloader.&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: How to make beacon connectable</title><link>https://devzone.nordicsemi.com/thread/100477?ContentTypeID=1</link><pubDate>Wed, 27 Sep 2017 14:27:29 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:e0acb175-d866-41e5-8b70-d527f4e08ff7</guid><dc:creator>arjun</dc:creator><description>&lt;p&gt;I have already  implemented as given in the documentation. I am able to connect to the beacon, but when I try to perform DFU, I am having the problem....&lt;/p&gt;
&lt;p&gt;For the DFU using button, I will try and let you know..&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: How to make beacon connectable</title><link>https://devzone.nordicsemi.com/thread/100469?ContentTypeID=1</link><pubDate>Wed, 27 Sep 2017 14:03:37 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:5a9f30e1-4ed3-482e-8432-d578b50202d9</guid><dc:creator>Hung Bui</dc:creator><description>&lt;p&gt;You are right, you just need to &lt;a href="http://infocenter.nordicsemi.com/topic/com.nordic.infocenter.sdk5.v11.0.0/bledfu_appextending.html?cp=4_0_6_4_3_1_2_1"&gt;follow the documentation&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;By default, the bootloader will enter DFU bootloader mode with Button 4 as in the documentation &lt;a href="http://infocenter.nordicsemi.com/topic/com.nordic.infocenter.sdk5.v11.0.0/bledfu_example_running.html?cp=4_0_6_4_3_1_1_0_2#bledfu_example_running_test"&gt;here&lt;/a&gt;.&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: How to make beacon connectable</title><link>https://devzone.nordicsemi.com/thread/100466?ContentTypeID=1</link><pubDate>Wed, 27 Sep 2017 13:15:39 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:751a1015-f034-453d-9a1e-5cb05203f2ea</guid><dc:creator>arjun</dc:creator><description>&lt;p&gt;For implementing DFU buttonless service,the device needs to be in connectable mode, right??&lt;/p&gt;
&lt;p&gt;As per my application requirement,I want the node to act as beacon.Beacon is a non-connectable device. Thus for implementing DFU-OTA, I would need to make it in connectable mode.&lt;/p&gt;
&lt;p&gt;Could you give some suggestions on implementing DFU bootloader using button press..&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: How to make beacon connectable</title><link>https://devzone.nordicsemi.com/thread/100475?ContentTypeID=1</link><pubDate>Wed, 27 Sep 2017 12:58:46 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:0dabd75b-98eb-4dfa-a119-c869c8d40b56</guid><dc:creator>Hung Bui</dc:creator><description>&lt;p&gt;You need to implement &lt;a href="http://infocenter.nordicsemi.com/topic/com.nordic.infocenter.sdk5.v11.0.0/bledfu_application.html?cp=4_0_6_4_3_1_2"&gt;dfu buttonless service&lt;/a&gt; so that the application can switch to bootloader to do DFU.&lt;/p&gt;
&lt;p&gt;Without that, how would you expect the DFU bootloader work ?&lt;/p&gt;
&lt;p&gt;Another option is that you switch directly to DFU bootloader when you press the button (skip the advertising in connectable mode) .&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: How to make beacon connectable</title><link>https://devzone.nordicsemi.com/thread/100467?ContentTypeID=1</link><pubDate>Wed, 27 Sep 2017 10:02:18 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:3dc1a5a6-bba9-4aaf-af79-fb3f2c2d8a44</guid><dc:creator>arjun</dc:creator><description>&lt;p&gt;Hi Hung, I have implemented in the following manner -&lt;/p&gt;
&lt;p&gt;I am generating an interrupt using a button. When the button is pressed, the device stops advertising (non connectable by default) and starts advertising in connectable mode.&lt;/p&gt;
&lt;p&gt;I flashed the softdevice and bootloader from the nrfgo studio. I flashed the application using DFU. when I press the button, the device switches from non-connectable mode to connectable mode. when I press the DFU icon, it gives the following notifications-&lt;/p&gt;
&lt;p&gt;Starting DFU-&amp;gt;Starting Bootloader-&amp;gt;Connecting(stays here for some time)-&amp;gt;Disconnecting-&amp;gt;Connecting(again stays here for some time)-&amp;gt;Disconnecting-&amp;gt;DFU failed and stops advertising .&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: How to make beacon connectable</title><link>https://devzone.nordicsemi.com/thread/100468?ContentTypeID=1</link><pubDate>Wed, 27 Sep 2017 09:26:52 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:1bcaa42c-fe0a-4c78-ba09-1d2d8a713ddd</guid><dc:creator>Hung Bui</dc:creator><description>&lt;p&gt;@arjun: Please describe in more detail what exactly happened when &amp;quot;I am not able to perform DFU&amp;quot;.
Have your beacon enter DFU bootloader ? What kind of implementation have you done ? Have you flashed the bootloader ?&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item></channel></rss>