-
Notifications
You must be signed in to change notification settings - Fork 6.7k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
tests: bsim: Bluetooth: Enable some high reliability CAP tests #80788
Changes from all commits
897ab41
d3e375a
736bf5b
26ca2ca
366f050
File filter
Filter by extension
Conversations
Jump to
Diff view
Diff view
There are no files selected for viewing
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -1,45 +1,91 @@ | ||
# Controller Settings | ||
CONFIG_BT_CTLR_SCAN_DATA_LEN_MAX=255 | ||
# Controller | ||
CONFIG_BT_LL_SW_SPLIT=y | ||
|
||
# Rx ACL and Adv Reports | ||
CONFIG_BT_CTLR_RX_BUFFERS=9 | ||
CONFIG_BT_CTLR_DATA_LENGTH_MAX=251 | ||
|
||
# Coded PHY support | ||
CONFIG_BT_CTLR_PHY_CODED=y | ||
|
||
# Advertising Sets and Extended Scanning | ||
CONFIG_BT_CTLR_ADV_EXT=y | ||
CONFIG_BT_CTLR_ADV_SET=3 | ||
CONFIG_BT_CTLR_ADV_DATA_LEN_MAX=191 | ||
CONFIG_BT_CTLR_SCAN_DATA_LEN_MAX=1650 | ||
|
||
# Controller advanced options | ||
CONFIG_BT_CTLR_ADVANCED_FEATURES=y | ||
CONFIG_BT_CTLR_ADV_AUX_SET=3 | ||
CONFIG_BT_CTLR_ADV_AUX_PDU_BACK2BACK=y | ||
CONFIG_BT_CTLR_ADV_SYNC_SET=3 | ||
CONFIG_BT_CTLR_ADV_SYNC_PDU_BACK2BACK=y | ||
CONFIG_BT_CTLR_ADV_DATA_BUF_MAX=6 | ||
|
||
# Increase the below to receive interleaved advertising chains | ||
CONFIG_BT_CTLR_SCAN_AUX_SET=1 | ||
# CONFIG_BT_CTLR_SCAN_AUX_USE_CHAINS=y | ||
# CONFIG_BT_CTLR_SCAN_AUX_CHAIN_COUNT=1 | ||
|
||
CONFIG_BT_CTLR_ADV_RESERVE_MAX=n | ||
CONFIG_BT_CTLR_ADV_ISO_RESERVE_MAX=y | ||
CONFIG_BT_CTLR_SCAN_AUX_SYNC_RESERVE_MIN=y | ||
CONFIG_BT_CTLR_SYNC_PERIODIC_SKIP_ON_SCAN_AUX=n | ||
CONFIG_BT_CTLR_SYNC_ISO_RESERVE_MAX=n | ||
CONFIG_BT_CTLR_CENTRAL_RESERVE_MAX=n | ||
CONFIG_BT_CTLR_PERIPHERAL_RESERVE_MAX=n | ||
CONFIG_BT_CTLR_PERIPHERAL_ISO_RESERVE_MAX=n | ||
CONFIG_BT_CTLR_EVENT_OVERHEAD_RESERVE_MAX=y | ||
CONFIG_BT_CTLR_SLOT_RESERVATION_UPDATE=n | ||
CONFIG_BT_CTLR_SCAN_UNRESERVED=y | ||
CONFIG_BT_TICKER_NEXT_SLOT_GET_MATCH=y | ||
CONFIG_BT_TICKER_EXT=y | ||
CONFIG_BT_TICKER_EXT_SLOT_WINDOW_YIELD=y | ||
|
||
# Control Procedure | ||
CONFIG_BT_CTLR_LLCP_LOCAL_PROC_CTX_BUF_NUM=6 | ||
|
||
# ISO Broadcaster Controller | ||
CONFIG_BT_CTLR_ADV_EXT=y | ||
CONFIG_BT_CTLR_ADV_PERIODIC=y | ||
CONFIG_BT_CTLR_SYNC_TRANSFER_SENDER=y | ||
CONFIG_BT_CTLR_ADV_ISO=y | ||
CONFIG_BT_CTLR_ADV_ISO_PDU_LEN_MAX=247 | ||
CONFIG_BT_CTLR_ADV_ISO_STREAM_MAX=2 | ||
CONFIG_BT_CTLR_ADV_ISO_SET=1 | ||
CONFIG_BT_CTLR_ADV_ISO_STREAM_COUNT=2 | ||
CONFIG_BT_CTLR_ADV_ISO_STREAM_MAX=2 | ||
CONFIG_BT_CTLR_ADV_ISO_PDU_LEN_MAX=247 | ||
|
||
# ISO Receive Controller | ||
CONFIG_BT_CTLR_ADV_EXT=y | ||
CONFIG_BT_CTLR_SYNC_PERIODIC=y | ||
CONFIG_BT_CTLR_SYNC_TRANSFER_RECEIVER=y | ||
CONFIG_BT_CTLR_SYNC_ISO=y | ||
CONFIG_BT_CTLR_SYNC_ISO_PDU_LEN_MAX=251 | ||
CONFIG_BT_CTLR_SCAN_SYNC_ISO_SET=1 | ||
CONFIG_BT_CTLR_SYNC_ISO_STREAM_COUNT=2 | ||
CONFIG_BT_CTLR_SYNC_ISO_STREAM_MAX=2 | ||
CONFIG_BT_CTLR_SYNC_ISO_PDU_LEN_MAX=251 | ||
|
||
# ISO Connection Oriented | ||
CONFIG_BT_CTLR_CENTRAL_ISO=y | ||
CONFIG_BT_CTLR_PERIPHERAL_ISO=y | ||
CONFIG_BT_CTLR_CONN_ISO_GROUPS=1 | ||
CONFIG_BT_CTLR_CONN_ISO_STREAMS=2 | ||
CONFIG_BT_CTLR_CONN_ISO_STREAMS_PER_GROUP=2 | ||
CONFIG_BT_CTLR_CONN_ISO_SDU_LEN_MAX=247 | ||
CONFIG_BT_CTLR_CONN_ISO_PDU_LEN_MAX=251 | ||
CONFIG_BT_CTLR_CONN_ISO_LOW_LATENCY_POLICY=y | ||
|
||
# ISO Transmissions | ||
CONFIG_BT_ISO_TX_MTU=310 | ||
CONFIG_BT_ISO_TX_BUF_COUNT=4 | ||
CONFIG_BT_CTLR_ISO_TX_BUFFERS=8 | ||
CONFIG_BT_CTLR_ISO_TX_BUFFER_SIZE=255 | ||
CONFIG_BT_CTLR_ISOAL_SOURCES=2 | ||
CONFIG_BT_CTLR_ISO_TX_BUFFERS=18 | ||
CONFIG_BT_CTLR_ISO_TX_BUFFER_SIZE=255 | ||
|
||
# ISO Receptions | ||
CONFIG_BT_ISO_RX_MTU=310 | ||
CONFIG_BT_CTLR_ISO_RX_BUFFERS=8 | ||
CONFIG_BT_CTLR_ISOAL_SINKS=2 | ||
CONFIG_BT_CTLR_ISO_RX_BUFFERS=8 | ||
|
||
# Tx Power Dynamic Control | ||
CONFIG_BT_CTLR_TX_PWR_DYNAMIC_CONTROL=y | ||
|
||
# Ignore HCI ISO data Tx sequence numbers | ||
# CONFIG_BT_CTLR_ISOAL_PSN_IGNORE=y |
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,7 @@ | ||
# In theory, CONFIG_BT_ISO_TX_BUF_COUNT=1, should be sufficient but this count | ||
# is used in the context of IPC which falls into a "Newton's Cradle" effect | ||
# where probably (CONFIG_BT_CTLR_ISO_TX_BUFFERS - CONFIG_BT_ISO_TX_BUF_COUNT) | ||
# buffers get throttled. Hence, always have the value equal or greater. | ||
CONFIG_BT_ISO_TX_BUF_COUNT=18 | ||
|
||
CONFIG_BT_CTLR_ISO_TX_BUFFERS=18 |
Original file line number | Diff line number | Diff line change |
---|---|---|
|
@@ -51,7 +51,7 @@ CONFIG_BT_BAP_BROADCAST_SNK_STREAM_COUNT=2 | |
CONFIG_BT_ISO_PERIPHERAL=y | ||
CONFIG_BT_ISO_MAX_CHAN=4 | ||
CONFIG_BT_ISO_TX_MTU=310 | ||
CONFIG_BT_ISO_TX_BUF_COUNT=4 | ||
CONFIG_BT_ISO_TX_BUF_COUNT=36 | ||
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. Yikes :D I assume this is 2 x There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. Yes, 2x due to 2 BISes support (though test only uses 1 BIS) and the build error check in the test needs this 2x. |
||
CONFIG_BT_ISO_RX_MTU=310 | ||
CONFIG_BT_ISO_RX_BUF_COUNT=4 | ||
|
||
|
Original file line number | Diff line number | Diff line change |
---|---|---|
|
@@ -39,15 +39,15 @@ | |
* Broadcast ISO radio events. | ||
*/ | ||
#define BT_LE_EXT_ADV_CUSTOM \ | ||
BT_LE_ADV_PARAM(BT_LE_ADV_OPT_EXT_ADV, BT_GAP_MS_TO_ADV_INTERVAL(80), \ | ||
BT_GAP_MS_TO_ADV_INTERVAL(80), NULL) | ||
BT_LE_ADV_PARAM(BT_LE_ADV_OPT_EXT_ADV, BT_GAP_MS_TO_ADV_INTERVAL(140), \ | ||
BT_GAP_MS_TO_ADV_INTERVAL(140), NULL) | ||
|
||
#define BT_LE_PER_ADV_CUSTOM \ | ||
BT_LE_PER_ADV_PARAM(BT_GAP_MS_TO_PER_ADV_INTERVAL(90), BT_GAP_MS_TO_PER_ADV_INTERVAL(90), \ | ||
BT_LE_PER_ADV_OPT_NONE) | ||
BT_LE_PER_ADV_PARAM(BT_GAP_MS_TO_PER_ADV_INTERVAL(150), \ | ||
BT_GAP_MS_TO_PER_ADV_INTERVAL(150), BT_LE_PER_ADV_OPT_NONE) | ||
|
||
#define BROADCAST_STREMT_CNT CONFIG_BT_BAP_BROADCAST_SRC_STREAM_COUNT | ||
#define BROADCAST_ENQUEUE_COUNT 2U | ||
#define BROADCAST_ENQUEUE_COUNT 18U | ||
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. This refers to the number of SDUs to enqueue - 18 seems excessive (180ms of audio data). Is that intentional? There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. 50 ms ISO interval with PTO=1 (BN=5 + 1) needs to have 12 SDUs buffered at an ISO interval and additional 6 SDUs to ensure subsequent ISO intervals have SDUs ready in the Controller. This is equivalent to how 3 Tx ACL buffers are required to ensure a peripheral ACL sends data every connection interval. |
||
#define TOTAL_BUF_NEEDED (BROADCAST_ENQUEUE_COUNT * BROADCAST_STREMT_CNT) | ||
#define CAP_AC_MAX_STREAM 2 | ||
#define LOCATION (BT_AUDIO_LOCATION_FRONT_LEFT | BT_AUDIO_LOCATION_FRONT_RIGHT) | ||
|
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Suggest to create the GH issue and reference it here rather than having this comment all the places :) Then it's easier to find and cleanup later
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Still on my todo list to create a IPC test!...
Just not to loose track created this: #81866