]> Repositories - Adafruit_Blinka-hackapet.git/blobdiff - src/board.py
updated error message for board.py where board_id is None, providing a message that...
[Adafruit_Blinka-hackapet.git] / src / board.py
index cb8c6c891d6257ccb8d30a939054579766ff27d3..92ed6b92c525efb0735af985580dfd871cfcacc7 100755 (executable)
@@ -31,9 +31,9 @@ import sys
 
 import adafruit_platformdetect.constants.boards as ap_board
 from adafruit_blinka.agnostic import board_id, detector
-import busio
 
 # pylint: disable=wildcard-import,unused-wildcard-import,ungrouped-imports
+# pylint: disable=import-outside-toplevel
 
 if board_id == ap_board.FEATHER_HUZZAH:
     from adafruit_blinka.board.feather_huzzah import *
@@ -44,6 +44,9 @@ elif board_id == ap_board.NODEMCU:
 elif board_id == ap_board.PYBOARD:
     from adafruit_blinka.board.pyboard import *
 
+elif board_id == ap_board.RASPBERRY_PI_PICO:
+    from adafruit_blinka.board.raspberrypi.pico import *
+
 elif detector.board.any_raspberry_pi_40_pin:
     from adafruit_blinka.board.raspberrypi.raspi_40pin import *
 
@@ -197,6 +200,9 @@ elif board_id == ap_board.ROCK_PI_S:
 elif board_id == ap_board.ROCK_PI_4:
     from adafruit_blinka.board.radxa.rockpi4 import *
 
+elif board_id == ap_board.ROCK_PI_E:
+    from adafruit_blinka.board.radxa.rockpie import *
+
 elif board_id == ap_board.UDOO_X86:
     from adafruit_blinka.board.udoo_x86ultra import *
 
@@ -221,18 +227,30 @@ elif board_id == ap_board.PICO_U2IF:
 elif "sphinx" in sys.modules:
     pass
 
+elif board_id is None:
+    import platform
+    import pkg_resources
+    package = str(pkg_resources.get_distribution('adafruit_platformdetect')).split()
+    raise NotImplementedError("We could not identify what IoT microcomputer running "
+                              "{0} your Adafruit is attached to, please update the package {1} "
+                              "verison {2} to a newer verison by running: 'pip3 install --upgrade adafruit-blinka adafruit-platformdetect' "
+                              "".format(platform.system(),package[0],package[1]))
 else:
     raise NotImplementedError("Board not supported {}".format(board_id))
 
-if SDA and SCL:
+if "SCL" in locals() and "SDA" in locals():
 
     def I2C():
         """The singleton I2C interface"""
+        import busio
+
         return busio.I2C(SCL, SDA)
 
 
-if SCLK:
+if "SCLK" in locals() and "MOSI" in locals() and "MISO" in locals():
 
     def SPI():
         """The singleton SPI interface"""
+        import busio
+
         return busio.SPI(SCLK, MOSI, MISO)