:orphan: .. title:: CONFIG_BT_CTLR_SW_SWITCH_SINGLE_TIMER .. kconfig:: CONFIG_BT_CTLR_SW_SWITCH_SINGLE_TIMER CONFIG_BT_CTLR_SW_SWITCH_SINGLE_TIMER ##################################### *Single TIMER tIFS Trx SW switching* Type: ``bool`` Help ==== .. code-block:: none 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 =================== !\ :kconfig:`BT_CTLR_TIFS_HW ` && (\ :kconfig:`SOC_COMPATIBLE_NRF52X ` || \ :kconfig:`SOC_SERIES_NRF53X `) && \ :kconfig:`BT_LL_SW_SPLIT ` && \ :kconfig:`BT_CTLR ` && \ :kconfig:`BT_HCI ` && \ :kconfig:`BT ` *(Includes any dependencies from ifs and menus.)* Defaults ======== No defaults. Implicitly defaults to ``n``. Kconfig definition ================== At ``/bluetooth/controller/Kconfig.ll_sw_split:401`` Included via ``Kconfig:8`` → ``Kconfig.zephyr:44`` → ``/Kconfig:9`` → ``/bluetooth/Kconfig:175`` → ``/bluetooth/controller/Kconfig:659`` Menu path: (Top) → Sub Systems and OS Services → Bluetooth → Bluetooth Controller → Advanced features .. code-block:: kconfig 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.)*