X-Git-Url: https://git.ayoreis.com/hackapet/Adafruit_Blinka.git/blobdiff_plain/a0f81f1931c83c18b0b4647c0ad1b868e02c71e8..51d92753cba10d1af82b81d641ff067378d6eb12:/src/busio.py diff --git a/src/busio.py b/src/busio.py index 69cbca0..ad96061 100755 --- a/src/busio.py +++ b/src/busio.py @@ -62,6 +62,8 @@ class I2C(Lockable): return self._i2c.writeto(address, memoryview(buffer)[start:end], stop) return self._i2c.writeto(address, buffer, stop) + def writeto_then_readfrom(self, address, buffer_out, buffer_in, out_start=0, out_end=None, in_start=0, in_end=None, stop=False): + return self._i2c.write_readinto(address, buffer_out, buffer_in, out_start, out_end, in_start, in_end, stop) class SPI(Lockable): def __init__(self, clock, MOSI=None, MISO=None): @@ -72,7 +74,9 @@ class SPI(Lockable): from machine import SPI as _SPI from microcontroller.pin import spiPorts for portId, portSck, portMosi, portMiso in spiPorts: - if clock == portSck and MOSI == portMosi and MISO == portMiso: + if ((clock == portSck) and # Clock is required! + (MOSI == portMosi or MOSI == None) and # But can do with just output + (MISO == portMiso or MISO == None)): # Or just input self._spi = _SPI(portId) self._pins = (portSck, portMosi, portMiso) break