Testsbeds produced

Tip

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

Tentacles inventory

 1from octoprobe.usb_tentacle.usb_constants import HwVersion
 2from octoprobe.util_baseclasses import TentaclesCollector
 3
 4from testbed_showcase.constants import TESTBED_NAME
 5
 6from . import tentacle_specs
 7
 8TENTACLES_INVENTORY = (
 9    TentaclesCollector(testbed_name=TESTBED_NAME)
10    .add_testbed_instance(
11        testbed_instance="ch_hans_1",
12        tentacles=[
13            ("e46340474b17-4429", HwVersion.V03, "v1.0", tentacle_specs.MCU_PYBV11),
14            ("e46340474b4e-1831", HwVersion.V03, "v1.1", tentacle_specs.MCU_RPI_PICO2),
15            ("e46340474b4c-1331", HwVersion.V03, "v1.0", tentacle_specs.DAQ_SALEAE),
16            (
17                "e46340474b4c-3f31",
18                HwVersion.V03,
19                "v1.0",
20                tentacle_specs.DEVICE_POTPOURRY,
21            ),
22            (
23                "de646cc20b92-5425",
24                HwVersion.V03,
25                "v1.0",
26                tentacle_specs.MCU_RPI_PICO_W,
27            ),  # Tentacle v0.4
28        ],
29    )
30    .add_testbed_instance(
31        testbed_instance="ch_hans_2",
32        tentacles=[
33            ("e46340474b4c-2731", HwVersion.V03, "v1.1", tentacle_specs.MCU_RPI_PICO2),
34            ("e46340474b28-3623", HwVersion.V03, "v1.0", tentacle_specs.DAQ_SALEAE),
35            (
36                "e46340474b0c-3523",
37                HwVersion.V03,
38                "v1.0",
39                tentacle_specs.DEVICE_POTPOURRY,
40            ),
41        ],
42    )
43    .add_testbed_instance(
44        testbed_instance="ch_greenliff_1",
45        tentacles=[
46            ("e46340474b55-1722", HwVersion.V03, "v1.0", tentacle_specs.MCU_RPI_PICO),
47            ("e46340474b16-4d29", HwVersion.V03, "v1.0", tentacle_specs.DAQ_SALEAE),
48            (
49                "e46340474b57-4722",
50                HwVersion.V03,
51                "v1.0",
52                tentacle_specs.DEVICE_POTPOURRY,
53            ),
54        ],
55    )
56    .add_testbed_instance(
57        testbed_instance="au_damien_1",
58        tentacles=[
59            ("e46340474b14-1c29", HwVersion.V03, "v1.1", tentacle_specs.MCU_RPI_PICO2),
60            ("e46340474b12-1931", HwVersion.V03, "v1.0", tentacle_specs.DAQ_SALEAE),
61            (
62                "e46340474b56-3b21",
63                HwVersion.V03,
64                "v1.0",
65                tentacle_specs.DEVICE_POTPOURRY,
66            ),
67        ],
68    )
69).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