I'm implementing an I2C "backpack" for use with CD74HC4067, which is a 16 channel analog mux/demux chip. I knew I would be pushing the limit for i2cRxData, because any program that wants to use all 16 pins will need to request 32 bytes (16 x [lsb, msb]). This currently won't work because the first two bytes of i2cRxData are used for the address and register. Of course, changing it to 34 makes it work, but this made me wonder if there was more to know about i2c data length limitations?