+from adafruit_blinka import Enum, agnostic
+
+
+class Pin(Enum):
+ def __init__(self, id):
+ """Identifier for pin, referencing platform-specific pin id"""
+ self.id = id
+
+ def __repr__(self):
+ import board
+ for key in dir(board):
+ if getattr(board, key) is self:
+ return "board.{}".format(key)
+ import microcontroller.pin as pin
+ for key in dir(pin):
+ if getattr(pin, key) is self:
+ return "microcontroller.pin.{}".format(key)
+ return repr(self)
+
+
+if agnostic.microcontroller == "esp8266":
+ from adafruit_blinka.microcontroller.esp8266 import *
+elif agnostic.microcontroller == "stm32":
+ from adafruit_blinka.microcontroller.stm32 import *
+else:
+ raise NotImplementedError("Microcontroller not supported")
\ No newline at end of file