X-Git-Url: https://git.ayoreis.com/Adafruit_Blinka-hackapet.git/blobdiff_plain/f8fda4a76906791017ac9004b76837ce80699be7..refs/heads/micropython-pyi:/src/adafruit_blinka/agnostic/__init__.py diff --git a/src/adafruit_blinka/agnostic/__init__.py b/src/adafruit_blinka/agnostic/__init__.py index 8d60cff..14121d3 100755 --- a/src/adafruit_blinka/agnostic/__init__.py +++ b/src/adafruit_blinka/agnostic/__init__.py @@ -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 """ -import gc 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 -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 -elif implementation == "circuitpython": +elif implementation in ("circuitpython", "cpython"): from time import sleep -gc.collect()