config BT_ALARM_MAX_NUM int "Maximum number of Bluetooth alarms" default 50 depends on (BT_BLUEDROID_ENABLED || BT_NIMBLE_ENABLED) help This option decides the maximum number of alarms which could be used by Bluetooth host. choice BT_SMP_CRYPTO_STACK prompt "SMP cryptographic stack" depends on (BT_BLE_SMP_ENABLE || BT_SMP_ENABLE || BT_NIMBLE_SECURITY_ENABLE || BT_LE_SECURITY_ENABLE || \ BT_CTRL_BREDR_ENABLE) default BT_SMP_CRYPTO_STACK_TINYCRYPT help Select the cryptographic library to use for SMP operations (AES, AES-CMAC, ECDH P-256). With BR/EDR controller enabled, mbedTLS also enables SHA-256 (for the BR/EDR port) and ECDH for P-192 on the controller port. config BT_SMP_CRYPTO_STACK_TINYCRYPT bool "TinyCrypt" help Use TinyCrypt library for cryptographic operations. TinyCrypt is a lightweight cryptographic library designed for constrained devices. This can reduce code size compared to the native implementation. This is the default option. config BT_SMP_CRYPTO_STACK_MBEDTLS # BT Classic requires ECC P-192, which is removed in mbedtls 4.1.0 depends on !BT_CTRL_BREDR_ENABLE bool "mbedTLS" select MBEDTLS_AES_C select MBEDTLS_CMAC_C select MBEDTLS_ECDH_C select MBEDTLS_ECP_C select MBEDTLS_ECP_DP_SECP256R1_ENABLED help Use mbedTLS library for cryptographic operations. This can provide hardware acceleration on supported platforms and reduce code size by sharing crypto implementations with other components. endchoice menu "BT Logs" menu "Log Sources" menuconfig BT_LE_CONTROLLER_LOG_ENABLED depends on SOC_ESP_NIMBLE_CONTROLLER bool "Enable Controller logs" default n choice BT_LE_CONTROLLER_LOG_OUTPUT_MODE depends on BT_LE_CONTROLLER_LOG_ENABLED prompt "Controller log output mode" default BT_LE_CONTROLLER_LOG_MODE_BLE_LOG_V2 if BLE_LOG_ENABLED default BT_LE_CTRL_LEGACY_LOG_MODE_ENABLED config BT_LE_CONTROLLER_LOG_MODE_BLE_LOG_V2 depends on BLE_LOG_ENABLED bool "BLE Log v2 mode" help Utilize BLE Log v2 for controller log config BT_LE_CTRL_LEGACY_LOG_MODE_ENABLED depends on !BLE_LOG_ENABLED bool "Legacy log mode (Deprecated)" endchoice if BT_LE_CONTROLLER_LOG_ENABLED && BT_LE_CTRL_LEGACY_LOG_MODE_ENABLED config BT_LE_CONTROLLER_LOG_CTRL_ENABLED bool "Enable controller link layer logs" default y config BT_LE_CONTROLLER_LOG_HCI_ENABLED bool "Enable controller HCI logs" default y config BT_LE_CONTROLLER_LOG_DUMP_ONLY bool "Controller log dump mode only" default y help Only operate in dump mode. Logs are cached internally only, not output asynchronously. config BT_LE_CONTROLLER_LOG_SPI_OUT_ENABLED bool "Output controller logs to SPI bus (Experimental)" depends on !BT_LE_CONTROLLER_LOG_DUMP_ONLY select BT_BLE_LOG_SPI_OUT_ENABLED default n help Output ble controller logs to SPI bus config BT_LE_CONTROLLER_LOG_STORAGE_ENABLE bool "Store controller logs to flash (Experimental)" depends on !BT_LE_CONTROLLER_LOG_DUMP_ONLY default n help Store ble controller logs to flash memory. config BT_LE_CONTROLLER_LOG_PARTITION_SIZE int "Controller log partition size (multiples of 4K)" depends on BT_LE_CONTROLLER_LOG_STORAGE_ENABLE default 65536 help The size of ble controller log partition shall be a multiples of 4K. The name of log partition shall be "bt_ctrl_log". The partition type shall be ESP_PARTITION_TYPE_DATA. The partition sub_type shall be ESP_PARTITION_SUBTYPE_ANY. config BT_LE_LOG_CTRL_BUF1_SIZE int "First controller log buffer size" default 4096 help Configure the size of the first BLE controller LOG buffer. config BT_LE_LOG_CTRL_BUF2_SIZE int "Second controller log buffer size" default 1024 help Configure the size of the second BLE controller LOG buffer. config BT_LE_LOG_HCI_BUF_SIZE int "HCI log buffer size" default 4096 help Configure the size of the BLE HCI LOG buffer. endif config BT_LE_CONTROLLER_LOG_OUTPUT_LEVEL int "Controller log output level" depends on BT_LE_CONTROLLER_LOG_ENABLED range 0 5 default 2 if BT_LOG_CRITICAL_ONLY_CTRL default 1 help The output level of controller log. config BT_LE_CONTROLLER_LOG_MOD_OUTPUT_SWITCH hex "Controller log module output switch" depends on BT_LE_CONTROLLER_LOG_ENABLED range 0 0xFFFFFFFF default 0xFFFFFFFF help Bitmask to enable/disable logging for individual controller modules. 0xFFFFFFFF enables all modules. config BT_LE_CONTROLLER_LOG_WRAP_PANIC_HANDLER_ENABLE bool "Enable wrap panic handler" depends on BT_LE_CONTROLLER_LOG_ENABLED default n help Wrap esp_panic_handler to get controller logs when PC pointer exception crashes. config BT_LE_CONTROLLER_LOG_TASK_WDT_USER_HANDLER_ENABLE bool "Enable esp_task_wdt_isr_user_handler implementation" depends on BT_LE_CONTROLLER_LOG_ENABLED default n help Implement esp_task_wdt_isr_user_handler to get controller logs when task wdt issue is triggered. endmenu menuconfig BT_LOG_CRITICAL_ONLY bool "Enable bandwidth-optimized log mode (critical logs only)" default n depends on !BT_STACK_NO_LOG select BLE_LOG_ENABLED select BLE_COMPRESSED_LOG_ENABLE help Enable bandwidth-optimized logging for the BLE Log Async Output system. When enabled, only high-severity logs are captured and log encoding is applied to reduce UART/SPI DMA bandwidth usage. Each stack component below can be independently enabled. Requires a DMA-backed output peripheral — configure in: BLE Log Module → BLE Log peripheral choice. if BT_LOG_CRITICAL_ONLY config BT_LOG_CRITICAL_ONLY_CTRL bool "Controller: bandwidth-optimized logging" depends on SOC_ESP_NIMBLE_CONTROLLER || BT_CTRL_RUN_IN_FLASH_ONLY select BT_LE_CONTROLLER_LOG_ENABLED if SOC_ESP_NIMBLE_CONTROLLER select BT_CTRL_LE_LOG_EN if !SOC_ESP_NIMBLE_CONTROLLER default y help Enable controller log output via the async transport with a reduced output level for bandwidth optimization. The controller log level defaults to 2 when active. config BT_LOG_CRITICAL_ONLY_HOST bool "Host: bandwidth-optimized logging" select BLE_HOST_COMPRESSED_LOG_ENABLE if BT_BLUEDROID_ENABLED default y help Enable host stack log encoding via the async transport. For Bluedroid, the per-level compression options control which severity levels are encoded — configure in: Settings of BLE Log Compression → BLE Host log compression. config BT_LOG_CRITICAL_ONLY_MESH bool "Mesh: bandwidth-optimized logging" depends on SOC_BLE_MESH_SUPPORTED && BLE_MESH select BLE_MESH_COMPRESSED_LOG_ENABLE default y help Enable mesh log encoding via the async transport. The per-level compression options are configured in: Settings of BLE Log Compression → BLE Mesh log compression. endif # BT_LOG_CRITICAL_ONLY source "$IDF_PATH/components/bt/common/ble_log/Kconfig.in" endmenu config BT_LE_USED_MEM_STATISTICS_ENABLED bool "Enable used memory statistics" default n help Used in internal tests only. Enable used memory statistics.