zephyr/samples/bluetooth/bap_broadcast_source
Vinayak Kariappa Chettimada d8cd8ddc51 samples: Bluetooth: bap_broadcast_source nRF5340 audio dk + nRF21540 FEM
Added overlay file to support nRF5340 audio dk + nRF21540
FEM.

Build the hci_ipc with corresponding overlay file to use the
nRF21540 FEM with the bap_broadcast_source sample on nRF5340
audio kit.

Use the below commandline:
$ west build -b nrf5340_audio_dk/nrf5340/cpuapp --sysbuild \
  samples/bluetooth/bap_broadcast_source \
  -DDTC_OVERLAY_FILE= \
  boards/nrf5340_audio_dk_nrf5340_cpuapp_nrf21540_ek.overlay \
  -Dhci_ipc_DTC_OVERLAY_FILE= \
  boards/nrf5340_audio_dk_nrf5340_cpunet_nrf21540_ek.overlay

Related to commit 35ad653038 ("samples: Bluetooth:
hci_uart/hci_ipc: CI coverage for nRF53+nRF21 FEM").

Signed-off-by: Vinayak Kariappa Chettimada <vich@nordicsemi.no>
2025-04-07 11:23:11 +02:00
..
boards samples: Bluetooth: bap_broadcast_source nRF5340 audio dk + nRF21540 FEM 2025-04-07 11:23:11 +02:00
src samples: Bluetooth: Support interleaved packing in BIS samples 2025-03-17 16:24:33 +01:00
app.overlay samples: Bluetooth: BAP: Broadcast source use next USB stack 2025-01-30 14:07:37 +01:00
CMakeLists.txt samples: Bluetooth: BAP: Broadcast source use next USB stack 2025-01-30 14:07:37 +01:00
Kconfig samples: Bluetooth: Support interleaved packing in BIS samples 2025-03-17 16:24:33 +01:00
Kconfig.sysbuild
overlay-bt_ll_sw_split.conf samples: Bluetooth: Support interleaved packing in BIS samples 2025-03-17 16:24:33 +01:00
overlay-interleaved.conf tests: bsim: Bluetooth: broadcast_audio_source interleaved/sequential 2025-03-17 16:24:33 +01:00
overlay-sequential.conf tests: bsim: Bluetooth: broadcast_audio_source interleaved/sequential 2025-03-17 16:24:33 +01:00
prj.conf samples: Bluetooth: Support interleaved packing in BIS samples 2025-03-17 16:24:33 +01:00
README.rst samples: Bluetooth: Support interleaved packing in BIS samples 2025-03-17 16:24:33 +01:00
sample.yaml samples: Bluetooth: bap_broadcast_source nRF5340 audio dk + nRF21540 FEM 2025-04-07 11:23:11 +02:00
sysbuild.cmake

.. zephyr:code-sample:: bluetooth_bap_broadcast_source
   :name: Basic Audio Profile (BAP) Broadcast Audio Source
   :relevant-api: bluetooth bt_audio bt_bap

   Use BAP Broadcast Source functionality.

Overview
********

Application demonstrating the BAP Broadcast 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 BAP Broadcast Source will reset every 30 seconds to show the full API.

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

Check the :zephyr:code-sample-category:`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.
The sample defaults to sequential packing of BIS subevents, add
``-DCONFIG_ISO_PACKING_INTERLEAVED=y`` to use interleaved packing.

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/bap_broadcast_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/bap_broadcast_source/
   :board: nrf5340dk/nrf5340/cpuapp
   :goals: build

In that case you can pair this application core image with the
:zephyr:code-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/bap_broadcast_source/
   :board: nrf5340bsim/nrf5340/cpuapp
   :goals: build
   :west-args: --sysbuild

Note this will produce a Linux executable in :file:`./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/bap_broadcast_source/
   :board: nrf52_bsim
   :goals: build
   :gen-args: -DEXTRA_CONF_FILE=overlay-bt_ll_sw_split.conf