<?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>Insert data in the extended advertisement of BLE 5</title><link>https://devzone.nordicsemi.com/f/nordic-q-a/61827/insert-data-in-the-extended-advertisement-of-ble-5</link><description>Hello 
 I would like to use the extended advertisement feature of BLE 5 but I have several questions: 1. If I want to broadcast data in &amp;quot;extended advertisement&amp;quot; messages (without connection): should I insert this data in the &amp;quot;manufacturing data&amp;quot; or can</description><dc:language>en-US</dc:language><generator>Telligent Community 13</generator><lastBuildDate>Tue, 07 Jul 2020 08:25:19 GMT</lastBuildDate><atom:link rel="self" type="application/rss+xml" href="https://devzone.nordicsemi.com/f/nordic-q-a/61827/insert-data-in-the-extended-advertisement-of-ble-5" /><item><title>RE: Insert data in the extended advertisement of BLE 5</title><link>https://devzone.nordicsemi.com/thread/258744?ContentTypeID=1</link><pubDate>Tue, 07 Jul 2020 08:25:19 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:b1100942-364c-4ebe-bf24-689fd157661e</guid><dc:creator>ziv123</dc:creator><description>&lt;p&gt;SOLVED&amp;nbsp;the issue i raised&lt;/p&gt;
&lt;p&gt;forgot to change sdk_config.h to work with internal clock&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: Insert data in the extended advertisement of BLE 5</title><link>https://devzone.nordicsemi.com/thread/258731?ContentTypeID=1</link><pubDate>Tue, 07 Jul 2020 07:45:33 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:7a049a7b-f318-4609-b9e0-870bd68785a5</guid><dc:creator>ziv123</dc:creator><description>&lt;p&gt;hi Edvin&lt;/p&gt;
&lt;p&gt;i have tried to run the example &lt;span&gt;ble_app_rscs_c from central but for some reason it falls in the &lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span&gt;&amp;nbsp;ble_stack_init(); -&amp;gt; nrf_sdh_enable_request(); -&amp;gt; &lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span&gt;&lt;pre class="ui-code" data-mode="text"&gt; ret_code = sd_softdevice_enable(&amp;amp;clock_lf_cfg, app_error_fault_handler);&lt;/pre&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span&gt;which goes here :&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span&gt;&lt;pre class="ui-code" data-mode="text"&gt;SVCALL(SD_SOFTDEVICE_ENABLE, uint32_t, sd_softdevice_enable(nrf_clock_lf_cfg_t const * p_clock_lf_cfg, nrf_fault_handler_t fault_handler));&lt;/pre&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span&gt;can you help me to understand the reason ?&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span&gt;i work with nrf52832, sdk16.0, s132 ver7.0&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span&gt;best regards&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span&gt;Ziv&lt;/span&gt;&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: Insert data in the extended advertisement of BLE 5</title><link>https://devzone.nordicsemi.com/thread/252195?ContentTypeID=1</link><pubDate>Thu, 28 May 2020 13:02:33 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:567c833c-7042-48bc-89d5-37b9043b5cb1</guid><dc:creator>QuentinD</dc:creator><description>&lt;p&gt;Thank you very much for your help: it was really useful ;-)&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: Insert data in the extended advertisement of BLE 5</title><link>https://devzone.nordicsemi.com/thread/252131?ContentTypeID=1</link><pubDate>Thu, 28 May 2020 10:32:05 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:f2877b86-68b2-4d8f-9662-285fccb8b7a4</guid><dc:creator>Edvin</dc:creator><description>&lt;p&gt;1: I believe so. It looks like this is how it is done in the example, at least. It is a bit hard to tell, because we don&amp;#39;t have anything that can scan for extended advertising out of the box.&lt;/p&gt;
&lt;p&gt;However, I did a short test using ble_app_rscs (peripheral) + ble_app_rscs_c (central), where in the central project, I just changed the UUID that it is looking for from&amp;nbsp;BLE_UUID_RUNNING_SPEED_AND_CADENCE to&amp;nbsp;BLE_UUID_HUMAN_INTERFACE_DEVICE_SERVICE, just so it wouldn&amp;#39;t connect, but keep scanning.&lt;/p&gt;
&lt;p&gt;Then I added the&amp;nbsp;BLE_GAP_EVT_ADV_REPORT to the ble_evt_handler, to see the advertisement reports.&lt;/p&gt;
&lt;p&gt;Then I printed out what channels and the length of the advertising packet.&lt;/p&gt;
&lt;p&gt;&lt;/p&gt;
&lt;p&gt;What I saw is that I don&amp;#39;t get the original advertising packet at all (the ones on channel 37, 38 and 39). It looks like they are stripped away from the softdevice, because they only contain the information of what channel and phy the extended advertising is coming on. So in fact, all the data that you send is sent in the extended advertising packet.&lt;/p&gt;
&lt;p&gt;&lt;/p&gt;
&lt;p&gt;You may want to turn down the advertising interval, and to insert your peripheral&amp;#39;s advertising address in the if check to filter out the other advertisements, or it will be a lot of text printed. To see what address you have, use nRF connect for Desktop, and flash the peripheral DK with another example that doesn&amp;#39;t use extended advertising. addr[0] is the address byte to the far right:&lt;/p&gt;
&lt;p&gt;&lt;img src="https://devzone.nordicsemi.com/resized-image/__size/320x240/__key/support-attachments/beef5d1b77644c448dabff31668f3a47-e15a16b002304fcaaed12eb9dee24c98/pastedimage1590661910142v1.png" alt=" " /&gt;&lt;/p&gt;
&lt;p&gt;&lt;/p&gt;
&lt;p&gt;Check out the implementation I used to test:&lt;/p&gt;
&lt;p&gt;&lt;/p&gt;
&lt;p&gt;&lt;pre class="ui-code" data-mode="c_cpp"&gt;static void ble_evt_handler(ble_evt_t const * p_ble_evt, void * p_context)
{
    ret_code_t            err_code;
    ble_gap_evt_t const * p_gap_evt = &amp;amp;p_ble_evt-&amp;gt;evt.gap_evt;

    switch (p_ble_evt-&amp;gt;header.evt_id)
    {
        case BLE_GAP_EVT_ADV_REPORT:
            //if (p_ble_evt-&amp;gt;evt.gap_evt.params.adv_report.peer_addr.addr[0] == 0xD3) // comment in this line, and change it to match the address of your DK
            {
                NRF_LOG_INFO(&amp;quot;adv_report from %02x:02x:02x:02x:02x:02x&amp;quot;, p_ble_evt-&amp;gt;evt.gap_evt.params.adv_report.peer_addr.addr[0],
                                                                        p_ble_evt-&amp;gt;evt.gap_evt.params.adv_report.peer_addr.addr[1],
                                                                        p_ble_evt-&amp;gt;evt.gap_evt.params.adv_report.peer_addr.addr[2],
                                                                        p_ble_evt-&amp;gt;evt.gap_evt.params.adv_report.peer_addr.addr[3],
                                                                        p_ble_evt-&amp;gt;evt.gap_evt.params.adv_report.peer_addr.addr[4],
                                                                        p_ble_evt-&amp;gt;evt.gap_evt.params.adv_report.peer_addr.addr[5]);
                uint8_t channel = p_ble_evt-&amp;gt;evt.gap_evt.params.adv_report.ch_index;
                uint16_t len = (uint16_t)p_ble_evt-&amp;gt;evt.gap_evt.params.adv_report.data.len;
                NRF_LOG_INFO(&amp;quot;adv_report channel %d, len %d&amp;quot;, channel, len);
                
                NRF_LOG_INFO(&amp;quot;advertisement:&amp;quot;);
                for (uint16_t i=0; i&amp;lt;len; i++)
                {
                    NRF_LOG_RAW_INFO(&amp;quot;%02x&amp;quot;, p_ble_evt-&amp;gt;evt.gap_evt.params.adv_report.data.p_data[i]);
                    if(i%10 == 0 &amp;amp;&amp;amp; i != 0)
                    {
                        NRF_LOG_RAW_INFO(&amp;quot;\r\n&amp;quot;);
                    }
                    else if(i&amp;lt;len-1)
                    {
                        NRF_LOG_RAW_INFO(&amp;quot;:&amp;quot;);
                    }
                }
                NRF_LOG_RAW_INFO(&amp;quot;\r\n&amp;quot;);
            }
            break;
            case ...&lt;/pre&gt;&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: Insert data in the extended advertisement of BLE 5</title><link>https://devzone.nordicsemi.com/thread/252015?ContentTypeID=1</link><pubDate>Wed, 27 May 2020 14:41:01 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:f26ac515-644d-4b78-afcc-7fde7bd842df</guid><dc:creator>QuentinD</dc:creator><description>&lt;p&gt;Hello Edvin&lt;br /&gt;&lt;br /&gt;1.&amp;nbsp;&lt;br /&gt;&amp;nbsp;I also use this example (ble_app_rscs&lt;span&gt;)&lt;/span&gt; to develop extended advertising. In this example, they insert data in the &amp;quot;manufacturing data&amp;quot;. &lt;span title=""&gt;But as I am new with the Bluetooth frame format, I was wondering if it is in the &amp;quot;manufacturing data&amp;quot; field that we indicate our data in general or so, we add new fields in the &amp;quot;ble_advdata_t&amp;quot; structure which contain&lt;/span&gt; &lt;span title=""&gt;our data. It&amp;#39;s just a general question.&lt;br /&gt;&lt;br /&gt;2.&lt;br /&gt;&lt;/span&gt;Thank you very much.&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: Insert data in the extended advertisement of BLE 5</title><link>https://devzone.nordicsemi.com/thread/251950?ContentTypeID=1</link><pubDate>Wed, 27 May 2020 12:33:45 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:8a6d5893-bff3-4386-bff2-5a52a82fa3e6</guid><dc:creator>Edvin</dc:creator><description>&lt;p&gt;Hello,&lt;/p&gt;
&lt;p&gt;Check out the ble_app_rscs example as this uses extended advertising by default.&lt;/p&gt;
&lt;p&gt;It is found in SDK16.0.0\examples\ble_peripheral\ble_app_rscs&lt;/p&gt;
&lt;p&gt;&lt;/p&gt;
&lt;p&gt;As for the company identifier, you can&amp;#39;t use Nordic&amp;#39;s in an official product, so if you intend to certify this with Bluetooth, you need to use your own company identifier.&lt;/p&gt;
&lt;p&gt;That being said, I don&amp;#39;t think you need a company identifier. You don&amp;#39;t need to include it in the advertising packet, at least. It seems to run just fine without.&lt;/p&gt;
&lt;p&gt;You can read a bit more about company identifiers in &lt;a href="https://devzone.nordicsemi.com/nordic/short-range-guides/b/bluetooth-low-energy/posts/ble-advertising-a-beginners-tutorial" rel="noopener noreferrer" target="_blank"&gt;this blog post&lt;/a&gt;. Search for &amp;quot;company&amp;nbsp;ID&amp;quot;&lt;/p&gt;
&lt;p&gt;Is there a reason why you only use advertising? It will probably work, but be aware that you will not get any confirmation on whether or not an advertisement is scanned.&lt;/p&gt;
&lt;p&gt;&lt;/p&gt;
&lt;p&gt;BR,&lt;/p&gt;
&lt;p&gt;Edvin&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item></channel></rss>