Skip to content

Commit 31863fd

Browse files
cvinayakkartben
authored andcommitted
tests: bsim: Bluetooth: nrRF53/54L: Throughput and multiple_id testing
Enable throughput and multiple_id testing on nRF5340bsim and nrf54l15bsim. Signed-off-by: Vinayak Kariappa Chettimada <[email protected]>
1 parent 750250f commit 31863fd

15 files changed

+157
-10
lines changed
Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,3 @@
1+
# For LC3 the following configs are needed
2+
CONFIG_FPU=y
3+
CONFIG_LIBLC3=y
Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,3 @@
1+
# For LC3 the following configs are needed
2+
CONFIG_FPU=y
3+
CONFIG_LIBLC3=y
Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,5 @@
1+
# This file content is just a copy of the equivalent one in the unicast client sample
2+
3+
# For LC3 the following configs are needed
4+
CONFIG_FPU=y
5+
CONFIG_LIBLC3=y

tests/bsim/bluetooth/compile.nrf5340bsim_nrf5340_cpuapp.sh

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -13,6 +13,8 @@ export BOARD="${BOARD:-nrf5340bsim/nrf5340/cpuapp}"
1313
source ${ZEPHYR_BASE}/tests/bsim/compile.source
1414

1515
app=tests/bsim/bluetooth/ll/conn conf_file=prj_split_privacy.conf sysbuild=1 compile
16+
app=tests/bsim/bluetooth/ll/throughput sysbuild=1 compile
17+
app=tests/bsim/bluetooth/ll/multiple_id sysbuild=1 compile
1618
app=tests/bsim/bluetooth/ll/bis sysbuild=1 compile
1719
app=tests/bsim/bluetooth/ll/cis conf_overlay=overlay-acl_group.conf sysbuild=1 compile
1820

tests/bsim/bluetooth/compile.nrf54l15bsim_nrf54l15_cpuapp.sh

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -13,8 +13,11 @@ export BOARD="${BOARD:-nrf54l15bsim/nrf54l15/cpuapp}"
1313

1414
source ${ZEPHYR_BASE}/tests/bsim/compile.source
1515

16+
app=tests/bsim/bluetooth/ll/throughput compile
1617
app=tests/bsim/bluetooth/ll/multiple_id compile
1718

1819
run_in_background ${ZEPHYR_BASE}/tests/bsim/bluetooth/samples/compile.sh
20+
run_in_background ${ZEPHYR_BASE}/tests/bsim/bluetooth/audio/compile.sh
21+
run_in_background ${ZEPHYR_BASE}/tests/bsim/bluetooth/audio_samples/compile.sh
1922

2023
wait_for_background_jobs
Lines changed: 14 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,14 @@
1+
# Copyright 2023 Nordic Semiconductor ASA
2+
# SPDX-License-Identifier: Apache-2.0
3+
4+
source "share/sysbuild/Kconfig"
5+
6+
config NET_CORE_BOARD
7+
string
8+
default "nrf5340bsim/nrf5340/cpunet" if $(BOARD_TARGET_STRING) = "NRF5340BSIM_NRF5340_CPUAPP"
9+
10+
config NATIVE_SIMULATOR_PRIMARY_MCU_INDEX
11+
int
12+
# Let's pass the test arguments to the application MCU test
13+
# otherwise by default they would have gone to the net core.
14+
default 0 if $(BOARD_TARGET_STRING) = "NRF5340BSIM_NRF5340_CPUAPP"
Lines changed: 34 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,34 @@
1+
# Maximum simultaneous ACL connections, today's maximum considering other
2+
# roles using ticker nodes count up to 255 (UINT8_MAX) in the hci_ipc with ISO
3+
# support
4+
CONFIG_BT_MAX_CONN=233
5+
6+
# Each PHY update can pause connections for 6 interval hence to let other
7+
# parallel connection establishment to succeed increase Rx buffer count.
8+
# A minimum of 1 Rx buffer is required to receive data PDU, during control
9+
# procedures Rx buffer could be held, preventing new connections to be
10+
# established, a value of 3 is tuned based on this test case execution for 2
11+
# iterations. If there is buffer leak, simulated by using value of 2 here, the
12+
# test is failing.
13+
# If there is buffer leak, this test now should catch it.
14+
CONFIG_BT_CTLR_RX_BUFFERS=3
15+
16+
# Provide enough spacing between connections so that multiple peripheral roles
17+
# when connected to a single peer device (peripheral_identity sample) have
18+
# room for window widening and do not overlap with each other in that single
19+
# peer device. This can be tuned based on connection interval and clock
20+
# accuracy, current value here is sufficient for 500ppm at 1 second interval and
21+
# considering required connection event length for 251 byte PDU on 2M PHY.
22+
# (Event Overhead + Radio Ready Delay + Rx window + 1064 + 154 + 1064)
23+
CONFIG_BT_CTLR_ADVANCED_FEATURES=y
24+
CONFIG_BT_CTLR_CENTRAL_SPACING=3750
25+
26+
# Do not use max data PDU size time reservation for connection events spacing
27+
# instead use lesser value as supplied in CONFIG_BT_CTLR_CENTRAL_SPACING
28+
CONFIG_BT_CTLR_CENTRAL_RESERVE_MAX=n
29+
CONFIG_BT_CTLR_SLOT_RESERVATION_UPDATE=n
30+
31+
# Required maximum simultaneous LLCP contexts
32+
CONFIG_BT_CTLR_LLCP_LOCAL_PROC_CTX_BUF_NUM=233
33+
34+
CONFIG_LOG=y

