From a3a763d002c0b2ad98e9461df14b762dd7620b61 Mon Sep 17 00:00:00 2001 From: Jeff Chambliss Date: Mon, 15 Apr 2024 11:44:50 -0400 Subject: [PATCH] Added triton_cal_plots.py to extract data from test_triton_cal.json and plot overlays of each channel's performance. --- test.html | 596 +++---- test/test_triton_cal.py | 24 +- test_triton_cal.json | 3756 +++++++++++++++++++++++++++++++++++++++ triton_cal_plots.py | 239 +++ 4 files changed, 4307 insertions(+), 308 deletions(-) create mode 100644 test_triton_cal.json create mode 100644 triton_cal_plots.py diff --git a/test.html b/test.html index 77f207dc3..a90bc954a 100644 --- a/test.html +++ b/test.html @@ -253,9 +253,9 @@ }

pyadi-iio Test Report

-

Report generated on 10-Apr-2024 at 14:08:47 by pytest-html v3.2.0

+

Report generated on 12-Apr-2024 at 10:14:26 by pytest-html v3.2.0

Summary

-

170 tests ran in 723.59 seconds.

+

170 tests ran in 623.83 seconds.

170 passed, 0 skipped, 0 failed, 0 errors, 0 expected failures, 0 unexpected passes

Results

@@ -271,7 +271,7 @@

Results

- + @@ -292,33 +292,33 @@

Results

- + - + @@ -331,20 +331,20 @@

Results

- + @@ -357,33 +357,33 @@

Results

- + - + @@ -396,14 +396,14 @@

Results

- + - + - + - + @@ -463,7 +463,7 @@

Results

@@ -476,7 +476,7 @@

Results

@@ -489,20 +489,20 @@

Results

- + @@ -515,27 +515,27 @@

Results

- + - + - + @@ -569,59 +569,59 @@

Results

- + - + - + - + @@ -634,7 +634,7 @@

Results

@@ -647,27 +647,27 @@

Results

- + - + - + - + - + @@ -727,79 +727,79 @@

Results

- + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + @@ -1123,59 +1123,59 @@

Results

- + - + - + - + @@ -1188,14 +1188,14 @@

Results

- + - + - + - + - + - + - + - + - + @@ -1320,14 +1320,14 @@

Results

- + - + - + - + @@ -1387,33 +1387,33 @@

Results

- + - + @@ -1426,7 +1426,7 @@

Results

@@ -1439,27 +1439,27 @@

Results

- + - + - + - + @@ -1506,72 +1506,72 @@

Results

- + - + - + - + - + @@ -1584,14 +1584,14 @@

Results

- + @@ -1612,20 +1612,20 @@

Results

- + @@ -1638,33 +1638,33 @@

Results

- + - + @@ -1677,7 +1677,7 @@

Results

@@ -1690,7 +1690,7 @@

Results

@@ -1703,27 +1703,27 @@

Results

- + - + - + @@ -1757,7 +1757,7 @@

Results

@@ -1770,20 +1770,20 @@

Results

- + @@ -1796,46 +1796,46 @@

Results

- + - + - + @@ -1848,14 +1848,14 @@

Results

- + - + - + - + - + - + - + - + @@ -1967,27 +1967,27 @@

Results

- + - + - + - + - + - + @@ -2060,7 +2060,7 @@

Results

@@ -2073,7 +2073,7 @@

Results

@@ -2086,7 +2086,7 @@

Results

@@ -2099,27 +2099,27 @@

Results

- + - + - + @@ -2153,7 +2153,7 @@

Results

@@ -2166,46 +2166,46 @@

Results

- + - + - + @@ -2218,40 +2218,40 @@

Results

- + - + - + - + @@ -2285,72 +2285,72 @@

Results

- + - + - + - + - + @@ -2363,7 +2363,7 @@

Results

@@ -2376,14 +2376,14 @@

Results

- + - + - + @@ -2430,7 +2430,7 @@

Results

@@ -2443,14 +2443,14 @@

Results

- + - + - + @@ -2497,7 +2497,7 @@

Results

@@ -2510,6 +2510,6 @@

Results

Passed test/test_triton_cal.py::test_loopback[channel:0-adjacent_loopback-Frequency (MHz):8000]38.8425.22
@@ -279,7 +279,7 @@

Results

Connect signal generator into channel 0 input and connect spectrum analyzer into channel 0 output. Press Enter when complete -Power level (dBm): -1.993954E+00 +Power level (dBm): -2.713206E+00
------------------------------Captured stdout call------------------------------
-Power level (dBm): -2.508462E+00 +Power level (dBm): -3.077999E+00
Passed test/test_triton_cal.py::test_loopback[channel:0-adjacent_loopback-Frequency (MHz):10000]2.062.05
------------------------------Captured stdout call------------------------------
-Power level (dBm): -3.423036E+00 +Power level (dBm): -3.643141E+00
Passed test/test_triton_cal.py::test_loopback[channel:0-adjacent_loopback-Frequency (MHz):11000]2.022.01
------------------------------Captured stdout call------------------------------
-Power level (dBm): -4.434560E+00 +Power level (dBm): -4.773222E+00
------------------------------Captured stdout call------------------------------
-Power level (dBm): -4.124143E+00 +Power level (dBm): -4.158241E+00
Passed test/test_triton_cal.py::test_loopback[channel:0-combined_loopback-Frequency (MHz):8000]2.052.02
------------------------------Captured stdout call------------------------------
-Power level (dBm): -4.422807E+01 +Power level (dBm): -4.503376E+01
------------------------------Captured stdout call------------------------------
-Power level (dBm): -4.713770E+01 +Power level (dBm): -4.784751E+01
Passed test/test_triton_cal.py::test_loopback[channel:0-combined_loopback-Frequency (MHz):10000]2.042.05
------------------------------Captured stdout call------------------------------
-Power level (dBm): -4.927985E+01 +Power level (dBm): -4.924398E+01
Passed test/test_triton_cal.py::test_loopback[channel:0-combined_loopback-Frequency (MHz):11000]2.012.02
------------------------------Captured stdout call------------------------------
-Power level (dBm): -4.958836E+01 +Power level (dBm): -4.968870E+01
------------------------------Captured stdout call------------------------------
-Power level (dBm): -5.166031E+01 +Power level (dBm): -5.190278E+01
Passed test/test_triton_cal.py::test_loopback[channel:1-adjacent_loopback-Frequency (MHz):8000]17.6123.68
@@ -411,46 +411,46 @@

Results

Connect signal generator into channel 1 input and connect spectrum analyzer into channel 1 output. Press Enter when complete -Power level (dBm): -2.114427E+00 +Power level (dBm): -2.712696E+00
Passed test/test_triton_cal.py::test_loopback[channel:1-adjacent_loopback-Frequency (MHz):9000]2.022.01
------------------------------Captured stdout call------------------------------
-Power level (dBm): -2.596993E+00 +Power level (dBm): -3.529439E+00
Passed test/test_triton_cal.py::test_loopback[channel:1-adjacent_loopback-Frequency (MHz):10000]2.032.08
------------------------------Captured stdout call------------------------------
-Power level (dBm): -3.515358E+00 +Power level (dBm): -3.683637E+00
Passed test/test_triton_cal.py::test_loopback[channel:1-adjacent_loopback-Frequency (MHz):11000]2.022.08
------------------------------Captured stdout call------------------------------
-Power level (dBm): -4.435777E+00 +Power level (dBm): -4.721067E+00
------------------------------Captured stdout call------------------------------
-Power level (dBm): -4.202303E+00 +Power level (dBm): -4.196872E+00
------------------------------Captured stdout call------------------------------
-Power level (dBm): -4.439084E+01 +Power level (dBm): -4.501656E+01
------------------------------Captured stdout call------------------------------
-Power level (dBm): -4.685491E+01 +Power level (dBm): -4.768188E+01
Passed test/test_triton_cal.py::test_loopback[channel:1-combined_loopback-Frequency (MHz):10000]2.012.07
------------------------------Captured stdout call------------------------------
-Power level (dBm): -4.878478E+01 +Power level (dBm): -4.913830E+01
------------------------------Captured stdout call------------------------------
-Power level (dBm): -4.901216E+01 +Power level (dBm): -4.892950E+01
Passed test/test_triton_cal.py::test_loopback[channel:1-combined_loopback-Frequency (MHz):12000]2.012.02
------------------------------Captured stdout call------------------------------
-Power level (dBm): -5.241534E+01 +Power level (dBm): -5.163880E+01
Passed test/test_triton_cal.py::test_loopback[channel:2-adjacent_loopback-Frequency (MHz):8000]23.3014.44
@@ -543,20 +543,20 @@

Results

Connect signal generator into channel 2 input and connect spectrum analyzer into channel 2 output. Press Enter when complete -Power level (dBm): -1.991549E+00 +Power level (dBm): -2.661754E+00
Passed test/test_triton_cal.py::test_loopback[channel:2-adjacent_loopback-Frequency (MHz):9000]2.102.01
------------------------------Captured stdout call------------------------------
-Power level (dBm): -2.514659E+00 +Power level (dBm): -3.482011E+00
------------------------------Captured stdout call------------------------------
-Power level (dBm): -3.452373E+00 +Power level (dBm): -3.598088E+00
Passed test/test_triton_cal.py::test_loopback[channel:2-adjacent_loopback-Frequency (MHz):11000]2.032.01
------------------------------Captured stdout call------------------------------
-Power level (dBm): -4.507069E+00 +Power level (dBm): -4.722182E+00
Passed test/test_triton_cal.py::test_loopback[channel:2-adjacent_loopback-Frequency (MHz):12000]2.012.03
------------------------------Captured stdout call------------------------------
-Power level (dBm): -4.288894E+00 +Power level (dBm): -4.291178E+00
Passed test/test_triton_cal.py::test_loopback[channel:2-combined_loopback-Frequency (MHz):8000]2.022.03
------------------------------Captured stdout call------------------------------
-Power level (dBm): -4.437535E+01 +Power level (dBm): -4.503860E+01
Passed test/test_triton_cal.py::test_loopback[channel:2-combined_loopback-Frequency (MHz):9000]2.012.02
------------------------------Captured stdout call------------------------------
-Power level (dBm): -4.701786E+01 +Power level (dBm): -4.823097E+01
------------------------------Captured stdout call------------------------------
-Power level (dBm): -4.855451E+01 +Power level (dBm): -4.863151E+01
------------------------------Captured stdout call------------------------------
-Power level (dBm): -4.896702E+01 +Power level (dBm): -4.899025E+01
Passed test/test_triton_cal.py::test_loopback[channel:2-combined_loopback-Frequency (MHz):12000]2.022.01
------------------------------Captured stdout call------------------------------
-Power level (dBm): -5.213811E+01 +Power level (dBm): -5.224553E+01
Passed test/test_triton_cal.py::test_loopback[channel:3-adjacent_loopback-Frequency (MHz):8000]16.9314.52
@@ -675,46 +675,46 @@

Results

Connect signal generator into channel 3 input and connect spectrum analyzer into channel 3 output. Press Enter when complete -Power level (dBm): -2.112304E+00 +Power level (dBm): -2.342948E+00
Passed test/test_triton_cal.py::test_loopback[channel:3-adjacent_loopback-Frequency (MHz):9000]2.022.04
------------------------------Captured stdout call------------------------------
-Power level (dBm): -2.641124E+00 +Power level (dBm): -2.918662E+00
Passed test/test_triton_cal.py::test_loopback[channel:3-adjacent_loopback-Frequency (MHz):10000]2.022.01
------------------------------Captured stdout call------------------------------
-Power level (dBm): -3.533229E+00 +Power level (dBm): -3.774200E+00
Passed test/test_triton_cal.py::test_loopback[channel:3-adjacent_loopback-Frequency (MHz):11000]2.042.03
------------------------------Captured stdout call------------------------------
-Power level (dBm): -4.558508E+00 +Power level (dBm): -4.650813E+00
------------------------------Captured stdout call------------------------------
-Power level (dBm): -4.458470E+00 +Power level (dBm): -4.172471E+00
Passed test/test_triton_cal.py::test_loopback[channel:3-combined_loopback-Frequency (MHz):8000]2.012.04
------------------------------Captured stdout call------------------------------
-Power level (dBm): -4.439078E+01 +Power level (dBm): -4.458621E+01
Passed test/test_triton_cal.py::test_loopback[channel:3-combined_loopback-Frequency (MHz):9000]2.022.01
------------------------------Captured stdout call------------------------------
-Power level (dBm): -4.701880E+01 +Power level (dBm): -4.767281E+01
Passed test/test_triton_cal.py::test_loopback[channel:3-combined_loopback-Frequency (MHz):10000]2.012.03
------------------------------Captured stdout call------------------------------
-Power level (dBm): -4.899109E+01 +Power level (dBm): -4.916175E+01
Passed test/test_triton_cal.py::test_loopback[channel:3-combined_loopback-Frequency (MHz):11000]2.052.07
------------------------------Captured stdout call------------------------------
-Power level (dBm): -4.933261E+01 +Power level (dBm): -4.929842E+01
Passed test/test_triton_cal.py::test_loopback[channel:3-combined_loopback-Frequency (MHz):12000]2.022.08
------------------------------Captured stdout call------------------------------
-Power level (dBm): -5.210537E+01 +Power level (dBm): -5.165910E+01
Passed test/test_triton_cal.py::test_loopback[channel:4-adjacent_loopback-Frequency (MHz):8000]11.9913.53
@@ -807,131 +807,131 @@

Results

Connect signal generator into channel 4 input and connect spectrum analyzer into channel 4 output. Press Enter when complete -Power level (dBm): -1.980559E+00 +Power level (dBm): -2.346485E+00
Passed test/test_triton_cal.py::test_loopback[channel:4-adjacent_loopback-Frequency (MHz):9000]2.042.01
------------------------------Captured stdout call------------------------------
-Power level (dBm): -2.444369E+00 +Power level (dBm): -2.890784E+00
Passed test/test_triton_cal.py::test_loopback[channel:4-adjacent_loopback-Frequency (MHz):10000]2.042.01
------------------------------Captured stdout call------------------------------
-Power level (dBm): -3.378995E+00 +Power level (dBm): -3.732337E+00
Passed test/test_triton_cal.py::test_loopback[channel:4-adjacent_loopback-Frequency (MHz):11000]2.012.06
------------------------------Captured stdout call------------------------------
-Power level (dBm): -4.443228E+00 +Power level (dBm): -4.733950E+00
Passed test/test_triton_cal.py::test_loopback[channel:4-adjacent_loopback-Frequency (MHz):12000]2.012.02
------------------------------Captured stdout call------------------------------
-Power level (dBm): -4.233782E+00 +Power level (dBm): -4.250496E+00
Passed test/test_triton_cal.py::test_loopback[channel:4-combined_loopback-Frequency (MHz):8000]2.042.01
------------------------------Captured stdout call------------------------------
-Power level (dBm): -4.456426E+01 +Power level (dBm): -4.484545E+01
Passed test/test_triton_cal.py::test_loopback[channel:4-combined_loopback-Frequency (MHz):9000]2.102.02
------------------------------Captured stdout call------------------------------
-Power level (dBm): -4.709487E+01 +Power level (dBm): -4.764614E+01
Passed test/test_triton_cal.py::test_loopback[channel:4-combined_loopback-Frequency (MHz):10000]2.032.02
------------------------------Captured stdout call------------------------------
-Power level (dBm): -4.888331E+01 +Power level (dBm): -4.916323E+01
Passed test/test_triton_cal.py::test_loopback[channel:4-combined_loopback-Frequency (MHz):11000]2.022.01
------------------------------Captured stdout call------------------------------
-Power level (dBm): -4.894208E+01 +Power level (dBm): -4.781840E+01
Passed test/test_triton_cal.py::test_loopback[channel:4-combined_loopback-Frequency (MHz):12000]2.022.01
------------------------------Captured stdout call------------------------------
-Power level (dBm): -5.202686E+01 +Power level (dBm): -5.223407E+01
Passed test/test_triton_cal.py::test_loopback[channel:5-adjacent_loopback-Frequency (MHz):8000]18.0313.06
@@ -939,131 +939,131 @@

Results

Connect signal generator into channel 5 input and connect spectrum analyzer into channel 5 output. Press Enter when complete -Power level (dBm): -2.083569E+00 +Power level (dBm): -2.313940E+00
Passed test/test_triton_cal.py::test_loopback[channel:5-adjacent_loopback-Frequency (MHz):9000]2.012.03
------------------------------Captured stdout call------------------------------
-Power level (dBm): -2.614560E+00 +Power level (dBm): -2.900420E+00
Passed test/test_triton_cal.py::test_loopback[channel:5-adjacent_loopback-Frequency (MHz):10000]2.042.03
------------------------------Captured stdout call------------------------------
-Power level (dBm): -3.509312E+00 +Power level (dBm): -3.842905E+00
Passed test/test_triton_cal.py::test_loopback[channel:5-adjacent_loopback-Frequency (MHz):11000]2.012.03
------------------------------Captured stdout call------------------------------
-Power level (dBm): -4.459831E+00 +Power level (dBm): -4.664529E+00
Passed test/test_triton_cal.py::test_loopback[channel:5-adjacent_loopback-Frequency (MHz):12000]2.022.06
------------------------------Captured stdout call------------------------------
-Power level (dBm): -4.246636E+00 +Power level (dBm): -4.128291E+00
Passed test/test_triton_cal.py::test_loopback[channel:5-combined_loopback-Frequency (MHz):8000]2.042.03
------------------------------Captured stdout call------------------------------
-Power level (dBm): -4.464600E+01 +Power level (dBm): -4.491219E+01
Passed test/test_triton_cal.py::test_loopback[channel:5-combined_loopback-Frequency (MHz):9000]2.032.01
------------------------------Captured stdout call------------------------------
-Power level (dBm): -4.707309E+01 +Power level (dBm): -4.765752E+01
Passed test/test_triton_cal.py::test_loopback[channel:5-combined_loopback-Frequency (MHz):10000]2.012.02
------------------------------Captured stdout call------------------------------
-Power level (dBm): -4.936636E+01 +Power level (dBm): -4.932526E+01
Passed test/test_triton_cal.py::test_loopback[channel:5-combined_loopback-Frequency (MHz):11000]2.022.01
------------------------------Captured stdout call------------------------------
-Power level (dBm): -4.893693E+01 +Power level (dBm): -4.932955E+01
Passed test/test_triton_cal.py::test_loopback[channel:5-combined_loopback-Frequency (MHz):12000]2.052.04
------------------------------Captured stdout call------------------------------
-Power level (dBm): -5.218611E+01 +Power level (dBm): -5.170701E+01
Passed test/test_triton_cal.py::test_loopback[channel:6-adjacent_loopback-Frequency (MHz):8000]15.5411.52
@@ -1071,46 +1071,46 @@

Results

Connect signal generator into channel 6 input and connect spectrum analyzer into channel 6 output. Press Enter when complete -Power level (dBm): -2.026429E+00 +Power level (dBm): -2.312365E+00
Passed test/test_triton_cal.py::test_loopback[channel:6-adjacent_loopback-Frequency (MHz):9000]2.022.01
------------------------------Captured stdout call------------------------------
-Power level (dBm): -2.551971E+00 +Power level (dBm): -2.846671E+00
Passed test/test_triton_cal.py::test_loopback[channel:6-adjacent_loopback-Frequency (MHz):10000]2.012.02
------------------------------Captured stdout call------------------------------
-Power level (dBm): -3.431257E+00 +Power level (dBm): -3.834120E+00
Passed test/test_triton_cal.py::test_loopback[channel:6-adjacent_loopback-Frequency (MHz):11000]2.032.02
------------------------------Captured stdout call------------------------------
-Power level (dBm): -4.468519E+00 +Power level (dBm): -4.760614E+00
------------------------------Captured stdout call------------------------------
-Power level (dBm): -4.385063E+00 +Power level (dBm): -4.226539E+00
Passed test/test_triton_cal.py::test_loopback[channel:6-combined_loopback-Frequency (MHz):8000]2.032.02
------------------------------Captured stdout call------------------------------
-Power level (dBm): -4.467166E+01 +Power level (dBm): -4.496972E+01
Passed test/test_triton_cal.py::test_loopback[channel:6-combined_loopback-Frequency (MHz):9000]2.022.01
------------------------------Captured stdout call------------------------------
-Power level (dBm): -4.692708E+01 +Power level (dBm): -4.739670E+01
Passed test/test_triton_cal.py::test_loopback[channel:6-combined_loopback-Frequency (MHz):10000]2.042.01
------------------------------Captured stdout call------------------------------
-Power level (dBm): -4.896517E+01 +Power level (dBm): -4.962469E+01
Passed test/test_triton_cal.py::test_loopback[channel:6-combined_loopback-Frequency (MHz):11000]2.032.01
------------------------------Captured stdout call------------------------------
-Power level (dBm): -4.904863E+01 +Power level (dBm): -4.898659E+01
------------------------------Captured stdout call------------------------------
-Power level (dBm): -5.245092E+01 +Power level (dBm): -5.226951E+01
Passed test/test_triton_cal.py::test_loopback[channel:7-adjacent_loopback-Frequency (MHz):8000]24.2712.10
@@ -1203,111 +1203,111 @@

