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);
