216 lines
6.6 KiB
Plaintext
216 lines
6.6 KiB
Plaintext
# Bluetooth ATT/GATT configuration options
|
|
|
|
# Copyright (c) 2019 Intel Corporation
|
|
# SPDX-License-Identifier: Apache-2.0
|
|
|
|
menu "ATT and GATT Options"
|
|
|
|
config BT_ATT_ENFORCE_FLOW
|
|
bool "Enforce strict flow control semantics for incoming PDUs"
|
|
default y if !(BOARD_QEMU_CORTEX_M3 || BOARD_QEMU_X86 || ARCH_POSIX)
|
|
help
|
|
Enforce flow control rules on incoming PDUs, preventing a peer
|
|
from sending new requests until a previous one has been responded
|
|
or sending a new indication until a previous one has been
|
|
confirmed. This may need to be disabled to avoid potential race
|
|
conditions arising from a USB based HCI transport that splits
|
|
HCI events and ACL data to separate endpoints.
|
|
|
|
config BT_ATT_PREPARE_COUNT
|
|
int "Number of ATT prepare write buffers"
|
|
default 0
|
|
range 0 64
|
|
help
|
|
Number of buffers available for ATT prepare write, setting
|
|
this to 0 disables GATT long/reliable writes.
|
|
|
|
config BT_ATT_TX_MAX
|
|
int "Maximum number of queued outgoing ATT PDUs"
|
|
default BT_L2CAP_TX_BUF_COUNT
|
|
range 1 BT_L2CAP_TX_BUF_COUNT
|
|
help
|
|
Number of ATT PDUs that can be at a single moment queued for
|
|
transmission. If the application tries to send more than this
|
|
amount the calls will block until an existing queued PDU gets
|
|
sent.
|
|
|
|
config BT_EATT
|
|
bool "Enhanced ATT Bearers support [EXPERIMENTAL]"
|
|
depends on BT_L2CAP_DYNAMIC_CHANNEL
|
|
help
|
|
This option enables support for Enhanced ATT bearers support. When
|
|
enabled additional L2CAP channels can be connected as bearers enabling
|
|
multiple outstanding request.
|
|
|
|
if BT_EATT
|
|
|
|
config BT_EATT_MAX
|
|
int "Maximum number of Enhanced ATT bearers"
|
|
default 3
|
|
range 1 16
|
|
|
|
help
|
|
Number of Enhanced ATT bearers available.
|
|
|
|
config BT_EATT_RX_MTU
|
|
int "Maximum supported Enhanced ATT MTU for incoming data"
|
|
default 70
|
|
range 70 519
|
|
depends on BT_EATT
|
|
help
|
|
Maximum size incoming PDUs on EATT bearers, value shall include L2CAP
|
|
headers and SDU length, maximum is limited to 512 bytes payload, which
|
|
is the maximum size for a GATT attribute, plus 1 byte for ATT opcode.
|
|
This option influences the stack buffer size and by that may also
|
|
limit the outgoing MTU.
|
|
|
|
config BT_EATT_SEC_LEVEL
|
|
int "Enhanced ATT bearer security level"
|
|
default 1
|
|
range 1 4
|
|
help
|
|
L2CAP server required security level of EATT bearers:
|
|
Level 1 (BT_SECURITY_L1) = No encryption or authentication required
|
|
Level 2 (BT_SECURITY_L2) = Only encryption required
|
|
Level 3 (BT_SECURITY_L3) = Encryption and authentication required
|
|
Level 4 (BT_SECURITY_L4) = Secure connection required
|
|
|
|
endif # BT_EATT
|
|
|
|
config BT_GATT_SERVICE_CHANGED
|
|
bool "GATT Service Changed support"
|
|
default y
|
|
help
|
|
This option enables support for the service changed characteristic.
|
|
|
|
config BT_GATT_DYNAMIC_DB
|
|
bool "GATT dynamic database support"
|
|
depends on BT_GATT_SERVICE_CHANGED
|
|
help
|
|
This option enables registering/unregistering services at runtime.
|
|
|
|
config BT_GATT_CACHING
|
|
bool "GATT Caching support"
|
|
default y
|
|
depends on BT_GATT_SERVICE_CHANGED
|
|
select TINYCRYPT
|
|
select TINYCRYPT_AES
|
|
select TINYCRYPT_AES_CMAC
|
|
help
|
|
This option enables support for GATT Caching. When enabled the stack
|
|
will register Client Supported Features and Database Hash
|
|
characteristics which can be used by clients to detect if anything has
|
|
changed on the GATT database.
|
|
|
|
if BT_GATT_CACHING
|
|
|
|
config BT_GATT_NOTIFY_MULTIPLE
|
|
bool "GATT Notify Multiple Characteristic Values support"
|
|
depends on BT_GATT_CACHING
|
|
default y
|
|
help
|
|
This option enables support for the GATT Notify Multiple
|
|
Characteristic Values procedure.
|
|
|
|
config BT_GATT_ENFORCE_CHANGE_UNAWARE
|
|
bool "GATT Enforce change-unaware state"
|
|
depends on BT_GATT_CACHING
|
|
help
|
|
When enable this option blocks notification and indications to client
|
|
to conform to the following statement from the Bluetooth 5.1
|
|
specification:
|
|
'...the server shall not send notifications and indications to such
|
|
a client until it becomes change-aware."
|
|
In case the service cannot deal with sudden errors (-EAGAIN) then it
|
|
shall not use this option.
|
|
|
|
endif # BT_GATT_CACHING
|
|
|
|
config BT_GATT_CLIENT
|
|
bool "GATT client support"
|
|
help
|
|
This option enables support for the GATT Client role.
|
|
|
|
config BT_GATT_READ_MULTIPLE
|
|
bool "GATT Read Multiple Characteristic Values support"
|
|
default y
|
|
help
|
|
This option enables support for the GATT Read Multiple Characteristic
|
|
Values procedure.
|
|
|
|
config BT_GAP_AUTO_UPDATE_CONN_PARAMS
|
|
bool "Automatic Update of Connection Parameters"
|
|
default y
|
|
depends on BT_PERIPHERAL
|
|
help
|
|
This option if enabled allows automatically sending request for connection
|
|
parameters update after GAP recommended 5 seconds of connection as
|
|
peripheral.
|
|
|
|
config BT_GAP_PERIPHERAL_PREF_PARAMS
|
|
bool "Configure peripheral preferred connection parameters"
|
|
default y
|
|
depends on BT_PERIPHERAL
|
|
help
|
|
This allows to configure peripheral preferred connection parameters.
|
|
Enabling this option results in adding PPCP characteristic in GAP.
|
|
If disabled it is up to application to set expected connection parameters.
|
|
|
|
if BT_GAP_PERIPHERAL_PREF_PARAMS
|
|
config BT_PERIPHERAL_PREF_MIN_INT
|
|
int "Peripheral preferred minimum connection interval in 1.25ms units"
|
|
default 24
|
|
range 6 65535
|
|
help
|
|
Range 3200 to 65534 is invalid. 65535 represents no specific value.
|
|
|
|
config BT_PERIPHERAL_PREF_MAX_INT
|
|
int "Peripheral preferred maximum connection interval in 1.25ms units"
|
|
default 40
|
|
range 6 65535
|
|
help
|
|
Range 3200 to 65534 is invalid. 65535 represents no specific value.
|
|
|
|
config BT_PERIPHERAL_PREF_SLAVE_LATENCY
|
|
int "Peripheral preferred slave latency in Connection Intervals"
|
|
default 0
|
|
range 0 499
|
|
|
|
config BT_PERIPHERAL_PREF_TIMEOUT
|
|
int "Peripheral preferred supervision timeout in 10ms units"
|
|
default 42
|
|
range 10 65535
|
|
help
|
|
It is up to user to provide valid timeout which pass required minimum
|
|
value: in milliseconds it shall be larger than
|
|
"(1+ Conn_Latency) * Conn_Interval_Max * 2"
|
|
where Conn_Interval_Max is given in milliseconds.
|
|
Range 3200 to 65534 is invalid. 65535 represents no specific value.
|
|
endif # BT_GAP_PERIPHERAL_PREF_PARAMS
|
|
|
|
config BT_DEVICE_NAME_GATT_WRITABLE
|
|
bool "Allow to write name by remote GATT clients"
|
|
depends on BT_DEVICE_NAME_DYNAMIC
|
|
default y
|
|
help
|
|
Enabling this option allows remote GATT clients to write to device
|
|
name GAP characteristic.
|
|
|
|
if BT_DEBUG
|
|
|
|
config BT_DEBUG_ATT
|
|
bool "Bluetooth Attribute Protocol (ATT) debug"
|
|
help
|
|
This option enables debug support for the Bluetooth
|
|
Attribute Protocol (ATT).
|
|
|
|
config BT_DEBUG_GATT
|
|
bool "Bluetooth Generic Attribute Profile (GATT) debug"
|
|
help
|
|
This option enables debug support for the Bluetooth
|
|
Generic Attribute Profile (GATT).
|
|
|
|
endif # BT_DEBUG
|
|
|
|
endmenu
|