mirror of
https://github.com/zephyrproject-rtos/zephyr
synced 2025-08-05 09:54:27 +00:00
Allow application to enable L2CAP dynamic channels without support for Enhanced Credit Based Flow Control (CBFC). Since these are separate features in the qualification it should be possible to qualify L2CAP connection oriented channels without also having to qualify L2CAP enhanced credit based flow control. The L2CAP/LE/REJ/BI-02-C conformance test will fail when enhanced CBFC has not been selected in the ICS. The lower tester expects that since the Enhanced CBFC is not supported, the command L2CAP_CREDIT_BASED_CONNECTION_REQ should be met with an L2CAP_COMMAND_REJECT_RSP and not an L2CAP_CREDIT_BASED_CONNECTION_RSP. Signed-off-by: Joakim Andersson <joakim.andersson@nordicsemi.no>
222 lines
6.8 KiB
Plaintext
222 lines
6.8 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_ECRED
|
|
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
|
|
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_GATT_AUTO_DISCOVER_CCC
|
|
bool "Support to automatic discover the CCC handles of characteristics"
|
|
depends on BT_GATT_CLIENT
|
|
help
|
|
This option enables support for GATT to initiate discovery for CCC
|
|
handles if the CCC handle is unknown by the application.
|
|
|
|
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
|