]> Repositories - Adafruit_Blinka-hackapet.git/commitdiff
Refactoring Pin, pin etc.
authorCefn Hoile <github.com@cefn.com>
Sun, 25 Feb 2018 00:14:06 +0000 (00:14 +0000)
committerCefn Hoile <github.com@cefn.com>
Sun, 25 Feb 2018 00:14:06 +0000 (00:14 +0000)
src/microcontroller/__init__.py [new file with mode: 0644]
src/microcontroller/pin.py [new file with mode: 0644]

diff --git a/src/microcontroller/__init__.py b/src/microcontroller/__init__.py
new file mode 100644 (file)
index 0000000..c1b0027
--- /dev/null
@@ -0,0 +1,26 @@
+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
diff --git a/src/microcontroller/pin.py b/src/microcontroller/pin.py
new file mode 100644 (file)
index 0000000..2b6199b
--- /dev/null
@@ -0,0 +1,8 @@
+from adafruit_blinka import agnostic
+
+if agnostic.microcontroller == "esp8266":
+    from adafruit_blinka.microcontroller.esp8266.pin import *
+elif agnostic.microcontroller == "stm32":
+    from adafruit_blinka.microcontroller.stm32.pin import *
+else:
+    raise NotImplementedError("Microcontroller not supported")
\ No newline at end of file