]> Repositories - Adafruit_Blinka-hackapet.git/commitdiff
When reading from I2C, read into buffer_in from in_start
authorJames Carr <lesamouraipourpre@gmail.com>
Fri, 4 Jun 2021 17:55:06 +0000 (18:55 +0100)
committerJames Carr <lesamouraipourpre@gmail.com>
Fri, 4 Jun 2021 17:55:06 +0000 (18:55 +0100)
src/adafruit_blinka/microcontroller/rp2040/i2c.py

index 785769d7e0035d41a82ba29f40c07e50f697ab81..2a6c6a0dd277057aa68395bef5f1a34f5be293c9 100644 (file)
@@ -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:]