"""
import sys
-from adafruit_blinka.agnostic import board_id
+from adafruit_blinka.agnostic import board_id, detector
+import adafruit_platformdetect.board as ap_board
-if board_id == "feather_huzzah":
+# pylint: disable=wildcard-import,unused-wildcard-import,ungrouped-imports
+
+if board_id == ap_board.FEATHER_HUZZAH:
from adafruit_blinka.board.feather_huzzah import *
-elif board_id == "nodemcu":
+
+elif board_id == ap_board.NODEMCU:
from adafruit_blinka.board.nodemcu import *
-elif board_id == "pyboard":
+
+elif board_id == ap_board.PYBOARD:
from adafruit_blinka.board.pyboard import *
-elif board_id == "raspi_2" or board_id == "raspi_3":
- from adafruit_blinka.board.raspi_23 import *
+
+elif detector.board.any_raspberry_pi_40_pin:
+ from adafruit_blinka.board.raspi_40pin import *
+
+elif detector.board.RASPBERRY_PI_B_REV1:
+ from adafruit_blinka.board.raspi_1b_rev1 import *
+
+elif detector.board.RASPBERRY_PI_B_REV2:
+ from adafruit_blinka.board.raspi_1b_rev2 import *
+
+elif board_id == ap_board.BEAGLEBONE_BLACK:
+ from adafruit_blinka.board.beaglebone_black import *
+
+elif board_id == ap_board.ORANGE_PI_PC:
+ from adafruit_blinka.board.orangepipc import *
+
+elif board_id == ap_board.GIANT_BOARD:
+ from adafruit_blinka.board.giantboard import *
+
+elif board_id == ap_board.JETSON_TX1:
+ from adafruit_blinka.board.jetson_tx1 import *
+
+elif board_id == ap_board.JETSON_TX2:
+ from adafruit_blinka.board.jetson_tx2 import *
+
+elif board_id == ap_board.JETSON_XAVIER:
+ from adafruit_blinka.board.jetson_xavier import *
+
+elif board_id == ap_board.JETSON_TXX:
+ from adafruit_blinka.board.jetson_txx import *
+
elif "sphinx" in sys.modules:
pass
+
else:
raise NotImplementedError("Board not supported")
+
+def I2C():
+ """The singleton I2C interface"""
+ import busio
+ return busio.I2C(SCL, SDA)
+
+def SPI():
+ """The singleton SPI interface"""
+ import busio
+ return busio.SPI(SCLK, MOSI, MISO)