<?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>nRF5 SDK 15 adv_report</title><link>https://devzone.nordicsemi.com/f/nordic-q-a/38522/nrf5-sdk-15-adv_report</link><description>I see that a lot of things are changed in SDK 15 about BLE. I wonder if it is because of Bluetooth5. 
 But, the problem I am having is that I cannot find an example that shows me the structure of adv_report and how to read it. I was referring to ble_app_uart_c</description><dc:language>en-US</dc:language><generator>Telligent Community 13</generator><lastBuildDate>Fri, 31 Jan 2020 09:06:35 GMT</lastBuildDate><atom:link rel="self" type="application/rss+xml" href="https://devzone.nordicsemi.com/f/nordic-q-a/38522/nrf5-sdk-15-adv_report" /><item><title>RE: nRF5 SDK 15 adv_report</title><link>https://devzone.nordicsemi.com/thread/232022?ContentTypeID=1</link><pubDate>Fri, 31 Jan 2020 09:06:35 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:f6aa7e8d-ba47-4e76-a196-e851566a37bb</guid><dc:creator>Embedded_Engineer</dc:creator><description>&lt;p&gt;&lt;span class="user-name"&gt;&lt;a class="internal-link view-user-profile" href="https://devzone.nordicsemi.com/members/eith"&gt;Einar Thorsrud&lt;/a&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;Keep up the good support,&lt;/p&gt;
