Skip to content

Commit db38fab

Browse files
authored
Adding tests for configuring levels (#1413)
* Adding tests for configuring levels * Updating tests to use floats and use pytest.approx, not round * Updating new tests to use keyword arguments
1 parent e9f8e2a commit db38fab

File tree

1 file changed

+34
-0
lines changed

1 file changed

+34
-0
lines changed

src/nidigital/system_tests/test_system_nidigital.py

Lines changed: 34 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -604,6 +604,40 @@ def test_write_sequencer_register(multi_instrument_session):
604604
65535)
605605

606606

607+
def test_configure_voltage_levels(multi_instrument_session):
608+
assert multi_instrument_session.vil == pytest.approx(0.0, abs=1e-4)
609+
assert multi_instrument_session.vih == pytest.approx(3.3, rel=1e-3)
610+
assert multi_instrument_session.vol == pytest.approx(1.6, rel=1e-3)
611+
assert multi_instrument_session.voh == pytest.approx(1.7, rel=1e-3)
612+
assert multi_instrument_session.vterm == pytest.approx(2.0, rel=1e-3)
613+
multi_instrument_session.load_pin_map(os.path.join(test_files_base_dir, "pin_map.pinmap"))
614+
multi_instrument_session.pins['site0/PinA', 'site1/PinC'].configure_voltage_levels(
615+
vil=1.0,
616+
vih=2.0,
617+
vol=3.0,
618+
voh=4.0,
619+
vterm=5.0)
620+
assert multi_instrument_session.pins['site0/PinA', 'site1/PinC'].vil == pytest.approx(1.0, rel=1e-3)
621+
assert multi_instrument_session.pins['site0/PinA', 'site1/PinC'].vih == pytest.approx(2.0, rel=1e-3)
622+
assert multi_instrument_session.pins['site0/PinA', 'site1/PinC'].vol == pytest.approx(3.0, rel=1e-3)
623+
assert multi_instrument_session.pins['site0/PinA', 'site1/PinC'].voh == pytest.approx(4.0, rel=1e-3)
624+
assert multi_instrument_session.pins['site0/PinA', 'site1/PinC'].vterm == pytest.approx(5.0, rel=1e-3)
625+
626+
627+
def test_configure_active_load_levels(multi_instrument_session):
628+
assert multi_instrument_session.active_load_iol == pytest.approx(0.0015, rel=1e-3)
629+
assert multi_instrument_session.active_load_ioh == pytest.approx(-0.0015, rel=1e-3)
630+
assert multi_instrument_session.active_load_vcom == pytest.approx(2.0, rel=1e-3)
631+
multi_instrument_session.load_pin_map(os.path.join(test_files_base_dir, "pin_map.pinmap"))
632+
multi_instrument_session.pins['site0/PinA', 'site1/PinC'].configure_active_load_levels(
633+
iol=0.024,
634+
ioh=-0.024,
635+
vcom=3.0)
636+
assert multi_instrument_session.pins['site0/PinA', 'site1/PinC'].active_load_iol == pytest.approx(0.024, rel=1e-3)
637+
assert multi_instrument_session.pins['site0/PinA', 'site1/PinC'].active_load_ioh == pytest.approx(-0.024, rel=1e-3)
638+
assert multi_instrument_session.pins['site0/PinA', 'site1/PinC'].active_load_vcom == pytest.approx(3.0, rel=1e-3)
639+
640+
607641
def test_specifications_levels_and_timing_single(multi_instrument_session):
608642
pinmap = get_test_file_path('specifications_levels_and_timing_single', 'pin_map.pinmap')
609643
specs = get_test_file_path('specifications_levels_and_timing_single', 'specs.specs')

0 commit comments

Comments
 (0)