Как рекламировать конкретный 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);
Другие вопросы по тегам