Merge branch 'bugfix/fix_fast_interval_prov_adv' into 'master'

ble_mesh: stack: Fix send fast interval prov_adv failed

See merge request espressif/esp-idf!20520
pull/9839/head
Island 2022-10-14 17:20:40 +08:00
commit beb8a7cf34
1 zmienionych plików z 6 dodań i 1 usunięć

Wyświetl plik

@ -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 {
@ -1377,12 +1378,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;