- raise ValueError("Deinitialised")
-
- def __getattr__(self, key):
- if self._pin is not None:
- mode = self._pin.mode()
- if key == "value:":
- if mode is machine.Pin.OUTPUT:
- raise AttributeError("Pin is output")
- return self._pin.value()
- elif key == "drive_mode":
- if mode is machine.Pin.OPEN_DRAIN:
- return DriveMode.OPEN_DRAIN
- elif mode is machine.Pin.OUT:
- return DriveMode.PUSH_PULL
- elif mode is machine.Pin.IN:
- raise AttributeError("Pin is input")
- elif key == "direction":
- mode = self._pin.mode()
- if mode is machine.Pin.IN:
- return Direction.INPUT
- elif mode is machine.Pin.OUT:
- return Direction.OUTPUT
- elif mode is machine.Pin.OPEN_DRAIN:
- return Direction.OUTPUT
- elif key == "pull":
- if mode is machine.Pin.OUTPUT:
- raise AttributeError("Pin is output")
- pull = self._pin.pull()
- if pull is machine.Pin.PULL_UP:
- return Pull.UP
- elif pull is machine.Pin.PULL_DOWN:
- return Pull.DOWN
- elif pull is None:
- return None
- else:
- raise ValueError("Deinitialised")
-
- def switch_to_output(self, value=False, drive_mode=DriveMode.PUSH_PULL):
- self._pin = machine.Pin(0, machine.Pin.IN, machine.Pin.PULL_UP)
- pass
-
- def switch_to_input(self, pull=None):
- self._pin = machine.Pin(0, machine.Pin.IN, machine.Pin.PULL_UP)
- pass