CONFIG_BT_CTLR_SCHED_ADVANCED

Advanced scheduling

Type: bool

Help

Enable non-overlapping placement of observer, initiator and central
roles in timespace. Uses window offset in connection updates and uses
connection parameter request in peripheral role to negotiate
non-overlapping placement with active central roles to avoid peripheral
roles drifting into active central roles in the local controller.

This feature maximizes the average data transmission amongst active
concurrent central and peripheral connections while other observer,
initiator, central or peripheral roles are active in the local controller.

Disabling this feature will lead to overlapping role in timespace
leading to skipped events amongst active roles.

Direct dependencies

BT_MAX_CONN != 0 && BT_CTLR_SCHED_ADVANCED_SUPPORT && BT_LL_SW_SPLIT && BT_CTLR && BT_HCI && BT

(Includes any dependencies from ifs and menus.)

Default

Kconfig definition

At <Zephyr>/subsys/bluetooth/controller/Kconfig.ll_sw_split:343

Included via <Zephyr>/Kconfig:8<Zephyr>/Kconfig.zephyr:44<Zephyr>/subsys/Kconfig:9<Zephyr>/subsys/bluetooth/Kconfig:181<Zephyr>/subsys/bluetooth/controller/Kconfig:790

Menu path: (Top) → Sub Systems and OS Services → Bluetooth → Bluetooth Controller → Advanced features

config BT_CTLR_SCHED_ADVANCED
    bool "Advanced scheduling" if BT_CTLR_ADVANCED_FEATURES
    default y if !(BT_PERIPHERAL && !BT_CENTRAL)
    depends on BT_MAX_CONN != 0 && BT_CTLR_SCHED_ADVANCED_SUPPORT && BT_LL_SW_SPLIT && BT_CTLR && BT_HCI && BT
    help
      Enable non-overlapping placement of observer, initiator and central
      roles in timespace. Uses window offset in connection updates and uses
      connection parameter request in peripheral role to negotiate
      non-overlapping placement with active central roles to avoid peripheral
      roles drifting into active central roles in the local controller.

      This feature maximizes the average data transmission amongst active
      concurrent central and peripheral connections while other observer,
      initiator, central or peripheral roles are active in the local controller.

      Disabling this feature will lead to overlapping role in timespace
      leading to skipped events amongst active roles.

(The ‘depends on’ condition includes propagated dependencies from ifs and menus.)