esp-idf/components/bt/Kconfig
Shen Weilong ea06b047c2 feat(bt): Frees BLE memory when no longer in use
It will free libble.a & libbt all txt, data and bss segment memory.
          This memory is combined into one large memory and put into the heap
          pool.
2023-10-19 14:52:29 +08:00

93 lines
3.1 KiB
Plaintext

menu "Bluetooth"
visible if SOC_BT_SUPPORTED
config BT_ENABLED
bool "Bluetooth"
depends on SOC_BT_SUPPORTED && !APP_NO_BLOBS
help
Select this option to enable Bluetooth and show the submenu with Bluetooth configuration choices.
choice BT_HOST
prompt "Host"
depends on BT_ENABLED
default BT_BLUEDROID_ENABLED
help
This helps to choose Bluetooth host stack
config BT_BLUEDROID_ENABLED
bool "Bluedroid - Dual-mode"
help
This option is recommended for classic Bluetooth or for dual-mode
usecases
config BT_NIMBLE_ENABLED
bool "NimBLE - BLE only"
help
This option is recommended for BLE only usecases to save on memory
config BT_CONTROLLER_ONLY
bool "Disabled"
help
This option is recommended when you want to communicate directly with the
controller (without any host) or when you are using any other host stack
not supported by Espressif (not mentioned here).
endchoice
choice BT_CONTROLLER
prompt "Controller"
depends on BT_ENABLED
default BT_CONTROLLER_ENABLED
help
This helps to choose Bluetooth controller stack
config BT_CONTROLLER_ENABLED
bool "Enabled"
help
This option is recommended for Bluetooth controller usecases
config BT_CONTROLLER_DISABLED
bool "Disabled"
help
This option is recommended for Bluetooth Host only usecases
endchoice
menu "Bluedroid Options"
depends on BT_BLUEDROID_ENABLED
source "$IDF_PATH/components/bt/host/bluedroid/Kconfig.in"
endmenu
menu "NimBLE Options"
depends on BT_NIMBLE_ENABLED
source "$IDF_PATH/components/bt/host/nimble/Kconfig.in"
endmenu
menu "Controller Options"
depends on BT_CONTROLLER_ENABLED
source "$IDF_PATH/components/bt/controller/$IDF_TARGET/Kconfig.in"
endmenu
config BT_RELEASE_IRAM
depends on BT_ENABLED && BT_LE_RELEASE_IRAM_SUPPORTED
bool "Release Bluetooth text (READ DOCS FIRST)"
default n
help
This option release Bluetooth text section and merge Bluetooth data, bss & text into
a large free heap region when esp_bt_mem_release is called, total saving ~21kB or more of IRAM.
ESP32-C2 only 3 configurable PMP entries available, rest of them are hard-coded.
We cannot split the memory into 3 different regions (IRAM, BLE-IRAM, DRAM).
So this option will disable the PMP (ESP_SYSTEM_PMP_IDRAM_SPLIT)
endmenu
menuconfig BLE_MESH
bool "ESP BLE Mesh Support"
depends on BT_ENABLED
help
This option enables ESP BLE Mesh support. The specific features that are
available may depend on other features that have been enabled in the
stack, such as Bluetooth Support, Bluedroid Support & GATT support.
source "$IDF_PATH/components/bt/esp_ble_mesh/Kconfig.in"