123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205 |
- # 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 || ACTS_BT)
- 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_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
- 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 500
- 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
|