# Bluetooth common configuration options # Copyright (c) 2017 Nordic Semiconductor ASA # Copyright (c) 2016 Intel Corporation # SPDX-License-Identifier: Apache-2.0 config BT_HAS_HCI_VS bool help This option is set by the Bluetooth controller to indicate support for the Zephyr HCI Vendor-Specific Commands and Event. config BT_HCI_VS bool "Zephyr HCI Vendor-Specific Commands" depends on BT_HAS_HCI_VS default y help Enable support for the Zephyr HCI Vendor-Specific Commands in the Host and/or Controller. This enables Set Version Information, Supported Commands, Supported Features vendor commands. config BT_HCI_VS_EXT bool "Zephyr HCI Vendor-Specific Extensions" depends on BT_HCI_VS default y help Enable support for the Zephyr HCI Vendor-Specific Extensions in the Host and/or Controller. This enables Write BD_ADDR, Read Build Info, Read Static Addresses and Read Key Hierarchy Roots vendor commands. config BT_HCI_VS_EXT_DETECT bool "Use heuristics to guess HCI vendor extensions support in advance" depends on BT_HCI_VS_EXT && !BT_CTLR default y if BOARD_QEMU_X86 || BOARD_QEMU_CORTEX_M3 || BOARD_NATIVE_POSIX help Use some heuristics to try to guess in advance whether the controller supports the HCI vendor extensions in advance, in order to prevent sending vendor commands to controller which may interpret them in completely different ways. config BT_HCI_MESH_EXT bool "Mesh HCI Command support" depends on BT_BROADCASTER && BT_OBSERVER && !BT_LL_SW_SPLIT help Enable support for the Bluetooth Mesh HCI Commands. config BT_WAIT_NOP bool "Wait for \"NOP\" Command Complete event during init" help Emit a Command Complete event from the Controller (and wait for it from the Host) for the NOP opcode to indicate that the Controller is ready to receive commands. config BT_RPA bool select TINYCRYPT select TINYCRYPT_AES config BT_ASSERT bool "Custom Bluetooth assert implementation" default y help Use a custom Bluetooth assert implementation instead of the kernel-wide __ASSERT(), which is enabled by CONFIG_ASSERT and is disabled by default. if BT_ASSERT config BT_ASSERT_VERBOSE bool "Print out an assert string when using BT_ASSERT" default y help When CONFIG_BT_ASSERT is enabled, this option turns on printing the cause of the assert to the console using printk(). config BT_ASSERT_PANIC bool "Use k_panic() instead of k_oops()" help When CONFIG_BT_ASSERT is enabled, this option makes the code call k_panic() instead of k_oops() when an assertion is triggered. endif # BT_ASSERT config BT_DEBUG # Hidden option to make the conditions more intuitive bool choice prompt "Bluetooth debug type" default BT_DEBUG_NONE config BT_DEBUG_NONE bool "No debug log" help Select this to disable all Bluetooth debug logs. config BT_DEBUG_LOG bool "Normal printf-style to console" select BT_DEBUG select LOG help This option enables Bluetooth debug going to standard serial console. config BT_DEBUG_MONITOR bool "Monitor protocol over UART" select BT_DEBUG select LOG select CONSOLE_HAS_DRIVER help Use a custom logging protocol over the console UART instead of plain-text output. Requires a special application on the host side that can decode this protocol. Currently the 'btmon' tool from BlueZ is capable of doing this. If the target board has two or more external UARTs it is possible to keep using UART_CONSOLE together with this option, however if there is only a single external UART then UART_CONSOLE needs to be disabled (in which case printk/printf will get encoded into the monitor protocol). endchoice if BT_DEBUG # Workaround for not being able to have commas in macro arguments DT_CHOSEN_Z_BT_MON_UART := zephyr,bt-mon-uart config BT_MONITOR_ON_DEV_NAME string "Device Name of Bluetooth monitor logging UART" depends on BT_DEBUG_MONITOR default "$(dt_chosen_label,$(DT_CHOSEN_Z_BT_MON_UART))" if HAS_DTS default "UART_0" help This option specifies the name of UART device to be used for the Bluetooth monitor logging. config BT_DEBUG_HCI_DRIVER bool "Bluetooth HCI driver debug" help This option enables debug support for the active Bluetooth HCI driver, including the Controller-side HCI layer when included in the build. config BT_DEBUG_RPA bool "Bluetooth Resolvable Private Address (RPA) debug" depends on BT_RPA help This option enables debug support for the Bluetooth Resolvable Private Address (RPA) generation and resolution. endif # BT_DEBUG