Skip to content

Commit f66caa2

Browse files
authored
Merge pull request adafruit#4146 from gamblor21/busdevice_write_read_fix
Fix write_then_readinto in adafruit_bus_device I2CDevice
2 parents 1043d61 + ea4a120 commit f66caa2

File tree

1 file changed

+12
-11
lines changed

1 file changed

+12
-11
lines changed

shared-bindings/adafruit_bus_device/I2CDevice.c

Lines changed: 12 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -234,23 +234,24 @@ STATIC mp_obj_t adafruit_bus_device_i2cdevice_write_then_readinto(size_t n_args,
234234

235235
mp_obj_t dest[13];
236236
uint8_t num_kws = 2;
237+
uint8_t index = 2;
237238

238239
mp_load_method(self->i2c, MP_QSTR_writeto_then_readfrom, dest);
239-
dest[2] = MP_OBJ_NEW_SMALL_INT(self->device_address);
240-
dest[3] = args[ARG_out_buffer].u_obj;
241-
dest[4] = args[ARG_in_buffer].u_obj;
242-
dest[5] = MP_OBJ_NEW_QSTR(MP_QSTR_out_start);
243-
dest[6] = MP_OBJ_NEW_SMALL_INT(args[ARG_out_start].u_int);
240+
dest[index++] = MP_OBJ_NEW_SMALL_INT(self->device_address);
241+
dest[index++] = args[ARG_out_buffer].u_obj;
242+
dest[index++] = args[ARG_in_buffer].u_obj;
243+
dest[index++] = MP_OBJ_NEW_QSTR(MP_QSTR_out_start);
244+
dest[index++] = MP_OBJ_NEW_SMALL_INT(args[ARG_out_start].u_int);
244245
if (args[ARG_out_end].u_int != INT_MAX) {
245-
dest[7] = MP_OBJ_NEW_QSTR(MP_QSTR_out_end);
246-
dest[8] = MP_OBJ_NEW_SMALL_INT(args[ARG_out_end].u_int);
246+
dest[index++] = MP_OBJ_NEW_QSTR(MP_QSTR_out_end);
247+
dest[index++] = MP_OBJ_NEW_SMALL_INT(args[ARG_out_end].u_int);
247248
num_kws++;
248249
}
249-
dest[9] = MP_OBJ_NEW_QSTR(MP_QSTR_in_start);
250-
dest[10] = MP_OBJ_NEW_SMALL_INT(args[ARG_in_start].u_int);
250+
dest[index++] = MP_OBJ_NEW_QSTR(MP_QSTR_in_start);
251+
dest[index++] = MP_OBJ_NEW_SMALL_INT(args[ARG_in_start].u_int);
251252
if (args[ARG_in_end].u_int != INT_MAX) {
252-
dest[11] = MP_OBJ_NEW_QSTR(MP_QSTR_in_end);
253-
dest[12] = MP_OBJ_NEW_SMALL_INT(args[ARG_in_end].u_int);
253+
dest[index++] = MP_OBJ_NEW_QSTR(MP_QSTR_in_end);
254+
dest[index++] = MP_OBJ_NEW_SMALL_INT(args[ARG_in_end].u_int);
254255
num_kws++;
255256
}
256257

0 commit comments

Comments
 (0)