esp-idf/components/bt/Kconfig

2193 lines
87 KiB
Plaintext
Raw Normal View History

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
2019-05-02 09:36:06 -04:00
choice BTDM_CTRL_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).
2019-05-02 09:36:06 -04:00
config BTDM_CTRL_MODE_BLE_ONLY
bool "BLE Only"
2019-05-02 09:36:06 -04:00
config BTDM_CTRL_MODE_BR_EDR_ONLY
bool "BR/EDR Only"
2019-05-02 09:36:06 -04:00
config BTDM_CTRL_MODE_BTDM
bool "Bluetooth Dual Mode"
endchoice
2019-05-02 09:36:06 -04:00
config BTDM_CTRL_BLE_MAX_CONN
int "BLE Max Connections"
2019-05-02 09:36:06 -04:00
depends on BTDM_CTRL_MODE_BLE_ONLY || BTDM_CTRL_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.
2019-05-02 09:36:06 -04:00
config BTDM_CTRL_BR_EDR_MAX_ACL_CONN
int "BR/EDR ACL Max Connections"
2019-05-02 09:36:06 -04:00
depends on BTDM_CTRL_MODE_BR_EDR_ONLY || BTDM_CTRL_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.
2019-05-02 09:36:06 -04:00
config BTDM_CTRL_BR_EDR_MAX_SYNC_CONN
int "BR/EDR Sync(SCO/eSCO) Max Connections"
2019-05-02 09:36:06 -04:00
depends on BTDM_CTRL_MODE_BR_EDR_ONLY || BTDM_CTRL_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.
choice BTDM_CTRL_BR_EDR_SCO_DATA_PATH
prompt "BR/EDR Sync(SCO/eSCO) default data path"
depends on BTDM_CTRL_MODE_BR_EDR_ONLY || BTDM_CTRL_MODE_BTDM
default BTDM_CTRL_BR_EDR_SCO_DATA_PATH_PCM
help
SCO data path, i.e. HCI or PCM.
SCO data can be sent/received through HCI synchronous packets, or the data
can be routed to on-chip PCM module on ESP32. PCM input/output signals can
be "matrixed" to GPIOs. The default data path can also be set using API
"esp_bredr_sco_datapath_set"
config BTDM_CTRL_BR_EDR_SCO_DATA_PATH_HCI
bool "HCI"
config BTDM_CTRL_BR_EDR_SCO_DATA_PATH_PCM
bool "PCM"
endchoice
config BTDM_CTRL_BR_EDR_SCO_DATA_PATH_EFF
int
default 0 if BTDM_CTRL_BR_EDR_SCO_DATA_PATH_HCI
default 1 if BTDM_CTRL_BR_EDR_SCO_DATA_PATH_PCM
default 0
2019-05-02 09:36:06 -04:00
config BTDM_CTRL_BLE_MAX_CONN_EFF
int
2019-05-02 09:36:06 -04:00
default BTDM_CTRL_BLE_MAX_CONN if BTDM_CTRL_MODE_BLE_ONLY || BTDM_CTRL_MODE_BTDM
default 0
2019-05-02 09:36:06 -04:00
config BTDM_CTRL_BR_EDR_MAX_ACL_CONN_EFF
int
2019-05-02 09:36:06 -04:00
default BTDM_CTRL_BR_EDR_MAX_ACL_CONN if BTDM_CTRL_MODE_BR_EDR_ONLY || BTDM_CTRL_MODE_BTDM
default 0
2019-05-02 09:36:06 -04:00
config BTDM_CTRL_BR_EDR_MAX_SYNC_CONN_EFF
int
2019-05-02 09:36:06 -04:00
default BTDM_CTRL_BR_EDR_MAX_SYNC_CONN if BTDM_CTRL_MODE_BR_EDR_ONLY || BTDM_CTRL_MODE_BTDM
default 0
2019-05-02 09:36:06 -04:00
choice BTDM_CTRL_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.
2019-05-02 09:36:06 -04:00
config BTDM_CTRL_PINNED_TO_CORE_0
bool "Core 0 (PRO CPU)"
2019-05-02 09:36:06 -04:00
config BTDM_CTRL_PINNED_TO_CORE_1
bool "Core 1 (APP CPU)"
depends on !FREERTOS_UNICORE
endchoice
2019-05-02 09:36:06 -04:00
config BTDM_CTRL_PINNED_TO_CORE
int
2019-05-02 09:36:06 -04:00
default 0 if BTDM_CTRL_PINNED_TO_CORE_0
default 1 if BTDM_CTRL_PINNED_TO_CORE_1
default 0
2019-05-02 09:36:06 -04:00
choice BTDM_CTRL_HCI_MODE_CHOICE
prompt "HCI mode"
depends on BT_ENABLED
help
Speicify HCI mode as VHCI or UART(H4)
2019-05-02 09:36:06 -04:00
config BTDM_CTRL_HCI_MODE_VHCI
bool "VHCI"
help
Normal option. Mostly, choose this VHCI when bluetooth host run on ESP32, too.
2019-05-02 09:36:06 -04:00
config BTDM_CTRL_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"
2019-05-02 09:36:06 -04:00
visible if BTDM_CTRL_HCI_MODE_UART_H4
config BT_HCI_UART_NO
int "UART Number for HCI"
2019-05-02 09:36:06 -04:00
depends on BTDM_CTRL_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"
2019-05-02 09:36:06 -04:00
depends on BTDM_CTRL_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
2019-05-02 09:36:06 -04:00
config BTDM_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"
2019-05-02 09:36:06 -04:00
depends on BTDM_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. Bluetooth low power clock is
the clock source to maintain time in sleep mode.
- "Main crystal" option provides good accuracy and can support Dynamic Frequency Scaling
to be used with Bluetooth modem sleep. Light sleep is not supported.
- "External 32kHz crystal" option allows user to use a 32.768kHz crystal as Bluetooth low
power clock. This option is allowed as long as External 32kHz crystal is configured as
the system RTC clock source. This option provides good accuracy and supports Bluetooth
modem sleep to be used alongside Dynamic Frequency Scaling or light sleep.
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 good performance in accuracy as
the bluetooth low power clock source.
config BTDM_LPCLK_SEL_EXT_32K_XTAL
bool "External 32kHz crystal"
depends on ESP32_RTC_CLK_SRC_EXT_CRYS
help
External 32kHz crystal has a nominal frequency of 32.768kHz and provides good frequency
stability. If used as Bluetooth low power clock, External 32kHz can support Bluetooth
modem sleep to be used with both DFS and light sleep.
endchoice
endmenu
choice BTDM_BLE_SLEEP_CLOCK_ACCURACY
prompt "BLE Sleep Clock Accuracy"
depends on BTDM_CTRL_MODE_BLE_ONLY || BTDM_CTRL_MODE_BTDM
default BTDM_BLE_DEFAULT_SCA_250PPM
help
BLE Sleep Clock Accuracy(SCA) for the local device is used to estimate window widening in BLE
connection events. With a lower level of clock accuracy(e.g. 500ppm over 250ppm), the slave
needs a larger RX window to synchronize with master in each anchor point, thus resulting in an
increase of power consumption but a higher level of robustness in keeping connected. According
to the requirements of Bluetooth Core specification 4.2, the worst-case accuracy of Classic
Bluetooth low power oscialltor(LPO) is +/-250ppm in STANDBY and in low power modes such as
sniff. For BLE the worst-case SCA is +/-500ppm.
- "151ppm to 250ppm" option is the default value for Bluetooth Dual mode
- "251ppm to 500ppm" option can be used in BLE only mode when using external 32kHz crystal as
low power clock. This option is provided in case that BLE sleep clock has a lower level of
accuracy, or other error sources contribute to the inaccurate timing during sleep.
config BTDM_BLE_DEFAULT_SCA_500PPM
bool "251ppm to 500ppm"
depends on BTDM_LPCLK_SEL_EXT_32K_XTAL && BTDM_CTRL_MODE_BLE_ONLY
config BTDM_BLE_DEFAULT_SCA_250PPM
bool "151ppm to 250ppm"
endchoice
config BTDM_BLE_SLEEP_CLOCK_ACCURACY_INDEX_EFF
int
default 0 if BTDM_BLE_DEFAULT_SCA_500PPM
default 1 if BTDM_BLE_DEFAULT_SCA_250PPM
default 1
2019-05-02 09:36:06 -04:00
config BTDM_BLE_SCAN_DUPL
bool "BLE Scan Duplicate Options"
2019-05-02 09:36:06 -04:00
depends on (BTDM_CTRL_MODE_BTDM || BTDM_CTRL_MODE_BLE_ONLY)
default y
help
This select enables parameters setting of BLE scan duplicate.
2019-05-02 09:36:06 -04:00
choice BTDM_SCAN_DUPL_TYPE
prompt "Scan Duplicate Type"
2019-05-02 09:36:06 -04:00
default BTDM_SCAN_DUPL_TYPE_DEVICE
depends on BTDM_BLE_SCAN_DUPL
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.
2019-05-02 09:36:06 -04:00
config BTDM_SCAN_DUPL_TYPE_DEVICE
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
2019-05-02 09:36:06 -04:00
config BTDM_SCAN_DUPL_TYPE_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.
2019-05-02 09:36:06 -04:00
config BTDM_SCAN_DUPL_TYPE_DATA_DEVICE
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
2019-05-02 09:36:06 -04:00
config BTDM_SCAN_DUPL_TYPE
int
2019-05-02 09:36:06 -04:00
depends on BTDM_BLE_SCAN_DUPL
default 0 if BTDM_SCAN_DUPL_TYPE_DEVICE
default 1 if BTDM_SCAN_DUPL_TYPE_DATA
default 2 if BTDM_SCAN_DUPL_TYPE_DATA_DEVICE
default 0
2019-05-02 09:36:06 -04:00
config BTDM_SCAN_DUPL_CACHE_SIZE
int "Maximum number of devices in scan duplicate filter"
2019-05-02 09:36:06 -04:00
depends on BTDM_BLE_SCAN_DUPL
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.
2019-05-02 09:36:06 -04:00
config BTDM_BLE_MESH_SCAN_DUPL_EN
bool "Special duplicate scan mechanism for BLE Mesh scan"
2019-05-02 09:36:06 -04:00
depends on BTDM_BLE_SCAN_DUPL
default n
help
This enables the BLE scan duplicate for special BLE Mesh scan.
2019-05-02 09:36:06 -04:00
config BTDM_MESH_DUPL_SCAN_CACHE_SIZE
int "Maximum number of Mesh adv packets in scan duplicate filter"
2019-05-02 09:36:06 -04:00
depends on BTDM_BLE_MESH_SCAN_DUPL_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.
2019-05-02 09:36:06 -04:00
config BTDM_CTRL_FULL_SCAN_SUPPORTED
bool "BLE full scan feature supported"
2019-05-02 09:36:06 -04:00
depends on BTDM_CTRL_MODE_BLE_ONLY
default n
help
The full scan function is mainly used to provide BLE scan performance.
This is required for scenes with high scan performance requirements, such as BLE Mesh scenes.
2019-05-02 09:36:06 -04:00
config BTDM_BLE_ADV_REPORT_FLOW_CTRL_SUPP
bool "BLE adv report flow control supported"
2019-05-02 09:36:06 -04:00
depends on (BTDM_CTRL_MODE_BTDM || BTDM_CTRL_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.
2019-05-02 09:36:06 -04:00
config BTDM_BLE_ADV_REPORT_FLOW_CTRL_NUM
int "BLE adv report flow control number"
2019-05-02 09:36:06 -04:00
depends on BTDM_BLE_ADV_REPORT_FLOW_CTRL_SUPP
range 50 1000
default 100
help
The number of unprocessed advertising report that Bluedroid can save.If you set
2019-05-02 09:36:06 -04:00
`BTDM_BLE_ADV_REPORT_FLOW_CTRL_NUM` to a small value, this may cause adv packets lost.
If you set `BTDM_BLE_ADV_REPORT_FLOW_CTRL_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
2019-05-02 09:36:06 -04:00
`BTDM_BLE_ADV_REPORT_FLOW_CTRL_NUM` according to your system free memory and handle adv
packets as fast as possible, otherwise it will cause adv packets lost.
2019-05-02 09:36:06 -04:00
config BTDM_BLE_ADV_REPORT_DISCARD_THRSHOLD
int "BLE adv lost event threshold value"
2019-05-02 09:36:06 -04:00
depends on BTDM_BLE_ADV_REPORT_FLOW_CTRL_SUPP
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.
2019-05-02 09:36:06 -04:00
If you set `BTDM_BLE_ADV_REPORT_DISCARD_THRSHOLD` to a small value or printf every adv lost event, it
may cause adv packets lost more.
endmenu
2019-06-24 21:03:58 -04:00
choice BT_HOST
prompt "Bluetooth Host"
depends on BT_ENABLED && BTDM_CTRL_HCI_MODE_VHCI
default BT_BLUEDROID_ENABLED
help
2019-06-24 21:03:58 -04:00
This helps to choose Bluetooth host stack
2019-06-24 21:03:58 -04:00
config BT_BLUEDROID_ENABLED
bool "Bluedroid - Dual-mode"
help
This option is recommended for classic Bluetooth or for dual-mode
usecases
2019-06-24 21:03:58 -04:00
config BT_NIMBLE_ENABLED
bool "NimBLE - BLE only"
help
This option is recommended for BLE only usecases to save on memory
endchoice
2019-06-24 21:03:58 -04:00
menu "Bluedroid Options"
visible if BT_BLUEDROID_ENABLED
2019-06-24 21:03:58 -04:00
choice BT_BLUEDROID_PINNED_TO_CORE_CHOICE
prompt "The cpu core which Bluedroid run"
depends on BT_BLUEDROID_ENABLED && !FREERTOS_UNICORE
help
Which the cpu core to run Bluedroid. Can choose core0 and core1.
Can not specify no-affinity.
2019-06-24 21:03:58 -04:00
config BT_BLUEDROID_PINNED_TO_CORE_0
bool "Core 0 (PRO CPU)"
config BT_BLUEDROID_PINNED_TO_CORE_1
bool "Core 1 (APP CPU)"
depends on !FREERTOS_UNICORE
endchoice
2019-06-24 21:03:58 -04:00
config BT_BLUEDROID_PINNED_TO_CORE
int
depends on BT_BLUEDROID_ENABLED
default 0 if BT_BLUEDROID_PINNED_TO_CORE_0
default 1 if BT_BLUEDROID_PINNED_TO_CORE_1
default 0
2019-06-24 21:03:58 -04:00
config BT_BTC_TASK_STACK_SIZE
int "Bluetooth event (callback to application) task stack size"
depends on BT_BLUEDROID_ENABLED
default 3072
help
This select btc task stack size
2019-06-24 21:03:58 -04:00
config BT_BTU_TASK_STACK_SIZE
int "Bluetooth Bluedroid Host Stack task stack size"
depends on BT_BLUEDROID_ENABLED
default 4096
help
2019-06-24 21:03:58 -04:00
This select btu task stack size
2019-06-24 21:03:58 -04:00
config BT_BLUEDROID_MEM_DEBUG
bool "Bluedroid memory debug"
depends on BT_BLUEDROID_ENABLED
default n
help
2019-06-24 21:03:58 -04:00
Bluedroid memory debug
2019-06-24 21:03:58 -04:00
config BT_CLASSIC_ENABLED
bool "Classic Bluetooth"
depends on BT_BLUEDROID_ENABLED
default n
help
For now this option needs "SMP_ENABLE" to be set to yes
2019-06-24 21:03:58 -04:00
config BT_A2DP_ENABLE
bool "A2DP"
depends on BT_CLASSIC_ENABLED
default n
help
Advanced Audio Distrubution Profile
2019-06-24 21:03:58 -04:00
config BT_A2DP_SINK_TASK_STACK_SIZE
int "A2DP sink (audio stream decoding) task stack size"
depends on BT_A2DP_ENABLE
default 2048
2019-06-24 21:03:58 -04:00
config BT_A2DP_SOURCE_TASK_STACK_SIZE
int "A2DP source (audio stream encoding) task stack size"
depends on BT_A2DP_ENABLE
default 2048
2019-06-24 21:03:58 -04:00
config BT_SPP_ENABLED
bool "SPP"
depends on BT_CLASSIC_ENABLED
default n
help
This enables the Serial Port Profile
2019-06-24 21:03:58 -04:00
config BT_HFP_ENABLE
bool "Hands Free/Handset Profile"
depends on BT_CLASSIC_ENABLED
default n
2019-06-24 21:03:58 -04:00
choice BT_HFP_ROLE
prompt "Hands-free Profile Role configuration"
depends on BT_HFP_ENABLE
2019-06-24 21:03:58 -04:00
config BT_HFP_CLIENT_ENABLE
bool "Hands Free Unit"
endchoice
2019-06-24 21:03:58 -04:00
choice BT_HFP_AUDIO_DATA_PATH
prompt "audio(SCO) data path"
depends on BT_HFP_ENABLE
help
2019-06-24 21:03:58 -04:00
SCO data path, i.e. HCI or PCM. This option is set using API
"esp_bredr_sco_datapath_set" in Bluetooth host. Default SCO data
path can also be set in Bluetooth Controller.
2019-06-24 21:03:58 -04:00
config BT_HFP_AUDIO_DATA_PATH_PCM
bool "PCM"
config BT_HFP_AUDIO_DATA_PATH_HCI
bool "HCI"
endchoice
2019-06-24 21:03:58 -04:00
config BT_SSP_ENABLED
bool "Secure Simple Pairing"
depends on BT_CLASSIC_ENABLED
default y
help
2019-06-24 21:03:58 -04:00
This enables the Secure Simple Pairing. If disable this option,
Bluedroid will only support Legacy Pairing
2019-06-24 21:03:58 -04:00
config BT_BLE_ENABLED
bool "Bluetooth Low Energy"
2019-05-02 09:36:06 -04:00
depends on BT_BLUEDROID_ENABLED
2019-06-24 21:03:58 -04:00
default y
help
2019-06-24 21:03:58 -04:00
This enables Bluetooth Low Energy
2019-06-24 21:03:58 -04:00
config BT_GATTS_ENABLE
bool "Include GATT server module(GATTS)"
depends on BT_BLE_ENABLED
default y
help
This option can be disabled when the app work only on gatt client mode
2019-06-24 21:03:58 -04:00
choice BT_GATTS_SEND_SERVICE_CHANGE_MODE
prompt "GATTS Service Change Mode"
default BT_GATTS_SEND_SERVICE_CHANGE_AUTO
depends on BT_GATTS_ENABLE
help
2019-06-24 21:03:58 -04:00
Service change indication mode for GATT Server.
2019-06-24 21:03:58 -04:00
config BT_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 BT_GATTS_SEND_SERVICE_CHANGE_AUTO
bool "GATTS automatically send service change indication"
help
Let Bluedroid handle the service change indication internally
endchoice
2019-06-24 21:03:58 -04:00
config BT_GATTS_SEND_SERVICE_CHANGE_MODE
int
2019-06-24 21:03:58 -04:00
depends on BT_GATTS_ENABLE
default 0 if BT_GATTS_SEND_SERVICE_CHANGE_AUTO
default 1 if BT_GATTS_SEND_SERVICE_CHANGE_MANUAL
default 0
2019-06-24 21:03:58 -04:00
config BT_GATTC_ENABLE
bool "Include GATT client module(GATTC)"
depends on BT_BLE_ENABLED
default y
help
2019-06-24 21:03:58 -04:00
This option can be close when the app work only on gatt server mode
2019-06-24 21:03:58 -04:00
config BT_GATTC_CACHE_NVS_FLASH
bool "Save gattc cache data to nvs flash"
depends on BT_GATTC_ENABLE
default n
help
2019-06-24 21:03:58 -04:00
This select can save gattc cache data to nvs flash
2019-06-24 21:03:58 -04:00
config BT_BLE_SMP_ENABLE
bool "Include BLE security module(SMP)"
depends on BT_BLE_ENABLED
default y
help
This option can be close when the app not used the ble security connect.
2019-06-24 21:03:58 -04:00
config BT_SMP_SLAVE_CON_PARAMS_UPD_ENABLE
bool "Slave enable connection parameters update during pairing"
depends on BT_BLE_SMP_ENABLE
default n
help
2019-06-24 21:03:58 -04:00
In order to reduce the pairing time, slave actively initiates connection parameters
update during pairing.
2019-06-24 21:03:58 -04:00
config BT_STACK_NO_LOG
bool "Disable BT debug logs (minimize bin size)"
2019-05-02 09:36:06 -04:00
depends on BT_BLUEDROID_ENABLED
2019-06-24 21:03:58 -04:00
default n
help
This select can save the rodata code size
2019-06-24 21:03:58 -04:00
menu "BT DEBUG LOG LEVEL"
2019-05-02 09:36:06 -04:00
depends on BT_BLUEDROID_ENABLED && !BT_STACK_NO_LOG
2019-06-24 21:03:58 -04:00
choice BT_LOG_HCI_TRACE_LEVEL
prompt "HCI layer"
default BT_LOG_HCI_TRACE_LEVEL_WARNING
depends on BT_BLUEDROID_ENABLED && !BT_STACK_NO_LOG
help
Define BT trace level for HCI layer
config BT_LOG_HCI_TRACE_LEVEL_NONE
bool "NONE"
config BT_LOG_HCI_TRACE_LEVEL_ERROR
bool "ERROR"
config BT_LOG_HCI_TRACE_LEVEL_WARNING
bool "WARNING"
config BT_LOG_HCI_TRACE_LEVEL_API
bool "API"
config BT_LOG_HCI_TRACE_LEVEL_EVENT
bool "EVENT"
config BT_LOG_HCI_TRACE_LEVEL_DEBUG
bool "DEBUG"
config BT_LOG_HCI_TRACE_LEVEL_VERBOSE
bool "VERBOSE"
endchoice
2019-06-24 21:03:58 -04:00
config BT_LOG_HCI_TRACE_LEVEL
int
depends on BT_BLUEDROID_ENABLED
default 0 if BT_LOG_HCI_TRACE_LEVEL_NONE
default 1 if BT_LOG_HCI_TRACE_LEVEL_ERROR
default 2 if BT_LOG_HCI_TRACE_LEVEL_WARNING
default 3 if BT_LOG_HCI_TRACE_LEVEL_API
default 4 if BT_LOG_HCI_TRACE_LEVEL_EVENT
default 5 if BT_LOG_HCI_TRACE_LEVEL_DEBUG
default 6 if BT_LOG_HCI_TRACE_LEVEL_VERBOSE
default 2
choice BT_LOG_BTM_TRACE_LEVEL
prompt "BTM layer"
default BT_LOG_BTM_TRACE_LEVEL_WARNING
depends on BT_BLUEDROID_ENABLED && !BT_STACK_NO_LOG
help
Define BT trace level for BTM layer
config BT_LOG_BTM_TRACE_LEVEL_NONE
bool "NONE"
config BT_LOG_BTM_TRACE_LEVEL_ERROR
bool "ERROR"
config BT_LOG_BTM_TRACE_LEVEL_WARNING
bool "WARNING"
config BT_LOG_BTM_TRACE_LEVEL_API
bool "API"
config BT_LOG_BTM_TRACE_LEVEL_EVENT
bool "EVENT"
config BT_LOG_BTM_TRACE_LEVEL_DEBUG
bool "DEBUG"
config BT_LOG_BTM_TRACE_LEVEL_VERBOSE
bool "VERBOSE"
endchoice
2019-06-24 21:03:58 -04:00
config BT_LOG_BTM_TRACE_LEVEL
int
depends on BT_BLUEDROID_ENABLED
default 0 if BT_LOG_BTM_TRACE_LEVEL_NONE
default 1 if BT_LOG_BTM_TRACE_LEVEL_ERROR
default 2 if BT_LOG_BTM_TRACE_LEVEL_WARNING
default 3 if BT_LOG_BTM_TRACE_LEVEL_API
default 4 if BT_LOG_BTM_TRACE_LEVEL_EVENT
default 5 if BT_LOG_BTM_TRACE_LEVEL_DEBUG
default 6 if BT_LOG_BTM_TRACE_LEVEL_VERBOSE
default 2
choice BT_LOG_L2CAP_TRACE_LEVEL
prompt "L2CAP layer"
default BT_LOG_L2CAP_TRACE_LEVEL_WARNING
depends on BT_BLUEDROID_ENABLED && !BT_STACK_NO_LOG
help
Define BT trace level for L2CAP layer
config BT_LOG_L2CAP_TRACE_LEVEL_NONE
bool "NONE"
config BT_LOG_L2CAP_TRACE_LEVEL_ERROR
bool "ERROR"
config BT_LOG_L2CAP_TRACE_LEVEL_WARNING
bool "WARNING"
config BT_LOG_L2CAP_TRACE_LEVEL_API
bool "API"
config BT_LOG_L2CAP_TRACE_LEVEL_EVENT
bool "EVENT"
config BT_LOG_L2CAP_TRACE_LEVEL_DEBUG
bool "DEBUG"
config BT_LOG_L2CAP_TRACE_LEVEL_VERBOSE
bool "VERBOSE"
endchoice
2019-06-24 21:03:58 -04:00
config BT_LOG_L2CAP_TRACE_LEVEL
int
depends on BT_BLUEDROID_ENABLED
default 0 if BT_LOG_L2CAP_TRACE_LEVEL_NONE
default 1 if BT_LOG_L2CAP_TRACE_LEVEL_ERROR
default 2 if BT_LOG_L2CAP_TRACE_LEVEL_WARNING
default 3 if BT_LOG_L2CAP_TRACE_LEVEL_API
default 4 if BT_LOG_L2CAP_TRACE_LEVEL_EVENT
default 5 if BT_LOG_L2CAP_TRACE_LEVEL_DEBUG
default 6 if BT_LOG_L2CAP_TRACE_LEVEL_VERBOSE
default 2
choice BT_LOG_RFCOMM_TRACE_LEVEL
prompt "RFCOMM layer"
default BT_LOG_RFCOMM_TRACE_LEVEL_WARNING
depends on BT_BLUEDROID_ENABLED && !BT_STACK_NO_LOG
help
Define BT trace level for RFCOMM layer
config BT_LOG_RFCOMM_TRACE_LEVEL_NONE
bool "NONE"
config BT_LOG_RFCOMM_TRACE_LEVEL_ERROR
bool "ERROR"
config BT_LOG_RFCOMM_TRACE_LEVEL_WARNING
bool "WARNING"
config BT_LOG_RFCOMM_TRACE_LEVEL_API
bool "API"
config BT_LOG_RFCOMM_TRACE_LEVEL_EVENT
bool "EVENT"
config BT_LOG_RFCOMM_TRACE_LEVEL_DEBUG
bool "DEBUG"
config BT_LOG_RFCOMM_TRACE_LEVEL_VERBOSE
bool "VERBOSE"
endchoice
2019-06-24 21:03:58 -04:00
config BT_LOG_RFCOMM_TRACE_LEVEL
int
depends on BT_BLUEDROID_ENABLED
default 0 if BT_LOG_RFCOMM_TRACE_LEVEL_NONE
default 1 if BT_LOG_RFCOMM_TRACE_LEVEL_ERROR
default 2 if BT_LOG_RFCOMM_TRACE_LEVEL_WARNING
default 3 if BT_LOG_RFCOMM_TRACE_LEVEL_API
default 4 if BT_LOG_RFCOMM_TRACE_LEVEL_EVENT
default 5 if BT_LOG_RFCOMM_TRACE_LEVEL_DEBUG
default 6 if BT_LOG_RFCOMM_TRACE_LEVEL_VERBOSE
default 2
choice BT_LOG_SDP_TRACE_LEVEL
prompt "SDP layer"
default BT_LOG_SDP_TRACE_LEVEL_WARNING
depends on BT_BLUEDROID_ENABLED && !BT_STACK_NO_LOG
help
Define BT trace level for SDP layer
config BT_LOG_SDP_TRACE_LEVEL_NONE
bool "NONE"
config BT_LOG_SDP_TRACE_LEVEL_ERROR
bool "ERROR"
config BT_LOG_SDP_TRACE_LEVEL_WARNING
bool "WARNING"
config BT_LOG_SDP_TRACE_LEVEL_API
bool "API"
config BT_LOG_SDP_TRACE_LEVEL_EVENT
bool "EVENT"
config BT_LOG_SDP_TRACE_LEVEL_DEBUG
bool "DEBUG"
config BT_LOG_SDP_TRACE_LEVEL_VERBOSE
bool "VERBOSE"
endchoice
2019-06-24 21:03:58 -04:00
config BT_LOG_SDP_TRACE_LEVEL
int
depends on BT_BLUEDROID_ENABLED
default 0 if BT_LOG_SDP_TRACE_LEVEL_NONE
default 1 if BT_LOG_SDP_TRACE_LEVEL_ERROR
default 2 if BT_LOG_SDP_TRACE_LEVEL_WARNING
default 3 if BT_LOG_SDP_TRACE_LEVEL_API
default 4 if BT_LOG_SDP_TRACE_LEVEL_EVENT
default 5 if BT_LOG_SDP_TRACE_LEVEL_DEBUG
default 6 if BT_LOG_SDP_TRACE_LEVEL_VERBOSE
default 2
choice BT_LOG_GAP_TRACE_LEVEL
prompt "GAP layer"
default BT_LOG_GAP_TRACE_LEVEL_WARNING
depends on BT_BLUEDROID_ENABLED && !BT_STACK_NO_LOG
help
Define BT trace level for GAP layer
config BT_LOG_GAP_TRACE_LEVEL_NONE
bool "NONE"
config BT_LOG_GAP_TRACE_LEVEL_ERROR
bool "ERROR"
config BT_LOG_GAP_TRACE_LEVEL_WARNING
bool "WARNING"
config BT_LOG_GAP_TRACE_LEVEL_API
bool "API"
config BT_LOG_GAP_TRACE_LEVEL_EVENT
bool "EVENT"
config BT_LOG_GAP_TRACE_LEVEL_DEBUG
bool "DEBUG"
config BT_LOG_GAP_TRACE_LEVEL_VERBOSE
bool "VERBOSE"
endchoice
2019-06-24 21:03:58 -04:00
config BT_LOG_GAP_TRACE_LEVEL
int
depends on BT_BLUEDROID_ENABLED
default 0 if BT_LOG_GAP_TRACE_LEVEL_NONE
default 1 if BT_LOG_GAP_TRACE_LEVEL_ERROR
default 2 if BT_LOG_GAP_TRACE_LEVEL_WARNING
default 3 if BT_LOG_GAP_TRACE_LEVEL_API
default 4 if BT_LOG_GAP_TRACE_LEVEL_EVENT
default 5 if BT_LOG_GAP_TRACE_LEVEL_DEBUG
default 6 if BT_LOG_GAP_TRACE_LEVEL_VERBOSE
default 2
choice BT_LOG_BNEP_TRACE_LEVEL
prompt "BNEP layer"
default BT_LOG_BNEP_TRACE_LEVEL_WARNING
depends on BT_BLUEDROID_ENABLED && !BT_STACK_NO_LOG
help
Define BT trace level for BNEP layer
config BT_LOG_BNEP_TRACE_LEVEL_NONE
bool "NONE"
config BT_LOG_BNEP_TRACE_LEVEL_ERROR
bool "ERROR"
config BT_LOG_BNEP_TRACE_LEVEL_WARNING
bool "WARNING"
config BT_LOG_BNEP_TRACE_LEVEL_API
bool "API"
config BT_LOG_BNEP_TRACE_LEVEL_EVENT
bool "EVENT"
config BT_LOG_BNEP_TRACE_LEVEL_DEBUG
bool "DEBUG"
config BT_LOG_BNEP_TRACE_LEVEL_VERBOSE
bool "VERBOSE"
endchoice
2019-06-24 21:03:58 -04:00
config BT_LOG_BNEP_TRACE_LEVEL
int
depends on BT_BLUEDROID_ENABLED
default 0 if BT_LOG_BNEP_TRACE_LEVEL_NONE
default 1 if BT_LOG_BNEP_TRACE_LEVEL_ERROR
default 2 if BT_LOG_BNEP_TRACE_LEVEL_WARNING
default 3 if BT_LOG_BNEP_TRACE_LEVEL_API
default 4 if BT_LOG_BNEP_TRACE_LEVEL_EVENT
default 5 if BT_LOG_BNEP_TRACE_LEVEL_DEBUG
default 6 if BT_LOG_BNEP_TRACE_LEVEL_VERBOSE
default 2
choice BT_LOG_PAN_TRACE_LEVEL
prompt "PAN layer"
default BT_LOG_PAN_TRACE_LEVEL_WARNING
depends on BT_BLUEDROID_ENABLED && !BT_STACK_NO_LOG
help
Define BT trace level for PAN layer
config BT_LOG_PAN_TRACE_LEVEL_NONE
bool "NONE"
config BT_LOG_PAN_TRACE_LEVEL_ERROR
bool "ERROR"
config BT_LOG_PAN_TRACE_LEVEL_WARNING
bool "WARNING"
config BT_LOG_PAN_TRACE_LEVEL_API
bool "API"
config BT_LOG_PAN_TRACE_LEVEL_EVENT
bool "EVENT"
config BT_LOG_PAN_TRACE_LEVEL_DEBUG
bool "DEBUG"
config BT_LOG_PAN_TRACE_LEVEL_VERBOSE
bool "VERBOSE"
endchoice
2019-06-24 21:03:58 -04:00
config BT_LOG_PAN_TRACE_LEVEL
int
depends on BT_BLUEDROID_ENABLED
default 0 if BT_LOG_PAN_TRACE_LEVEL_NONE
default 1 if BT_LOG_PAN_TRACE_LEVEL_ERROR
default 2 if BT_LOG_PAN_TRACE_LEVEL_WARNING
default 3 if BT_LOG_PAN_TRACE_LEVEL_API
default 4 if BT_LOG_PAN_TRACE_LEVEL_EVENT
default 5 if BT_LOG_PAN_TRACE_LEVEL_DEBUG
default 6 if BT_LOG_PAN_TRACE_LEVEL_VERBOSE
default 2
choice BT_LOG_A2D_TRACE_LEVEL
prompt "A2D layer"
default BT_LOG_A2D_TRACE_LEVEL_WARNING
depends on BT_BLUEDROID_ENABLED && !BT_STACK_NO_LOG
help
Define BT trace level for A2D layer
config BT_LOG_A2D_TRACE_LEVEL_NONE
bool "NONE"
config BT_LOG_A2D_TRACE_LEVEL_ERROR
bool "ERROR"
config BT_LOG_A2D_TRACE_LEVEL_WARNING
bool "WARNING"
config BT_LOG_A2D_TRACE_LEVEL_API
bool "API"
config BT_LOG_A2D_TRACE_LEVEL_EVENT
bool "EVENT"
config BT_LOG_A2D_TRACE_LEVEL_DEBUG
bool "DEBUG"
config BT_LOG_A2D_TRACE_LEVEL_VERBOSE
bool "VERBOSE"
endchoice
2019-06-24 21:03:58 -04:00
config BT_LOG_A2D_TRACE_LEVEL
int
depends on BT_BLUEDROID_ENABLED
default 0 if BT_LOG_A2D_TRACE_LEVEL_NONE
default 1 if BT_LOG_A2D_TRACE_LEVEL_ERROR
default 2 if BT_LOG_A2D_TRACE_LEVEL_WARNING
default 3 if BT_LOG_A2D_TRACE_LEVEL_API
default 4 if BT_LOG_A2D_TRACE_LEVEL_EVENT
default 5 if BT_LOG_A2D_TRACE_LEVEL_DEBUG
default 6 if BT_LOG_A2D_TRACE_LEVEL_VERBOSE
default 2
choice BT_LOG_AVDT_TRACE_LEVEL
prompt "AVDT layer"
default BT_LOG_AVDT_TRACE_LEVEL_WARNING
depends on BT_BLUEDROID_ENABLED && !BT_STACK_NO_LOG
help
Define BT trace level for AVDT layer
config BT_LOG_AVDT_TRACE_LEVEL_NONE
bool "NONE"
config BT_LOG_AVDT_TRACE_LEVEL_ERROR
bool "ERROR"
config BT_LOG_AVDT_TRACE_LEVEL_WARNING
bool "WARNING"
config BT_LOG_AVDT_TRACE_LEVEL_API
bool "API"
config BT_LOG_AVDT_TRACE_LEVEL_EVENT
bool "EVENT"
config BT_LOG_AVDT_TRACE_LEVEL_DEBUG
bool "DEBUG"
config BT_LOG_AVDT_TRACE_LEVEL_VERBOSE
bool "VERBOSE"
endchoice
2019-06-24 21:03:58 -04:00
config BT_LOG_AVDT_TRACE_LEVEL
int
depends on BT_BLUEDROID_ENABLED
default 0 if BT_LOG_AVDT_TRACE_LEVEL_NONE
default 1 if BT_LOG_AVDT_TRACE_LEVEL_ERROR
default 2 if BT_LOG_AVDT_TRACE_LEVEL_WARNING
default 3 if BT_LOG_AVDT_TRACE_LEVEL_API
default 4 if BT_LOG_AVDT_TRACE_LEVEL_EVENT
default 5 if BT_LOG_AVDT_TRACE_LEVEL_DEBUG
default 6 if BT_LOG_AVDT_TRACE_LEVEL_VERBOSE
default 2
choice BT_LOG_AVCT_TRACE_LEVEL
prompt "AVCT layer"
default BT_LOG_AVCT_TRACE_LEVEL_WARNING
depends on BT_BLUEDROID_ENABLED && !BT_STACK_NO_LOG
help
Define BT trace level for AVCT layer
config BT_LOG_AVCT_TRACE_LEVEL_NONE
bool "NONE"
config BT_LOG_AVCT_TRACE_LEVEL_ERROR
bool "ERROR"
config BT_LOG_AVCT_TRACE_LEVEL_WARNING
bool "WARNING"
config BT_LOG_AVCT_TRACE_LEVEL_API
bool "API"
config BT_LOG_AVCT_TRACE_LEVEL_EVENT
bool "EVENT"
config BT_LOG_AVCT_TRACE_LEVEL_DEBUG
bool "DEBUG"
config BT_LOG_AVCT_TRACE_LEVEL_VERBOSE
bool "VERBOSE"
endchoice
2019-06-24 21:03:58 -04:00
config BT_LOG_AVCT_TRACE_LEVEL
int
depends on BT_BLUEDROID_ENABLED
default 0 if BT_LOG_AVCT_TRACE_LEVEL_NONE
default 1 if BT_LOG_AVCT_TRACE_LEVEL_ERROR
default 2 if BT_LOG_AVCT_TRACE_LEVEL_WARNING
default 3 if BT_LOG_AVCT_TRACE_LEVEL_API
default 4 if BT_LOG_AVCT_TRACE_LEVEL_EVENT
default 5 if BT_LOG_AVCT_TRACE_LEVEL_DEBUG
default 6 if BT_LOG_AVCT_TRACE_LEVEL_VERBOSE
default 2
choice BT_LOG_AVRC_TRACE_LEVEL
prompt "AVRC layer"
default BT_LOG_AVRC_TRACE_LEVEL_WARNING
depends on BT_BLUEDROID_ENABLED && !BT_STACK_NO_LOG
help
Define BT trace level for AVRC layer
config BT_LOG_AVRC_TRACE_LEVEL_NONE
bool "NONE"
config BT_LOG_AVRC_TRACE_LEVEL_ERROR
bool "ERROR"
config BT_LOG_AVRC_TRACE_LEVEL_WARNING
bool "WARNING"
config BT_LOG_AVRC_TRACE_LEVEL_API
bool "API"
config BT_LOG_AVRC_TRACE_LEVEL_EVENT
bool "EVENT"
config BT_LOG_AVRC_TRACE_LEVEL_DEBUG
bool "DEBUG"
config BT_LOG_AVRC_TRACE_LEVEL_VERBOSE
bool "VERBOSE"
endchoice
2019-06-24 21:03:58 -04:00
config BT_LOG_AVRC_TRACE_LEVEL
int
depends on BT_BLUEDROID_ENABLED
default 0 if BT_LOG_AVRC_TRACE_LEVEL_NONE
default 1 if BT_LOG_AVRC_TRACE_LEVEL_ERROR
default 2 if BT_LOG_AVRC_TRACE_LEVEL_WARNING
default 3 if BT_LOG_AVRC_TRACE_LEVEL_API
default 4 if BT_LOG_AVRC_TRACE_LEVEL_EVENT
default 5 if BT_LOG_AVRC_TRACE_LEVEL_DEBUG
default 6 if BT_LOG_AVRC_TRACE_LEVEL_VERBOSE
default 2
choice BT_LOG_MCA_TRACE_LEVEL
prompt "MCA layer"
default BT_LOG_MCA_TRACE_LEVEL_WARNING
depends on BT_BLUEDROID_ENABLED && !BT_STACK_NO_LOG
help
Define BT trace level for MCA layer
config BT_LOG_MCA_TRACE_LEVEL_NONE
bool "NONE"
config BT_LOG_MCA_TRACE_LEVEL_ERROR
bool "ERROR"
config BT_LOG_MCA_TRACE_LEVEL_WARNING
bool "WARNING"
config BT_LOG_MCA_TRACE_LEVEL_API
bool "API"
config BT_LOG_MCA_TRACE_LEVEL_EVENT
bool "EVENT"
config BT_LOG_MCA_TRACE_LEVEL_DEBUG
bool "DEBUG"
config BT_LOG_MCA_TRACE_LEVEL_VERBOSE
bool "VERBOSE"
endchoice
2019-06-24 21:03:58 -04:00
config BT_LOG_MCA_TRACE_LEVEL
int
depends on BT_BLUEDROID_ENABLED
default 0 if BT_LOG_MCA_TRACE_LEVEL_NONE
default 1 if BT_LOG_MCA_TRACE_LEVEL_ERROR
default 2 if BT_LOG_MCA_TRACE_LEVEL_WARNING
default 3 if BT_LOG_MCA_TRACE_LEVEL_API
default 4 if BT_LOG_MCA_TRACE_LEVEL_EVENT
default 5 if BT_LOG_MCA_TRACE_LEVEL_DEBUG
default 6 if BT_LOG_MCA_TRACE_LEVEL_VERBOSE
default 2
choice BT_LOG_HID_TRACE_LEVEL
prompt "HID layer"
default BT_LOG_HID_TRACE_LEVEL_WARNING
depends on BT_BLUEDROID_ENABLED && !BT_STACK_NO_LOG
help
Define BT trace level for HID layer
config BT_LOG_HID_TRACE_LEVEL_NONE
bool "NONE"
config BT_LOG_HID_TRACE_LEVEL_ERROR
bool "ERROR"
config BT_LOG_HID_TRACE_LEVEL_WARNING
bool "WARNING"
config BT_LOG_HID_TRACE_LEVEL_API
bool "API"
config BT_LOG_HID_TRACE_LEVEL_EVENT
bool "EVENT"
config BT_LOG_HID_TRACE_LEVEL_DEBUG
bool "DEBUG"
config BT_LOG_HID_TRACE_LEVEL_VERBOSE
bool "VERBOSE"
endchoice
2019-06-24 21:03:58 -04:00
config BT_LOG_HID_TRACE_LEVEL
int
depends on BT_BLUEDROID_ENABLED
default 0 if BT_LOG_HID_TRACE_LEVEL_NONE
default 1 if BT_LOG_HID_TRACE_LEVEL_ERROR
default 2 if BT_LOG_HID_TRACE_LEVEL_WARNING
default 3 if BT_LOG_HID_TRACE_LEVEL_API
default 4 if BT_LOG_HID_TRACE_LEVEL_EVENT
default 5 if BT_LOG_HID_TRACE_LEVEL_DEBUG
default 6 if BT_LOG_HID_TRACE_LEVEL_VERBOSE
default 2
choice BT_LOG_APPL_TRACE_LEVEL
prompt "APPL layer"
default BT_LOG_APPL_TRACE_LEVEL_WARNING
depends on BT_BLUEDROID_ENABLED && !BT_STACK_NO_LOG
help
Define BT trace level for APPL layer
config BT_LOG_APPL_TRACE_LEVEL_NONE
bool "NONE"
config BT_LOG_APPL_TRACE_LEVEL_ERROR
bool "ERROR"
config BT_LOG_APPL_TRACE_LEVEL_WARNING
bool "WARNING"
config BT_LOG_APPL_TRACE_LEVEL_API
bool "API"
config BT_LOG_APPL_TRACE_LEVEL_EVENT
bool "EVENT"
config BT_LOG_APPL_TRACE_LEVEL_DEBUG
bool "DEBUG"
config BT_LOG_APPL_TRACE_LEVEL_VERBOSE
bool "VERBOSE"
endchoice
2019-06-24 21:03:58 -04:00
config BT_LOG_APPL_TRACE_LEVEL
int
depends on BT_BLUEDROID_ENABLED
default 0 if BT_LOG_APPL_TRACE_LEVEL_NONE
default 1 if BT_LOG_APPL_TRACE_LEVEL_ERROR
default 2 if BT_LOG_APPL_TRACE_LEVEL_WARNING
default 3 if BT_LOG_APPL_TRACE_LEVEL_API
default 4 if BT_LOG_APPL_TRACE_LEVEL_EVENT
default 5 if BT_LOG_APPL_TRACE_LEVEL_DEBUG
default 6 if BT_LOG_APPL_TRACE_LEVEL_VERBOSE
default 2
choice BT_LOG_GATT_TRACE_LEVEL
prompt "GATT layer"
default BT_LOG_GATT_TRACE_LEVEL_WARNING
depends on BT_BLUEDROID_ENABLED && !BT_STACK_NO_LOG
help
Define BT trace level for GATT layer
config BT_LOG_GATT_TRACE_LEVEL_NONE
bool "NONE"
config BT_LOG_GATT_TRACE_LEVEL_ERROR
bool "ERROR"
config BT_LOG_GATT_TRACE_LEVEL_WARNING
bool "WARNING"
config BT_LOG_GATT_TRACE_LEVEL_API
bool "API"
config BT_LOG_GATT_TRACE_LEVEL_EVENT
bool "EVENT"
config BT_LOG_GATT_TRACE_LEVEL_DEBUG
bool "DEBUG"
config BT_LOG_GATT_TRACE_LEVEL_VERBOSE
bool "VERBOSE"
endchoice
2019-06-24 21:03:58 -04:00
config BT_LOG_GATT_TRACE_LEVEL
int
depends on BT_BLUEDROID_ENABLED
default 0 if BT_LOG_GATT_TRACE_LEVEL_NONE
default 1 if BT_LOG_GATT_TRACE_LEVEL_ERROR
default 2 if BT_LOG_GATT_TRACE_LEVEL_WARNING
default 3 if BT_LOG_GATT_TRACE_LEVEL_API
default 4 if BT_LOG_GATT_TRACE_LEVEL_EVENT
default 5 if BT_LOG_GATT_TRACE_LEVEL_DEBUG
default 6 if BT_LOG_GATT_TRACE_LEVEL_VERBOSE
default 2
choice BT_LOG_SMP_TRACE_LEVEL
prompt "SMP layer"
default BT_LOG_SMP_TRACE_LEVEL_WARNING
depends on BT_BLUEDROID_ENABLED && !BT_STACK_NO_LOG
help
Define BT trace level for SMP layer
config BT_LOG_SMP_TRACE_LEVEL_NONE
bool "NONE"
config BT_LOG_SMP_TRACE_LEVEL_ERROR
bool "ERROR"
config BT_LOG_SMP_TRACE_LEVEL_WARNING
bool "WARNING"
config BT_LOG_SMP_TRACE_LEVEL_API
bool "API"
config BT_LOG_SMP_TRACE_LEVEL_EVENT
bool "EVENT"
config BT_LOG_SMP_TRACE_LEVEL_DEBUG
bool "DEBUG"
config BT_LOG_SMP_TRACE_LEVEL_VERBOSE
bool "VERBOSE"
endchoice
2019-06-24 21:03:58 -04:00
config BT_LOG_SMP_TRACE_LEVEL
int
depends on BT_BLUEDROID_ENABLED
default 0 if BT_LOG_SMP_TRACE_LEVEL_NONE
default 1 if BT_LOG_SMP_TRACE_LEVEL_ERROR
default 2 if BT_LOG_SMP_TRACE_LEVEL_WARNING
default 3 if BT_LOG_SMP_TRACE_LEVEL_API
default 4 if BT_LOG_SMP_TRACE_LEVEL_EVENT
default 5 if BT_LOG_SMP_TRACE_LEVEL_DEBUG
default 6 if BT_LOG_SMP_TRACE_LEVEL_VERBOSE
default 2
choice BT_LOG_BTIF_TRACE_LEVEL
prompt "BTIF layer"
default BT_LOG_BTIF_TRACE_LEVEL_WARNING
depends on BT_BLUEDROID_ENABLED && !BT_STACK_NO_LOG
help
Define BT trace level for BTIF layer
config BT_LOG_BTIF_TRACE_LEVEL_NONE
bool "NONE"
config BT_LOG_BTIF_TRACE_LEVEL_ERROR
bool "ERROR"
config BT_LOG_BTIF_TRACE_LEVEL_WARNING
bool "WARNING"
config BT_LOG_BTIF_TRACE_LEVEL_API
bool "API"
config BT_LOG_BTIF_TRACE_LEVEL_EVENT
bool "EVENT"
config BT_LOG_BTIF_TRACE_LEVEL_DEBUG
bool "DEBUG"
config BT_LOG_BTIF_TRACE_LEVEL_VERBOSE
bool "VERBOSE"
endchoice
2019-06-24 21:03:58 -04:00
config BT_LOG_BTIF_TRACE_LEVEL
int
depends on BT_BLUEDROID_ENABLED
default 0 if BT_LOG_BTIF_TRACE_LEVEL_NONE
default 1 if BT_LOG_BTIF_TRACE_LEVEL_ERROR
default 2 if BT_LOG_BTIF_TRACE_LEVEL_WARNING
default 3 if BT_LOG_BTIF_TRACE_LEVEL_API
default 4 if BT_LOG_BTIF_TRACE_LEVEL_EVENT
default 5 if BT_LOG_BTIF_TRACE_LEVEL_DEBUG
default 6 if BT_LOG_BTIF_TRACE_LEVEL_VERBOSE
default 2
choice BT_LOG_BTC_TRACE_LEVEL
prompt "BTC layer"
default BT_LOG_BTC_TRACE_LEVEL_WARNING
depends on BT_BLUEDROID_ENABLED && !BT_STACK_NO_LOG
help
Define BT trace level for BTC layer
config BT_LOG_BTC_TRACE_LEVEL_NONE
bool "NONE"
config BT_LOG_BTC_TRACE_LEVEL_ERROR
bool "ERROR"
config BT_LOG_BTC_TRACE_LEVEL_WARNING
bool "WARNING"
config BT_LOG_BTC_TRACE_LEVEL_API
bool "API"
config BT_LOG_BTC_TRACE_LEVEL_EVENT
bool "EVENT"
config BT_LOG_BTC_TRACE_LEVEL_DEBUG
bool "DEBUG"
config BT_LOG_BTC_TRACE_LEVEL_VERBOSE
bool "VERBOSE"
endchoice
2019-06-24 21:03:58 -04:00
config BT_LOG_BTC_TRACE_LEVEL
int
depends on BT_BLUEDROID_ENABLED
default 0 if BT_LOG_BTC_TRACE_LEVEL_NONE
default 1 if BT_LOG_BTC_TRACE_LEVEL_ERROR
default 2 if BT_LOG_BTC_TRACE_LEVEL_WARNING
default 3 if BT_LOG_BTC_TRACE_LEVEL_API
default 4 if BT_LOG_BTC_TRACE_LEVEL_EVENT
default 5 if BT_LOG_BTC_TRACE_LEVEL_DEBUG
default 6 if BT_LOG_BTC_TRACE_LEVEL_VERBOSE
default 2
choice BT_LOG_OSI_TRACE_LEVEL
prompt "OSI layer"
default BT_LOG_OSI_TRACE_LEVEL_WARNING
depends on BT_BLUEDROID_ENABLED && !BT_STACK_NO_LOG
help
Define BT trace level for OSI layer
config BT_LOG_OSI_TRACE_LEVEL_NONE
bool "NONE"
config BT_LOG_OSI_TRACE_LEVEL_ERROR
bool "ERROR"
config BT_LOG_OSI_TRACE_LEVEL_WARNING
bool "WARNING"
config BT_LOG_OSI_TRACE_LEVEL_API
bool "API"
config BT_LOG_OSI_TRACE_LEVEL_EVENT
bool "EVENT"
config BT_LOG_OSI_TRACE_LEVEL_DEBUG
bool "DEBUG"
config BT_LOG_OSI_TRACE_LEVEL_VERBOSE
bool "VERBOSE"
endchoice
2019-06-24 21:03:58 -04:00
config BT_LOG_OSI_TRACE_LEVEL
int
depends on BT_BLUEDROID_ENABLED
default 0 if BT_LOG_OSI_TRACE_LEVEL_NONE
default 1 if BT_LOG_OSI_TRACE_LEVEL_ERROR
default 2 if BT_LOG_OSI_TRACE_LEVEL_WARNING
default 3 if BT_LOG_OSI_TRACE_LEVEL_API
default 4 if BT_LOG_OSI_TRACE_LEVEL_EVENT
default 5 if BT_LOG_OSI_TRACE_LEVEL_DEBUG
default 6 if BT_LOG_OSI_TRACE_LEVEL_VERBOSE
default 2
choice BT_LOG_BLUFI_TRACE_LEVEL
prompt "BLUFI layer"
default BT_LOG_BLUFI_TRACE_LEVEL_WARNING
depends on BT_BLUEDROID_ENABLED && !BT_STACK_NO_LOG
help
Define BT trace level for BLUFI layer
config BT_LOG_BLUFI_TRACE_LEVEL_NONE
bool "NONE"
config BT_LOG_BLUFI_TRACE_LEVEL_ERROR
bool "ERROR"
config BT_LOG_BLUFI_TRACE_LEVEL_WARNING
bool "WARNING"
config BT_LOG_BLUFI_TRACE_LEVEL_API
bool "API"
config BT_LOG_BLUFI_TRACE_LEVEL_EVENT
bool "EVENT"
config BT_LOG_BLUFI_TRACE_LEVEL_DEBUG
bool "DEBUG"
config BT_LOG_BLUFI_TRACE_LEVEL_VERBOSE
bool "VERBOSE"
endchoice
2019-06-24 21:03:58 -04:00
config BT_LOG_BLUFI_TRACE_LEVEL
int
depends on BT_BLUEDROID_ENABLED
default 0 if BT_LOG_BLUFI_TRACE_LEVEL_NONE
default 1 if BT_LOG_BLUFI_TRACE_LEVEL_ERROR
default 2 if BT_LOG_BLUFI_TRACE_LEVEL_WARNING
default 3 if BT_LOG_BLUFI_TRACE_LEVEL_API
default 4 if BT_LOG_BLUFI_TRACE_LEVEL_EVENT
default 5 if BT_LOG_BLUFI_TRACE_LEVEL_DEBUG
default 6 if BT_LOG_BLUFI_TRACE_LEVEL_VERBOSE
default 2
2019-06-24 21:03:58 -04:00
endmenu #BT DEBUG LOG LEVEL
config BT_ACL_CONNECTIONS
int "BT/BLE MAX ACL CONNECTIONS(1~7)"
2019-05-02 09:36:06 -04:00
depends on BT_BLUEDROID_ENABLED
2019-06-24 21:03:58 -04:00
range 1 7
default 4
help
Maximum BT/BLE connection count
2019-06-24 21:03:58 -04:00
config BT_ALLOCATION_FROM_SPIRAM_FIRST
bool "BT/BLE will first malloc the memory from the PSRAM"
depends on BT_BLUEDROID_ENABLED
default n
help
2019-06-24 21:03:58 -04:00
This select can save the internal RAM if there have the PSRAM
2019-06-24 21:03:58 -04:00
config BT_BLE_DYNAMIC_ENV_MEMORY
bool "Use dynamic memory allocation in BT/BLE stack"
2019-05-02 09:36:06 -04:00
depends on BT_BLUEDROID_ENABLED
2019-06-24 21:03:58 -04:00
default n
help
This select can make the allocation of memory will become more flexible
2019-06-24 21:03:58 -04:00
config BT_BLE_HOST_QUEUE_CONG_CHECK
bool "BLE queue congestion check"
depends on BT_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.
2019-06-24 21:03:58 -04:00
config BT_SMP_ENABLE
bool
depends on BT_BLUEDROID_ENABLED
default BT_CLASSIC_ENABLED || BT_BLE_SMP_ENABLE
2019-06-24 21:03:58 -04:00
config BT_BLE_ACT_SCAN_REP_ADV_SCAN
bool "Report adv data and scan response individually when BLE active scan"
depends on BT_BLUEDROID_ENABLED && (BTDM_CTRL_MODE_BTDM || BTDM_CTRL_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.
2019-06-24 21:03:58 -04:00
# Memory reserved at start of DRAM for Bluetooth stack
2019-06-24 21:03:58 -04:00
config BT_BLE_ESTAB_LINK_CONN_TOUT
int "Timeout of BLE connection establishment"
depends on BT_BLUEDROID_ENABLED
range 1 60
default 30
help
Bluetooth Connection establishment maximum time, if connection time exceeds this value, the connection
establishment fails, ESP_GATTC_OPEN_EVT or ESP_GATTS_OPEN_EVT is triggered.
2019-06-24 21:03:58 -04:00
config BT_RESERVE_DRAM
hex
default 0xdb5c if BT_ENABLED
default 0
2019-06-24 21:03:58 -04:00
endmenu
2019-06-24 21:03:58 -04:00
menu "NimBLE Options"
visible if BT_NIMBLE_ENABLED
2019-06-24 21:03:58 -04:00
source "$IDF_PATH/components/nimble/Kconfig.in"
endmenu
endmenu
component/ble_mesh: ESP BLE Mesh release 1. BLE Mesh Core * Provisioning: Node Role * Advertising and GATT bearer * Authentication OOB * Provisioning: Provisioner Role * Advertising and GATT bearer * Authentication OOB * Networking * Relay * Segmentation and Reassembly * Key Refresh * IV Update * Proxy Support * Multiple Client Models Run Simultaneously * Support multiple client models send packets to different nodes simultaneously * No blocking between client model and server * NVS Storage * Store Provisioning Data of BLE Mesh Nodes in Flash 2. BLE Mesh Applications * BLE Mesh Node & Provisioner * Node Example * Provisioner Example * Node + Generic OnOff Client Example * Fast Provisioning * Vendor Fast Prov Server Model * Vendor Fast Prov Client Model * Examples * Wi-Fi & BLE Mesh Coexistence * Example * BLE Mesh Console Commands * Example 3. BLE Mesh Models * Foundation Models * Configuration Server Model * Configuration Client Model * Health Server Model * Health Client Model * Generic Client Models * Generic OnOff Client * Generic Level Client * Generic Location Client * Generic Default Transition Timer Client * Generic Power OnOff Client * Generic Power Level Client * Generic Battery Client * Generic Property Client * Generic Server Models * Generic OnOff Server (Example) * Lighting Client Models * Light Lightness Client * Light CTL Client * Light HSL Client * Light xyL Client * Light LC Client * Sensor Client Model * Sensor Client * Time and Scenes Client Models * Time Client * Scene Client * Scheduler Client
2019-01-07 02:16:47 -05:00
menuconfig BLE_MESH
bool "BLE Mesh Support"
2019-06-24 21:03:58 -04:00
depends on BT_BLUEDROID_ENABLED
component/ble_mesh: ESP BLE Mesh release 1. BLE Mesh Core * Provisioning: Node Role * Advertising and GATT bearer * Authentication OOB * Provisioning: Provisioner Role * Advertising and GATT bearer * Authentication OOB * Networking * Relay * Segmentation and Reassembly * Key Refresh * IV Update * Proxy Support * Multiple Client Models Run Simultaneously * Support multiple client models send packets to different nodes simultaneously * No blocking between client model and server * NVS Storage * Store Provisioning Data of BLE Mesh Nodes in Flash 2. BLE Mesh Applications * BLE Mesh Node & Provisioner * Node Example * Provisioner Example * Node + Generic OnOff Client Example * Fast Provisioning * Vendor Fast Prov Server Model * Vendor Fast Prov Client Model * Examples * Wi-Fi & BLE Mesh Coexistence * Example * BLE Mesh Console Commands * Example 3. BLE Mesh Models * Foundation Models * Configuration Server Model * Configuration Client Model * Health Server Model * Health Client Model * Generic Client Models * Generic OnOff Client * Generic Level Client * Generic Location Client * Generic Default Transition Timer Client * Generic Power OnOff Client * Generic Power Level Client * Generic Battery Client * Generic Property Client * Generic Server Models * Generic OnOff Server (Example) * Lighting Client Models * Light Lightness Client * Light CTL Client * Light HSL Client * Light xyL Client * Light LC Client * Sensor Client Model * Sensor Client * Time and Scenes Client Models * Time Client * Scene Client * Scheduler Client
2019-01-07 02:16:47 -05:00
help
This option enables 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.
if BLE_MESH
config BLE_MESH_HCI_5_0
bool "Support sending 20ms non-connectable adv packets"
default y
help
It is a temporary solution and needs further modifications.
config BLE_MESH_USE_DUPLICATE_SCAN
bool "Support Duplicate Scan in BLE Mesh"
select BLE_SCAN_DUPLICATE
select BLE_MESH_SCAN_DUPLICATE_EN
default y
help
Enable this option to allow using specific duplicate scan filter
in BLE Mesh, and Scan Duplicate Type must be set to 0x02.
config BLE_MESH_FAST_PROV
bool "Enable BLE Mesh Fast Provisioning"
select BLE_MESH_NODE
select BLE_MESH_PROVISIONER
select BLE_MESH_PB_ADV
default n
help
Enable this option to allow BLE Mesh fast provisioning solution to be used.
config BLE_MESH_NODE
bool "Support for BLE Mesh Node"
help
Enable the device to be provisioned into a node.
config BLE_MESH_PROVISIONER
bool "Support for BLE Mesh Provisioner"
help
Enable the device to be a provisioner.
if BLE_MESH_PROVISIONER
config BLE_MESH_WAIT_FOR_PROV_MAX_DEV_NUM
int "Maximum number of unprovisioned devices that can be added to device queue"
default 20
range 1 100
help
This option specifies how may unprovisioned devices can be added to device
queue for provisioning.
config BLE_MESH_MAX_STORED_NODES
int "Maximum number of nodes whose information can be stored"
default 20
range 1 1000
help
This option specifies the maximum number of nodes whose information can be
stored by a provisioner in its upper layer.
config BLE_MESH_MAX_PROV_NODES
int "Maximum number of devices that can be provisioned by provisioner"
default 20
range 1 100
help
This option specifies how many devices can be provisioned by provisioner.
if BLE_MESH_PB_ADV
config BLE_MESH_PBA_SAME_TIME
int "Maximum number of PB-ADV running at the same time by provisioner"
default 2
range 1 10
help
This option specifies how many devices can be provisioned at the same
time using PB-ADV.
endif # BLE_MESH_PB_ADV
if BLE_MESH_PB_GATT
config BLE_MESH_PBG_SAME_TIME
int "Maximum number of PB-GATT running at the same time by provisioner"
default 1
range 1 5
help
This option specifies how many devices can be provisioned at the same
time using PB-GATT.
endif # BLE_MESH_PB_GATT
config BLE_MESH_PROVISIONER_SUBNET_COUNT
int "Maximum number of mesh subnets that can be created by provisioner"
default 3
range 1 4096
help
This option specifies how many subnets per network a provisioner can create.
config BLE_MESH_PROVISIONER_APP_KEY_COUNT
int "Maximum number of application keys that can be owned by provisioner"
default 9
range 1 4096
help
This option specifies how many application keys the provisioner can have.
endif # BLE_MESH_PROVISIONER
# Virtual option enabled whenever Generic Provisioning layer is needed
config BLE_MESH_PROV
bool "BLE Mesh Provisioning support"
default y
help
Enable this option to support BLE Mesh Provisioning functionality. For
BLE Mesh, this option should be always enabled.
config BLE_MESH_PB_ADV
bool "Provisioning support using the advertising bearer (PB-ADV)"
select BLE_MESH_PROV
default y
help
Enable this option to allow the device to be provisioned over the
advertising bearer.
config BLE_MESH_PB_GATT
bool "Provisioning support using GATT (PB-GATT)"
select BLE_MESH_PROXY
select BLE_MESH_PROV
help
Enable this option to allow the device to be provisioned over GATT.
# Virtual option enabled whenever any Proxy protocol is needed
config BLE_MESH_PROXY
bool "BLE Mesh Proxy protocol support"
default y
help
Enable this option to support BLE Mesh Proxy protocol used by PB-GATT
and other proxy pdu transmission.
config BLE_MESH_GATT_PROXY
bool "BLE Mesh GATT Proxy Service"
select BLE_MESH_PROXY
help
This option enables support for Mesh GATT Proxy Service, i.e. the
ability to act as a proxy between a Mesh GATT Client and a Mesh network.
config BLE_MESH_NODE_ID_TIMEOUT
int "Node Identity advertising timeout"
depends on BLE_MESH_GATT_PROXY
range 1 60
default 60
help
This option determines for how long the local node advertises using
Node Identity. The given value is in seconds. The specification limits
this to 60 seconds and lists it as the recommended value as well.
So leaving the default value is the safest option.
if BLE_MESH_PROXY
config BLE_MESH_PROXY_FILTER_SIZE
int "Maximum number of filter entries per Proxy Client"
default 1
default 3 if BLE_MESH_GATT_PROXY
range 1 32767
help
This option specifies how many Proxy Filter entries the local node supports.
endif # BLE_MESH_PROXY
config BLE_MESH_NET_BUF_POOL_USAGE
bool "BLE Mesh net buffer pool usage tracking"
default y
help
Enable BLE Mesh net buffer pool tracking.
config BLE_MESH_SETTINGS
bool "Store BLE Mesh Node configuration persistently"
default n
help
When selected, the BLE Mesh stack will take care of storing/restoring the
BLE Mesh configuration persistently in flash. Currently this only supports
storing BLE Mesh node configuration.
if BLE_MESH_SETTINGS
config BLE_MESH_STORE_TIMEOUT
int "Delay (in seconds) before storing anything persistently"
range 0 1000000
default 0
help
This value defines in seconds how soon any pending changes are actually
written into persistent storage (flash) after a change occurs.
config BLE_MESH_SEQ_STORE_RATE
int "How often the sequence number gets updated in storage"
range 0 1000000
default 128
help
This value defines how often the local sequence number gets updated in
persistent storage (i.e. flash). e.g. a value of 100 means that the
sequence number will be stored to flash on every 100th increment.
If the node sends messages very frequently a higher value makes more
sense, whereas if the node sends infrequently a value as low as 0
(update storage for every increment) can make sense. When the stack
gets initialized it will add sequence number to the last stored one,
so that it starts off with a value that's guaranteed to be larger than
the last one used before power off.
config BLE_MESH_RPL_STORE_TIMEOUT
int "Minimum frequency that the RPL gets updated in storage"
range 0 1000000
default 5
help
This value defines in seconds how soon the RPL(Replay Protection List)
gets written to persistent storage after a change occurs. If the node
receives messages frequently, then a large value is recommended. If the
node receives messages rarely, then the value can be as low as 0 (which
means the PRL is written into the storage immediately).
Note that if the node operates in a security-sensitive case, and there is
a risk of sudden power-off, then a value of 0 is strongly recommended.
Otherwise, a power loss before RPL being written into the storage may
introduce message replay attacks and system security will be in a
vulnerable state.
endif # if BLE_MESH_SETTINGS
config BLE_MESH_SUBNET_COUNT
int "Maximum number of mesh subnets per network"
default 3
range 1 4096
help
This option specifies how many subnets a Mesh network can have at the same time.
config BLE_MESH_APP_KEY_COUNT
int "Maximum number of application keys per network"
default 3
range 1 4096
help
This option specifies how many application keys the device can store per network.
config BLE_MESH_MODEL_KEY_COUNT
int "Maximum number of application keys per model"
default 3
range 1 4096
help
This option specifies the maximum number of application keys to which each model
can be bound.
config BLE_MESH_MODEL_GROUP_COUNT
int "Maximum number of group address subscriptions per model"
default 3
range 1 4096
help
This option specifies the maximum number of addresses to which each model can
be subscribed.
config BLE_MESH_LABEL_COUNT
int "Maximum number of Label UUIDs used for Virtual Addresses"
default 3
range 0 4096
help
This option specifies how many Label UUIDs can be stored.
config BLE_MESH_CRPL
int "Maximum capacity of the replay protection list"
default 10
range 2 65535
help
This option specifies the maximum capacity of the replay protection list.
It is similar to Network message cache size, but has a different purpose.
config BLE_MESH_MSG_CACHE_SIZE
int "Network message cache size"
default 10
range 2 65535
help
Number of messages that are cached for the network. This helps prevent
unnecessary decryption operations and unnecessary relays. This option
is similar to Replay protection list, but has a different purpose.
config BLE_MESH_ADV_BUF_COUNT
int "Number of advertising buffers"
default 60
range 6 256
help
Number of advertising buffers available. The transport layer reserves
ADV_BUF_COUNT - 3 buffers for outgoing segments. The maximum outgoing
SDU size is 12 times this value (out of which 4 or 8 bytes are used
for the Transport Layer MIC). For example, 5 segments means the maximum
SDU size is 60 bytes, which leaves 56 bytes for application layer data
using a 4-byte MIC, or 52 bytes using an 8-byte MIC.
config BLE_MESH_IVU_DIVIDER
int "Divider for IV Update state refresh timer"
default 4
range 2 96
help
When the IV Update state enters Normal operation or IV Update
in Progress, we need to keep track of how many hours has passed
in the state, since the specification requires us to remain in
the state at least for 96 hours (Update in Progress has an
additional upper limit of 144 hours).
In order to fulfill the above requirement, even if the node might
be powered off once in a while, we need to store persistently
how many hours the node has been in the state. This doesn't
necessarily need to happen every hour (thanks to the flexible
duration range). The exact cadence will depend a lot on the
ways that the node will be used and what kind of power source it
has.
Since there is no single optimal answer, this configuration
option allows specifying a divider, i.e. how many intervals
the 96 hour minimum gets split into. After each interval the
duration that the node has been in the current state gets
stored to flash. E.g. the default value of 4 means that the
state is saved every 24 hours (96 / 4).
config BLE_MESH_TX_SEG_MSG_COUNT
int "Maximum number of simultaneous outgoing segmented messages"
default 1
range 1 BLE_MESH_ADV_BUF_COUNT
help
Maximum number of simultaneous outgoing multi-segment and/or reliable messages.
config BLE_MESH_RX_SEG_MSG_COUNT
int "Maximum number of simultaneous incoming segmented messages"
default 1
range 1 255
help
Maximum number of simultaneous incoming multi-segment and/or reliable messages.
config BLE_MESH_RX_SDU_MAX
int "Maximum incoming Upper Transport Access PDU length"
default 384
range 36 384
help
Maximum incoming Upper Transport Access PDU length. Leave this to the default
value, unless you really need to optimize memory usage.
config BLE_MESH_TX_SEG_MAX
int "Maximum number of segments in outgoing messages"
default 20
range 2 32
help
Maximum number of segments supported for outgoing messages.
This value should typically be fine-tuned based on what
models the local node supports, i.e. what's the largest
message payload that the node needs to be able to send.
This value affects memory and call stack consumption, which
is why the default is lower than the maximum that the
specification would allow (32 segments).
The maximum outgoing SDU size is 12 times this number (out of
which 4 or 8 bytes is used for the Transport Layer MIC). For
example, 5 segments means the maximum SDU size is 60 bytes,
which leaves 56 bytes for application layer data using a
4-byte MIC and 52 bytes using an 8-byte MIC.
Be sure to specify a sufficient number of advertising buffers
when setting this option to a higher value. There must be at
least three more advertising buffers (BLE_MESH_ADV_BUF_COUNT)
as there are outgoing segments.
config BLE_MESH_RELAY
bool "Relay support"
help
Support for acting as a Mesh Relay Node.
config BLE_MESH_LOW_POWER
bool "Support for Low Power features"
help
Enable this option to operate as a Low Power Node.
if BLE_MESH_LOW_POWER
config BLE_MESH_LPN_ESTABLISHMENT
bool "Perform Friendship establishment using low power"
default y
help
Perform the Friendship establishment using low power with the help of a
reduced scan duty cycle. The downside of this is that the node may miss
out on messages intended for it until it has successfully set up Friendship
with a Friend node.
config BLE_MESH_LPN_AUTO
bool "Automatically start looking for Friend nodes once provisioned"
default y
help
Once provisioned, automatically enable LPN functionality and start looking
for Friend nodes. If this option is disabled LPN mode needs to be manually
enabled by calling bt_mesh_lpn_set(true).
config BLE_MESH_LPN_AUTO_TIMEOUT
int "Time from last received message before going to LPN mode"
default 15
range 0 3600
depends on BLE_MESH_LPN_AUTO
help
Time in seconds from the last received message, that the node waits out
before starting to look for Friend nodes.
config BLE_MESH_LPN_RETRY_TIMEOUT
int "Retry timeout for Friend requests"
default 8
range 1 3600
help
Time in seconds between Friend Requests, if a previous Friend Request did
not yield any acceptable Friend Offers.
config BLE_MESH_LPN_RSSI_FACTOR
int "RSSIFactor, used in Friend Offer Delay calculation"
range 0 3
default 0
help
The contribution of the RSSI, measured by the Friend node, used in Friend
Offer Delay calculations. 0 = 1, 1 = 1.5, 2 = 2, 3 = 2.5.
config BLE_MESH_LPN_RECV_WIN_FACTOR
int "ReceiveWindowFactor, used in Friend Offer Delay calculation"
range 0 3
default 0
help
The contribution of the supported Receive Window used in Friend Offer
Delay calculations. 0 = 1, 1 = 1.5, 2 = 2, 3 = 2.5.
config BLE_MESH_LPN_MIN_QUEUE_SIZE
int "Minimum size of the acceptable friend queue (MinQueueSizeLog)"
range 1 7
default 1
help
The MinQueueSizeLog field is defined as log_2(N), where N is the minimum
number of maximum size Lower Transport PDUs that the Friend node can store
in its Friend Queue. As an example, MinQueueSizeLog value 1 gives N = 2,
and value 7 gives N = 128.
config BLE_MESH_LPN_RECV_DELAY
int "Receive delay requested by the local node"
range 10 255
default 100
help
The ReceiveDelay is the time between the Low Power node sending a
request and listening for a response. This delay allows the Friend
node time to prepare the response. The value is in units of milliseconds.
config BLE_MESH_LPN_POLL_TIMEOUT
int "The value of the PollTimeout timer"
range 10 244735
default 300
help
PollTimeout timer is used to measure time between two consecutive
requests sent by a Low Power node. If no requests are received
the Friend node before the PollTimeout timer expires, then the
friendship is considered terminated. The value is in units of 100
milliseconds, so e.g. a value of 300 means 30 seconds.
config BLE_MESH_LPN_INIT_POLL_TIMEOUT
int "The starting value of the PollTimeout timer"
range 10 BLE_MESH_LPN_POLL_TIMEOUT
default BLE_MESH_LPN_POLL_TIMEOUT
help
The initial value of the PollTimeout timer when Friendship is to be
established for the first time. After this, the timeout gradually
grows toward the actual PollTimeout, doubling in value for each iteration.
The value is in units of 100 milliseconds, so e.g. a value of 300 means
30 seconds.
config BLE_MESH_LPN_SCAN_LATENCY
int "Latency for enabling scanning"
range 0 50
default 10
help
Latency (in milliseconds) is the time it takes to enable scanning. In
practice, it means how much time in advance of the Receive Window, the
request to enable scanning is made.
config BLE_MESH_LPN_GROUPS
int "Number of groups the LPN can subscribe to"
range 0 16384
default 8
help
Maximum number of groups to which the LPN can subscribe.
endif # BLE_MESH_LOW_POWER
config BLE_MESH_FRIEND
bool "Support for acting as a Friend Node"
help
Enable this option to be able to act as a Friend Node.
if BLE_MESH_FRIEND
config BLE_MESH_FRIEND_RECV_WIN
int "Friend Receive Window"
range 1 255
default 255
help
Receive Window in milliseconds supported by the Friend node.
config BLE_MESH_FRIEND_QUEUE_SIZE
int "Minimum number of buffers supported per Friend Queue"
range 2 65536
default 16
help
Minimum number of buffers available to be stored for each local Friend Queue.
config BLE_MESH_FRIEND_SUB_LIST_SIZE
int "Friend Subscription List Size"
range 0 1023
default 3
help
Size of the Subscription List that can be supported by a Friend node for a
Low Power node.
config BLE_MESH_FRIEND_LPN_COUNT
int "Number of supported LPN nodes"
range 1 1000
default 2
help
Number of Low Power Nodes with which a Friend can have Friendship simultaneously.
config BLE_MESH_FRIEND_SEG_RX
int "Number of incomplete segment lists per LPN"
range 1 1000
default 1
help
Number of incomplete segment lists tracked for each Friends' LPN.
In other words, this determines from how many elements can segmented
messages destined for the Friend queue be received simultaneously.
endif # BLE_MESH_FRIEND
config BLE_MESH_NO_LOG
bool "Disable BLE Mesh debug logs (minimize bin size)"
depends on BLE_MESH
default n
help
Select this to save the BLE Mesh related rodata code size.
menu "BLE Mesh STACK DEBUG LOG LEVEL"
depends on BLE_MESH && !BLE_MESH_NO_LOG
choice BLE_MESH_STACK_TRACE_LEVEL
prompt "BLE_MESH_STACK"
default BLE_MESH_TRACE_LEVEL_WARNING
depends on BLE_MESH && !BLE_MESH_NO_LOG
help
Define BLE Mesh trace level for BLE Mesh stack.
config BLE_MESH_TRACE_LEVEL_NONE
bool "NONE"
config BLE_MESH_TRACE_LEVEL_ERROR
bool "ERROR"
config BLE_MESH_TRACE_LEVEL_WARNING
bool "WARNING"
config BLE_MESH_TRACE_LEVEL_INFO
bool "INFO"
config BLE_MESH_TRACE_LEVEL_DEBUG
bool "DEBUG"
config BLE_MESH_TRACE_LEVEL_VERBOSE
bool "VERBOSE"
endchoice
config BLE_MESH_STACK_TRACE_LEVEL
int
depends on BLE_MESH
default 0 if BLE_MESH_TRACE_LEVEL_NONE
default 1 if BLE_MESH_TRACE_LEVEL_ERROR
default 2 if BLE_MESH_TRACE_LEVEL_WARNING
default 3 if BLE_MESH_TRACE_LEVEL_INFO
default 4 if BLE_MESH_TRACE_LEVEL_DEBUG
default 5 if BLE_MESH_TRACE_LEVEL_VERBOSE
default 2
endmenu #BLE Mesh DEBUG LOG LEVEL
menu "BLE Mesh NET BUF DEBUG LOG LEVEL"
depends on BLE_MESH && !BLE_MESH_NO_LOG
choice BLE_MESH_NET_BUF_TRACE_LEVEL
prompt "BLE_MESH_NET_BUF"
default BLE_MESH_NET_BUF_TRACE_LEVEL_WARNING
depends on BLE_MESH && !BLE_MESH_NO_LOG
help
Define BLE Mesh trace level for BLE Mesh net buffer.
config BLE_MESH_NET_BUF_TRACE_LEVEL_NONE
bool "NONE"
config BLE_MESH_NET_BUF_TRACE_LEVEL_ERROR
bool "ERROR"
config BLE_MESH_NET_BUF_TRACE_LEVEL_WARNING
bool "WARNING"
config BLE_MESH_NET_BUF_TRACE_LEVEL_INFO
bool "INFO"
config BLE_MESH_NET_BUF_TRACE_LEVEL_DEBUG
bool "DEBUG"
config BLE_MESH_NET_BUF_TRACE_LEVEL_VERBOSE
bool "VERBOSE"
endchoice
config BLE_MESH_NET_BUF_TRACE_LEVEL
int
depends on BLE_MESH
default 0 if BLE_MESH_NET_BUF_TRACE_LEVEL_NONE
default 1 if BLE_MESH_NET_BUF_TRACE_LEVEL_ERROR
default 2 if BLE_MESH_NET_BUF_TRACE_LEVEL_WARNING
default 3 if BLE_MESH_NET_BUF_TRACE_LEVEL_INFO
default 4 if BLE_MESH_NET_BUF_TRACE_LEVEL_DEBUG
default 5 if BLE_MESH_NET_BUF_TRACE_LEVEL_VERBOSE
default 2
endmenu #BLE Mesh NET BUF DEBUG LOG LEVEL
config BLE_MESH_IRQ_LOCK
bool "Used the IRQ lock instead of task lock"
help
To improve the real-time requirements of bt controller in BLE Mesh,
task lock is used to replace IRQ lock.
config BLE_MESH_CLIENT_MSG_TIMEOUT
int "Timeout(ms) for client message response"
range 100 1200000
default 4000
help
Timeout value used by the node to get response of the acknowledged
message which is sent by the client model.
menu "Support for BLE Mesh Client Models"
config BLE_MESH_CFG_CLI
bool "Configuration Client Model"
help
Enable support for Configuration client model.
config BLE_MESH_HEALTH_CLI
bool "Health Client Model"
help
Enable support for Health client model.
config BLE_MESH_GENERIC_ONOFF_CLI
bool "Generic OnOff Client Model"
help
Enable support for Generic OnOff client model.
config BLE_MESH_GENERIC_LEVEL_CLI
bool "Generic Level Client Model"
help
Enable support for Generic Level client model.
config BLE_MESH_GENERIC_DEF_TRANS_TIME_CLI
bool "Generic Default Transition Time Client Model"
help
Enable support for Generic Default Transition Time client model.
config BLE_MESH_GENERIC_POWER_ONOFF_CLI
bool "Generic Power Onoff Client Model"
help
Enable support for Generic Power Onoff client model.
config BLE_MESH_GENERIC_POWER_LEVEL_CLI
bool "Generic Power Level Client Model"
help
Enable support for Generic Power Level client model.
config BLE_MESH_GENERIC_BATTERY_CLI
bool "Generic Battery Client Model"
help
Enable support for Generic Battery client model.
config BLE_MESH_GENERIC_LOCATION_CLI
bool "Generic Location Client Model"
help
Enable support for Generic Location client model.
config BLE_MESH_GENERIC_PROPERTY_CLI
bool "Generic Property Client Model"
help
Enable support for Generic Property client model.
config BLE_MESH_SENSOR_CLI
bool "Sensor Client Model"
help
Enable support for Sensor client model.
config BLE_MESH_TIME_CLI
bool "Time Client Model"
help
Enable support for Time client model.
config BLE_MESH_SCENE_CLI
bool "Scene Client Model"
help
Enable support for Scene client model.
config BLE_MESH_SCHEDULER_CLI
bool "Scheduler Client Model"
help
Enable support for Scheduler client model.
config BLE_MESH_LIGHT_LIGHTNESS_CLI
bool "Light Lightness Client Model"
help
Enable support for Light Lightness client model.
config BLE_MESH_LIGHT_CTL_CLI
bool "Light CTL Client Model"
help
Enable support for Light CTL client model.
config BLE_MESH_LIGHT_HSL_CLI
bool "Light HSL Client Model"
help
Enable support for Light HSL client model.
config BLE_MESH_LIGHT_XYL_CLI
bool "Light XYL Client Model"
help
Enable support for Light XYL client model.
config BLE_MESH_LIGHT_LC_CLI
bool "Light LC Client Model"
help
Enable support for Light LC client model.
endmenu
config BLE_MESH_IV_UPDATE_TEST
bool "Test the IV Update Procedure"
default n
help
This option removes the 96 hour limit of the IV Update Procedure and
lets the state to be changed at any time.
menu "BLE Mesh specific test option"
config BLE_MESH_SELF_TEST
bool "Perform BLE Mesh self-tests"
default n
help
This option adds extra self-tests which are run every time BLE Mesh
networking is initialized.
config BLE_MESH_SHELL
bool "Enable BLE Mesh shell"
default n
help
Activate shell module that provides BLE Mesh commands to the console.
config BLE_MESH_DEBUG
bool "Enable BLE Mesh debug logs"
default n
help
Enable debug logs for the BLE Mesh functionality.
if BLE_MESH_DEBUG
config BLE_MESH_DEBUG_NET
bool "Network layer debug"
help
Enable Network layer debug logs for the BLE Mesh functionality.
config BLE_MESH_DEBUG_TRANS
bool "Transport layer debug"
help
Enable Transport layer debug logs for the BLE Mesh functionality.
config BLE_MESH_DEBUG_BEACON
bool "Beacon debug"
help
Enable Beacon-related debug logs for the BLE Mesh functionality.
config BLE_MESH_DEBUG_CRYPTO
bool "Crypto debug"
help
Enable cryptographic debug logs for the BLE Mesh functionality.
config BLE_MESH_DEBUG_PROV
bool "Provisioning debug"
help
Enable Provisioning debug logs for the BLE Mesh functionality.
config BLE_MESH_DEBUG_ACCESS
bool "Access layer debug"
help
Enable Access layer debug logs for the BLE Mesh functionality.
config BLE_MESH_DEBUG_MODEL
bool "Foundation model debug"
help
Enable Foundation Models debug logs for the BLE Mesh functionality.
config BLE_MESH_DEBUG_ADV
bool "Advertising debug"
help
Enable advertising debug logs for the BLE Mesh functionality.
config BLE_MESH_DEBUG_LOW_POWER
bool "Low Power debug"
help
Enable Low Power debug logs for the BLE Mesh functionality.
config BLE_MESH_DEBUG_FRIEND
bool "Friend debug"
help
Enable Friend debug logs for the BLE Mesh functionality.
config BLE_MESH_DEBUG_PROXY
bool "Proxy debug"
depends on BLE_MESH_PROXY
help
Enable Proxy protocol debug logs for the BLE Mesh functionality.
endif # BLE_MESH_DEBUG
endmenu
endif # BLE_MESH