Hi,
I've searched hole forum and the Internet ant haven't found many (to be honest almost none) information if anyone have successfully implemented I2CDev library on BeagleBone Black. I would like to use it with MPU6050.
I've started to implement it, but without any success so far.
Below, there is one question abut this library, I hope it is not too big offtop.
What is the proper way of working this function:
int8_t I2Cdev::readBytes(uint8_t devAddr, uint8_t regAddr, uint8_t length, uint8_t *data, uint16_t timeout)
All the time I was thinking that it shoud read length bytes starting from regAddr. So for exaple
int8_t I2Cdev::readBytes(devAddr, 10, 4, data, timeout)
would read bytes from registers 10, 11, 12 and 13.
But we have this function (from MPU6050 library):
void MPU6050::getFIFOBytes(uint8_t *data, uint8_t length) {
I2Cdev::readBytes(devAddr, MPU6050_RA_FIFO_R_W, length, data);
}
and in my opinion it should read length bytes from one register (MPU6050_RA_FIFO_R_W = 74) byte by byte and this is something different from what I described before.
I have the same concers about writeBytes function.
I would appreciate any help with understanding this functions