X-Git-Url: https://git.ayoreis.com/Adafruit_Blinka-hackapet.git/blobdiff_plain/98f4a4378478d11e514acd7ff22a9c674f3cbca3..f8a13c038c45aa5e88ccbc64bf359b77ed938c01:/src/adafruit_blinka/microcontroller/nxp_lpc4330/spi.py diff --git a/src/adafruit_blinka/microcontroller/nxp_lpc4330/spi.py b/src/adafruit_blinka/microcontroller/nxp_lpc4330/spi.py index 37cc6c4..17859a4 100644 --- a/src/adafruit_blinka/microcontroller/nxp_lpc4330/spi.py +++ b/src/adafruit_blinka/microcontroller/nxp_lpc4330/spi.py @@ -1,6 +1,7 @@ """SPI Class for NXP LPC4330""" from greatfet import GreatFET + class SPI: """Custom I2C Class for NXP LPC4330""" @@ -10,6 +11,8 @@ class SPI: self._gf = GreatFET() self._frequency = None self.buffer_size = 255 + self._mode = 0 + self._spi = None self._presets = { 204000: (100, 9), 408000: (100, 4), @@ -25,9 +28,9 @@ class SPI: 34000000: (2, 2), 51000000: (2, 1), 102000000: (2, 0), - } - - # pylint: disable=too-many-arguments + } + + # pylint: disable=too-many-arguments,unused-argument def init( self, baudrate=100000, @@ -44,7 +47,7 @@ class SPI: polarity = int(polarity) phase = int(phase) self._mode = (polarity << 1) | phase - + # Using API due to possible interface change self._spi = self._gf.apis.spi # Check baudrate against presets and adjust to the closest one @@ -57,6 +60,7 @@ class SPI: # Set the polarity and phase (the "SPI mode"). self._spi.set_clock_polarity_and_phase(self._mode) + # pylint: enable=too-many-arguments def _find_closest_preset(self, target_frequency): @@ -67,7 +71,9 @@ class SPI: closest_preset = None for frequency in self._presets: preset = self._presets[frequency] - if self._frequency is None or abs(frequency - target_frequency) < abs(self._frequency - target_frequency): + if self._frequency is None or abs(frequency - target_frequency) < abs( + self._frequency - target_frequency + ): self._frequency = frequency closest_preset = preset @@ -104,8 +110,6 @@ class SPI: in_end = in_end if in_end else len(buffer_in) result = self._transmit(buffer_out[out_start:out_end], in_end - in_start) - for i, b in enumerate(result): - buf[start + i] = b for i, b in enumerate(result): buffer_in[in_start + i] = b @@ -126,8 +130,8 @@ class SPI: # Transmit our data in chunks of the buffer size. while data_to_transmit: # Extract a single data chunk from the transmit buffer. - chunk = data_to_transmit[0:self.buffer_size] - del data_to_transmit[0:self.buffer_size] + chunk = data_to_transmit[0 : self.buffer_size] + del data_to_transmit[0 : self.buffer_size] # Finally, exchange the data. response = self._spi.clock_data(len(chunk), bytes(chunk))