tests/bsim/bluetooth/ll/multiple_id/prj.conf

Lines changed: 13 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -10,19 +10,23 @@ CONFIG_BT_AUTO_PHY_UPDATE=y
1010
CONFIG_BT_USER_DATA_LEN_UPDATE=y
1111
CONFIG_BT_AUTO_DATA_LEN_UPDATE=y
1212

13-
CONFIG_BT_MAX_CONN=250
14-
CONFIG_BT_ID_MAX=250
15-
16-
# L2CAP, ATT and SMP usage cause data transmission deadlock due to shortage
17-
# of buffers when transactions crossover amongst the connections in the same
18-
# device. Hence, keeping them disabled in this test until future investigations.
13+
# Maximum simultaneous ACL connections, current maximum considering other roles
14+
# using ticker nodes count up to 255 (UINT8_MAX) in the hci_ipc with ISO support
15+
CONFIG_BT_MAX_CONN=233
16+
CONFIG_BT_ID_MAX=233
1917

18+
# Avoid using the PPCP provided connection interval so that the multiple
19+
# connections are kept non-overlapping as initially scheduled at connection
20+
# setup
2021
CONFIG_BT_GAP_AUTO_UPDATE_CONN_PARAMS=n
2122

23+
# Enables simultaneousn MTU exchange in the test
2224
CONFIG_BT_GATT_CLIENT=y
2325

26+
# Having simulataneous SMP procedures leads to deadlock, disabled pending
27+
# required investigation of the issue.
2428
# CONFIG_BT_SMP=y
25-
# CONFIG_BT_MAX_PAIRED=250
29+
# CONFIG_BT_MAX_PAIRED=233
2630

2731
CONFIG_BT_L2CAP_TX_MTU=247
2832

@@ -58,3 +62,5 @@ CONFIG_BT_CTLR_CENTRAL_SPACING=3750
5862
# instead use lesser value as supplied in CONFIG_BT_CTLR_CENTRAL_SPACING
5963
CONFIG_BT_CTLR_CENTRAL_RESERVE_MAX=n
6064
CONFIG_BT_CTLR_SLOT_RESERVATION_UPDATE=n
65+
66+
CONFIG_LOG=y
Lines changed: 29 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,29 @@
1+
# Copyright (c) 2023 Nordic Semiconductor ASA
2+
# SPDX-License-Identifier: Apache-2.0
3+
4+
if(NOT("${SB_CONFIG_NET_CORE_BOARD}" STREQUAL ""))
5+
set(NET_APP hci_ipc)
6+
set(NET_APP_SRC_DIR ${ZEPHYR_BASE}/samples/bluetooth/${NET_APP})
7+
8+
ExternalZephyrProject_Add(
9+
APPLICATION ${NET_APP}
10+
SOURCE_DIR ${NET_APP_SRC_DIR}
11+
BOARD ${SB_CONFIG_NET_CORE_BOARD}
12+
)
13+
14+
set(${NET_APP}_CONF_FILE
15+
${NET_APP_SRC_DIR}/nrf5340_cpunet_iso-bt_ll_sw_split.conf
16+
CACHE INTERNAL ""
17+
)
18+
19+
set(${NET_APP}_EXTRA_CONF_FILE
20+
${APP_DIR}/overlay-nrf5340_cpunet_iso-bt_ll_sw_split.conf
21+
CACHE INTERNAL ""
22+
)
23+
24+
native_simulator_set_primary_mcu_index(${DEFAULT_IMAGE} ${NET_APP})
25+
26+
native_simulator_set_child_images(${DEFAULT_IMAGE} ${NET_APP})
27+
endif()
28+
29+
native_simulator_set_final_executable(${DEFAULT_IMAGE})
Lines changed: 14 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,14 @@
1+
# Copyright 2023 Nordic Semiconductor ASA
2+
# SPDX-License-Identifier: Apache-2.0
3+
4+
source "share/sysbuild/Kconfig"
5+
6+
config NET_CORE_BOARD
7+
string
8+
default "nrf5340bsim/nrf5340/cpunet" if $(BOARD_TARGET_STRING) = "NRF5340BSIM_NRF5340_CPUAPP"
9+
10+
config NATIVE_SIMULATOR_PRIMARY_MCU_INDEX
11+
int
12+
# Let's pass the test arguments to the application MCU test
13+
# otherwise by default they would have gone to the net core.
14+
default 0 if $(BOARD_TARGET_STRING) = "NRF5340BSIM_NRF5340_CPUAPP"

0 commit comments

Comments
 (0)