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()
-
# We intentionally are patching into this namespace as module names so skip the name check.
# pylint: disable=invalid-name
-microcontroller = sys.platform
+platform = sys.platform
+
+board_id = None
-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"
+if platform is not None:
+ if platform == "esp8266": # TODO more conservative board-guessing
+ board_id = "feather_huzzah"
+ elif platform == "samd21":
+ board_id = "feather_m0_express"
+ elif platform == "pyboard":
+ platform = "stm32"
+ board_id = "pyboard"
+ elif platform == "linux":
+ from Adafruit_GPIO import Platform
+ if Platform.platform_detect() == Platform.RASPBERRY_PI:
+ if Platform.pi_version() == 1:
+ board_id = "raspi_1"
+ elif Platform.pi_version() == 2:
+ board_id = "raspi_2"
+ elif Platform.pi_version() == 3:
+ board_id = "raspi_3"
+ elif Platform.platform_detect() == Platform.BEAGLEBONE_BLACK:
+ board_id = "beaglebone_black"
implementation = sys.implementation.name
if implementation == "micropython":
from utime import sleep
-elif implementation == "circuitpython":
+elif implementation == "circuitpython" or implementation == "cpython":
from time import sleep
-gc.collect()