&lt;p&gt;Thank you&lt;/p&gt;
&lt;p&gt;MO&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: nRF5 SDK 15 adv_report</title><link>https://devzone.nordicsemi.com/thread/232013?ContentTypeID=1</link><pubDate>Fri, 31 Jan 2020 08:24:11 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:76e3b386-53a7-4796-a66a-83b905cdaa7d</guid><dc:creator>Einar Thorsrud</dc:creator><description>&lt;p&gt;You should not assume that the data is valid after the event handler returns. If you need it longer, you should copy it to a static buffer or similar. (The details&amp;nbsp;depend on undocumented SoftDevice internals and can depend on several factors, and change at any time.)&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: nRF5 SDK 15 adv_report</title><link>https://devzone.nordicsemi.com/thread/232003?ContentTypeID=1</link><pubDate>Fri, 31 Jan 2020 05:56:24 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:049f7ccb-7cff-4664-8a66-3b7737c79915</guid><dc:creator>Embedded_Engineer</dc:creator><description>&lt;p&gt;Hi &lt;span class="user-name"&gt;&lt;span class="ui-userpresence ui-tip present"&gt;&lt;/span&gt;&lt;a class="internal-link view-user-profile" href="https://devzone.nordicsemi.com/members/eith"&gt;Einar Thorsrud,&lt;/a&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span class="user-name"&gt;As the scanning is resumed after handling BLE event. I would like to know when does the&amp;nbsp;&lt;pre class="ui-code" data-mode="c_cpp"&gt;p_adv_report-&amp;gt;data.p_data&lt;/pre&gt;&amp;nbsp;is modified by the softdevice [am using S140]. Is it cleared after scanning is resumed or only over written when new packet advertised is received? I came across a situation when there was data available in p_adv_report-&amp;gt;data.p_data but p_adv_report-&amp;gt;data.len was zero [FYI scan response bit was set].&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span class="user-name"&gt;Thank you&lt;/span&gt;&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: nRF5 SDK 15 adv_report</title><link>https://devzone.nordicsemi.com/thread/149958?ContentTypeID=1</link><pubDate>Mon, 24 Sep 2018 08:37:46 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:3d8ba0d8-62d6-4c7d-a334-be48e0567e10</guid><dc:creator>Einar Thorsrud</dc:creator><description>&lt;p&gt;Yes, this is required in SDK 15, as it uses S132/S140 version 6. See &lt;a href="http://infocenter.nordicsemi.com/topic/com.nordic.infocenter.s132.api.v6.0.0/group___b_l_e___g_a_p___f_u_n_c_t_i_o_n_s.html?cp=2_3_1_1_1_2_1_2_33#gabbd87dea8f218d2a7e12c40cfbc6a7d2"&gt;API documentation for&amp;nbsp;sd_ble_gap_scan_start()&lt;/a&gt;&amp;nbsp;for details.&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: nRF5 SDK 15 adv_report</title><link>https://devzone.nordicsemi.com/thread/149890?ContentTypeID=1</link><pubDate>Fri, 21 Sep 2018 21:03:18 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:a656f948-9c3e-4263-8ccc-cbcd8e6e5af0</guid><dc:creator>mich_x</dc:creator><description>&lt;p&gt;I noticed that both your code and the examples resume scanning after handling the ble_evt. Is it required for SDK 15? Because I did not do this on SDK 14 and it seems to be ok.&amp;nbsp;&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: nRF5 SDK 15 adv_report</title><link>https://devzone.nordicsemi.com/thread/149556?ContentTypeID=1</link><pubDate>Thu, 20 Sep 2018 07:51:09 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:78d8d48e-822d-457c-b043-f468ac93ba0e</guid><dc:creator>Einar Thorsrud</dc:creator><description>&lt;p&gt;I do not see any code that initiates scanning in your code snippets.&lt;/p&gt;
&lt;p&gt;I made a simple active scanner example for SDK 15 the other day, which you can find in &lt;a href="https://devzone.nordicsemi.com/f/nordic-q-a/38260/how-to-get-the-scan-response-datafor-the-center/149047#149047"&gt;this post&lt;/a&gt;. That should do what you want out of the box, so perhaps you can start with that instead?&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: nRF5 SDK 15 adv_report</title><link>https://devzone.nordicsemi.com/thread/149512?ContentTypeID=1</link><pubDate>Wed, 19 Sep 2018 18:55:10 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:151d2071-ce79-45ab-9256-409b7ae4e3ae</guid><dc:creator>mich_x</dc:creator><description>&lt;p&gt;This is how I handle the ble_evt. I dumped all the adv_report it got but could not find the data I send by another device running SDK14. I am sure that the advertising of the SDK14 is correct.&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)
{
    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:
        {
            ble_gap_evt_adv_report_t const * p_adv_report = &amp;amp;p_gap_evt-&amp;gt;params.adv_report;
			NRF_LOG_DEBUG(&amp;quot;In parse&amp;quot;); 
        	NRF_LOG_DEBUG(&amp;quot;%d&amp;quot;, p_adv_report-&amp;gt;data.len);
        	NRF_LOG_HEXDUMP_DEBUG(p_adv_report-&amp;gt;data.p_data, p_adv_report-&amp;gt;data.len);
        }break; // BLE_GAP_EVT_ADV_REPORT

        default:
            break;
    }
}&lt;/pre&gt;&lt;/p&gt;
&lt;p&gt;This is how I initialize the scan module.&lt;/p&gt;
&lt;p&gt;&lt;pre class="ui-code" data-mode="text"&gt;static void blend_ble_stack_init(void )
{
    ret_code_t err_code;

    err_code = nrf_sdh_enable_request();
    APP_ERROR_CHECK(err_code);

    // Configure the BLE stack using the default settings.
    // Fetch the start address of the application RAM.
    uint32_t ram_start = 0;
    err_code = nrf_sdh_ble_default_cfg_set(APP_BLE_CONN_CFG_TAG, &amp;amp;ram_start);
    APP_ERROR_CHECK(err_code);

    // Enable BLE stack.
    err_code = nrf_sdh_ble_enable(&amp;amp;ram_start);
    APP_ERROR_CHECK(err_code);

    // Register a handler for BLE events.
    NRF_SDH_BLE_OBSERVER(_blend_ble_observer, APP_BLE_OBSERVER_PRIO, ble_evt_handler, NULL);
	_blend_scan_instance.scan_buffer.p_data = _blend_scan_instance.scan_buffer_data;
	_blend_scan_instance.scan_buffer.len = NRF_BLE_SCAN_BUFFER;
}&lt;/pre&gt;&lt;/p&gt;
&lt;p&gt;Can you maybe check for me where I did wrong? Because this is the exact way I did in SDK14 and that was perfectly fine. I am not sure what has changed about the softdevice&amp;nbsp;API during the upgrade.&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: nRF5 SDK 15 adv_report</title><link>https://devzone.nordicsemi.com/thread/148824?ContentTypeID=1</link><pubDate>Fri, 14 Sep 2018 12:24:32 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:10a167cb-3bc5-4702-9109-c1c899422458</guid><dc:creator>Einar Thorsrud</dc:creator><description>&lt;p&gt;Hi,&lt;/p&gt;
&lt;p&gt;I recommend you refer to the ble_app_hrc_c example to see how you can use the ble_advdata_* functions to parse the advertising data. If you want to do it without any helper functions you can access the full raw advertising data from&amp;nbsp;ble_gap_evt_adv_report_t::data.p_data (length is&amp;nbsp;&lt;span&gt;ble_gap_evt_adv_report_t::data.len) when you get the BLE_GAP_EVT_ADV_REPORT event.&lt;/span&gt;&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item></channel></rss>