Bluetooth: Controller: Add margin to ISOALs time offset
To ensure payloads are delivered in time for the first subevent in framed BIS, ISOAL now enforces a (configurable) margin of the calculated time offset Without this margin, it has been observed that a broadcaster can end up consistently missing the first subevent in every third event in a 7.5 ms ISO with a 10 ms SDU interval The margin is a conservative 2 ms by default, but can likely be set a lot lower for most implementations and HWs Signed-off-by: Troels Nilsson <trnn@demant.com>
This commit is contained in:
parent
99a5236b40
commit
fa3bfa5453
4 changed files with 47 additions and 4 deletions
|
@ -57,6 +57,25 @@ config BT_CTLR_ISOAL_SN_STRICT
|
|||
depends on BT_CTLR_ADV_ISO || BT_CTLR_CONN_ISO
|
||||
default y
|
||||
|
||||
config BT_CTLR_ISOAL_FRAMED_BIS_OFFSET_MARGIN
|
||||
int "Margin (in microseconds) to be used in framed time offset for BIS"
|
||||
depends on BT_CTLR_ADV_ISO || BT_CTLR_CONN_ISO
|
||||
default 2000
|
||||
range 0 10000
|
||||
help
|
||||
Needed margin for reliable delivery of payloads will vary, but should
|
||||
generally be EVENT_OVERHEAD_START_US + a small margin to cover ISOAL
|
||||
processing overhead
|
||||
|
||||
config BT_CTLR_ISOAL_FRAMED_CIS_OFFSET_MARGIN
|
||||
int "Margin (in microseconds) to be used in framed time offset for CIS"
|
||||
depends on BT_CTLR_ADV_ISO || BT_CTLR_CONN_ISO
|
||||
default 0
|
||||
range 0 10000
|
||||
help
|
||||
Note: Usually no margin is needed for CIS as Null PDUs can be used if a payload
|
||||
is too late for the first subevent
|
||||
|
||||
source "tests/bluetooth/controller/common/Kconfig"
|
||||
|
||||
source "Kconfig.zephyr"
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue