zephyr/samples/bluetooth/unicast_audio_client
Lingao Meng 786b9a0ad4 Bluetooth: Host: Add const prefix for UUID
Add const prefix for service uuid and char uuid.

Since Service UUID and Char UUID should not change in the service
definition, they are most reasonably defined as rodata, also for
save some ram footprint.

The field `attr->user_data` type is `void *`, as this PR change
all Service UUID to rodata, so there must add (void *) to avoid warning.

Signed-off-by: Lingao Meng <menglingao@xiaomi.com>
2023-12-07 16:16:43 +00:00
..
boards samples/tests: Remove REQUIRES_FULL_LIBC=y due to LIBLC3 2023-11-06 10:10:27 +01:00
src Bluetooth: Host: Add const prefix for UUID 2023-12-07 16:16:43 +00:00
CMakeLists.txt Bluetooth: Samples: Add unicast audio client and server samples 2022-01-27 12:01:34 +02:00
Kconfig.sysbuild samples/bluetooth: sysbuild: Add Kconfig setting for HCI IPC inclusion 2023-11-27 12:19:56 +00:00
overlay-bt_ll_sw_split.conf samples: Bluetooth: Relax Tx ISO SDUs dropped in unicast audio samples 2023-06-08 06:47:25 -04:00
prj.conf Bluetooth: Samples: Remove usage of BT_DEBUG_LOG 2023-06-07 13:56:55 -04:00
README.rst Bluetooth samples: unicast audio: Improve documentation 2023-11-03 08:35:38 +01:00
sample.yaml Bluetooth samples: unicast audio: Change integration_target 2023-11-03 08:35:38 +01:00
sysbuild.cmake samples/bluetooth: Reduce sysbuild boilerplate 2023-12-02 07:53:11 -05:00

.. _bluetooth_unicast_audio_client:

Bluetooth: Unicast Audio Client
###############################

Overview
********

Application demonstrating the LE Audio unicast client functionality. Scans for and
connects to a LE Audio unicast server and establishes an audio stream.

This sample can be found under
:zephyr_file:`samples/bluetooth/unicast_audio_client` 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 nrf52840dk
--------------------------

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

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/unicast_audio_client/
   :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/unicast_audio_server/
   :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 nrf52_bsim
-----------------------------------

Similarly to how you would for real HW, you can do:

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

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

Building for a simulated nrf5340bsim
------------------------------------

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