@@ -7,23 +7,265 @@ config HEAP_MEM_POOL_ADD_SIZE_ESP_BT
7
7
default 25600 if ESP_BT_HEAP_SYSTEM
8
8
default 0
9
9
help
10
- Make sure there is a minimal heap available for BT driver.
10
+ Additional heap size reserved for Bluetooth driver usage .
11
11
12
12
choice ESP_BT_HEAP
13
- prompt "Bluetooth adapter heap in use "
13
+ prompt "Bluetooth heap type "
14
14
default ESP_BT_HEAP_SYSTEM
15
15
16
- config ESP_BT_HEAP_SYSTEM
17
- bool "Bluetooth adapter use the kernel mempool heap (k_malloc)"
16
+ config ESP_BT_HEAP_SYSTEM
17
+ bool "Kernel memory pool heap (k_malloc)"
18
18
19
19
endchoice # ESP_BT_HEAP
20
20
21
+ menu "ESP32 Bluetooth Controller Configuration"
22
+
21
23
config ESP32_BT_CONTROLLER_STACK_SIZE
22
24
int "Bluetooth controller stack size"
23
25
default 4096
24
26
25
27
config ESP32_BT_CONTROLLER_TASK_PRIO
26
- int "Bluetooth controller task priority level "
28
+ int "Bluetooth controller task priority"
27
29
default 2
28
30
31
+ if BT_CLASSIC
32
+
33
+ config ESP32_BT_CTLR_BR_EDR_MAX_SYNC_CONN
34
+ int "BR/EDR synchronous connection limit (SCO/eSCO)"
35
+ default 0
36
+ range 0 3
37
+ help
38
+ Maximum number of synchronous connections (SCO/eSCO).
39
+ Each connection uses approximately 2 KB of DRAM.
40
+
41
+ config ESP32_BT_CTLR_BR_EDR_MAX_ACL_CONN
42
+ int "BR/EDR ACL connection limit"
43
+ default 2
44
+ range 1 7
45
+ help
46
+ Maximum number of BR/EDR ACL connections.
47
+ Each connection uses about 1.2 KB of DRAM.
48
+
49
+ config ESP32_BT_CTLR_BR_EDR_MIN_ENC_KEY_SZ_DFT
50
+ int "BR/EDR minimum encryption key size"
51
+ default 7
52
+ range 7 16
53
+ help
54
+ Default minimum encryption key size when initiating BR/EDR encryption.
55
+
56
+ endif # BT_CLASSIC
57
+
58
+ config ESP32_BT_CTLR_LE_MAX_CONN
59
+ int "BLE connection limit"
60
+ default 3
61
+ range 1 9
62
+ help
63
+ Maximum number of concurrent BLE connections.
64
+ Each connection consumes about 1 KB of DRAM.
65
+
66
+ config ESP32_BT_LE_SLEEP_CLOCK_ACCURACY_INDEX_EFF
67
+ int
68
+ default 1
69
+ help
70
+ BLE sleep clock accuracy index (1 = 151–250 ppm).
71
+
72
+ config ESP32_BT_CTLR_LE_MAX_ACT
73
+ int "BLE activity instance limit"
74
+ default 6
75
+ range 1 10
76
+ help
77
+ Number of BLE activities (connections, scanning, advertising, synchronization).
78
+ Each instance uses about 828 bytes of DRAM.
79
+
80
+ config ESP32_BT_CTLR_LE_STATIC_ACL_TX_BUF_NB
81
+ int "BLE static ACL TX buffer numbers"
82
+ range 0 12
83
+ default 0
84
+ help
85
+ BLE ACL buffer have two methods to be allocated. One is persistent allocating
86
+ (allocate when controller initialise, never free until controller de-initialise)
87
+ another is dynamically allocating (allocate before TX and free after TX).
88
+
89
+ config ESP32_BT_CTLR_ADV_DUP_FILT_MAX
90
+ int "BLE duplicate filter entry limit"
91
+ range 1 500
92
+ default 30
93
+ help
94
+ Maximum entries in the extended advertising duplicate scan filter.
95
+
96
+ choice ESP32_BT_LE_CCA_MODE
97
+ prompt "BLE clear channel assessment mode"
98
+ default ESP32_BT_LE_CCA_MODE_NONE
99
+ help
100
+ Select BLE CCA behavior. CCA delays packet transmission if the channel is busy,
101
+ affecting scan and connection timing.
102
+
103
+ config ESP32_BT_LE_CCA_MODE_NONE
104
+ bool "None"
105
+
106
+ config ESP32_BT_LE_CCA_MODE_HW
107
+ bool "Hardware CCA"
108
+
109
+ config ESP32_BT_LE_CCA_MODE_SW
110
+ bool "Software CCA (experimental)"
111
+
112
+ endchoice
113
+
114
+ config ESP32_BT_LE_CCA_MODE
115
+ int
116
+ default 0 if ESP32_BT_LE_CCA_MODE_NONE
117
+ default 1 if ESP32_BT_LE_CCA_MODE_HW
118
+ default 2 if ESP32_BT_LE_CCA_MODE_SW
119
+
120
+ config ESP32_BT_CTLR_HW_CCA_VAL
121
+ int "Hardware CCA threshold (dBm)"
122
+ range 20 100
123
+ default 20
124
+ help
125
+ RSSI threshold for hardware CCA. Value 30 corresponds to –30 dBm.
126
+
127
+ config ESP32_BT_CTLR_HW_CCA
128
+ int
129
+ default 0
130
+ help
131
+ Internal effective value for hardware CCA.
132
+
133
+ choice ESP32_BT_CTLR_CE_LENGTH_TYPE
134
+ prompt "Connection event length type"
135
+ help
136
+ Determine how connection event lengths are set by the controller.
137
+
138
+ config ESP32_BT_CTLR_CE_LENGTH_TYPE_ORIG
139
+ bool "Original method"
140
+
141
+ config ESP32_BT_CTLR_CE_LENGTH_TYPE_CE
142
+ bool "Use HCI CE parameter"
143
+
144
+ config ESP32_BT_CTLR_CE_LENGTH_TYPE_SD
145
+ bool "Espressif custom method"
146
+
147
+ endchoice
148
+
149
+ config ESP32_BT_CTLR_CE_LENGTH_TYPE_EFF
150
+ int
151
+ default 0 if ESP32_BT_CTLR_CE_LENGTH_TYPE_ORIG
152
+ default 1 if ESP32_BT_CTLR_CE_LENGTH_TYPE_CE
153
+ default 2 if ESP32_BT_CTLR_CE_LENGTH_TYPE_SD
154
+
155
+ choice ESP32_BT_CTLR_TX_ANTENNA_INDEX
156
+ prompt "Bluetooth default TX antenna"
157
+ help
158
+ Select the antenna used for Bluetooth transmission.
159
+
160
+ config ESP32_BT_CTLR_TX_ANTENNA_INDEX_0
161
+ bool "Antenna 0"
162
+
163
+ config ESP32_BT_CTLR_TX_ANTENNA_INDEX_1
164
+ bool "Antenna 1"
165
+
166
+ endchoice
167
+
168
+ config ESP32_BT_CTLR_TX_ANTENNA_INDEX_EFF
169
+ int
170
+ default 0 if ESP32_BT_CTLR_TX_ANTENNA_INDEX_0
171
+ default 1 if ESP32_BT_CTLR_TX_ANTENNA_INDEX_1
172
+
173
+ choice ESP32_BT_CTLR_RX_ANTENNA_INDEX
174
+ prompt "Bluetooth default RX antenna"
175
+ help
176
+ Select the antenna used for Bluetooth reception.
177
+
178
+ config ESP32_BT_CTLR_RX_ANTENNA_INDEX_0
179
+ bool "Antenna 0"
180
+
181
+ config ESP32_BT_CTLR_RX_ANTENNA_INDEX_1
182
+ bool "Antenna 1"
183
+
184
+ endchoice
185
+
186
+ config ESP32_BT_CTLR_RX_ANTENNA_INDEX_EFF
187
+ int
188
+ default 0 if ESP32_BT_CTLR_RX_ANTENNA_INDEX_0
189
+ default 1 if ESP32_BT_CTLR_RX_ANTENNA_INDEX_1
190
+
191
+ config ESP32_BT_LE_ADV_DATA_LENGTH_ZERO_AUX
192
+ bool "Include auxiliary packet for zero-length advertising"
193
+ help
194
+ Include AUX PDUs for non-connectable, non-scannable advertising when payload is zero.
195
+
196
+ config ESP32_BT_CTLR_CHAN_ASS_EN
197
+ bool "Channel assessment timer"
198
+ default y
199
+ help
200
+ Evaluate channel quality periodically and update the channel map every 4 seconds.
201
+
202
+ config ESP32_BT_CTLR_LE_PING_EN
203
+ bool "LE authenticated payload timeout"
204
+ default y
205
+ help
206
+ Enable LE authenticated payload timeout (ping timer) for link security.
207
+
208
+ menu "BLE link-layer control procedures"
209
+
210
+ config ESP32_BT_CTLR_LE_LLCP_CONN_UPDATE
211
+ bool "Terminate on connection update timeout"
212
+
213
+ config ESP32_BT_CTLR_LE_LLCP_CHAN_MAP_UPDATE
214
+ bool "Terminate on channel map update timeout"
215
+
216
+ config ESP32_BT_CTLR_LE_LLCP_PHY_UPDATE
217
+ bool "Terminate on PHY update timeout"
218
+
219
+ endmenu
220
+
221
+ config ESP32_BT_CTLR_DTM_ENABLE
222
+ bool "Direct test mode support"
223
+ default y
224
+
225
+ config ESP32_BT_CTLR_LE_MASTER
226
+ bool "BLE master role support"
227
+ default y
228
+ help
229
+ When disabled, connectable advertising is not used.
230
+
231
+ config ESP32_BT_CTLR_LE_SCAN
232
+ bool "BLE scanning support"
233
+ default y
234
+
235
+ config ESP32_BT_CTLR_LE_SECURITY_ENABLE
236
+ bool "BLE security support"
237
+ default y
238
+
239
+ config ESP32_BT_CTLR_LE_ADV
240
+ bool "BLE advertising support"
241
+ default y
242
+
243
+ config ESP32_BT_CTLR_CHECK_CONNECT_IND_ACCESS_ADDRESS
244
+ bool "CONNECT_IND access address verification"
245
+ help
246
+ Perform strict validation of Access Address in CONNECT_IND PDUs to improve security.
247
+
248
+ choice ESP32_BT_CTLR_COEX_PHY_CODED_TX_RX_TLIM
249
+ prompt "Coexistence PHY coded TX/RX time limit"
250
+ depends on ESP32_SW_COEXIST_ENABLE
251
+ default ESP32_BT_CTLR_COEX_PHY_CODED_TX_RX_TLIM_DIS
252
+ help
253
+ Limit TX/RX time for coded PHY to reduce Wi-Fi interference.
254
+
255
+ config ESP32_BT_CTLR_COEX_PHY_CODED_TX_RX_TLIM_EN
256
+ bool "Apply time limit"
257
+
258
+ config ESP32_BT_CTLR_COEX_PHY_CODED_TX_RX_TLIM_DIS
259
+ bool "No time limit"
260
+
261
+ endchoice
262
+
263
+ config ESP32_BT_CTLR_COEX_PHY_CODED_TX_RX_TLIM_EFF
264
+ int
265
+ default 0 if !ESP32_SW_COEXIST_ENABLE
266
+ default 1 if ESP32_BT_CTLR_COEX_PHY_CODED_TX_RX_TLIM_EN
267
+ default 0 if ESP32_BT_CTLR_COEX_PHY_CODED_TX_RX_TLIM_DIS
268
+
269
+ endmenu # ESP32 Bluetooth Controller Configuration
270
+
29
271
endif # BT_ESP32
0 commit comments