Jump to content
I2Cdevlib Forums

mike.wilsher

Members
  • Posts

    2
  • Joined

  • Last visited

Everything posted by mike.wilsher

  1. 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.
  2. 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.
×
×
  • Create New...