Hi
with SDK15 SD140 6.1.0. I'm trying to use BLE_GAP_ADV_TYPE_EXTENDED_NONCONNECTABLE_SCANNABLE_UNDIRECTED with CODED physical.
I run the following code
static ble_gap_adv_data_t m_adv_beacon_data = { .adv_data = { .p_data = NULL, .len = 0 }, .scan_rsp_data = { .p_data = m_becaon_rsdata, .len = BLE_GAP_SCAN_BUFFER_EXTENDED_MIN, }}; ret_code_t err_code; ble_advdata_t const adv_data = { .name_type = BLE_ADVDATA_FULL_NAME, .flags = BLE_GAP_ADV_FLAGS_LE_ONLY_GENERAL_DISC_MODE, .include_appearance = false }; err_code = ble_advdata_encode(&adv_data, m_adv_beacon_data.scan_rsp_data.p_data, &m_adv_beacon_data.scan_rsp_data.len); APP_ERROR_CHECK(err_code); ble_gap_adv_params_t adv_params; memset(&adv_params, 0, sizeof(adv_params)); adv_params.primary_phy = BLE_GAP_PHY_CODED; adv_params.secondary_phy = BLE_GAP_PHY_CODED; adv_params.p_peer_addr = NULL, adv_params.duration = 0; adv_params.properties.type = BLE_GAP_ADV_TYPE_EXTENDED_NONCONNECTABLE_SCANNABLE_UNDIRECTED; adv_params.scan_req_notification = 1; adv_params.interval = APP_ADV_FAST_INTERVAL; adv_params.filter_policy = BLE_GAP_ADV_FP_ANY; err_code = sd_ble_gap_adv_set_configure(&m_adv_handle, &m_adv_beacon_data, &adv_params); APP_ERROR_CHECK(err_code);
and getting error 10: NRF_ERROR_INVALID_FLAGS .
the idea is to have a scan response on CODED, so the peripheral can know it was being scanned.
the code is based on this link, although the next lines are commented there:
else if(m_adv_scan_type_selected == SELECTION_NON_CONNECTABLE) { NRF_LOG_INFO("Advertising type set to EXTENDED_NONCONNECTABLE_SCANNABLE_UNDIRECTED "); adv_params.properties.type = BLE_GAP_ADV_TYPE_EXTENDED_NONCONNECTABLE_SCANNABLE_UNDIRECTED; // ret = ble_advdata_encode(&adv_data, m_adv_data_ext.scan_rsp_data.p_data, &m_adv_data_ext.scan_rsp_data.len); // APP_ERROR_CHECK(ret);
I would love to get explanation.
thanks...