When reading raw values (not using DMP) from the FIFO, the FIFO count never seems to decrement, nor does the FIFO overflow bit stop being set. To test, I've tried reducing the sample rate, even to something really slow (1Hz), and perform the getFIFOCount getFIFOBytes in a tight loop, but never see FIFO count go down.
It seems the only method of using the FIFO with raw values is to read all bytes from the FIFO, and then reset it. Something like:
fifoCount = mpu.getFIFOCount();
mpu.getFIFOBytes(fifoBuffer, fifoCount);
mpu.resetFIFO();
Is this "correct"? Can others validate my findings?
This is not a big deal. The only down-side I can see is the odd time where a sample is lost between getFIFOBytes and resetFIFO.