1 """Allows useful indirection to test Pin naming logic by switching platform in testing
2 or provide bootstrapping logic for board identification where auto-detection is not
3 feasible (e.g. multiple ESP8266 boards architecturally identical). Once runtime
4 environment is established, can choose various routes to make available and re-export
5 common modules and operations, depending on platform support
12 microcontroller = sys.platform
14 microcontroller = None
17 if microcontroller is not None:
18 if microcontroller == "esp8266": # TODO more conservative board-guessing
19 board = "feather_huzzah"
20 elif microcontroller == "samd21":
21 board = "feather_m0_express"
22 elif microcontroller == "pyboard":
23 microcontroller = "stm32"
26 implementation = sys.implementation.name
27 if implementation == "micropython":
28 from utime import sleep
29 elif implementation == "circuitpython":
30 from time import sleep