Skip to content

Commit 29890c8

Browse files
feat(ble): add peripheral fast rx data in latency config on ESP32-C5
1 parent 0f03da4 commit 29890c8

File tree

3 files changed

+17
-1
lines changed

3 files changed

+17
-1
lines changed

components/bt/controller/esp32c5/Kconfig.in

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -943,3 +943,11 @@ menu "Scheduling Priority Level Config"
943943
default 2 if BT_LE_SYNC_SCHED_PRIO_HIGH_LEVEL
944944
default 1
945945
endmenu
946+
947+
config BT_LE_CTRL_SLV_FAST_RX_CONN_DATA_EN
948+
bool "Enable Peripheral fast PDU reception during latency"
949+
default n
950+
help
951+
When this option is enabled, the Controller continues receiving PDUs
952+
In the next connection event instead of entering latency
953+
After a data packet is received.

components/bt/controller/esp32c5/esp_bt_cfg.h

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -209,6 +209,12 @@ extern "C" {
209209
#define DEFAULT_BT_LE_CTRL_FAST_CONN_DATA_TX_EN (0)
210210
#endif
211211

212+
#if defined(CONFIG_BT_LE_CTRL_SLV_FAST_RX_CONN_DATA_EN)
213+
#define DEFAULT_BT_LE_CTRL_SLV_FAST_RX_CONN_DATA_EN (CONFIG_BT_LE_CTRL_SLV_FAST_RX_CONN_DATA_EN)
214+
#else
215+
#define DEFAULT_BT_LE_CTRL_SLV_FAST_RX_CONN_DATA_EN (0)
216+
#endif
217+
212218
#ifdef CONFIG_BT_LE_HCI_INTERFACE_USE_UART
213219
#define HCI_UART_EN CONFIG_BT_LE_HCI_INTERFACE_USE_UART
214220
#else

components/bt/include/esp32c5/include/esp_bt.h

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -159,7 +159,7 @@ esp_err_t esp_ble_tx_power_set_enhanced(esp_ble_enhanced_power_type_t power_type
159159
*/
160160
esp_power_level_t esp_ble_tx_power_get_enhanced(esp_ble_enhanced_power_type_t power_type, uint16_t handle);
161161

162-
#define CONFIG_VERSION 0x20251022
162+
#define CONFIG_VERSION 0x20251104
163163
#define CONFIG_MAGIC 0x5A5AA5A5
164164

165165
/**
@@ -235,6 +235,7 @@ typedef struct {
235235
uint8_t adv_rsv_cnt; /*!< BLE adv state machine reserve count number */
236236
uint8_t conn_rsv_cnt; /*!< BLE conn state machine reserve count number */
237237
uint8_t priority_level_cfg; /*!< The option for priority level configuration */
238+
uint8_t slv_fst_rx_lat_en; /*!< The option for enabling slave fast PDU reception during latency. */
238239
uint32_t config_magic; /*!< Magic number for configuration validation */
239240
} esp_bt_controller_config_t;
240241

@@ -297,6 +298,7 @@ typedef struct {
297298
.adv_rsv_cnt = BLE_LL_ADV_SM_RESERVE_CNT_N, \
298299
.conn_rsv_cnt = BLE_LL_CONN_SM_RESERVE_CNT_N, \
299300
.priority_level_cfg = BT_LL_CTRL_PRIO_LVL_CFG, \
301+
.slv_fst_rx_lat_en = DEFAULT_BT_LE_CTRL_SLV_FAST_RX_CONN_DATA_EN, \
300302
.config_magic = CONFIG_MAGIC, \
301303
}
302304

0 commit comments

Comments
 (0)