Skip to content

Add Multi-Board Treadmill Descriptors & BLE Advertise+Scan Test #17

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

Closed
wants to merge 31 commits into from

Conversation

charles37
Copy link
Contributor

Pull Request Title:
Add Multi-Board Treadmill Descriptors & BLE Advertise+Scan Test

Pull Request Description:

  • Multi-board support: Adjust harness to handle multiple boards in a single test run.
  • Board Descriptors in YAML: Load boards via --board-descriptors instead of --boards.
  • Updated main.py: Dynamically import board modules listed in YAML (e.g. board-nrf52840dk-<serial>.yml).
  • New BLE Test: Adds ble_advertising_scanning_test.py to verify advertiser and scanner boards can detect each other.

With these changes, tock-hardware-ci can run multi-board tests using Treadmill descriptors

@charles37 charles37 requested a review from lschuermann January 31, 2025 18:36
board descriptors init

board_descriptors no serial

init board descriptor cluser board

board_descriptors: update board_module paths

board_descriptors: add nrf serial numbers and new methods for erase_board

multi_board: remove target_spec.yaml and read directly from board descriptor files

multi_board: remove leading zeroes from serial numbers

multi_board: revert changes to kernel board path

multi_board: adapter serial command replaces hle_serial

multi_board: override tocloader general flags

multi_board: openocd options with jlink serial no

"multi_board config: using new --openocd-serial-number"

multi_board config: Removed the --openocd flag from our TOCKLOADER_GENERAL_FLAGS since it's already added by the Makefile"

use tockloader directly rather than make flash openocd

update board path for flash openocd command

overwrite flash app with new adapter serial

properly select unique serial ports for each board based on its serial number:

Sort the matching ports by device name

Allow the board to be created with a default port initially

multi_board: change board path for --openocd-board

multi_board: use correct openocd board path

multi_board: temporary fix for rustup 1.28.0

test is properly validating the communication between the two boards

Multi-Board Treadmill Descriptors & BLE Advertise+Scan Test
@charles37 charles37 force-pushed the dev/mult-board-treadmill branch from 7b9d0e1 to 7af45c3 Compare March 6, 2025 18:14
Copy link
Member

@lschuermann lschuermann left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

All of these changes look good generally! Two minor nits.

As discussed, we should probably try to split some of these changes into individual PRs.

Comment on lines +44 to +56
# New inputs for multi-board tests
multi-board:
required: false
type: string
default: 'false'
supervisor-id:
required: false
type: string
default: ''
board-descriptors:
required: false
type: string
default: ''
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Can we add descriptions on what these inputs are for, and their expected format?

@@ -1,6 +1,10 @@
model: nrf52840dk
hw_rev: '3.2'
serial_number: 0xfoobar
serial_number: '0679be07-6106-48aa-8057-b1d4f2e18a99'
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I don't think serial_number is a good label here. This is just the host ID, no?

@charles37 charles37 deployed to treadmill-ci April 24, 2025 16:30 — with GitHub Actions Active
@alevy
Copy link
Member

alevy commented Apr 29, 2025

Superceded by #18 and #19

@alevy alevy closed this Apr 29, 2025
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

3 participants