add input tests
authorLuke Kenneth Casson Leighton <lkcl@lkcl.net>
Mon, 2 Jul 2018 08:36:49 +0000 (09:36 +0100)
committerLuke Kenneth Casson Leighton <lkcl@lkcl.net>
Mon, 2 Jul 2018 08:36:49 +0000 (09:36 +0100)
src/test_bsv/tests/test_pinmux.py

index 851191bb91fda6d52ce251ea0a8fcebf8d73d095..a3aa80cee2c2ce638992996922b7b1a4313f476a 100644 (file)
@@ -21,7 +21,7 @@ def pinmux_basic_test(dut):
 
     yield Timer(2)
 
-    # GPIO
+    # GPIO2-out test
     dut.peripheral_side_gpioa_a2_out_in = 0
     dut.peripheral_side_gpioa_a2_outen_in = 1
 
@@ -36,6 +36,40 @@ def pinmux_basic_test(dut):
 
     yield Timer(2)
 
+    if dut.iocell_side_io2_cell_out != 1:
+        raise TestFailure(
+            "gpioa_a2=0/mux=0/out=1 %s iocell_io2 != 1" % \
+                    str(dut.iocell_side_io2_cell_out ))
+
+    # GPIO2-in test (first see if it's tri-state)
+    if str(dut.peripheral_side_gpioa_a2_in) != "x":
+        raise TestFailure(
+            "gpioa_a2=0/mux=0/out=1 %s gpio_a2_in != x" % \
+                    str(dut.peripheral_side_gpioa_a2_in))
+
+    dut.peripheral_side_gpioa_a2_outen_in = 0
+    dut.iocell_side_io2_cell_in_in = 0
+    yield Timer(2)
+
+    if dut.peripheral_side_gpioa_a2_in != 0:
+        raise TestFailure(
+            "iocell_io2=0/mux=0/out=0 %s gpioa_a2 != 0" % \
+                    str(dut.peripheral_side_gpioa_a2_in))
+
+    dut.iocell_side_io2_cell_in_in = 1
+    yield Timer(2)
+
+    if dut.peripheral_side_gpioa_a2_in != 1:
+        raise TestFailure(
+            "iocell_io2=1/mux=0/out=0 %s gpioa_a2 != 1" % \
+                    str(dut.peripheral_side_gpioa_a2_in))
+
+    dut.peripheral_side_gpioa_a2_outen_in = 1
+    dut.iocell_side_io2_cell_in_in = 0
+    yield Timer(2)
+    dut._log.info("gpioa_a2_in %s" % dut.peripheral_side_gpioa_a2_in )
+
+
     if dut.iocell_side_io2_cell_out != 1:
         raise TestFailure(
             "gpioa_a2=0/mux=0/out=1 %s iocell_io2 != 1" % \