MPU6050 FreeIMU library

Dependents:   FreeIMU FreeIMU_external_magnetometer

Fork of MPU6050_tmp by Aloïs Wolff

Async MPU6050 library

My port of the MPU6050 library samples the chip at 500Hz using Timer. Async I2C is achieved using a custom I2C library, which supports I2C calls from interrupts. Link given below:

Import libraryMODI2C

Improvements to Olieman's MODI2C library. Supports calls from IRQ.

Difference between this port and the Arduino MPU6050 library

The getMotion6 function only returns a copy of the last obtained readings, which is sampled at a frequency of 500Hz (adjustable). Hence it can be called at any frequency without taxing the I2C.

Revision:
9:d879deb55ae1
Parent:
7:95e74f827c08
Child:
11:9549be34fa7f
--- a/MPU6050.h	Tue Nov 05 11:28:54 2013 +0000
+++ b/MPU6050.h	Sat Nov 09 08:51:07 2013 +0000
@@ -408,8 +408,17 @@
         Serial debugSerial;
     public:
         MPU6050();
-        MPU6050(I2C i2c);
+        MPU6050(MODI2C i2c);
         MPU6050(uint8_t address);
+        
+        void mpu_sample_func();
+        volatile int16_t ax_cache, ay_cache, az_cache, gx_cache, gy_cache, gz_cache;
+        
+        Ticker mpu_sampling;
+        char mpu_cmd;
+        uint8_t mpu_buffer[14];
+        
+        void start_sampling();
 
         void initialize();
         bool testConnection();