1.. zephyr:code-sample:: bluetooth_bap_broadcast_source
2   :name: Basic Audio Profile (BAP) Broadcast Audio Source
3   :relevant-api: bluetooth bt_audio bt_bap
4
5   Use BAP Broadcast Source functionality.
6
7Overview
8********
9
10Application demonstrating the BAP Broadcast Source functionality.
11Will start advertising extended advertising with audio flags, periodic advertising with the
12Broadcast Audio Source Endpoint (BASE) and finally the BIGinfo together with
13(mock) Audio (ISO) data.
14
15The BAP Broadcast Source will reset every 30 seconds to show the full API.
16
17This sample can be found under
18:zephyr_file:`samples/bluetooth/bap_broadcast_source` in the Zephyr tree.
19
20Check the :zephyr:code-sample-category:`bluetooth` samples for general information.
21
22Requirements
23************
24
25* BlueZ running on the host, or
26* A board with Bluetooth Low Energy 5.2 support
27
28Building and Running
29********************
30
31When building targeting an nrf52 series board with the Zephyr Bluetooth Controller,
32use ``-DEXTRA_CONF_FILE=overlay-bt_ll_sw_split.conf`` to enable the required ISO
33feature support.
34The sample defaults to sequential packing of BIS subevents, add
35``-DCONFIG_ISO_PACKING_INTERLEAVED=y`` to use interleaved packing.
36
37Building for an nrf5340dk
38-------------------------
39
40You can build both the application core image and an appropriate controller image for the network
41core with:
42
43.. zephyr-app-commands::
44   :zephyr-app: samples/bluetooth/bap_broadcast_source/
45   :board: nrf5340dk/nrf5340/cpuapp
46   :goals: build
47   :west-args: --sysbuild
48
49If you prefer to only build the application core image, you can do so by doing instead:
50
51.. zephyr-app-commands::
52   :zephyr-app: samples/bluetooth/bap_broadcast_source/
53   :board: nrf5340dk/nrf5340/cpuapp
54   :goals: build
55
56In that case you can pair this application core image with the
57:zephyr:code-sample:`bluetooth_hci_ipc` sample
58:zephyr_file:`samples/bluetooth/hci_ipc/nrf5340_cpunet_iso-bt_ll_sw_split.conf` configuration.
59
60Building for a simulated nrf5340bsim
61------------------------------------
62
63Similarly to how you would for real HW, you can do:
64
65.. zephyr-app-commands::
66   :zephyr-app: samples/bluetooth/bap_broadcast_source/
67   :board: nrf5340bsim/nrf5340/cpuapp
68   :goals: build
69   :west-args: --sysbuild
70
71Note this will produce a Linux executable in :file:`./build/zephyr/zephyr.exe`.
72For more information, check :ref:`this board documentation <nrf5340bsim>`.
73
74Building for a simulated nrf52_bsim
75-----------------------------------
76
77.. zephyr-app-commands::
78   :zephyr-app: samples/bluetooth/bap_broadcast_source/
79   :board: nrf52_bsim
80   :goals: build
81   :gen-args: -DEXTRA_CONF_FILE=overlay-bt_ll_sw_split.conf
82