1
0
mirror of https://github.com/xtacocorex/CHIP_IO synced 2025-07-20 12:53:22 +00:00

Fixed a bunch of error handling

This commit is contained in:
fordsfords
2016-07-04 13:56:11 -05:00
parent fd29b17796
commit 0e7d03c472
11 changed files with 787 additions and 309 deletions

View File

@ -42,7 +42,7 @@ if (GPIO.input("XIO-P0") != GPIO.HIGH):
num_errs += 1
GPIO.cleanup()
GPIO.setup("XIO-P0", GPIO.IN)
GPIO.setup("U14_13", GPIO.IN) # XIO-P0
GPIO.setup("CSID0", GPIO.OUT, initial=GPIO.LOW)
if (GPIO.input("XIO-P0") != GPIO.LOW):
print "A low output on CSI0 does not lead to a low input on XIO-P0."
@ -51,7 +51,7 @@ if (GPIO.input("XIO-P0") != GPIO.LOW):
GPIO.cleanup()
GPIO.setup("XIO-P0", GPIO.IN)
GPIO.setup("CSID0", GPIO.OUT)
GPIO.setup("U14_31", GPIO.OUT) # CSID0
# VERIFY SIMPLE FUNCTIONALITY
print "VERIFY SIMPLE FUNCTIONALITY"
@ -66,7 +66,7 @@ assert(GPIO.input("XIO-P0") == GPIO.LOW)
# ==============================================
# EDGE DETECTION - AP-EINT1
print "SETTING UP EDGE DETECTION ON AP-EINT1"
print "SETTING UP RISING EDGE DETECTION ON AP-EINT1"
GPIO.setup("AP-EINT1", GPIO.IN)
print "adding event detect"
GPIO.add_event_detect("AP-EINT1", GPIO.RISING)
@ -75,13 +75,12 @@ print "VERIFYING EDGE DETECT"
f = open("/sys/class/gpio/gpio193/edge", "r")
edge = f.read()
f.close()
print "edge='", edge, "'"
assert(edge == "rising\n")
GPIO.remove_event_detect("AP-EINT1")
# ==============================================
# EDGE DETECTION - AP-EINT3
print "SETTING UP EDGE DETECTION ON AP-EINT3"
print "SETTING UP BOTH EDGE DETECTION ON AP-EINT3"
GPIO.setup("AP-EINT3", GPIO.IN)
GPIO.add_event_detect("AP-EINT3", GPIO.BOTH)
@ -89,13 +88,12 @@ print "VERIFYING EDGE DETECT"
f = open("/sys/class/gpio/gpio35/edge", "r")
edge = f.read()
f.close()
print "EDGE: %s" % edge
assert(edge == "both\n")
GPIO.remove_event_detect("AP-EINT3")
# ==============================================
# EDGE DETECTION - EXPANDED GPIO
print "SETTING UP EDGE DETECTION ON XIO-P0"
print "SETTING UP FALLING EDGE DETECTION ON XIO-P0"
GPIO.add_event_detect("XIO-P0", GPIO.FALLING, myfuncallback)
print "VERIFYING EDGE DETECT"
@ -104,7 +102,6 @@ gfile = "/sys/class/gpio/gpio%d/edge" % base
f = open(gfile, "r")
edge = f.read()
f.close()
print "EDGE: %s" % edge
assert(edge == "falling\n")
# LOOP WRITING ON CSID0 TO HOPEFULLY GET CALLBACK TO WORK
@ -134,14 +131,60 @@ GPIO.setup("CSID1", GPIO.IN)
try:
GPIO.add_event_detect("CSID1", GPIO.FALLING, myfuncallback)
print "Oops, it did not throw an exception! BUG!!!"
except:
num_errors += 1
except ValueError, ex:
print "error msg=", ex.args[0]
pass
except RuntimeError, ex:
print "error msg=", ex.args[0]
pass
print "TESTING ERRORS THROWN WHEN SETTING UP AN ALREADY EXPORTED GPIO"
try:
GPIO.output("XIO-P0", GPIO.LOW)
print "Oops, it did not throw an exception! BUG!!!"
num_errors += 1
except ValueError, ex:
print "error msg=", ex.args[0]
pass
except RuntimeError, ex:
print "error msg=", ex.args[0]
pass
print "TESTING ERRORS THROWN WHEN WRITING TO A GPIO WITH NO DIRECTION"
try:
GPIO.output("CSID1", GPIO.LOW)
print "Oops, it did not throw an exception! BUG!!!"
except:
num_errors += 1
except ValueError, ex:
print "error msg=", ex.args[0]
pass
except RuntimeError, ex:
print "error msg=", ex.args[0]
pass
print "TESTING ERRORS THROWN FOR ILLEGAL GPIO"
try:
GPIO.setup("NOTUSED", GPIO.IN)
print "Oops, it did not throw an exception! BUG!!!"
num_errors += 1
except ValueError, ex:
print "error msg=", ex.args[0]
pass
except RuntimeError, ex:
print "error msg=", ex.args[0]
pass
print "TESTING ERRORS THROWN FOR NON-GPIO"
try:
GPIO.setup("FEL", GPIO.IN)
print "Oops, it did not throw an exception! BUG!!!"
num_errors += 1
except ValueError, ex:
print "error msg=", ex.args[0]
pass
except RuntimeError, ex:
print "error msg=", ex.args[0]
pass
print "CLEANUP"