Results

Connect signal generator into channel 7 input and connect spectrum analyzer into channel 7 output. Press Enter when complete -Power level (dBm): -1.914384E+00 +Power level (dBm): -2.519439E+00
Passed test/test_triton_cal.py::test_loopback[channel:7-adjacent_loopback-Frequency (MHz):9000]2.012.02
------------------------------Captured stdout call------------------------------
-Power level (dBm): -2.492049E+00 +Power level (dBm): -3.127526E+00
Passed test/test_triton_cal.py::test_loopback[channel:7-adjacent_loopback-Frequency (MHz):10000]2.032.02
------------------------------Captured stdout call------------------------------
-Power level (dBm): -3.411543E+00 +Power level (dBm): -3.807360E+00
Passed test/test_triton_cal.py::test_loopback[channel:7-adjacent_loopback-Frequency (MHz):11000]2.022.03
------------------------------Captured stdout call------------------------------
-Power level (dBm): -4.436798E+00 +Power level (dBm): -4.814937E+00
Passed test/test_triton_cal.py::test_loopback[channel:7-adjacent_loopback-Frequency (MHz):12000]2.022.03
------------------------------Captured stdout call------------------------------
-Power level (dBm): -4.313219E+00 +Power level (dBm): -4.256808E+00
Passed test/test_triton_cal.py::test_loopback[channel:7-combined_loopback-Frequency (MHz):8000]2.022.05
------------------------------Captured stdout call------------------------------
-Power level (dBm): -4.455219E+01 +Power level (dBm): -4.495648E+01
Passed test/test_triton_cal.py::test_loopback[channel:7-combined_loopback-Frequency (MHz):9000]2.012.02
------------------------------Captured stdout call------------------------------
-Power level (dBm): -4.689711E+01 +Power level (dBm): -4.767289E+01
Passed test/test_triton_cal.py::test_loopback[channel:7-combined_loopback-Frequency (MHz):10000]2.032.01
------------------------------Captured stdout call------------------------------
-Power level (dBm): -4.890231E+01 +Power level (dBm): -4.966882E+01
Passed test/test_triton_cal.py::test_loopback[channel:7-combined_loopback-Frequency (MHz):11000]2.032.02
------------------------------Captured stdout call------------------------------
-Power level (dBm): -4.887699E+01 +Power level (dBm): -4.901686E+01
------------------------------Captured stdout call------------------------------
-Power level (dBm): -5.202414E+01 +Power level (dBm): -5.221202E+01
Passed test/test_triton_cal.py::test_loopback[channel:8-adjacent_loopback-Frequency (MHz):8000]16.2512.74
@@ -1335,46 +1335,46 @@

Results

Connect signal generator into channel 8 input and connect spectrum analyzer into channel 8 output. Press Enter when complete -Power level (dBm): -1.966074E+00 +Power level (dBm): -2.395231E+00
Passed test/test_triton_cal.py::test_loopback[channel:8-adjacent_loopback-Frequency (MHz):9000]2.032.01
------------------------------Captured stdout call------------------------------
-Power level (dBm): -2.479824E+00 +Power level (dBm): -2.873094E+00
Passed test/test_triton_cal.py::test_loopback[channel:8-adjacent_loopback-Frequency (MHz):10000]2.012.02
------------------------------Captured stdout call------------------------------
-Power level (dBm): -3.384719E+00 +Power level (dBm): -3.800642E+00
Passed test/test_triton_cal.py::test_loopback[channel:8-adjacent_loopback-Frequency (MHz):11000]2.022.01
------------------------------Captured stdout call------------------------------
-Power level (dBm): -4.411545E+00 +Power level (dBm): -4.804201E+00
------------------------------Captured stdout call------------------------------
-Power level (dBm): -4.334993E+00 +Power level (dBm): -4.315011E+00
Passed test/test_triton_cal.py::test_loopback[channel:8-combined_loopback-Frequency (MHz):8000]2.072.01
------------------------------Captured stdout call------------------------------
-Power level (dBm): -5.202775E+01 +Power level (dBm): -5.275085E+01
Passed test/test_triton_cal.py::test_loopback[channel:8-combined_loopback-Frequency (MHz):9000]2.032.02
------------------------------Captured stdout call------------------------------
-Power level (dBm): -5.472009E+01 +Power level (dBm): -5.543575E+01
------------------------------Captured stdout call------------------------------
-Power level (dBm): -5.294920E+01 +Power level (dBm): -5.286495E+01
------------------------------Captured stdout call------------------------------
-Power level (dBm): -5.312851E+01 +Power level (dBm): -5.367478E+01
Passed test/test_triton_cal.py::test_loopback[channel:8-combined_loopback-Frequency (MHz):12000]2.082.01
------------------------------Captured stdout call------------------------------
-Power level (dBm): -5.664192E+01 +Power level (dBm): -5.702797E+01
Passed test/test_triton_cal.py::test_loopback[channel:9-adjacent_loopback-Frequency (MHz):8000]17.1210.11
@@ -1467,33 +1467,33 @@

Results

Connect signal generator into channel 9 input and connect spectrum analyzer into channel 9 output. Press Enter when complete -Power level (dBm): -1.986030E+00 +Power level (dBm): -2.483236E+00
Passed test/test_triton_cal.py::test_loopback[channel:9-adjacent_loopback-Frequency (MHz):9000]2.022.01
------------------------------Captured stdout call------------------------------
-Power level (dBm): -2.504679E+00 +Power level (dBm): -4.312871E+00
Passed test/test_triton_cal.py::test_loopback[channel:9-adjacent_loopback-Frequency (MHz):10000]2.022.04
------------------------------Captured stdout call------------------------------
-Power level (dBm): -3.423977E+00 +Power level (dBm): -3.545246E+00
------------------------------Captured stdout call------------------------------
-Power level (dBm): -4.306752E+00 +Power level (dBm): -4.634131E+00
Passed test/test_triton_cal.py::test_loopback[channel:9-adjacent_loopback-Frequency (MHz):12000]2.032.02
------------------------------Captured stdout call------------------------------
-Power level (dBm): -4.209537E+00 +Power level (dBm): -4.135194E+00
Passed test/test_triton_cal.py::test_loopback[channel:9-combined_loopback-Frequency (MHz):8000]2.022.03
------------------------------Captured stdout call------------------------------
-Power level (dBm): -5.277603E+01 +Power level (dBm): -5.312883E+01
Passed test/test_triton_cal.py::test_loopback[channel:9-combined_loopback-Frequency (MHz):9000]2.082.01
------------------------------Captured stdout call------------------------------
-Power level (dBm): -5.547169E+01 +Power level (dBm): -5.741263E+01
Passed test/test_triton_cal.py::test_loopback[channel:9-combined_loopback-Frequency (MHz):10000]2.042.02
------------------------------Captured stdout call------------------------------
-Power level (dBm): -5.240055E+01 +Power level (dBm): -5.228085E+01
Passed test/test_triton_cal.py::test_loopback[channel:9-combined_loopback-Frequency (MHz):11000]2.022.01
------------------------------Captured stdout call------------------------------
-Power level (dBm): -5.330992E+01 +Power level (dBm): -5.346947E+01
------------------------------Captured stdout call------------------------------
-Power level (dBm): -5.752595E+01 +Power level (dBm): -5.679384E+01
Passed test/test_triton_cal.py::test_loopback[channel:10-adjacent_loopback-Frequency (MHz):8000]26.2612.85
@@ -1599,7 +1599,7 @@

Results

Connect signal generator into channel 10 input and connect spectrum analyzer into channel 10 output. Press Enter when complete -Power level (dBm): -2.070835E+00 +Power level (dBm): -2.164186E+00
------------------------------Captured stdout call------------------------------
-Power level (dBm): -2.464830E+00 +Power level (dBm): -2.510386E+00
Passed test/test_triton_cal.py::test_loopback[channel:10-adjacent_loopback-Frequency (MHz):10000]2.022.01
------------------------------Captured stdout call------------------------------
-Power level (dBm): -3.372793E+00 +Power level (dBm): -3.549183E+00
------------------------------Captured stdout call------------------------------
-Power level (dBm): -4.521016E+00 +Power level (dBm): -4.743786E+00
Passed test/test_triton_cal.py::test_loopback[channel:10-adjacent_loopback-Frequency (MHz):12000]2.012.05
------------------------------Captured stdout call------------------------------
-Power level (dBm): -4.385495E+00 +Power level (dBm): -4.350555E+00
Passed test/test_triton_cal.py::test_loopback[channel:10-combined_loopback-Frequency (MHz):8000]2.022.08
------------------------------Captured stdout call------------------------------
-Power level (dBm): -5.235184E+01 +Power level (dBm): -5.257273E+01
------------------------------Captured stdout call------------------------------
-Power level (dBm): -5.482876E+01 +Power level (dBm): -5.561184E+01
------------------------------Captured stdout call------------------------------
-Power level (dBm): -5.232035E+01 +Power level (dBm): -5.253985E+01
------------------------------Captured stdout call------------------------------
-Power level (dBm): -5.331266E+01 +Power level (dBm): -5.323700E+01
Passed test/test_triton_cal.py::test_loopback[channel:10-combined_loopback-Frequency (MHz):12000]2.042.02
------------------------------Captured stdout call------------------------------
-Power level (dBm): -5.714868E+01 +Power level (dBm): -5.767017E+01
Passed test/test_triton_cal.py::test_loopback[channel:11-adjacent_loopback-Frequency (MHz):8000]13.9214.86
@@ -1731,20 +1731,20 @@

Results

Connect signal generator into channel 11 input and connect spectrum analyzer into channel 11 output. Press Enter when complete -Power level (dBm): -2.107702E+00 +Power level (dBm): -2.356942E+00
Passed test/test_triton_cal.py::test_loopback[channel:11-adjacent_loopback-Frequency (MHz):9000]2.012.02
------------------------------Captured stdout call------------------------------
-Power level (dBm): -2.585339E+00 +Power level (dBm): -2.598222E+00
------------------------------Captured stdout call------------------------------
-Power level (dBm): -3.476745E+00 +Power level (dBm): -3.478525E+00
------------------------------Captured stdout call------------------------------
-Power level (dBm): -4.603771E+00 +Power level (dBm): -4.630241E+00
Passed test/test_triton_cal.py::test_loopback[channel:11-adjacent_loopback-Frequency (MHz):12000]2.032.01
------------------------------Captured stdout call------------------------------
-Power level (dBm): -4.390834E+00 +Power level (dBm): -4.091098E+00
------------------------------Captured stdout call------------------------------
-Power level (dBm): -5.213705E+01 +Power level (dBm): -5.202808E+01
Passed test/test_triton_cal.py::test_loopback[channel:11-combined_loopback-Frequency (MHz):9000]2.012.04
------------------------------Captured stdout call------------------------------
-Power level (dBm): -5.522259E+01 +Power level (dBm): -5.525541E+01
Passed test/test_triton_cal.py::test_loopback[channel:11-combined_loopback-Frequency (MHz):10000]2.032.01
------------------------------Captured stdout call------------------------------
-Power level (dBm): -5.263716E+01 +Power level (dBm): -5.240377E+01
Passed test/test_triton_cal.py::test_loopback[channel:11-combined_loopback-Frequency (MHz):11000]2.022.06
------------------------------Captured stdout call------------------------------
-Power level (dBm): -5.341585E+01 +Power level (dBm): -5.370574E+01
------------------------------Captured stdout call------------------------------
-Power level (dBm): -5.760705E+01 +Power level (dBm): -5.741838E+01
Passed test/test_triton_cal.py::test_loopback[channel:12-adjacent_loopback-Frequency (MHz):8000]14.2716.61
@@ -1863,98 +1863,98 @@

Results

Connect signal generator into channel 12 input and connect spectrum analyzer into channel 12 output. Press Enter when complete -Power level (dBm): -2.110463E+00 +Power level (dBm): -2.278384E+00
Passed test/test_triton_cal.py::test_loopback[channel:12-adjacent_loopback-Frequency (MHz):9000]2.042.03
------------------------------Captured stdout call------------------------------
-Power level (dBm): -2.606191E+00 +Power level (dBm): -2.644547E+00
Passed test/test_triton_cal.py::test_loopback[channel:12-adjacent_loopback-Frequency (MHz):10000]2.022.03
------------------------------Captured stdout call------------------------------
-Power level (dBm): -3.543264E+00 +Power level (dBm): -3.697013E+00
Passed test/test_triton_cal.py::test_loopback[channel:12-adjacent_loopback-Frequency (MHz):11000]2.032.01
------------------------------Captured stdout call------------------------------
-Power level (dBm): -4.628441E+00 +Power level (dBm): -4.888481E+00
Passed test/test_triton_cal.py::test_loopback[channel:12-adjacent_loopback-Frequency (MHz):12000]2.042.02
------------------------------Captured stdout call------------------------------
-Power level (dBm): -4.391249E+00 +Power level (dBm): -4.292100E+00
Passed test/test_triton_cal.py::test_loopback[channel:12-combined_loopback-Frequency (MHz):8000]2.022.04
------------------------------Captured stdout call------------------------------
-Power level (dBm): -4.515682E+01 +Power level (dBm): -4.531174E+01
Passed test/test_triton_cal.py::test_loopback[channel:12-combined_loopback-Frequency (MHz):9000]2.022.01
------------------------------Captured stdout call------------------------------
-Power level (dBm): -4.710275E+01 +Power level (dBm): -4.764869E+01
Passed test/test_triton_cal.py::test_loopback[channel:12-combined_loopback-Frequency (MHz):10000]2.022.01
------------------------------Captured stdout call------------------------------
-Power level (dBm): -4.857360E+01 +Power level (dBm): -4.866454E+01
------------------------------Captured stdout call------------------------------
-Power level (dBm): -4.923874E+01 +Power level (dBm): -4.920344E+01
Passed test/test_triton_cal.py::test_loopback[channel:12-combined_loopback-Frequency (MHz):12000]2.012.03
------------------------------Captured stdout call------------------------------
-Power level (dBm): -5.324035E+01 +Power level (dBm): -5.269677E+01
Passed test/test_triton_cal.py::test_loopback[channel:13-adjacent_loopback-Frequency (MHz):8000]13.0811.78
@@ -1995,59 +1995,59 @@

Results

Connect signal generator into channel 13 input and connect spectrum analyzer into channel 13 output. Press Enter when complete -Power level (dBm): -2.233255E+00 +Power level (dBm): -2.253842E+00
Passed test/test_triton_cal.py::test_loopback[channel:13-adjacent_loopback-Frequency (MHz):9000]2.032.02
------------------------------Captured stdout call------------------------------
-Power level (dBm): -2.635666E+00 +Power level (dBm): -2.614228E+00
Passed test/test_triton_cal.py::test_loopback[channel:13-adjacent_loopback-Frequency (MHz):10000]2.012.04
------------------------------Captured stdout call------------------------------
-Power level (dBm): -3.558259E+00 +Power level (dBm): -3.647749E+00
Passed test/test_triton_cal.py::test_loopback[channel:13-adjacent_loopback-Frequency (MHz):11000]2.022.01
------------------------------Captured stdout call------------------------------
-Power level (dBm): -4.654685E+00 +Power level (dBm): -4.771245E+00
Passed test/test_triton_cal.py::test_loopback[channel:13-adjacent_loopback-Frequency (MHz):12000]2.012.08
------------------------------Captured stdout call------------------------------
-Power level (dBm): -4.486023E+00 +Power level (dBm): -4.305930E+00
------------------------------Captured stdout call------------------------------
-Power level (dBm): -4.508287E+01 +Power level (dBm): -4.525736E+01
------------------------------Captured stdout call------------------------------
-Power level (dBm): -4.742882E+01 +Power level (dBm): -4.732505E+01
------------------------------Captured stdout call------------------------------
-Power level (dBm): -4.835188E+01 +Power level (dBm): -4.840231E+01
------------------------------Captured stdout call------------------------------
-Power level (dBm): -4.925118E+01 +Power level (dBm): -4.938793E+01
Passed test/test_triton_cal.py::test_loopback[channel:13-combined_loopback-Frequency (MHz):12000]2.092.01
------------------------------Captured stdout call------------------------------
-Power level (dBm): -5.264330E+01 +Power level (dBm): -5.238020E+01
Passed test/test_triton_cal.py::test_loopback[channel:14-adjacent_loopback-Frequency (MHz):8000]11.8013.58
@@ -2127,20 +2127,20 @@

Results

Connect signal generator into channel 14 input and connect spectrum analyzer into channel 14 output. Press Enter when complete -Power level (dBm): -2.014260E+00 +Power level (dBm): -2.335880E+00
Passed test/test_triton_cal.py::test_loopback[channel:14-adjacent_loopback-Frequency (MHz):9000]2.032.02
------------------------------Captured stdout call------------------------------
-Power level (dBm): -2.521003E+00 +Power level (dBm): -2.659169E+00
------------------------------Captured stdout call------------------------------
-Power level (dBm): -3.390863E+00 +Power level (dBm): -3.654425E+00
------------------------------Captured stdout call------------------------------
-Power level (dBm): -4.446054E+00 +Power level (dBm): -4.771632E+00
Passed test/test_triton_cal.py::test_loopback[channel:14-adjacent_loopback-Frequency (MHz):12000]2.092.02
------------------------------Captured stdout call------------------------------
-Power level (dBm): -4.322129E+00 +Power level (dBm): -4.310846E+00
Passed test/test_triton_cal.py::test_loopback[channel:14-combined_loopback-Frequency (MHz):8000]2.042.03
------------------------------Captured stdout call------------------------------
-Power level (dBm): -4.525124E+01 +Power level (dBm): -4.553709E+01
Passed test/test_triton_cal.py::test_loopback[channel:14-combined_loopback-Frequency (MHz):9000]2.012.04
------------------------------Captured stdout call------------------------------
-Power level (dBm): -4.690696E+01 +Power level (dBm): -4.733204E+01
------------------------------Captured stdout call------------------------------
-Power level (dBm): -4.858456E+01 +Power level (dBm): -4.862777E+01
Passed test/test_triton_cal.py::test_loopback[channel:14-combined_loopback-Frequency (MHz):11000]2.012.05
------------------------------Captured stdout call------------------------------
-Power level (dBm): -4.936198E+01 +Power level (dBm): -4.957783E+01
Passed test/test_triton_cal.py::test_loopback[channel:14-combined_loopback-Frequency (MHz):12000]2.022.03
------------------------------Captured stdout call------------------------------
-Power level (dBm): -5.246559E+01 +Power level (dBm): -5.287206E+01
Passed test/test_triton_cal.py::test_loopback[channel:15-adjacent_loopback-Frequency (MHz):8000]17.4310.31
@@ -2259,20 +2259,20 @@

Results

Connect signal generator into channel 15 input and connect spectrum analyzer into channel 15 output. Press Enter when complete -Power level (dBm): -2.142560E+00 +Power level (dBm): -2.392153E+00
Passed test/test_triton_cal.py::test_loopback[channel:15-adjacent_loopback-Frequency (MHz):9000]2.032.01
------------------------------Captured stdout call------------------------------
-Power level (dBm): -2.656389E+00 +Power level (dBm): -2.800071E+00
------------------------------Captured stdout call------------------------------
-Power level (dBm): -3.558505E+00 +Power level (dBm): -3.758259E+00
Passed test/test_triton_cal.py::test_loopback[channel:15-adjacent_loopback-Frequency (MHz):11000]2.032.01
------------------------------Captured stdout call------------------------------
-Power level (dBm): -4.623102E+00 +Power level (dBm): -4.838159E+00
Passed test/test_triton_cal.py::test_loopback[channel:15-adjacent_loopback-Frequency (MHz):12000]2.022.01
------------------------------Captured stdout call------------------------------
-Power level (dBm): -4.394006E+00 +Power level (dBm): -4.427161E+00
Passed test/test_triton_cal.py::test_loopback[channel:15-combined_loopback-Frequency (MHz):8000]2.012.03
------------------------------Captured stdout call------------------------------
-Power level (dBm): -4.524234E+01 +Power level (dBm): -4.544890E+01
Passed test/test_triton_cal.py::test_loopback[channel:15-combined_loopback-Frequency (MHz):9000]2.042.03
------------------------------Captured stdout call------------------------------
-Power level (dBm): -4.753675E+01 +Power level (dBm): -4.794281E+01
Passed test/test_triton_cal.py::test_loopback[channel:15-combined_loopback-Frequency (MHz):10000]2.032.02
------------------------------Captured stdout call------------------------------
-Power level (dBm): -4.915437E+01 +Power level (dBm): -4.924738E+01
------------------------------Captured stdout call------------------------------
-Power level (dBm): -4.969296E+01 +Power level (dBm): -4.977777E+01
------------------------------Captured stdout call------------------------------
-Power level (dBm): -5.280259E+01 +Power level (dBm): -5.307273E+01
Passed test/test_triton_cal.py::test_tx_combined_out[Frequency (MHz):8000]47.6528.96
@@ -2391,33 +2391,33 @@

