Skip to content

Commit 38a32b7

Browse files
Thalleykartben
authored andcommitted
tests: Bluetooth: BAP: Add broadcast tests with multiple subgroups
Add 4 new tests for BAP broadcast: 1) One subgroup with one stream per subgroup 2) One subgroup with two streams per subgroup 3) Two subgroups with one stream per subgroup 4) Two subgroup with two streams per subgroup To support these, the number of broadcast streams and data paths was updated to be up to 4. Signed-off-by: Emil Gydesen <[email protected]>
1 parent 2b197af commit 38a32b7

8 files changed

+149
-11
lines changed

tests/bsim/bluetooth/audio/overlay-bt_ll_sw_split.conf

Lines changed: 6 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -51,8 +51,8 @@ CONFIG_BT_CTLR_ADV_PERIODIC=y
5151
CONFIG_BT_CTLR_SYNC_TRANSFER_SENDER=y
5252
CONFIG_BT_CTLR_ADV_ISO=y
5353
CONFIG_BT_CTLR_ADV_ISO_SET=1
54-
CONFIG_BT_CTLR_ADV_ISO_STREAM_COUNT=2
55-
CONFIG_BT_CTLR_ADV_ISO_STREAM_MAX=2
54+
CONFIG_BT_CTLR_ADV_ISO_STREAM_COUNT=4
55+
CONFIG_BT_CTLR_ADV_ISO_STREAM_MAX=4
5656
CONFIG_BT_CTLR_ADV_ISO_PDU_LEN_MAX=247
5757

5858
# ISO Receive Controller
@@ -61,8 +61,8 @@ CONFIG_BT_CTLR_SYNC_PERIODIC=y
6161
CONFIG_BT_CTLR_SYNC_TRANSFER_RECEIVER=y
6262
CONFIG_BT_CTLR_SYNC_ISO=y
6363
CONFIG_BT_CTLR_SCAN_SYNC_ISO_SET=1
64-
CONFIG_BT_CTLR_SYNC_ISO_STREAM_COUNT=2
65-
CONFIG_BT_CTLR_SYNC_ISO_STREAM_MAX=2
64+
CONFIG_BT_CTLR_SYNC_ISO_STREAM_COUNT=4
65+
CONFIG_BT_CTLR_SYNC_ISO_STREAM_MAX=4
6666
CONFIG_BT_CTLR_SYNC_ISO_PDU_LEN_MAX=251
6767

6868
# ISO Connection Oriented
@@ -76,12 +76,12 @@ CONFIG_BT_CTLR_CONN_ISO_PDU_LEN_MAX=251
7676
CONFIG_BT_CTLR_CONN_ISO_LOW_LATENCY_POLICY=y
7777

7878
# ISO Transmissions
79-
CONFIG_BT_CTLR_ISOAL_SOURCES=2
79+
CONFIG_BT_CTLR_ISOAL_SOURCES=4
8080
CONFIG_BT_CTLR_ISO_TX_BUFFERS=18
8181
CONFIG_BT_CTLR_ISO_TX_BUFFER_SIZE=255
8282

8383
# ISO Receptions
84-
CONFIG_BT_CTLR_ISOAL_SINKS=2
84+
CONFIG_BT_CTLR_ISOAL_SINKS=4
8585
CONFIG_BT_CTLR_ISO_RX_BUFFERS=8
8686

8787
# Tx Power Dynamic Control

tests/bsim/bluetooth/audio/overlay-nrf5340_cpunet_iso-bt_ll_sw_split.conf

Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -5,3 +5,12 @@
55
CONFIG_BT_ISO_TX_BUF_COUNT=18
66

77
CONFIG_BT_CTLR_ISO_TX_BUFFERS=18
8+
9+
CONFIG_BT_CTLR_ADV_ISO_STREAM_COUNT=4
10+
CONFIG_BT_CTLR_ADV_ISO_STREAM_MAX=4
11+
12+
CONFIG_BT_CTLR_SYNC_ISO_STREAM_COUNT=4
13+
CONFIG_BT_CTLR_SYNC_ISO_STREAM_MAX=4
14+
15+
CONFIG_BT_CTLR_ISOAL_SOURCES=4
16+
CONFIG_BT_CTLR_ISOAL_SINKS=4

