MPU6050 FreeIMU library
Dependents: FreeIMU FreeIMU_external_magnetometer
Fork of MPU6050_tmp by
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.
Diff: MPU6050.h
- 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();