X-Git-Url: https://git.ayoreis.com/hackapet/Adafruit_Blinka.git/blobdiff_plain/ff252342973b085c40ee7e64667a1cd70768fd55..445f46b9957e950cc438f966294e30d2a1ee790d:/python/bitbangio/__init__.py diff --git a/python/bitbangio/__init__.py b/python/bitbangio/__init__.py index 3634f44..31350bf 100644 --- a/python/bitbangio/__init__.py +++ b/python/bitbangio/__init__.py @@ -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): + 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._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: @@ -42,9 +44,10 @@ class I2C: 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)