SDK: 15.3.0
SoftDevice: S132
Device: EYSHJNZWZ (nRF52832)
I want to use "Manufacturer Specific Data".
I created a sample program, but 8 bytes from the beginning are not set to the value I set.
Please tell me what is the cause.
static ble_uuid_t m_adv_uuids[] = { { 0x1234, BLE_UUID_TYPE_VENDOR_BEGI } }; BLE_ADVERTISING_DEF(m_advertising); ble_advertising_init_t g_advinit; ble_advdata_manuf_data_t manufacturer_specific_data; uint8_t manuf_specific_data[16]; memset(&g_advinit, 0, sizeof(g_advinit)); memset(&manufacturer_specific_data, 0, sizeof(manufacturer_specific_data)); g_advinit.advdata.name_type = BLE_ADVDATA_FULL_NAME; g_advinit.advdata.include_appearance = false; g_advinit.advdata.flags = BLE_GAP_ADV_FLAGS_LE_ONLY_GENERAL_DISC_MODE; for(i=0; i<16; i++) { manuf_specific_data[i] = (i + 1); } manufacturer_specific_data.company_identifier = 0xFFFF; manufacturer_specific_data.data.size = ( sizeof(manuf_specific_data) / sizeof(manuf_specific_data[0]) ); manufacturer_specific_data.data.p_data = manuf_specific_data; g_advinit.advdata.p_manuf_specific_data = &manufacturer_specific_data; g_advinit.srdata.uuids_complete.uuid_cnt = ( sizeof(m_adv_uuids) / sizeof(m_adv_uuids[0]) ); g_advinit.srdata.uuids_complete.p_uuids = m_adv_uuids; g_advinit.config.ble_adv_fast_enabled = true; g_advinit.config.ble_adv_fast_interval = (40.0 / 0.625); g_advinit.config.ble_adv_fast_timeout = 0; g_advinit.evt_handler = NULL; ble_advertising_init( &m_advertising, &g_advinit);