Hi Greg,
I have debugged this issue on the 9250 a bit and it seems to be related to the programming the DMP firmware to the 9250 board.
I have logged the bytes written and bytes read back and when the issue happens it seems to be when the bytes read back does not match the bytes written. Furthermore, it seems that the bytes read back is always the same as the previous written buffer.
It seems the something in either the i2c state machine or the memory bank/write machine on the mpu gets stuck.
I have also added some retry mechanism to try to reprogram the bank if at first it failed. It improved a bit but it still not very stable.
Here is an output dump of the bytes written and read back
[font=courier]write mem 0 0 112 0 0 0 0 36 0 0 0 2 0 3 0 0
read mem 0 0 112 0 0 0 0 36 0 0 0 2 0 3 0 0
write mem 0 101 0 84 255 239 0 0 250 128 0 11 18 130 0 1
read mem 0 101 0 84 255 239 0 0 250 128 0 11 18 130 0 1
write mem 3 12 48 195 14 140 140 233 20 213 64 2 19 113 15 142
read mem 3 12 48 195 14 140 140 233 20 213 64 2 19 113 15 142
write mem 56 131 248 131 48 0 248 131 37 142 248 131 48 0 248 131
read mem 3 12 48 195 14 140 140 233 20 213 64 2 19 113 15 142
Firmware compare failed addr 48
write mem 56 131 248 131 48 0 248 131 37 142 248 131 48 0 248 131
read mem 3 12 48 195 14 140 140 233 20 213 64 2 19 113 15 142
Firmware compare failed addr 48
write mem 56 131 248 131 48 0 248 131 37 142 248 131 48 0 248 131
read mem 3 12 48 195 14 140 140 233 20 213 64 2 19 113 15 142
[/font]
Weirdly though if i use some of the other libraries available (for example the one from Jeff for the 9axis motion sensor) the DMP programming works fine and I do not run into the same issue)
I have ordered some 9150 devices now (which has the mpu6050 inside), to see if is exposes the same problem.
I like your library since it utilizes the internal sensor fusion of the DMP if you use the quaternion outputs, but I need to correct for yaw drift now and that is why i want to move to either the 9150 or 9250 to be able to use the compass.
Cheers,
Conrad