]> 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
old mode 100644 (file)
new mode 100755 (executable)
index 85670bf..14121d3
@@ -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
 
 
-try:
-    microcontroller = sys.platform
-except:
-    microcontroller = None
+# We intentionally are patching into this namespace as module names so skip the name check.
+# pylint: disable=invalid-name
 
 
-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()