mirror of
https://github.com/espressif/esp-idf.git
synced 2024-10-05 20:47:46 -04:00
53a0b3f951
ble_mesh: Support BLE advertising simultaneously (v3.3) See merge request espressif/esp-idf!8486
2700 lines
102 KiB
Plaintext
2700 lines
102 KiB
Plaintext
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.
|
|
|
|
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
|
|
|
|
config BTDM_CTRL_AUTO_LATENCY
|
|
bool "Auto latency"
|
|
depends on BTDM_CONTROLLER_MODE_BTDM
|
|
default n
|
|
help
|
|
BLE auto latency, used to enhance classic BT performance
|
|
while classic BT and BLE are enabled at the same time.
|
|
|
|
config BTDM_CTRL_AUTO_LATENCY_EFF
|
|
bool
|
|
default BTDM_CTRL_AUTO_LATENCY if BTDM_CONTROLLER_MODE_BTDM
|
|
default n
|
|
|
|
|
|
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 # NOERROR
|
|
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 # NOERROR
|
|
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 BTDM_CONTROLLER_FULL_SCAN_SUPPORTED
|
|
bool "BLE full scan feature supported"
|
|
depends on BTDM_CONTROLLER_MODE_BLE_ONLY || BTDM_CONTROLLER_MODE_BTDM
|
|
default y
|
|
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.
|
|
|
|
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.
|
|
|
|
menuconfig BTDM_COEX_BT_OPTIONS
|
|
bool "Coexistence Bluetooth Side Options"
|
|
depends on SW_COEXIST_ENABLE
|
|
default n
|
|
help
|
|
Options of Bluetooth Side of WiFi and bluetooth coexistence.
|
|
|
|
config BTDM_COEX_BLE_ADV_HIGH_PRIORITY
|
|
bool "Improve BLE ADV priority for WiFi & BLE coexistence"
|
|
depends on BTDM_COEX_BT_OPTIONS
|
|
default n
|
|
help
|
|
Improve BLE ADV coexistence priority to make it better performance.
|
|
For example, BLE mesh need to enable this option to improve BLE adv performance.
|
|
|
|
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 BTU_TASK_STACK_SIZE
|
|
int "Bluetooth Bluedroid Host Stack task stack size"
|
|
depends on BLUEDROID_ENABLED
|
|
default 4096
|
|
help
|
|
This select btu 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
|
|
help
|
|
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.
|
|
|
|
config HFP_AUDIO_DATA_PATH_PCM
|
|
bool "PCM"
|
|
config HFP_AUDIO_DATA_PATH_HCI
|
|
bool "HCI"
|
|
endchoice
|
|
|
|
config BT_SSP_ENABLED
|
|
bool "Secure Simple Pairing"
|
|
depends on CLASSIC_BT_ENABLED
|
|
default y
|
|
help
|
|
This enables the Secure Simple Pairing. If disable this option, Bluedroid will only support Legacy Pairing
|
|
|
|
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 SMP_SLAVE_CON_PARAMS_UPD_ENABLE
|
|
bool "Slave enable connection parameters update during pairing"
|
|
depends on BLE_SMP_ENABLE
|
|
default n
|
|
help
|
|
In order to reduce the pairing time, slave actively initiates connection parameters update during pairing.
|
|
|
|
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 BLE_ESTABLISH_LINK_CONNECTION_TIMEOUT
|
|
int "Timeout of BLE connection establishment"
|
|
depends on 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.
|
|
|
|
config BT_RESERVE_DRAM
|
|
hex
|
|
default 0xdb5c if BT_ENABLED
|
|
default 0
|
|
|
|
|
|
menuconfig NIMBLE_ENABLED
|
|
bool "Enable NimBLE host stack"
|
|
depends on BTDM_CONTROLLER_HCI_MODE_VHCI && !BLUEDROID_ENABLED
|
|
default n
|
|
help
|
|
This enables NimBLE host stack
|
|
|
|
choice NIMBLE_MEM_ALLOC_MODE
|
|
prompt "Memory allocation strategy"
|
|
default NIMBLE_MEM_ALLOC_MODE_INTERNAL
|
|
depends on NIMBLE_ENABLED
|
|
help
|
|
Allocation strategy for NimBLE host stack, essentially provides ability to
|
|
allocate all required dynamic allocations from,
|
|
|
|
- Internal DRAM memory only
|
|
- External SPIRAM memory only
|
|
- Either internal or external memory based on default malloc()
|
|
behavior in ESP-IDF
|
|
|
|
Recommended mode here is always internal, since that is most preferred
|
|
from security perspective. But if application requirement does not
|
|
allow sufficient free internal memory then alternate mode can be
|
|
selected.
|
|
|
|
config NIMBLE_MEM_ALLOC_MODE_INTERNAL
|
|
bool "Internal memory"
|
|
|
|
config NIMBLE_MEM_ALLOC_MODE_EXTERNAL
|
|
bool "External SPIRAM"
|
|
depends on ESP32_SPIRAM_SUPPORT
|
|
|
|
config NIMBLE_MEM_ALLOC_MODE_DEFAULT
|
|
bool "Default alloc mode"
|
|
|
|
endchoice
|
|
|
|
config NIMBLE_MAX_CONNECTIONS
|
|
int "Maximum number of concurrent connections"
|
|
range 1 9
|
|
default BTDM_CONTROLLER_BLE_MAX_CONN
|
|
depends on NIMBLE_ENABLED
|
|
help
|
|
Defines maximum number of concurrent BLE connections
|
|
|
|
config NIMBLE_MAX_BONDS
|
|
int "Maximum number of bonds to save across reboots"
|
|
default 3
|
|
depends on NIMBLE_ENABLED
|
|
help
|
|
Defines maximum number of bonds to save for peer security and our security
|
|
|
|
config NIMBLE_MAX_CCCDS
|
|
int "Maximum number of CCC descriptors to save across reboots"
|
|
default 8
|
|
depends on NIMBLE_ENABLED
|
|
help
|
|
Defines maximum number of CCC descriptors to save
|
|
|
|
config NIMBLE_L2CAP_COC_MAX_NUM
|
|
int "Maximum number of connection oriented channels"
|
|
range 0 9
|
|
depends on NIMBLE_ENABLED
|
|
default 0
|
|
help
|
|
Defines maximum number of BLE Connection Oriented Channels. When set to (0), BLE COC is not compiled in
|
|
|
|
choice NIMBLE_PINNED_TO_CORE_CHOICE
|
|
prompt "The CPU core on which NimBLE host will run"
|
|
depends on NIMBLE_ENABLED && !FREERTOS_UNICORE
|
|
help
|
|
The CPU core on which NimBLE host will run. You can choose Core 0 or Core 1.
|
|
Cannot specify no-affinity
|
|
|
|
config NIMBLE_PINNED_TO_CORE_0
|
|
bool "Core 0 (PRO CPU)"
|
|
config NIMBLE_PINNED_TO_CORE_1
|
|
bool "Core 1 (APP CPU)"
|
|
depends on !FREERTOS_UNICORE
|
|
endchoice
|
|
|
|
config NIMBLE_PINNED_TO_CORE
|
|
int
|
|
depends on NIMBLE_ENABLED
|
|
default 0 if NIMBLE_PINNED_TO_CORE_0
|
|
default 1 if NIMBLE_PINNED_TO_CORE_1
|
|
default 0
|
|
|
|
config NIMBLE_TASK_STACK_SIZE
|
|
int "NimBLE Host task stack size"
|
|
depends on NIMBLE_ENABLED
|
|
default 5120 if BLE_MESH
|
|
default 4096
|
|
help
|
|
This configures stack size of NimBLE host task
|
|
|
|
config NIMBLE_ROLE_CENTRAL
|
|
bool "Enable BLE Central role"
|
|
depends on NIMBLE_ENABLED
|
|
default y
|
|
|
|
config NIMBLE_ROLE_PERIPHERAL
|
|
bool "Enable BLE Peripheral role"
|
|
depends on NIMBLE_ENABLED
|
|
default y
|
|
|
|
config NIMBLE_ROLE_BROADCASTER
|
|
bool "Enable BLE Broadcaster role"
|
|
depends on NIMBLE_ENABLED
|
|
default y
|
|
|
|
config NIMBLE_ROLE_OBSERVER
|
|
bool "Enable BLE Observer role"
|
|
depends on NIMBLE_ENABLED
|
|
default y
|
|
|
|
config NIMBLE_NVS_PERSIST
|
|
bool "Persist the BLE Bonding keys in NVS"
|
|
depends on NIMBLE_ENABLED
|
|
default y
|
|
help
|
|
Enable this flag to make bonding persistent across device reboots
|
|
|
|
config NIMBLE_SM_LEGACY
|
|
bool "Security manager legacy pairing"
|
|
depends on NIMBLE_ENABLED
|
|
default y
|
|
help
|
|
Enable security manager legacy pairing
|
|
|
|
config NIMBLE_SM_SC
|
|
bool "Security manager secure connections (4.2)"
|
|
depends on NIMBLE_ENABLED
|
|
default y
|
|
help
|
|
Enable security manager secure connections
|
|
|
|
config NIMBLE_DEBUG
|
|
bool "Enable extra runtime asserts and host debugging"
|
|
default n
|
|
depends on NIMBLE_ENABLED
|
|
help
|
|
This enables extra runtime asserts and host debugging
|
|
|
|
config NIMBLE_SM_SC_DEBUG_KEYS
|
|
bool "Use predefined public-private key pair"
|
|
default n
|
|
depends on NIMBLE_ENABLED && NIMBLE_SM_SC
|
|
help
|
|
If this option is enabled, SM uses predefined DH key pair as described
|
|
in Core Specification, Vol. 3, Part H, 2.3.5.6.1. This allows to
|
|
decrypt air traffic easily and thus should only be used for debugging.
|
|
|
|
config NIMBLE_SVC_GAP_DEVICE_NAME
|
|
string "BLE GAP default device name"
|
|
depends on NIMBLE_ENABLED
|
|
default "nimble"
|
|
help
|
|
The Device Name characteristic shall contain the name of the device as an UTF-8 string.
|
|
This name can be changed by using API ble_svc_gap_device_name_set()
|
|
|
|
config NIMBLE_GAP_DEVICE_NAME_MAX_LEN
|
|
int "Maximum length of BLE device name in octets"
|
|
depends on NIMBLE_ENABLED
|
|
default 31
|
|
help
|
|
Device Name characteristic value shall be 0 to 248 octets in length
|
|
|
|
config NIMBLE_ATT_PREFERRED_MTU
|
|
int "Preferred MTU size in octets"
|
|
depends on NIMBLE_ENABLED
|
|
default 256
|
|
help
|
|
This is the default value of ATT MTU indicated by the device during an ATT MTU exchange.
|
|
This value can be changed using API ble_att_set_preferred_mtu()
|
|
|
|
config NIMBLE_SVC_GAP_APPEARANCE
|
|
hex "External appearance of the device"
|
|
depends on NIMBLE_ENABLED
|
|
default 0
|
|
help
|
|
Standard BLE GAP Appearance value in HEX format e.g. 0x02C0
|
|
|
|
config NIMBLE_ACL_BUF_COUNT
|
|
int "ACL Buffer count"
|
|
depends on NIMBLE_ENABLED
|
|
default 12
|
|
help
|
|
The number of ACL data buffers.
|
|
|
|
config NIMBLE_ACL_BUF_SIZE
|
|
int "ACL Buffer size"
|
|
depends on NIMBLE_ENABLED
|
|
default 255
|
|
help
|
|
This is the maximum size of the data portion of HCI ACL data packets.
|
|
It does not include the HCI data header (of 4 bytes)
|
|
|
|
config NIMBLE_HCI_EVT_BUF_SIZE
|
|
int "HCI Event Buffer size"
|
|
depends on NIMBLE_ENABLED
|
|
default 70
|
|
help
|
|
This is the size of each HCI event buffer in bytes
|
|
|
|
config NIMBLE_HCI_EVT_HI_BUF_COUNT
|
|
int "High Priority HCI Event Buffer count"
|
|
depends on NIMBLE_ENABLED
|
|
default 30
|
|
help
|
|
This is the high priority HCI events' buffer size. High-priority
|
|
event buffers are for everything except advertising reports. If there
|
|
are no free high-priority event buffers then host will try to allocate a
|
|
low-priority buffer instead
|
|
|
|
config NIMBLE_HCI_EVT_LO_BUF_COUNT
|
|
int "Low Priority HCI Event Buffer count"
|
|
depends on NIMBLE_ENABLED
|
|
default 8
|
|
help
|
|
This is the low priority HCI events' buffer size. Low-priority event
|
|
buffers are only used for advertising reports. If there are no free
|
|
low-priority event buffers, then an incoming advertising report will
|
|
get dropped
|
|
|
|
config NIMBLE_MSYS1_BLOCK_COUNT
|
|
int "MSYS_1 Block Count"
|
|
depends on NIMBLE_ENABLED
|
|
default 12
|
|
help
|
|
MSYS is a system level mbuf registry. For prepare write & prepare
|
|
responses MBUFs are allocated out of msys_1 pool. For NIMBLE_MESH
|
|
enabled cases, this block count is increased by 8 than user defined
|
|
count.
|
|
|
|
config NIMBLE_HS_FLOW_CTRL
|
|
bool "Enable Host Flow control"
|
|
depends on NIMBLE_ENABLED
|
|
default y
|
|
help
|
|
Enable Host Flow control
|
|
|
|
config NIMBLE_HS_FLOW_CTRL_ITVL
|
|
int "Host Flow control interval"
|
|
depends on NIMBLE_HS_FLOW_CTRL
|
|
default 1000
|
|
help
|
|
Host flow control interval in msecs
|
|
|
|
config NIMBLE_HS_FLOW_CTRL_THRESH
|
|
int "Host Flow control threshold"
|
|
depends on NIMBLE_HS_FLOW_CTRL
|
|
default 2
|
|
help
|
|
Host flow control threshold, if the number of free buffers are at or
|
|
below this threshold, send an immediate number-of-completed-packets
|
|
event
|
|
|
|
config NIMBLE_HS_FLOW_CTRL_TX_ON_DISCONNECT
|
|
bool "Host Flow control on disconnect"
|
|
depends on NIMBLE_HS_FLOW_CTRL
|
|
default y
|
|
help
|
|
Enable this option to send number-of-completed-packets event to
|
|
controller after disconnection
|
|
|
|
config NIMBLE_RPA_TIMEOUT
|
|
int "RPA timeout in seconds"
|
|
range 1 41400
|
|
depends on NIMBLE_ENABLED
|
|
default 900
|
|
help
|
|
Time interval between RPA address change. This is applicable in case of
|
|
Host based RPA
|
|
|
|
menuconfig NIMBLE_MESH
|
|
bool "Enable BLE mesh functionality"
|
|
select NIMBLE_SM_SC
|
|
depends on NIMBLE_ENABLED
|
|
default n
|
|
help
|
|
Enable BLE Mesh functionality
|
|
|
|
config NIMBLE_MESH_PROXY
|
|
bool "Enable mesh proxy functionality"
|
|
default n
|
|
depends on NIMBLE_MESH
|
|
help
|
|
Enable proxy. This is automatically set whenever NIMBLE_MESH_PB_GATT or
|
|
NIMBLE_MESH_GATT_PROXY is set
|
|
|
|
|
|
config NIMBLE_MESH_PROV
|
|
bool "Enable BLE mesh provisioning"
|
|
default y
|
|
depends on NIMBLE_MESH
|
|
help
|
|
Enable mesh provisioning
|
|
|
|
config NIMBLE_MESH_PB_ADV
|
|
bool "Enable mesh provisioning over advertising bearer"
|
|
default y
|
|
depends on NIMBLE_MESH_PROV
|
|
help
|
|
Enable this option to allow the device to be provisioned over
|
|
the advertising bearer
|
|
|
|
|
|
config NIMBLE_MESH_PB_GATT
|
|
bool "Enable mesh provisioning over GATT bearer"
|
|
default y
|
|
select NIMBLE_MESH_PROXY
|
|
depends on NIMBLE_MESH_PROV
|
|
help
|
|
Enable this option to allow the device to be provisioned over the GATT
|
|
bearer
|
|
|
|
config NIMBLE_MESH_GATT_PROXY
|
|
bool "Enable GATT Proxy functionality"
|
|
default y
|
|
select NIMBLE_MESH_PROXY
|
|
depends on NIMBLE_MESH
|
|
help
|
|
This option enables support for the Mesh GATT Proxy Service,
|
|
i.e. the ability to act as a proxy between a Mesh GATT Client
|
|
and a Mesh network
|
|
|
|
config NIMBLE_MESH_RELAY
|
|
bool "Enable mesh relay functionality"
|
|
default n
|
|
depends on NIMBLE_MESH
|
|
help
|
|
Support for acting as a Mesh Relay Node
|
|
|
|
config NIMBLE_MESH_LOW_POWER
|
|
bool "Enable mesh low power mode"
|
|
default n
|
|
depends on NIMBLE_MESH
|
|
help
|
|
Enable this option to be able to act as a Low Power Node
|
|
|
|
config NIMBLE_MESH_FRIEND
|
|
bool "Enable mesh friend functionality"
|
|
default n
|
|
depends on NIMBLE_MESH
|
|
help
|
|
Enable this option to be able to act as a Friend Node
|
|
|
|
config NIMBLE_MESH_DEVICE_NAME
|
|
string "Set mesh device name"
|
|
default "nimble-mesh-node"
|
|
depends on NIMBLE_MESH
|
|
help
|
|
This value defines Bluetooth Mesh device/node name
|
|
|
|
config NIMBLE_CRYPTO_STACK_MBEDTLS
|
|
bool "Override TinyCrypt with mbedTLS for crypto computations"
|
|
default y
|
|
depends on NIMBLE_ENABLED
|
|
select MBEDTLS_ECP_RESTARTABLE
|
|
select MBEDTLS_CMAC_C
|
|
help
|
|
Enable this option to choose mbedTLS instead of TinyCrypt for crypto
|
|
computations.
|
|
|
|
endmenu
|
|
|
|
menuconfig BLE_MESH
|
|
bool "ESP BLE Mesh Support"
|
|
help
|
|
This option enables ESP BLE Mesh support. The specific features that are
|
|
available may depend on other features that have been enabled in the
|
|
stack, such as Bluetooth Support, Bluedroid Support & GATT support.
|
|
|
|
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"
|
|
depends on BLUEDROID_ENABLED
|
|
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 by choosing the
|
|
option in the Bluetooth Controller section in menuconfig, which is
|
|
"Scan Duplicate By Device Address and Advertising Data".
|
|
|
|
config BLE_MESH_ALLOC_FROM_PSRAM_FIRST
|
|
bool "BLE Mesh will first allocate memory from PSRAM"
|
|
default n
|
|
help
|
|
When this option is enabled, BLE Mesh stack will try to allocate memory
|
|
from PSRAM firstly. This will save the internal RAM if PSRAM exists.
|
|
|
|
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.
|
|
When there are multiple unprovisioned devices around, fast provisioning can
|
|
greatly reduce the time consumption of the whole provisioning process.
|
|
When this option is enabled, and after an unprovisioned device is provisioned
|
|
into a node successfully, it can be changed to a temporary Provisioner.
|
|
|
|
config BLE_MESH_NODE
|
|
bool "Support for BLE Mesh Node"
|
|
help
|
|
Enable the device to be provisioned into a node. This option should be
|
|
enabled when an unprovisioned device is going to be provisioned into a
|
|
node and communicate with other nodes in the BLE Mesh network.
|
|
|
|
config BLE_MESH_PROVISIONER
|
|
bool "Support for BLE Mesh Provisioner"
|
|
help
|
|
Enable the device to be a Provisioner. The option should be enabled when
|
|
a device is going to act as a Provisioner and provision unprovisioned
|
|
devices into the BLE Mesh network.
|
|
|
|
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 10
|
|
range 1 100
|
|
help
|
|
This option specifies how many unprovisioned devices can be added to device
|
|
queue for provisioning. Users can use this option to define the size of the
|
|
queue in the bottom layer which is used to store unprovisioned device
|
|
information (e.g. Device UUID, address).
|
|
|
|
config BLE_MESH_MAX_PROV_NODES
|
|
int "Maximum number of devices that can be provisioned by Provisioner"
|
|
default 10
|
|
range 1 1000
|
|
help
|
|
This option specifies how many devices can be provisioned by a Provisioner.
|
|
This value indicates the maximum number of unprovisioned devices which can be
|
|
provisioned by a Provisioner. For instance, if the value is 6 then it means the
|
|
Provisioner can provision up to 6 unprovisioned devices.
|
|
Theoretically a Provisioner without the limitation of its memory can provision
|
|
up to 32766 unprovisioned devices, here we limit the maximum number to 100
|
|
just to limit the memory used by a Provisioner. The bigger the value is, the
|
|
more memory it will cost by a Provisioner to store the information of nodes.
|
|
|
|
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. For examples, if the value is 2, it means a Provisioner can
|
|
provision two unprovisioned devices with PB-ADV at the same time.
|
|
|
|
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. For example, if the value is 2, it means a Provisioner
|
|
can provision two unprovisioned devices with PB-GATT at the same time.
|
|
|
|
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.
|
|
Indeed, this value decides the number of network keys which can be added by a Provisioner.
|
|
|
|
config BLE_MESH_PROVISIONER_APP_KEY_COUNT
|
|
int "Maximum number of application keys that can be owned by Provisioner"
|
|
default 3
|
|
range 1 4096
|
|
help
|
|
This option specifies how many application keys the Provisioner can have.
|
|
Indeed, this value decides the number of the application keys which can be added by a Provisioner.
|
|
|
|
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. This option should be enabled if PB-ADV is
|
|
going to be used during provisioning procedure.
|
|
|
|
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.
|
|
This option should be enabled if PB-GATT is going to be used during
|
|
provisioning procedure.
|
|
|
|
# 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_SERVER
|
|
bool "BLE Mesh GATT Proxy Server"
|
|
select BLE_MESH_PROXY
|
|
depends on BLE_MESH_NODE
|
|
default y
|
|
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.
|
|
This option should be enabled if a node is going to be a Proxy Server.
|
|
|
|
config BLE_MESH_NODE_ID_TIMEOUT
|
|
int "Node Identity advertising timeout"
|
|
depends on BLE_MESH_GATT_PROXY_SERVER
|
|
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.
|
|
When an unprovisioned device is provisioned successfully and becomes a
|
|
node, it will start to advertise using Node Identity during the time
|
|
set by this option. And after that, Network ID will be advertised.
|
|
|
|
config BLE_MESH_PROXY_FILTER_SIZE
|
|
int "Maximum number of filter entries per Proxy Client"
|
|
depends on BLE_MESH_GATT_PROXY_SERVER
|
|
default 4
|
|
range 1 32767
|
|
help
|
|
This option specifies how many Proxy Filter entries the local node supports.
|
|
The entries of Proxy filter (whitelist or blacklist) are used to store a
|
|
list of addresses which can be used to decide which messages will be forwarded
|
|
to the Proxy Client by the Proxy Server.
|
|
|
|
config BLE_MESH_GATT_PROXY_CLIENT
|
|
bool "BLE Mesh GATT Proxy Client"
|
|
select BLE_MESH_PROXY
|
|
default n
|
|
help
|
|
This option enables support for Mesh GATT Proxy Client. The Proxy Client
|
|
can use the GATT bearer to send mesh messages to a node that supports the
|
|
advertising bearer.
|
|
|
|
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. This option is used to introduce another
|
|
variable in the bottom layer to record the usage of advertising buffers of BLE Mesh
|
|
devices. Recommend to enable this option as default.
|
|
|
|
config BLE_MESH_SETTINGS
|
|
bool "Store BLE Mesh configuration persistently"
|
|
default n
|
|
help
|
|
When selected, the BLE Mesh stack will take care of storing/restoring the BLE
|
|
Mesh configuration persistently in flash.
|
|
If the device is a BLE Mesh node, when this option is enabled, the configuration
|
|
of the device will be stored persistently, including unicast address, NetKey,
|
|
AppKey, etc.
|
|
And if the device is a BLE Mesh Provisioner, the information of the device will
|
|
be stored persistently, including the information of provisioned nodes, NetKey,
|
|
AppKey, etc.
|
|
|
|
if BLE_MESH_SETTINGS
|
|
|
|
config BLE_MESH_SPECIFIC_PARTITION
|
|
bool "Use a specific NVS partition for BLE Mesh"
|
|
default n
|
|
help
|
|
When selected, the mesh stack will use a specified NVS partition instead of
|
|
default NVS partition. Note that the specified partition must be registered
|
|
with NVS using nvs_flash_init_partition() API, and the partition must exists
|
|
in the csv file.
|
|
When Provisioner needs to store a large amount of nodes' information in the
|
|
flash (e.g. more than 20), this option is recommended to be enabled.
|
|
|
|
if BLE_MESH_SPECIFIC_PARTITION
|
|
|
|
config BLE_MESH_PARTITION_NAME
|
|
string "Name of the NVS partition for BLE Mesh"
|
|
default "ble_mesh"
|
|
help
|
|
This value defines the name of the specified NVS partition used by the
|
|
mesh stack.
|
|
|
|
endif # BLE_MESH_SPECIFIC_PARTITION
|
|
|
|
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.
|
|
The option allows nodes to delay a certain period of time to save proper
|
|
information to flash. The default value is 0, which means information
|
|
will be stored immediately once there are updates.
|
|
|
|
config BLE_MESH_SEQ_STORE_RATE
|
|
int "How often the sequence number gets updated in storage"
|
|
range 0 1000000
|
|
default 6
|
|
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 RPL 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.
|
|
Indeed, this value decides the number of the network keys which can be owned by a node.
|
|
|
|
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.
|
|
Indeed, this value decides the number of the application keys which can be owned by a node.
|
|
|
|
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.
|
|
Indeed, this value decides the number of the Virtual Addresses can be supported by a node.
|
|
|
|
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.
|
|
The replay protection list is used to prevent a node from replay attack,
|
|
which will store the source address and sequence number of the received
|
|
mesh messages.
|
|
For Provisioner, the replay protection list size should not be smaller than
|
|
the maximum number of nodes whose information can be stored. And the element
|
|
number of each node should also be taken into consideration. For example, if
|
|
Provisioner can provision up to 20 nodes and each node contains two elements,
|
|
then the replay protection list size of Provisioner should be at least 40.
|
|
|
|
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.
|
|
A node is not required to cache the entire Network PDU and may cache
|
|
only part of it for tracking, such as values for SRC/SEQ or others.
|
|
|
|
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_SUPPORT_BLE_ADV
|
|
bool "Support sending normal BLE advertising packets"
|
|
default n
|
|
help
|
|
When selected, users can send normal BLE advertising packets
|
|
with specific API.
|
|
|
|
if BLE_MESH_SUPPORT_BLE_ADV
|
|
|
|
config BLE_MESH_BLE_ADV_BUF_COUNT
|
|
int "Number of advertising buffers for BLE advertising packets"
|
|
default 3
|
|
range 1 255
|
|
help
|
|
Number of advertising buffers for BLE packets available.
|
|
|
|
endif # BLE_MESH_SUPPORT_BLE_ADV
|
|
|
|
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.
|
|
The default value is 1, which means the device can only send one segmented
|
|
message at a time. And if another segmented message is going to be sent, it
|
|
should wait for the completion of the previous one.
|
|
If users are going to send multiple segmented messages at the same time, this
|
|
value should be configured properly.
|
|
|
|
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.
|
|
The default value is 1, which means the device can only receive one segmented
|
|
message at a time. And if another segmented message is going to be received,
|
|
it should wait for the completion of the previous one.
|
|
If users are going to receive multiple segmented messages at the same time, this
|
|
value should be configured properly.
|
|
|
|
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 32
|
|
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"
|
|
depends on BLE_MESH_NODE
|
|
default y
|
|
help
|
|
Support for acting as a Mesh Relay Node. Enabling this option will allow
|
|
a node to support the Relay feature, and the Relay feature can still
|
|
be enabled or disabled by proper configuration messages. Disabling this
|
|
option will let a node not support the Relay feature.
|
|
|
|
if BLE_MESH_RELAY
|
|
|
|
config BLE_MESH_RELAY_ADV_BUF
|
|
bool "Use separate advertising buffers for relay packets"
|
|
default n
|
|
help
|
|
When selected, self-send packets will be put in a high-priority
|
|
queue and relay packets will be put in a low-priority queue.
|
|
|
|
if BLE_MESH_RELAY_ADV_BUF
|
|
|
|
config BLE_MESH_RELAY_ADV_BUF_COUNT
|
|
int "Number of advertising buffers for relay packets"
|
|
default 60
|
|
range 6 256
|
|
help
|
|
Number of advertising buffers for relay packets available.
|
|
|
|
endif # BLE_MESH_RELAY_ADV_BUF
|
|
|
|
endif # BLE_MESH_RELAY
|
|
|
|
config BLE_MESH_LOW_POWER
|
|
bool "Support for Low Power features"
|
|
depends on BLE_MESH_NODE
|
|
help
|
|
Enable this option to operate as a Low Power Node. If low power consumption
|
|
is required by a node, this option should be enabled. And once the node
|
|
enters the mesh network, it will try to find a Friend node and establish a
|
|
friendship.
|
|
|
|
if BLE_MESH_LOW_POWER
|
|
|
|
config BLE_MESH_LPN_ESTABLISHMENT
|
|
bool "Perform Friendship establishment using low power"
|
|
default n
|
|
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.
|
|
When this option is enabled, the node will stop scanning for a period of
|
|
time after a Friend Request or Friend Poll is sent, so as to reduce more
|
|
power consumption.
|
|
|
|
config BLE_MESH_LPN_AUTO
|
|
bool "Automatically start looking for Friend nodes once provisioned"
|
|
default n
|
|
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).
|
|
When an unprovisioned device is provisioned successfully and becomes a node,
|
|
enabling this option will trigger the node starts to send Friend Request at
|
|
a certain period until it finds a proper Friend node.
|
|
|
|
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 6
|
|
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.
|
|
RSSIFactor, one of the parameters carried by Friend Request sent by Low Power
|
|
node, which is used to calculate the Friend Offer Delay.
|
|
|
|
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.
|
|
ReceiveWindowFactor, one of the parameters carried by Friend Request sent by
|
|
Low Power node, which is used to calculate the Friend Offer Delay.
|
|
|
|
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.
|
|
The smaller the value, the faster the Low Power node tries to get
|
|
messages from corresponding Friend node and vice versa.
|
|
|
|
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 Friend feature"
|
|
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.
|
|
This option decides the size of each buffer which can be used by a Friend node
|
|
to store messages for each Low Power node.
|
|
|
|
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. And Low Power node can send Friend Subscription List Add or
|
|
Friend Subscription List Remove messages to the Friend node to add or remove
|
|
subscription addresses.
|
|
|
|
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.
|
|
A Friend node can have friendship with multiple Low Power nodes at the same time,
|
|
while a Low Power node can only establish friendship with only one Friend node at
|
|
the same time.
|
|
|
|
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. Enabling this option
|
|
will disable the output of BLE Mesh debug log.
|
|
|
|
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_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.
|
|
This value indicates the maximum time that a client model waits for
|
|
the response of the sent acknowledged messages. If a client model
|
|
uses 0 as the timeout value when sending acknowledged messages, then
|
|
the default value will be used which is four seconds.
|
|
|
|
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.
|
|
If IV Update test mode is going to be used, this option should be enabled.
|
|
|
|
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.
|
|
|
|
if BLE_MESH_SELF_TEST
|
|
|
|
config BLE_MESH_TEST_AUTO_ENTER_NETWORK
|
|
bool "Unprovisioned device enters mesh network automatically"
|
|
default y
|
|
help
|
|
With this option enabled, an unprovisioned device can automatically
|
|
enters mesh network using a specific test function without the pro-
|
|
visioning procedure. And on the Provisioner side, a test function
|
|
needs to be invoked to add the node information into the mesh stack.
|
|
|
|
config BLE_MESH_TEST_USE_WHITE_LIST
|
|
bool "Use white list to filter mesh advertising packets"
|
|
default n
|
|
help
|
|
With this option enabled, users can use whilte list to filter mesh
|
|
advertising packets while scanning.
|
|
|
|
endif # BLE_MESH_SELF_TEST
|
|
|
|
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
|
|
|