Bluetooth: Controller: Add Kconfig for experimental AD Data Chaining
Add a Kconfig for Advertising Data Chaining in Extended and Periodic Advertising, permitting AD data lengths of upto 1650 bytes. The implementation is experimental and needs further testing. Signed-off-by: Vinayak Kariappa Chettimada <vich@nordicsemi.no>
This commit is contained in:
parent
34154e3efe
commit
b304eaa29b
3 changed files with 21 additions and 2 deletions
|
@ -536,7 +536,7 @@ config BT_CTLR_ADV_INTERVAL_MAX
|
||||||
config BT_CTLR_ADV_DATA_LEN_MAX
|
config BT_CTLR_ADV_DATA_LEN_MAX
|
||||||
int "Maximum Advertising Data Length"
|
int "Maximum Advertising Data Length"
|
||||||
depends on BT_BROADCASTER
|
depends on BT_BROADCASTER
|
||||||
range 31 191 if BT_LL_SW_SPLIT
|
range 31 191 if BT_LL_SW_SPLIT && !BT_CTLR_ADV_DATA_CHAIN
|
||||||
range 31 1650
|
range 31 1650
|
||||||
help
|
help
|
||||||
Maximum Extended Advertising Data Length.
|
Maximum Extended Advertising Data Length.
|
||||||
|
|
|
@ -189,6 +189,22 @@ config BT_CTLR_ADV_SYNC_SET
|
||||||
help
|
help
|
||||||
Maximum supported periodic advertising sets.
|
Maximum supported periodic advertising sets.
|
||||||
|
|
||||||
|
config BT_CTLR_ADV_DATA_CHAIN
|
||||||
|
bool "Advertising Data chaining [EXPERIMENTAL]"
|
||||||
|
select EXPERIMENTAL
|
||||||
|
help
|
||||||
|
Enable support for Advertising Data chaining in Extended and
|
||||||
|
Periodic Advertising. This will allow to have Advertising Data Length
|
||||||
|
upto 1650 bytes.
|
||||||
|
|
||||||
|
This is experimental and work in progress, does not implement
|
||||||
|
recombining the AD Data and could return BT_HCI_ERR_PACKET_TOO_LONG
|
||||||
|
when a chain PDU needs its AD data overflow into a new chain PDU.
|
||||||
|
I.e. AD data in the last PDU could overflow due to the need to add
|
||||||
|
Aux Pointer field, and if this overflow bytes plus the next AD data
|
||||||
|
fragment length could be over 255 bytes needing additional chain PDU.
|
||||||
|
This is not implemented.
|
||||||
|
|
||||||
config BT_CTLR_ADV_PDU_LINK
|
config BT_CTLR_ADV_PDU_LINK
|
||||||
# Enables extra space in each advertising PDU to allow linking PDUs.
|
# Enables extra space in each advertising PDU to allow linking PDUs.
|
||||||
# This is required to enable advertising data trains (i.e. transmission
|
# This is required to enable advertising data trains (i.e. transmission
|
||||||
|
|
|
@ -5,6 +5,10 @@ CONFIG_BT_EXT_ADV=y
|
||||||
CONFIG_BT_EXT_ADV_MAX_ADV_SET=2
|
CONFIG_BT_EXT_ADV_MAX_ADV_SET=2
|
||||||
CONFIG_BT_DEVICE_NAME="Broadcaster Multiple"
|
CONFIG_BT_DEVICE_NAME="Broadcaster Multiple"
|
||||||
|
|
||||||
|
# Enable Advertising Data chaining in Zephyr Bluetooth LE Controller
|
||||||
|
CONFIG_BT_CTLR_ADVANCED_FEATURES=y
|
||||||
|
CONFIG_BT_CTLR_ADV_DATA_CHAIN=y
|
||||||
|
|
||||||
# Zephyr Bluetooth LE Controller will need to use chain PDUs when AD data
|
# Zephyr Bluetooth LE Controller will need to use chain PDUs when AD data
|
||||||
# length > 191 bytes
|
# length > 191 bytes
|
||||||
# - 31 bytes will use 22 bytes for the default name in this sample plus 9 bytes
|
# - 31 bytes will use 22 bytes for the default name in this sample plus 9 bytes
|
||||||
|
@ -18,7 +22,6 @@ CONFIG_BT_CTLR_ADV_DATA_LEN_MAX=1650
|
||||||
# Increase Advertising PDU buffers to number of advertising sets times the
|
# Increase Advertising PDU buffers to number of advertising sets times the
|
||||||
# number of chain PDUs per advertising set when using Zephyr Bluetooth LE
|
# number of chain PDUs per advertising set when using Zephyr Bluetooth LE
|
||||||
# Controller
|
# Controller
|
||||||
CONFIG_BT_CTLR_ADVANCED_FEATURES=y
|
|
||||||
CONFIG_BT_CTLR_ADV_DATA_BUF_MAX=2
|
CONFIG_BT_CTLR_ADV_DATA_BUF_MAX=2
|
||||||
|
|
||||||
# Maximum Extended Scanning buffer size
|
# Maximum Extended Scanning buffer size
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue