X-Git-Url: https://git.ayoreis.com/Adafruit_Blinka-hackapet.git/blobdiff_plain/30d6cd0ac14df67350f14f67a5fa52eb43e59838..528442e29f61287f55e0afe2923b187d151aa8b2:/src/adafruit_blinka/microcontroller/ftdi_mpsse/mpsse/spi.py diff --git a/src/adafruit_blinka/microcontroller/ftdi_mpsse/mpsse/spi.py b/src/adafruit_blinka/microcontroller/ftdi_mpsse/mpsse/spi.py index 69fe66f..6304700 100644 --- a/src/adafruit_blinka/microcontroller/ftdi_mpsse/mpsse/spi.py +++ b/src/adafruit_blinka/microcontroller/ftdi_mpsse/mpsse/spi.py @@ -63,13 +63,15 @@ class SPI: chunk_end = chunk_start + self._spi.PAYLOAD_MAX_LENGTH self._port.write(buf[chunk_start:chunk_end]) if rest: - self._port.write(buf[-1 * rest :]) + rest_start = start + chunks * self._spi.PAYLOAD_MAX_LENGTH + self._port.write(buf[rest_start:end]) # pylint: disable=unused-argument def readinto(self, buf, start=0, end=None, write_value=0): """Read data from SPI and into the buffer""" end = end if end else len(buf) - result = self._port.read(end - start) + buffer_out = [write_value] * (end - start) + result = self._port.exchange(buffer_out, end - start, duplex=True) for i, b in enumerate(result): buf[start + i] = b