> I'm currently writing a driver for a cheap usb-to-i2c master device, which > unfortunately can only write 31 bytes (+slave addr) and read 32 bytes. Which one? > What is the correct behavior if a user requests larger read/writes? > Simply set i2c_msg.len to the bytes transmitted? No! > Or should the master try to split up the requests? If you have control over sending start/stop bits, you could omit the stop condition unless you transfered all of the 32 byte chunks and issue the stop at the end. If you can't, don't advertise I2C_FUNC_I2C, but SMBUS functions (without the block functions again). That will work for most devices. Hope that helps, Wolfram
Attachment:
signature.asc
Description: Digital signature