Hi
I followed below tutorial, and I tried to send scan response data
My code is like below
static void advertising_init(void) { ret_code_t err_code; // uint32_t err_code; ble_advertising_init_t init; memset(&init, 0, sizeof(init)); uint8_t data[] = "SomeData!"; ble_advdata_manuf_data_t manuf_data; manuf_data.company_identifier = 0x0059; manuf_data.data.p_data = data; manuf_data.data.size = sizeof(data); init.advdata.p_manuf_specific_data = &manuf_data; init.advdata.name_type = BLE_ADVDATA_SHORT_NAME; init.advdata.short_name_len = 3; init.advdata.include_appearance = true; init.advdata.flags = BLE_GAP_ADV_FLAGS_LE_ONLY_GENERAL_DISC_MODE; init.srdata.uuids_complete.uuid_cnt = sizeof(m_adv_uuids) / sizeof(m_adv_uuids[0]); init.srdata.uuids_complete.p_uuids = m_adv_uuids; int8_t tx_power_level = 4; init.advdata.p_tx_power_level = &tx_power_level; ble_advdata_manuf_data_t manuf_data_response; uint8_t data_response[]="Many_bytes_of_data"; manuf_data_response.company_identifier=0x0059; manuf_data_response.data.p_data=data_response; manuf_data_response.data.size=sizeof(data_response); init.srdata.name_type = BLE_ADVDATA_NO_NAME; init.srdata.p_manuf_specific_data=&manuf_data_response; init.config.ble_adv_fast_enabled = true; init.config.ble_adv_fast_interval = APP_ADV_INTERVAL; init.config.ble_adv_fast_timeout = APP_ADV_DURATION; init.evt_handler = on_adv_evt; err_code = ble_advertising_init(&m_advertising, &init); APP_ERROR_CHECK(err_code); ble_advertising_conn_cfg_tag_set(&m_advertising, APP_BLE_CONN_CFG_TAG); }
but when I run this code, It makes error at app_error_weak.c
and ends at the line NRF_BREAKPOINT_COND;
I don't know why It keeps happening.
Everything is same with the tutorial.
Without this line
init.srdata.p_manuf_specific_data=&manuf_data_response;
It runs very well, but of course I can't get the scan response data.
What should I do?
Best regards,