Kconfig.in 20 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644
  1. choice BT_NIMBLE_MEM_ALLOC_MODE
  2. prompt "Memory allocation strategy"
  3. default BT_NIMBLE_MEM_ALLOC_MODE_INTERNAL
  4. help
  5. Allocation strategy for NimBLE host stack, essentially provides ability to
  6. allocate all required dynamic allocations from,
  7. - Internal DRAM memory only
  8. - External SPIRAM memory only
  9. - Either internal or external memory based on default malloc()
  10. behavior in ESP-IDF
  11. - Internal IRAM memory wherever applicable else internal DRAM
  12. config BT_NIMBLE_MEM_ALLOC_MODE_INTERNAL
  13. bool "Internal memory"
  14. config BT_NIMBLE_MEM_ALLOC_MODE_EXTERNAL
  15. bool "External SPIRAM"
  16. depends on SPIRAM_USE_CAPS_ALLOC || SPIRAM_USE_MALLOC
  17. config BT_NIMBLE_MEM_ALLOC_MODE_DEFAULT
  18. bool "Default alloc mode"
  19. config BT_NIMBLE_MEM_ALLOC_MODE_IRAM_8BIT
  20. bool "Internal IRAM"
  21. depends on ESP32_IRAM_AS_8BIT_ACCESSIBLE_MEMORY
  22. help
  23. Allows to use IRAM memory region as 8bit accessible region.
  24. Every unaligned (8bit or 16bit) access will result in an exception
  25. and incur penalty of certain clock cycles per unaligned read/write.
  26. endchoice #BT_NIMBLE_MEM_ALLOC_MODE
  27. choice BT_NIMBLE_LOG_LEVEL
  28. prompt "NimBLE Host log verbosity"
  29. depends on BT_NIMBLE_ENABLED
  30. default BT_NIMBLE_LOG_LEVEL_INFO
  31. help
  32. Select NimBLE log level. Please make a note that the selected NimBLE log
  33. verbosity can not exceed the level set in "Component config --> Log output
  34. --> Default log verbosity".
  35. config BT_NIMBLE_LOG_LEVEL_NONE
  36. bool "No logs"
  37. config BT_NIMBLE_LOG_LEVEL_ERROR
  38. bool "Error logs"
  39. config BT_NIMBLE_LOG_LEVEL_WARNING
  40. bool "Warning logs"
  41. config BT_NIMBLE_LOG_LEVEL_INFO
  42. bool "Info logs"
  43. config BT_NIMBLE_LOG_LEVEL_DEBUG
  44. bool "Debug logs"
  45. endchoice #BT_NIMBLE_LOG_LEVEL
  46. config BT_NIMBLE_LOG_LEVEL
  47. int
  48. default 0 if BT_NIMBLE_LOG_LEVEL_DEBUG
  49. default 1 if BT_NIMBLE_LOG_LEVEL_INFO
  50. default 2 if BT_NIMBLE_LOG_LEVEL_WARNING
  51. default 3 if BT_NIMBLE_LOG_LEVEL_ERROR
  52. default 4 if BT_NIMBLE_LOG_LEVEL_NONE
  53. config BT_NIMBLE_MAX_CONNECTIONS
  54. int "Maximum number of concurrent connections"
  55. range 1 8 if (IDF_TARGET_ESP32C3 || IDF_TARGET_ESP32S3 || IDF_TARGET_ESP32H2)
  56. range 1 2 if IDF_TARGET_ESP32C2
  57. range 1 9 if IDF_TARGET_ESP32
  58. default 3 if (IDF_TARGET_ESP32C3 || IDF_TARGET_ESP32S3 || IDF_TARGET_ESP32H2)
  59. default 2 if IDF_TARGET_ESP32C2
  60. depends on BT_NIMBLE_ENABLED
  61. help
  62. Defines maximum number of concurrent BLE connections. For ESP32, user
  63. is expected to configure BTDM_CTRL_BLE_MAX_CONN from controller menu
  64. along with this option. Similarly for ESP32-C3 or ESP32-S3, user is expected to
  65. configure BT_CTRL_BLE_MAX_ACT from controller menu.
  66. config BT_NIMBLE_MAX_BONDS
  67. int "Maximum number of bonds to save across reboots"
  68. default 3
  69. depends on BT_NIMBLE_ENABLED
  70. help
  71. Defines maximum number of bonds to save for peer security and our security
  72. config BT_NIMBLE_MAX_CCCDS
  73. int "Maximum number of CCC descriptors to save across reboots"
  74. default 8
  75. depends on BT_NIMBLE_ENABLED
  76. help
  77. Defines maximum number of CCC descriptors to save
  78. config BT_NIMBLE_L2CAP_COC_MAX_NUM
  79. int "Maximum number of connection oriented channels"
  80. range 0 9
  81. depends on BT_NIMBLE_ENABLED
  82. default 0
  83. help
  84. Defines maximum number of BLE Connection Oriented Channels. When set to (0), BLE COC is not compiled in
  85. choice BT_NIMBLE_PINNED_TO_CORE_CHOICE
  86. prompt "The CPU core on which NimBLE host will run"
  87. depends on BT_NIMBLE_ENABLED && !FREERTOS_UNICORE
  88. help
  89. The CPU core on which NimBLE host will run. You can choose Core 0 or Core 1.
  90. Cannot specify no-affinity
  91. config BT_NIMBLE_PINNED_TO_CORE_0
  92. bool "Core 0 (PRO CPU)"
  93. config BT_NIMBLE_PINNED_TO_CORE_1
  94. bool "Core 1 (APP CPU)"
  95. depends on !FREERTOS_UNICORE
  96. endchoice
  97. config BT_NIMBLE_PINNED_TO_CORE
  98. int
  99. depends on BT_NIMBLE_ENABLED
  100. default 0 if BT_NIMBLE_PINNED_TO_CORE_0
  101. default 1 if BT_NIMBLE_PINNED_TO_CORE_1
  102. default 0
  103. config BT_NIMBLE_HOST_TASK_STACK_SIZE
  104. int "NimBLE Host task stack size"
  105. depends on BT_NIMBLE_ENABLED
  106. default 5120 if BLE_MESH
  107. default 4096
  108. help
  109. This configures stack size of NimBLE host task
  110. config BT_NIMBLE_ROLE_CENTRAL
  111. bool "Enable BLE Central role"
  112. depends on BT_NIMBLE_ENABLED
  113. default y
  114. help
  115. Enables central role
  116. config BT_NIMBLE_ROLE_PERIPHERAL
  117. bool "Enable BLE Peripheral role"
  118. depends on BT_NIMBLE_ENABLED
  119. default y
  120. help
  121. Enable peripheral role
  122. config BT_NIMBLE_ROLE_BROADCASTER
  123. bool "Enable BLE Broadcaster role"
  124. depends on BT_NIMBLE_ENABLED
  125. default y
  126. help
  127. Enables broadcaster role
  128. config BT_NIMBLE_ROLE_OBSERVER
  129. bool "Enable BLE Observer role"
  130. depends on BT_NIMBLE_ENABLED
  131. default y
  132. help
  133. Enables observer role
  134. config BT_NIMBLE_NVS_PERSIST
  135. bool "Persist the BLE Bonding keys in NVS"
  136. depends on BT_NIMBLE_ENABLED
  137. default n
  138. help
  139. Enable this flag to make bonding persistent across device reboots
  140. menuconfig BT_NIMBLE_SECURITY_ENABLE
  141. bool "Enable BLE SM feature"
  142. depends on BT_NIMBLE_ENABLED
  143. default y
  144. help
  145. Enable BLE sm feature
  146. config BT_NIMBLE_SM_LEGACY
  147. bool "Security manager legacy pairing"
  148. depends on BT_NIMBLE_SECURITY_ENABLE
  149. default y
  150. help
  151. Enable security manager legacy pairing
  152. config BT_NIMBLE_SM_SC
  153. bool "Security manager secure connections (4.2)"
  154. depends on BT_NIMBLE_SECURITY_ENABLE
  155. default y
  156. help
  157. Enable security manager secure connections
  158. config BT_NIMBLE_SM_SC_DEBUG_KEYS
  159. bool "Use predefined public-private key pair"
  160. default n
  161. depends on BT_NIMBLE_SECURITY_ENABLE && BT_NIMBLE_SM_SC
  162. help
  163. If this option is enabled, SM uses predefined DH key pair as described
  164. in Core Specification, Vol. 3, Part H, 2.3.5.6.1. This allows to
  165. decrypt air traffic easily and thus should only be used for debugging.
  166. config BT_NIMBLE_LL_CFG_FEAT_LE_ENCRYPTION
  167. bool "Enable LE encryption"
  168. depends on BT_NIMBLE_SECURITY_ENABLE && BT_NIMBLE_ENABLED
  169. default y
  170. help
  171. Enable encryption connection
  172. config BT_NIMBLE_DEBUG
  173. bool "Enable extra runtime asserts and host debugging"
  174. default n
  175. depends on BT_NIMBLE_ENABLED
  176. help
  177. This enables extra runtime asserts and host debugging
  178. config BT_NIMBLE_SVC_GAP_DEVICE_NAME
  179. string "BLE GAP default device name"
  180. depends on BT_NIMBLE_ENABLED
  181. default "nimble"
  182. help
  183. The Device Name characteristic shall contain the name of the device as an UTF-8 string.
  184. This name can be changed by using API ble_svc_gap_device_name_set()
  185. config BT_NIMBLE_GAP_DEVICE_NAME_MAX_LEN
  186. int "Maximum length of BLE device name in octets"
  187. depends on BT_NIMBLE_ENABLED
  188. default 31
  189. help
  190. Device Name characteristic value shall be 0 to 248 octets in length
  191. config BT_NIMBLE_ATT_PREFERRED_MTU
  192. int "Preferred MTU size in octets"
  193. depends on BT_NIMBLE_ENABLED
  194. default 256
  195. help
  196. This is the default value of ATT MTU indicated by the device during an ATT MTU exchange.
  197. This value can be changed using API ble_att_set_preferred_mtu()
  198. config BT_NIMBLE_SVC_GAP_APPEARANCE
  199. hex "External appearance of the device"
  200. depends on BT_NIMBLE_ENABLED
  201. default 0
  202. help
  203. Standard BLE GAP Appearance value in HEX format e.g. 0x02C0
  204. menu "Memory Settings"
  205. config BT_NIMBLE_MSYS_1_BLOCK_COUNT
  206. int "MSYS_1 Block Count"
  207. default 12
  208. help
  209. MSYS is a system level mbuf registry. For prepare write & prepare
  210. responses MBUFs are allocated out of msys_1 pool. For NIMBLE_MESH
  211. enabled cases, this block count is increased by 8 than user defined
  212. count.
  213. config BT_NIMBLE_MSYS_1_BLOCK_SIZE
  214. int "MSYS_1 Block Size"
  215. default 256
  216. help
  217. Dynamic memory size of block 1
  218. config BT_NIMBLE_MSYS_2_BLOCK_COUNT
  219. int "MSYS_2 Block Count"
  220. default 24
  221. help
  222. Dynamic memory count
  223. config BT_NIMBLE_MSYS_2_BLOCK_SIZE
  224. int "MSYS_2 Block Size"
  225. default 320
  226. help
  227. Dynamic memory size of block 2
  228. config BT_NIMBLE_ACL_BUF_COUNT
  229. int "ACL Buffer count"
  230. depends on BT_NIMBLE_ENABLED
  231. default 24
  232. help
  233. The number of ACL data buffers.
  234. config BT_NIMBLE_ACL_BUF_SIZE
  235. int "ACL Buffer size"
  236. depends on BT_NIMBLE_ENABLED
  237. default 255
  238. help
  239. This is the maximum size of the data portion of HCI ACL data packets.
  240. It does not include the HCI data header (of 4 bytes)
  241. config BT_NIMBLE_HCI_EVT_BUF_SIZE
  242. int "HCI Event Buffer size"
  243. depends on BT_NIMBLE_ENABLED
  244. default 257 if BT_NIMBLE_EXT_ADV
  245. default 70
  246. help
  247. This is the size of each HCI event buffer in bytes. In case of
  248. extended advertising, packets can be fragmented. 257 bytes is the
  249. maximum size of a packet.
  250. config BT_NIMBLE_HCI_EVT_HI_BUF_COUNT
  251. int "High Priority HCI Event Buffer count"
  252. depends on BT_NIMBLE_ENABLED
  253. default 30
  254. help
  255. This is the high priority HCI events' buffer size. High-priority
  256. event buffers are for everything except advertising reports. If there
  257. are no free high-priority event buffers then host will try to allocate a
  258. low-priority buffer instead
  259. config BT_NIMBLE_HCI_EVT_LO_BUF_COUNT
  260. int "Low Priority HCI Event Buffer count"
  261. depends on BT_NIMBLE_ENABLED
  262. default 8
  263. help
  264. This is the low priority HCI events' buffer size. Low-priority event
  265. buffers are only used for advertising reports. If there are no free
  266. low-priority event buffers, then an incoming advertising report will
  267. get dropped
  268. endmenu
  269. config BT_NIMBLE_GATT_MAX_PROCS
  270. int "Maximum number of GATT client procedures"
  271. depends on BT_NIMBLE_ENABLED
  272. default 4
  273. help
  274. Maximum number of GATT client procedures that can be executed.
  275. config BT_NIMBLE_HS_FLOW_CTRL
  276. bool "Enable Host Flow control"
  277. depends on BT_NIMBLE_ENABLED
  278. default y if IDF_TARGET_ESP32
  279. default n
  280. help
  281. Enable Host Flow control
  282. config BT_NIMBLE_HS_FLOW_CTRL_ITVL
  283. int "Host Flow control interval"
  284. depends on BT_NIMBLE_HS_FLOW_CTRL
  285. default 1000
  286. help
  287. Host flow control interval in msecs
  288. config BT_NIMBLE_HS_FLOW_CTRL_THRESH
  289. int "Host Flow control threshold"
  290. depends on BT_NIMBLE_HS_FLOW_CTRL
  291. default 2
  292. help
  293. Host flow control threshold, if the number of free buffers are at or
  294. below this threshold, send an immediate number-of-completed-packets
  295. event
  296. config BT_NIMBLE_HS_FLOW_CTRL_TX_ON_DISCONNECT
  297. bool "Host Flow control on disconnect"
  298. depends on BT_NIMBLE_HS_FLOW_CTRL
  299. default y
  300. help
  301. Enable this option to send number-of-completed-packets event to
  302. controller after disconnection
  303. config BT_NIMBLE_RPA_TIMEOUT
  304. int "RPA timeout in seconds"
  305. range 1 41400
  306. depends on BT_NIMBLE_ENABLED
  307. default 900
  308. help
  309. Time interval between RPA address change. This is applicable in case of
  310. Host based RPA
  311. menuconfig BT_NIMBLE_MESH
  312. bool "Enable BLE mesh functionality"
  313. select BT_NIMBLE_SM_SC
  314. depends on BT_NIMBLE_ENABLED
  315. default n
  316. help
  317. Enable BLE Mesh functionality
  318. config BT_NIMBLE_MESH_PROXY
  319. bool "Enable mesh proxy functionality"
  320. default n
  321. depends on BT_NIMBLE_MESH
  322. help
  323. Enable proxy. This is automatically set whenever NIMBLE_MESH_PB_GATT or
  324. NIMBLE_MESH_GATT_PROXY is set
  325. config BT_NIMBLE_MESH_PROV
  326. bool "Enable BLE mesh provisioning"
  327. default y
  328. depends on BT_NIMBLE_MESH
  329. help
  330. Enable mesh provisioning
  331. config BT_NIMBLE_MESH_PB_ADV
  332. bool "Enable mesh provisioning over advertising bearer"
  333. default y
  334. depends on BT_NIMBLE_MESH_PROV
  335. help
  336. Enable this option to allow the device to be provisioned over
  337. the advertising bearer
  338. config BT_NIMBLE_MESH_PB_GATT
  339. bool "Enable mesh provisioning over GATT bearer"
  340. default y
  341. select BT_NIMBLE_MESH_PROXY
  342. depends on BT_NIMBLE_MESH_PROV
  343. help
  344. Enable this option to allow the device to be provisioned over the GATT
  345. bearer
  346. config BT_NIMBLE_MESH_GATT_PROXY
  347. bool "Enable GATT Proxy functionality"
  348. default y
  349. select BT_NIMBLE_MESH_PROXY
  350. depends on BT_NIMBLE_MESH
  351. help
  352. This option enables support for the Mesh GATT Proxy Service,
  353. i.e. the ability to act as a proxy between a Mesh GATT Client
  354. and a Mesh network
  355. config BT_NIMBLE_MESH_RELAY
  356. bool "Enable mesh relay functionality"
  357. default n
  358. depends on BT_NIMBLE_MESH
  359. help
  360. Support for acting as a Mesh Relay Node
  361. config BT_NIMBLE_MESH_LOW_POWER
  362. bool "Enable mesh low power mode"
  363. default n
  364. depends on BT_NIMBLE_MESH
  365. help
  366. Enable this option to be able to act as a Low Power Node
  367. config BT_NIMBLE_MESH_FRIEND
  368. bool "Enable mesh friend functionality"
  369. default n
  370. depends on BT_NIMBLE_MESH
  371. help
  372. Enable this option to be able to act as a Friend Node
  373. config BT_NIMBLE_MESH_DEVICE_NAME
  374. string "Set mesh device name"
  375. default "nimble-mesh-node"
  376. depends on BT_NIMBLE_MESH
  377. help
  378. This value defines Bluetooth Mesh device/node name
  379. config BT_NIMBLE_MESH_NODE_COUNT
  380. int "Set mesh node count"
  381. default 1
  382. depends on BT_NIMBLE_MESH
  383. help
  384. Defines mesh node count.
  385. config BT_NIMBLE_MESH_PROVISIONER
  386. bool "Enable BLE mesh provisioner"
  387. default 0
  388. depends on BT_NIMBLE_MESH
  389. help
  390. Enable mesh provisioner.
  391. config BT_NIMBLE_CRYPTO_STACK_MBEDTLS
  392. bool "Override TinyCrypt with mbedTLS for crypto computations"
  393. default y
  394. depends on BT_NIMBLE_ENABLED
  395. select MBEDTLS_ECP_RESTARTABLE
  396. select MBEDTLS_CMAC_C
  397. help
  398. Enable this option to choose mbedTLS instead of TinyCrypt for crypto
  399. computations.
  400. config BT_NIMBLE_HS_STOP_TIMEOUT_MS
  401. int "BLE host stop timeout in msec"
  402. default 2000
  403. depends on BT_NIMBLE_ENABLED
  404. help
  405. BLE Host stop procedure timeout in milliseconds.
  406. config BT_NIMBLE_HOST_BASED_PRIVACY
  407. bool "Enable host based privacy for random address."
  408. default n
  409. depends on BT_NIMBLE_ENABLED && !IDF_TARGET_ESP32
  410. help
  411. Use this option to do host based Random Private Address resolution.
  412. If this option is disabled then controller based privacy is used.
  413. config BT_NIMBLE_ENABLE_CONN_REATTEMPT
  414. bool "Enable connection reattempts on connection establishment error"
  415. default y if (IDF_TARGET_ESP32C3 || IDF_TARGET_ESP32S3 || IDF_TARGET_ESP32H2 || IDF_TARGET_ESP32C2)
  416. default n if IDF_TARGET_ESP32
  417. help
  418. Enable to make the NimBLE host to reattempt GAP connection on connection
  419. establishment failure.
  420. config BT_NIMBLE_MAX_CONN_REATTEMPT
  421. int "Maximum number connection reattempts"
  422. range 1 7
  423. default 3
  424. depends on BT_NIMBLE_ENABLED && BT_NIMBLE_ENABLE_CONN_REATTEMPT
  425. help
  426. Defines maximum number of connection reattempts.
  427. menuconfig BT_NIMBLE_50_FEATURE_SUPPORT
  428. bool "Enable BLE 5 feature"
  429. depends on BT_NIMBLE_ENABLED
  430. default y
  431. help
  432. Enable BLE 5 feature
  433. config BT_NIMBLE_LL_CFG_FEAT_LE_2M_PHY
  434. bool "Enable 2M Phy"
  435. depends on BT_NIMBLE_50_FEATURE_SUPPORT
  436. default y
  437. help
  438. Enable 2M-PHY
  439. config BT_NIMBLE_LL_CFG_FEAT_LE_CODED_PHY
  440. bool "Enable coded Phy"
  441. depends on BT_NIMBLE_50_FEATURE_SUPPORT
  442. default y
  443. help
  444. Enable coded-PHY
  445. config BT_NIMBLE_EXT_ADV
  446. bool "Enable extended advertising"
  447. depends on BT_NIMBLE_50_FEATURE_SUPPORT
  448. default n
  449. help
  450. Enable this option to do extended advertising. Extended advertising
  451. will be supported from BLE 5.0 onwards.
  452. if BT_NIMBLE_EXT_ADV
  453. config BT_NIMBLE_MAX_EXT_ADV_INSTANCES
  454. int "Maximum number of extended advertising instances."
  455. range 0 4
  456. default 1 if BT_NIMBLE_EXT_ADV
  457. default 0
  458. depends on BT_NIMBLE_EXT_ADV
  459. help
  460. Change this option to set maximum number of extended advertising
  461. instances. Minimum there is always one instance of
  462. advertising. Enter how many more advertising instances you
  463. want.
  464. config BT_NIMBLE_EXT_ADV_MAX_SIZE
  465. int "Maximum length of the advertising data."
  466. range 0 1650
  467. default 1650 if BT_NIMBLE_EXT_ADV
  468. default 0
  469. depends on BT_NIMBLE_EXT_ADV
  470. help
  471. Defines the length of the extended adv data. The value should not
  472. exceed 1650.
  473. config BT_NIMBLE_ENABLE_PERIODIC_ADV
  474. bool "Enable periodic advertisement."
  475. default y
  476. depends on BT_NIMBLE_EXT_ADV
  477. help
  478. Enable this option to start periodic advertisement.
  479. config BT_NIMBLE_PERIODIC_ADV_SYNC_TRANSFER
  480. bool "Enable Transer Sync Events"
  481. depends on BT_NIMBLE_ENABLE_PERIODIC_ADV
  482. default y
  483. help
  484. This enables controller transfer periodic sync events to host
  485. endif
  486. config BT_NIMBLE_MAX_PERIODIC_SYNCS
  487. int "Maximum number of periodic advertising syncs"
  488. depends on BT_NIMBLE_50_FEATURE_SUPPORT
  489. range 0 8 if !IDF_TARGET_ESP32C2
  490. range 0 3 if IDF_TARGET_ESP32C2
  491. default 1 if BT_NIMBLE_ENABLE_PERIODIC_ADV
  492. default 0
  493. help
  494. Set this option to set the upper limit for number of periodic sync
  495. connections. This should be less than maximum connections allowed by
  496. controller.
  497. config BT_NIMBLE_MAX_PERIODIC_ADVERTISER_LIST
  498. int "Maximum number of periodic advertiser list"
  499. depends on BT_NIMBLE_50_FEATURE_SUPPORT && (IDF_TARGET_ESP32C2 || IDF_TARGET_ESP32H2)
  500. range 1 5
  501. default 5 if BT_NIMBLE_50_FEATURE_SUPPORT
  502. help
  503. Set this option to set the upper limit for number of periodic advertiser list.
  504. choice BT_NIMBLE_COEX_PHY_CODED_TX_RX_TLIM
  505. prompt "Coexistence: limit on MAX Tx/Rx time for coded-PHY connection"
  506. default BT_NIMBLE_COEX_PHY_CODED_TX_RX_TLIM_DIS
  507. depends on ESP32_WIFI_SW_COEXIST_ENABLE && BT_NIMBLE_ENABLED
  508. help
  509. When using PHY-Coded in BLE connection, limitation on max tx/rx time can be applied to
  510. better avoid dramatic performance deterioration of Wi-Fi.
  511. config BT_NIMBLE_COEX_PHY_CODED_TX_RX_TLIM_EN
  512. bool "Force Enable"
  513. help
  514. Always enable the limitation on max tx/rx time for Coded-PHY connection
  515. config BT_NIMBLE_COEX_PHY_CODED_TX_RX_TLIM_DIS
  516. bool "Force Disable"
  517. help
  518. Disable the limitation on max tx/rx time for Coded-PHY connection
  519. endchoice
  520. config BT_NIMBLE_COEX_PHY_CODED_TX_RX_TLIM_EFF
  521. int
  522. default 0 if !(ESP32_WIFI_SW_COEXIST_ENABLE && BT_NIMBLE_ENABLED)
  523. default 1 if BT_NIMBLE_COEX_PHY_CODED_TX_RX_TLIM_EN
  524. default 0 if BT_NIMBLE_COEX_PHY_CODED_TX_RX_TLIM_DIS
  525. config BT_NIMBLE_WHITELIST_SIZE
  526. int "BLE white list size"
  527. depends on BT_NIMBLE_ENABLED
  528. range 1 15
  529. default 12
  530. help
  531. BLE list size
  532. config BT_NIMBLE_TEST_THROUGHPUT_TEST
  533. bool "Throughput Test Mode enable"
  534. default n
  535. help
  536. Enable the throughput test mode
  537. config BT_NIMBLE_BLUFI_ENABLE
  538. bool "Enable blufi functionality"
  539. depends on BT_NIMBLE_ENABLED
  540. default n
  541. help
  542. Set this option to enable blufi functionality.
  543. config BT_NIMBLE_USE_ESP_TIMER
  544. bool "Enable Esp Timer for Nimble"
  545. default y
  546. help
  547. Set this option to use Esp Timer which has higher priority timer instead of FreeRTOS timer
  548. config BT_NIMBLE_LEGACY_VHCI_ENABLE
  549. bool
  550. default y if (IDF_TARGET_ESP32 || IDF_TARGET_ESP32C3 || IDF_TARGET_ESP32S3)
  551. default n
  552. help
  553. This option is used to distinguish whether a previous version of VHCI is being used