Skip to content

Commit

Permalink
tests: bsim: Bluetooth: BAP Broadcast update to 2 bis
Browse files Browse the repository at this point in the history
Update the bsim test for the BAP broadcast to use 2 bis.
This tests a larger part of the code, and also verifies
that we can send and receive on 2 BIS without any ISO errors.

This requires the ADV interval to be a multiple of ISO interval
- 10ms, so the advertising interval has been set to 80ms.

Signed-off-by: Emil Gydesen <emil.gydesen@nordicsemi.no>
  • Loading branch information
Thalley committed Nov 6, 2023
1 parent f67ecc3 commit 91509e0
Show file tree
Hide file tree
Showing 3 changed files with 14 additions and 7 deletions.
8 changes: 4 additions & 4 deletions tests/bsim/bluetooth/audio/prj.conf
Original file line number Diff line number Diff line change
Expand Up @@ -30,10 +30,10 @@ CONFIG_BT_BAP_BROADCAST_SOURCE=y
CONFIG_BT_BAP_BROADCAST_SINK=y
CONFIG_BT_AUDIO_CODEC_CFG_MAX_METADATA_SIZE=196
CONFIG_BT_AUDIO_CODEC_CAP_MAX_METADATA_SIZE=196
CONFIG_BT_BAP_BROADCAST_SRC_STREAM_COUNT=1
CONFIG_BT_BAP_BROADCAST_SRC_STREAM_COUNT=2
CONFIG_BT_BAP_BROADCAST_SRC_SUBGROUP_COUNT=1
CONFIG_BT_BAP_BROADCAST_SNK_SUBGROUP_COUNT=1
CONFIG_BT_BAP_BROADCAST_SNK_STREAM_COUNT=1
CONFIG_BT_BAP_BROADCAST_SNK_STREAM_COUNT=2
CONFIG_BT_ISO_TX_BUF_COUNT=4
CONFIG_BT_ISO_MAX_CHAN=4
CONFIG_BT_ISO_TX_MTU=310
Expand Down Expand Up @@ -192,8 +192,8 @@ CONFIG_BT_CTLR_SYNC_ISO=y
CONFIG_BT_CTLR_SCAN_DATA_LEN_MAX=255
CONFIG_BT_CTLR_ISO_TX_BUFFER_SIZE=251
CONFIG_BT_CTLR_ADV_DATA_LEN_MAX=191
CONFIG_BT_CTLR_ADV_ISO_STREAM_COUNT=1
CONFIG_BT_CTLR_SYNC_ISO_STREAM_MAX=1
CONFIG_BT_CTLR_ADV_ISO_STREAM_MAX=2
CONFIG_BT_CTLR_SYNC_ISO_STREAM_MAX=2

# Controller Connected ISO configs
CONFIG_BT_CTLR_CENTRAL_ISO=y
Expand Down
7 changes: 6 additions & 1 deletion tests/bsim/bluetooth/audio/src/bap_broadcast_sink_test.c
Original file line number Diff line number Diff line change
Expand Up @@ -280,7 +280,10 @@ static void recv_cb(struct bt_bap_stream *stream,
}

if (info->flags & BT_ISO_FLAGS_ERROR) {
FAIL("ISO receive error\n");
/* Fail the test if we have not received what we expected */
if (!TEST_FLAG(flag_received)) {
FAIL("ISO receive error\n");
}
return;
}

Expand All @@ -292,6 +295,8 @@ static void recv_cb(struct bt_bap_stream *stream,
if (memcmp(buf->data, mock_iso_data, buf->len) == 0) {
test_stream->rx_cnt++;

printk("test_stream->rx_cnt %u\n", test_stream->rx_cnt);

if (test_stream->rx_cnt >= MIN_SEND_COUNT) {
/* We set the flag is just one stream has received the expected */
SET_FLAG(flag_received);
Expand Down
6 changes: 4 additions & 2 deletions tests/bsim/bluetooth/audio/src/bap_broadcast_source_test.c
Original file line number Diff line number Diff line change
Expand Up @@ -121,7 +121,7 @@ static int setup_broadcast_source(struct bt_bap_broadcast_source **source)
}

for (size_t i = 0U; i < ARRAY_SIZE(subgroup_params); i++) {
subgroup_params[i].params_count = 1U;
subgroup_params[i].params_count = ARRAY_SIZE(stream_params);
subgroup_params[i].params = &stream_params[i];
subgroup_params[i].codec_cfg = &preset_16_1_1.codec_cfg;
}
Expand Down Expand Up @@ -235,14 +235,16 @@ static int setup_extended_adv(struct bt_bap_broadcast_source *source, struct bt_
/* Broadcast Audio Streaming Endpoint advertising data */
NET_BUF_SIMPLE_DEFINE(ad_buf,
BT_UUID_SIZE_16 + BT_AUDIO_BROADCAST_ID_SIZE);
struct bt_le_adv_param adv_param = BT_LE_ADV_PARAM_INIT(
BT_LE_ADV_OPT_EXT_ADV | BT_LE_ADV_OPT_USE_NAME, 0x80, 0x80, NULL);
NET_BUF_SIMPLE_DEFINE(base_buf, 128);
struct bt_data ext_ad;
struct bt_data per_ad;
uint32_t broadcast_id;
int err;

/* Create a non-connectable non-scannable advertising set */
err = bt_le_ext_adv_create(BT_LE_EXT_ADV_NCONN_NAME, NULL, adv);
err = bt_le_ext_adv_create(&adv_param, NULL, adv);
if (err != 0) {
printk("Unable to create extended advertising set: %d\n", err);
return err;
Expand Down

0 comments on commit 91509e0

Please sign in to comment.