zephyr/samples/bluetooth/bap_broadcast_assistant
Emil Gydesen 117dca089a samples: Bluetooth: BAP: BA: Reset states and modify error checking
Modify the reset function to also reset the connection and
PA sync states.

Modify and add missing checks for mutex locks to use ASSERT
when using K_FOREVER, as they should never fail/timeout.

Cleanup some text and error checks.

Ensure that the add_src_param is reset for each loop
iteration as well.

Modify so that we use K_FOREVER fewer places.

Signed-off-by: Emil Gydesen <emil.gydesen@nordicsemi.no>
2025-06-18 11:15:53 +01:00
..
src samples: Bluetooth: BAP: BA: Reset states and modify error checking 2025-06-18 11:15:53 +01:00
CMakeLists.txt
Kconfig
prj.conf Bluetooth: Host: Remove HCI ECC emulation 2025-01-23 10:14:46 +01:00
README.rst samples: Bluetooth: Audio: Add/fix API includes and references 2024-09-24 09:21:40 -04:00
sample.yaml

.. zephyr:code-sample:: bluetooth_bap_broadcast_assistant
   :name: Basic Audio Profile (BAP) Broadcast Audio Assistant
   :relevant-api: bluetooth bt_audio bt_bap bt_conn

   Use BAP Broadcast Assistant functionality.

Overview
********

Application demonstrating the BAP Broadcast Assistant functionality.

The sample will automatically try to connect to a device in the BAP Scan Delegator
role (advertising support for the Broadcast Audio Scan Service (BASS)).
It will then search for a broadcast source and (if found) add the broadcast ID to
the BAP Scan Delegator.

Practical use of this sample requires a sink (e.g. the BAP Broadcast Audio Sink sample or
a set of BAP Broadcast capable earbuds) and a source (e.g. the BAP Broadcast Audio
Source sample).

This sample can be found under
:zephyr_file:`samples/bluetooth/bap_broadcast_assistant` 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
* Broadcast Audio Source and Sink devices

Building and Running
********************

The application will act as a broadcast assistant with optionally preconfigured
filtering of broadcast sink and broadcast source names. By default, the application will
search for and connect to the first broadcast audio sink found (advertising PACS and
BASS UUIDs) and then search for and select the first broadcast audio source found
(advertising a broadcast ID).

Filter these by modifying the following configs:

``CONFIG_SELECT_SINK_NAME``: Substring of BT name of the sink.

and

``CONFIG_SELECT_SOURCE_NAME``: Substring of BT name or broadcast name of the source.

Building for an nrf52840dk
--------------------------

.. zephyr-app-commands::
   :zephyr-app: samples/bluetooth/bap_broadcast_assistant/
   :board: nrf52840dk/nrf52840
   :goals: build