zephyr/samples/bluetooth/broadcast_audio_source
Lars Knudsen 78714b193a samples: Add USB Audio to broadcast audio source
Adds support for using a connected host to
broadcast audio via USB Audio.

Offload LC3 encoding to separate thread.

Signed-off-by: Lars Knudsen <LAKD@demant.com>
2023-11-14 09:22:28 +01:00
..
boards samples: Add USB Audio to broadcast audio source 2023-11-14 09:22:28 +01:00
src samples: Add USB Audio to broadcast audio source 2023-11-14 09:22:28 +01:00
CMakeLists.txt samples: Bluetooth: Add broadcast audio source sample 2022-04-02 15:39:48 +02:00
Kconfig samples: Add USB Audio to broadcast audio source 2023-11-14 09:22:28 +01:00
Kconfig.sysbuild Bluetooth samples: broadcast audio source: Add sysbuild support 2023-11-06 15:17:15 +01:00
overlay-bt_ll_sw_split.conf sample: Bluetooth: Fix broadcast audio source sink conf file 2023-04-13 13:19:19 +02:00
prj.conf samples: Add USB Audio to broadcast audio source 2023-11-14 09:22:28 +01:00
README.rst Bluetooth samples: broadcast audio: Improve documentation 2023-11-06 15:17:15 +01:00
sample.yaml Bluetooth samples: broadcast audio: Add support for more nrf targets 2023-11-06 15:17:15 +01:00
sysbuild.cmake Bluetooth samples: broadcast audio source: Add sysbuild support 2023-11-06 15:17:15 +01:00

.. zephyr:code-sample:: bluetooth_broadcast_audio_source
   :name: Bluetooth: Broadcast Audio Source
   :relevant-api: bluetooth

   Bluetooth: Broadcast Audio Source

Overview
********

Application demonstrating the LE Audio broadcast audio source functionality.
Will start advertising extended advertising with audio flags, periodic advertising with the
broadcast audio source endpoint (BASE) and finally the BIGinfo together with
(mock) Audio (ISO) data.

The broadcast source will reset every 30 seconds to show the full API.

This sample can be found under
:zephyr_file:`samples/bluetooth/broadcast_audio_source` in the Zephyr tree.

Check the :ref:`bluetooth samples section <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 `-DOVERLAY_CONFIG=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:

.. zephyr-app-commands::
   :zephyr-app: samples/bluetooth/broadcast_audio_source/
   :board: nrf5340dk_nrf5340_cpuapp
   :goals: build
   :west-args: --sysbuild

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

.. zephyr-app-commands::
   :zephyr-app: samples/bluetooth/broadcast_audio_source/
   :board: nrf5340dk_nrf5340_cpuapp
   :goals: build

In that case you can pair this application core image with the
:ref:`hci_ipc sample <bluetooth-hci-ipc-sample>`
:zephyr_file:`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:

.. zephyr-app-commands::
   :zephyr-app: samples/bluetooth/broadcast_audio_source/
   :board: nrf5340bsim_nrf5340_cpuapp
   :goals: build
   :west-args: --sysbuild

Note this will produce a Linux executable in `./build/zephyr/zephyr.exe`.
For more information, check :ref:`this board documentation <nrf5340bsim>`.

Building for a simulated nrf52_bsim
-----------------------------------

.. zephyr-app-commands::
   :zephyr-app: samples/bluetooth/broadcast_audio_source/
   :board: nrf52_bsim
   :goals: build
   :gen-args: -DOVERLAY_CONFIG=overlay-bt_ll_sw_split.conf