mike.wilsher Posted October 21, 2015 Report Share Posted October 21, 2015 Hi Sounds like I am seeing exactly the same thing with the MPU6050 when using the FASTWIRE switch in i2cdev lib. I went over to FASTWIRE as I am seeing the I2C bus hang occasionally, strangely more when I am just doing a simple register read for mpu.getMotion6(&ax, &ay, &az, &gx, &gy, &gz);. Switching to FASTWIRE where the library has a timeout seems to work round this fine and it does not hang. I only need a snapshot of the readings not tracking them so the time stamp is not critical. However !! If I run the MPU6050_DMP6 code and do an mpu.dmpInitialize(); it hangs, with DEBUG on it just waits at DEBUG_PRINTLN(F("Waiting for FIFO count > 2...")); while ((fifoCount = getFIFOCount()) < 3); With the wire lib it works fine. (but occasionally hangs on the I2C bus) I went back to the original calibration and DMP examples in Jeffs current github releaserelease to make sure I had not added anything in my code but get the same results. The config is a standard Arduino 16MHz 5v Uno hooked up to a GY-521 MPU 6050. I have tried oneof the basic read scripts with the wire libray and it seems to read the accel and gyro registers without hanging, so I think the issue is in the libs. The anoying thing is that using a calibrate to let things settle out and then the DMP in Jeffs libs I get a super stable output which always comes back to the original point, great nice if it did not hang !! I would be very grateful for any thoughts. As a work round I am going to try FASTWIRE without the DMP and do the ypr in the processor, but a load of hassle. Quote Link to comment Share on other sites More sharing options...
Recommended Posts
Join the conversation
You can post now and register later. If you have an account, sign in now to post with your account.