Common Audio Profile (CAP) Initiator

Browse source code on GitHub

Overview

Application demonstrating the CAP Initiator functionality. Starts by either scanning for a CAP Acceptor and then connects to and sets up available unicast audio streams, sets up a broadcast audio stream, or both.

This sample can be found under samples/bluetooth/cap_initiator in the Zephyr tree.

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_initiator/

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_initiator/

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_initiator/

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_initiator/ -- -DEXTRA_CONF_FILE=overlay-bt_ll_sw_split.conf

See also

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