6 #include "ext_nimble_config.h"
9 #include "nimconfig_rename.h"
153 #ifndef CONFIG_BT_NIMBLE_ROLE_CENTRAL_DISABLED
154 #define CONFIG_BT_NIMBLE_ROLE_CENTRAL
157 #ifndef CONFIG_BT_NIMBLE_ROLE_OBSERVER_DISABLED
158 #define CONFIG_BT_NIMBLE_ROLE_OBSERVER
161 #ifndef CONFIG_BT_NIMBLE_ROLE_PERIPHERAL_DISABLED
162 #define CONFIG_BT_NIMBLE_ROLE_PERIPHERAL
165 #ifndef CONFIG_BT_NIMBLE_ROLE_BROADCASTER_DISABLED
166 #define CONFIG_BT_NIMBLE_ROLE_BROADCASTER
169 #ifndef CONFIG_BT_NIMBLE_PINNED_TO_CORE
170 #define CONFIG_BT_NIMBLE_PINNED_TO_CORE 0
173 #ifndef CONFIG_BT_NIMBLE_HOST_TASK_STACK_SIZE
174 #define CONFIG_BT_NIMBLE_HOST_TASK_STACK_SIZE 4096
177 #ifndef CONFIG_BT_NIMBLE_MEM_ALLOC_MODE_EXTERNAL
178 #define CONFIG_BT_NIMBLE_MEM_ALLOC_MODE_INTERNAL 1
181 #ifndef CONFIG_BT_NIMBLE_MAX_CONNECTIONS
182 #define CONFIG_BT_NIMBLE_MAX_CONNECTIONS 3
185 #ifndef CONFIG_BT_NIMBLE_MAX_BONDS
186 #define CONFIG_BT_NIMBLE_MAX_BONDS 3
189 #ifndef CONFIG_BT_NIMBLE_MAX_CCCDS
190 #define CONFIG_BT_NIMBLE_MAX_CCCDS 8
193 #ifndef CONFIG_BT_NIMBLE_SVC_GAP_DEVICE_NAME
194 #define CONFIG_BT_NIMBLE_SVC_GAP_DEVICE_NAME "nimble"
197 #ifndef CONFIG_BT_NIMBLE_ATT_PREFERRED_MTU
198 #define CONFIG_BT_NIMBLE_ATT_PREFERRED_MTU 255
201 #ifndef CONFIG_BT_NIMBLE_SVC_GAP_APPEARANCE
202 #define CONFIG_BT_NIMBLE_SVC_GAP_APPEARANCE 0x0
205 #ifndef CONFIG_BT_NIMBLE_MSYS1_BLOCK_COUNT
206 #define CONFIG_BT_NIMBLE_MSYS1_BLOCK_COUNT 12
209 #ifndef CONFIG_BT_NIMBLE_RPA_TIMEOUT
210 #define CONFIG_BT_NIMBLE_RPA_TIMEOUT 900
213 #ifndef CONFIG_BT_NIMBLE_LOG_LEVEL
214 #define CONFIG_BT_NIMBLE_LOG_LEVEL 5
217 #ifndef CONFIG_NIMBLE_STACK_USE_MEM_POOLS
218 #define CONFIG_NIMBLE_STACK_USE_MEM_POOLS 0
222 #define CONFIG_BT_NIMBLE_NVS_PERSIST 1
225 #define CONFIG_BT_NIMBLE_SM_LEGACY 1
228 #define CONFIG_BT_NIMBLE_SM_SC 1
231 #define CONFIG_BT_NIMBLE_GAP_DEVICE_NAME_MAX_LEN 31
234 #define CONFIG_BT_NIMBLE_ACL_BUF_COUNT 12
237 #define CONFIG_BT_NIMBLE_ACL_BUF_SIZE 255
240 #if CONFIG_BT_NIMBLE_EXT_ADV || CONFIG_BT_NIMBLE_ENABLE_PERIODIC_ADV
241 # define CONFIG_BT_NIMBLE_HCI_EVT_BUF_SIZE 257
243 # define CONFIG_BT_NIMBLE_HCI_EVT_BUF_SIZE 70
247 #define CONFIG_BT_NIMBLE_HCI_EVT_HI_BUF_COUNT 30
250 #define CONFIG_BT_NIMBLE_HCI_EVT_LO_BUF_COUNT 8
253 #define CONFIG_BT_NIMBLE_L2CAP_COC_MAX_NUM 0
255 #define CONFIG_BT_NIMBLE_HS_FLOW_CTRL 1
256 #define CONFIG_BT_NIMBLE_HS_FLOW_CTRL_ITVL 1000
257 #define CONFIG_BT_NIMBLE_HS_FLOW_CTRL_THRESH 2
258 #define CONFIG_BT_NIMBLE_HS_FLOW_CTRL_TX_ON_DISCONNECT 1
260 #define CONFIG_BT_NIMBLE_HS_STOP_TIMEOUT_MS 2000
262 #ifndef CONFIG_BT_ENABLED
263 #define CONFIG_BT_ENABLED
266 #ifndef CONFIG_BT_NIMBLE_ENABLED
267 #define CONFIG_BT_NIMBLE_ENABLED 1
271 #ifndef CONFIG_BTDM_CONTROLLER_MODE_BLE_ONLY
272 #define CONFIG_BTDM_CONTROLLER_MODE_BLE_ONLY
275 #ifndef CONFIG_BTDM_SCAN_DUPL_TYPE_DEVICE
276 #define CONFIG_BTDM_SCAN_DUPL_TYPE_DEVICE 0
279 #ifndef CONFIG_BTDM_SCAN_DUPL_TYPE_DATA
280 #define CONFIG_BTDM_SCAN_DUPL_TYPE_DATA 1
283 #ifndef CONFIG_BTDM_SCAN_DUPL_TYPE_DATA_DEVICE
284 #define CONFIG_BTDM_SCAN_DUPL_TYPE_DATA_DEVICE 2
287 #if !defined(CONFIG_IDF_TARGET_ESP32) && !defined(CONFIG_IDF_TARGET_ESP32C3) && !defined(CONFIG_IDF_TARGET_ESP32S3)
288 #define CONFIG_IDF_TARGET_ESP32 1
291 #if CONFIG_BT_NIMBLE_EXT_ADV || CONFIG_BT_NIMBLE_ENABLE_PERIODIC_ADV
292 # if defined(CONFIG_IDF_TARGET_ESP32)
293 # error Extended advertising is not supported on ESP32.
298 #if CONFIG_BT_NIMBLE_ENABLE_PERIODIC_ADV && !CONFIG_BT_NIMBLE_EXT_ADV
299 # error Extended advertising must be enabled to use periodic advertising.
303 #if CONFIG_BT_NIMBLE_EXT_ADV
304 # if !defined(CONFIG_BT_NIMBLE_MAX_EXT_ADV_INSTANCES)
305 # define CONFIG_BT_NIMBLE_MAX_EXT_ADV_INSTANCES 1
307 # if !defined(CONFIG_BT_NIMBLE_MAX_EXT_ADV_DATA_LEN)
308 # define CONFIG_BT_NIMBLE_MAX_EXT_ADV_DATA_LEN 251
313 #if CONFIG_BT_NIMBLE_ENABLE_PERIODIC_ADV && !defined(CONFIG_BT_NIMBLE_MAX_PERIODIC_SYNCS)
314 # define CONFIG_BT_NIMBLE_MAX_PERIODIC_SYNCS 1
318 #if defined(CONFIG_BT_NIMBLE_ROLE_CENTRAL) && !defined(CONFIG_BT_NIMBLE_ROLE_OBSERVER)
319 #define CONFIG_BT_NIMBLE_ROLE_OBSERVER
323 #if defined(CONFIG_BT_NIMBLE_ROLE_PERIPHERAL) && !defined(CONFIG_BT_NIMBLE_ROLE_BROADCASTER)
324 #define CONFIG_BT_NIMBLE_ROLE_BROADCASTER
328 #if defined __has_include
329 # if __has_include (<Arduino.h>)
330 # define NIMBLE_CPP_ARDUINO_STRING_AVAILABLE