OVMS3-idf/components/bt/host/nimble/Kconfig.in
Prasad Alatkar daa65b6f91 NimBLE: Add optional mbedTLS support to NimBLE (backport)
- NimBLE: Additional menuconfig option to enable mbedTLS instead of Tinycrypt from
  NimBLE, changes `component.mk` & `CMakeLists.txt` for the same.
- Addition of NimBLE stack size configuration and misc changes.
- mbedTLS: Addition of `CMAC` and `ECP_RESTARTABLE` to mbedTLS menuconfig option and
  `esp_config.h`.
- Example: Minor changes to `app_mesh.c` application.
2019-09-23 21:37:40 +08:00

268 lines
7.8 KiB
Text

config BT_NIMBLE_MAX_CONNECTIONS
int "Maximum number of concurrent connections"
range 1 10
default 1
depends on BT_NIMBLE_ENABLED
help
Defines maximum number of concurrent BLE connections
config BT_NIMBLE_MAX_BONDS
int "Maximum number of bonds to save across reboots"
default 3
depends on BT_NIMBLE_ENABLED
help
Defines maximum number of bonds to save for peer security and our security
config BT_NIMBLE_MAX_CCCDS
int "Maximum number of CCC descriptors to save across reboots"
default 8
depends on BT_NIMBLE_ENABLED
help
Defines maximum number of CCC descriptors to save
config BT_NIMBLE_L2CAP_COC_MAX_NUM
int "Maximum number of connection oriented channels"
range 0 10
depends on BT_NIMBLE_ENABLED
default 0
help
Defines maximum number of BLE Connection Oriented Channels. When set to (0), BLE COC is not compiled in
choice BT_NIMBLE_PINNED_TO_CORE_CHOICE
prompt "The CPU core on which NimBLE host will run"
depends on BT_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 BT_NIMBLE_PINNED_TO_CORE_0
bool "Core 0 (PRO CPU)"
config BT_NIMBLE_PINNED_TO_CORE_1
bool "Core 1 (APP CPU)"
depends on !FREERTOS_UNICORE
endchoice
config BT_NIMBLE_PINNED_TO_CORE
int
depends on BT_NIMBLE_ENABLED
default 0 if BT_NIMBLE_PINNED_TO_CORE_0
default 1 if BT_NIMBLE_PINNED_TO_CORE_1
default 0
config BT_NIMBLE_TASK_STACK_SIZE
int "NimBLE Host task stack size"
depends on BT_NIMBLE_ENABLED
default 4096
help
This configures stack size of NimBLE host task
config BT_NIMBLE_ROLE_CENTRAL
bool "Enable BLE Central role"
depends on BT_NIMBLE_ENABLED
default y
config BT_NIMBLE_ROLE_PERIPHERAL
bool "Enable BLE Peripheral role"
depends on BT_NIMBLE_ENABLED
default y
config BT_NIMBLE_ROLE_BROADCASTER
bool "Enable BLE Broadcaster role"
depends on BT_NIMBLE_ENABLED
default y
config BT_NIMBLE_ROLE_OBSERVER
bool "Enable BLE Observer role"
depends on BT_NIMBLE_ENABLED
default y
config BT_NIMBLE_NVS_PERSIST
bool "Persist the BLE Bonding keys in NVS"
depends on BT_NIMBLE_ENABLED
default y
help
Enable this flag to make bonding persistent across device reboots
config BT_NIMBLE_SM_LEGACY
bool "Security manager legacy pairing"
depends on BT_NIMBLE_ENABLED
default y
help
Enable security manager legacy pairing
config BT_NIMBLE_SM_SC
bool "Security manager secure connections (4.2)"
depends on BT_NIMBLE_ENABLED
default y
help
Enable security manager secure connections
config BT_NIMBLE_DEBUG
bool "Enable extra runtime asserts and host debugging"
default n
depends on BT_NIMBLE_ENABLED
help
This enables extra runtime asserts and host debugging
config BT_NIMBLE_SVC_GAP_DEVICE_NAME
string "BLE GAP default device name"
depends on BT_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 BT_NIMBLE_GAP_DEVICE_NAME_MAX_LEN
int "Maximum length of BLE device name in octets"
depends on BT_NIMBLE_ENABLED
default 31
help
Device Name characteristic value shall be 0 to 248 octets in length
config BT_NIMBLE_ATT_PREFERRED_MTU
int "Preferred MTU size in octets"
depends on BT_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 BT_NIMBLE_SVC_GAP_APPEARANCE
hex "External appearance of the device"
depends on BT_NIMBLE_ENABLED
default 0
help
Standard BLE GAP Appearance value in HEX format e.g. 0x02C0
config BT_NIMBLE_ACL_BUF_COUNT
int "ACL Buffer count"
depends on BT_NIMBLE_ENABLED
default 12
help
The number of ACL data buffers.
config BT_NIMBLE_ACL_BUF_SIZE
int "ACL Buffer size"
depends on BT_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 BT_NIMBLE_HCI_EVT_BUF_SIZE
int "HCI Event Buffer size"
depends on BT_NIMBLE_ENABLED
default 70
help
This is the size of each HCI event buffer in bytes
config BT_NIMBLE_HCI_EVT_HI_BUF_COUNT
int "High Priority HCI Event Buffer count"
depends on BT_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 BT_NIMBLE_HCI_EVT_LO_BUF_COUNT
int "Low Priority HCI Event Buffer count"
depends on BT_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
menuconfig BT_NIMBLE_MESH
bool "Enable BLE mesh functionality"
select BT_NIMBLE_SM_SC
depends on BT_NIMBLE_ENABLED
default n
help
Enable BLE Mesh functionality
config BT_NIMBLE_MESH_PROXY
bool "Enable mesh proxy functionality"
default n
depends on BT_NIMBLE_MESH
help
Enable proxy. This is automatically set whenever NIMBLE_MESH_PB_GATT or
NIMBLE_MESH_GATT_PROXY is set
config BT_NIMBLE_MESH_PROV
bool "Enable BLE mesh provisioning"
default y
depends on BT_NIMBLE_MESH
help
Enable mesh provisioning
config BT_NIMBLE_MESH_PB_ADV
bool "Enable mesh provisioning over advertising bearer"
default y
depends on BT_NIMBLE_MESH_PROV
help
Enable this option to allow the device to be provisioned over
the advertising bearer
config BT_NIMBLE_MESH_PB_GATT
bool "Enable mesh provisioning over GATT bearer"
default y
select BT_NIMBLE_MESH_PROXY
depends on BT_NIMBLE_MESH_PROV
help
Enable this option to allow the device to be provisioned over the GATT
bearer
config BT_NIMBLE_MESH_GATT_PROXY
bool "Enable GATT Proxy functionality"
default y
select BT_NIMBLE_MESH_PROXY
depends on BT_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 BT_NIMBLE_MESH_RELAY
bool "Enable mesh relay functionality"
default n
depends on BT_NIMBLE_MESH
help
Support for acting as a Mesh Relay Node
config BT_NIMBLE_MESH_LOW_POWER
bool "Enable mesh low power mode"
default n
depends on BT_NIMBLE_MESH
help
Enable this option to be able to act as a Low Power Node
config BT_NIMBLE_MESH_FRIEND
bool "Enable mesh friend functionality"
default n
depends on BT_NIMBLE_MESH
help
Enable this option to be able to act as a Friend Node
config BT_NIMBLE_MESH_DEVICE_NAME
string "Set mesh device name"
default "nimble-mesh-node"
depends on BT_NIMBLE_MESH
help
This value defines Bluetooth Mesh device/node name
config BT_NIMBLE_CRYPTO_STACK_MBEDTLS
bool "Override TinyCrypt with mbedTLS for crypto computations"
default y
depends on BT_NIMBLE_ENABLED
select MBEDTLS_ECP_RESTARTABLE
select MBEDTLS_CMAC_C
help
Enable this option to choose mbedTLS instead of TinyCrypt for crypto
computations.