X-Git-Url: https://git.ayoreis.com/Adafruit_Blinka-hackapet.git/blobdiff_plain/b459cd119e44fcb9df868d9fa4eb77fb64d0e307..770e016ef7fae438ecfb5317bee7b48fcdaed514:/src/adafruit_blinka/microcontroller/generic_linux/spi.py diff --git a/src/adafruit_blinka/microcontroller/generic_linux/spi.py b/src/adafruit_blinka/microcontroller/generic_linux/spi.py index a8141b9..f2ffa82 100755 --- a/src/adafruit_blinka/microcontroller/generic_linux/spi.py +++ b/src/adafruit_blinka/microcontroller/generic_linux/spi.py @@ -1,5 +1,6 @@ import spidev import time +from adafruit_blinka.agnostic import detector class SPI: MSB = 0 @@ -29,6 +30,15 @@ class SPI: self.baudrate = baudrate self.mode = mode self.bits = bits + self.chip = detector.chip + + def set_no_cs(self): + # No kernel seems to support this, so we're just going to pass + pass + + @property + def frequency(self): + return self.baudrate def write(self, buf, start=0, end=None): if not buf: @@ -37,14 +47,11 @@ class SPI: end = len(buf) try: self._spi.open(self._port, 0) - try: - self._spi.no_cs = True # this doesn't work but try anyways - except AttributeError: - pass + self.set_no_cs() self._spi.max_speed_hz = self.baudrate self._spi.mode = self.mode self._spi.bits_per_word = self.bits - self._spi.writebytes([x for x in buf[start:end]]) + self._spi.writebytes2(buf[start:end]) self._spi.close() except FileNotFoundError as not_found: print("Could not open SPI device - check if SPI is enabled in kernel!") @@ -57,10 +64,7 @@ class SPI: end = len(buf) try: self._spi.open(self._port, 0) - try: - self._spi.no_cs = True # this doesn't work but try anyways - except AttributeError: - pass + self.set_no_cs() self._spi.max_speed_hz = self.baudrate self._spi.mode = self.mode self._spi.bits_per_word = self.bits @@ -84,10 +88,7 @@ class SPI: raise RuntimeError('Buffer slices must be of equal length.') try: self._spi.open(self._port, 0) - try: - self._spi.no_cs = True # this doesn't work but try anyways - except AttributeError: - pass + self.set_no_cs() self._spi.max_speed_hz = self.baudrate self._spi.mode = self.mode self._spi.bits_per_word = self.bits