Commit 009fcd70 authored by Alberto Escolar Piedras's avatar Alberto Escolar Piedras Committed by Carles Cufi
Browse files

tests bsim bt: Add basic connection test with HCI UART async controllers



Add a basic connection test between two devices,
in which the controllers are in separate nrf52_bsim devices
connected over UART to the devices running the host+app.
The controllers are running the HCI UART async sample.

Signed-off-by: default avatarAlberto Escolar Piedras <alberto.escolar.piedras@nordicsemi.no>
parent 398e4b12
Loading
Loading
Loading
Loading
+1 −0
Original line number Diff line number Diff line
/* Purposely empty. To avoid using the one provided by the application */
+1 −0
Original line number Diff line number Diff line
@@ -20,5 +20,6 @@ source ${ZEPHYR_BASE}/tests/bsim/compile.source

app=tests/bsim/bluetooth/ll/conn conf_file=prj_split_uart.conf compile
app=samples/bluetooth/hci_uart compile
app=samples/bluetooth/hci_uart_async compile

wait_for_background_jobs
+46 −0
Original line number Diff line number Diff line
#!/usr/bin/env bash
# Copyright 2024 Nordic Semiconductor ASA
# SPDX-License-Identifier: Apache-2.0

source ${ZEPHYR_BASE}/tests/bsim/sh_common.source

# Basic connection test: a central connects to a peripheral and expects a
# notification, using the split controller (ULL LLL)
# Both central and peripheral hosts have their controllers in a separate device
# connected over UART. The controller is the HCI UART async sample.
simulation_id="basic_conn_split_uart_async"
verbosity_level=2
EXECUTE_TIMEOUT=10

cd ${BSIM_OUT_PATH}/bin

UART_DIR=/tmp/bs_${USER}/${simulation_id}/
UART_PER=${UART_DIR}/peripheral
UART_CEN=${UART_DIR}/central

# Note the host+app devices are NOT connected to the phy, only the controllers are.

# Peripheral app + host :
Execute ./bs_${BOARD}_tests_bsim_bluetooth_ll_conn_prj_split_uart_conf \
  -v=${verbosity_level} -s=${simulation_id} -d=10 -nosim -RealEncryption=0 \
  -testid=peripheral -rs=23 -uart1_fifob_rxfile=${UART_PER}.rx -uart1_fifob_txfile=${UART_PER}.tx

# Peripheral controller:
Execute ./bs_${BOARD}_samples_bluetooth_hci_uart_async_prj_conf \
  -v=${verbosity_level} -s=${simulation_id} -d=0 -RealEncryption=0 \
  -rs=23 -uart1_fifob_rxfile=${UART_PER}.tx -uart1_fifob_txfile=${UART_PER}.rx

# Central app + host
Execute ./bs_${BOARD}_tests_bsim_bluetooth_ll_conn_prj_split_uart_conf\
  -v=${verbosity_level} -s=${simulation_id} -d=11 -nosim -RealEncryption=0 \
  -testid=central -rs=6 -uart1_fifob_rxfile=${UART_CEN}.rx -uart1_fifob_txfile=${UART_CEN}.tx

# Central controller:
Execute ./bs_${BOARD}_samples_bluetooth_hci_uart_async_prj_conf \
  -v=${verbosity_level} -s=${simulation_id} -d=1 -RealEncryption=0 \
  -rs=23 -uart1_fifob_rxfile=${UART_CEN}.tx -uart1_fifob_txfile=${UART_CEN}.rx

Execute ./bs_2G4_phy_v1 -v=${verbosity_level} -s=${simulation_id} \
  -D=2 -sim_length=20e6 $@

wait_for_background_jobs