tests/bsim/bluetooth/audio/prj.conf

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -44,10 +44,10 @@ CONFIG_BT_BAP_BROADCAST_SOURCE=y
4444
CONFIG_BT_BAP_BROADCAST_SINK=y
4545
CONFIG_BT_AUDIO_CODEC_CFG_MAX_METADATA_SIZE=196
4646
CONFIG_BT_AUDIO_CODEC_CAP_MAX_METADATA_SIZE=196
47-
CONFIG_BT_BAP_BROADCAST_SRC_STREAM_COUNT=2
48-
CONFIG_BT_BAP_BROADCAST_SRC_SUBGROUP_COUNT=1
49-
CONFIG_BT_BAP_BROADCAST_SNK_SUBGROUP_COUNT=1
50-
CONFIG_BT_BAP_BROADCAST_SNK_STREAM_COUNT=2
47+
CONFIG_BT_BAP_BROADCAST_SRC_STREAM_COUNT=4
48+
CONFIG_BT_BAP_BROADCAST_SRC_SUBGROUP_COUNT=2
49+
CONFIG_BT_BAP_BROADCAST_SNK_SUBGROUP_COUNT=2
50+
CONFIG_BT_BAP_BROADCAST_SNK_STREAM_COUNT=4
5151
CONFIG_BT_ISO_PERIPHERAL=y
5252
CONFIG_BT_ISO_MAX_CHAN=4
5353
CONFIG_BT_ISO_TX_MTU=310
@@ -131,7 +131,7 @@ CONFIG_BT_OTS_CLIENT=y
131131

132132
# Broadcast Audio Scan Service and client
133133
CONFIG_BT_BAP_SCAN_DELEGATOR=y
134-
CONFIG_BT_BAP_BASS_MAX_SUBGROUPS=1
134+
CONFIG_BT_BAP_BASS_MAX_SUBGROUPS=2
135135
CONFIG_BT_AUDIO_CODEC_CFG_MAX_METADATA_SIZE=255
136136
CONFIG_BT_BAP_BROADCAST_ASSISTANT=y
137137

