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 ==========================================
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:
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