MPU6050 library modified so I can use 2 IMUs

Dependents:   MPU6050-DMP_sample

Fork of MPU6050 by Shundo Kishi

Committer:
majik
Date:
Wed Mar 18 22:18:55 2015 +0000
Revision:
6:d348c3cad7c7
This was modified so I can use 2 MPU6050 IMUs.; I just made a copy of the mpu6050 files under a different name. There is probably a better way to do this.

Who changed what in which revision?

UserRevisionLine numberNew contents of line
majik 6:d348c3cad7c7 1 //ported from arduino library: https://github.com/jrowberg/i2cdevlib/tree/master/Arduino/MPU6050
majik 6:d348c3cad7c7 2 //written by szymon gaertig (email: szymon@gaertig.com.pl)
majik 6:d348c3cad7c7 3 //
majik 6:d348c3cad7c7 4 //Changelog:
majik 6:d348c3cad7c7 5 //2013-01-08 - first beta release
majik 6:d348c3cad7c7 6
majik 6:d348c3cad7c7 7 #ifndef I2Cdev2_h
majik 6:d348c3cad7c7 8 #define I2Cdev2_h
majik 6:d348c3cad7c7 9
majik 6:d348c3cad7c7 10 #include "mbed.h"
majik 6:d348c3cad7c7 11
majik 6:d348c3cad7c7 12 //#define I2C_SDA PTE0
majik 6:d348c3cad7c7 13 //#define I2C_SCL PTE1
majik 6:d348c3cad7c7 14
majik 6:d348c3cad7c7 15 #define I2C2_SDA PTC9
majik 6:d348c3cad7c7 16 #define I2C2_SCL PTC8
majik 6:d348c3cad7c7 17
majik 6:d348c3cad7c7 18
majik 6:d348c3cad7c7 19 class I2Cdev2 {
majik 6:d348c3cad7c7 20 private:
majik 6:d348c3cad7c7 21 I2C i2c;
majik 6:d348c3cad7c7 22 Serial debugSerial;
majik 6:d348c3cad7c7 23 public:
majik 6:d348c3cad7c7 24 I2Cdev2();
majik 6:d348c3cad7c7 25 I2Cdev2(PinName i2cSda, PinName i2cScl);
majik 6:d348c3cad7c7 26
majik 6:d348c3cad7c7 27 int8_t readBit(uint8_t devAddr, uint8_t regAddr, uint8_t bitNum, uint8_t *data, uint16_t timeout=I2Cdev2::readTimeout());
majik 6:d348c3cad7c7 28 int8_t readBitW(uint8_t devAddr, uint8_t regAddr, uint8_t bitNum, uint16_t *data, uint16_t timeout=I2Cdev2::readTimeout());
majik 6:d348c3cad7c7 29 int8_t readBits(uint8_t devAddr, uint8_t regAddr, uint8_t bitStart, uint8_t length, uint8_t *data, uint16_t timeout=I2Cdev2::readTimeout());
majik 6:d348c3cad7c7 30 int8_t readBitsW(uint8_t devAddr, uint8_t regAddr, uint8_t bitStart, uint8_t length, uint16_t *data, uint16_t timeout=I2Cdev2::readTimeout());
majik 6:d348c3cad7c7 31 int8_t readByte(uint8_t devAddr, uint8_t regAddr, uint8_t *data, uint16_t timeout=I2Cdev2::readTimeout());
majik 6:d348c3cad7c7 32 int8_t readWord(uint8_t devAddr, uint8_t regAddr, uint16_t *data, uint16_t timeout=I2Cdev2::readTimeout());
majik 6:d348c3cad7c7 33 int8_t readBytes(uint8_t devAddr, uint8_t regAddr, uint8_t length, uint8_t *data, uint16_t timeout=I2Cdev2::readTimeout());
majik 6:d348c3cad7c7 34 int8_t readWords(uint8_t devAddr, uint8_t regAddr, uint8_t length, uint16_t *data, uint16_t timeout=I2Cdev2::readTimeout());
majik 6:d348c3cad7c7 35
majik 6:d348c3cad7c7 36 bool writeBit(uint8_t devAddr, uint8_t regAddr, uint8_t bitNum, uint8_t data);
majik 6:d348c3cad7c7 37 bool writeBitW(uint8_t devAddr, uint8_t regAddr, uint8_t bitNum, uint16_t data);
majik 6:d348c3cad7c7 38 bool writeBits(uint8_t devAddr, uint8_t regAddr, uint8_t bitStart, uint8_t length, uint8_t data);
majik 6:d348c3cad7c7 39 bool writeBitsW(uint8_t devAddr, uint8_t regAddr, uint8_t bitStart, uint8_t length, uint16_t data);
majik 6:d348c3cad7c7 40 bool writeByte(uint8_t devAddr, uint8_t regAddr, uint8_t data);
majik 6:d348c3cad7c7 41 bool writeWord(uint8_t devAddr, uint8_t regAddr, uint16_t data);
majik 6:d348c3cad7c7 42 bool writeBytes(uint8_t devAddr, uint8_t regAddr, uint8_t length, uint8_t *data);
majik 6:d348c3cad7c7 43 bool writeWords(uint8_t devAddr, uint8_t regAddr, uint8_t length, uint16_t *data);
majik 6:d348c3cad7c7 44
majik 6:d348c3cad7c7 45 static uint16_t readTimeout(void);
majik 6:d348c3cad7c7 46 };
majik 6:d348c3cad7c7 47
majik 6:d348c3cad7c7 48 #endif