| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367 |
- choice BT_NIMBLE_MEM_ALLOC_MODE
- prompt "Memory allocation strategy"
- default BT_NIMBLE_MEM_ALLOC_MODE_INTERNAL
- 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
- - Internal IRAM memory wherever applicable else internal DRAM
- 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 BT_NIMBLE_MEM_ALLOC_MODE_INTERNAL
- bool "Internal memory"
- config BT_NIMBLE_MEM_ALLOC_MODE_EXTERNAL
- bool "External SPIRAM"
- depends on ESP32_SPIRAM_SUPPORT
- config BT_NIMBLE_MEM_ALLOC_MODE_DEFAULT
- bool "Default alloc mode"
- config BT_NIMBLE_MEM_ALLOC_MODE_IRAM_8BIT
- bool "Internal IRAM"
- depends on ESP32_IRAM_AS_8BIT_ACCESSIBLE_MEMORY
- help
- Allows to use IRAM memory region as 8bit accessible region.
- Every unaligned (8bit or 16bit) access will result in an exception
- and incur penalty of certain clock cycles per unaligned read/write.
- endchoice #BT_NIMBLE_MEM_ALLOC_MODE
- config BT_NIMBLE_MAX_CONNECTIONS
- int "Maximum number of concurrent connections"
- range 1 9
- default BTDM_CTRL_BLE_MAX_CONN
- 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 9
- 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 5120 if BLE_MESH
- 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_SM_SC_DEBUG_KEYS
- bool "Use predefined public-private key pair"
- default n
- depends on BT_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 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
- config BT_NIMBLE_MSYS1_BLOCK_COUNT
- int "MSYS_1 Block Count"
- depends on BT_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 BT_NIMBLE_HS_FLOW_CTRL
- bool "Enable Host Flow control"
- depends on BT_NIMBLE_ENABLED
- default y
- help
- Enable Host Flow control
- config BT_NIMBLE_HS_FLOW_CTRL_ITVL
- int "Host Flow control interval"
- depends on BT_NIMBLE_HS_FLOW_CTRL
- default 1000
- help
- Host flow control interval in msecs
- config BT_NIMBLE_HS_FLOW_CTRL_THRESH
- int "Host Flow control threshold"
- depends on BT_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 BT_NIMBLE_HS_FLOW_CTRL_TX_ON_DISCONNECT
- bool "Host Flow control on disconnect"
- depends on BT_NIMBLE_HS_FLOW_CTRL
- default y
- help
- Enable this option to send number-of-completed-packets event to
- controller after disconnection
- config BT_NIMBLE_RPA_TIMEOUT
- int "RPA timeout in seconds"
- range 1 41400
- depends on BT_NIMBLE_ENABLED
- default 900
- help
- Time interval between RPA address change. This is applicable in case of
- Host based RPA
- 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.
|