Common Audio Profile (CAP) Handover

Browse source code on GitHub

Overview

Application demonstrating the CAP handover functionality. Starts by scanning for a CAP Acceptor and then sets up unicast audio, and then switches between unicast and broadcast using the CAP handover procedures.

Check the Bluetooth samples for general information.

Requirements

  • BlueZ running on the host, or

  • A board with Bluetooth Low Energy 5.2 support

Building and Running

When building targeting an nrf52 series board with the Zephyr Bluetooth Controller, use -DEXTRA_CONF_FILE=overlay-bt_ll_sw_split.conf to enable the required ISO feature support.

Building for an nrf5340dk

You can build both the application core image and an appropriate controller image for the network core with:

# From the root of the zephyr repository
west build -b nrf5340dk/nrf5340/cpuapp --sysbuild samples/bluetooth/cap_handover/

If you prefer to only build the application core image, you can do so by doing instead:

# From the root of the zephyr repository
west build -b nrf5340dk/nrf5340/cpuapp samples/bluetooth/cap_handover/

In that case you can pair this application core image with the HCI IPC sample samples/bluetooth/hci_ipc/nrf5340_cpunet_iso-bt_ll_sw_split.conf configuration.

Building for a simulated nrf5340bsim

Similarly to how you would for real HW, you can do:

# From the root of the zephyr repository
west build -b nrf5340bsim/nrf5340/cpuapp --sysbuild samples/bluetooth/cap_handover/

Note this will produce a Linux executable in ./build/zephyr/zephyr.exe. For more information, check this board documentation.

Building for a simulated nrf52_bsim

# From the root of the zephyr repository
west build -b nrf52_bsim samples/bluetooth/cap_handover/ -- -DEXTRA_CONF_FILE=overlay-bt_ll_sw_split.conf

See also

Bluetooth APIs
Bluetooth Basic Audio Profile
Common Audio Profile (CAP)
Connection management