X-Git-Url: https://git.ayoreis.com/Adafruit_Blinka-hackapet.git/blobdiff_plain/ecba441c03a58ce97b3c1c769cb9c76675abbf7f..a902c58e079de67dba3bb3ead2cad5c6f783894c:/src/adafruit_blinka/microcontroller/ft232h/i2c.py?ds=inline diff --git a/src/adafruit_blinka/microcontroller/ft232h/i2c.py b/src/adafruit_blinka/microcontroller/ft232h/i2c.py index 45b8921..16f9598 100644 --- a/src/adafruit_blinka/microcontroller/ft232h/i2c.py +++ b/src/adafruit_blinka/microcontroller/ft232h/i2c.py @@ -2,13 +2,16 @@ from adafruit_blinka.microcontroller.ft232h.pin import Pin class I2C: - def __init__(self): + def __init__(self, *, frequency=400000): # change GPIO controller to I2C from pyftdi.i2c import I2cController self._i2c = I2cController() - self._i2c.configure('ftdi:///1') + self._i2c.configure('ftdi://ftdi:ft232h/1', frequency=frequency) Pin.ft232h_gpio = self._i2c.get_gpio() + def scan(self): + return [addr for addr in range(0x79) if self._i2c.poll(addr)] + def writeto(self, address, buffer, *, start=0, end=None, stop=True): end = end if end else len(buffer) port = self._i2c.get_port(address) @@ -29,6 +32,6 @@ class I2C: port = self._i2c.get_port(address) result = port.exchange(buffer_out[out_start:out_end], in_end-in_start, - relax=True).tobytes() + relax=True) for i, b in enumerate(result): buffer_in[in_start+i] = b