menu Bluetooth config BT_ENABLED bool "Bluetooth" help Select this option to enable Bluetooth and show the submenu with Bluetooth configuration choices. menu "Bluetooth controller" visible if BT_ENABLED choice BTDM_CONTROLLER_MODE prompt "Bluetooth controller mode (BR/EDR/BLE/DUALMODE)" depends on BT_ENABLED help Specify the bluetooth controller mode (BR/EDR, BLE or dual mode). config BTDM_CONTROLLER_MODE_BLE_ONLY bool "BLE Only" config BTDM_CONTROLLER_MODE_BR_EDR_ONLY bool "BR/EDR Only" config BTDM_CONTROLLER_MODE_BTDM bool "Bluetooth Dual Mode" endchoice config BTDM_CONTROLLER_BLE_MAX_CONN int "BLE Max Connections" depends on BTDM_CONTROLLER_MODE_BLE_ONLY || BTDM_CONTROLLER_MODE_BTDM default 3 range 1 9 help BLE maximum connections of bluetooth controller. Each connection uses 1KB static DRAM whenever the BT controller is enabled. config BTDM_CONTROLLER_BR_EDR_MAX_ACL_CONN int "BR/EDR ACL Max Connections" depends on BTDM_CONTROLLER_MODE_BR_EDR_ONLY || BTDM_CONTROLLER_MODE_BTDM default 2 range 1 7 help BR/EDR ACL maximum connections of bluetooth controller. Each connection uses 1.2KB static DRAM whenever the BT controller is enabled. config BTDM_CONTROLLER_BR_EDR_MAX_SYNC_CONN int "BR/EDR Sync(SCO/eSCO) Max Connections" depends on BTDM_CONTROLLER_MODE_BR_EDR_ONLY || BTDM_CONTROLLER_MODE_BTDM default 0 range 0 3 help BR/EDR Synchronize maximum connections of bluetooth controller. Each connection uses 2KB static DRAM whenever the BT controller is enabled. config BTDM_CONTROLLER_BLE_MAX_CONN_EFF int default BTDM_CONTROLLER_BLE_MAX_CONN if BTDM_CONTROLLER_MODE_BLE_ONLY || BTDM_CONTROLLER_MODE_BTDM default 0 config BTDM_CONTROLLER_BR_EDR_MAX_ACL_CONN_EFF int default BTDM_CONTROLLER_BR_EDR_MAX_ACL_CONN if BTDM_CONTROLLER_MODE_BR_EDR_ONLY || BTDM_CONTROLLER_MODE_BTDM default 0 config BTDM_CONTROLLER_BR_EDR_MAX_SYNC_CONN_EFF int default BTDM_CONTROLLER_BR_EDR_MAX_SYNC_CONN if BTDM_CONTROLLER_MODE_BR_EDR_ONLY || BTDM_CONTROLLER_MODE_BTDM default 0 choice BTDM_CONTROLLER_PINNED_TO_CORE_CHOICE prompt "The cpu core which bluetooth controller run" depends on BT_ENABLED && !FREERTOS_UNICORE help Specify the cpu core to run bluetooth controller. Can not specify no-affinity. config BTDM_CONTROLLER_PINNED_TO_CORE_0 bool "Core 0 (PRO CPU)" config BTDM_CONTROLLER_PINNED_TO_CORE_1 bool "Core 1 (APP CPU)" depends on !FREERTOS_UNICORE endchoice config BTDM_CONTROLLER_PINNED_TO_CORE int default 0 if BTDM_CONTROLLER_PINNED_TO_CORE_0 default 1 if BTDM_CONTROLLER_PINNED_TO_CORE_1 default 0 choice BTDM_CONTROLLER_HCI_MODE_CHOICE prompt "HCI mode" depends on BT_ENABLED help Speicify HCI mode as VHCI or UART(H4) config BTDM_CONTROLLER_HCI_MODE_VHCI bool "VHCI" help Normal option. Mostly, choose this VHCI when bluetooth host run on ESP32, too. config BTDM_CONTROLLER_HCI_MODE_UART_H4 bool "UART(H4)" help If use external bluetooth host which run on other hardware and use UART as the HCI interface, choose this option. endchoice menu "HCI UART(H4) Options" visible if BTDM_CONTROLLER_HCI_MODE_UART_H4 config BT_HCI_UART_NO int "UART Number for HCI" depends on BTDM_CONTROLLER_HCI_MODE_UART_H4 range 1 2 default 1 help Uart number for HCI. The available uart is UART1 and UART2. config BT_HCI_UART_BAUDRATE int "UART Baudrate for HCI" depends on BTDM_CONTROLLER_HCI_MODE_UART_H4 range 115200 921600 default 921600 help UART Baudrate for HCI. Please use standard baudrate. endmenu menu "MODEM SLEEP Options" visible if BT_ENABLED config BTDM_CONTROLLER_MODEM_SLEEP bool "Bluetooth modem sleep" depends on BT_ENABLED default y help Enable/disable bluetooth controller low power mode. choice BTDM_MODEM_SLEEP_MODE prompt "Bluetooth Modem sleep mode" depends on BTDM_CONTROLLER_MODEM_SLEEP help To select which strategy to use for modem sleep config BTDM_MODEM_SLEEP_MODE_ORIG bool "ORIG Mode(sleep with low power clock)" help ORIG mode is a bluetooth sleep mode that can be used for dual mode controller. In this mode, bluetooth controller sleeps between BR/EDR frames and BLE events. A low power clock is used to maintain bluetooth reference clock. config BTDM_MODEM_SLEEP_MODE_EVED bool "EVED Mode(For internal test only)" help EVED mode is for BLE only and is only for internal test. Do not use it for production. this mode is not compatible with DFS nor light sleep endchoice choice BTDM_LOW_POWER_CLOCK prompt "Bluetooth low power clock" depends on BTDM_MODEM_SLEEP_MODE_ORIG help Select the low power clock source for bluetooth controller config BTDM_LPCLK_SEL_MAIN_XTAL bool "Main crystal" help Main crystal can be used as low power clock for bluetooth modem sleep. If this option is selected, bluetooth modem sleep can work under Dynamic Frequency Scaling(DFS) enabled, but cannot work when light sleep is enabled. Main crystal has a relatively better performance than other bluetooth low power clock sources. config BTDM_LPCLK_SEL_EXT_32K_XTAL bool "External 32kHz crystal" depends on ESP32_RTC_CLOCK_SOURCE_EXTERNAL_CRYSTAL endchoice endmenu config BLE_SCAN_DUPLICATE bool "BLE Scan Duplicate Options" depends on (BTDM_CONTROLLER_MODE_BTDM || BTDM_CONTROLLER_MODE_BLE_ONLY) default y help This select enables parameters setting of BLE scan duplicate. choice SCAN_DUPLICATE_TYPE prompt "Scan Duplicate Type" default SCAN_DUPLICATE_BY_DEVICE_ADDR depends on BLE_SCAN_DUPLICATE help Scan duplicate have three ways. one is "Scan Duplicate By Device Address", This way is to use advertiser address filtering. The adv packet of the same address is only allowed to be reported once. Another way is "Scan Duplicate By Device Address And Advertising Data". This way is to use advertising data and device address filtering. All different adv packets with the same address are allowed to be reported. The last way is "Scan Duplicate By Advertising Data". This way is to use advertising data filtering. All same advertising data only allow to be reported once even though they are from different devices. config SCAN_DUPLICATE_BY_DEVICE_ADDR bool "Scan Duplicate By Device Address" help This way is to use advertiser address filtering. The adv packet of the same address is only allowed to be reported once config SCAN_DUPLICATE_BY_ADV_DATA bool "Scan Duplicate By Advertising Data" help This way is to use advertising data filtering. All same advertising data only allow to be reported once even though they are from different devices. config SCAN_DUPLICATE_BY_ADV_DATA_AND_DEVICE_ADDR bool "Scan Duplicate By Device Address And Advertising Data" help This way is to use advertising data and device address filtering. All different adv packets with the same address are allowed to be reported. endchoice config SCAN_DUPLICATE_TYPE int depends on BLE_SCAN_DUPLICATE default 0 if SCAN_DUPLICATE_BY_DEVICE_ADDR default 1 if SCAN_DUPLICATE_BY_ADV_DATA default 2 if SCAN_DUPLICATE_BY_ADV_DATA_AND_DEVICE_ADDR default 0 config DUPLICATE_SCAN_CACHE_SIZE int "Maximum number of devices in scan duplicate filter" depends on BLE_SCAN_DUPLICATE range 10 1000 default 200 help Maximum number of devices which can be recorded in scan duplicate filter. When the maximum amount of device in the filter is reached, the cache will be refreshed. config BLE_MESH_SCAN_DUPLICATE_EN bool "Special duplicate scan mechanism for BLE Mesh scan" depends on BLE_SCAN_DUPLICATE default n help This enables the BLE scan duplicate for special BLE Mesh scan. config MESH_DUPLICATE_SCAN_CACHE_SIZE int "Maximum number of Mesh adv packets in scan duplicate filter" depends on BLE_MESH_SCAN_DUPLICATE_EN range 10 1000 default 200 help Maximum number of adv packets which can be recorded in duplicate scan cache for BLE Mesh. When the maximum amount of device in the filter is reached, the cache will be refreshed. config BLE_ADV_REPORT_FLOW_CONTROL_SUPPORTED bool "BLE adv report flow control supported" depends on (BTDM_CONTROLLER_MODE_BTDM || BTDM_CONTROLLER_MODE_BLE_ONLY) default y help The function is mainly used to enable flow control for advertising reports. When it is enabled, advertising reports will be discarded by the controller if the number of unprocessed advertising reports exceeds the size of BLE adv report flow control. config BLE_ADV_REPORT_FLOW_CONTROL_NUM int "BLE adv report flow control number" depends on BLE_ADV_REPORT_FLOW_CONTROL_SUPPORTED range 50 1000 default 100 help The number of unprocessed advertising report that Bluedroid can save.If you set `BLE_ADV_REPORT_FLOW_CONTROL_NUM` to a small value, this may cause adv packets lost. If you set `BLE_ADV_REPORT_FLOW_CONTROL_NUM` to a large value, Bluedroid may cache a lot of adv packets and this may cause system memory run out. For example, if you set it to 50, the maximum memory consumed by host is 35 * 50 bytes. Please set `BLE_ADV_REPORT_FLOW_CONTROL_NUM` according to your system free memory and handle adv packets as fast as possible, otherwise it will cause adv packets lost. config BLE_ADV_REPORT_DISCARD_THRSHOLD int "BLE adv lost event threshold value" depends on BLE_ADV_REPORT_FLOW_CONTROL_SUPPORTED range 1 1000 default 20 help When adv report flow control is enabled, The ADV lost event will be generated when the number of ADV packets lost in the controller reaches this threshold. It is better to set a larger value. If you set `BLE_ADV_REPORT_DISCARD_THRSHOLD` to a small value or printf every adv lost event, it may cause adv packets lost more. endmenu menuconfig BLUEDROID_ENABLED bool "Bluedroid Enable" depends on BTDM_CONTROLLER_HCI_MODE_VHCI default y help This enables the default Bluedroid Bluetooth stack choice BLUEDROID_PINNED_TO_CORE_CHOICE prompt "The cpu core which Bluedroid run" depends on BLUEDROID_ENABLED && !FREERTOS_UNICORE help Which the cpu core to run Bluedroid. Can choose core0 and core1. Can not specify no-affinity. config BLUEDROID_PINNED_TO_CORE_0 bool "Core 0 (PRO CPU)" config BLUEDROID_PINNED_TO_CORE_1 bool "Core 1 (APP CPU)" depends on !FREERTOS_UNICORE endchoice config BLUEDROID_PINNED_TO_CORE int depends on BLUEDROID_ENABLED default 0 if BLUEDROID_PINNED_TO_CORE_0 default 1 if BLUEDROID_PINNED_TO_CORE_1 default 0 config BTC_TASK_STACK_SIZE int "Bluetooth event (callback to application) task stack size" depends on BLUEDROID_ENABLED default 3072 help This select btc task stack size config BLUEDROID_MEM_DEBUG bool "Bluedroid memory debug" depends on BLUEDROID_ENABLED default n help Bluedroid memory debug config CLASSIC_BT_ENABLED bool "Classic Bluetooth" depends on BLUEDROID_ENABLED default n help For now this option needs "SMP_ENABLE" to be set to yes config A2DP_ENABLE bool "A2DP" depends on CLASSIC_BT_ENABLED default n help Advanced Audio Distrubution Profile config A2DP_SINK_TASK_STACK_SIZE int "A2DP sink (audio stream decoding) task stack size" depends on A2DP_ENABLE default 2048 config A2DP_SOURCE_TASK_STACK_SIZE int "A2DP source (audio stream encoding) task stack size" depends on A2DP_ENABLE default 2048 config BT_SPP_ENABLED bool "SPP" depends on CLASSIC_BT_ENABLED default n help This enables the Serial Port Profile config HFP_ENABLE bool "Hands Free/Handset Profile" depends on CLASSIC_BT_ENABLED default n choice HFP_ROLE prompt "Hands-free Profile Role configuration" depends on HFP_ENABLE config HFP_CLIENT_ENABLE bool "Hands Free Unit" endchoice choice HFP_AUDIO_DATA_PATH prompt "audio(SCO) data path" depends on HFP_ENABLE config HFP_AUDIO_DATA_PATH_PCM bool "PCM" help This enables the Serial Port Profile config HFP_AUDIO_DATA_PATH_HCI bool "HCI" help This enables the Serial Port Profile endchoice config GATTS_ENABLE bool "Include GATT server module(GATTS)" depends on BLUEDROID_ENABLED && (BTDM_CONTROLLER_MODE_BTDM || BTDM_CONTROLLER_MODE_BLE_ONLY) default y help This option can be disabled when the app work only on gatt client mode choice GATTS_SEND_SERVICE_CHANGE_MODE prompt "GATTS Service Change Mode" default GATTS_SEND_SERVICE_CHANGE_AUTO depends on GATTS_ENABLE help Service change indication mode for GATT Server. config GATTS_SEND_SERVICE_CHANGE_MANUAL bool "GATTS manually send service change indication" help Manually send service change indication through API esp_ble_gatts_send_service_change_indication() config GATTS_SEND_SERVICE_CHANGE_AUTO bool "GATTS automatically send service change indication" help Let Bluedroid handle the service change indication internally endchoice config GATTS_SEND_SERVICE_CHANGE_MODE int depends on GATTS_ENABLE default 0 if GATTS_SEND_SERVICE_CHANGE_AUTO default 1 if GATTS_SEND_SERVICE_CHANGE_MANUAL default 0 config GATTC_ENABLE bool "Include GATT client module(GATTC)" depends on BLUEDROID_ENABLED && (BTDM_CONTROLLER_MODE_BTDM || BTDM_CONTROLLER_MODE_BLE_ONLY) default y help This option can be close when the app work only on gatt server mode config GATTC_CACHE_NVS_FLASH bool "Save gattc cache data to nvs flash" depends on GATTC_ENABLE && (BTDM_CONTROLLER_MODE_BTDM || BTDM_CONTROLLER_MODE_BLE_ONLY) default n help This select can save gattc cache data to nvs flash config BLE_SMP_ENABLE bool "Include BLE security module(SMP)" depends on BLUEDROID_ENABLED && (BTDM_CONTROLLER_MODE_BTDM || BTDM_CONTROLLER_MODE_BLE_ONLY) default y help This option can be close when the app not used the ble security connect. config BT_STACK_NO_LOG bool "Disable BT debug logs (minimize bin size)" depends on BLUEDROID_ENABLED default n help This select can save the rodata code size menu "BT DEBUG LOG LEVEL" depends on BLUEDROID_ENABLED && !BT_STACK_NO_LOG choice HCI_INITIAL_TRACE_LEVEL prompt "HCI layer" default HCI_TRACE_LEVEL_WARNING depends on BLUEDROID_ENABLED && !BT_STACK_NO_LOG help Define BT trace level for HCI layer config HCI_TRACE_LEVEL_NONE bool "NONE" config HCI_TRACE_LEVEL_ERROR bool "ERROR" config HCI_TRACE_LEVEL_WARNING bool "WARNING" config HCI_TRACE_LEVEL_API bool "API" config HCI_TRACE_LEVEL_EVENT bool "EVENT" config HCI_TRACE_LEVEL_DEBUG bool "DEBUG" config HCI_TRACE_LEVEL_VERBOSE bool "VERBOSE" endchoice config HCI_INITIAL_TRACE_LEVEL int depends on BLUEDROID_ENABLED default 0 if HCI_TRACE_LEVEL_NONE default 1 if HCI_TRACE_LEVEL_ERROR default 2 if HCI_TRACE_LEVEL_WARNING default 3 if HCI_TRACE_LEVEL_API default 4 if HCI_TRACE_LEVEL_EVENT default 5 if HCI_TRACE_LEVEL_DEBUG default 6 if HCI_TRACE_LEVEL_VERBOSE default 2 choice BTM_INITIAL_TRACE_LEVEL prompt "BTM layer" default BTM_TRACE_LEVEL_WARNING depends on BLUEDROID_ENABLED && !BT_STACK_NO_LOG help Define BT trace level for BTM layer config BTM_TRACE_LEVEL_NONE bool "NONE" config BTM_TRACE_LEVEL_ERROR bool "ERROR" config BTM_TRACE_LEVEL_WARNING bool "WARNING" config BTM_TRACE_LEVEL_API bool "API" config BTM_TRACE_LEVEL_EVENT bool "EVENT" config BTM_TRACE_LEVEL_DEBUG bool "DEBUG" config BTM_TRACE_LEVEL_VERBOSE bool "VERBOSE" endchoice config BTM_INITIAL_TRACE_LEVEL int depends on BLUEDROID_ENABLED default 0 if BTM_TRACE_LEVEL_NONE default 1 if BTM_TRACE_LEVEL_ERROR default 2 if BTM_TRACE_LEVEL_WARNING default 3 if BTM_TRACE_LEVEL_API default 4 if BTM_TRACE_LEVEL_EVENT default 5 if BTM_TRACE_LEVEL_DEBUG default 6 if BTM_TRACE_LEVEL_VERBOSE default 2 choice L2CAP_INITIAL_TRACE_LEVEL prompt "L2CAP layer" default L2CAP_TRACE_LEVEL_WARNING depends on BLUEDROID_ENABLED && !BT_STACK_NO_LOG help Define BT trace level for L2CAP layer config L2CAP_TRACE_LEVEL_NONE bool "NONE" config L2CAP_TRACE_LEVEL_ERROR bool "ERROR" config L2CAP_TRACE_LEVEL_WARNING bool "WARNING" config L2CAP_TRACE_LEVEL_API bool "API" config L2CAP_TRACE_LEVEL_EVENT bool "EVENT" config L2CAP_TRACE_LEVEL_DEBUG bool "DEBUG" config L2CAP_TRACE_LEVEL_VERBOSE bool "VERBOSE" endchoice config L2CAP_INITIAL_TRACE_LEVEL int depends on BLUEDROID_ENABLED default 0 if L2CAP_TRACE_LEVEL_NONE default 1 if L2CAP_TRACE_LEVEL_ERROR default 2 if L2CAP_TRACE_LEVEL_WARNING default 3 if L2CAP_TRACE_LEVEL_API default 4 if L2CAP_TRACE_LEVEL_EVENT default 5 if L2CAP_TRACE_LEVEL_DEBUG default 6 if L2CAP_TRACE_LEVEL_VERBOSE default 2 choice RFCOMM_INITIAL_TRACE_LEVEL prompt "RFCOMM layer" default RFCOMM_TRACE_LEVEL_WARNING depends on BLUEDROID_ENABLED && !BT_STACK_NO_LOG help Define BT trace level for RFCOMM layer config RFCOMM_TRACE_LEVEL_NONE bool "NONE" config RFCOMM_TRACE_LEVEL_ERROR bool "ERROR" config RFCOMM_TRACE_LEVEL_WARNING bool "WARNING" config RFCOMM_TRACE_LEVEL_API bool "API" config RFCOMM_TRACE_LEVEL_EVENT bool "EVENT" config RFCOMM_TRACE_LEVEL_DEBUG bool "DEBUG" config RFCOMM_TRACE_LEVEL_VERBOSE bool "VERBOSE" endchoice config RFCOMM_INITIAL_TRACE_LEVEL int depends on BLUEDROID_ENABLED default 0 if RFCOMM_TRACE_LEVEL_NONE default 1 if RFCOMM_TRACE_LEVEL_ERROR default 2 if RFCOMM_TRACE_LEVEL_WARNING default 3 if RFCOMM_TRACE_LEVEL_API default 4 if RFCOMM_TRACE_LEVEL_EVENT default 5 if RFCOMM_TRACE_LEVEL_DEBUG default 6 if RFCOMM_TRACE_LEVEL_VERBOSE default 2 choice SDP_INITIAL_TRACE_LEVEL prompt "SDP layer" default SDP_TRACE_LEVEL_WARNING depends on BLUEDROID_ENABLED && !BT_STACK_NO_LOG help Define BT trace level for SDP layer config SDP_TRACE_LEVEL_NONE bool "NONE" config SDP_TRACE_LEVEL_ERROR bool "ERROR" config SDP_TRACE_LEVEL_WARNING bool "WARNING" config SDP_TRACE_LEVEL_API bool "API" config SDP_TRACE_LEVEL_EVENT bool "EVENT" config SDP_TRACE_LEVEL_DEBUG bool "DEBUG" config SDP_TRACE_LEVEL_VERBOSE bool "VERBOSE" endchoice config SDP_INITIAL_TRACE_LEVEL int depends on BLUEDROID_ENABLED default 0 if SDP_TRACE_LEVEL_NONE default 1 if SDP_TRACE_LEVEL_ERROR default 2 if SDP_TRACE_LEVEL_WARNING default 3 if SDP_TRACE_LEVEL_API default 4 if SDP_TRACE_LEVEL_EVENT default 5 if SDP_TRACE_LEVEL_DEBUG default 6 if SDP_TRACE_LEVEL_VERBOSE default 2 choice GAP_INITIAL_TRACE_LEVEL prompt "GAP layer" default GAP_TRACE_LEVEL_WARNING depends on BLUEDROID_ENABLED && !BT_STACK_NO_LOG help Define BT trace level for GAP layer config GAP_TRACE_LEVEL_NONE bool "NONE" config GAP_TRACE_LEVEL_ERROR bool "ERROR" config GAP_TRACE_LEVEL_WARNING bool "WARNING" config GAP_TRACE_LEVEL_API bool "API" config GAP_TRACE_LEVEL_EVENT bool "EVENT" config GAP_TRACE_LEVEL_DEBUG bool "DEBUG" config GAP_TRACE_LEVEL_VERBOSE bool "VERBOSE" endchoice config GAP_INITIAL_TRACE_LEVEL int depends on BLUEDROID_ENABLED default 0 if GAP_TRACE_LEVEL_NONE default 1 if GAP_TRACE_LEVEL_ERROR default 2 if GAP_TRACE_LEVEL_WARNING default 3 if GAP_TRACE_LEVEL_API default 4 if GAP_TRACE_LEVEL_EVENT default 5 if GAP_TRACE_LEVEL_DEBUG default 6 if GAP_TRACE_LEVEL_VERBOSE default 2 choice BNEP_INITIAL_TRACE_LEVEL prompt "BNEP layer" default BNEP_TRACE_LEVEL_WARNING depends on BLUEDROID_ENABLED && !BT_STACK_NO_LOG help Define BT trace level for BNEP layer config BNEP_TRACE_LEVEL_NONE bool "NONE" config BNEP_TRACE_LEVEL_ERROR bool "ERROR" config BNEP_TRACE_LEVEL_WARNING bool "WARNING" config BNEP_TRACE_LEVEL_API bool "API" config BNEP_TRACE_LEVEL_EVENT bool "EVENT" config BNEP_TRACE_LEVEL_DEBUG bool "DEBUG" config BNEP_TRACE_LEVEL_VERBOSE bool "VERBOSE" endchoice config BNEP_INITIAL_TRACE_LEVEL int depends on BLUEDROID_ENABLED default 0 if BNEP_TRACE_LEVEL_NONE default 1 if BNEP_TRACE_LEVEL_ERROR default 2 if BNEP_TRACE_LEVEL_WARNING default 3 if BNEP_TRACE_LEVEL_API default 4 if BNEP_TRACE_LEVEL_EVENT default 5 if BNEP_TRACE_LEVEL_DEBUG default 6 if BNEP_TRACE_LEVEL_VERBOSE default 2 choice PAN_INITIAL_TRACE_LEVEL prompt "PAN layer" default PAN_TRACE_LEVEL_WARNING depends on BLUEDROID_ENABLED && !BT_STACK_NO_LOG help Define BT trace level for PAN layer config PAN_TRACE_LEVEL_NONE bool "NONE" config PAN_TRACE_LEVEL_ERROR bool "ERROR" config PAN_TRACE_LEVEL_WARNING bool "WARNING" config PAN_TRACE_LEVEL_API bool "API" config PAN_TRACE_LEVEL_EVENT bool "EVENT" config PAN_TRACE_LEVEL_DEBUG bool "DEBUG" config PAN_TRACE_LEVEL_VERBOSE bool "VERBOSE" endchoice config PAN_INITIAL_TRACE_LEVEL int depends on BLUEDROID_ENABLED default 0 if PAN_TRACE_LEVEL_NONE default 1 if PAN_TRACE_LEVEL_ERROR default 2 if PAN_TRACE_LEVEL_WARNING default 3 if PAN_TRACE_LEVEL_API default 4 if PAN_TRACE_LEVEL_EVENT default 5 if PAN_TRACE_LEVEL_DEBUG default 6 if PAN_TRACE_LEVEL_VERBOSE default 2 choice A2D_INITIAL_TRACE_LEVEL prompt "A2D layer" default A2D_TRACE_LEVEL_WARNING depends on BLUEDROID_ENABLED && !BT_STACK_NO_LOG help Define BT trace level for A2D layer config A2D_TRACE_LEVEL_NONE bool "NONE" config A2D_TRACE_LEVEL_ERROR bool "ERROR" config A2D_TRACE_LEVEL_WARNING bool "WARNING" config A2D_TRACE_LEVEL_API bool "API" config A2D_TRACE_LEVEL_EVENT bool "EVENT" config A2D_TRACE_LEVEL_DEBUG bool "DEBUG" config A2D_TRACE_LEVEL_VERBOSE bool "VERBOSE" endchoice config A2D_INITIAL_TRACE_LEVEL int depends on BLUEDROID_ENABLED default 0 if A2D_TRACE_LEVEL_NONE default 1 if A2D_TRACE_LEVEL_ERROR default 2 if A2D_TRACE_LEVEL_WARNING default 3 if A2D_TRACE_LEVEL_API default 4 if A2D_TRACE_LEVEL_EVENT default 5 if A2D_TRACE_LEVEL_DEBUG default 6 if A2D_TRACE_LEVEL_VERBOSE default 2 choice AVDT_INITIAL_TRACE_LEVEL prompt "AVDT layer" default AVDT_TRACE_LEVEL_WARNING depends on BLUEDROID_ENABLED && !BT_STACK_NO_LOG help Define BT trace level for AVDT layer config AVDT_TRACE_LEVEL_NONE bool "NONE" config AVDT_TRACE_LEVEL_ERROR bool "ERROR" config AVDT_TRACE_LEVEL_WARNING bool "WARNING" config AVDT_TRACE_LEVEL_API bool "API" config AVDT_TRACE_LEVEL_EVENT bool "EVENT" config AVDT_TRACE_LEVEL_DEBUG bool "DEBUG" config AVDT_TRACE_LEVEL_VERBOSE bool "VERBOSE" endchoice config AVDT_INITIAL_TRACE_LEVEL int depends on BLUEDROID_ENABLED default 0 if AVDT_TRACE_LEVEL_NONE default 1 if AVDT_TRACE_LEVEL_ERROR default 2 if AVDT_TRACE_LEVEL_WARNING default 3 if AVDT_TRACE_LEVEL_API default 4 if AVDT_TRACE_LEVEL_EVENT default 5 if AVDT_TRACE_LEVEL_DEBUG default 6 if AVDT_TRACE_LEVEL_VERBOSE default 2 choice AVCT_INITIAL_TRACE_LEVEL prompt "AVCT layer" default AVCT_TRACE_LEVEL_WARNING depends on BLUEDROID_ENABLED && !BT_STACK_NO_LOG help Define BT trace level for AVCT layer config AVCT_TRACE_LEVEL_NONE bool "NONE" config AVCT_TRACE_LEVEL_ERROR bool "ERROR" config AVCT_TRACE_LEVEL_WARNING bool "WARNING" config AVCT_TRACE_LEVEL_API bool "API" config AVCT_TRACE_LEVEL_EVENT bool "EVENT" config AVCT_TRACE_LEVEL_DEBUG bool "DEBUG" config AVCT_TRACE_LEVEL_VERBOSE bool "VERBOSE" endchoice config AVCT_INITIAL_TRACE_LEVEL int depends on BLUEDROID_ENABLED default 0 if AVCT_TRACE_LEVEL_NONE default 1 if AVCT_TRACE_LEVEL_ERROR default 2 if AVCT_TRACE_LEVEL_WARNING default 3 if AVCT_TRACE_LEVEL_API default 4 if AVCT_TRACE_LEVEL_EVENT default 5 if AVCT_TRACE_LEVEL_DEBUG default 6 if AVCT_TRACE_LEVEL_VERBOSE default 2 choice AVRC_INITIAL_TRACE_LEVEL prompt "AVRC layer" default AVRC_TRACE_LEVEL_WARNING depends on BLUEDROID_ENABLED && !BT_STACK_NO_LOG help Define BT trace level for AVRC layer config AVRC_TRACE_LEVEL_NONE bool "NONE" config AVRC_TRACE_LEVEL_ERROR bool "ERROR" config AVRC_TRACE_LEVEL_WARNING bool "WARNING" config AVRC_TRACE_LEVEL_API bool "API" config AVRC_TRACE_LEVEL_EVENT bool "EVENT" config AVRC_TRACE_LEVEL_DEBUG bool "DEBUG" config AVRC_TRACE_LEVEL_VERBOSE bool "VERBOSE" endchoice config AVRC_INITIAL_TRACE_LEVEL int depends on BLUEDROID_ENABLED default 0 if AVRC_TRACE_LEVEL_NONE default 1 if AVRC_TRACE_LEVEL_ERROR default 2 if AVRC_TRACE_LEVEL_WARNING default 3 if AVRC_TRACE_LEVEL_API default 4 if AVRC_TRACE_LEVEL_EVENT default 5 if AVRC_TRACE_LEVEL_DEBUG default 6 if AVRC_TRACE_LEVEL_VERBOSE default 2 choice MCA_INITIAL_TRACE_LEVEL prompt "MCA layer" default MCA_TRACE_LEVEL_WARNING depends on BLUEDROID_ENABLED && !BT_STACK_NO_LOG help Define BT trace level for MCA layer config MCA_TRACE_LEVEL_NONE bool "NONE" config MCA_TRACE_LEVEL_ERROR bool "ERROR" config MCA_TRACE_LEVEL_WARNING bool "WARNING" config MCA_TRACE_LEVEL_API bool "API" config MCA_TRACE_LEVEL_EVENT bool "EVENT" config MCA_TRACE_LEVEL_DEBUG bool "DEBUG" config MCA_TRACE_LEVEL_VERBOSE bool "VERBOSE" endchoice config MCA_INITIAL_TRACE_LEVEL int depends on BLUEDROID_ENABLED default 0 if MCA_TRACE_LEVEL_NONE default 1 if MCA_TRACE_LEVEL_ERROR default 2 if MCA_TRACE_LEVEL_WARNING default 3 if MCA_TRACE_LEVEL_API default 4 if MCA_TRACE_LEVEL_EVENT default 5 if MCA_TRACE_LEVEL_DEBUG default 6 if MCA_TRACE_LEVEL_VERBOSE default 2 choice HID_INITIAL_TRACE_LEVEL prompt "HID layer" default HID_TRACE_LEVEL_WARNING depends on BLUEDROID_ENABLED && !BT_STACK_NO_LOG help Define BT trace level for HID layer config HID_TRACE_LEVEL_NONE bool "NONE" config HID_TRACE_LEVEL_ERROR bool "ERROR" config HID_TRACE_LEVEL_WARNING bool "WARNING" config HID_TRACE_LEVEL_API bool "API" config HID_TRACE_LEVEL_EVENT bool "EVENT" config HID_TRACE_LEVEL_DEBUG bool "DEBUG" config HID_TRACE_LEVEL_VERBOSE bool "VERBOSE" endchoice config HID_INITIAL_TRACE_LEVEL int depends on BLUEDROID_ENABLED default 0 if HID_TRACE_LEVEL_NONE default 1 if HID_TRACE_LEVEL_ERROR default 2 if HID_TRACE_LEVEL_WARNING default 3 if HID_TRACE_LEVEL_API default 4 if HID_TRACE_LEVEL_EVENT default 5 if HID_TRACE_LEVEL_DEBUG default 6 if HID_TRACE_LEVEL_VERBOSE default 2 choice APPL_INITIAL_TRACE_LEVEL prompt "APPL layer" default APPL_TRACE_LEVEL_WARNING depends on BLUEDROID_ENABLED && !BT_STACK_NO_LOG help Define BT trace level for APPL layer config APPL_TRACE_LEVEL_NONE bool "NONE" config APPL_TRACE_LEVEL_ERROR bool "ERROR" config APPL_TRACE_LEVEL_WARNING bool "WARNING" config APPL_TRACE_LEVEL_API bool "API" config APPL_TRACE_LEVEL_EVENT bool "EVENT" config APPL_TRACE_LEVEL_DEBUG bool "DEBUG" config APPL_TRACE_LEVEL_VERBOSE bool "VERBOSE" endchoice config APPL_INITIAL_TRACE_LEVEL int depends on BLUEDROID_ENABLED default 0 if APPL_TRACE_LEVEL_NONE default 1 if APPL_TRACE_LEVEL_ERROR default 2 if APPL_TRACE_LEVEL_WARNING default 3 if APPL_TRACE_LEVEL_API default 4 if APPL_TRACE_LEVEL_EVENT default 5 if APPL_TRACE_LEVEL_DEBUG default 6 if APPL_TRACE_LEVEL_VERBOSE default 2 choice GATT_INITIAL_TRACE_LEVEL prompt "GATT layer" default GATT_TRACE_LEVEL_WARNING depends on BLUEDROID_ENABLED && !BT_STACK_NO_LOG help Define BT trace level for GATT layer config GATT_TRACE_LEVEL_NONE bool "NONE" config GATT_TRACE_LEVEL_ERROR bool "ERROR" config GATT_TRACE_LEVEL_WARNING bool "WARNING" config GATT_TRACE_LEVEL_API bool "API" config GATT_TRACE_LEVEL_EVENT bool "EVENT" config GATT_TRACE_LEVEL_DEBUG bool "DEBUG" config GATT_TRACE_LEVEL_VERBOSE bool "VERBOSE" endchoice config GATT_INITIAL_TRACE_LEVEL int depends on BLUEDROID_ENABLED default 0 if GATT_TRACE_LEVEL_NONE default 1 if GATT_TRACE_LEVEL_ERROR default 2 if GATT_TRACE_LEVEL_WARNING default 3 if GATT_TRACE_LEVEL_API default 4 if GATT_TRACE_LEVEL_EVENT default 5 if GATT_TRACE_LEVEL_DEBUG default 6 if GATT_TRACE_LEVEL_VERBOSE default 2 choice SMP_INITIAL_TRACE_LEVEL prompt "SMP layer" default SMP_TRACE_LEVEL_WARNING depends on BLUEDROID_ENABLED && !BT_STACK_NO_LOG help Define BT trace level for SMP layer config SMP_TRACE_LEVEL_NONE bool "NONE" config SMP_TRACE_LEVEL_ERROR bool "ERROR" config SMP_TRACE_LEVEL_WARNING bool "WARNING" config SMP_TRACE_LEVEL_API bool "API" config SMP_TRACE_LEVEL_EVENT bool "EVENT" config SMP_TRACE_LEVEL_DEBUG bool "DEBUG" config SMP_TRACE_LEVEL_VERBOSE bool "VERBOSE" endchoice config SMP_INITIAL_TRACE_LEVEL int depends on BLUEDROID_ENABLED default 0 if SMP_TRACE_LEVEL_NONE default 1 if SMP_TRACE_LEVEL_ERROR default 2 if SMP_TRACE_LEVEL_WARNING default 3 if SMP_TRACE_LEVEL_API default 4 if SMP_TRACE_LEVEL_EVENT default 5 if SMP_TRACE_LEVEL_DEBUG default 6 if SMP_TRACE_LEVEL_VERBOSE default 2 choice BTIF_INITIAL_TRACE_LEVEL prompt "BTIF layer" default BTIF_TRACE_LEVEL_WARNING depends on BLUEDROID_ENABLED && !BT_STACK_NO_LOG help Define BT trace level for BTIF layer config BTIF_TRACE_LEVEL_NONE bool "NONE" config BTIF_TRACE_LEVEL_ERROR bool "ERROR" config BTIF_TRACE_LEVEL_WARNING bool "WARNING" config BTIF_TRACE_LEVEL_API bool "API" config BTIF_TRACE_LEVEL_EVENT bool "EVENT" config BTIF_TRACE_LEVEL_DEBUG bool "DEBUG" config BTIF_TRACE_LEVEL_VERBOSE bool "VERBOSE" endchoice config BTIF_INITIAL_TRACE_LEVEL int depends on BLUEDROID_ENABLED default 0 if BTIF_TRACE_LEVEL_NONE default 1 if BTIF_TRACE_LEVEL_ERROR default 2 if BTIF_TRACE_LEVEL_WARNING default 3 if BTIF_TRACE_LEVEL_API default 4 if BTIF_TRACE_LEVEL_EVENT default 5 if BTIF_TRACE_LEVEL_DEBUG default 6 if BTIF_TRACE_LEVEL_VERBOSE default 2 choice BTC_INITIAL_TRACE_LEVEL prompt "BTC layer" default BTC_TRACE_LEVEL_WARNING depends on BLUEDROID_ENABLED && !BT_STACK_NO_LOG help Define BT trace level for BTC layer config BTC_TRACE_LEVEL_NONE bool "NONE" config BTC_TRACE_LEVEL_ERROR bool "ERROR" config BTC_TRACE_LEVEL_WARNING bool "WARNING" config BTC_TRACE_LEVEL_API bool "API" config BTC_TRACE_LEVEL_EVENT bool "EVENT" config BTC_TRACE_LEVEL_DEBUG bool "DEBUG" config BTC_TRACE_LEVEL_VERBOSE bool "VERBOSE" endchoice config BTC_INITIAL_TRACE_LEVEL int depends on BLUEDROID_ENABLED default 0 if BTC_TRACE_LEVEL_NONE default 1 if BTC_TRACE_LEVEL_ERROR default 2 if BTC_TRACE_LEVEL_WARNING default 3 if BTC_TRACE_LEVEL_API default 4 if BTC_TRACE_LEVEL_EVENT default 5 if BTC_TRACE_LEVEL_DEBUG default 6 if BTC_TRACE_LEVEL_VERBOSE default 2 choice OSI_INITIAL_TRACE_LEVEL prompt "OSI layer" default OSI_TRACE_LEVEL_WARNING depends on BLUEDROID_ENABLED && !BT_STACK_NO_LOG help Define BT trace level for OSI layer config OSI_TRACE_LEVEL_NONE bool "NONE" config OSI_TRACE_LEVEL_ERROR bool "ERROR" config OSI_TRACE_LEVEL_WARNING bool "WARNING" config OSI_TRACE_LEVEL_API bool "API" config OSI_TRACE_LEVEL_EVENT bool "EVENT" config OSI_TRACE_LEVEL_DEBUG bool "DEBUG" config OSI_TRACE_LEVEL_VERBOSE bool "VERBOSE" endchoice config OSI_INITIAL_TRACE_LEVEL int depends on BLUEDROID_ENABLED default 0 if OSI_TRACE_LEVEL_NONE default 1 if OSI_TRACE_LEVEL_ERROR default 2 if OSI_TRACE_LEVEL_WARNING default 3 if OSI_TRACE_LEVEL_API default 4 if OSI_TRACE_LEVEL_EVENT default 5 if OSI_TRACE_LEVEL_DEBUG default 6 if OSI_TRACE_LEVEL_VERBOSE default 2 choice BLUFI_INITIAL_TRACE_LEVEL prompt "BLUFI layer" default BLUFI_TRACE_LEVEL_WARNING depends on BLUEDROID_ENABLED && !BT_STACK_NO_LOG help Define BT trace level for BLUFI layer config BLUFI_TRACE_LEVEL_NONE bool "NONE" config BLUFI_TRACE_LEVEL_ERROR bool "ERROR" config BLUFI_TRACE_LEVEL_WARNING bool "WARNING" config BLUFI_TRACE_LEVEL_API bool "API" config BLUFI_TRACE_LEVEL_EVENT bool "EVENT" config BLUFI_TRACE_LEVEL_DEBUG bool "DEBUG" config BLUFI_TRACE_LEVEL_VERBOSE bool "VERBOSE" endchoice config BLUFI_INITIAL_TRACE_LEVEL int depends on BLUEDROID_ENABLED default 0 if BLUFI_TRACE_LEVEL_NONE default 1 if BLUFI_TRACE_LEVEL_ERROR default 2 if BLUFI_TRACE_LEVEL_WARNING default 3 if BLUFI_TRACE_LEVEL_API default 4 if BLUFI_TRACE_LEVEL_EVENT default 5 if BLUFI_TRACE_LEVEL_DEBUG default 6 if BLUFI_TRACE_LEVEL_VERBOSE default 2 endmenu #BT DEBUG LOG LEVEL config BT_ACL_CONNECTIONS int "BT/BLE MAX ACL CONNECTIONS(1~7)" depends on BLUEDROID_ENABLED range 1 7 default 4 help Maximum BT/BLE connection count config BT_ALLOCATION_FROM_SPIRAM_FIRST bool "BT/BLE will first malloc the memory from the PSRAM" depends on BLUEDROID_ENABLED default n help This select can save the internal RAM if there have the PSRAM config BT_BLE_DYNAMIC_ENV_MEMORY bool "Use dynamic memory allocation in BT/BLE stack" depends on BLUEDROID_ENABLED default n help This select can make the allocation of memory will become more flexible config BLE_HOST_QUEUE_CONGESTION_CHECK bool "BLE queue congestion check" depends on BLUEDROID_ENABLED default n help When scanning and scan duplicate is not enabled, if there are a lot of adv packets around or application layer handling adv packets is slow, it will cause the controller memory to run out. if enabled, adv packets will be lost when host queue is congested. config SMP_ENABLE bool depends on BLUEDROID_ENABLED default CLASSIC_BT_ENABLED || BLE_SMP_ENABLE config BLE_ACTIVE_SCAN_REPORT_ADV_SCAN_RSP_INDIVIDUALLY bool "Report adv data and scan response individually when BLE active scan" depends on BLUEDROID_ENABLED && (BTDM_CONTROLLER_MODE_BTDM || BTDM_CONTROLLER_MODE_BLE_ONLY) default n help Originally, when doing BLE active scan, Bluedroid will not report adv to application layer until receive scan response. This option is used to disable the behavior. When enable this option, Bluedroid will report adv data or scan response to application layer immediately. # Memory reserved at start of DRAM for Bluetooth stack config BT_RESERVE_DRAM hex default 0xdb5c if BT_ENABLED default 0 endmenu