zephyr/samples/bluetooth/iso_receive
Emil Gydesen 065dca7e92 Bluetooth: ISO: Make setting ISO data explicit
The stack will no longer implicitly set the data path
for ISO channel, and the responsibility for doing that is
now for the upper layers/applications.

This provides additional flexibility for the higher layers
as they can better control the values and timing of the data
path, as well as support removing and even reconfiguring the
data path at will.
This also removes some complexity from the stack.

This commit also fixed a inconsistency in the disconnected
handler. CIS for centrals as well as BIS were still valid
bt_iso_chan channels in the disconnected callback,
but CIS for peripherals were completely cleaned up at this
point. This issue is fixed by moving the disconnected callback
handling to before the code to cleanup the channel for
peripherals.

Since there is a difference in how you remove data paths
depending on the GAP role (central/peripheral), the
iso_info struct type has been expanded to be more
concise of which type of CIS it is.

Signed-off-by: Emil Gydesen <emil.gydesen@nordicsemi.no>
2025-03-19 10:56:57 +01:00
..
src Bluetooth: ISO: Make setting ISO data explicit 2025-03-19 10:56:57 +01:00
CMakeLists.txt
Kconfig samples: bluetooth: iso_receive: add option to control led0 2024-12-18 18:15:15 +01:00
overlay-bt_ll_sw_split.conf
prj.conf Bluetooth: Audio: Update SCAN_DELEGATOR dependency to GATT_DYNAMIC_DB 2024-10-23 16:53:37 +02:00
README.rst doc: samples: Adopt code-sample-category across tree 2024-09-23 12:00:00 +02:00
sample.yaml samples: sample.yaml: replace deprecated OVERLAY_CONFIG w\ EXTRA_CONF_FILE 2024-10-24 14:06:54 +02:00

.. zephyr:code-sample:: bluetooth_isochronous_receiver
   :name: Synchronized Receiver
   :relevant-api: bt_iso bluetooth

   Use Bluetooth LE Synchronized Receiver functionality.

Overview
********

A simple application demonstrating the Bluetooth Low Energy Synchronized
Receiver functionality.

Requirements
************

* BlueZ running on the host, or
* A board with Bluetooth Low Energy 5.2 support
* A Bluetooth Controller and board that supports setting
  CONFIG_BT_CTLR_SYNC_ISO=y

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

This sample can be found under :zephyr_file:`samples/bluetooth/iso_receive` in
the Zephyr tree. Use ``-DEXTRA_CONF_FILE=overlay-bt_ll_sw_split.conf`` to enable
required ISO feature support in Zephyr Bluetooth Controller on supported boards.

Use the sample found under :zephyr_file:`samples/bluetooth/iso_broadcast` on
another board that will start periodic advertising, create BIG to which this
sample will establish periodic advertising synchronization and synchronize to
the Broadcast Isochronous Stream.

See :zephyr:code-sample-category:`bluetooth` samples for details.