]> Repositories - hackapet/Adafruit_Blinka.git/blobdiff - src/busio.py
Blinka will work with i2c-3 enabled with no code changes!
[hackapet/Adafruit_Blinka.git] / src / busio.py
index 73c88ef6d57c0f6708f778f2bd8ae281c6d73549..aa9b2e12cae1e8c0c3119e71d6ab9f25691e7aab 100755 (executable)
@@ -28,12 +28,17 @@ class I2C(Lockable):
         else:
             from machine import I2C as _I2C
         from microcontroller.pin import i2cPorts
+        busnum = None
         for portId, portScl, portSda in i2cPorts:
-            if scl == portScl and sda == portSda:
-                self._i2c = _I2C(portId, mode=_I2C.MASTER, baudrate=frequency)
-                break
+            try:
+                if scl == portScl and sda == portSda:
+                    self._i2c = _I2C(portId, mode=_I2C.MASTER, baudrate=frequency)
+                    busnum = portId
+                    break
+            except RuntimeError:
+                pass
         else:
-            raise NotImplementedError(
+            raise ValueError(
                 "No Hardware I2C on (scl,sda)={}\nValid I2C ports: {}".format((scl, sda), i2cPorts)
             )
 
@@ -101,7 +106,7 @@ class SPI(Lockable):
                 self._pins = (portSck, portMosi, portMiso)
                 break
         else:
-            raise NotImplementedError(
+            raise ValueError(
                 "No Hardware SPI on (SCLK, MOSI, MISO)={}\nValid SPI ports:{}".
                 format((clock, MOSI, MISO), spiPorts))
 
@@ -236,7 +241,7 @@ class UART(Lockable):
                 )
                 break
         else:
-            raise NotImplementedError(
+            raise ValueError(
                 "No Hardware UART on (tx,rx)={}\nValid UART ports: {}".format((tx, rx), uartPorts)
             )