zephyr/samples/bluetooth/iso_broadcast
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: Support interleaved packing in BIS samples 2025-03-17 16:24:33 +01:00
overlay-bt_ll_sw_split.conf samples: Bluetooth: Support interleaved packing in BIS samples 2025-03-17 16:24:33 +01:00
prj.conf samples: Bluetooth: Support interleaved packing in BIS samples 2025-03-17 16:24:33 +01:00
README.rst samples: Bluetooth: Support interleaved packing in BIS samples 2025-03-17 16:24:33 +01: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_broadcaster
   :name: Isochronous Broadcaster
   :relevant-api: bt_iso bluetooth

   Use the Bluetooth Low Energy Isochronous Broadcaster functionality.

Overview
********

A simple application demonstrating the Bluetooth Low Energy Isochronous
Broadcaster 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_ADV_ISO=y

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

This sample can be found under :zephyr_file:`samples/bluetooth/iso_broadcast` 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.
The sample defaults to sequential packing of BIS subevents, add
``-DCONFIG_ISO_PACKING_INTERLEAVED=y`` to use interleaved packing.

Use the sample found under :zephyr_file:`samples/bluetooth/iso_receive` in the
Zephyr tree that will scan, establish a periodic advertising synchronization,
generate BIGInfo reports and synchronize to BIG events from this sample.

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