CONFIG_BT_CTLR_SW_SWITCH_SINGLE_TIMER

Single TIMER tIFS Trx SW switching

Type: bool

Help

Implement the tIFS Trx SW switch with the same TIMER instance, as the one used for BLE event timing. Requires SW switching be enabled. Using a single TIMER: (+) frees up one TIMER instance (+) removes jitter for HCTO implementation (-) introduces drifting to the absolute time inside BLE events, that increases linearly with the number of packets exchanged in the event (-) makes it impossible to use most of the pre-programmed PPI channels for the controller, resulting in 4 channels less left for other uses

Direct dependencies

!BT_CTLR_TIFS_HW && (SOC_COMPATIBLE_NRF52X || SOC_SERIES_NRF53X) && BT_LL_SW_SPLIT && BT_CTLR && BT_HCI && BT

(Includes any dependencies from ifs and menus.)

Defaults

No defaults. Implicitly defaults to n.

Kconfig definition

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

Included via <Zephyr>/Kconfig:8<Zephyr>/Kconfig.zephyr:34<Zephyr>/subsys/Kconfig:9<Zephyr>/subsys/bluetooth/Kconfig:240<Zephyr>/subsys/bluetooth/controller/Kconfig:595

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

config BT_CTLR_SW_SWITCH_SINGLE_TIMER
    bool "Single TIMER tIFS Trx SW switching" if BT_CTLR_ADVANCED_FEATURES
    depends on !BT_CTLR_TIFS_HW && (SOC_COMPATIBLE_NRF52X || SOC_SERIES_NRF53X) && BT_LL_SW_SPLIT && BT_CTLR && BT_HCI && BT
    help
      Implement the tIFS Trx SW switch with the same TIMER
      instance, as the one used for BLE event timing. Requires
      SW switching be enabled. Using a single TIMER:
      (+) frees up one TIMER instance
      (+) removes jitter for HCTO implementation
      (-) introduces drifting to the absolute time inside BLE
      events, that increases linearly with the number of
      packets exchanged in the event
      (-) makes it impossible to use most of the pre-programmed
      PPI channels for the controller, resulting in 4 channels
      less left for other uses

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