ble_mesh: stack: Fix send fast interval prov_adv failed when PB-ADV and PB-GATT enable simultaneously

This commit is contained in:
wangjialiang 2022-10-10 17:03:47 +08:00
parent b89f55d74a
commit b467ab61a1

View File

@ -73,6 +73,7 @@ static uint16_t proxy_ccc_val;
#if defined(CONFIG_BLE_MESH_PB_GATT)
static uint16_t prov_ccc_val;
static bool prov_fast_adv;
static uint32_t prov_start_time;
#endif
static struct bt_mesh_proxy_client {
@ -1351,12 +1352,16 @@ int32_t bt_mesh_proxy_server_adv_start(void)
}
#if defined(CONFIG_BLE_MESH_PB_GATT)
if (prov_fast_adv) {
prov_start_time = k_uptime_get_32();
}
if (!bt_mesh_is_provisioned()) {
const struct bt_mesh_adv_param *param;
struct bt_mesh_adv_data prov_sd[2];
size_t prov_sd_len;
if (prov_fast_adv) {
if (k_uptime_get_32() - prov_start_time < K_SECONDS(60)) {
param = &fast_adv_param;
} else {
param = &slow_adv_param;