EdgeFast BT PAL configuration documentation
CONFIG_BT_BUF_RESERVE
Buffer reserved length, suggested value is 8.
CONFIG_BT_SNOOP
Whether enable bt snoop feature, 0 - disable, 1 - enable.
CONFIG_BT_HCI_CMD_COUNT
Number of HCI command buffers, ranging from 2 to 64. Number of buffers available for HCI commands Range 2 to 64 is valid.
CONFIG_BT_RX_BUF_COUNT
Number of HCI RX buffers, ranging from 2 to 255. Number of buffers available for incoming ACL packets or HCI events from the controller Range 2 to 255 is valid.
CONFIG_BT_RX_BUF_LEN
Maximum supported HCI RX buffer length, ranging from 73 to 2000. Maximum data size for each HCI RX buffer. This size includes everything starting with the ACL or HCI event headers. Note that buffer sizes are always rounded up to the nearest multiple of 4, so if this Kconfig value is something else then there is some wasted space. The minimum of 73 has been taken for LE SC which has an L2CAP MTU of 65 bytes. On top of this, The L2CAP header (4 bytes) and the ACL header (also 4 bytes) which yields 73 bytes. Range is 73 to 2000.
CONFIG_BT_HCI_RESERVE
Reserve buffer size for user. Headroom that the driver needs for sending and receiving buffers. Add a new ‘default’ entry for each new driver.
CONFIG_BT_DISCARDABLE_BUF_COUNT
Number of discardable event buffers, if the macro is set to 0, disable this feature, if greater than 0, this feature is enabled. Number of buffers in a separate buffer pool for events which the HCI driver considers discardable. Examples of such events could be , for example, Advertising Reports. The benefit of having such a pool means that if there is a heavy inflow of such events it does not cause the allocation for other critical events to block and may even eliminate deadlocks in some cases.
CONFIG_BT_DISCARDABLE_BUF_SIZE
Size of discardable event buffers, ranging from 45 to 257. Size of buffers in the separate discardable event buffer pool. The minimum size is set based on the Advertising Report. Setting the buffer can save memory if with size set differently from that of the CONFIG_BT_RX_BUF_LEN. range is 45 to 257.
CONFIG_BT_HCI_TX_STACK_SIZE
HCI TX task stack size needed for executing bt_send with specified driver, should be no less than 512.
CONFIG_BT_HCI_TX_PRIO
HCI TX task priority.
CONFIG_BT_RX_STACK_SIZE
Size of the receiving thread stack. This is the context from which all event callbacks to the application occur. The default value is sufficient for basic operation, but if the application needs to do advanced things in its callbacks that require extra stack space, this value can be increased to accommodate for that.
CONFIG_BT_RX_PRIO
RX task priority.
CONFIG_BT_PERIPHERAL
Peripheral Role support, if the macro is set to 0, feature is disabled, if 1, feature is enabled. Select this for LE Peripheral role support.
CONFIG_BT_BROADCASTER
Broadcaster Role support, if the macro is set to 0, feature is disabled, if 1, feature is enabled. Select this for LE Broadcaster role support.
CONFIG_BT_EXT_ADV
Extended Advertising and Scanning support [EXPERIMENTAL], if the macro is set to 0, feature is disabled, if 1, feature is enabled. Select this to enable Extended Advertising API support. This enables support for advertising with multiple advertising sets, extended advertising data, and advertising on LE Coded PHY. It enables support for receiving extended advertising data as a scanner, including support for advertising data over the LE coded PHY. It enables establishing connections over LE Coded PHY.
CONFIG_BT_CENTRAL
Central Role support, if the macro is set to 0, feature is disabled, if 1, feature is enabled. Select this for LE Central role support.
CONFIG_BT_WHITELIST
Enable whitelist support. This option enables the whitelist API. This takes advantage of the whitelisting feature of a Bluetooth LE controller. The whitelist is a global list and the same whitelist is used by both scanner and advertiser. The whitelist cannot be modified while it is in use. An Advertiser can whitelist which peers can connect or request scan response data. A scanner can whitelist advertiser for which it generates advertising reports. Connections can be established automatically for whitelisted peers.
This option deprecates the bt_le_set_auto_conn API in favor of the bt_conn_create_aute_le API.
CONFIG_BT_DEVICE_NAME
Bluetooth device name. Name can be up to 248 bytes long (excluding NULL termination). Can be empty string.
CONFIG_BT_DEVICE_APPEARANCE
Bluetooth device appearance. For the list of possible values, see the link: www.bluetooth.com/specifications/assigned-numbers.
CONFIG_BT_DEVICE_NAME_DYNAMIC
Allow to set Bluetooth device name on runtime. Enabling this option allows for runtime configuration of Bluetooth device name.
CONFIG_BT_ID_MAX
Maximum number of local identities, range 1 to 10 is valid. Maximum number of supported local identity addresses. For most products, this is safe to leave as the default value (1). Range 1 to 10 is valid.
CONFIG_BT_CONN
Connection enablement, if the macro is set to 0, feature is disabled, if 1, feature is enabled.
CONFIG_BT_MAX_CONN
it is the max connection supported by host stack. Maximum number of simultaneous Bluetooth connections supported.
CONFIG_BT_HCI_ACL_FLOW_CONTROL
Controller to host ACL flow control support. Enable support for throttling ACL buffers from the controller to the host. This is useful when the host and controller are on separate cores, since it ensures that we do not run out of incoming ACL buffers.
CONFIG_BT_PHY_UPDATE
PHY Update, if the macro is set to 0, feature is disabled, if 1, feature is enabled. Enable support for Bluetooth 5.0 PHY Update Procedure.
CONFIG_BT_DATA_LEN_UPDATE
Data Length Update. If the macro is set to 0, feature is disabled, if 1, feature is enabled. Enable support for Bluetooth v4.2 LE Data Length Update procedure.
CONFIG_BT_CREATE_CONN_TIMEOUT
Timeout for pending LE Create Connection command in seconds.
CONFIG_BT_CONN_PARAM_UPDATE_TIMEOUT
Peripheral connection parameter update timeout in milliseconds, range 1 to 65535 is valid. The value is a timeout used by peripheral device to wait until it starts the connection parameters update procedure to change default connection parameters. The default value is set to 5s, to comply with BT protocol specification: Core 4.2 Vol 3, Part C, 9.3.12.2 Range 1 to 65535 is valid.
CONFIG_BT_CONN_TX_MAX
Maximum number of pending TX buffers. Maximum number of pending TX buffers that have not yet been acknowledged by the controller.
CONFIG_BT_REMOTE_INFO
Enable application access to remote information. Enable application access to the remote information available in the stack. The remote information is retrieved once a connection has been established and the application is notified when this information is available through the remote_version_available connection callback.
CONFIG_BT_REMOTE_VERSION
Enable fetching of remote version. Enable this to get access to the remote version in the Controller and in the host through bt_conn_get_info(). The fields in question can be then found in the bt_conn_info struct.
CONFIG_BT_SMP_SC_ONLY
Secure Connections Only Mode. This option enables support for Secure Connection Only Mode. In this mode device shall only use Security Mode 1 Level 4 with exception for services that only require Security Mode 1 Level 1 (no security). Security Mode 1 Level 4 stands for authenticated LE Secure Connections pairing with encryption. Enabling this option disables legacy pairing.
CONFIG_BT_SMP_OOB_LEGACY_PAIR_ONLY
Force Out of Band Legacy pairing. This option disables Legacy and LE SC pairing and forces legacy OOB.
CONFIG_BT_SMP_DISABLE_LEGACY_JW_PASSKEY
Forbid usage of insecure legacy pairing methods. This option disables Just Works and Passkey legacy pairing methods to increase security.
CONFIG_BT_PRIVACY
Privacy Feature, if the macro is set to 0, feature is disabled, if 1, feature is enabled. Enable local Privacy Feature support. This makes it possible to use Resolvable Private Addresses (RPAs).
CONFIG_BT_ECC
Enable ECDH key generation support. This option adds support for ECDH HCI commands.
CONFIG_BT_TINYCRYPT_ECC
Use TinyCrypt library for ECDH. If this option is used to set TinyCrypt library which is used for emulating the ECDH HCI commands and events needed by e.g. LE Secure Connections. In builds including the Bluetooth LE host, if don’t set the controller crypto which is used for ECDH and if the controller doesn’t support the required HCI commands the LE Secure Connections support will be disabled. In builds including the HCI Raw interface and the Bluetooth LE controller, this option injects support for the 2 HCI commands required for LE Secure Connections so that hosts can make use of those. The option defaults to enabled for a combined build with Zephyr’s own controller, since it does not have any special ECC support itself (at least not currently).
CONFIG_BT_TINYCRYPT_ECC_PRIORITY
Thread priority of ECC Task.
CONFIG_BT_HCI_ECC_STACK_SIZE
Thread stack size of ECC Task.
CONFIG_BT_RPA
Bluetooth Resolvable Private Address (RPA)
CONFIG_BT_RPA_TIMEOUT
Resolvable Private Address timeout, defaults to 900 seconds. This option defines how often resolvable private address is rotated. Value is provided in seconds and defaults to 900 seconds (15 minutes).
CONFIG_BT_SIGNING
Data signing support, if the macro is set to 0, feature is disabled, if 1, feature is enabled. This option enables data signing which is used for transferring authenticated data in an unencrypted connection.
CONFIG_BT_SMP_APP_PAIRING_ACCEPT
Accept or reject pairing initiative. When receiving pairing request or pairing response queries, the application shall either accept proceeding with pairing or not. This is for pairing over SMP and does not affect SSP, which will continue pairing without querying the application. The application can return an error code, which is translated into an SMP return value if the pairing is not allowed.
CONFIG_BT_SMP_ALLOW_UNAUTH_OVERWRITE
Allow unauthenticated pairing for paired device. This option allows all unauthenticated pairing attempts made by the peer where an unauthenticated bond already exists. This would enable cases where an attacker could copy the peer device address to connect and start an unauthenticated pairing procedure to replace the existing bond. When this option is disabled in order to create a new bond the old bond must be explicitly deleted with bt_unpair.
CONFIG_BT_FIXED_PASSKEY
Use a fixed passkey for pairing, set passkey to fixed or not. With this option enabled, the application will be able to call the bt_passkey_set() API to set a fixed passkey. If set, the pairing_confim() callback will be called for all incoming pairings.
CONFIG_BT_BONDABLE
Bondable Mode, if the macro is set to 0, feature is disabled, if 1, feature is enabled. This option enables support for Bondable Mode. In this mode, Bonding flag in AuthReq of SMP Pairing Request/Response is set indicating the support for this mode.
CONFIG_BT_BONDING_REQUIRED
Always require bonding. When this option is enabled remote devices are required to always set the bondable flag in their pairing request. Any other kind of requests will be rejected.
CONFIG_BT_SMP_ENFORCE_MITM
Enforce MITM protection, if the macro is set to 0, feature is disabled, if 1, feature is enabled. With this option enabled, the Security Manager is set MITM option in the Authentication Requirements Flags whenever local IO Capabilities allow the generated key to be authenticated.
CONFIG_BT_OOB_DATA_FIXED
Use a fixed random number for LESC OOB pairing. With this option enabled, the application will be able to perform LESC pairing with OOB data that consists of fixed random number and confirm value. This option should only be enabled for debugging and should never be used in production.
CONFIG_BT_KEYS_OVERWRITE_OLDEST
Overwrite oldest keys with new ones if key storage is full. With this option enabled, if a pairing attempt occurs and the key storage is full, then the oldest keys in storage will be removed to free space for the new pairing keys.
CONFIG_BT_HOST_CCM
Enable host side AES-CCM module. Enables the software-based AES-CCM engine in the host. Will use the controller’s AES encryption functions if available, or BT_HOST_CRYPTO otherwise.
CONFIG_BT_L2CAP_RX_MTU
Maximum supported L2CAP MTU for incoming data, if CONFIG_BT_SMP is set, range is 65 to 1300, otherwise range is 23 to 1300. Maximum size of each incoming L2CAP PDU. Range is 23 to 1300 range is 65 to 1300 for CONFIG_BT_SMP.
CONFIG_BT_L2CAP_TX_BUF_COUNT
Number of buffers available for outgoing L2CAP packets, ranging from 2 to 255. Range is 2 to 255.
CONFIG_BT_L2CAP_TX_FRAG_COUNT
Number of L2CAP TX fragment buffers, ranging from 0 to 255. Number of buffers available for fragments of TX buffers.
Warning: Setting this to 0 means that the application must ensure that queued TX buffers never need to be fragmented, that is the controller’s buffer size is large enough. If this is not ensured, and there are no dedicated fragment buffers, a deadlock may occur. In most cases the default value of 2 is a safe bet. Range is 0 to 255.
CONFIG_BT_L2CAP_TX_MTU
Maximum supported L2CAP MTU for L2CAP TX buffers, if CONFIG_BT_SMP is set, the range is 65 to 2000. Otherwise, range is 23 to 2000. Range is 23 to 2000. Range is 65 to 2000 for CONFIG_BT_SMP.
CONFIG_BT_L2CAP_DYNAMIC_CHANNEL
L2CAP Dynamic Channel support. This option enables support for LE Connection oriented Channels, allowing the creation of dynamic L2CAP Channels.
CONFIG_BT_L2CAP_DYNAMIC_CHANNEL
L2CAP Dynamic Channel support. This option enables support for LE Connection oriented Channels, allowing the creation of dynamic L2CAP Channels.
Bluetooth BR/EDR support [EXPERIMENTAL] This option enables Bluetooth BR/EDR support.
CONFIG_BT_ATT_PREPARE_COUNT
Number of ATT prepares write buffers, if the macro is set to 0, feature is disabled, if greater than 1, feature is enabled. Number of buffers available for ATT prepares write, setting this to 0 disables GATT long/reliable writes.
CONFIG_BT_ATT_TX_MAX
Maximum number of queued outgoing ATT PDUs. 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 blocks until an existing queued PDU gets sent. Range is 1 to CONFIG_BT_L2CAP_TX_BUF_COUNT.
CONFIG_BT_GATT_SERVICE_CHANGED
GATT Service Changed support, if the macro is set to 0, feature is disabled, if 1, feature is enabled. This option enables support for the service changed characteristic.
CONFIG_BT_GATT_DYNAMIC_DB
GATT dynamic database support, if the macro is set to 0, feature is disabled, if 1, feature is enabled. This option enables registering/unregistering services at runtime.
CONFIG_BT_GATT_CACHING
GATT Caching support, if the macro is set to 0, feature is disabled, if 1, feature is enabled. This option enables support for GATT Caching. When enabled the stack registers Client Supported Features and Database Hash characteristics which is used by clients to detect if anything has changed on the GATT database.
CONFIG_BT_GATT_CLIENT
GATT client support, if the macro is set to 0, feature is disabled, if 1, feature is enabled. This option enables support for the GATT Client role.
CONFIG_BT_GATT_READ_MULTIPLE
GATT Read Multiple Characteristic. Values support, if the macro is set to 0, feature is disabled, if 1, feature is enabled. This option enables support for the GATT Read Multiple Characteristic Values procedure.
CONFIG_BT_GAP_AUTO_UPDATE_CONN_PARAMS
Automatic Update of Connection Parameters, if the macro is set to 0, feature is disabled, if 1, feature is enabled. 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
Configure peripheral preferred connection parameters. This configures 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.
CONFIG_BT_MAX_PAIRED
Maximum number of paired devices. Maximum number of paired Bluetooth devices. The minimum (and default) number is 1.
CONFIG_BT_MAX_SCO_CONN
Maximum number of simultaneous SCO connections. Maximum number of simultaneous Bluetooth synchronous connections supported. The minimum (and default) number is 1. Range 1 to 3 is valid.
CONFIG_BT_RFCOMM
Bluetooth RFCOMM protocol support [EXPERIMENTAL], if the macro is set to 0, feature is disabled, if 1, feature is enabled. This option enables Bluetooth RFCOMM support.
CONFIG_BT_RFCOMM_L2CAP_MTU
L2CAP MTU for RFCOMM frames. Maximum size of L2CAP PDU for RFCOMM frames.
CONFIG_BT_HFP_HF
Bluetooth Handsfree profile HF Role support [EXPERIMENTAL], if the macro is set to 0, feature is disabled, if 1, feature is enabled. This option enables Bluetooth HF support.
CONFIG_BT_AVDTP
Bluetooth AVDTP protocol support [EXPERIMENTAL], if the macro is set to 0, feature is disabled, if 1, feature is enabled. This option enables Bluetooth AVDTP support.
CONFIG_BT_A2DP
Bluetooth A2DP Profile [EXPERIMENTAL]. This option enables the A2DP profile.
CONFIG_BT_A2DP_SOURCE
Bluetooth A2DP profile source function. This option enables the A2DP profile Source function.
CONFIG_BT_A2DP_SINK
Bluetooth A2DP profile sink function. This option enables the A2DP profile Sink function.
CONFIG_BT_A2DP_TASK_PRIORITY
Bluetooth A2DP profile task priority. This option sets the task priority. The task is used to process the streamer data and retry command.
CONFIG_BT_A2DP_TASK_STACK_SIZE
Bluetooth A2DP profile task stack size. This option sets the task stack size.
CONFIG_BT_PAGE_TIMEOUT
Bluetooth Page Timeout. This option sets the page timeout value. Value is selected as (N * 0.625) ms.
CONFIG_BT_DIS_MODEL
Model name. The device model inside Device Information Service.
CONFIG_BT_DIS_MANUF
Manufacturer name. The device manufacturer inside Device Information Service.
CONFIG_BT_DIS_PNP
Enable PnP_ID characteristic. Enable PnP_ID characteristic in Device Information Service.
CONFIG_BT_DIS_PNP_VID_SRC
Vendor ID source, range 1 - 2. The Vendor ID Source field designates which organization assigned the value used in the Vendor ID field value. The possible values are:
1 Bluetooth SIG, the Vendor ID was assigned by the Bluetooth SIG
2 USB IF, the Vendor ID was assigned by the USB IF
CONFIG_BT_DIS_PNP_VID
Vendor ID, range 0 - 0xFFFF. The Vendor ID field is intended to uniquely identify the vendor of the device. This field is used in conjunction with Vendor ID Source field, which determines which organization assigned the Vendor ID field value. Note: The Bluetooth Special Interest Group assigns Device ID Vendor ID, and the USB Implementers Forum assigns Vendor IDs, either of which can be used for the Vendor ID field value. Device providers should procure the Vendor ID from the USB Implementers Forum or the Company Identifier from the Bluetooth SIG.
CONFIG_BT_DIS_PNP_PID
Product ID, range 0 - 0xFFFF. The Product ID field is intended to distinguish between different products made by the vendor identified with the Vendor ID field. The vendors themselves manage Product ID field values.
CONFIG_BT_DIS_PNP_VER
Product Version, range 0 - 0xFFFF. The Product Version field is a numeric expression identifying the device release number in Binary-Coded Decimal. This is a vendor-assigned value, which defines the version of the product identified by the Vendor ID and Product ID fields. This field is intended to differentiate between versions of products with identical Vendor IDs and Product IDs. The value of the field value is 0xJJMN for version JJ.M.N (JJ - major version number, M - minor version number, N - subminor version number); For example, version 2.1.3 is represented with value 0x0213 and version 2.0.0 is represented with a value of 0x0200. When upward-compatible changes are made to the device, it is recommended that the minor version number be incremented. If incompatible changes are made to the device. It is recommended that the major version number is incremented. The subminor version is incremented for bug fixes.
CONFIG_BT_DIS_SERIAL_NUMBER
Enable DIS Serial number characteristic, 1 - enable, 0 - disable. Enable Serial Number characteristic in Device Information Service.
CONFIG_BT_DIS_SERIAL_NUMBER_STR
Serial Number. Serial Number characteristic string in Device Information Service.
CONFIG_BT_DIS_FW_REV
Enable DIS Firmware Revision characteristic, 1 - enable, 0 - disable. Enable Firmware Revision characteristic in Device Information Service.
CONFIG_BT_DIS_FW_REV_STR
Firmware revision. Firmware Revision characteristic String in Device Information Service.
CONFIG_BT_DIS_HW_REV
Enable DIS Hardware Revision characteristic, 1 - enable, 0 - disable. Enable Hardware Revision characteristic in Device Information Service.
CONFIG_BT_DIS_HW_REV_STR
Hardware revision. Hardware Revision characteristic String in Device Information Service.
CONFIG_BT_DIS_SW_REV
Enable DIS Software Revision characteristic, 1 - enable, 0 - disable. Enable Software Revision characteristic in Device Information Service.
CONFIG_BT_DIS_SW_REV_STR
Software revision Software revision characteristic String in Device Information Service.
CONFIG_SYSTEM_WORKQUEUE_STACK_SIZE
System work queue stack size.
CONFIG_SYSTEM_WORKQUEUE_PRIORITY
System work queue priority.
CONFIG_BT_HCI_TRANSPORT_INTERFACE_TYPE
HCI transport interface type.
CONFIG_BT_HCI_TRANSPORT_INTERFACE_INSTANCE
HCI transport interface instance number.
CONFIG_BT_HCI_TRANSPORT_INTERFACE_SPEED
HCI transport interface rate. Configures the interface speed, for example, the default interface is h4, the speed to 115200
CONFIG_BT_HCI_TRANSPORT_TX_THREAD
Whether enable HCI transport TX thread.
CONFIG_BT_HCI_TRANSPORT_RX_THREAD
Whether enable HCI transport RX thread.
CONFIG_BT_HCI_TRANSPORT_RX_STACK_SIZE
HCI transport RX thread stack size.
CONFIG_BT_HCI_TRANSPORT_TX_STACK_SIZE
HCI transport TX thread stack size.
CONFIG_BT_HCI_TRANSPORT_TX_PRIO
HCI transport TX thread priority.
CONFIG_BT_HCI_TRANSPORT_RX_PRIO
HCI transport RX thread priority.
CONFIG_BT_MSG_QUEUE_COUNT
Message number in message queue.