Как рекламировать конкретный UUID с помощью смарт-IDE Broadcom WICED
Я программирую встроенную плату, используя устройство Broadcom Bluetooth LE и интеллектуальную IDE Broadcom WICED.
Не могу понять, как изменить UUID по умолчанию, который плата объявляет при включении питания.
1 ответ
Решение
Ниже приведен пример кода для изменения рекламы, имеющей флаги, 128-битный UUID и локальное имя.
BLE_ADV_FIELD adv[3];
// flags
adv[0].len = 1 + 1;
adv[0].val = ADV_FLAGS;
adv[0].data[0] = LE_LIMITED_DISCOVERABLE | BR_EDR_NOT_SUPPORTED;
adv[1].len = 16 + 1;
adv[1].val = ADV_SERVICE_UUID128_COMP;
memcpy(adv[1].data, db_pdu.pdu, 16);
// name
adv[2].len = strlen(bleprofile_p_cfg->local_name) + 1;
adv[2].val = ADV_LOCAL_NAME_COMP;
memcpy(adv[2].data, bleprofile_p_cfg->local_name, adv[2].len - 1);
bleprofile_GenerateADVData(adv, 3);