Skip to content

Commit b1bcd79

Browse files
mtpr-otnashif
authored andcommitted
Bluetooth: controller: Add data path config for ISO sync receiver
- Assign sync_delay parameters for ISO-AL sink creation - Store framing information from BIGinfo for use in sink creation - Set max_octets for sink creation Signed-off-by: Morten Priess <mtpr@oticon.com>
1 parent 1a640e4 commit b1bcd79

File tree

3 files changed

+7
-4
lines changed

3 files changed

+7
-4
lines changed

subsys/bluetooth/controller/ll_sw/lll_sync_iso.h

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -25,6 +25,7 @@ struct lll_sync_iso {
2525
uint16_t data_chan_remap_idx;
2626

2727
uint64_t payload_count:39;
28+
uint64_t framing:1;
2829
uint64_t enc:1;
2930
uint64_t ctrl:1;
3031
uint64_t cssn_curr:3;

subsys/bluetooth/controller/ll_sw/ull_iso.c

Lines changed: 5 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -346,11 +346,12 @@ uint8_t ll_setup_iso_path(uint16_t handle, uint8_t path_dir, uint8_t path_id,
346346
iso_interval = lll_iso->iso_interval;
347347
sdu_interval = lll_iso->sdu_interval;
348348
burst_number = lll_iso->bn;
349+
350+
group_sync_delay = ull_big_sync_delay(lll_iso);
351+
stream_sync_delay = group_sync_delay - stream_handle * lll_iso->bis_spacing;
352+
framed = lll_iso->framing;
353+
max_octets = lll_iso->max_pdu;
349354
flush_timeout = 0U; /* Not used for Broadcast ISO */
350-
group_sync_delay = 0U; /* FIXME: */
351-
stream_sync_delay = 0U; /* FIXME: */
352-
framed = 0U; /* FIXME: pick the framing value from context */
353-
max_octets = 0U;
354355
#endif /* CONFIG_BT_CTLR_SYNC_ISO */
355356

356357
} else {

subsys/bluetooth/controller/ll_sw/ull_sync_iso.c

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -472,6 +472,7 @@ void ull_sync_iso_setup(struct ll_sync_iso_set *sync_iso,
472472
lll->payload_count |= (uint64_t)bi->payload_count_framing[2] << 16;
473473
lll->payload_count |= (uint64_t)bi->payload_count_framing[3] << 24;
474474
lll->payload_count |= (uint64_t)(bi->payload_count_framing[4] & 0x7f) << 32;
475+
lll->framing = (bi->payload_count_framing[4] & 0x80) >> 7;
475476

476477
/* Set establishment event countdown */
477478
lll->establish_events = CONN_ESTAB_COUNTDOWN;

0 commit comments

Comments
 (0)