abschlussarbeit/lib/python3.11/site-packages/adafruit_blinka/agnostic/__init__.py

28 lines
1.1 KiB
Python

# 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 sys
import adafruit_platformdetect
# We intentionally are patching into this namespace as module names so skip the name check.
# pylint: disable=invalid-name
# 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 in ("circuitpython", "cpython"):
from time import sleep