zephyr/samples/bluetooth/public_broadcast_source
Vinayak Kariappa Chettimada 2c6306d099 Bluetooth: Controller: BT_CTLR_ISO_TX_BUFFER_SIZE from BT_ISO_TX_MTU
Derive BT_CTLR_ISO_TX_BUFFER_SIZE from BT_ISO_TX_MTU to have
optimal Controller memory allocations.
BT_CTLR_ISO_TX_BUFFER_SIZE can be set lower than
BT_ISO_TX_MTU in which case upper layer can send fragmented
SDU to the Controller.

Signed-off-by: Vinayak Kariappa Chettimada <vich@nordicsemi.no>
2024-05-10 15:02:10 +02:00
..
src Bluetooth: Samples: Remove uses of auto name in AD 2024-04-23 12:42:24 +02:00
CMakeLists.txt Bluetooth: Audio: Add implementation for PBP and dedicated sample apps. 2024-01-09 09:59:23 +01:00
Kconfig.sysbuild tests|samples/bluetooth: Fix sysbuild due to BOAD_IDENTIFIER 2024-03-21 18:44:04 +01:00
overlay-bt_ll_sw_split.conf Bluetooth: Controller: BT_CTLR_ISO_TX_BUFFER_SIZE from BT_ISO_TX_MTU 2024-05-10 15:02:10 +02:00
prj.conf Bluetooth: Audio: Add implementation for PBP and dedicated sample apps. 2024-01-09 09:59:23 +01:00
README.rst samples: docs: Correct nrf5340bsim hwmv1 naming to hwmv2 2024-03-21 15:23:56 +01:00
sample.yaml samples|tests/* yamls: Replace all nrf5340bsim hwmv1 names w hwmv2 version 2024-03-21 15:23:56 +01:00
sysbuild.cmake Bluetooth: Audio: Add implementation for PBP and dedicated sample apps. 2024-01-09 09:59:23 +01:00

.. zephyr:code-sample:: bluetooth_public_broadcast_source
   :name: Bluetooth: Public Broadcast Source
   :relevant-api: bluetooth

   Bluetooth: Public Broadcast Source

Overview
********

Application demonstrating the LE Public Broadcast Profile source functionality.
Will start advertising extended advertising and includes a Broadcast Audio Announcement.
The advertised broadcast audio stream quality will cycle between high and standard quality
every 15 seconds.

This sample can be found under
:zephyr_file:`samples/bluetooth/public_broadcast_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/public_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/public_broadcast_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/public_broadcast_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/public_broadcast_source/
   :board: nrf52_bsim
   :goals: build
   :gen-args: -DOVERLAY_CONFIG=overlay-bt_ll_sw_split.conf