cc3200/mods/pybi2c: Make readfnom_mem_into/writeto_mem return None.

This aligns the I2C class to match the standard machine.I2C API.

Note that this is a (small) breaking change to the existing cc3200 API.
The original API just returned the size of the input buffer so there's no
information lost by this change.  To update scripts users should just use
the size of the buffer passed to these functions to get the number of bytes
that are read/written.
This commit is contained in:
Damien George 2017-04-18 15:31:08 +10:00
parent daa5ba5629
commit 9d7c53734c

View File

@ -477,7 +477,7 @@ STATIC mp_obj_t pyb_i2c_readfrom_mem_into(mp_uint_t n_args, const mp_obj_t *pos_
// get the buffer to read into // get the buffer to read into
vstr_t vstr; vstr_t vstr;
pyb_i2c_readmem_into (args, &vstr); pyb_i2c_readmem_into (args, &vstr);
return mp_obj_new_int(vstr.len); return mp_const_none;
} }
STATIC MP_DEFINE_CONST_FUN_OBJ_KW(pyb_i2c_readfrom_mem_into_obj, 1, pyb_i2c_readfrom_mem_into); STATIC MP_DEFINE_CONST_FUN_OBJ_KW(pyb_i2c_readfrom_mem_into_obj, 1, pyb_i2c_readfrom_mem_into);
@ -501,8 +501,7 @@ STATIC mp_obj_t pyb_i2c_writeto_mem(mp_uint_t n_args, const mp_obj_t *pos_args,
// write the register address to write to. // write the register address to write to.
if (pyb_i2c_mem_write (i2c_addr, (byte *)&mem_addr, mem_addr_size, bufinfo.buf, bufinfo.len)) { if (pyb_i2c_mem_write (i2c_addr, (byte *)&mem_addr, mem_addr_size, bufinfo.buf, bufinfo.len)) {
// return the number of bytes written return mp_const_none;
return mp_obj_new_int(bufinfo.len);
} }
mp_raise_OSError(MP_EIO); mp_raise_OSError(MP_EIO);