9cf07bbdb5
The existing driver and sample: - drivers/bluetooth/hci/rpmsg - samples/bluetooth/hci_rpmsg are no longer correctly named, since they now use the IPC subsystem to send and receive data. The IPC subsystem can use RPMsg as a transport, but that is one of several selectable backends. I initially wanted to deprecated both the BT_RPMSG Kconfig option as well as the zephyr,bt-hci-rpmsg-ipc chosen node in Devicetree. However, this proved to be undoable in the case of the Kconfig option. This is because it's a choice option, and those have special behavior. In particular, the only practical way to deprecate would've been to keep the old Kconfig option outside the choice (much like it's done in this commit) but then also add a 'depends on !BT_RPMSG' on each of the remaining choice symbols *except* on the new BT_HCI_IPC one. This, however, only works correctly for .conf files. If a board instead sets the default BT_HCI_BUS_TYPE in the Kconfig.defconfig file then the Kconfig tree parsing would fail, because it'd try to set it to a value (BT_RPMSG) that is no longer part of the choice. Signed-off-by: Carles Cufi <carles.cufi@nordicsemi.no> |
||
---|---|---|
.. | ||
dts/arm/nordic | ||
src | ||
CMakeLists.txt | ||
README.rst | ||
debug_overlay.conf | ||
nrf5340_cpunet_bis-bt_ll_sw_split.conf | ||
nrf5340_cpunet_bt_mesh-bt_ll_sw_split.conf | ||
nrf5340_cpunet_cis-bt_ll_sw_split.conf | ||
nrf5340_cpunet_df-bt_ll_sw_split.conf | ||
nrf5340_cpunet_df-bt_ll_sw_split.overlay | ||
nrf5340_cpunet_iso-bt_ll_sw_split.conf | ||
nrf5340_cpunet_iso_broadcast-bt_ll_sw_split.conf | ||
nrf5340_cpunet_iso_central-bt_ll_sw_split.conf | ||
nrf5340_cpunet_iso_peripheral-bt_ll_sw_split.conf | ||
nrf5340_cpunet_iso_receive-bt_ll_sw_split.conf | ||
prj.conf | ||
sample.yaml |
README.rst
.. _bluetooth-hci-ipc-sample: Bluetooth: HCI IPC ################## Overview ******** This sample exposes :ref:`bluetooth_controller` support to another device or CPU using IPC subsystem. Requirements ************ * A board with IPC subsystem and Bluetooth LE support Building and Running ******************** This sample can be found under :zephyr_file:`samples/bluetooth/hci_ipc` in the Zephyr tree. To use this application, you need a board with a Bluetooth controller and IPC support. You can then build this application and flash it onto your board in the usual way. See :ref:`boards` for board-specific building and programming information. To test this sample, you need a separate device/CPU that acts as Bluetooth HCI IPC peer. This sample is compatible with the HCI IPC driver provided by Zephyr's Bluetooth :ref:`bt_hci_drivers` core. See the :kconfig:option:`CONFIG_BT_HCI_IPC` configuration option for more information. You might need to adjust the Kconfig configuration of this sample to make it compatible with the peer application. For example, :kconfig:option:`CONFIG_BT_MAX_CONN` must be equal to the maximum number of connections supported by the peer application. Refer to :ref:`bluetooth-samples` for general information about Bluetooth samples.