This post is older than 2 years and might not be relevant anymore
More Info: Consider searching for newer posts

with custom 128bit uuid custom uuid shows in advertising packet, but dfu service always shows base uuid

we use custom 128bit uuid service and dfu,bas services

when setting uuid as custom 128 bit uuid in advertising_init function, it's base uuid is always based on dfu.

what is the proper way to set advertising packet's base uuid?

here are some our code pieces.in main.c
static ble_uuid_t m_adv_uuids[] = {{BLE_CUSTOM_UUID,BLE_UUID_TYPE_VENDOR_BEGIN}};

in services_init() function
// add bas service
// add hid service
// add dfu service
// add custom 128 bit uuid's service

in advertising_init() function

init.srdata,uuids_complete.uuid_cnt = sizeof(m_adv_uuids) / sizeof(m_adv_uuids[0])

init,srdata.uuids_complete.p_uuids = m_adv_uuids

in custom.h
#define BLE_CUSTOM_UUID 0x8F23
the custom_uuid's base uuid is 175f8f23-a570-49bd-9627-815a6a27de2a
when the adding dfu service in services_init function is removed, then we can get the custom uuid in advertising packet,
but with dfu service we get wrong uuid which is based on dfu services' base uuid

Related