Go Down

Topic: MPU6050,dmpGetQuaternion FIFO Buffer (Read 45 times) previous topic - next topic


Hallo Arduino-Community,

I'm working with the MPU6050 sensor data but I don't get the logic behind the dmpGetQuaternion(&q,fifoBuffer) function, which uses the fifoBuffer Bytes
  • - [15] for creating uint32_t w,x,y and z.

When looking at the underlying getFIFOBytes (uint8_t *data, uint8_t length) code:

Code: [Select]
void MPU6050::getFIFOBytes(uint8_t *data, uint8_t length) {
    if(length > 0){
        I2Cdev::readBytes(devAddr, MPU6050_RA_FIFO_R_W, length, data);
    } else {
    *data = 0;

 knowing that: #define MPU6050_RA_FIFO_R_W         0x74
and analyzing the "readBytes(...)" function in I2Cdev.cpp I wonder where the quaternion data come from?
In the datasheet I only see 0x74 = FIFO_DATA[7:0] with no information on quaternions?

Can anybody please tell me what I missed here and where the quaternions come from?

Best regards,

Go Up