Skip to content

nimble/controller: Add Synchronized Receiver role support - #2084

Draft
MariuszSkamra wants to merge 9 commits into
apache:masterfrom
MariuszSkamra:feat_broadcast_sync
Draft

nimble/controller: Add Synchronized Receiver role support#2084
MariuszSkamra wants to merge 9 commits into
apache:masterfrom
MariuszSkamra:feat_broadcast_sync

Conversation

@MariuszSkamra

@MariuszSkamra MariuszSkamra commented Jul 18, 2025

Copy link
Copy Markdown
Contributor

nimble/controller: Add Synchronized Receiver role support

This adds Synchronized Receiver role support.
The role enables reception of broadcast isochronous streams.

Co-authored-by: Andrzej Kaczmarek andrzej.kaczmarek@codecoup.pl

Depends on: #1974
Depends on: #2083
Depends on: #2087
Depends (optionally) on: #1882

@github-actions github-actions Bot added controller size/XL Extra large PR labels Jul 18, 2025
@MariuszSkamra
MariuszSkamra force-pushed the feat_broadcast_sync branch 2 times, most recently from 4c20a96 to 524dc72 Compare July 28, 2025 12:47
@MariuszSkamra
MariuszSkamra force-pushed the feat_broadcast_sync branch 2 times, most recently from f039be4 to a707eda Compare August 8, 2025 13:57
@MariuszSkamra
MariuszSkamra marked this pull request as ready for review August 8, 2025 13:59
@MariuszSkamra
MariuszSkamra marked this pull request as draft April 13, 2026 15:28
@MariuszSkamra
MariuszSkamra force-pushed the feat_broadcast_sync branch 2 times, most recently from 0097948 to b309d81 Compare April 14, 2026 11:52
MariuszSkamra and others added 9 commits May 25, 2026 15:57
This removes unused BLE_PHY_TRANSITION_RX_TX definition from API.
This renames transition definitions:
BLE_PHY_TRANSITION_TX_RX -> BLE_PHY_TRANSITION_TO_RX
BLE_PHY_TRANSITION_TX_TX -> BLE_PHY_TRANSITION_TO_TX
This moves transition-related code to dedicated Rx/Tx functions to reduce
function size and remove duplicated code. No functional change intended.

Co-authored-by: Andrzej Kaczmarek <andrzej.kaczmarek@codecoup.pl>
Co-authored-by: Magdalena Kasenberg <magdalena.kasenberg@codecoup.pl>
New Bluetooth features require fast RX-to-RX and TX-to-TX transitions
and use a different TIFS than 150us.

Co-authored-by: Andrzej Kaczmarek <andrzej.kaczmarek@codecoup.pl>
This adds Rx end early callback that is called before scheduled
PHY transition. This allows user to e.g. prepare CCM for next Rx.
This fixes race condition in aux scan what was observed on Harmony.
During extended scan, the HCI Reset called, that stops the active
scan and clears the scan state machine. The scan stop itself,
if scan response is pending, and calls ble_ll_scan_aux_sched_remove
that pokes the active scan backup (from LL via event queue).
The problem is that the SM is cleared already when backoff is called,
which causes an assert in ble_ll_scan_req_backoff function.

This change ensures the ble_ll_scan_req_backoff is called from
ble_ll_reset() function context. ble_ll_reset is always called
from LL task context.
As per the Core, the Packet_Status_Flag of an HCI ISO Data packet must
be one of the following: 0b00, 0b01, or 0b10.
This fixes the BLE_HCI_ISO_PKT_STATUS_LOST value which shall be 0x02
(0b10).
This adds Synchronized Receiver role support.
The role enables reception of broadcast isochronous streams.

Co-authored-by: Andrzej Kaczmarek <andrzej.kaczmarek@codecoup.pl>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

controller size/XL Extra large PR

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants