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
-platform = sys.platform
-board_id = None
-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"
+detect = adafruit_platformdetect.PlatformDetect()
+
+board_name = detect.board.name()
+chip_name = detect.chip.name()
implementation = sys.implementation.name
if implementation == "micropython":