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