meta data for this page
This is an old revision of the document!
hciuart
configuration
Default config from samples
:
- CONFIG_BT=y
- CONFIG_BT_HCI_RAW=y This option allows to access Bluetooth controller from the application with the RAW HCI protocol.
- CONFIG_BT_HCI_RAW_H4=y This option enables HCI RAW access to work over an H:4 transport, note that it still need to be selected at runtime.
- CONFIG_BT_HCI_RAW_H4_ENABLE=y This option enables use of H:4 transport for HCI RAW access at build time.
- CONFIG_BT_BUF_ACL_RX_SIZE=255 Maximum support ACL size of data packets sent from the Controller to the Host. This value does not include the HCI ACL header.
- CONFIG_BT_BUF_CMD_TX_SIZE=255 Maximum data size for each HCI Command buffer. This value does not include the HCI Command header
- CONFIG_BT_BUF_EVT_DISCARDABLE_SIZE=255 Maximum support discardable HCI event size of buffers in the separate discardable event buffer pool. This value does not include the HCI Event header. The minimum size is set based on the Advertising Report. Setting the buffer size different than BT_BUF_EVT_RX_SIZE can save memory.
- CONFIG_BT_MAX_CONN=16
- CONFIG_BT_CTLR_DTM_HCI=y Enable support for Direct Test Mode in the Controller.
Additional auto defaults:
- CONFIG_BT_LL_SW_SPLIT=y Use Zephyr software Bluetooth LE Link Layer ULL LLL split implementation.
- CONFIG_BT_LLL_VENDOR_NORDIC=y Use Nordic Lower Link Layer implementation.
- CONFIG_BT_HCI_ACL_FLOW_CONTROL=y Enable support for throttling ACL buffers from the controller to the host.
- This is particularly 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_BUF_ACL_TX_COUNT=7
- CONFIG_BT_BUF_ACL_TX_SIZE=27
- CONFIG_BT_BUF_ACL_RX_COUNT_EXTRA=16
- CONFIG_BT_BUF_ACL_RX_COUNT=0
- CONFIG_BT_BUF_EVT_RX_SIZE=68
- CONFIG_BT_BUF_EVT_RX_COUNT=10
- CONFIG_BT_HCI_VS=y
- CONFIG_BT_CTLR_DUP_FILTER_LEN=16
- CONFIG_BT_CTLR_RX_BUFFERS=6
CONFIG_BT_HCI_TX_PRIO=7 # CONFIG_BT_RECV_WORKQ_SYS is not set CONFIG_BT_RECV_WORKQ_BT=y CONFIG_BT_RX_STACK_SIZE=768 CONFIG_BT_RX_PRIO=8 CONFIG_BT_DRIVER_RX_HIGH_PRIO=6
CONFIG_BT_CTLR_DTM_HCI_SUPPORT=y CONFIG_BT_CTLR_DTM=y CONFIG_BT_CTLR_DTM_HCI=y CONFIG_BT_CTLR_DTM_HCI_RX_V3=y CONFIG_BT_CTLR_DTM_HCI_TX_V3=y CONFIG_BT_CTLR_DTM_HCI_TX_V4=y
# # Serial Drivers # CONFIG_UART_NRFX=y CONFIG_UART_NRFX_UART=y CONFIG_UART_0_INTERRUPT_DRIVEN=y # CONFIG_UART_0_NRF_PARITY_BIT is not set CONFIG_UART_0_TX_CACHE_SIZE=8 CONFIG_UART_0_RX_CACHE_SIZE=5 CONFIG_UART_0_A2I_RX_SIZE=64 CONFIG_UART_0_A2I_RX_BUF_COUNT=8
Related options:
- 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 particularly useful when the host and controller are on separate cores since it ensures that we do not run out of incoming ACL buffers.
# Enable if building a Host-only build default y if !HAS_BT_CTLR && !BT_STM32_IPM && !BT_ESP32 && !BT_STM32WBA # Enable if building a Controller-only build default y if BT_HCI_RAW select POLL