]> Repositories - Adafruit_Blinka-hackapet.git/commitdiff
begin i2c
authorladyada <limor@ladyada.net>
Mon, 18 Jun 2018 03:28:23 +0000 (23:28 -0400)
committerScott Shawcroft <scott@tannewt.org>
Wed, 27 Jun 2018 19:58:36 +0000 (12:58 -0700)
src/adafruit_blinka/microcontroller/raspi_23/i2c.py [new file with mode: 0644]
src/busio.py
src/microcontroller/__init__.py

diff --git a/src/adafruit_blinka/microcontroller/raspi_23/i2c.py b/src/adafruit_blinka/microcontroller/raspi_23/i2c.py
new file mode 100644 (file)
index 0000000..5273fdd
--- /dev/null
@@ -0,0 +1,9 @@
+import smbus
+import time
+
+
+class I2C:
+
+    _i2c_bus = None
+    def __init__(self, bus_num=0):
+        i2c_bus = smbus.SMBus(bus_num)
index 6c5e76f2cab5bb2352bae07d20ea848a0dbdd302..6c86c1b72566d8c17feb00178b083eec5e609a28 100755 (executable)
@@ -8,6 +8,7 @@ See `CircuitPython:busio` in CircuitPython for more details.
 """
 
 from adafruit_blinka import Enum, Lockable, agnostic
+from adafruit_blinka.agnostic import board as boardId
 
 class I2C(Lockable):
     def __init__(self, scl, sda, frequency=400000):
@@ -15,7 +16,10 @@ class I2C(Lockable):
 
     def init(self, scl, sda, frequency):
         self.deinit()
-        from machine import I2C as _I2C
+        if boardId == "raspi_3" or boardId == "raspi_2":
+            from adafruit_blinka.microcontroller.raspi_23.i2c import I2C as _I2C
+        else:
+            from machine import I2C as _I2C
         from microcontroller.pin import i2cPorts
         for portId, portScl, portSda in i2cPorts:
             if scl == portScl and sda == portSda:
index 5957a91c2cbec799d540784411b904973c8f7b38..62a2baf03b65601b08426f08b40e92ab41a840c3 100755 (executable)
@@ -26,5 +26,7 @@ if agnostic.microcontroller == "esp8266":
     from adafruit_blinka.microcontroller.esp8266 import *
 elif agnostic.microcontroller == "stm32":
     from adafruit_blinka.microcontroller.stm32 import *
+elif agnostic.microcontroller == "raspi_3":
+    from adafruit_blinka.microcontroller.raspi_23 import *
 else:
-    raise NotImplementedError("Microcontroller not supported")
+    raise NotImplementedError("Microcontroller not supported: ", agnostic.microcontroller)