From: George Brown Date: Mon, 25 Feb 2019 19:14:50 +0000 (+0000) Subject: Ensure that the write_value passed into readinto is actually used, at least in busio. X-Git-Tag: 1.2.4^2 X-Git-Url: https://git.ayoreis.com/Adafruit_Blinka-hackapet.git/commitdiff_plain/58519a70ceb66e8cf096e05c6aaa89273c23c0c6 Ensure that the write_value passed into readinto is actually used, at least in busio. --- diff --git a/src/adafruit_blinka/microcontroller/generic_linux/spi.py b/src/adafruit_blinka/microcontroller/generic_linux/spi.py index b905873..a8141b9 100755 --- a/src/adafruit_blinka/microcontroller/generic_linux/spi.py +++ b/src/adafruit_blinka/microcontroller/generic_linux/spi.py @@ -50,7 +50,7 @@ class SPI: print("Could not open SPI device - check if SPI is enabled in kernel!") raise - def readinto(self, buf, start=0, end=None): + def readinto(self, buf, start=0, end=None, write_value=0): if not buf: return if end is None: @@ -64,7 +64,7 @@ class SPI: self._spi.max_speed_hz = self.baudrate self._spi.mode = self.mode self._spi.bits_per_word = self.bits - data = self._spi.readbytes(end-start) + data = self._spi.xfer([write_value]*(end-start)) for i in range(end-start): # 'readinto' the given buffer buf[start+i] = data[i] self._spi.close() @@ -77,7 +77,7 @@ class SPI: if not buffer_out or not buffer_in: return if out_end is None: - out_end = len(buffer_out) + out_end = len(buffer_out) if in_end is None: in_end = len(buffer_in) if out_end - out_start != in_end - in_start: diff --git a/src/busio.py b/src/busio.py index 45e36e4..8810fc4 100755 --- a/src/busio.py +++ b/src/busio.py @@ -129,7 +129,7 @@ class SPI(Lockable): return self._spi.write(buf, start, end) def readinto(self, buf, start=0, end=None, write_value=0): - return self._spi.readinto(buf, start, end) + return self._spi.readinto(buf, start, end, write_value=write_value) def write_readinto(self, buffer_out, buffer_in, out_start=0, out_end=None, in_start=0, in_end=None): return self._spi.write_readinto(buffer_out, buffer_in, out_start, out_end, in_start, in_end)