Files
esp-idf/components/bt/common/Kconfig.in
T
2026-04-08 10:32:35 +08:00

211 lines
8.4 KiB
Plaintext

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)
default BT_SMP_CRYPTO_STACK_TINYCRYPT
help
Select the cryptographic library to use for SMP operations (AES, AES-CMAC, ECDH P-256).
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
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.