Lines changed: 17 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,17 @@
1+
#!/usr/bin/env bash
2+
#
3+
# Copyright (c) 2024 Nordic Semiconductor ASA
4+
#
5+
# SPDX-License-Identifier: Apache-2.0
6+
7+
dir_path=$(dirname "$0")
8+
9+
set -e # Exit on error
10+
11+
# Run all bap_broadcast_audio* tests
12+
for file in "$dir_path"/bap_broadcast_audio*.sh; do
13+
if [ -f "$file" ]; then
14+
echo "Running $file"
15+
$file
16+
fi
17+
done
Lines changed: 28 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,28 @@
1+
#!/usr/bin/env bash
2+
#
3+
# Copyright (c) 2024 Nordic Semiconductor ASA
4+
#
5+
# SPDX-License-Identifier: Apache-2.0
6+
7+
VERBOSITY_LEVEL=2
8+
EXECUTE_TIMEOUT=120
9+
10+
source ${ZEPHYR_BASE}/tests/bsim/sh_common.source
11+
12+
cd ${BSIM_OUT_PATH}/bin
13+
14+
SIMULATION_ID="bap_broadcast_audio_multiple_group_multiple_bis"
15+
16+
Execute ./bs_${BOARD_TS}_tests_bsim_bluetooth_audio_prj_conf \
17+
-v=${VERBOSITY_LEVEL} -s=${SIMULATION_ID} -d=0 -testid=broadcast_source \
18+
-RealEncryption=1 -rs=23 -D=2 -argstest subgroup_cnt 2 streams_per_subgroup_cnt 2
19+
20+
Execute ./bs_${BOARD_TS}_tests_bsim_bluetooth_audio_prj_conf \
21+
-v=${VERBOSITY_LEVEL} -s=${SIMULATION_ID} -d=1 -testid=broadcast_sink \
22+
-RealEncryption=1 -rs=27 -D=2
23+
24+
# Simulation time should be larger than the WAIT_TIME in common.h
25+
Execute ./bs_2G4_phy_v1 -v=${VERBOSITY_LEVEL} -s=${SIMULATION_ID} \
26+
-D=2 -sim_length=60e6 $@
27+
28+
wait_for_background_jobs
Lines changed: 28 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,28 @@
1+
#!/usr/bin/env bash
2+
#
3+
# Copyright (c) 2024 Nordic Semiconductor ASA
4+
#
5+
# SPDX-License-Identifier: Apache-2.0
6+
7+
VERBOSITY_LEVEL=2
8+
EXECUTE_TIMEOUT=120
9+
10+
source ${ZEPHYR_BASE}/tests/bsim/sh_common.source
11+
12+
cd ${BSIM_OUT_PATH}/bin
13+
14+
SIMULATION_ID="bap_broadcast_audio_multiple_group_single_bis"
15+
16+
Execute ./bs_${BOARD_TS}_tests_bsim_bluetooth_audio_prj_conf \
17+
-v=${VERBOSITY_LEVEL} -s=${SIMULATION_ID} -d=0 -testid=broadcast_source \
18+
-RealEncryption=1 -rs=23 -D=2 -argstest subgroup_cnt 2 streams_per_subgroup_cnt 1
19+
20+
Execute ./bs_${BOARD_TS}_tests_bsim_bluetooth_audio_prj_conf \
21+
-v=${VERBOSITY_LEVEL} -s=${SIMULATION_ID} -d=1 -testid=broadcast_sink \
22+
-RealEncryption=1 -rs=27 -D=2
23+
24+
# Simulation time should be larger than the WAIT_TIME in common.h
25+
Execute ./bs_2G4_phy_v1 -v=${VERBOSITY_LEVEL} -s=${SIMULATION_ID} \
26+
-D=2 -sim_length=60e6 $@
27+
28+
wait_for_background_jobs
Lines changed: 28 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,28 @@
1+
#!/usr/bin/env bash
2+
#
3+
# Copyright (c) 2024 Nordic Semiconductor ASA
4+
#
5+
# SPDX-License-Identifier: Apache-2.0
6+
7+
VERBOSITY_LEVEL=2
8+
EXECUTE_TIMEOUT=120
9+
10+
source ${ZEPHYR_BASE}/tests/bsim/sh_common.source
11+
12+
cd ${BSIM_OUT_PATH}/bin
13+
14+
SIMULATION_ID="bap_broadcast_audio_single_group_multiple_bis"
15+
16+
Execute ./bs_${BOARD_TS}_tests_bsim_bluetooth_audio_prj_conf \
17+
-v=${VERBOSITY_LEVEL} -s=${SIMULATION_ID} -d=0 -testid=broadcast_source \
18+
-RealEncryption=1 -rs=23 -D=2 -argstest subgroup_cnt 1 streams_per_subgroup_cnt 2
19+
20+
Execute ./bs_${BOARD_TS}_tests_bsim_bluetooth_audio_prj_conf \
21+
-v=${VERBOSITY_LEVEL} -s=${SIMULATION_ID} -d=1 -testid=broadcast_sink \
22+
-RealEncryption=1 -rs=27 -D=2
23+
24+
# Simulation time should be larger than the WAIT_TIME in common.h
25+
Execute ./bs_2G4_phy_v1 -v=${VERBOSITY_LEVEL} -s=${SIMULATION_ID} \
26+
-D=2 -sim_length=60e6 $@
27+
28+
wait_for_background_jobs
Lines changed: 28 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,28 @@
1+
#!/usr/bin/env bash
2+
#
3+
# Copyright (c) 2024 Nordic Semiconductor ASA
4+
#
5+
# SPDX-License-Identifier: Apache-2.0
6+
7+
VERBOSITY_LEVEL=2
8+
EXECUTE_TIMEOUT=120
9+
10+
source ${ZEPHYR_BASE}/tests/bsim/sh_common.source
11+
12+
cd ${BSIM_OUT_PATH}/bin
13+
14+
SIMULATION_ID="bap_broadcast_audio_single_group_single_bis"
15+
16+
Execute ./bs_${BOARD_TS}_tests_bsim_bluetooth_audio_prj_conf \
17+
-v=${VERBOSITY_LEVEL} -s=${SIMULATION_ID} -d=0 -testid=broadcast_source \
18+
-RealEncryption=1 -rs=23 -D=2 -argstest subgroup_cnt 1 streams_per_subgroup_cnt 1
19+
20+
Execute ./bs_${BOARD_TS}_tests_bsim_bluetooth_audio_prj_conf \
21+
-v=${VERBOSITY_LEVEL} -s=${SIMULATION_ID} -d=1 -testid=broadcast_sink \
22+
-RealEncryption=1 -rs=27 -D=2
23+
24+
# Simulation time should be larger than the WAIT_TIME in common.h
25+
Execute ./bs_2G4_phy_v1 -v=${VERBOSITY_LEVEL} -s=${SIMULATION_ID} \
26+
-D=2 -sim_length=60e6 $@
27+
28+
wait_for_background_jobs

0 commit comments

Comments
 (0)