mirror of
https://github.com/espressif/esp-idf.git
synced 2026-10-01 10:40:47 +03:00
fix(bt): Update bt lib for ESP32-C3 and ESP32-S3(2f683593)
- Fixed read remote feature timeout when using coded phy
- Fixed disconnection issue(0x08) when using 125k coded phy
- Fixed disconnection issue(0x08) when updating connection param
- Fixed disconnection issue(0x08) when using multi connection
- Avoid error when adding duplicate device to whitelist
- Support disable channel assessment by vendor hci
- Support smaller connection interval (3.75 ms)
- Support duplicate exception list in EVT ADV
(cherry picked from commit 658ff8730b)
Co-authored-by: zhanghaipeng <zhanghaipeng@espressif.com>
This commit is contained in:
@@ -563,6 +563,31 @@ config BT_CTRL_CHECK_CONNECT_IND_ACCESS_ADDRESS
|
||||
This improves security by ensuring that only connection requests with valid Access Addresses are accepted.
|
||||
If disabled, only basic checks are applied, improving compatibility.
|
||||
|
||||
config BT_CTRL_BLE_MIN_CONN_INTERVAL_ENABLE
|
||||
bool "Allow BLE connection interval below the spec minimum"
|
||||
default y
|
||||
select BT_BLE_HOST_ALLOW_SUB_SPEC_MIN_CONN_INT if BT_BLUEDROID_ENABLED
|
||||
help
|
||||
Enabling this option allows the BLE controller to use a connection interval
|
||||
smaller than the Bluetooth Core specification minimum of 7.5 ms. On
|
||||
ESP32-C3/S3, when this option is enabled, the connection interval can go as
|
||||
low as 3 * 1.25 ms = 3.75 ms.
|
||||
|
||||
Note: Because the connection interval is very short, the time available within
|
||||
a single connection event is also very limited. It is best not to send or
|
||||
receive long payloads (e.g. large ATT MTU, Data Length Extension with large
|
||||
Tx/Rx octets) when this lower interval is used.
|
||||
|
||||
This option is enabled by default. Disable it to stay compliant with the BLE
|
||||
specification (minimum connection interval 7.5 ms).
|
||||
|
||||
Host stack: When Bluedroid is the BLE host, enabling this option also selects
|
||||
BT_BLE_HOST_ALLOW_SUB_SPEC_MIN_CONN_INT so the host accepts connection
|
||||
intervals below the spec minimum. NimBLE host does not provide equivalent
|
||||
support yet; it is planned for a future release. Until then, use Bluedroid
|
||||
if you need coordinated host and controller behavior for sub-minimum
|
||||
intervals.
|
||||
|
||||
menu "Controller debug log Options (Experimental)"
|
||||
config BT_CTRL_LE_LOG_EN
|
||||
depends on BT_CTRL_RUN_IN_FLASH_ONLY
|
||||
|
||||
@@ -309,6 +309,7 @@ extern void ets_backup_dma_copy(uint32_t reg, uint32_t mem_addr, uint32_t num, b
|
||||
|
||||
extern void btdm_cca_feature_enable(void);
|
||||
extern void btdm_aa_check_enhance_enable(void);
|
||||
extern void ble_min_conn_interval_enable(uint16_t min_interval);
|
||||
|
||||
/* BLE Log module */
|
||||
#if CONFIG_BT_CTRL_LE_LOG_EN
|
||||
@@ -1348,6 +1349,9 @@ static void btdm_funcs_table_ready_wrapper(void)
|
||||
#if BLE_CTRL_CHECK_CONNECT_IND_ACCESS_ADDRESS_ENABLED
|
||||
btdm_aa_check_enhance_enable();
|
||||
#endif
|
||||
#if CONFIG_BT_CTRL_BLE_MIN_CONN_INTERVAL_ENABLE
|
||||
ble_min_conn_interval_enable(3); // 3 * 1.25 = 3.75ms
|
||||
#endif
|
||||
#if CONFIG_BT_CTRL_RUN_IN_FLASH_ONLY
|
||||
// do nothing
|
||||
#else
|
||||
|
||||
Reference in New Issue
Block a user