feat(nimble): Added adv queue congestion check

This commit is contained in:
darshan
2023-08-10 15:48:07 +05:30
committed by Rahul Tank
parent e3f05d0972
commit 4c118e23ca
4 changed files with 26 additions and 1 deletions

View File

@ -668,3 +668,12 @@ config BT_NIMBLE_HIGH_DUTY_ADV_ITVL
depends on BT_NIMBLE_ENABLED
help
This enable BLE high duty advertising interval feature
config BT_NIMBLE_HOST_QUEUE_CONG_CHECK
bool "BLE queue congestion check"
depends on BT_NIMBLE_ENABLED
default n
help
When scanning and scan duplicate is not enabled, if there are a lot of adv packets around
or application layer handling adv packets is slow, it will cause the controller memory
to run out. if enabled, adv packets will be lost when host queue is congested.

View File

@ -452,6 +452,10 @@ esp_err_t esp_nimble_hci_init(void)
xSemaphoreGive(vhci_send_sem);
#if MYNEWT_VAL(BLE_QUEUE_CONG_CHECK)
ble_adv_list_init();
#endif
return ret;
err:
ble_buf_free();
@ -494,5 +498,9 @@ esp_err_t esp_nimble_hci_deinit(void)
ble_buf_free();
#if MYNEWT_VAL(BLE_QUEUE_CONG_CHECK)
ble_adv_list_deinit();
#endif
return ESP_OK;
}

View File

@ -1619,4 +1619,12 @@
#endif
#endif
#ifndef MYNEWT_VAL_BLE_QUEUE_CONG_CHECK
#ifdef CONFIG_BT_NIMBLE_HOST_QUEUE_CONG_CHECK
#define MYNEWT_VAL_BLE_QUEUE_CONG_CHECK CONFIG_BT_NIMBLE_HOST_QUEUE_CONG_CHECK
#else
#define MYNEWT_VAL_BLE_QUEUE_CONG_CHECK FALSE
#endif
#endif
#endif