From: Melissa LeBlanc-Williams Date: Fri, 17 Apr 2020 23:49:42 +0000 (-0700) Subject: Clean up a bit X-Git-Tag: 4.5.0~1^2 X-Git-Url: https://git.ayoreis.com/Adafruit_Blinka-hackapet.git/commitdiff_plain/9e3e74b111434984039866a418a62e40254a1df0 Clean up a bit --- diff --git a/src/adafruit_blinka/microcontroller/mips24kec/spi.py b/src/adafruit_blinka/microcontroller/mips24kec/spi.py deleted file mode 100755 index 4c802ea..0000000 --- a/src/adafruit_blinka/microcontroller/mips24kec/spi.py +++ /dev/null @@ -1,106 +0,0 @@ -import spidev -import time -from adafruit_blinka.agnostic import detector - -class SPI: - MSB = 0 - LSB = 1 - CPHA = 1 - CPOL = 2 - - baudrate = 100000 - mode = 0 - bits = 8 - - def __init__(self, portid): - if isinstance(portid, tuple): - self._bus_id = portid[0] - self._device_id = portid[1] - else: - self._bus_id = portid - self._device_id = 0 - self._spi = spidev.SpiDev() - - def init(self, baudrate=100000, polarity=0, phase=0, bits=8, - firstbit=MSB, sck=None, mosi=None, miso=None): - mode = 0 - if polarity: - mode |= self.CPOL - if phase: - mode |= self.CPHA - - self.clock_pin = sck - self.mosi_pin = mosi - self.miso_pin = miso - 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: - return - if end is None: - end = len(buf) - try: - self._spi.open(self._bus_id, self._device_id) - 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(buf[start:end]) - self._spi.close() - except FileNotFoundError as not_found: - print("Could not open SPI device - check if SPI is enabled in kernel!") - raise - - def readinto(self, buf, start=0, end=None, write_value=0): - if not buf: - return - if end is None: - end = len(buf) - try: - self._spi.open(self._bus_id, self._device_id) - self.set_no_cs() - self._spi.max_speed_hz = self.baudrate - self._spi.mode = self.mode - self._spi.bits_per_word = self.bits - data = self._spi.xfer3([write_value],(end-start)) - for i in range(end-start): # 'readinto' the given buffer - buf[start+i] = data[i] - self._spi.close() - except FileNotFoundError as not_found: - print("Could not open SPI device - check if SPI is enabled in kernel!") - raise - - def write_readinto(self, buffer_out, buffer_in, out_start=0, - out_end=None, in_start=0, in_end=None): - if not buffer_out or not buffer_in: - return - if out_end is None: - out_end = len(buffer_out) - if in_end is None: - in_end = len(buffer_in) - if out_end - out_start != in_end - in_start: - raise RuntimeError('Buffer slices must be of equal length.') - try: - self._spi.open(self._bus_id, self._device_id) - self.set_no_cs() - self._spi.max_speed_hz = self.baudrate - self._spi.mode = self.mode - self._spi.bits_per_word = self.bits - data = self._spi.xfer(list(buffer_out[out_start:out_end+1])) - for i in range((in_end - in_start)): - buffer_in[i+in_start] = data[i] - self._spi.close() - except FileNotFoundError as not_found: - print("Could not open SPI device - check if SPI is enabled in kernel!") - raise diff --git a/src/adafruit_blinka/microcontroller/mips24kec/spi2.py b/src/adafruit_blinka/microcontroller/mips24kec/spi2.py deleted file mode 100755 index 1ad3c9b..0000000 --- a/src/adafruit_blinka/microcontroller/mips24kec/spi2.py +++ /dev/null @@ -1,93 +0,0 @@ -from periphery import SPI -import time -from adafruit_blinka.agnostic import detector - -class SPI: - MSB = 0 - LSB = 1 - CPHA = 1 - CPOL = 2 - - baudrate = 100000 - mode = 0 - bits = 8 - - def __init__(self, portid): - if isinstance(portid, tuple): - self._bus_id = portid[0] - self._device_id = portid[1] - else: - self._bus_id = portid - self._device_id = 0 - - def init(self, baudrate=100000, polarity=0, phase=0, bits=8, - firstbit=MSB, sck=None, mosi=None, miso=None): - mode = 0 - if polarity: - mode |= self.CPOL - if phase: - mode |= self.CPHA - - self.clock_pin = sck - self.mosi_pin = mosi - self.miso_pin = miso - 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: - return - if end is None: - end = len(buf) - try: - self._spi = SPI("/dev/spidev{}.{}".format(self._bus_id, self._device_id), self.mode, self.baudrate, bits_per_word=self.bits) - data_in = spi.transfer(buf[start:end]) - self._spi.close() - except FileNotFoundError as not_found: - print("Could not open SPI device - check if SPI is enabled in kernel!") - raise - - def readinto(self, buf, start=0, end=None, write_value=0): - if not buf: - return - if end is None: - end = len(buf) - try: - self._spi = SPI("/dev/spidev{}.{}".format(self._bus_id, self._device_id), self.mode, self.baudrate, bits_per_word=self.bits) - data = spi.transfer([write_value]*(end-start)) - for i in range(end-start): # 'readinto' the given buffer - buf[start+i] = data[i] - self._spi.close() - except FileNotFoundError as not_found: - print("Could not open SPI device - check if SPI is enabled in kernel!") - raise - - def write_readinto(self, buffer_out, buffer_in, out_start=0, - out_end=None, in_start=0, in_end=None): - if not buffer_out or not buffer_in: - return - if out_end is None: - out_end = len(buffer_out) - if in_end is None: - in_end = len(buffer_in) - if out_end - out_start != in_end - in_start: - raise RuntimeError('Buffer slices must be of equal length.') - try: - self._spi = SPI("/dev/spidev{}.{}".format(self._bus_id, self._device_id), self.mode, self.baudrate, bits_per_word=self.bits) - data = spi.transfer(list(buffer_out[out_start:out_end+1])) - for i in range((in_end - in_start)): - buffer_in[i+in_start] = data[i] - self._spi.close() - except FileNotFoundError as not_found: - print("Could not open SPI device - check if SPI is enabled in kernel!") - raise diff --git a/src/busio.py b/src/busio.py index 43045d0..9828143 100755 --- a/src/busio.py +++ b/src/busio.py @@ -180,7 +180,7 @@ class SPI(Lockable): from adafruit_blinka.microcontroller.generic_linux.spi import SPI as _SPI elif board_id == ap_board.ONION_OMEGA2: from adafruit_blinka.microcontroller.mips24kec.pin import Pin - from adafruit_blinka.microcontroller.mips24kec.spi import SPI as _SPI + from adafruit_blinka.microcontroller.generic_linux.spi import SPI as _SPI else: from machine import SPI as _SPI from machine import Pin