]> Repositories - Adafruit_Blinka-hackapet.git/blob - src/microcontroller/__init__.py
start raspi compatibility
[Adafruit_Blinka-hackapet.git] / src / microcontroller / __init__.py
1 """Microcontroller pins"""
2
3 from adafruit_blinka import Enum, agnostic
4
5 class Pin(Enum):
6     """Reference Pin object"""
7     def __init__(self, pin_id):
8         """Identifier for pin, referencing platform-specific pin id"""
9         self._id = pin_id
10
11     def __repr__(self):
12         import board
13         for key in dir(board):
14             if getattr(board, key) is self:
15                 return "board.{}".format(key)
16         import microcontroller.pin as pin
17         for key in dir(pin):
18             if getattr(pin, key) is self:
19                 return "microcontroller.pin.{}".format(key)
20         return repr(self)
21
22 # We intentionally are patching into this namespace so skip the wildcard check.
23 # pylint: disable=unused-wildcard-import,wildcard-import
24
25 if agnostic.microcontroller == "esp8266":
26     from adafruit_blinka.microcontroller.esp8266 import *
27 elif agnostic.microcontroller == "stm32":
28     from adafruit_blinka.microcontroller.stm32 import *
29 else:
30     raise NotImplementedError("Microcontroller not supported")