Bluetooth: controller: Scanning with unreserved window
Added a Kconfig option to enable scanner with unreserved scan window when in continuous scan mode. This will permit scanner to be always pre-empted by other roles, making it the lowest in priority when it comes to using the radio. Fixes #27414. Signed-off-by: Vinayak Kariappa Chettimada <vich@nordicsemi.no>
This commit is contained in:
parent
491a426639
commit
61b6534727
2 changed files with 16 additions and 4 deletions
|
@ -413,6 +413,14 @@ config BT_CTLR_SCAN_INDICATION
|
|||
help
|
||||
Generate events indicating on air scanner events.
|
||||
|
||||
config BT_CTLR_SCAN_UNRESERVED
|
||||
bool "Unreserved scan window"
|
||||
depends on BT_OBSERVER
|
||||
default y if BT_MESH
|
||||
help
|
||||
Scanner will not use time space reservation for scan window when in
|
||||
continuous scan mode.
|
||||
|
||||
config BT_MAYFLY_YIELD_AFTER_CALL
|
||||
bool "Yield from mayfly thread after first call"
|
||||
default y
|
||||
|
|
|
@ -294,10 +294,14 @@ uint8_t ull_scan_enable(struct ll_scan_set *scan)
|
|||
(lll->ticks_window +
|
||||
HAL_TICKER_US_TO_TICKS(EVENT_OVERHEAD_START_US));
|
||||
} else {
|
||||
scan->evt.ticks_slot =
|
||||
(ticks_interval -
|
||||
HAL_TICKER_US_TO_TICKS(EVENT_OVERHEAD_XTAL_US));
|
||||
lll->ticks_window = 0;
|
||||
if (IS_ENABLED(CONFIG_BT_CTLR_SCAN_UNRESERVED)) {
|
||||
scan->evt.ticks_slot = 0U;
|
||||
} else {
|
||||
scan->evt.ticks_slot = ticks_interval -
|
||||
HAL_TICKER_US_TO_TICKS(EVENT_OVERHEAD_XTAL_US);
|
||||
}
|
||||
|
||||
lll->ticks_window = 0U;
|
||||
}
|
||||
|
||||
if (IS_ENABLED(CONFIG_BT_CTLR_LOW_LAT)) {
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue