MPU6050,dmpGetQuaternion FIFO Buffer

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 [0] - [15] for creating uint32_t w,x,y and z.

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

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,

I am having this same problem. Did you find the answer?

The datasheet says what goes into the FIFO is set by the FIFO configuration register. The register descriptions are
in this document apparently: