1 В избранное 0 Ответвления 0

OSCHINA-MIRROR/Jieli-Tech-fw-AC63_BT_SDK

 / Детали:

ЗАМЕЧАНИЕ: В версии V200 динамически изменены широковещательные пакеты.

Предстоит сделать
Владелец
Создано  
05.03.2025

В публичной версии отключены ошибки в функции отключения广播包功能,按以下方式修改

void ble_gatt_server_module_enable(u8 en)
{
    log_info("mode_en:%d\n", en);
    if (en) {
        __this->adv_ctrl_en = 1;
        __gatt_server_check_auto_adv();
    } else {
        ble_gatt_server_adv_enable(0);
+        __this->adv_ctrl_en = 0; // Должна следовать за этой строкой
        ble_gatt_server_disconnect_all();
+        __gatt_server_set_work_state(INVAIL_CONN_HANDLE, BLE_ST_IDLE, 0); // Устанавливает состояние BLE в режиме ожидания
    }
}
  • Чтобы изменить содержание пакета广播包,请先禁用广播使能,然后注册并修改数据,最后重新启用广播使能。
    示例代码参考如下
static u8  adv_cnt = 0;
static int trans_make_set_adv_data(void)
{
    ...
    // Нужно динамически изменяемое поле广播包,например:
    offset += make_eir_packet_val(&buf[offset], offset, HCI_EIR_DATATYPE_MANUFACTURER_SPECIFIC_DATA, adv_cnt, 1);

    if (offset > ADV_RSP_PACKET_MAX) {
        puts("***trans_adv_data overflow!!!!!!\n");
        return -1;
    }
    ...
}
void adv_data_flash_loop(void *priv)
{
    putchar('L');
    put_u8hex(adv_cnt);
    ble_module_enable(0);
    adv_cnt++; // Используется эта переменная для заполнения данных广播包 в trans_make_set_adv_data()
    trans_make_set_adv_data();
    /* trans_make_set_rsp_data();  // По необходимости можно также изменить ответный пакет */
    ble_module_enable(1);
}

Комментарий (0)

GitLife Service Account Задача создана
GitLife Service Account добавлено
 
蓝牙相关
label.
GitLife Service Account добавлено
 
蓝牙BLE
label.
Развернуть журнал операций

Вход Перед тем как оставить комментарий

Статус
Ответственный
Контрольная точка
Pull Requests
Связанные запросы на слияние могут быть закрыты после их объединения
Ветки
Дата начала   -   Крайний срок
-
Закрепить/Открепить
Приоритет
Участники(1)
1
https://api.gitlife.ru/oschina-mirror/Jieli-Tech-fw-AC63_BT_SDK.git
git@api.gitlife.ru:oschina-mirror/Jieli-Tech-fw-AC63_BT_SDK.git
oschina-mirror
Jieli-Tech-fw-AC63_BT_SDK
Jieli-Tech-fw-AC63_BT_SDK