:orphan: .. title:: BT_CTLR_SW_SWITCH_SINGLE_TIMER .. option:: 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 =================== !\ :option:`BT_CTLR_TIFS_HW ` && (\ :option:`SOC_COMPATIBLE_NRF52X ` || \ :option:`SOC_SERIES_NRF53X `) && \ :option:`BT_LL_SW_SPLIT ` && \ :option:`BT_CTLR ` && \ :option:`BT_HCI ` && \ :option:`BT ` *(Includes any dependencies from ifs and menus.)* Defaults ======== No defaults. Implicitly defaults to ``n``. Kconfig definition ================== .. highlight:: kconfig At ``subsys/bluetooth/controller/Kconfig.ll_sw_split:350`` Included via ``Kconfig:8`` → ``Kconfig.zephyr:34`` → ``subsys/Kconfig:9`` → ``subsys/bluetooth/Kconfig:240`` → ``subsys/bluetooth/controller/Kconfig:594`` Menu path: (Top) → Sub Systems and OS Services → Bluetooth → Bluetooth Controller → Advanced features .. parsed-literal:: config BT_CTLR_SW_SWITCH_SINGLE_TIMER bool "Single TIMER tIFS Trx SW switching" if \ :option:`BT_CTLR_ADVANCED_FEATURES ` depends on !\ :option:`BT_CTLR_TIFS_HW ` && (\ :option:`SOC_COMPATIBLE_NRF52X ` || \ :option:`SOC_SERIES_NRF53X `) && \ :option:`BT_LL_SW_SPLIT ` && \ :option:`BT_CTLR ` && \ :option:`BT_HCI ` && \ :option:`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.)*