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 && BT_CTLR && BT_HCI && BT

(Includes any dependencies from if’s and menus.)

Defaults

No defaults. Implicitly defaults to n.

Kconfig definition

At subsys/bluetooth/controller/Kconfig:532

Included via Kconfig:10Kconfig.zephyr:39subsys/Kconfig:8subsys/bluetooth/Kconfig:145

Menu path: (top menu) → Bluetooth → Bluetooth support → Bluetooth Controller → Advanced features

config BT_CTLR_SW_SWITCH_SINGLE_TIMER
    bool
    prompt "Single TIMER tIFS Trx SW switching" if !BT_CTLR_TIFS_HW && SOC_COMPATIBLE_NRF52X && BT_CTLR && BT_HCI && BT && BT_CTLR_ADVANCED_FEATURES
    depends on !BT_CTLR_TIFS_HW && SOC_COMPATIBLE_NRF52X && 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

(Definitions include propagated dependencies, including from if’s and menus.)