]> Repositories - hackapet/Adafruit_Blinka.git/blobdiff - src/adafruit_blinka/agnostic/__init__.py
orange pi GPIO led blinky
[hackapet/Adafruit_Blinka.git] / src / adafruit_blinka / agnostic / __init__.py
index 8d60cff9aa3b9b6d04e54a0474c7b2b582f8e0cb..1d93e6c9bdfe7f604784afc29fc30566c5c8c701 100755 (executable)
@@ -4,28 +4,47 @@
     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":
+        import re
+        # we're going to redo the Platform detection, this is a terrible hack
+        # for now.
+        try:
+            # lets see if we're an armbian board
+            for line in open("/etc/armbian-release", 'r'):
+                #print(line)
+                m = re.search('BOARD=(.*)', line)
+                if m:
+                    board_id = m.group(1)
+        except:
+            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()