]> Repositories - Adafruit_Blinka-hackapet.git/blobdiff - src/adafruit_blinka/microcontroller/rp2040/i2c.py
Run black
[Adafruit_Blinka-hackapet.git] / src / adafruit_blinka / microcontroller / rp2040 / i2c.py
index 785769d7e0035d41a82ba29f40c07e50f697ab81..4635b3fb8d8d955d646febadde34dcd31d294837 100644 (file)
@@ -46,7 +46,7 @@ class I2C:
         out_end=None,
         in_start=0,
         in_end=None,
-        stop=False
+        stop=False,
     ):
         """Write data from buffer_out to an address and then
         read data from an address and into buffer_in
@@ -55,9 +55,8 @@ class I2C:
             self.writeto(address, buffer_out[out_start:out_end], stop=stop)
         else:
             self.writeto(address, buffer_out[out_start:], stop=stop)
-        read_buffer = buffer_in
+
+        if not in_end:
+            in_end = len(buffer_in)
+        read_buffer = memoryview(buffer_in)[in_start:in_end]
         self.readfrom_into(address, read_buffer, stop=stop)
-        if in_end:
-            buffer_in[in_start:in_end] = read_buffer[in_start:in_end]
-        else:
-            buffer_in[in_start:] = read_buffer[in_start:]