X-Git-Url: https://git.ayoreis.com/hackapet/Adafruit_Blinka.git/blobdiff_plain/f96e673beb7c9a9f04add58e5e23f3ca1f042625..30d6cd0ac14df67350f14f67a5fa52eb43e59838:/src/digitalio.py diff --git a/src/digitalio.py b/src/digitalio.py index 8634e41..53df368 100755 --- a/src/digitalio.py +++ b/src/digitalio.py @@ -48,7 +48,9 @@ elif detector.chip.MIPS24KEC: elif detector.chip.RK3308: from adafruit_blinka.microcontroller.rockchip.rk3308.pin import Pin elif detector.board.ftdi_ft232h: - from adafruit_blinka.microcontroller.ft232h.pin import Pin + from adafruit_blinka.microcontroller.ftdi_mpsse.ft232h.pin import Pin +elif detector.board.ftdi_ft2232h: + from adafruit_blinka.microcontroller.ftdi_mpsse.ft2232h.pin import Pin elif detector.board.binho_nova: from adafruit_blinka.microcontroller.nova.pin import Pin elif detector.board.greatfet_one: @@ -61,6 +63,8 @@ from adafruit_blinka import Enum, ContextManaged class DriveMode(Enum): + """Drive Mode Enumeration""" + PUSH_PULL = None OPEN_DRAIN = None @@ -70,6 +74,8 @@ DriveMode.OPEN_DRAIN = DriveMode() class Direction(Enum): + """Direction Enumeration""" + INPUT = None OUTPUT = None @@ -79,6 +85,8 @@ Direction.OUTPUT = Direction() class Pull(Enum): + """PullUp/PullDown Enumeration""" + UP = None DOWN = None # NONE=None @@ -91,6 +99,8 @@ Pull.DOWN = Pull() class DigitalInOut(ContextManaged): + """DigitalInOut CircuitPython compatibility implementation""" + _pin = None def __init__(self, pin): @@ -98,29 +108,33 @@ class DigitalInOut(ContextManaged): self.direction = Direction.INPUT def switch_to_output(self, value=False, drive_mode=DriveMode.PUSH_PULL): + """Switch the Digital Pin Mode to Output""" self.direction = Direction.OUTPUT self.value = value self.drive_mode = drive_mode def switch_to_input(self, pull=None): + """Switch the Digital Pin Mode to Input""" self.direction = Direction.INPUT self.pull = pull def deinit(self): + """Deinitialize the Digital Pin""" del self._pin @property def direction(self): + """Get or Set the Digital Pin Direction""" return self.__direction @direction.setter - def direction(self, dir): - self.__direction = dir - if dir is Direction.OUTPUT: + def direction(self, value): + self.__direction = value + if value is Direction.OUTPUT: self._pin.init(mode=Pin.OUT) self.value = False self.drive_mode = DriveMode.PUSH_PULL - elif dir is Direction.INPUT: + elif value is Direction.INPUT: self._pin.init(mode=Pin.IN) self.pull = None else: @@ -128,6 +142,7 @@ class DigitalInOut(ContextManaged): @property def value(self): + """Get or Set the Digital Pin Value""" return self._pin.value() == 1 @value.setter @@ -139,10 +154,10 @@ class DigitalInOut(ContextManaged): @property def pull(self): + """Get or Set the Digital Pin Direction""" if self.direction is Direction.INPUT: return self.__pull - else: - raise AttributeError("Not an input") + raise AttributeError("Not an input") @pull.setter def pull(self, pul): @@ -166,10 +181,10 @@ class DigitalInOut(ContextManaged): @property def drive_mode(self): + """Get or Set the Digital Pin Drive Mode""" if self.direction is Direction.OUTPUT: return self.__drive_mode # - else: - raise AttributeError("Not an output") + raise AttributeError("Not an output") @drive_mode.setter def drive_mode(self, mod):