Testsbeds produced

Tip

This page demonstrates how to check if a testbed works correctly.

Tentacles inventory

 1from octoprobe.util_baseclasses import TentaclesCollector
 2
 3from testbed_showcase.constants import TESTBED_NAME
 4
 5from . import tentacle_specs
 6
 7TENTACLES_INVENTORY = (
 8    TentaclesCollector(testbed_name=TESTBED_NAME)
 9    .add_testbed_instance(
10        testbed_instance="ch_hans_1",
11        tentacles=[
12            ("e46340474b17-4429", "v1.0", tentacle_specs.MCU_PYBV11),
13            ("e46340474b4e-1831", "v1.1", tentacle_specs.MCU_RPI_PICO2),
14            ("e46340474b4c-1331", "v1.0", tentacle_specs.DAQ_SALEAE),
15            ("e46340474b4c-3f31", "v1.0", tentacle_specs.DEVICE_POTPOURRY),
16            (
17                "de646cc20b92-5425",
18                "v1.0",
19                tentacle_specs.MCU_RPI_PICO_W,
20            ),  # Tentacle v0.4
21        ],
22    )
23    .add_testbed_instance(
24        testbed_instance="ch_hans_2",
25        tentacles=[
26            ("e46340474b4c-2731", "v1.1", tentacle_specs.MCU_RPI_PICO2),
27            ("e46340474b28-3623", "v1.0", tentacle_specs.DAQ_SALEAE),
28            ("e46340474b0c-3523", "v1.0", tentacle_specs.DEVICE_POTPOURRY),
29        ],
30    )
31    .add_testbed_instance(
32        testbed_instance="ch_greenliff_1",
33        tentacles=[
34            ("e46340474b55-1722", "v1.0", tentacle_specs.MCU_RPI_PICO),
35            ("e46340474b16-4d29", "v1.0", tentacle_specs.DAQ_SALEAE),
36            ("e46340474b57-4722", "v1.0", tentacle_specs.DEVICE_POTPOURRY),
37        ],
38    )
39    .add_testbed_instance(
40        testbed_instance="au_damien_1",
41        tentacles=[
42            ("e46340474b14-1c29", "v1.1", tentacle_specs.MCU_RPI_PICO2),
43            ("e46340474b12-1931", "v1.0", tentacle_specs.DAQ_SALEAE),
44            ("e46340474b56-3b21", "v1.0", tentacle_specs.DEVICE_POTPOURRY),
45        ],
46    )
47).inventory

Delivery Inspection / Function check

Steps for function check

  • Connect all tentacles via USB with the computer

  • Connect all tentacles via Octobus

  • Pulseview:

    • Start pulseview: sudo ./pulseview-NIGHTLY-x86_64-debug.appimage

    • 1 M samples/ 16 MHz

    • Raising edge trigger on D0

    • 5% pre trigger

    • I2C-SCL: D2

    • I2C-SDA: D3

  • Run the tests:

pytest -v -s \
      --firmware=pytest_args_firmware_RPI_PICO2_v1.24.0.json \
      tests/test_simple.py::test_i2c_pattern

Expected text output

collected 1 items

tests/test_simple.py::test_i2c_pattern[1831pico2(RPI_PICO2)-3f31potpourry-1331daq] PASSED
========================================== 2 passed in 7.15s ==========================================
../../_images/pulseview_i2c_pattern.png
pytest -v -s \
      --firmware=pytest_args_firmware_RPI_PICO2_v1.24.0.json \
      tests/test_simple.py

Expected text output

collected 2 items

tests/test_simple.py::test_i2c[1831pico2(RPI_PICO2)-3f31potpourry-1331daq] PASSED
tests/test_simple.py::test_onewire[1831pico2(RPI_PICO2)-3f31potpourry-1331daq] PASSED
========================================== 2 passed in 7.15s ==========================================

Expected pulseview screenshot for I2C:

../../_images/pulseview_i2c.png

Note

If these test succeed:

  • The configuration file testbed_ch_wetzikon_1.py contains the correct serial numbers.

  • The tentacles * are correctly connected and work. * are connected correctly via the Octobus

  • The tentacles MCUs etc. are soldered correctly