Piotr Pryga | 0285903 | 2020-10-26 06:23:02 -0700 | [diff] [blame] | 1 | # Zephyr Bluetooth Controller configuration options |
| 2 | |
| 3 | # Copyright (c) 2020 Nordic Semiconductor ASA |
| 4 | # SPDX-License-Identifier: Apache-2.0 |
| 5 | |
Piotr Pryga | 622299b | 2023-05-19 19:12:13 +0200 | [diff] [blame] | 6 | # BT_CTLR_DF_SUPPORT is a wrapper for all DF features. It is referenced by Host |
| 7 | # to enable its DF related Kconfigs when build together with the Controller. |
| 8 | # It is required to enable it when Controller supports any DF related feature |
| 9 | # but particular features are selected individually. |
Piotr Pryga | 0285903 | 2020-10-26 06:23:02 -0700 | [diff] [blame] | 10 | config BT_CTLR_DF_SUPPORT |
| 11 | bool |
Piotr Pryga | 622299b | 2023-05-19 19:12:13 +0200 | [diff] [blame] | 12 | |
| 13 | if BT_CTLR_DF_SUPPORT |
Piotr Pryga | 0285903 | 2020-10-26 06:23:02 -0700 | [diff] [blame] | 14 | |
| 15 | config BT_CTLR_DF_CTE_TX_SUPPORT |
| 16 | bool |
| 17 | |
Piotr Pryga | f3e0489 | 2020-11-18 23:08:57 -0800 | [diff] [blame] | 18 | config BT_CTLR_DF_CTE_RX_SUPPORT |
| 19 | bool |
| 20 | |
| 21 | config BT_CTLR_DF_CTE_RX_SAMPLE_1US_SUPPORT |
| 22 | bool |
| 23 | |
Piotr Pryga | 0285903 | 2020-10-26 06:23:02 -0700 | [diff] [blame] | 24 | config BT_CTLR_DF_ANT_SWITCH_2US_SUPPORT |
| 25 | bool |
| 26 | |
| 27 | config BT_CTLR_DF_ANT_SWITCH_1US_SUPPORT |
| 28 | bool |
| 29 | |
Piotr Pryga | e03f9c3 | 2021-09-04 14:13:47 +0200 | [diff] [blame] | 30 | config BT_CTLR_CTEINLINE_SUPPORT |
| 31 | bool |
| 32 | |
Piotr Pryga | 622299b | 2023-05-19 19:12:13 +0200 | [diff] [blame] | 33 | endif # BT_CTLR_DF_SUPPORT |
| 34 | |
Piotr Pryga | 0285903 | 2020-10-26 06:23:02 -0700 | [diff] [blame] | 35 | menuconfig BT_CTLR_DF |
Piotr Pryga | f3d460f | 2022-05-25 10:58:14 +0200 | [diff] [blame] | 36 | bool "LE Direction Finding" |
Rubin Gerritsen | b25a2fa | 2022-04-21 13:47:28 +0200 | [diff] [blame] | 37 | depends on BT_CTLR_DF_CTE_TX_SUPPORT || BT_CTLR_DF_CTE_RX_SUPPORT |
Piotr Pryga | 0285903 | 2020-10-26 06:23:02 -0700 | [diff] [blame] | 38 | help |
| 39 | Enable support for Bluetooth 5.1 Direction Finding |
| 40 | |
| 41 | if BT_CTLR_DF |
| 42 | |
| 43 | # Basic controller functionalities required for implementation of |
| 44 | # Bluetooth v5.1 Direction Finding |
| 45 | |
| 46 | config BT_CTLR_DF_CTE_TX |
Gerard Marull-Paretas | 95fb0de | 2022-03-09 12:05:12 +0100 | [diff] [blame] | 47 | bool "Transmission of Constant Tone Extension" |
Piotr Pryga | 0285903 | 2020-10-26 06:23:02 -0700 | [diff] [blame] | 48 | depends on BT_CTLR_DF_CTE_TX_SUPPORT |
| 49 | default y |
| 50 | help |
| 51 | Enable support for transmission of Constant Tone Extension in |
| 52 | controller. |
| 53 | |
Piotr Pryga | f3e0489 | 2020-11-18 23:08:57 -0800 | [diff] [blame] | 54 | config BT_CTLR_DF_CTE_RX_SAMPLE_1US |
Gerard Marull-Paretas | 95fb0de | 2022-03-09 12:05:12 +0100 | [diff] [blame] | 55 | bool "Reception of CTE with 1us sampling slots" |
Piotr Pryga | f3e0489 | 2020-11-18 23:08:57 -0800 | [diff] [blame] | 56 | depends on BT_CTLR_DF_CTE_RX_SAMPLE_1US_SUPPORT |
| 57 | default y |
| 58 | help |
| 59 | Enable reception of Constant Tone Extension. Process IQ sampling |
| 60 | during CTE reception with 1us sampling slots. |
| 61 | This sampling mode is optional for Direction Finding according to |
| 62 | Bluetooth v5.1. |
| 63 | |
Piotr Pryga | 307ac64 | 2020-11-20 05:16:05 -0800 | [diff] [blame] | 64 | config BT_CTLR_DF_ANT_SWITCH_1US |
Gerard Marull-Paretas | 95fb0de | 2022-03-09 12:05:12 +0100 | [diff] [blame] | 65 | bool "Support for 1us antenna switch slots" |
Piotr Pryga | 0285903 | 2020-10-26 06:23:02 -0700 | [diff] [blame] | 66 | depends on BT_CTLR_DF_ANT_SWITCH_1US_SUPPORT |
| 67 | default y |
| 68 | help |
| 69 | Enable support for 1us antenna switching slots. This antenna switching |
| 70 | mode is optional for Direction Finding according to Bluetooth v5.1. |
| 71 | |
| 72 | # Features related with Direction Finding |
| 73 | # BT Core spec 5.1, Vol 6, Part B, sec. 4.6 Feature Support |
| 74 | |
| 75 | config BT_CTLR_DF_ANT_SWITCH_TX |
Gerard Marull-Paretas | 95fb0de | 2022-03-09 12:05:12 +0100 | [diff] [blame] | 76 | bool "Antenna switching during CTE transmission (AoD) feature" |
Piotr Pryga | 0285903 | 2020-10-26 06:23:02 -0700 | [diff] [blame] | 77 | depends on BT_CTLR_DF_CTE_TX && BT_CTLR_DF_ANT_SWITCH_2US_SUPPORT |
| 78 | default y |
| 79 | help |
| 80 | Enable support for antenna switching during CTE transmission. |
| 81 | Also known as Angle of Departure mode. |
| 82 | |
Piotr Pryga | f3e0489 | 2020-11-18 23:08:57 -0800 | [diff] [blame] | 83 | config BT_CTLR_DF_ANT_SWITCH_RX |
Gerard Marull-Paretas | 95fb0de | 2022-03-09 12:05:12 +0100 | [diff] [blame] | 84 | bool "Antenna switching during CTE reception (AoA) feature" |
Piotr Pryga | 9b3c941 | 2021-02-11 05:42:39 -0800 | [diff] [blame] | 85 | depends on BT_CTLR_DF_CTE_RX && BT_CTLR_DF_ANT_SWITCH_2US_SUPPORT |
Piotr Pryga | ca87766 | 2021-04-17 19:50:29 +0200 | [diff] [blame] | 86 | default y |
Piotr Pryga | f3e0489 | 2020-11-18 23:08:57 -0800 | [diff] [blame] | 87 | help |
| 88 | Enable support for antenna switching during CTE reception. |
| 89 | Also known as Angle of Arrival mode. |
| 90 | |
| 91 | config BT_CTLR_DF_CTE_RX |
Gerard Marull-Paretas | 95fb0de | 2022-03-09 12:05:12 +0100 | [diff] [blame] | 92 | bool "Reception of Constant Tone Extension feature" |
Piotr Pryga | f3e0489 | 2020-11-18 23:08:57 -0800 | [diff] [blame] | 93 | depends on BT_CTLR_DF_CTE_RX_SUPPORT |
Piotr Pryga | 5789029 | 2021-10-31 00:40:25 +0200 | [diff] [blame] | 94 | select BT_CTLR_CONN_RSSI if BT_CONN |
Piotr Pryga | f3e0489 | 2020-11-18 23:08:57 -0800 | [diff] [blame] | 95 | default y |
| 96 | help |
| 97 | Enable support for reception of Constant Tone Extension in controller. |
| 98 | |
Piotr Pryga | 2aa3fbb | 2021-05-12 11:10:07 +0200 | [diff] [blame] | 99 | config BT_CTLR_DF_CONN_CTE_REQ |
Gerard Marull-Paretas | 95fb0de | 2022-03-09 12:05:12 +0100 | [diff] [blame] | 100 | bool "Connection CTE Request feature" |
Piotr Pryga | c5812ba | 2022-01-04 07:56:02 +0100 | [diff] [blame] | 101 | depends on BT_CTLR_DF_CONN_CTE_RX |
Piotr Pryga | 2aa3fbb | 2021-05-12 11:10:07 +0200 | [diff] [blame] | 102 | help |
| 103 | Enable support for Bluetooth v5.1 Connection CTE Request feature |
| 104 | in controller. |
| 105 | |
Piotr Pryga | 0285903 | 2020-10-26 06:23:02 -0700 | [diff] [blame] | 106 | config BT_CTLR_DF_CONN_CTE_RSP |
Gerard Marull-Paretas | 95fb0de | 2022-03-09 12:05:12 +0100 | [diff] [blame] | 107 | bool "Connection CTE Response feature" |
Piotr Pryga | 1ff9baf | 2021-12-09 13:02:03 +0100 | [diff] [blame] | 108 | depends on BT_CTLR_DF_CONN_CTE_TX |
Piotr Pryga | 0285903 | 2020-10-26 06:23:02 -0700 | [diff] [blame] | 109 | help |
| 110 | Enable support for Bluetooth v5.1 Connection CTE Response feature |
| 111 | in controller. |
| 112 | |
Piotr Pryga | 307ac64 | 2020-11-20 05:16:05 -0800 | [diff] [blame] | 113 | config BT_CTLR_DF_ADV_CTE_TX |
Gerard Marull-Paretas | 95fb0de | 2022-03-09 12:05:12 +0100 | [diff] [blame] | 114 | bool "Connectionless CTE Transmitter feature" |
Piotr Pryga | 307ac64 | 2020-11-20 05:16:05 -0800 | [diff] [blame] | 115 | depends on BT_CTLR_DF_CTE_TX && BT_CTLR_ADV_PERIODIC |
Rubin Gerritsen | b513536 | 2022-04-21 14:00:58 +0200 | [diff] [blame] | 116 | select BT_CTLR_ADV_EXT_PDU_EXTRA_DATA_MEMORY if BT_LL_SW_SPLIT |
Piotr Pryga | 307ac64 | 2020-11-20 05:16:05 -0800 | [diff] [blame] | 117 | default y |
| 118 | help |
| 119 | Enable support for Bluetooth v5.1 Connectionless CTE Transmitter |
| 120 | feature in controller. |
| 121 | |
Piotr Pryga | 68704c8 | 2021-04-09 07:52:52 +0200 | [diff] [blame] | 122 | config BT_CTLR_DF_SCAN_CTE_RX |
Gerard Marull-Paretas | 95fb0de | 2022-03-09 12:05:12 +0100 | [diff] [blame] | 123 | bool "Connectionless CTE Receiver" |
Piotr Pryga | 68704c8 | 2021-04-09 07:52:52 +0200 | [diff] [blame] | 124 | depends on BT_CTLR_DF_CTE_RX && BT_CTLR_SYNC_PERIODIC |
| 125 | default y |
| 126 | help |
| 127 | Enable support for Bluetooth v5.1 connectionless CTE reception |
| 128 | in controller. |
| 129 | |
Piotr Pryga | 1ff9baf | 2021-12-09 13:02:03 +0100 | [diff] [blame] | 130 | config BT_CTLR_DF_CONN_CTE_TX |
Gerard Marull-Paretas | 95fb0de | 2022-03-09 12:05:12 +0100 | [diff] [blame] | 131 | bool "Connection based CTE Transmitter" |
Piotr Pryga | 1ff9baf | 2021-12-09 13:02:03 +0100 | [diff] [blame] | 132 | depends on BT_CTLR_DF_CTE_TX && BT_CONN |
| 133 | default y |
| 134 | help |
| 135 | Enable transmission of Constant Tone Extension in |
| 136 | direction finding connected mode. |
| 137 | |
Piotr Pryga | c5812ba | 2022-01-04 07:56:02 +0100 | [diff] [blame] | 138 | config BT_CTLR_DF_CONN_CTE_RX |
Gerard Marull-Paretas | 95fb0de | 2022-03-09 12:05:12 +0100 | [diff] [blame] | 139 | bool "Connection based CTE Receiver" |
Piotr Pryga | 5789029 | 2021-10-31 00:40:25 +0200 | [diff] [blame] | 140 | depends on BT_CTLR_DF_CTE_RX && BT_CONN |
| 141 | default y |
| 142 | help |
Piotr Pryga | c5812ba | 2022-01-04 07:56:02 +0100 | [diff] [blame] | 143 | Enable reception and sampling of Constant Tone Extension in direction |
| 144 | finding connected mode. |
Piotr Pryga | 5789029 | 2021-10-31 00:40:25 +0200 | [diff] [blame] | 145 | |
Rubin Gerritsen | aec5307 | 2022-04-21 13:59:11 +0200 | [diff] [blame] | 146 | if BT_LL_SW_SPLIT |
| 147 | |
Piotr Pryga | e884c02 | 2021-04-09 11:28:44 +0200 | [diff] [blame] | 148 | config BT_CTLR_DF_SAMPLE_CTE_FOR_PDU_WITH_BAD_CRC |
Gerard Marull-Paretas | 95fb0de | 2022-03-09 12:05:12 +0100 | [diff] [blame] | 149 | bool "Sampling of CTE for PDUs with bad CRC" |
Piotr Pryga | e884c02 | 2021-04-09 11:28:44 +0200 | [diff] [blame] | 150 | depends on BT_CTLR_DF_SCAN_CTE_RX |
| 151 | default y |
| 152 | help |
| 153 | Enable support for sampling of CTE for PDUs that have bad CRC. |
| 154 | |
Piotr Pryga | 307ac64 | 2020-11-20 05:16:05 -0800 | [diff] [blame] | 155 | # Customization setting to manage memory usage footprint |
| 156 | |
| 157 | config BT_CTLR_DF_MAX_ANT_SW_PATTERN_LEN |
| 158 | int "Maximum length of antenna switch pattern" |
Piotr Pryga | 0a497fc | 2022-05-06 14:00:05 +0200 | [diff] [blame] | 159 | range 2 38 if SOC_COMPATIBLE_NRF |
Piotr Pryga | 307ac64 | 2020-11-20 05:16:05 -0800 | [diff] [blame] | 160 | range 2 75 if !SOC_COMPATIBLE_NRF |
| 161 | default 12 |
| 162 | help |
Piotr Pryga | f3e0489 | 2020-11-18 23:08:57 -0800 | [diff] [blame] | 163 | Defines maximum length of antenna switch pattern that controller |
| 164 | is able to store. For nRF5x-based controllers, the hardware imposes |
Piotr Pryga | 0a497fc | 2022-05-06 14:00:05 +0200 | [diff] [blame] | 165 | the value is within range 2 to 38, where last value is maximum. |
Piotr Pryga | f3e0489 | 2020-11-18 23:08:57 -0800 | [diff] [blame] | 166 | For general use cases Bluetooth Core 5.1 spec. required the value |
| 167 | to be within range 2 up to 75. |
Piotr Pryga | 307ac64 | 2020-11-20 05:16:05 -0800 | [diff] [blame] | 168 | |
Piotr Pryga | 64cb4bb | 2021-02-12 05:21:43 -0800 | [diff] [blame] | 169 | config BT_CTLR_DF_INIT_ANT_SEL_GPIOS |
Gerard Marull-Paretas | 95fb0de | 2022-03-09 12:05:12 +0100 | [diff] [blame] | 170 | bool "Initialization of GPIOs responsible for antenna switching" |
Piotr Pryga | 64cb4bb | 2021-02-12 05:21:43 -0800 | [diff] [blame] | 171 | depends on BT_CTLR_DF_ANT_SWITCH_TX || BT_CTLR_DF_ANT_SWITCH_RX |
| 172 | default y |
| 173 | help |
| 174 | Enable implicit initialization of GPIOs responsible for antenna |
| 175 | switching during Radio initialization. |
| 176 | If this feature is not enabled, the Radio initialization procedure will |
| 177 | not initialize GPIOs pins selected to drive antenna switching. |
| 178 | In such case application is responsible for appropriate GPIOs |
| 179 | initialization. |
| 180 | |
Piotr Pryga | f01b77f | 2021-06-14 15:15:59 +0200 | [diff] [blame] | 181 | config BT_CTLR_DF_PER_ADV_CTE_NUM_MAX |
| 182 | int "Maximum number of transmitted PDUs with Constant Tone Extension in connectionless mode" |
| 183 | depends on BT_CTLR_DF_ADV_CTE_TX && BT_CTLR_ADV_PDU_LINK |
| 184 | range 1 16 |
| 185 | default 1 |
| 186 | help |
| 187 | Maximum supported number of PDUs, that have Constant Tone Extension, transmitted in single |
| 188 | periodic advertising chain. The range is taken from BT Core spec 5.1, Vol 4 Part E |
| 189 | section 7.8.82 HCI_LE_Set_Connectionless_IQ_Sampling_Enable Max_Sampled_CTEs parameter. |
| 190 | |
Andrzej Kaczmarek | f353202 | 2021-08-25 13:54:23 +0200 | [diff] [blame] | 191 | config BT_CTLR_DF_PER_SCAN_CTE_NUM_MAX |
| 192 | int "Maximum number of received PDUs with Constant Tone Extension in connectionless mode" |
| 193 | depends on BT_CTLR_DF_SCAN_CTE_RX |
| 194 | range 1 16 |
| 195 | default 16 |
| 196 | help |
| 197 | Maximum supported number of PDUs, that have Constant Tone Extension, received in single |
| 198 | periodic advertising chain. The range is taken from BT Core spec 5.1, Vol 4 Part E |
| 199 | section 7.8.82 HCI_LE_Set_Connectionless_IQ_Sampling_Enable Max_Sampled_CTEs parameter. |
| 200 | |
Piotr Pryga | 008fd88 | 2022-02-25 10:36:38 +0100 | [diff] [blame] | 201 | config BT_CTLR_DF_SWITCH_OFFSET |
| 202 | int "Antenna switch offset relative to end of CRC" |
| 203 | depends on SOC_COMPATIBLE_NRF |
| 204 | range -2048 2047 |
| 205 | default 0 |
| 206 | help |
| 207 | Offset of start of antenna switching after end of the CRC. It is a signed value in number |
| 208 | of 16M cycles. Decreasing the offset value beyond the trigger of the AoA/AoD procedure |
| 209 | will have no effect. |
| 210 | |
| 211 | config BT_CTLR_DF_SAMPLE_OFFSET_PHY_1M_SAMPLING_1US |
| 212 | int "CTE sampling offset relative for PHY 1M and 1US samples spacing" |
| 213 | depends on SOC_COMPATIBLE_NRF |
| 214 | range -2048 2047 |
| 215 | default 1 |
| 216 | help |
| 217 | Offset of sampling start from beginning of sampling slot. The value is a signed number |
Nazar Kazakov | f483b1b | 2022-03-16 21:07:43 +0000 | [diff] [blame] | 218 | of 16M cycles relative. It is used when PHY is set to PHY 1M and sampling slot duration |
Piotr Pryga | 008fd88 | 2022-02-25 10:36:38 +0100 | [diff] [blame] | 219 | is 1 us. Decreasing the offset beyond the trigger of the AoA/AoD procedure will have |
| 220 | no effect. |
| 221 | |
| 222 | config BT_CTLR_DF_SAMPLE_OFFSET_PHY_2M_SAMPLING_1US |
| 223 | int "CTE sampling offset relative for PHY 1M and 1US samples spacing" |
| 224 | depends on SOC_COMPATIBLE_NRF |
| 225 | range -2048 2047 |
| 226 | default 15 |
| 227 | help |
| 228 | Offset of sampling start from beginning of sampling slot. The value is a signed number |
Nazar Kazakov | f483b1b | 2022-03-16 21:07:43 +0000 | [diff] [blame] | 229 | of 16M cycles relative. It is used when PHY is set to PHY 1M and sampling slot duration |
Piotr Pryga | 008fd88 | 2022-02-25 10:36:38 +0100 | [diff] [blame] | 230 | is 1 us. Decreasing the offset beyond the trigger of the AoA/AoD procedure will have |
| 231 | no effect. |
| 232 | |
| 233 | |
| 234 | config BT_CTLR_DF_SAMPLE_OFFSET_PHY_1M_SAMPLING_2US |
| 235 | int "CTE sampling offset relative for PHY 1M and 2US samples spacing" |
| 236 | depends on SOC_COMPATIBLE_NRF |
| 237 | range -2048 2047 |
| 238 | default 6 |
| 239 | help |
| 240 | Offset of sampling start from beginning of sampling slot. The value is a signed number |
Nazar Kazakov | f483b1b | 2022-03-16 21:07:43 +0000 | [diff] [blame] | 241 | of 16M cycles relative. It is used when PHY is set to PHY 1M and sampling slot duration |
Piotr Pryga | 008fd88 | 2022-02-25 10:36:38 +0100 | [diff] [blame] | 242 | is 2 us. Decreasing the offset beyond the trigger of the AoA/AoD procedure will have |
| 243 | no effect. |
| 244 | |
| 245 | config BT_CTLR_DF_SAMPLE_OFFSET_PHY_2M_SAMPLING_2US |
| 246 | int "CTE sampling offset relative for PHY 1M and 2US samples spacing" |
| 247 | depends on SOC_COMPATIBLE_NRF |
| 248 | range -2048 2047 |
| 249 | default 20 |
| 250 | help |
| 251 | Offset of sampling start from beginning of sampling slot. The value is a signed number |
Nazar Kazakov | f483b1b | 2022-03-16 21:07:43 +0000 | [diff] [blame] | 252 | of 16M cycles relative. It is used when PHY is set to PHY 1M and sampling slot duration |
Piotr Pryga | 008fd88 | 2022-02-25 10:36:38 +0100 | [diff] [blame] | 253 | is 2 us. Decreasing the offset beyond the trigger of the AoA/AoD procedure will have |
| 254 | no effect. |
| 255 | |
Piotr Pryga | 2e1e8af | 2021-03-31 08:10:19 +0200 | [diff] [blame] | 256 | config BT_CTLR_DF_DEBUG_ENABLE |
| 257 | bool "Bluetooth Direction Finding debug support enable" |
| 258 | help |
| 259 | This option enables debug support for the Direction Finding |
| 260 | implementation in controller. |
| 261 | |
Piotr Pryga | 23dd369 | 2021-10-26 14:06:37 +0200 | [diff] [blame] | 262 | config BT_CTLR_DF_PHYEND_OFFSET_COMPENSATION_ENABLE |
| 263 | bool |
Piotr Pryga | 9a117bd | 2021-12-22 23:29:55 +0100 | [diff] [blame] | 264 | depends on BT_CTLR_DF_CTE_RX && BT_CONN && (SOC_NRF52811 || SOC_NRF52820 || SOC_NRF52833 || SOC_NRF5340_CPUNET) |
Piotr Pryga | 23dd369 | 2021-10-26 14:06:37 +0200 | [diff] [blame] | 265 | default y |
| 266 | help |
Piotr Pryga | 9a117bd | 2021-12-22 23:29:55 +0100 | [diff] [blame] | 267 | SOCs nRF52811, nRF52820, nRF52833, nRF5340 generate PHYEND event delayed when |
Piotr Pryga | 23dd369 | 2021-10-26 14:06:37 +0200 | [diff] [blame] | 268 | CTEINLINECTRLEN is enabled and received PDU does not have CTEInfo field. The option |
| 269 | enables workaround for the delay to maintain inter frame spacing (IFS) for connection |
| 270 | events. |
| 271 | |
Piotr Pryga | dffbcb8 | 2022-08-02 12:06:23 +0200 | [diff] [blame] | 272 | choice |
| 273 | prompt "IQ samples 12 bit to 8 bit conversion approach" |
| 274 | default BT_CTLR_DF_IQ_SAMPLES_CONVERT_2_BITS_SHIFT if !SOC_NRF5340_CPUNET |
| 275 | default BT_CTLR_DF_IQ_SAMPLES_CONVERT_USE_8_LSB if SOC_NRF5340_CPUNET |
| 276 | |
| 277 | config BT_CTLR_DF_IQ_SAMPLES_CONVERT_4_BITS_SHIFT |
| 278 | bool "Conversion of IQ samples to 8 bits wide by 4 bits shift" |
| 279 | depends on BT_CTLR_DF_SCAN_CTE_RX || BT_CTLR_DF_CONN_CTE_RX |
| 280 | help |
| 281 | IQ samples provided by the Radio Direction Finding Extension are 12 bit wide. The |
| 282 | Bluetooth 5.3 Core Specification defines IQ samples to be 8 bits wide: Vol 4, Part E |
| 283 | sections 7.7.65.21 and 7.7.65.22. This config enables conversion of 12 bit IQ samples to |
| 284 | 8 bits by ordinary right shift operation by 4 bits. That means there is loss in accuracy |
| 285 | since only the 8 MSB are used. |
| 286 | |
| 287 | config BT_CTLR_DF_IQ_SAMPLES_CONVERT_2_BITS_SHIFT |
| 288 | bool "Conversion of IQ samples to 8 bits wide by 2 bits shift" |
| 289 | depends on BT_CTLR_DF_SCAN_CTE_RX || BT_CTLR_DF_CONN_CTE_RX |
| 290 | help |
| 291 | IQ samples provided by the Radio Direction Finding Extension are 12 bit wide. The |
| 292 | Bluetooth 5.3 Core Specification defines IQ samples to be 8 bits wide: Vol 4, Part E |
| 293 | sections 7.7.65.21 and 7.7.65.22. This config enables conversion of 12 bit IQ samples to |
| 294 | 8 bits by ordinary right shift operation by 2 bits and a cast to int8_t. That means there |
| 295 | is a loss in accuracy. This conversion may be used only if you are sure samples will not |
| 296 | saturate. |
| 297 | |
| 298 | config BT_CTLR_DF_IQ_SAMPLES_CONVERT_USE_8_LSB |
| 299 | bool "Conversion of IQ samples to 8 bits wide by use of 8 LSB" |
| 300 | depends on SOC_NRF5340_CPUNET && (BT_CTLR_DF_SCAN_CTE_RX || BT_CTLR_DF_CONN_CTE_RX) |
| 301 | help |
| 302 | IQ samples provided by the Radio Direction Finding Extension are 12 bit wide. The |
| 303 | Bluetooth 5.3 Core Specification defines IQ samples to be 8 bits wide: Vol 4, Part E |
| 304 | sections 7.7.65.21 and 7.7.65.22. This config enables conversion of 12 bit IQ samples to |
| 305 | 8 bits by use of 8 least significant bits. This conversion may be used only if you are |
| 306 | sure actual samples are not greater than 8 bits. This prevents additional accuracy loss |
| 307 | due to shifting operation. |
| 308 | |
| 309 | endchoice |
| 310 | |
Piotr Pryga | d8d8ef7 | 2022-07-21 14:52:18 +0200 | [diff] [blame] | 311 | # Vendor specifici extensions configuration |
| 312 | |
| 313 | config BT_CTLR_DF_VS_CL_IQ_REPORT_16_BITS_IQ_SAMPLES |
| 314 | bool "Use 16 bits signed integer IQ samples in connectionless IQ reports" |
Johan Hedberg | 18c23da | 2024-05-10 15:37:11 +0300 | [diff] [blame] | 315 | depends on BT_CTLR_DF_SCAN_CTE_RX && BT_HCI_VS |
Piotr Pryga | d8d8ef7 | 2022-07-21 14:52:18 +0200 | [diff] [blame] | 316 | help |
| 317 | Direction Finging connectionless IQ reports provide a set of IQ samples collected during |
| 318 | sampling of CTE. Bluetooth 5.3 Core Specification defines IQ samples to be 8 bits signed |
| 319 | integer, see Vol 4, Part E section 7.7.65.21. This option enables a vendor specific |
Pisit Sawangvonganan | 9b305d5 | 2024-02-21 00:24:09 +0700 | [diff] [blame] | 320 | extension to HCI layer, so that connectionless IQ reports store samples in 16 bit signed |
Piotr Pryga | d8d8ef7 | 2022-07-21 14:52:18 +0200 | [diff] [blame] | 321 | integer format. |
| 322 | |
| 323 | config BT_CTLR_DF_VS_CONN_IQ_REPORT_16_BITS_IQ_SAMPLES |
| 324 | bool "Use 16 bits signed integer IQ samples in connection IQ reports" |
Johan Hedberg | 18c23da | 2024-05-10 15:37:11 +0300 | [diff] [blame] | 325 | depends on BT_CTLR_DF_CONN_CTE_RX && BT_HCI_VS |
Piotr Pryga | d8d8ef7 | 2022-07-21 14:52:18 +0200 | [diff] [blame] | 326 | help |
| 327 | Direction Finging connection IQ reports provide a set of IQ samples collected during |
| 328 | sampling of CTE. Bluetooth 5.3 Core Specification defines IQ samples to be 8 bits signed |
| 329 | integer, see Vol 4, Part E section 7.7.65.22. This option enables a vendor specific |
Pisit Sawangvonganan | 9b305d5 | 2024-02-21 00:24:09 +0700 | [diff] [blame] | 330 | extension to HCI layer, so that connection IQ reports store samples in 16 bit signed |
Piotr Pryga | d8d8ef7 | 2022-07-21 14:52:18 +0200 | [diff] [blame] | 331 | integer format. |
| 332 | |
Rubin Gerritsen | aec5307 | 2022-04-21 13:59:11 +0200 | [diff] [blame] | 333 | endif # BT_LL_SW_SPLIT |
| 334 | |
Piotr Pryga | 307ac64 | 2020-11-20 05:16:05 -0800 | [diff] [blame] | 335 | endif # BT_CTLR_DF |