X-Git-Url: https://git.ayoreis.com/hackapet/Adafruit_Blinka.git/blobdiff_plain/38566e3a72507341517804c374e71e3bd4c82934..a8ed516cc3b6c4cdd7a346f897aa1a520071a239:/src/adafruit_blinka/agnostic/__init__.py diff --git a/src/adafruit_blinka/agnostic/__init__.py b/src/adafruit_blinka/agnostic/__init__.py new file mode 100644 index 0000000..85670bf --- /dev/null +++ b/src/adafruit_blinka/agnostic/__init__.py @@ -0,0 +1,31 @@ +"""Allows useful indirection to test Pin naming logic by switching platform in testing + or provide bootstrapping logic for board identification where auto-detection is not + feasible (e.g. multiple ESP8266 boards architecturally identical). Once runtime + environment is established, can choose various routes to make available and re-export + common modules and operations, depending on platform support +""" +import gc +import sys +gc.collect() + +try: + microcontroller = sys.platform +except: + microcontroller = None + +board = None +if microcontroller is not None: + if microcontroller == "esp8266": # TODO more conservative board-guessing + board = "feather_huzzah" + elif microcontroller == "samd21": + board = "feather_m0_express" + elif microcontroller == "pyboard": + microcontroller = "stm32" + board = "pyboard" + +implementation = sys.implementation.name +if implementation == "micropython": + from utime import sleep +elif implementation == "circuitpython": + from time import sleep +gc.collect()