Skip to content

Commit b56a2d1

Browse files
ppryga-nordicnashif
authored andcommitted
Bluetooth: controller: Add extra data storage for ext. adv. configuration
The storage for extra data is required for implementation of CTE transmission with periodic advertising. Data required to transmit CTE correctly are compound of two parts: - PDU field CTEInfo - radio configuration to transmit actual constant tone at the end of PDU. Extra data is a storage required for radio configuration data. Nevertheless it must be in compliance with content of CTEInfo field. Because of that extra data is stored as part of lll_adv_pdu and is double buffered like PDU memory. Bluetooth 5.1 spec. allows to enable or disable CTE TX and change CTE TX parameters when periodic advertising is enabled. Besides that CTE TX settings may be set before periodic advertising parameters are set. In such situation ll_adv_sync_set may be not yet created. To overcome these constraints ULL should store CTE TX settings and forward them to LLL only when CTE TX is enabled. Because of above reasons ULL stores CTE TX settings in ll_adv_set. Signed-off-by: Piotr Pryga <[email protected]>
1 parent 0f6fcf9 commit b56a2d1

File tree

9 files changed

+373
-48
lines changed

9 files changed

+373
-48
lines changed

subsys/bluetooth/controller/Kconfig.df

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -100,6 +100,7 @@ config BT_CTLR_DF_CONN_CTE_RSP
100100
config BT_CTLR_DF_ADV_CTE_TX
101101
bool "Enable Connectionless CTE Transmitter feature"
102102
depends on BT_CTLR_DF_CTE_TX && BT_CTLR_ADV_PERIODIC
103+
select BT_CTLR_ADV_EXT_PDU_EXTRA_DATA_MEMORY
103104
default y
104105
help
105106
Enable support for Bluetooth v5.1 Connectionless CTE Transmitter

subsys/bluetooth/controller/Kconfig.ll_sw_split

Lines changed: 14 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -175,6 +175,20 @@ config BT_CTLR_ADV_DATA_BUF_MAX
175175
Maximum number of buffered Advertising Data payload across enabled
176176
advertising sets.
177177

178+
config BT_CTLR_ADV_EXT_PDU_EXTRA_DATA_MEMORY
179+
bool
180+
depends on BT_CTLR_ADV_EXT
181+
help
182+
Add additional memory to advertising PDU storage. The memory is a
183+
general purpose storage for data that should be send from ULL to LLL.
184+
The data stored in the memory are in synchoronization with content
185+
of PDU memory.
186+
187+
For example, the extra data memory is used for storage for parameters
188+
to configure Radio peripheral to transmit CTE. The configuration data
189+
must be synchronized with CTEInfo field in extended advertising header
190+
that is part of PDU data.
191+
178192
config BT_CTRL_ADV_ADI_IN_SCAN_RSP
179193
bool "Include ADI in AUX_SCAN_RSP PDU"
180194
depends on BT_BROADCASTER && BT_CTLR_ADV_EXT

0 commit comments

Comments
 (0)