Results

Connect signal generator into channel 0 input. Connect spectrum analyzer to the combined Tx out SMA port on top of the board. Press enter when complete -Power level (dBm): -1.780052E+01 +Power level (dBm): -1.834334E+01
Passed test/test_triton_cal.py::test_tx_combined_out[Frequency (MHz):9000]2.032.01
------------------------------Captured stdout call------------------------------
-Power level (dBm): -1.910696E+01 +Power level (dBm): -1.987976E+01
Passed test/test_triton_cal.py::test_tx_combined_out[Frequency (MHz):10000]2.022.07
------------------------------Captured stdout call------------------------------
-Power level (dBm): -2.134972E+01 +Power level (dBm): -2.136182E+01
------------------------------Captured stdout call------------------------------
-Power level (dBm): -2.219287E+01 +Power level (dBm): -2.212036E+01
------------------------------Captured stdout call------------------------------
-Power level (dBm): -2.346185E+01 +Power level (dBm): -2.349445E+01
Passed test/test_triton_cal.py::test_rx_combined_in[Frequency (MHz):8000]65.0848.92
@@ -2458,33 +2458,33 @@

Results

Connect signal generator into Rx SMA input on top of the board. Connect spectrum analyzer into channel 0 output. Press enter when complete -Power level (dBm): -1.842821E+01 +Power level (dBm): -1.901320E+01
Passed test/test_triton_cal.py::test_rx_combined_in[Frequency (MHz):9000]2.032.05
------------------------------Captured stdout call------------------------------
-Power level (dBm): -1.921201E+01 +Power level (dBm): -1.962891E+01
Passed test/test_triton_cal.py::test_rx_combined_in[Frequency (MHz):10000]2.022.01
------------------------------Captured stdout call------------------------------
-Power level (dBm): -2.082514E+01 +Power level (dBm): -2.158308E+01
------------------------------Captured stdout call------------------------------
-Power level (dBm): -2.147413E+01 +Power level (dBm): -2.251577E+01
------------------------------Captured stdout call------------------------------
-Power level (dBm): -2.311755E+01 +Power level (dBm): -2.400306E+01
\ No newline at end of file diff --git a/test/test_triton_cal.py b/test/test_triton_cal.py index bb46fe001..a3907e405 100644 --- a/test/test_triton_cal.py +++ b/test/test_triton_cal.py @@ -7,7 +7,9 @@ import pyfirmata import time + # # Connect to Arduino Uno +## Note: if first time installing pyfirmata, need to replace "getargspec" with "getfullargspec" in pyfirmata code board = pyfirmata.Arduino("COM10", baudrate=57600) # # Establish VISA control of spectrum analyzer and signal generator @@ -20,7 +22,7 @@ ### Cal Board Control Functions ### ################################### -def set_adjacent_loopback(): +def _set_adjacent_loopback(): board.digital[4].write(0) board.digital[5].write(1) @@ -28,24 +30,24 @@ def set_adjacent_loopback(): board.digital[7].write(0) -def set_combined_loopback(): +def _set_combined_loopback(): board.digital[4].write(1) board.digital[5].write(1) board.digital[6].write(1) board.digital[7].write(0) -def set_SMA_inout(): +def _set_SMA_inout(): board.digital[4].write(0) board.digital[5].write(1) board.digital[6].write(1) board.digital[7].write(1) -def set_state(state): +def _set_state(state): if state == "adjacent_loopback": - set_adjacent_loopback() + _set_adjacent_loopback() if state == 'combined_loopback': - set_combined_loopback() + _set_combined_loopback() ####################################### @@ -105,10 +107,10 @@ def test_loopback(channel, cal_board_state, frequency): if (cal_board_state == "adjacent_loopback" and frequency == 8000): input('\n\nConnect signal generator into channel {} input and connect spectrum analyzer into channel {} output. Press Enter when complete '.format(channel, channel)) - set_adjacent_loopback() + _set_adjacent_loopback() if cal_board_state == "combined_loopback": - set_combined_loopback() + _set_combined_loopback() # Set up signal generator _set_frequency_MHz(frequency, HMCT2220) # Set frequency of sig gen @@ -127,6 +129,8 @@ def test_loopback(channel, cal_board_state, frequency): peak_power = _get_peak_power_level(1, FieldFox) # Gets the power at marker 1 print("\n\nPower level (dBm): {}".format(peak_power)) + + if cal_board_state == "adjacent_loopback": assert int(float(peak_power)) > -20 if cal_board_state == "combined_loopback": @@ -142,7 +146,7 @@ def test_tx_combined_out(frequency): # Combined Tx Out test if (frequency == 8000): input('\n\nConnect signal generator into channel 0 input. Connect spectrum analyzer to the combined Tx out SMA port on top of the board. Press enter when complete') - set_SMA_inout() + _set_SMA_inout() # Set up signal generator _set_frequency_MHz(frequency, HMCT2220) # Set frequency of sig gen @@ -174,7 +178,7 @@ def test_rx_combined_in(frequency): # Combined Rx In test if (frequency == 8000): input('\n\nConnect signal generator into Rx SMA input on top of the board. Connect spectrum analyzer into channel 0 output. Press enter when complete') - set_SMA_inout() + _set_SMA_inout() # Set up signal generator diff --git a/test_triton_cal.json b/test_triton_cal.json new file mode 100644 index 000000000..0a3018669 --- /dev/null +++ b/test_triton_cal.json @@ -0,0 +1,3756 @@ +{ + "report": { + "environment": { + "Python": "3.11.5", + "Platform": "Windows-10-10.0.19045-SP0" + }, + "tests": [ + { + "name": "test/test_triton_cal.py::test_loopback[channel:0-adjacent_loopback-Frequency (MHz):8000]", + "duration": 25.224134100019, + "run_index": 0, + "setup": { + "name": "setup", + "duration": 0.0013481999922078103, + "outcome": "passed" + }, + "call": { + "name": "call", + "duration": 25.22092000002158, + "outcome": "passed", + "stdout": "\n\nConnect signal generator into channel 0 input and connect spectrum analyzer into channel 0 output. Press Enter when complete \n\nPower level (dBm): -2.713206E+00\n\n" + }, + "teardown": { + "name": "teardown", + "duration": 0.000517700013006106, + "outcome": "passed" + }, + "outcome": "passed" + }, + { + "name": "test/test_triton_cal.py::test_loopback[channel:0-adjacent_loopback-Frequency (MHz):9000]", + "duration": 2.0275682000501547, + "run_index": 1, + "setup": { + "name": "setup", + "duration": 0.0007087000121828169, + "outcome": "passed" + }, + "call": { + "name": "call", + "duration": 2.0257846000022255, + "outcome": "passed", + "stdout": "\n\nPower level (dBm): -3.077999E+00\n\n" + }, + "teardown": { + "name": "teardown", + "duration": 0.0003662000235635787, + "outcome": "passed" + }, + "outcome": "passed" + }, + { + "name": "test/test_triton_cal.py::test_loopback[channel:0-adjacent_loopback-Frequency (MHz):10000]", + "duration": 2.051024000014877, + "run_index": 2, + "setup": { + "name": "setup", + "duration": 0.0004743000026792288, + "outcome": "passed" + }, + "call": { + "name": "call", + "duration": 2.0494874000141863, + "outcome": "passed", + "stdout": "\n\nPower level (dBm): -3.643141E+00\n\n" + }, + "teardown": { + "name": "teardown", + "duration": 0.0005879999953322113, + "outcome": "passed" + }, + "outcome": "passed" + }, + { + "name": "test/test_triton_cal.py::test_loopback[channel:0-adjacent_loopback-Frequency (MHz):11000]", + "duration": 2.020910199993523, + "run_index": 3, + "setup": { + "name": "setup", + "duration": 0.0009751000034157187, + "outcome": "passed" + }, + "call": { + "name": "call", + "duration": 2.0185849999834318, + "outcome": "passed", + "stdout": "\n\nPower level (dBm): -4.773222E+00\n\n" + }, + "teardown": { + "name": "teardown", + "duration": 0.000375000003259629, + "outcome": "passed" + }, + "outcome": "passed" + }, + { + "name": "test/test_triton_cal.py::test_loopback[channel:0-adjacent_loopback-Frequency (MHz):12000]", + "duration": 2.0282843000022694, + "run_index": 4, + "setup": { + "name": "setup", + "duration": 0.0007431999838445336, + "outcome": "passed" + }, + "call": { + "name": "call", + "duration": 2.0264030000253115, + "outcome": "passed", + "stdout": "\n\nPower level (dBm): -4.158241E+00\n\n" + }, + "teardown": { + "name": "teardown", + "duration": 0.0003949000092688948, + "outcome": "passed" + }, + "outcome": "passed" + }, + { + "name": "test/test_triton_cal.py::test_loopback[channel:0-combined_loopback-Frequency (MHz):8000]", + "duration": 2.0301445000222884, + "run_index": 5, + "setup": { + "name": "setup", + "duration": 0.000513100007083267, + "outcome": "passed" + }, + "call": { + "name": "call", + "duration": 2.028404500015313, + "outcome": "passed", + "stdout": "\n\nPower level (dBm): -4.503376E+01\n\n" + }, + "teardown": { + "name": "teardown", + "duration": 0.0007137999928090721, + "outcome": "passed" + }, + "outcome": "passed" + }, + { + "name": "test/test_triton_cal.py::test_loopback[channel:0-combined_loopback-Frequency (MHz):9000]", + "duration": 2.0383357999962755, + "run_index": 6, + "setup": { + "name": "setup", + "duration": 0.0008709999965503812, + "outcome": "passed" + }, + "call": { + "name": "call", + "duration": 2.0361946999910288, + "outcome": "passed", + "stdout": "\n\nPower level (dBm): -4.784751E+01\n\n" + }, + "teardown": { + "name": "teardown", + "duration": 0.0003991000121459365, + "outcome": "passed" + }, + "outcome": "passed" + }, + { + "name": "test/test_triton_cal.py::test_loopback[channel:0-combined_loopback-Frequency (MHz):10000]", + "duration": 2.0603773000184447, + "run_index": 7, + "setup": { + "name": "setup", + "duration": 0.0005441000103019178, + "outcome": "passed" + }, + "call": { + "name": "call", + "duration": 2.0568306999921333, + "outcome": "passed", + "stdout": "\n\nPower level (dBm): -4.924398E+01\n\n" + }, + "teardown": { + "name": "teardown", + "duration": 0.0024584000057075173, + "outcome": "passed" + }, + "outcome": "passed" + }, + { + "name": "test/test_triton_cal.py::test_loopback[channel:0-combined_loopback-Frequency (MHz):11000]", + "duration": 2.0277273999527097, + "run_index": 8, + "setup": { + "name": "setup", + "duration": 0.001545099978102371, + "outcome": "passed" + }, + "call": { + "name": "call", + "duration": 2.0241550999926403, + "outcome": "passed", + "stdout": "\n\nPower level (dBm): -4.968870E+01\n\n" + }, + "teardown": { + "name": "teardown", + "duration": 0.00048210000386461616, + "outcome": "passed" + }, + "outcome": "passed" + }, + { + "name": "test/test_triton_cal.py::test_loopback[channel:0-combined_loopback-Frequency (MHz):12000]", + "duration": 2.02794920001179, + "run_index": 9, + "setup": { + "name": "setup", + "duration": 0.0004447000101208687, + "outcome": "passed" + }, + "call": { + "name": "call", + "duration": 2.0267165999975987, + "outcome": "passed", + "stdout": "\n\nPower level (dBm): -5.190278E+01\n\n" + }, + "teardown": { + "name": "teardown", + "duration": 0.0003431999939493835, + "outcome": "passed" + }, + "outcome": "passed" + }, + { + "name": "test/test_triton_cal.py::test_loopback[channel:1-adjacent_loopback-Frequency (MHz):8000]", + "duration": 23.680717200011713, + "run_index": 10, + "setup": { + "name": "setup", + "duration": 0.00045029999455437064, + "outcome": "passed" + }, + "call": { + "name": "call", + "duration": 23.679457000020193, + "outcome": "passed", + "stdout": "\n\nConnect signal generator into channel 1 input and connect spectrum analyzer into channel 1 output. Press Enter when complete \n\nPower level (dBm): -2.712696E+00\n\n" + }, + "teardown": { + "name": "teardown", + "duration": 0.00035960000241175294, + "outcome": "passed" + }, + "outcome": "passed" + }, + { + "name": "test/test_triton_cal.py::test_loopback[channel:1-adjacent_loopback-Frequency (MHz):9000]", + "duration": 2.018089700024575, + "run_index": 11, + "setup": { + "name": "setup", + "duration": 0.00043310000910423696, + "outcome": "passed" + }, + "call": { + "name": "call", + "duration": 2.0167687000066508, + "outcome": "passed", + "stdout": "\n\nPower level (dBm): -3.529439E+00\n\n" + }, + "teardown": { + "name": "teardown", + "duration": 0.00045479999971576035, + "outcome": "passed" + }, + "outcome": "passed" + }, + { + "name": "test/test_triton_cal.py::test_loopback[channel:1-adjacent_loopback-Frequency (MHz):10000]", + "duration": 2.081904199993005, + "run_index": 12, + "setup": { + "name": "setup", + "duration": 0.0007116000051610172, + "outcome": "passed" + }, + "call": { + "name": "call", + "duration": 2.0799415999790654, + "outcome": "passed", + "stdout": "\n\nPower level (dBm): -3.683637E+00\n\n" + }, + "teardown": { + "name": "teardown", + "duration": 0.0005394000036176294, + "outcome": "passed" + }, + "outcome": "passed" + }, + { + "name": "test/test_triton_cal.py::test_loopback[channel:1-adjacent_loopback-Frequency (MHz):11000]", + "duration": 2.08764670000528, + "run_index": 13, + "setup": { + "name": "setup", + "duration": 0.0004262000147718936, + "outcome": "passed" + }, + "call": { + "name": "call", + "duration": 2.0864591999852564, + "outcome": "passed", + "stdout": "\n\nPower level (dBm): -4.721067E+00\n\n" + }, + "teardown": { + "name": "teardown", + "duration": 0.0003350999904796481, + "outcome": "passed" + }, + "outcome": "passed" + }, + { + "name": "test/test_triton_cal.py::test_loopback[channel:1-adjacent_loopback-Frequency (MHz):12000]", + "duration": 2.0274353000277188, + "run_index": 14, + "setup": { + "name": "setup", + "duration": 0.00048160000005736947, + "outcome": "passed" + }, + "call": { + "name": "call", + "duration": 2.0261150000151247, + "outcome": "passed", + "stdout": "\n\nPower level (dBm): -4.196872E+00\n\n" + }, + "teardown": { + "name": "teardown", + "duration": 0.00035710001247934997, + "outcome": "passed" + }, + "outcome": "passed" + }, + { + "name": "test/test_triton_cal.py::test_loopback[channel:1-combined_loopback-Frequency (MHz):8000]", + "duration": 2.024892799992813, + "run_index": 15, + "setup": { + "name": "setup", + "duration": 0.00048019998939707875, + "outcome": "passed" + }, + "call": { + "name": "call", + "duration": 2.023594199999934, + "outcome": "passed", + "stdout": "\n\nPower level (dBm): -4.501656E+01\n\n" + }, + "teardown": { + "name": "teardown", + "duration": 0.00033820001408457756, + "outcome": "passed" + }, + "outcome": "passed" + }, + { + "name": "test/test_triton_cal.py::test_loopback[channel:1-combined_loopback-Frequency (MHz):9000]", + "duration": 2.0342018000374082, + "run_index": 16, + "setup": { + "name": "setup", + "duration": 0.0005330000130925328, + "outcome": "passed" + }, + "call": { + "name": "call", + "duration": 2.0328102000057697, + "outcome": "passed", + "stdout": "\n\nPower level (dBm): -4.768188E+01\n\n" + }, + "teardown": { + "name": "teardown", + "duration": 0.00032560000545345247, + "outcome": "passed" + }, + "outcome": "passed" + }, + { + "name": "test/test_triton_cal.py::test_loopback[channel:1-combined_loopback-Frequency (MHz):10000]", + "duration": 2.0742179999651853, + "run_index": 17, + "setup": { + "name": "setup", + "duration": 0.0004264999879524112, + "outcome": "passed" + }, + "call": { + "name": "call", + "duration": 2.0728451999893878, + "outcome": "passed", + "stdout": "\n\nPower level (dBm): -4.913830E+01\n\n" + }, + "teardown": { + "name": "teardown", + "duration": 0.0005197999998927116, + "outcome": "passed" + }, + "outcome": "passed" + }, + { + "name": "test/test_triton_cal.py::test_loopback[channel:1-combined_loopback-Frequency (MHz):11000]", + "duration": 2.020534399955068, + "run_index": 18, + "setup": { + "name": "setup", + "duration": 0.0005139999848324805, + "outcome": "passed" + }, + "call": { + "name": "call", + "duration": 2.019029799994314, + "outcome": "passed", + "stdout": "\n\nPower level (dBm): -4.892950E+01\n\n" + }, + "teardown": { + "name": "teardown", + "duration": 0.0004765999910887331, + "outcome": "passed" + }, + "outcome": "passed" + }, + { + "name": "test/test_triton_cal.py::test_loopback[channel:1-combined_loopback-Frequency (MHz):12000]", + "duration": 2.022318399976939, + "run_index": 19, + "setup": { + "name": "setup", + "duration": 0.0004670000053010881, + "outcome": "passed" + }, + "call": { + "name": "call", + "duration": 2.021054099983303, + "outcome": "passed", + "stdout": "\n\nPower level (dBm): -5.163880E+01\n\n" + }, + "teardown": { + "name": "teardown", + "duration": 0.0003302999830339104, + "outcome": "passed" + }, + "outcome": "passed" + }, + { + "name": "test/test_triton_cal.py::test_loopback[channel:2-adjacent_loopback-Frequency (MHz):8000]", + "duration": 14.442593100015074, + "run_index": 20, + "setup": { + "name": "setup", + "duration": 0.0005082999996375293, + "outcome": "passed" + }, + "call": { + "name": "call", + "duration": 14.44124070001999, + "outcome": "passed", + "stdout": "\n\nConnect signal generator into channel 2 input and connect spectrum analyzer into channel 2 output. Press Enter when complete \n\nPower level (dBm): -2.661754E+00\n\n" + }, + "teardown": { + "name": "teardown", + "duration": 0.00033579999580979347, + "outcome": "passed" + }, + "outcome": "passed" + }, + { + "name": "test/test_triton_cal.py::test_loopback[channel:2-adjacent_loopback-Frequency (MHz):9000]", + "duration": 2.017765500000678, + "run_index": 21, + "setup": { + "name": "setup", + "duration": 0.0005434000049717724, + "outcome": "passed" + }, + "call": { + "name": "call", + "duration": 2.0163185999845155, + "outcome": "passed", + "stdout": "\n\nPower level (dBm): -3.482011E+00\n\n" + }, + "teardown": { + "name": "teardown", + "duration": 0.0003601000062189996, + "outcome": "passed" + }, + "outcome": "passed" + }, + { + "name": "test/test_triton_cal.py::test_loopback[channel:2-adjacent_loopback-Frequency (MHz):10000]", + "duration": 2.017580999963684, + "run_index": 22, + "setup": { + "name": "setup", + "duration": 0.0004332999815233052, + "outcome": "passed" + }, + "call": { + "name": "call", + "duration": 2.0159586000081617, + "outcome": "passed", + "stdout": "\n\nPower level (dBm): -3.598088E+00\n\n" + }, + "teardown": { + "name": "teardown", + "duration": 0.0007557999924756587, + "outcome": "passed" + }, + "outcome": "passed" + }, + { + "name": "test/test_triton_cal.py::test_loopback[channel:2-adjacent_loopback-Frequency (MHz):11000]", + "duration": 2.017938899982255, + "run_index": 23, + "setup": { + "name": "setup", + "duration": 0.0004245000018272549, + "outcome": "passed" + }, + "call": { + "name": "call", + "duration": 2.016764699976193, + "outcome": "passed", + "stdout": "\n\nPower level (dBm): -4.722182E+00\n\n" + }, + "teardown": { + "name": "teardown", + "duration": 0.0003252000024076551, + "outcome": "passed" + }, + "outcome": "passed" + }, + { + "name": "test/test_triton_cal.py::test_loopback[channel:2-adjacent_loopback-Frequency (MHz):12000]", + "duration": 2.03314110005158, + "run_index": 24, + "setup": { + "name": "setup", + "duration": 0.0004870000120718032, + "outcome": "passed" + }, + "call": { + "name": "call", + "duration": 2.0318183000199497, + "outcome": "passed", + "stdout": "\n\nPower level (dBm): -4.291178E+00\n\n" + }, + "teardown": { + "name": "teardown", + "duration": 0.0003488000074867159, + "outcome": "passed" + }, + "outcome": "passed" + }, + { + "name": "test/test_triton_cal.py::test_loopback[channel:2-combined_loopback-Frequency (MHz):8000]", + "duration": 2.0330489999614656, + "run_index": 25, + "setup": { + "name": "setup", + "duration": 0.00046809998457320035, + "outcome": "passed" + }, + "call": { + "name": "call", + "duration": 2.031769199995324, + "outcome": "passed", + "stdout": "\n\nPower level (dBm): -4.503860E+01\n\n" + }, + "teardown": { + "name": "teardown", + "duration": 0.00034359999699518085, + "outcome": "passed" + }, + "outcome": "passed" + }, + { + "name": "test/test_triton_cal.py::test_loopback[channel:2-combined_loopback-Frequency (MHz):9000]", + "duration": 2.025897600018652, + "run_index": 26, + "setup": { + "name": "setup", + "duration": 0.0010947000118903816, + "outcome": "passed" + }, + "call": { + "name": "call", + "duration": 2.022126500000013, + "outcome": "passed", + "stdout": "\n\nPower level (dBm): -4.823097E+01\n\n" + }, + "teardown": { + "name": "teardown", + "duration": 0.0015816999948583543, + "outcome": "passed" + }, + "outcome": "passed" + }, + { + "name": "test/test_triton_cal.py::test_loopback[channel:2-combined_loopback-Frequency (MHz):10000]", + "duration": 2.0366648999915924, + "run_index": 27, + "setup": { + "name": "setup", + "duration": 0.0004422999918460846, + "outcome": "passed" + }, + "call": { + "name": "call", + "duration": 2.035436500009382, + "outcome": "passed", + "stdout": "\n\nPower level (dBm): -4.863151E+01\n\n" + }, + "teardown": { + "name": "teardown", + "duration": 0.0003437999985180795, + "outcome": "passed" + }, + "outcome": "passed" + }, + { + "name": "test/test_triton_cal.py::test_loopback[channel:2-combined_loopback-Frequency (MHz):11000]", + "duration": 2.0177288000122644, + "run_index": 28, + "setup": { + "name": "setup", + "duration": 0.0006279000081121922, + "outcome": "passed" + }, + "call": { + "name": "call", + "duration": 2.015979099989636, + "outcome": "passed", + "stdout": "\n\nPower level (dBm): -4.899025E+01\n\n" + }, + "teardown": { + "name": "teardown", + "duration": 0.0004939000064041466, + "outcome": "passed" + }, + "outcome": "passed" + }, + { + "name": "test/test_triton_cal.py::test_loopback[channel:2-combined_loopback-Frequency (MHz):12000]", + "duration": 2.0190851000370458, + "run_index": 29, + "setup": { + "name": "setup", + "duration": 0.00043420001748017967, + "outcome": "passed" + }, + "call": { + "name": "call", + "duration": 2.0171288999845274, + "outcome": "passed", + "stdout": "\n\nPower level (dBm): -5.224553E+01\n\n" + }, + "teardown": { + "name": "teardown", + "duration": 0.0010878000175580382, + "outcome": "passed" + }, + "outcome": "passed" + }, + { + "name": "test/test_triton_cal.py::test_loopback[channel:3-adjacent_loopback-Frequency (MHz):8000]", + "duration": 14.530033999995794, + "run_index": 30, + "setup": { + "name": "setup", + "duration": 0.001660000008996576, + "outcome": "passed" + }, + "call": { + "name": "call", + "duration": 14.526364499994088, + "outcome": "passed", + "stdout": "\n\nConnect signal generator into channel 3 input and connect spectrum analyzer into channel 3 output. Press Enter when complete \n\nPower level (dBm): -2.342948E+00\n\n" + }, + "teardown": { + "name": "teardown", + "duration": 0.0003494999837130308, + "outcome": "passed" + }, + "outcome": "passed" + }, + { + "name": "test/test_triton_cal.py::test_loopback[channel:3-adjacent_loopback-Frequency (MHz):9000]", + "duration": 2.0449755999434274, + "run_index": 31, + "setup": { + "name": "setup", + "duration": 0.00043299997923895717, + "outcome": "passed" + }, + "call": { + "name": "call", + "duration": 2.0423071999975946, + "outcome": "passed", + "stdout": "\n\nPower level (dBm): -2.918662E+00\n\n" + }, + "teardown": { + "name": "teardown", + "duration": 0.0018023999873548746, + "outcome": "passed" + }, + "outcome": "passed" + }, + { + "name": "test/test_triton_cal.py::test_loopback[channel:3-adjacent_loopback-Frequency (MHz):10000]", + "duration": 2.020245400053682, + "run_index": 32, + "setup": { + "name": "setup", + "duration": 0.0010542000236455351, + "outcome": "passed" + }, + "call": { + "name": "call", + "duration": 2.017807099997299, + "outcome": "passed", + "stdout": "\n\nPower level (dBm): -3.774200E+00\n\n" + }, + "teardown": { + "name": "teardown", + "duration": 0.0003299000090919435, + "outcome": "passed" + }, + "outcome": "passed" + }, + { + "name": "test/test_triton_cal.py::test_loopback[channel:3-adjacent_loopback-Frequency (MHz):11000]", + "duration": 2.037068300007377, + "run_index": 33, + "setup": { + "name": "setup", + "duration": 0.0009061000018846244, + "outcome": "passed" + }, + "call": { + "name": "call", + "duration": 2.0336478000099305, + "outcome": "passed", + "stdout": "\n\nPower level (dBm): -4.650813E+00\n\n" + }, + "teardown": { + "name": "teardown", + "duration": 0.0016082999936770648, + "outcome": "passed" + }, + "outcome": "passed" + }, + { + "name": "test/test_triton_cal.py::test_loopback[channel:3-adjacent_loopback-Frequency (MHz):12000]", + "duration": 2.019261200039182, + "run_index": 34, + "setup": { + "name": "setup", + "duration": 0.0005326000100467354, + "outcome": "passed" + }, + "call": { + "name": "call", + "duration": 2.0177433000062592, + "outcome": "passed", + "stdout": "\n\nPower level (dBm): -4.172471E+00\n\n" + }, + "teardown": { + "name": "teardown", + "duration": 0.00045270001282915473, + "outcome": "passed" + }, + "outcome": "passed" + }, + { + "name": "test/test_triton_cal.py::test_loopback[channel:3-combined_loopback-Frequency (MHz):8000]", + "duration": 2.0421332000405528, + "run_index": 35, + "setup": { + "name": "setup", + "duration": 0.000499200017657131, + "outcome": "passed" + }, + "call": { + "name": "call", + "duration": 2.040746599988779, + "outcome": "passed", + "stdout": "\n\nPower level (dBm): -4.458621E+01\n\n" + }, + "teardown": { + "name": "teardown", + "duration": 0.0003882000164594501, + "outcome": "passed" + }, + "outcome": "passed" + }, + { + "name": "test/test_triton_cal.py::test_loopback[channel:3-combined_loopback-Frequency (MHz):9000]", + "duration": 2.019442299962975, + "run_index": 36, + "setup": { + "name": "setup", + "duration": 0.00044389997492544353, + "outcome": "passed" + }, + "call": { + "name": "call", + "duration": 2.018115700018825, + "outcome": "passed", + "stdout": "\n\nPower level (dBm): -4.767281E+01\n\n" + }, + "teardown": { + "name": "teardown", + "duration": 0.00043879999429918826, + "outcome": "passed" + }, + "outcome": "passed" + }, + { + "name": "test/test_triton_cal.py::test_loopback[channel:3-combined_loopback-Frequency (MHz):10000]", + "duration": 2.035095199942589, + "run_index": 37, + "setup": { + "name": "setup", + "duration": 0.0004663999716285616, + "outcome": "passed" + }, + "call": { + "name": "call", + "duration": 2.033828600018751, + "outcome": "passed", + "stdout": "\n\nPower level (dBm): -4.916175E+01\n\n" + }, + "teardown": { + "name": "teardown", + "duration": 0.00033379998058080673, + "outcome": "passed" + }, + "outcome": "passed" + }, + { + "name": "test/test_triton_cal.py::test_loopback[channel:3-combined_loopback-Frequency (MHz):11000]", + "duration": 2.075030899984995, + "run_index": 38, + "setup": { + "name": "setup", + "duration": 0.000760499999159947, + "outcome": "passed" + }, + "call": { + "name": "call", + "duration": 2.0731524999719113, + "outcome": "passed", + "stdout": "\n\nPower level (dBm): -4.929842E+01\n\n" + }, + "teardown": { + "name": "teardown", + "duration": 0.000357400014763698, + "outcome": "passed" + }, + "outcome": "passed" + }, + { + "name": "test/test_triton_cal.py::test_loopback[channel:3-combined_loopback-Frequency (MHz):12000]", + "duration": 2.0881914000201505, + "run_index": 39, + "setup": { + "name": "setup", + "duration": 0.0004749000072479248, + "outcome": "passed" + }, + "call": { + "name": "call", + "duration": 2.0868934000027366, + "outcome": "passed", + "stdout": "\n\nPower level (dBm): -5.165910E+01\n\n" + }, + "teardown": { + "name": "teardown", + "duration": 0.0003482000029180199, + "outcome": "passed" + }, + "outcome": "passed" + }, + { + "name": "test/test_triton_cal.py::test_loopback[channel:4-adjacent_loopback-Frequency (MHz):8000]", + "duration": 13.53111730000819, + "run_index": 40, + "setup": { + "name": "setup", + "duration": 0.00047110000741668046, + "outcome": "passed" + }, + "call": { + "name": "call", + "duration": 13.528836000012234, + "outcome": "passed", + "stdout": "\n\nConnect signal generator into channel 4 input and connect spectrum analyzer into channel 4 output. Press Enter when complete \n\nPower level (dBm): -2.346485E+00\n\n" + }, + "teardown": { + "name": "teardown", + "duration": 0.0013390999811235815, + "outcome": "passed" + }, + "outcome": "passed" + }, + { + "name": "test/test_triton_cal.py::test_loopback[channel:4-adjacent_loopback-Frequency (MHz):9000]", + "duration": 2.020732200006023, + "run_index": 41, + "setup": { + "name": "setup", + "duration": 0.0010344000183977187, + "outcome": "passed" + }, + "call": { + "name": "call", + "duration": 2.018337399989832, + "outcome": "passed", + "stdout": "\n\nPower level (dBm): -2.890784E+00\n\n" + }, + "teardown": { + "name": "teardown", + "duration": 0.00032599997939541936, + "outcome": "passed" + }, + "outcome": "passed" + }, + { + "name": "test/test_triton_cal.py::test_loopback[channel:4-adjacent_loopback-Frequency (MHz):10000]", + "duration": 2.017580999963684, + "run_index": 42, + "setup": { + "name": "setup", + "duration": 0.00043799998820759356, + "outcome": "passed" + }, + "call": { + "name": "call", + "duration": 2.016369599994505, + "outcome": "passed", + "stdout": "\n\nPower level (dBm): -3.732337E+00\n\n" + }, + "teardown": { + "name": "teardown", + "duration": 0.0003353999927639961, + "outcome": "passed" + }, + "outcome": "passed" + }, + { + "name": "test/test_triton_cal.py::test_loopback[channel:4-adjacent_loopback-Frequency (MHz):11000]", + "duration": 2.0614640999992844, + "run_index": 43, + "setup": { + "name": "setup", + "duration": 0.00046629999997094274, + "outcome": "passed" + }, + "call": { + "name": "call", + "duration": 2.0601755999960005, + "outcome": "passed", + "stdout": "\n\nPower level (dBm): -4.733950E+00\n\n" + }, + "teardown": { + "name": "teardown", + "duration": 0.0003559000033419579, + "outcome": "passed" + }, + "outcome": "passed" + }, + { + "name": "test/test_triton_cal.py::test_loopback[channel:4-adjacent_loopback-Frequency (MHz):12000]", + "duration": 2.02892859998974, + "run_index": 44, + "setup": { + "name": "setup", + "duration": 0.0005044999998062849, + "outcome": "passed" + }, + "call": { + "name": "call", + "duration": 2.027587399992626, + "outcome": "passed", + "stdout": "\n\nPower level (dBm): -4.250496E+00\n\n" + }, + "teardown": { + "name": "teardown", + "duration": 0.0003321999975014478, + "outcome": "passed" + }, + "outcome": "passed" + }, + { + "name": "test/test_triton_cal.py::test_loopback[channel:4-combined_loopback-Frequency (MHz):8000]", + "duration": 2.0174719000060577, + "run_index": 45, + "setup": { + "name": "setup", + "duration": 0.0004579999949783087, + "outcome": "passed" + }, + "call": { + "name": "call", + "duration": 2.016195800009882, + "outcome": "passed", + "stdout": "\n\nPower level (dBm): -4.484545E+01\n\n" + }, + "teardown": { + "name": "teardown", + "duration": 0.0003601000062189996, + "outcome": "passed" + }, + "outcome": "passed" + }, + { + "name": "test/test_triton_cal.py::test_loopback[channel:4-combined_loopback-Frequency (MHz):9000]", + "duration": 2.022106500022346, + "run_index": 46, + "setup": { + "name": "setup", + "duration": 0.0005400000081863254, + "outcome": "passed" + }, + "call": { + "name": "call", + "duration": 2.0203266000025906, + "outcome": "passed", + "stdout": "\n\nPower level (dBm): -4.764614E+01\n\n" + }, + "teardown": { + "name": "teardown", + "duration": 0.0006999000033829361, + "outcome": "passed" + }, + "outcome": "passed" + }, + { + "name": "test/test_triton_cal.py::test_loopback[channel:4-combined_loopback-Frequency (MHz):10000]", + "duration": 2.0257447000185493, + "run_index": 47, + "setup": { + "name": "setup", + "duration": 0.0016394999984186143, + "outcome": "passed" + }, + "call": { + "name": "call", + "duration": 2.0216348000103608, + "outcome": "passed", + "stdout": "\n\nPower level (dBm): -4.916323E+01\n\n" + }, + "teardown": { + "name": "teardown", + "duration": 0.0008309000113513321, + "outcome": "passed" + }, + "outcome": "passed" + }, + { + "name": "test/test_triton_cal.py::test_loopback[channel:4-combined_loopback-Frequency (MHz):11000]", + "duration": 2.018900700059021, + "run_index": 48, + "setup": { + "name": "setup", + "duration": 0.0012038000277243555, + "outcome": "passed" + }, + "call": { + "name": "call", + "duration": 2.0161313000135124, + "outcome": "passed", + "stdout": "\n\nPower level (dBm): -4.781840E+01\n\n" + }, + "teardown": { + "name": "teardown", + "duration": 0.0003617999900598079, + "outcome": "passed" + }, + "outcome": "passed" + }, + { + "name": "test/test_triton_cal.py::test_loopback[channel:4-combined_loopback-Frequency (MHz):12000]", + "duration": 2.019706800027052, + "run_index": 49, + "setup": { + "name": "setup", + "duration": 0.0004734999965876341, + "outcome": "passed" + }, + "call": { + "name": "call", + "duration": 2.01767720002681, + "outcome": "passed", + "stdout": "\n\nPower level (dBm): -5.223407E+01\n\n" + }, + "teardown": { + "name": "teardown", + "duration": 0.0010826000070665032, + "outcome": "passed" + }, + "outcome": "passed" + }, + { + "name": "test/test_triton_cal.py::test_loopback[channel:5-adjacent_loopback-Frequency (MHz):8000]", + "duration": 13.061177900031907, + "run_index": 50, + "setup": { + "name": "setup", + "duration": 0.00045190000673756003, + "outcome": "passed" + }, + "call": { + "name": "call", + "duration": 13.059838400018634, + "outcome": "passed", + "stdout": "\n\nConnect signal generator into channel 5 input and connect spectrum analyzer into channel 5 output. Press Enter when complete \n\nPower level (dBm): -2.313940E+00\n\n" + }, + "teardown": { + "name": "teardown", + "duration": 0.00043569999979808927, + "outcome": "passed" + }, + "outcome": "passed" + }, + { + "name": "test/test_triton_cal.py::test_loopback[channel:5-adjacent_loopback-Frequency (MHz):9000]", + "duration": 2.0312887000618502, + "run_index": 51, + "setup": { + "name": "setup", + "duration": 0.0005725000228267163, + "outcome": "passed" + }, + "call": { + "name": "call", + "duration": 2.0298140000086278, + "outcome": "passed", + "stdout": "\n\nPower level (dBm): -2.900420E+00\n\n" + }, + "teardown": { + "name": "teardown", + "duration": 0.00032970000756904483, + "outcome": "passed" + }, + "outcome": "passed" + }, + { + "name": "test/test_triton_cal.py::test_loopback[channel:5-adjacent_loopback-Frequency (MHz):10000]", + "duration": 2.0324695000599604, + "run_index": 52, + "setup": { + "name": "setup", + "duration": 0.0005148000200279057, + "outcome": "passed" + }, + "call": { + "name": "call", + "duration": 2.0310952000145335, + "outcome": "passed", + "stdout": "\n\nPower level (dBm): -3.842905E+00\n\n" + }, + "teardown": { + "name": "teardown", + "duration": 0.00034470000537112355, + "outcome": "passed" + }, + "outcome": "passed" + }, + { + "name": "test/test_triton_cal.py::test_loopback[channel:5-adjacent_loopback-Frequency (MHz):11000]", + "duration": 2.0305780999769922, + "run_index": 53, + "setup": { + "name": "setup", + "duration": 0.0004962999955751002, + "outcome": "passed" + }, + "call": { + "name": "call", + "duration": 2.029182199999923, + "outcome": "passed", + "stdout": "\n\nPower level (dBm): -4.664529E+00\n\n" + }, + "teardown": { + "name": "teardown", + "duration": 0.00040329998591914773, + "outcome": "passed" + }, + "outcome": "passed" + }, + { + "name": "test/test_triton_cal.py::test_loopback[channel:5-adjacent_loopback-Frequency (MHz):12000]", + "duration": 2.0676422999822535, + "run_index": 54, + "setup": { + "name": "setup", + "duration": 0.00044579998939298093, + "outcome": "passed" + }, + "call": { + "name": "call", + "duration": 2.0664244999934454, + "outcome": "passed", + "stdout": "\n\nPower level (dBm): -4.128291E+00\n\n" + }, + "teardown": { + "name": "teardown", + "duration": 0.0003262000100221485, + "outcome": "passed" + }, + "outcome": "passed" + }, + { + "name": "test/test_triton_cal.py::test_loopback[channel:5-combined_loopback-Frequency (MHz):8000]", + "duration": 2.032872199983103, + "run_index": 55, + "setup": { + "name": "setup", + "duration": 0.0008509999897796661, + "outcome": "passed" + }, + "call": { + "name": "call", + "duration": 2.030826900008833, + "outcome": "passed", + "stdout": "\n\nPower level (dBm): -4.491219E+01\n\n" + }, + "teardown": { + "name": "teardown", + "duration": 0.00034329999471083283, + "outcome": "passed" + }, + "outcome": "passed" + }, + { + "name": "test/test_triton_cal.py::test_loopback[channel:5-combined_loopback-Frequency (MHz):9000]", + "duration": 2.0202114000567235, + "run_index": 56, + "setup": { + "name": "setup", + "duration": 0.0008389000140596181, + "outcome": "passed" + }, + "call": { + "name": "call", + "duration": 2.0181872000102885, + "outcome": "passed", + "stdout": "\n\nPower level (dBm): -4.765752E+01\n\n" + }, + "teardown": { + "name": "teardown", + "duration": 0.0003464000183157623, + "outcome": "passed" + }, + "outcome": "passed" + }, + { + "name": "test/test_triton_cal.py::test_loopback[channel:5-combined_loopback-Frequency (MHz):10000]", + "duration": 2.02805459999945, + "run_index": 57, + "setup": { + "name": "setup", + "duration": 0.0004354999982751906, + "outcome": "passed" + }, + "call": { + "name": "call", + "duration": 2.026856799988309, + "outcome": "passed", + "stdout": "\n\nPower level (dBm): -4.932526E+01\n\n" + }, + "teardown": { + "name": "teardown", + "duration": 0.0003268000145908445, + "outcome": "passed" + }, + "outcome": "passed" + }, + { + "name": "test/test_triton_cal.py::test_loopback[channel:5-combined_loopback-Frequency (MHz):11000]", + "duration": 2.0199505999626126, + "run_index": 58, + "setup": { + "name": "setup", + "duration": 0.0004831999831367284, + "outcome": "passed" + }, + "call": { + "name": "call", + "duration": 2.0186603000038303, + "outcome": "passed", + "stdout": "\n\nPower level (dBm): -4.932955E+01\n\n" + }, + "teardown": { + "name": "teardown", + "duration": 0.00032389999250881374, + "outcome": "passed" + }, + "outcome": "passed" + }, + { + "name": "test/test_triton_cal.py::test_loopback[channel:5-combined_loopback-Frequency (MHz):12000]", + "duration": 2.046733099996345, + "run_index": 59, + "setup": { + "name": "setup", + "duration": 0.0007642999989911914, + "outcome": "passed" + }, + "call": { + "name": "call", + "duration": 2.044870699988678, + "outcome": "passed", + "stdout": "\n\nPower level (dBm): -5.170701E+01\n\n" + }, + "teardown": { + "name": "teardown", + "duration": 0.0003338000096846372, + "outcome": "passed" + }, + "outcome": "passed" + }, + { + "name": "test/test_triton_cal.py::test_loopback[channel:6-adjacent_loopback-Frequency (MHz):8000]", + "duration": 11.525539100024616, + "run_index": 60, + "setup": { + "name": "setup", + "duration": 0.0005203000036999583, + "outcome": "passed" + }, + "call": { + "name": "call", + "duration": 11.52416590001667, + "outcome": "passed", + "stdout": "\n\nConnect signal generator into channel 6 input and connect spectrum analyzer into channel 6 output. Press Enter when complete \n\nPower level (dBm): -2.312365E+00\n\n" + }, + "teardown": { + "name": "teardown", + "duration": 0.00033260000054724514, + "outcome": "passed" + }, + "outcome": "passed" + }, + { + "name": "test/test_triton_cal.py::test_loopback[channel:6-adjacent_loopback-Frequency (MHz):9000]", + "duration": 2.0189286000386346, + "run_index": 61, + "setup": { + "name": "setup", + "duration": 0.0006102000188548118, + "outcome": "passed" + }, + "call": { + "name": "call", + "duration": 2.016963100002613, + "outcome": "passed", + "stdout": "\n\nPower level (dBm): -2.846671E+00\n\n" + }, + "teardown": { + "name": "teardown", + "duration": 0.000745099998312071, + "outcome": "passed" + }, + "outcome": "passed" + }, + { + "name": "test/test_triton_cal.py::test_loopback[channel:6-adjacent_loopback-Frequency (MHz):10000]", + "duration": 2.0301497000618838, + "run_index": 62, + "setup": { + "name": "setup", + "duration": 0.000499500019941479, + "outcome": "passed" + }, + "call": { + "name": "call", + "duration": 2.028803200024413, + "outcome": "passed", + "stdout": "\n\nPower level (dBm): -3.834120E+00\n\n" + }, + "teardown": { + "name": "teardown", + "duration": 0.00034749999758787453, + "outcome": "passed" + }, + "outcome": "passed" + }, + { + "name": "test/test_triton_cal.py::test_loopback[channel:6-adjacent_loopback-Frequency (MHz):11000]", + "duration": 2.021387299988419, + "run_index": 63, + "setup": { + "name": "setup", + "duration": 0.0004721999866887927, + "outcome": "passed" + }, + "call": { + "name": "call", + "duration": 2.020109200006118, + "outcome": "passed", + "stdout": "\n\nPower level (dBm): -4.760614E+00\n\n" + }, + "teardown": { + "name": "teardown", + "duration": 0.00033370000892318785, + "outcome": "passed" + }, + "outcome": "passed" + }, + { + "name": "test/test_triton_cal.py::test_loopback[channel:6-adjacent_loopback-Frequency (MHz):12000]", + "duration": 2.0301386999490205, + "run_index": 64, + "setup": { + "name": "setup", + "duration": 0.0008120999846141785, + "outcome": "passed" + }, + "call": { + "name": "call", + "duration": 2.0280836999882013, + "outcome": "passed", + "stdout": "\n\nPower level (dBm): -4.226539E+00\n\n" + }, + "teardown": { + "name": "teardown", + "duration": 0.0004307999915909022, + "outcome": "passed" + }, + "outcome": "passed" + }, + { + "name": "test/test_triton_cal.py::test_loopback[channel:6-combined_loopback-Frequency (MHz):8000]", + "duration": 2.0273736000526696, + "run_index": 65, + "setup": { + "name": "setup", + "duration": 0.0005021000106353313, + "outcome": "passed" + }, + "call": { + "name": "call", + "duration": 2.025204700010363, + "outcome": "passed", + "stdout": "\n\nPower level (dBm): -4.496972E+01\n\n" + }, + "teardown": { + "name": "teardown", + "duration": 0.0011647000210359693, + "outcome": "passed" + }, + "outcome": "passed" + }, + { + "name": "test/test_triton_cal.py::test_loopback[channel:6-combined_loopback-Frequency (MHz):9000]", + "duration": 2.019815400009975, + "run_index": 66, + "setup": { + "name": "setup", + "duration": 0.0007767000060994178, + "outcome": "passed" + }, + "call": { + "name": "call", + "duration": 2.0179059999936726, + "outcome": "passed", + "stdout": "\n\nPower level (dBm): -4.739670E+01\n\n" + }, + "teardown": { + "name": "teardown", + "duration": 0.00035600000410340726, + "outcome": "passed" + }, + "outcome": "passed" + }, + { + "name": "test/test_triton_cal.py::test_loopback[channel:6-combined_loopback-Frequency (MHz):10000]", + "duration": 2.0176601000712253, + "run_index": 67, + "setup": { + "name": "setup", + "duration": 0.000893000018550083, + "outcome": "passed" + }, + "call": { + "name": "call", + "duration": 2.0155231000098865, + "outcome": "passed", + "stdout": "\n\nPower level (dBm): -4.962469E+01\n\n" + }, + "teardown": { + "name": "teardown", + "duration": 0.0003510000242386013, + "outcome": "passed" + }, + "outcome": "passed" + }, + { + "name": "test/test_triton_cal.py::test_loopback[channel:6-combined_loopback-Frequency (MHz):11000]", + "duration": 2.0189304000523407, + "run_index": 68, + "setup": { + "name": "setup", + "duration": 0.0004382000188343227, + "outcome": "passed" + }, + "call": { + "name": "call", + "duration": 2.017382500023814, + "outcome": "passed", + "stdout": "\n\nPower level (dBm): -4.898659E+01\n\n" + }, + "teardown": { + "name": "teardown", + "duration": 0.0006714999908581376, + "outcome": "passed" + }, + "outcome": "passed" + }, + { + "name": "test/test_triton_cal.py::test_loopback[channel:6-combined_loopback-Frequency (MHz):12000]", + "duration": 2.0299372999579646, + "run_index": 69, + "setup": { + "name": "setup", + "duration": 0.00042299999040551484, + "outcome": "passed" + }, + "call": { + "name": "call", + "duration": 2.0287076999957208, + "outcome": "passed", + "stdout": "\n\nPower level (dBm): -5.226951E+01\n\n" + }, + "teardown": { + "name": "teardown", + "duration": 0.0003835999814327806, + "outcome": "passed" + }, + "outcome": "passed" + }, + { + "name": "test/test_triton_cal.py::test_loopback[channel:7-adjacent_loopback-Frequency (MHz):8000]", + "duration": 12.101038299966604, + "run_index": 70, + "setup": { + "name": "setup", + "duration": 0.00043200000072829425, + "outcome": "passed" + }, + "call": { + "name": "call", + "duration": 12.099846499972045, + "outcome": "passed", + "stdout": "\n\nConnect signal generator into channel 7 input and connect spectrum analyzer into channel 7 output. Press Enter when complete \n\nPower level (dBm): -2.519439E+00\n\n" + }, + "teardown": { + "name": "teardown", + "duration": 0.0003277999931015074, + "outcome": "passed" + }, + "outcome": "passed" + }, + { + "name": "test/test_triton_cal.py::test_loopback[channel:7-adjacent_loopback-Frequency (MHz):9000]", + "duration": 2.0241266000666656, + "run_index": 71, + "setup": { + "name": "setup", + "duration": 0.001115400023991242, + "outcome": "passed" + }, + "call": { + "name": "call", + "duration": 2.021471999993082, + "outcome": "passed", + "stdout": "\n\nPower level (dBm): -3.127526E+00\n\n" + }, + "teardown": { + "name": "teardown", + "duration": 0.00042380002560094, + "outcome": "passed" + }, + "outcome": "passed" + }, + { + "name": "test/test_triton_cal.py::test_loopback[channel:7-adjacent_loopback-Frequency (MHz):10000]", + "duration": 2.0233222000242677, + "run_index": 72, + "setup": { + "name": "setup", + "duration": 0.00047900000936351717, + "outcome": "passed" + }, + "call": { + "name": "call", + "duration": 2.0220059000130277, + "outcome": "passed", + "stdout": "\n\nPower level (dBm): -3.807360E+00\n\n" + }, + "teardown": { + "name": "teardown", + "duration": 0.00035829999251291156, + "outcome": "passed" + }, + "outcome": "passed" + }, + { + "name": "test/test_triton_cal.py::test_loopback[channel:7-adjacent_loopback-Frequency (MHz):11000]", + "duration": 2.03516229998786, + "run_index": 73, + "setup": { + "name": "setup", + "duration": 0.0004592000041157007, + "outcome": "passed" + }, + "call": { + "name": "call", + "duration": 2.0335370999819133, + "outcome": "passed", + "stdout": "\n\nPower level (dBm): -4.814937E+00\n\n" + }, + "teardown": { + "name": "teardown", + "duration": 0.0007067999977152795, + "outcome": "passed" + }, + "outcome": "passed" + }, + { + "name": "test/test_triton_cal.py::test_loopback[channel:7-adjacent_loopback-Frequency (MHz):12000]", + "duration": 2.030543000000762, + "run_index": 74, + "setup": { + "name": "setup", + "duration": 0.0004282000008970499, + "outcome": "passed" + }, + "call": { + "name": "call", + "duration": 2.0293584000028204, + "outcome": "passed", + "stdout": "\n\nPower level (dBm): -4.256808E+00\n\n" + }, + "teardown": { + "name": "teardown", + "duration": 0.0003281999961473048, + "outcome": "passed" + }, + "outcome": "passed" + }, + { + "name": "test/test_triton_cal.py::test_loopback[channel:7-combined_loopback-Frequency (MHz):8000]", + "duration": 2.059477400034666, + "run_index": 75, + "setup": { + "name": "setup", + "duration": 0.00042970001231878996, + "outcome": "passed" + }, + "call": { + "name": "call", + "duration": 2.058273900009226, + "outcome": "passed", + "stdout": "\n\nPower level (dBm): -4.495648E+01\n\n" + }, + "teardown": { + "name": "teardown", + "duration": 0.00034410000080242753, + "outcome": "passed" + }, + "outcome": "passed" + }, + { + "name": "test/test_triton_cal.py::test_loopback[channel:7-combined_loopback-Frequency (MHz):9000]", + "duration": 2.0222573000064585, + "run_index": 76, + "setup": { + "name": "setup", + "duration": 0.00045479999971576035, + "outcome": "passed" + }, + "call": { + "name": "call", + "duration": 2.0210184000025038, + "outcome": "passed", + "stdout": "\n\nPower level (dBm): -4.767289E+01\n\n" + }, + "teardown": { + "name": "teardown", + "duration": 0.0003293000045232475, + "outcome": "passed" + }, + "outcome": "passed" + }, + { + "name": "test/test_triton_cal.py::test_loopback[channel:7-combined_loopback-Frequency (MHz):10000]", + "duration": 2.0186480000265874, + "run_index": 77, + "setup": { + "name": "setup", + "duration": 0.00045330001739785075, + "outcome": "passed" + }, + "call": { + "name": "call", + "duration": 2.0173960000101943, + "outcome": "passed", + "stdout": "\n\nPower level (dBm): -4.966882E+01\n\n" + }, + "teardown": { + "name": "teardown", + "duration": 0.00034539998159743845, + "outcome": "passed" + }, + "outcome": "passed" + }, + { + "name": "test/test_triton_cal.py::test_loopback[channel:7-combined_loopback-Frequency (MHz):11000]", + "duration": 2.0227269000315573, + "run_index": 78, + "setup": { + "name": "setup", + "duration": 0.0005563000158872455, + "outcome": "passed" + }, + "call": { + "name": "call", + "duration": 2.021174900000915, + "outcome": "passed", + "stdout": "\n\nPower level (dBm): -4.901686E+01\n\n" + }, + "teardown": { + "name": "teardown", + "duration": 0.0004393999988678843, + "outcome": "passed" + }, + "outcome": "passed" + }, + { + "name": "test/test_triton_cal.py::test_loopback[channel:7-combined_loopback-Frequency (MHz):12000]", + "duration": 2.0226025000447407, + "run_index": 79, + "setup": { + "name": "setup", + "duration": 0.0004607000155374408, + "outcome": "passed" + }, + "call": { + "name": "call", + "duration": 2.021301400003722, + "outcome": "passed", + "stdout": "\n\nPower level (dBm): -5.221202E+01\n\n" + }, + "teardown": { + "name": "teardown", + "duration": 0.0003797000099439174, + "outcome": "passed" + }, + "outcome": "passed" + }, + { + "name": "test/test_triton_cal.py::test_loopback[channel:8-adjacent_loopback-Frequency (MHz):8000]", + "duration": 12.749495399999432, + "run_index": 80, + "setup": { + "name": "setup", + "duration": 0.000547999981790781, + "outcome": "passed" + }, + "call": { + "name": "call", + "duration": 12.748064300016267, + "outcome": "passed", + "stdout": "\n\nConnect signal generator into channel 8 input and connect spectrum analyzer into channel 8 output. Press Enter when complete \n\nPower level (dBm): -2.395231E+00\n\n" + }, + "teardown": { + "name": "teardown", + "duration": 0.00033510001958347857, + "outcome": "passed" + }, + "outcome": "passed" + }, + { + "name": "test/test_triton_cal.py::test_loopback[channel:8-adjacent_loopback-Frequency (MHz):9000]", + "duration": 2.0207597999833524, + "run_index": 81, + "setup": { + "name": "setup", + "duration": 0.0017728999955579638, + "outcome": "passed" + }, + "call": { + "name": "call", + "duration": 2.0165621000051033, + "outcome": "passed", + "stdout": "\n\nPower level (dBm): -2.873094E+00\n\n" + }, + "teardown": { + "name": "teardown", + "duration": 0.0006518999871332198, + "outcome": "passed" + }, + "outcome": "passed" + }, + { + "name": "test/test_triton_cal.py::test_loopback[channel:8-adjacent_loopback-Frequency (MHz):10000]", + "duration": 2.022006799990777, + "run_index": 82, + "setup": { + "name": "setup", + "duration": 0.001418200001353398, + "outcome": "passed" + }, + "call": { + "name": "call", + "duration": 2.016624399984721, + "outcome": "passed", + "stdout": "\n\nPower level (dBm): -3.800642E+00\n\n" + }, + "teardown": { + "name": "teardown", + "duration": 0.002546000003349036, + "outcome": "passed" + }, + "outcome": "passed" + }, + { + "name": "test/test_triton_cal.py::test_loopback[channel:8-adjacent_loopback-Frequency (MHz):11000]", + "duration": 2.019042400032049, + "run_index": 83, + "setup": { + "name": "setup", + "duration": 0.0010077000188175589, + "outcome": "passed" + }, + "call": { + "name": "call", + "duration": 2.016675499995472, + "outcome": "passed", + "stdout": "\n\nPower level (dBm): -4.804201E+00\n\n" + }, + "teardown": { + "name": "teardown", + "duration": 0.00035149999894201756, + "outcome": "passed" + }, + "outcome": "passed" + }, + { + "name": "test/test_triton_cal.py::test_loopback[channel:8-adjacent_loopback-Frequency (MHz):12000]", + "duration": 2.028342999983579, + "run_index": 84, + "setup": { + "name": "setup", + "duration": 0.0005621000018436462, + "outcome": "passed" + }, + "call": { + "name": "call", + "duration": 2.0268533999915235, + "outcome": "passed", + "stdout": "\n\nPower level (dBm): -4.315011E+00\n\n" + }, + "teardown": { + "name": "teardown", + "duration": 0.00036539998836815357, + "outcome": "passed" + }, + "outcome": "passed" + }, + { + "name": "test/test_triton_cal.py::test_loopback[channel:8-combined_loopback-Frequency (MHz):8000]", + "duration": 2.0191080000658985, + "run_index": 85, + "setup": { + "name": "setup", + "duration": 0.0006833000225014985, + "outcome": "passed" + }, + "call": { + "name": "call", + "duration": 2.0173593000217807, + "outcome": "passed", + "stdout": "\n\nPower level (dBm): -5.275085E+01\n\n" + }, + "teardown": { + "name": "teardown", + "duration": 0.000382099999114871, + "outcome": "passed" + }, + "outcome": "passed" + }, + { + "name": "test/test_triton_cal.py::test_loopback[channel:8-combined_loopback-Frequency (MHz):9000]", + "duration": 2.0215327000187244, + "run_index": 86, + "setup": { + "name": "setup", + "duration": 0.00044380000326782465, + "outcome": "passed" + }, + "call": { + "name": "call", + "duration": 2.0202901000157, + "outcome": "passed", + "stdout": "\n\nPower level (dBm): -5.543575E+01\n\n" + }, + "teardown": { + "name": "teardown", + "duration": 0.0003549999964889139, + "outcome": "passed" + }, + "outcome": "passed" + }, + { + "name": "test/test_triton_cal.py::test_loopback[channel:8-combined_loopback-Frequency (MHz):10000]", + "duration": 2.022336899972288, + "run_index": 87, + "setup": { + "name": "setup", + "duration": 0.0007932999869808555, + "outcome": "passed" + }, + "call": { + "name": "call", + "duration": 2.020426300005056, + "outcome": "passed", + "stdout": "\n\nPower level (dBm): -5.286495E+01\n\n" + }, + "teardown": { + "name": "teardown", + "duration": 0.0003239999932702631, + "outcome": "passed" + }, + "outcome": "passed" + }, + { + "name": "test/test_triton_cal.py::test_loopback[channel:8-combined_loopback-Frequency (MHz):11000]", + "duration": 2.021168800070882, + "run_index": 88, + "setup": { + "name": "setup", + "duration": 0.0004726000188384205, + "outcome": "passed" + }, + "call": { + "name": "call", + "duration": 2.0198824000253808, + "outcome": "passed", + "stdout": "\n\nPower level (dBm): -5.367478E+01\n\n" + }, + "teardown": { + "name": "teardown", + "duration": 0.0003412000078242272, + "outcome": "passed" + }, + "outcome": "passed" + }, + { + "name": "test/test_triton_cal.py::test_loopback[channel:8-combined_loopback-Frequency (MHz):12000]", + "duration": 2.0203374000266194, + "run_index": 89, + "setup": { + "name": "setup", + "duration": 0.0007578000077046454, + "outcome": "passed" + }, + "call": { + "name": "call", + "duration": 2.018129600008251, + "outcome": "passed", + "stdout": "\n\nPower level (dBm): -5.702797E+01\n\n" + }, + "teardown": { + "name": "teardown", + "duration": 0.0006922000029589981, + "outcome": "passed" + }, + "outcome": "passed" + }, + { + "name": "test/test_triton_cal.py::test_loopback[channel:9-adjacent_loopback-Frequency (MHz):8000]", + "duration": 10.114015399973141, + "run_index": 90, + "setup": { + "name": "setup", + "duration": 0.0004603999841492623, + "outcome": "passed" + }, + "call": { + "name": "call", + "duration": 10.112756799993804, + "outcome": "passed", + "stdout": "\n\nConnect signal generator into channel 9 input and connect spectrum analyzer into channel 9 output. Press Enter when complete \n\nPower level (dBm): -2.483236E+00\n\n" + }, + "teardown": { + "name": "teardown", + "duration": 0.0003378000110387802, + "outcome": "passed" + }, + "outcome": "passed" + }, + { + "name": "test/test_triton_cal.py::test_loopback[channel:9-adjacent_loopback-Frequency (MHz):9000]", + "duration": 2.0192229000094812, + "run_index": 91, + "setup": { + "name": "setup", + "duration": 0.0004768000217154622, + "outcome": "passed" + }, + "call": { + "name": "call", + "duration": 2.017548399977386, + "outcome": "passed", + "stdout": "\n\nPower level (dBm): -4.312871E+00\n\n" + }, + "teardown": { + "name": "teardown", + "duration": 0.0007208999886643142, + "outcome": "passed" + }, + "outcome": "passed" + }, + { + "name": "test/test_triton_cal.py::test_loopback[channel:9-adjacent_loopback-Frequency (MHz):10000]", + "duration": 2.0406361000204924, + "run_index": 92, + "setup": { + "name": "setup", + "duration": 0.00048370001604780555, + "outcome": "passed" + }, + "call": { + "name": "call", + "duration": 2.0392308999726083, + "outcome": "passed", + "stdout": "\n\nPower level (dBm): -3.545246E+00\n\n" + }, + "teardown": { + "name": "teardown", + "duration": 0.00043780001578852534, + "outcome": "passed" + }, + "outcome": "passed" + }, + { + "name": "test/test_triton_cal.py::test_loopback[channel:9-adjacent_loopback-Frequency (MHz):11000]", + "duration": 2.023260999994818, + "run_index": 93, + "setup": { + "name": "setup", + "duration": 0.00046629999997094274, + "outcome": "passed" + }, + "call": { + "name": "call", + "duration": 2.021954800002277, + "outcome": "passed", + "stdout": "\n\nPower level (dBm): -4.634131E+00\n\n" + }, + "teardown": { + "name": "teardown", + "duration": 0.0003735999925993383, + "outcome": "passed" + }, + "outcome": "passed" + }, + { + "name": "test/test_triton_cal.py::test_loopback[channel:9-adjacent_loopback-Frequency (MHz):12000]", + "duration": 2.0215744000161067, + "run_index": 94, + "setup": { + "name": "setup", + "duration": 0.0004791000101249665, + "outcome": "passed" + }, + "call": { + "name": "call", + "duration": 2.0197916999750305, + "outcome": "passed", + "stdout": "\n\nPower level (dBm): -4.135194E+00\n\n" + }, + "teardown": { + "name": "teardown", + "duration": 0.0008245000208262354, + "outcome": "passed" + }, + "outcome": "passed" + }, + { + "name": "test/test_triton_cal.py::test_loopback[channel:9-combined_loopback-Frequency (MHz):8000]", + "duration": 2.0326407000247855, + "run_index": 95, + "setup": { + "name": "setup", + "duration": 0.001358500012429431, + "outcome": "passed" + }, + "call": { + "name": "call", + "duration": 2.029578199988464, + "outcome": "passed", + "stdout": "\n\nPower level (dBm): -5.312883E+01\n\n" + }, + "teardown": { + "name": "teardown", + "duration": 0.00034550001146271825, + "outcome": "passed" + }, + "outcome": "passed" + }, + { + "name": "test/test_triton_cal.py::test_loopback[channel:9-combined_loopback-Frequency (MHz):9000]", + "duration": 2.0183104000170715, + "run_index": 96, + "setup": { + "name": "setup", + "duration": 0.0004807999939657748, + "outcome": "passed" + }, + "call": { + "name": "call", + "duration": 2.0170018000062555, + "outcome": "passed", + "stdout": "\n\nPower level (dBm): -5.741263E+01\n\n" + }, + "teardown": { + "name": "teardown", + "duration": 0.0003470000228844583, + "outcome": "passed" + }, + "outcome": "passed" + }, + { + "name": "test/test_triton_cal.py::test_loopback[channel:9-combined_loopback-Frequency (MHz):10000]", + "duration": 2.0276937000162434, + "run_index": 97, + "setup": { + "name": "setup", + "duration": 0.00045200000749900937, + "outcome": "passed" + }, + "call": { + "name": "call", + "duration": 2.026364299992565, + "outcome": "passed", + "stdout": "\n\nPower level (dBm): -5.228085E+01\n\n" + }, + "teardown": { + "name": "teardown", + "duration": 0.0004254000086802989, + "outcome": "passed" + }, + "outcome": "passed" + }, + { + "name": "test/test_triton_cal.py::test_loopback[channel:9-combined_loopback-Frequency (MHz):11000]", + "duration": 2.0184487999940757, + "run_index": 98, + "setup": { + "name": "setup", + "duration": 0.0006049000076018274, + "outcome": "passed" + }, + "call": { + "name": "call", + "duration": 2.0169166999985464, + "outcome": "passed", + "stdout": "\n\nPower level (dBm): -5.346947E+01\n\n" + }, + "teardown": { + "name": "teardown", + "duration": 0.00032229998032562435, + "outcome": "passed" + }, + "outcome": "passed" + }, + { + "name": "test/test_triton_cal.py::test_loopback[channel:9-combined_loopback-Frequency (MHz):12000]", + "duration": 2.0246145999699365, + "run_index": 99, + "setup": { + "name": "setup", + "duration": 0.001133099984144792, + "outcome": "passed" + }, + "call": { + "name": "call", + "duration": 2.0219966000004206, + "outcome": "passed", + "stdout": "\n\nPower level (dBm): -5.679384E+01\n\n" + }, + "teardown": { + "name": "teardown", + "duration": 0.00035180000122636557, + "outcome": "passed" + }, + "outcome": "passed" + }, + { + "name": "test/test_triton_cal.py::test_loopback[channel:10-adjacent_loopback-Frequency (MHz):8000]", + "duration": 12.852610399975674, + "run_index": 100, + "setup": { + "name": "setup", + "duration": 0.0004692999937105924, + "outcome": "passed" + }, + "call": { + "name": "call", + "duration": 12.851333800004795, + "outcome": "passed", + "stdout": "\n\nConnect signal generator into channel 10 input and connect spectrum analyzer into channel 10 output. Press Enter when complete \n\nPower level (dBm): -2.164186E+00\n\n" + }, + "teardown": { + "name": "teardown", + "duration": 0.00033799998345784843, + "outcome": "passed" + }, + "outcome": "passed" + }, + { + "name": "test/test_triton_cal.py::test_loopback[channel:10-adjacent_loopback-Frequency (MHz):9000]", + "duration": 2.0174065999744926, + "run_index": 101, + "setup": { + "name": "setup", + "duration": 0.0005109999910928309, + "outcome": "passed" + }, + "call": { + "name": "call", + "duration": 2.0160001999756787, + "outcome": "passed", + "stdout": "\n\nPower level (dBm): -2.510386E+00\n\n" + }, + "teardown": { + "name": "teardown", + "duration": 0.0003844000166282058, + "outcome": "passed" + }, + "outcome": "passed" + }, + { + "name": "test/test_triton_cal.py::test_loopback[channel:10-adjacent_loopback-Frequency (MHz):10000]", + "duration": 2.0193726000143215, + "run_index": 102, + "setup": { + "name": "setup", + "duration": 0.001363799994578585, + "outcome": "passed" + }, + "call": { + "name": "call", + "duration": 2.01630820002174, + "outcome": "passed", + "stdout": "\n\nPower level (dBm): -3.549183E+00\n\n" + }, + "teardown": { + "name": "teardown", + "duration": 0.00033680000342428684, + "outcome": "passed" + }, + "outcome": "passed" + }, + { + "name": "test/test_triton_cal.py::test_loopback[channel:10-adjacent_loopback-Frequency (MHz):11000]", + "duration": 2.045286499982467, + "run_index": 103, + "setup": { + "name": "setup", + "duration": 0.0006102999905124307, + "outcome": "passed" + }, + "call": { + "name": "call", + "duration": 2.0436771000095177, + "outcome": "passed", + "stdout": "\n\nPower level (dBm): -4.743786E+00\n\n" + }, + "teardown": { + "name": "teardown", + "duration": 0.0003887999919243157, + "outcome": "passed" + }, + "outcome": "passed" + }, + { + "name": "test/test_triton_cal.py::test_loopback[channel:10-adjacent_loopback-Frequency (MHz):12000]", + "duration": 2.054466700035846, + "run_index": 104, + "setup": { + "name": "setup", + "duration": 0.00047080000513233244, + "outcome": "passed" + }, + "call": { + "name": "call", + "duration": 2.052011100022355, + "outcome": "passed", + "stdout": "\n\nPower level (dBm): -4.350555E+00\n\n" + }, + "teardown": { + "name": "teardown", + "duration": 0.0015140000032261014, + "outcome": "passed" + }, + "outcome": "passed" + }, + { + "name": "test/test_triton_cal.py::test_loopback[channel:10-combined_loopback-Frequency (MHz):8000]", + "duration": 2.0853470000147354, + "run_index": 105, + "setup": { + "name": "setup", + "duration": 0.00047450000420212746, + "outcome": "passed" + }, + "call": { + "name": "call", + "duration": 2.0840624000120442, + "outcome": "passed", + "stdout": "\n\nPower level (dBm): -5.257273E+01\n\n" + }, + "teardown": { + "name": "teardown", + "duration": 0.0003355999942868948, + "outcome": "passed" + }, + "outcome": "passed" + }, + { + "name": "test/test_triton_cal.py::test_loopback[channel:10-combined_loopback-Frequency (MHz):9000]", + "duration": 2.017689699976472, + "run_index": 106, + "setup": { + "name": "setup", + "duration": 0.0009101000032387674, + "outcome": "passed" + }, + "call": { + "name": "call", + "duration": 2.0154408999951556, + "outcome": "passed", + "stdout": "\n\nPower level (dBm): -5.561184E+01\n\n" + }, + "teardown": { + "name": "teardown", + "duration": 0.0004285999748390168, + "outcome": "passed" + }, + "outcome": "passed" + }, + { + "name": "test/test_triton_cal.py::test_loopback[channel:10-combined_loopback-Frequency (MHz):10000]", + "duration": 2.0187895000271965, + "run_index": 107, + "setup": { + "name": "setup", + "duration": 0.00042490000487305224, + "outcome": "passed" + }, + "call": { + "name": "call", + "duration": 2.0175726000161376, + "outcome": "passed", + "stdout": "\n\nPower level (dBm): -5.253985E+01\n\n" + }, + "teardown": { + "name": "teardown", + "duration": 0.0003671000013127923, + "outcome": "passed" + }, + "outcome": "passed" + }, + { + "name": "test/test_triton_cal.py::test_loopback[channel:10-combined_loopback-Frequency (MHz):11000]", + "duration": 2.0176731999672484, + "run_index": 108, + "setup": { + "name": "setup", + "duration": 0.0004724999889731407, + "outcome": "passed" + }, + "call": { + "name": "call", + "duration": 2.0163676999800373, + "outcome": "passed", + "stdout": "\n\nPower level (dBm): -5.323700E+01\n\n" + }, + "teardown": { + "name": "teardown", + "duration": 0.00036050000926479697, + "outcome": "passed" + }, + "outcome": "passed" + }, + { + "name": "test/test_triton_cal.py::test_loopback[channel:10-combined_loopback-Frequency (MHz):12000]", + "duration": 2.027019900007872, + "run_index": 109, + "setup": { + "name": "setup", + "duration": 0.0004675000091083348, + "outcome": "passed" + }, + "call": { + "name": "call", + "duration": 2.0256321000051685, + "outcome": "passed", + "stdout": "\n\nPower level (dBm): -5.767017E+01\n\n" + }, + "teardown": { + "name": "teardown", + "duration": 0.0004527999844867736, + "outcome": "passed" + }, + "outcome": "passed" + }, + { + "name": "test/test_triton_cal.py::test_loopback[channel:11-adjacent_loopback-Frequency (MHz):8000]", + "duration": 14.864491100015584, + "run_index": 110, + "setup": { + "name": "setup", + "duration": 0.00043670000741258264, + "outcome": "passed" + }, + "call": { + "name": "call", + "duration": 14.863261300022714, + "outcome": "passed", + "stdout": "\n\nConnect signal generator into channel 11 input and connect spectrum analyzer into channel 11 output. Press Enter when complete \n\nPower level (dBm): -2.356942E+00\n\n" + }, + "teardown": { + "name": "teardown", + "duration": 0.00035639997804537416, + "outcome": "passed" + }, + "outcome": "passed" + }, + { + "name": "test/test_triton_cal.py::test_loopback[channel:11-adjacent_loopback-Frequency (MHz):9000]", + "duration": 2.0225723999610636, + "run_index": 111, + "setup": { + "name": "setup", + "duration": 0.0007161999819800258, + "outcome": "passed" + }, + "call": { + "name": "call", + "duration": 2.0208146999939345, + "outcome": "passed", + "stdout": "\n\nPower level (dBm): -2.598222E+00\n\n" + }, + "teardown": { + "name": "teardown", + "duration": 0.00032530000316910446, + "outcome": "passed" + }, + "outcome": "passed" + }, + { + "name": "test/test_triton_cal.py::test_loopback[channel:11-adjacent_loopback-Frequency (MHz):10000]", + "duration": 2.029283999989275, + "run_index": 112, + "setup": { + "name": "setup", + "duration": 0.0007205999863799661, + "outcome": "passed" + }, + "call": { + "name": "call", + "duration": 2.0265002000087406, + "outcome": "passed", + "stdout": "\n\nPower level (dBm): -3.478525E+00\n\n" + }, + "teardown": { + "name": "teardown", + "duration": 0.0013426000077743083, + "outcome": "passed" + }, + "outcome": "passed" + }, + { + "name": "test/test_triton_cal.py::test_loopback[channel:11-adjacent_loopback-Frequency (MHz):11000]", + "duration": 2.030625399958808, + "run_index": 113, + "setup": { + "name": "setup", + "duration": 0.0006438999844249338, + "outcome": "passed" + }, + "call": { + "name": "call", + "duration": 2.0289790999959223, + "outcome": "passed", + "stdout": "\n\nPower level (dBm): -4.630241E+00\n\n" + }, + "teardown": { + "name": "teardown", + "duration": 0.00035849999403581023, + "outcome": "passed" + }, + "outcome": "passed" + }, + { + "name": "test/test_triton_cal.py::test_loopback[channel:11-adjacent_loopback-Frequency (MHz):12000]", + "duration": 2.016955000028247, + "run_index": 114, + "setup": { + "name": "setup", + "duration": 0.0004975000047124922, + "outcome": "passed" + }, + "call": { + "name": "call", + "duration": 2.015620200021658, + "outcome": "passed", + "stdout": "\n\nPower level (dBm): -4.091098E+00\n\n" + }, + "teardown": { + "name": "teardown", + "duration": 0.0003397999971639365, + "outcome": "passed" + }, + "outcome": "passed" + }, + { + "name": "test/test_triton_cal.py::test_loopback[channel:11-combined_loopback-Frequency (MHz):8000]", + "duration": 2.0211673000012524, + "run_index": 115, + "setup": { + "name": "setup", + "duration": 0.00045930000487715006, + "outcome": "passed" + }, + "call": { + "name": "call", + "duration": 2.01901769998949, + "outcome": "passed", + "stdout": "\n\nPower level (dBm): -5.202808E+01\n\n" + }, + "teardown": { + "name": "teardown", + "duration": 0.0012310000020079315, + "outcome": "passed" + }, + "outcome": "passed" + }, + { + "name": "test/test_triton_cal.py::test_loopback[channel:11-combined_loopback-Frequency (MHz):9000]", + "duration": 2.041964700038079, + "run_index": 116, + "setup": { + "name": "setup", + "duration": 0.0004526000120677054, + "outcome": "passed" + }, + "call": { + "name": "call", + "duration": 2.0407245000242256, + "outcome": "passed", + "stdout": "\n\nPower level (dBm): -5.525541E+01\n\n" + }, + "teardown": { + "name": "teardown", + "duration": 0.0003349999897181988, + "outcome": "passed" + }, + "outcome": "passed" + }, + { + "name": "test/test_triton_cal.py::test_loopback[channel:11-combined_loopback-Frequency (MHz):10000]", + "duration": 2.0193961999902967, + "run_index": 117, + "setup": { + "name": "setup", + "duration": 0.001116400002501905, + "outcome": "passed" + }, + "call": { + "name": "call", + "duration": 2.0164529999892693, + "outcome": "passed", + "stdout": "\n\nPower level (dBm): -5.240377E+01\n\n" + }, + "teardown": { + "name": "teardown", + "duration": 0.0007103999960236251, + "outcome": "passed" + }, + "outcome": "passed" + }, + { + "name": "test/test_triton_cal.py::test_loopback[channel:11-combined_loopback-Frequency (MHz):11000]", + "duration": 2.0660433000011835, + "run_index": 118, + "setup": { + "name": "setup", + "duration": 0.0004862000059802085, + "outcome": "passed" + }, + "call": { + "name": "call", + "duration": 2.0647374000109266, + "outcome": "passed", + "stdout": "\n\nPower level (dBm): -5.370574E+01\n\n" + }, + "teardown": { + "name": "teardown", + "duration": 0.0003334999782964587, + "outcome": "passed" + }, + "outcome": "passed" + }, + { + "name": "test/test_triton_cal.py::test_loopback[channel:11-combined_loopback-Frequency (MHz):12000]", + "duration": 2.0342089000332635, + "run_index": 119, + "setup": { + "name": "setup", + "duration": 0.0005055000074207783, + "outcome": "passed" + }, + "call": { + "name": "call", + "duration": 2.031724200001918, + "outcome": "passed", + "stdout": "\n\nPower level (dBm): -5.741838E+01\n\n" + }, + "teardown": { + "name": "teardown", + "duration": 0.0014737000165041536, + "outcome": "passed" + }, + "outcome": "passed" + }, + { + "name": "test/test_triton_cal.py::test_loopback[channel:12-adjacent_loopback-Frequency (MHz):8000]", + "duration": 16.620774999988498, + "run_index": 120, + "setup": { + "name": "setup", + "duration": 0.0011042999976780266, + "outcome": "passed" + }, + "call": { + "name": "call", + "duration": 16.61813250000705, + "outcome": "passed", + "stdout": "\n\nConnect signal generator into channel 12 input and connect spectrum analyzer into channel 12 output. Press Enter when complete \n\nPower level (dBm): -2.278384E+00\n\n" + }, + "teardown": { + "name": "teardown", + "duration": 0.0004338999860920012, + "outcome": "passed" + }, + "outcome": "passed" + }, + { + "name": "test/test_triton_cal.py::test_loopback[channel:12-adjacent_loopback-Frequency (MHz):9000]", + "duration": 2.0346807000169065, + "run_index": 121, + "setup": { + "name": "setup", + "duration": 0.0011190999939572066, + "outcome": "passed" + }, + "call": { + "name": "call", + "duration": 2.032007700006943, + "outcome": "passed", + "stdout": "\n\nPower level (dBm): -2.644547E+00\n\n" + }, + "teardown": { + "name": "teardown", + "duration": 0.0004348000220488757, + "outcome": "passed" + }, + "outcome": "passed" + }, + { + "name": "test/test_triton_cal.py::test_loopback[channel:12-adjacent_loopback-Frequency (MHz):10000]", + "duration": 2.033010299986927, + "run_index": 122, + "setup": { + "name": "setup", + "duration": 0.000450999999884516, + "outcome": "passed" + }, + "call": { + "name": "call", + "duration": 2.0316100000054576, + "outcome": "passed", + "stdout": "\n\nPower level (dBm): -3.697013E+00\n\n" + }, + "teardown": { + "name": "teardown", + "duration": 0.0004982999817002565, + "outcome": "passed" + }, + "outcome": "passed" + }, + { + "name": "test/test_triton_cal.py::test_loopback[channel:12-adjacent_loopback-Frequency (MHz):11000]", + "duration": 2.018156500009354, + "run_index": 123, + "setup": { + "name": "setup", + "duration": 0.0004400000034365803, + "outcome": "passed" + }, + "call": { + "name": "call", + "duration": 2.0169261999835726, + "outcome": "passed", + "stdout": "\n\nPower level (dBm): -4.888481E+00\n\n" + }, + "teardown": { + "name": "teardown", + "duration": 0.00035030001890845597, + "outcome": "passed" + }, + "outcome": "passed" + }, + { + "name": "test/test_triton_cal.py::test_loopback[channel:12-adjacent_loopback-Frequency (MHz):12000]", + "duration": 2.024013499962166, + "run_index": 124, + "setup": { + "name": "setup", + "duration": 0.00046729997848160565, + "outcome": "passed" + }, + "call": { + "name": "call", + "duration": 2.022721699991962, + "outcome": "passed", + "stdout": "\n\nPower level (dBm): -4.292100E+00\n\n" + }, + "teardown": { + "name": "teardown", + "duration": 0.0003572000132407993, + "outcome": "passed" + }, + "outcome": "passed" + }, + { + "name": "test/test_triton_cal.py::test_loopback[channel:12-combined_loopback-Frequency (MHz):8000]", + "duration": 2.0449229999503586, + "run_index": 125, + "setup": { + "name": "setup", + "duration": 0.0006477999850176275, + "outcome": "passed" + }, + "call": { + "name": "call", + "duration": 2.043291899986798, + "outcome": "passed", + "stdout": "\n\nPower level (dBm): -4.531174E+01\n\n" + }, + "teardown": { + "name": "teardown", + "duration": 0.00033549999352544546, + "outcome": "passed" + }, + "outcome": "passed" + }, + { + "name": "test/test_triton_cal.py::test_loopback[channel:12-combined_loopback-Frequency (MHz):9000]", + "duration": 2.019570999982534, + "run_index": 126, + "setup": { + "name": "setup", + "duration": 0.0005348999984562397, + "outcome": "passed" + }, + "call": { + "name": "call", + "duration": 2.017187699995702, + "outcome": "passed", + "stdout": "\n\nPower level (dBm): -4.764869E+01\n\n" + }, + "teardown": { + "name": "teardown", + "duration": 0.0013134999899193645, + "outcome": "passed" + }, + "outcome": "passed" + }, + { + "name": "test/test_triton_cal.py::test_loopback[channel:12-combined_loopback-Frequency (MHz):10000]", + "duration": 2.0205162999918684, + "run_index": 127, + "setup": { + "name": "setup", + "duration": 0.0007941999938338995, + "outcome": "passed" + }, + "call": { + "name": "call", + "duration": 2.0185815000149887, + "outcome": "passed", + "stdout": "\n\nPower level (dBm): -4.866454E+01\n\n" + }, + "teardown": { + "name": "teardown", + "duration": 0.0003463999892119318, + "outcome": "passed" + }, + "outcome": "passed" + }, + { + "name": "test/test_triton_cal.py::test_loopback[channel:12-combined_loopback-Frequency (MHz):11000]", + "duration": 2.021480800001882, + "run_index": 128, + "setup": { + "name": "setup", + "duration": 0.0007138999935705215, + "outcome": "passed" + }, + "call": { + "name": "call", + "duration": 2.0197287000191864, + "outcome": "passed", + "stdout": "\n\nPower level (dBm): -4.920344E+01\n\n" + }, + "teardown": { + "name": "teardown", + "duration": 0.0003242999955546111, + "outcome": "passed" + }, + "outcome": "passed" + }, + { + "name": "test/test_triton_cal.py::test_loopback[channel:12-combined_loopback-Frequency (MHz):12000]", + "duration": 2.0318671999848448, + "run_index": 129, + "setup": { + "name": "setup", + "duration": 0.0004970000009052455, + "outcome": "passed" + }, + "call": { + "name": "call", + "duration": 2.0303469999926165, + "outcome": "passed", + "stdout": "\n\nPower level (dBm): -5.269677E+01\n\n" + }, + "teardown": { + "name": "teardown", + "duration": 0.0005261999904178083, + "outcome": "passed" + }, + "outcome": "passed" + }, + { + "name": "test/test_triton_cal.py::test_loopback[channel:13-adjacent_loopback-Frequency (MHz):8000]", + "duration": 11.790001399989706, + "run_index": 130, + "setup": { + "name": "setup", + "duration": 0.0004361000028438866, + "outcome": "passed" + }, + "call": { + "name": "call", + "duration": 11.788772599975346, + "outcome": "passed", + "stdout": "\n\nConnect signal generator into channel 13 input and connect spectrum analyzer into channel 13 output. Press Enter when complete \n\nPower level (dBm): -2.253842E+00\n\n" + }, + "teardown": { + "name": "teardown", + "duration": 0.0003566000086721033, + "outcome": "passed" + }, + "outcome": "passed" + }, + { + "name": "test/test_triton_cal.py::test_loopback[channel:13-adjacent_loopback-Frequency (MHz):9000]", + "duration": 2.0303872999793384, + "run_index": 131, + "setup": { + "name": "setup", + "duration": 0.00044059997890144587, + "outcome": "passed" + }, + "call": { + "name": "call", + "duration": 2.0291755000071134, + "outcome": "passed", + "stdout": "\n\nPower level (dBm): -2.614228E+00\n\n" + }, + "teardown": { + "name": "teardown", + "duration": 0.00033060001442208886, + "outcome": "passed" + }, + "outcome": "passed" + }, + { + "name": "test/test_triton_cal.py::test_loopback[channel:13-adjacent_loopback-Frequency (MHz):10000]", + "duration": 2.045456899970304, + "run_index": 132, + "setup": { + "name": "setup", + "duration": 0.00041849998524412513, + "outcome": "passed" + }, + "call": { + "name": "call", + "duration": 2.04425559999072, + "outcome": "passed", + "stdout": "\n\nPower level (dBm): -3.647749E+00\n\n" + }, + "teardown": { + "name": "teardown", + "duration": 0.0003643000090960413, + "outcome": "passed" + }, + "outcome": "passed" + }, + { + "name": "test/test_triton_cal.py::test_loopback[channel:13-adjacent_loopback-Frequency (MHz):11000]", + "duration": 2.0182088000001386, + "run_index": 133, + "setup": { + "name": "setup", + "duration": 0.0004845999937970191, + "outcome": "passed" + }, + "call": { + "name": "call", + "duration": 2.0158633000100963, + "outcome": "passed", + "stdout": "\n\nPower level (dBm): -4.771245E+00\n\n" + }, + "teardown": { + "name": "teardown", + "duration": 0.0013763000024482608, + "outcome": "passed" + }, + "outcome": "passed" + }, + { + "name": "test/test_triton_cal.py::test_loopback[channel:13-adjacent_loopback-Frequency (MHz):12000]", + "duration": 2.080884100025287, + "run_index": 134, + "setup": { + "name": "setup", + "duration": 0.0005085000011604279, + "outcome": "passed" + }, + "call": { + "name": "call", + "duration": 2.0794150000147056, + "outcome": "passed", + "stdout": "\n\nPower level (dBm): -4.305930E+00\n\n" + }, + "teardown": { + "name": "teardown", + "duration": 0.0004521000082604587, + "outcome": "passed" + }, + "outcome": "passed" + }, + { + "name": "test/test_triton_cal.py::test_loopback[channel:13-combined_loopback-Frequency (MHz):8000]", + "duration": 2.0196575000009034, + "run_index": 135, + "setup": { + "name": "setup", + "duration": 0.000454399996669963, + "outcome": "passed" + }, + "call": { + "name": "call", + "duration": 2.0183642000192776, + "outcome": "passed", + "stdout": "\n\nPower level (dBm): -4.525736E+01\n\n" + }, + "teardown": { + "name": "teardown", + "duration": 0.00038449998828582466, + "outcome": "passed" + }, + "outcome": "passed" + }, + { + "name": "test/test_triton_cal.py::test_loopback[channel:13-combined_loopback-Frequency (MHz):9000]", + "duration": 2.0255447999516036, + "run_index": 136, + "setup": { + "name": "setup", + "duration": 0.00047369999811053276, + "outcome": "passed" + }, + "call": { + "name": "call", + "duration": 2.0241645999776665, + "outcome": "passed", + "stdout": "\n\nPower level (dBm): -4.732505E+01\n\n" + }, + "teardown": { + "name": "teardown", + "duration": 0.0004327999777160585, + "outcome": "passed" + }, + "outcome": "passed" + }, + { + "name": "test/test_triton_cal.py::test_loopback[channel:13-combined_loopback-Frequency (MHz):10000]", + "duration": 2.01925710006617, + "run_index": 137, + "setup": { + "name": "setup", + "duration": 0.000663500017253682, + "outcome": "passed" + }, + "call": { + "name": "call", + "duration": 2.017412700020941, + "outcome": "passed", + "stdout": "\n\nPower level (dBm): -4.840231E+01\n\n" + }, + "teardown": { + "name": "teardown", + "duration": 0.000517400010721758, + "outcome": "passed" + }, + "outcome": "passed" + }, + { + "name": "test/test_triton_cal.py::test_loopback[channel:13-combined_loopback-Frequency (MHz):11000]", + "duration": 2.0285874999826774, + "run_index": 138, + "setup": { + "name": "setup", + "duration": 0.0011765999952331185, + "outcome": "passed" + }, + "call": { + "name": "call", + "duration": 2.0258695000084117, + "outcome": "passed", + "stdout": "\n\nPower level (dBm): -4.938793E+01\n\n" + }, + "teardown": { + "name": "teardown", + "duration": 0.00036479998379945755, + "outcome": "passed" + }, + "outcome": "passed" + }, + { + "name": "test/test_triton_cal.py::test_loopback[channel:13-combined_loopback-Frequency (MHz):12000]", + "duration": 2.018114100006642, + "run_index": 139, + "setup": { + "name": "setup", + "duration": 0.0004345000197645277, + "outcome": "passed" + }, + "call": { + "name": "call", + "duration": 2.016602799994871, + "outcome": "passed", + "stdout": "\n\nPower level (dBm): -5.238020E+01\n\n" + }, + "teardown": { + "name": "teardown", + "duration": 0.0006422999722417444, + "outcome": "passed" + }, + "outcome": "passed" + }, + { + "name": "test/test_triton_cal.py::test_loopback[channel:14-adjacent_loopback-Frequency (MHz):8000]", + "duration": 13.587779200053774, + "run_index": 140, + "setup": { + "name": "setup", + "duration": 0.0004534000181593001, + "outcome": "passed" + }, + "call": { + "name": "call", + "duration": 13.586473200004548, + "outcome": "passed", + "stdout": "\n\nConnect signal generator into channel 14 input and connect spectrum analyzer into channel 14 output. Press Enter when complete \n\nPower level (dBm): -2.335880E+00\n\n" + }, + "teardown": { + "name": "teardown", + "duration": 0.0003992000129073858, + "outcome": "passed" + }, + "outcome": "passed" + }, + { + "name": "test/test_triton_cal.py::test_loopback[channel:14-adjacent_loopback-Frequency (MHz):9000]", + "duration": 2.024637199967401, + "run_index": 141, + "setup": { + "name": "setup", + "duration": 0.0004301999870222062, + "outcome": "passed" + }, + "call": { + "name": "call", + "duration": 2.02324999999837, + "outcome": "passed", + "stdout": "\n\nPower level (dBm): -2.659169E+00\n\n" + }, + "teardown": { + "name": "teardown", + "duration": 0.0005267999949865043, + "outcome": "passed" + }, + "outcome": "passed" + }, + { + "name": "test/test_triton_cal.py::test_loopback[channel:14-adjacent_loopback-Frequency (MHz):10000]", + "duration": 2.037326099962229, + "run_index": 142, + "setup": { + "name": "setup", + "duration": 0.0015414999797940254, + "outcome": "passed" + }, + "call": { + "name": "call", + "duration": 2.0339074000075925, + "outcome": "passed", + "stdout": "\n\nPower level (dBm): -3.654425E+00\n\n" + }, + "teardown": { + "name": "teardown", + "duration": 0.00033569999504834414, + "outcome": "passed" + }, + "outcome": "passed" + }, + { + "name": "test/test_triton_cal.py::test_loopback[channel:14-adjacent_loopback-Frequency (MHz):11000]", + "duration": 2.0195060999540146, + "run_index": 143, + "setup": { + "name": "setup", + "duration": 0.0004631999763660133, + "outcome": "passed" + }, + "call": { + "name": "call", + "duration": 2.0182378999888897, + "outcome": "passed", + "stdout": "\n\nPower level (dBm): -4.771632E+00\n\n" + }, + "teardown": { + "name": "teardown", + "duration": 0.00034180001239292324, + "outcome": "passed" + }, + "outcome": "passed" + }, + { + "name": "test/test_triton_cal.py::test_loopback[channel:14-adjacent_loopback-Frequency (MHz):12000]", + "duration": 2.0258868999953847, + "run_index": 144, + "setup": { + "name": "setup", + "duration": 0.00046239999937824905, + "outcome": "passed" + }, + "call": { + "name": "call", + "duration": 2.0246136999921873, + "outcome": "passed", + "stdout": "\n\nPower level (dBm): -4.310846E+00\n\n" + }, + "teardown": { + "name": "teardown", + "duration": 0.00034840000444091856, + "outcome": "passed" + }, + "outcome": "passed" + }, + { + "name": "test/test_triton_cal.py::test_loopback[channel:14-combined_loopback-Frequency (MHz):8000]", + "duration": 2.0363043999823276, + "run_index": 145, + "setup": { + "name": "setup", + "duration": 0.0007213999924715608, + "outcome": "passed" + }, + "call": { + "name": "call", + "duration": 2.0345257000008132, + "outcome": "passed", + "stdout": "\n\nPower level (dBm): -4.553709E+01\n\n" + }, + "teardown": { + "name": "teardown", + "duration": 0.0003358999965712428, + "outcome": "passed" + }, + "outcome": "passed" + }, + { + "name": "test/test_triton_cal.py::test_loopback[channel:14-combined_loopback-Frequency (MHz):9000]", + "duration": 2.0471745999529958, + "run_index": 146, + "setup": { + "name": "setup", + "duration": 0.0004897999751847237, + "outcome": "passed" + }, + "call": { + "name": "call", + "duration": 2.045874100003857, + "outcome": "passed", + "stdout": "\n\nPower level (dBm): -4.733204E+01\n\n" + }, + "teardown": { + "name": "teardown", + "duration": 0.0003208999987691641, + "outcome": "passed" + }, + "outcome": "passed" + }, + { + "name": "test/test_triton_cal.py::test_loopback[channel:14-combined_loopback-Frequency (MHz):10000]", + "duration": 2.017479399975855, + "run_index": 147, + "setup": { + "name": "setup", + "duration": 0.0004910999850835651, + "outcome": "passed" + }, + "call": { + "name": "call", + "duration": 2.0161585999885574, + "outcome": "passed", + "stdout": "\n\nPower level (dBm): -4.862777E+01\n\n" + }, + "teardown": { + "name": "teardown", + "duration": 0.0003386000171303749, + "outcome": "passed" + }, + "outcome": "passed" + }, + { + "name": "test/test_triton_cal.py::test_loopback[channel:14-combined_loopback-Frequency (MHz):11000]", + "duration": 2.0522181000269484, + "run_index": 148, + "setup": { + "name": "setup", + "duration": 0.0005431000026874244, + "outcome": "passed" + }, + "call": { + "name": "call", + "duration": 2.0506755000096746, + "outcome": "passed", + "stdout": "\n\nPower level (dBm): -4.957783E+01\n\n" + }, + "teardown": { + "name": "teardown", + "duration": 0.00045640001189894974, + "outcome": "passed" + }, + "outcome": "passed" + }, + { + "name": "test/test_triton_cal.py::test_loopback[channel:14-combined_loopback-Frequency (MHz):12000]", + "duration": 2.0390670000051614, + "run_index": 149, + "setup": { + "name": "setup", + "duration": 0.0005010000022593886, + "outcome": "passed" + }, + "call": { + "name": "call", + "duration": 2.0375179999973625, + "outcome": "passed", + "stdout": "\n\nPower level (dBm): -5.287206E+01\n\n" + }, + "teardown": { + "name": "teardown", + "duration": 0.0005470000032801181, + "outcome": "passed" + }, + "outcome": "passed" + }, + { + "name": "test/test_triton_cal.py::test_loopback[channel:15-adjacent_loopback-Frequency (MHz):8000]", + "duration": 10.31725860000006, + "run_index": 150, + "setup": { + "name": "setup", + "duration": 0.0006882000016048551, + "outcome": "passed" + }, + "call": { + "name": "call", + "duration": 10.314065099984873, + "outcome": "passed", + "stdout": "\n\nConnect signal generator into channel 15 input and connect spectrum analyzer into channel 15 output. Press Enter when complete \n\nPower level (dBm): -2.392153E+00\n\n" + }, + "teardown": { + "name": "teardown", + "duration": 0.0018171000119764358, + "outcome": "passed" + }, + "outcome": "passed" + }, + { + "name": "test/test_triton_cal.py::test_loopback[channel:15-adjacent_loopback-Frequency (MHz):9000]", + "duration": 2.017656599986367, + "run_index": 151, + "setup": { + "name": "setup", + "duration": 0.0004884999943897128, + "outcome": "passed" + }, + "call": { + "name": "call", + "duration": 2.016325600008713, + "outcome": "passed", + "stdout": "\n\nPower level (dBm): -2.800071E+00\n\n" + }, + "teardown": { + "name": "teardown", + "duration": 0.0003539999888744205, + "outcome": "passed" + }, + "outcome": "passed" + }, + { + "name": "test/test_triton_cal.py::test_loopback[channel:15-adjacent_loopback-Frequency (MHz):10000]", + "duration": 2.029506900027627, + "run_index": 152, + "setup": { + "name": "setup", + "duration": 0.0005508000031113625, + "outcome": "passed" + }, + "call": { + "name": "call", + "duration": 2.0280619999975897, + "outcome": "passed", + "stdout": "\n\nPower level (dBm): -3.758259E+00\n\n" + }, + "teardown": { + "name": "teardown", + "duration": 0.0003433000238146633, + "outcome": "passed" + }, + "outcome": "passed" + }, + { + "name": "test/test_triton_cal.py::test_loopback[channel:15-adjacent_loopback-Frequency (MHz):11000]", + "duration": 2.0202380000264384, + "run_index": 153, + "setup": { + "name": "setup", + "duration": 0.0004702000005636364, + "outcome": "passed" + }, + "call": { + "name": "call", + "duration": 2.018932200007839, + "outcome": "passed", + "stdout": "\n\nPower level (dBm): -4.838159E+00\n\n" + }, + "teardown": { + "name": "teardown", + "duration": 0.00036540001747198403, + "outcome": "passed" + }, + "outcome": "passed" + }, + { + "name": "test/test_triton_cal.py::test_loopback[channel:15-adjacent_loopback-Frequency (MHz):12000]", + "duration": 2.0189125999750104, + "run_index": 154, + "setup": { + "name": "setup", + "duration": 0.0006469999789260328, + "outcome": "passed" + }, + "call": { + "name": "call", + "duration": 2.017269400006626, + "outcome": "passed", + "stdout": "\n\nPower level (dBm): -4.427161E+00\n\n" + }, + "teardown": { + "name": "teardown", + "duration": 0.00034920001053251326, + "outcome": "passed" + }, + "outcome": "passed" + }, + { + "name": "test/test_triton_cal.py::test_loopback[channel:15-combined_loopback-Frequency (MHz):8000]", + "duration": 2.0347343999892473, + "run_index": 155, + "setup": { + "name": "setup", + "duration": 0.0008634999976493418, + "outcome": "passed" + }, + "call": { + "name": "call", + "duration": 2.032493100006832, + "outcome": "passed", + "stdout": "\n\nPower level (dBm): -4.544890E+01\n\n" + }, + "teardown": { + "name": "teardown", + "duration": 0.0005142999871168286, + "outcome": "passed" + }, + "outcome": "passed" + }, + { + "name": "test/test_triton_cal.py::test_loopback[channel:15-combined_loopback-Frequency (MHz):9000]", + "duration": 2.03288700003759, + "run_index": 156, + "setup": { + "name": "setup", + "duration": 0.0014464000123552978, + "outcome": "passed" + }, + "call": { + "name": "call", + "duration": 2.0287894000066444, + "outcome": "passed", + "stdout": "\n\nPower level (dBm): -4.794281E+01\n\n" + }, + "teardown": { + "name": "teardown", + "duration": 0.0012048000062350184, + "outcome": "passed" + }, + "outcome": "passed" + }, + { + "name": "test/test_triton_cal.py::test_loopback[channel:15-combined_loopback-Frequency (MHz):10000]", + "duration": 2.0292367999791168, + "run_index": 157, + "setup": { + "name": "setup", + "duration": 0.0007713999948464334, + "outcome": "passed" + }, + "call": { + "name": "call", + "duration": 2.0273461999895517, + "outcome": "passed", + "stdout": "\n\nPower level (dBm): -4.924738E+01\n\n" + }, + "teardown": { + "name": "teardown", + "duration": 0.00034779999987222254, + "outcome": "passed" + }, + "outcome": "passed" + }, + { + "name": "test/test_triton_cal.py::test_loopback[channel:15-combined_loopback-Frequency (MHz):11000]", + "duration": 2.018250899971463, + "run_index": 158, + "setup": { + "name": "setup", + "duration": 0.0004582999972626567, + "outcome": "passed" + }, + "call": { + "name": "call", + "duration": 2.0169812999956775, + "outcome": "passed", + "stdout": "\n\nPower level (dBm): -4.977777E+01\n\n" + }, + "teardown": { + "name": "teardown", + "duration": 0.00035299998125992715, + "outcome": "passed" + }, + "outcome": "passed" + }, + { + "name": "test/test_triton_cal.py::test_loopback[channel:15-combined_loopback-Frequency (MHz):12000]", + "duration": 2.019144000048982, + "run_index": 159, + "setup": { + "name": "setup", + "duration": 0.0007316000119317323, + "outcome": "passed" + }, + "call": { + "name": "call", + "duration": 2.0173163000144996, + "outcome": "passed", + "stdout": "\n\nPower level (dBm): -5.307273E+01\n\n" + }, + "teardown": { + "name": "teardown", + "duration": 0.00036450001061894, + "outcome": "passed" + }, + "outcome": "passed" + }, + { + "name": "test/test_triton_cal.py::test_tx_combined_out[Frequency (MHz):8000]", + "duration": 28.962121399934404, + "run_index": 160, + "setup": { + "name": "setup", + "duration": 0.0004550999728962779, + "outcome": "passed" + }, + "call": { + "name": "call", + "duration": 28.960806099988986, + "outcome": "passed", + "stdout": "\n\nConnect signal generator into channel 0 input. Connect spectrum analyzer to the combined Tx out SMA port on top of the board. Press enter when complete\n\nPower level (dBm): -1.834334E+01\n\n" + }, + "teardown": { + "name": "teardown", + "duration": 0.0004050999996252358, + "outcome": "passed" + }, + "outcome": "passed" + }, + { + "name": "test/test_triton_cal.py::test_tx_combined_out[Frequency (MHz):9000]", + "duration": 2.0178675999923144, + "run_index": 161, + "setup": { + "name": "setup", + "duration": 0.0003276999923400581, + "outcome": "passed" + }, + "call": { + "name": "call", + "duration": 2.0169473999994807, + "outcome": "passed", + "stdout": "\n\nPower level (dBm): -1.987976E+01\n\n" + }, + "teardown": { + "name": "teardown", + "duration": 0.0002648000081535429, + "outcome": "passed" + }, + "outcome": "passed" + }, + { + "name": "test/test_triton_cal.py::test_tx_combined_out[Frequency (MHz):10000]", + "duration": 2.0708949999825563, + "run_index": 162, + "setup": { + "name": "setup", + "duration": 0.0003231999871786684, + "outcome": "passed" + }, + "call": { + "name": "call", + "duration": 2.0699912999989465, + "outcome": "passed", + "stdout": "\n\nPower level (dBm): -2.136182E+01\n\n" + }, + "teardown": { + "name": "teardown", + "duration": 0.0002573000092525035, + "outcome": "passed" + }, + "outcome": "passed" + }, + { + "name": "test/test_triton_cal.py::test_tx_combined_out[Frequency (MHz):11000]", + "duration": 2.0216005999827757, + "run_index": 163, + "setup": { + "name": "setup", + "duration": 0.00038759998278692365, + "outcome": "passed" + }, + "call": { + "name": "call", + "duration": 2.0205316000210587, + "outcome": "passed", + "stdout": "\n\nPower level (dBm): -2.212036E+01\n\n" + }, + "teardown": { + "name": "teardown", + "duration": 0.00029379999614320695, + "outcome": "passed" + }, + "outcome": "passed" + }, + { + "name": "test/test_triton_cal.py::test_tx_combined_out[Frequency (MHz):12000]", + "duration": 2.0305408999847714, + "run_index": 164, + "setup": { + "name": "setup", + "duration": 0.00129489999380894, + "outcome": "passed" + }, + "call": { + "name": "call", + "duration": 2.0276821000152268, + "outcome": "passed", + "stdout": "\n\nPower level (dBm): -2.349445E+01\n\n" + }, + "teardown": { + "name": "teardown", + "duration": 0.0002689999819267541, + "outcome": "passed" + }, + "outcome": "passed" + }, + { + "name": "test/test_triton_cal.py::test_rx_combined_in[Frequency (MHz):8000]", + "duration": 48.926655000046594, + "run_index": 165, + "setup": { + "name": "setup", + "duration": 0.00040370001806877553, + "outcome": "passed" + }, + "call": { + "name": "call", + "duration": 48.92554590001237, + "outcome": "passed", + "stdout": "\n\nConnect signal generator into Rx SMA input on top of the board. Connect spectrum analyzer into channel 0 output. Press enter when complete\n\nPower level (dBm): -1.901320E+01\n\n" + }, + "teardown": { + "name": "teardown", + "duration": 0.00030169999809004366, + "outcome": "passed" + }, + "outcome": "passed" + }, + { + "name": "test/test_triton_cal.py::test_rx_combined_in[Frequency (MHz):9000]", + "duration": 2.05117830002564, + "run_index": 166, + "setup": { + "name": "setup", + "duration": 0.0003375000087544322, + "outcome": "passed" + }, + "call": { + "name": "call", + "duration": 2.0502012000069954, + "outcome": "passed", + "stdout": "\n\nPower level (dBm): -1.962891E+01\n\n" + }, + "teardown": { + "name": "teardown", + "duration": 0.000302100001135841, + "outcome": "passed" + }, + "outcome": "passed" + }, + { + "name": "test/test_triton_cal.py::test_rx_combined_in[Frequency (MHz):10000]", + "duration": 2.0179123999841977, + "run_index": 167, + "setup": { + "name": "setup", + "duration": 0.0003284999984316528, + "outcome": "passed" + }, + "call": { + "name": "call", + "duration": 2.0169791000080295, + "outcome": "passed", + "stdout": "\n\nPower level (dBm): -2.158308E+01\n\n" + }, + "teardown": { + "name": "teardown", + "duration": 0.0002762999793048948, + "outcome": "passed" + }, + "outcome": "passed" + }, + { + "name": "test/test_triton_cal.py::test_rx_combined_in[Frequency (MHz):11000]", + "duration": 2.0178858999570366, + "run_index": 168, + "setup": { + "name": "setup", + "duration": 0.00034329999471083283, + "outcome": "passed" + }, + "call": { + "name": "call", + "duration": 2.0169329999771435, + "outcome": "passed", + "stdout": "\n\nPower level (dBm): -2.251577E+01\n\n" + }, + "teardown": { + "name": "teardown", + "duration": 0.0002662999904714525, + "outcome": "passed" + }, + "outcome": "passed" + }, + { + "name": "test/test_triton_cal.py::test_rx_combined_in[Frequency (MHz):12000]", + "duration": 2.0415249000070617, + "run_index": 169, + "setup": { + "name": "setup", + "duration": 0.0003406000032555312, + "outcome": "passed" + }, + "call": { + "name": "call", + "duration": 2.0229203999915626, + "outcome": "passed", + "stdout": "\n\nPower level (dBm): -2.400306E+01\n\n" + }, + "teardown": { + "name": "teardown", + "duration": 0.017923300008988008, + "outcome": "passed" + }, + "outcome": "passed" + } + ], + "summary": { + "passed": 170, + "num_tests": 170, + "duration": 623.9100317955017 + }, + "created_at": "2024-04-12 10:14:26.474860" + } +} \ No newline at end of file diff --git a/triton_cal_plots.py b/triton_cal_plots.py new file mode 100644 index 000000000..f04f89df9 --- /dev/null +++ b/triton_cal_plots.py @@ -0,0 +1,239 @@ +import json +import re +import numpy as np +import matplotlib.pyplot as plt + + +# Load the JSON data from the file +with open('test_triton_cal.json', 'r') as file: + json_data = json.load(file) + +# Initialize string variables +string_8GHz_adj = "" +string_9GHz_adj = "" +string_10GHz_adj = "" +string_11GHz_adj = "" +string_12GHz_adj = "" +string_8GHz_comb = "" +string_9GHz_comb = "" +string_10GHz_comb = "" +string_11GHz_comb = "" +string_12GHz_comb = "" + +# Initialize iteration variables +i = 0 +j = 1 +k = 2 +l = 3 +m = 4 +n = 5 +o = 6 +p = 7 +q = 8 +r = 9 + + +## Extract Adjacent Loopback data at 8 GHz +while i < 160: + string = json_data['report']['tests'][i]['call']['stdout'] + string_8GHz_adj += string + i = i+10 + +## Extract Adjacent Loopback data at 9 GHz +while j < 160: + string = json_data['report']['tests'][j]['call']['stdout'] + string_9GHz_adj += string + j = j+10 + +## Extract Adjacent Loopback data at 10 GHz +while k < 160: + string = json_data['report']['tests'][k]['call']['stdout'] + string_10GHz_adj += string + k = k+10 + +## Extract Adjacent Loopback data at 11 GHz +while l < 160: + string = json_data['report']['tests'][l]['call']['stdout'] + string_11GHz_adj += string + l = l+10 + +## Extract Adjacent Loopback data at 12 GHz +while m < 160: + string = json_data['report']['tests'][m]['call']['stdout'] + string_12GHz_adj += string + m = m+10 + +## Extract Combined Loopback data at 8 GHz +while n < 160: + string = json_data['report']['tests'][n]['call']['stdout'] + string_8GHz_comb += string + n = n+10 + +## Extract Combined Loopback data at 9 GHz +while o < 160: + string = json_data['report']['tests'][o]['call']['stdout'] + string_9GHz_comb += string + o = o+10 + +## Extract Combined Loopback data at 10 GHz +while p < 160: + string = json_data['report']['tests'][p]['call']['stdout'] + string_10GHz_comb += string + p = p+10 + +## Extract Combined Loopback data at 11 GHz +while q < 160: + string = json_data['report']['tests'][q]['call']['stdout'] + string_11GHz_comb += string + q = q+10 + +## Extract Combined Loopback data at 12 GHz +while r < 160: + string = json_data['report']['tests'][r]['call']['stdout'] + string_12GHz_comb += string + r = r+10 + +## Pattern to find scientific notation +pattern = r'[-+]?\d*\.\d+E[-+]?\d+' + +# Use regular expression module to find matching pattern +adj_8GHz = re.findall(pattern, string_8GHz_adj) +adj_9GHz = re.findall(pattern, string_9GHz_adj) +adj_10GHz = re.findall(pattern, string_10GHz_adj) +adj_11GHz = re.findall(pattern, string_11GHz_adj) +adj_12GHz = re.findall(pattern, string_12GHz_adj) +comb_8GHz = re.findall(pattern, string_8GHz_comb) +comb_9GHz = re.findall(pattern, string_9GHz_comb) +comb_10GHz = re.findall(pattern, string_10GHz_comb) +comb_11GHz = re.findall(pattern, string_11GHz_comb) +comb_12GHz = re.findall(pattern, string_12GHz_comb) + +# Convert scientific notation strings to floating-point +adj_8GHz_array = [float(num) for num in adj_8GHz] +adj_9GHz_array = [float(num) for num in adj_9GHz] +adj_10GHz_array = [float(num) for num in adj_10GHz] +adj_11GHz_array = [float(num) for num in adj_11GHz] +adj_12GHz_array = [float(num) for num in adj_12GHz] +comb_8GHz_array = [float(num) for num in comb_8GHz] +comb_9GHz_array = [float(num) for num in comb_9GHz] +comb_10GHz_array = [float(num) for num in comb_10GHz] +comb_11GHz_array = [float(num) for num in comb_11GHz] +comb_12GHz_array = [float(num) for num in comb_12GHz] + + +print(adj_8GHz_array) +print(adj_9GHz_array) +print(adj_10GHz_array) +print(adj_11GHz_array) +print(adj_12GHz_array) +print(comb_8GHz_array) +print(comb_9GHz_array) +print(comb_10GHz_array) +print(comb_11GHz_array) +print(comb_12GHz_array) + +## 1x16 channels array 0:15 +channels_array = np.arange(16) + +## 1x5 frequency array +frequency_array = [8000, 9000, 10000, 11000, 12000] + +## 1x5 channel results array for each channel in adjacent loopback state +ch0_adjresults_y = [adj_8GHz_array[0], adj_9GHz_array[0], adj_10GHz_array[0], adj_11GHz_array[0], adj_12GHz_array[0]] +ch1_adjresults_y = [adj_8GHz_array[1], adj_9GHz_array[1], adj_10GHz_array[1], adj_11GHz_array[1], adj_12GHz_array[1]] +ch2_adjresults_y = [adj_8GHz_array[2], adj_9GHz_array[2], adj_10GHz_array[2], adj_11GHz_array[2], adj_12GHz_array[2]] +ch3_adjresults_y = [adj_8GHz_array[3], adj_9GHz_array[3], adj_10GHz_array[3], adj_11GHz_array[3], adj_12GHz_array[3]] +ch4_adjresults_y = [adj_8GHz_array[4], adj_9GHz_array[4], adj_10GHz_array[4], adj_11GHz_array[4], adj_12GHz_array[4]] +ch5_adjresults_y = [adj_8GHz_array[5], adj_9GHz_array[5], adj_10GHz_array[5], adj_11GHz_array[5], adj_12GHz_array[5]] +ch6_adjresults_y = [adj_8GHz_array[6], adj_9GHz_array[6], adj_10GHz_array[6], adj_11GHz_array[6], adj_12GHz_array[6]] +ch7_adjresults_y = [adj_8GHz_array[7], adj_9GHz_array[7], adj_10GHz_array[7], adj_11GHz_array[7], adj_12GHz_array[7]] +ch8_adjresults_y = [adj_8GHz_array[8], adj_9GHz_array[8], adj_10GHz_array[8], adj_11GHz_array[8], adj_12GHz_array[8]] +ch9_adjresults_y = [adj_8GHz_array[9], adj_9GHz_array[9], adj_10GHz_array[9], adj_11GHz_array[9], adj_12GHz_array[9]] +ch10_adjresults_y = [adj_8GHz_array[10], adj_9GHz_array[10], adj_10GHz_array[10], adj_11GHz_array[10], adj_12GHz_array[10]] +ch11_adjresults_y = [adj_8GHz_array[11], adj_9GHz_array[11], adj_10GHz_array[11], adj_11GHz_array[11], adj_12GHz_array[11]] +ch12_adjresults_y = [adj_8GHz_array[12], adj_9GHz_array[12], adj_10GHz_array[12], adj_11GHz_array[12], adj_12GHz_array[12]] +ch13_adjresults_y = [adj_8GHz_array[13], adj_9GHz_array[13], adj_10GHz_array[13], adj_11GHz_array[13], adj_12GHz_array[13]] +ch14_adjresults_y = [adj_8GHz_array[14], adj_9GHz_array[14], adj_10GHz_array[14], adj_11GHz_array[14], adj_12GHz_array[14]] +ch15_adjresults_y = [adj_8GHz_array[15], adj_9GHz_array[15], adj_10GHz_array[15], adj_11GHz_array[15], adj_12GHz_array[15]] + +## 1x5 channel results array for each channel in combined loopback state +ch0_combresults_y = [comb_8GHz_array[0], comb_9GHz_array[0], comb_10GHz_array[0], comb_11GHz_array[0], comb_12GHz_array[0]] +ch1_combresults_y = [comb_8GHz_array[1], comb_9GHz_array[1], comb_10GHz_array[1], comb_11GHz_array[1], comb_12GHz_array[1]] +ch2_combresults_y = [comb_8GHz_array[2], comb_9GHz_array[2], comb_10GHz_array[2], comb_11GHz_array[2], comb_12GHz_array[2]] +ch3_combresults_y = [comb_8GHz_array[3], comb_9GHz_array[3], comb_10GHz_array[3], comb_11GHz_array[3], comb_12GHz_array[3]] +ch4_combresults_y = [comb_8GHz_array[4], comb_9GHz_array[4], comb_10GHz_array[4], comb_11GHz_array[4], comb_12GHz_array[4]] +ch5_combresults_y = [comb_8GHz_array[5], comb_9GHz_array[5], comb_10GHz_array[5], comb_11GHz_array[5], comb_12GHz_array[5]] +ch6_combresults_y = [comb_8GHz_array[6], comb_9GHz_array[6], comb_10GHz_array[6], comb_11GHz_array[6], comb_12GHz_array[6]] +ch7_combresults_y = [comb_8GHz_array[7], comb_9GHz_array[7], comb_10GHz_array[7], comb_11GHz_array[7], comb_12GHz_array[7]] +ch8_combresults_y = [comb_8GHz_array[8], comb_9GHz_array[8], comb_10GHz_array[8], comb_11GHz_array[8], comb_12GHz_array[8]] +ch9_combresults_y = [comb_8GHz_array[9], comb_9GHz_array[9], comb_10GHz_array[9], comb_11GHz_array[9], comb_12GHz_array[9]] +ch10_combresults_y = [comb_8GHz_array[10], comb_9GHz_array[10], comb_10GHz_array[10], comb_11GHz_array[10], comb_12GHz_array[10]] +ch11_combresults_y = [comb_8GHz_array[11], comb_9GHz_array[11], comb_10GHz_array[11], comb_11GHz_array[11], comb_12GHz_array[11]] +ch12_combresults_y = [comb_8GHz_array[12], comb_9GHz_array[12], comb_10GHz_array[12], comb_11GHz_array[12], comb_12GHz_array[12]] +ch13_combresults_y = [comb_8GHz_array[13], comb_9GHz_array[13], comb_10GHz_array[13], comb_11GHz_array[13], comb_12GHz_array[13]] +ch14_combresults_y = [comb_8GHz_array[14], comb_9GHz_array[14], comb_10GHz_array[14], comb_11GHz_array[14], comb_12GHz_array[14]] +ch15_combresults_y = [comb_8GHz_array[15], comb_9GHz_array[15], comb_10GHz_array[15], comb_11GHz_array[15], comb_12GHz_array[15]] + +# Create a new plot with adjacent loopback data +plt.figure() +plt.plot(frequency_array, ch0_adjresults_y, label='Channel 0') +plt.plot(frequency_array, ch1_adjresults_y, label='Channel 1') +plt.plot(frequency_array, ch2_adjresults_y, label='Channel 2') +plt.plot(frequency_array, ch3_adjresults_y, label='Channel 3') +plt.plot(frequency_array, ch4_adjresults_y, label='Channel 4') +plt.plot(frequency_array, ch5_adjresults_y, label='Channel 5') +plt.plot(frequency_array, ch6_adjresults_y, label='Channel 6') +plt.plot(frequency_array, ch7_adjresults_y, label='Channel 7') +plt.plot(frequency_array, ch8_adjresults_y, label='Channel 8') +plt.plot(frequency_array, ch9_adjresults_y, label='Channel 9') +plt.plot(frequency_array, ch10_adjresults_y, label='Channel 10') +plt.plot(frequency_array, ch11_adjresults_y, label='Channel 11') +plt.plot(frequency_array, ch12_adjresults_y, label='Channel 12') +plt.plot(frequency_array, ch13_adjresults_y, label='Channel 13') +plt.plot(frequency_array, ch14_adjresults_y, label='Channel 14') +plt.plot(frequency_array, ch15_adjresults_y, label='Channel 15') + +# Limits for y axis +plt.ylim(-80, 0) + +# Add labels and title +plt.xlabel('Frequency (MHz)') +plt.ylabel('Magnitude (dBm)') +plt.title('Calibration Board Output Magnitude vs Frequency for Adjacent Loopback State (+15 dBm Input)') + +# Add legend +plt.legend() + +# Create a new plot with adjacent loopback data +plt.figure() +plt.plot(frequency_array, ch0_combresults_y, label='Channel 0') +plt.plot(frequency_array, ch1_combresults_y, label='Channel 1') +plt.plot(frequency_array, ch2_combresults_y, label='Channel 2') +plt.plot(frequency_array, ch3_combresults_y, label='Channel 3') +plt.plot(frequency_array, ch4_combresults_y, label='Channel 4') +plt.plot(frequency_array, ch5_combresults_y, label='Channel 5') +plt.plot(frequency_array, ch6_combresults_y, label='Channel 6') +plt.plot(frequency_array, ch7_combresults_y, label='Channel 7') +plt.plot(frequency_array, ch8_combresults_y, label='Channel 8') +plt.plot(frequency_array, ch9_combresults_y, label='Channel 9') +plt.plot(frequency_array, ch10_combresults_y, label='Channel 10') +plt.plot(frequency_array, ch11_combresults_y, label='Channel 11') +plt.plot(frequency_array, ch12_combresults_y, label='Channel 12') +plt.plot(frequency_array, ch13_combresults_y, label='Channel 13') +plt.plot(frequency_array, ch14_combresults_y, label='Channel 14') +plt.plot(frequency_array, ch15_combresults_y, label='Channel 15') + +# Limits for y axis +plt.ylim(-80, 0) + +# Add labels and title +plt.xlabel('Frequency (MHz)') +plt.ylabel('Magnitude (dBm)') +plt.title('Calibration Board Output Magnitude vs Frequency for Combined Loopback State (+15 dBm Input)') + +# Add legend +plt.legend() + +# Show the plots +plt.show() +