I'm using two different accelerometers with my Pi and both use I2C, so I decided to have the same python code for both. It is not very complex, I just want do periodically read all registers and dump that into a file.
Each device has a different number of registers, of course. I thought that requesting an i2c block read with more registers than existing ones would just give me the available ones, but instead it reboots my Pi. (kernel panic?)
Is that a bug? Is reading more blocks than actual registers undefined behavior, unspecified by the standard or something else? Legal or not, is there a workaround?