From b70fd42adf2b81c7f8b176decc0bec4fb93abfe9 Mon Sep 17 00:00:00 2001 From: Cefn Hoile Date: Sun, 25 Feb 2018 00:14:06 +0000 Subject: [PATCH] Refactoring Pin, pin etc. --- src/microcontroller/__init__.py | 26 ++++++++++++++++++++++++++ src/microcontroller/pin.py | 8 ++++++++ 2 files changed, 34 insertions(+) create mode 100644 src/microcontroller/__init__.py create mode 100644 src/microcontroller/pin.py diff --git a/src/microcontroller/__init__.py b/src/microcontroller/__init__.py new file mode 100644 index 0000000..c1b0027 --- /dev/null +++ b/src/microcontroller/__init__.py @@ -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 index 0000000..2b6199b --- /dev/null +++ b/src/microcontroller/pin.py @@ -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 -- 2.49.0