]> Repositories - Adafruit_Blinka-hackapet.git/commitdiff
Workaround for (bug in?) Micropython import logic. Frequency a keyword not positional...
authorCefn Hoile <github.com@cefn.com>
Tue, 20 Feb 2018 17:57:16 +0000 (17:57 +0000)
committerCefn Hoile <github.com@cefn.com>
Tue, 20 Feb 2018 17:57:16 +0000 (17:57 +0000)
python/bitbangio/__init__.py

index 3634f44bf250efd82d42ee42e09f78f1ae344c5c..31350bfb6905a754c4211c1b2255d67f16eb0dfd 100644 (file)
@@ -1,13 +1,15 @@
-from machine import Pin, I2C as _I2C
+from machine import I2C as _I2C
+from machine import Pin
 
 class I2C:
     def __init__(self, scl, sda, frequency=400000):
 
 class I2C:
     def __init__(self, scl, sda, frequency=400000):
+        self._locked = False
         self.init(scl, sda, frequency)
 
     def init(self, scl, sda, frequency):
         self.deinit()
         id = -1 # force bitbanging implementation - in future introspect platform if SDA/SCL matches hardware I2C
         self.init(scl, sda, frequency)
 
     def init(self, scl, sda, frequency):
         self.deinit()
         id = -1 # force bitbanging implementation - in future introspect platform if SDA/SCL matches hardware I2C
-        self._i2c = _I2C(id, Pin(scl.id), Pin(sda.id), frequency)
+        self._i2c = _I2C(id, Pin(scl.id), Pin(sda.id), freq=frequency)
 
     def deinit(self):
         try:
 
     def deinit(self):
         try:
@@ -42,9 +44,10 @@ class I2C:
             if end is None:
                 end = len(buffer)
             buffer = memoryview(buffer)[start:end]
             if end is None:
                 end = len(buffer)
             buffer = memoryview(buffer)[start:end]
-        return self._i2c.readfrom_into(address, buffer, stop=False)
+        stop = True # remove for efficiency later
+        return self._i2c.readfrom_into(address, buffer, stop)
 
 
-    def writeto(self, address, buffer, start=0, end=None, stop=True):
+    def writeto(self, address, buffer, start=0, end=None, stop=True, *a, **k):
         if start is not 0 or end is not None:
             if end is None:
                 end = len(buffer)
         if start is not 0 or end is not None:
             if end is None:
                 end = len(buffer)