]> Repositories - hackapet/Adafruit_Blinka.git/blobdiff - src/adafruit_blinka/agnostic/__init__.py
Added pre-commit support
[hackapet/Adafruit_Blinka.git] / src / adafruit_blinka / agnostic / __init__.py
index 8d60cff9aa3b9b6d04e54a0474c7b2b582f8e0cb..14121d3796e7e866cf6243ff1d6a679aa15ba24f 100755 (executable)
@@ -1,31 +1,28 @@
+# SPDX-FileCopyrightText: 2021 Melissa LeBlanc-Williams for Adafruit Industries
+#
+# SPDX-License-Identifier: MIT
 """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
 """
 """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
 import sys
-gc.collect()
-
+import adafruit_platformdetect
 
 # We intentionally are patching into this namespace as module names so skip the name check.
 # pylint: disable=invalid-name
 
 # We intentionally are patching into this namespace as module names so skip the name check.
 # pylint: disable=invalid-name
-microcontroller = sys.platform
 
 
-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"
+# We'll define board and chip id values in agnostic rather than accessing
+# detector directly elsewhere, just in case additional indirection is necessary
+# at some later point:
+
+detector = adafruit_platformdetect.Detector()
+chip_id = detector.chip.id
+board_id = detector.board.id
 
 implementation = sys.implementation.name
 if implementation == "micropython":
     from utime import sleep
 
 implementation = sys.implementation.name
 if implementation == "micropython":
     from utime import sleep
-elif implementation == "circuitpython":
+elif implementation in ("circuitpython", "cpython"):
     from time import sleep
     from time import sleep
-gc.collect()