Fix typos in lab68 and add compatibility for MCP to matrix

This commit is contained in:
Dimitris Zervas
2020-09-14 02:19:46 +03:00
committed by Kyle Brown
parent ac9f4927c9
commit b082f26d9e
2 changed files with 30 additions and 8 deletions

View File

@@ -41,13 +41,17 @@ class MatrixScanner:
self.diode_orientation = diode_orientation
# __class__.__name__ is used instead of isinstance as the MCP230xx lib
# does not use the digitalio.DigitalInOut, but rather a self defined one:
# https://github.com/adafruit/Adafruit_CircuitPython_MCP230xx/blob/3f04abbd65ba5fa938fcb04b99e92ae48a8c9406/adafruit_mcp230xx/digital_inout.py#L33
if self.diode_orientation == DiodeOrientation.COLUMNS:
self.outputs = [digitalio.DigitalInOut(x) for x in cols]
self.inputs = [digitalio.DigitalInOut(x) for x in rows]
self.outputs = [x if x.__class__.__name__ is "DigitalInOut" else digitalio.DigitalInOut(x) for x in cols]
self.inputs = [x if x.__class__.__name__ is "DigitalInOut" else digitalio.DigitalInOut(x) for x in rows]
self.translate_coords = True
elif self.diode_orientation == DiodeOrientation.ROWS:
self.outputs = [digitalio.DigitalInOut(x) for x in rows]
self.inputs = [digitalio.DigitalInOut(x) for x in cols]
self.outputs = [x if x.__class__.__name__ is "DigitalInOut" else digitalio.DigitalInOut(x) for x in rows]
self.inputs = [x if x.__class__.__name__ is "DigitalInOut" else digitalio.DigitalInOut(x) for x in cols]
self.translate_coords = False
else:
raise ValueError(