Skip to content

nimble/controller: Add Synchronized Receiver role support #2084

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Open
wants to merge 6 commits into
base: master
Choose a base branch
from

Conversation

MariuszSkamra
Copy link
Contributor

@MariuszSkamra MariuszSkamra commented Jul 18, 2025

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 [email protected]

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
mkasenberg and others added 5 commits August 8, 2025 15:45
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 <[email protected]>
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 possible NULL pointer dereference in ble_ll_sched_rmv_elem_type
that could happen if 'g_ble_ll_sched_q' queue is empty.
Uninitialized 'first_removed' variable has been fixed as well.
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.
@MariuszSkamra MariuszSkamra marked this pull request as ready for review August 8, 2025 13:59
This adds Synchronized Receiver role support.
The role enables reception of broadcast isochronous streams.

Co-authored-by: Andrzej Kaczmarek <[email protected]>
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.

2 participants