MPU6050 library modified so I can use 2 IMUs
Dependents: MPU6050-DMP_sample
Fork of MPU6050 by
I2Cdev2.h
00001 //ported from arduino library: https://github.com/jrowberg/i2cdevlib/tree/master/Arduino/MPU6050 00002 //written by szymon gaertig (email: szymon@gaertig.com.pl) 00003 // 00004 //Changelog: 00005 //2013-01-08 - first beta release 00006 00007 #ifndef I2Cdev2_h 00008 #define I2Cdev2_h 00009 00010 #include "mbed.h" 00011 00012 //#define I2C_SDA PTE0 00013 //#define I2C_SCL PTE1 00014 00015 #define I2C2_SDA PTC9 00016 #define I2C2_SCL PTC8 00017 00018 00019 class I2Cdev2 { 00020 private: 00021 I2C i2c; 00022 Serial debugSerial; 00023 public: 00024 I2Cdev2(); 00025 I2Cdev2(PinName i2cSda, PinName i2cScl); 00026 00027 int8_t readBit(uint8_t devAddr, uint8_t regAddr, uint8_t bitNum, uint8_t *data, uint16_t timeout=I2Cdev2::readTimeout()); 00028 int8_t readBitW(uint8_t devAddr, uint8_t regAddr, uint8_t bitNum, uint16_t *data, uint16_t timeout=I2Cdev2::readTimeout()); 00029 int8_t readBits(uint8_t devAddr, uint8_t regAddr, uint8_t bitStart, uint8_t length, uint8_t *data, uint16_t timeout=I2Cdev2::readTimeout()); 00030 int8_t readBitsW(uint8_t devAddr, uint8_t regAddr, uint8_t bitStart, uint8_t length, uint16_t *data, uint16_t timeout=I2Cdev2::readTimeout()); 00031 int8_t readByte(uint8_t devAddr, uint8_t regAddr, uint8_t *data, uint16_t timeout=I2Cdev2::readTimeout()); 00032 int8_t readWord(uint8_t devAddr, uint8_t regAddr, uint16_t *data, uint16_t timeout=I2Cdev2::readTimeout()); 00033 int8_t readBytes(uint8_t devAddr, uint8_t regAddr, uint8_t length, uint8_t *data, uint16_t timeout=I2Cdev2::readTimeout()); 00034 int8_t readWords(uint8_t devAddr, uint8_t regAddr, uint8_t length, uint16_t *data, uint16_t timeout=I2Cdev2::readTimeout()); 00035 00036 bool writeBit(uint8_t devAddr, uint8_t regAddr, uint8_t bitNum, uint8_t data); 00037 bool writeBitW(uint8_t devAddr, uint8_t regAddr, uint8_t bitNum, uint16_t data); 00038 bool writeBits(uint8_t devAddr, uint8_t regAddr, uint8_t bitStart, uint8_t length, uint8_t data); 00039 bool writeBitsW(uint8_t devAddr, uint8_t regAddr, uint8_t bitStart, uint8_t length, uint16_t data); 00040 bool writeByte(uint8_t devAddr, uint8_t regAddr, uint8_t data); 00041 bool writeWord(uint8_t devAddr, uint8_t regAddr, uint16_t data); 00042 bool writeBytes(uint8_t devAddr, uint8_t regAddr, uint8_t length, uint8_t *data); 00043 bool writeWords(uint8_t devAddr, uint8_t regAddr, uint8_t length, uint16_t *data); 00044 00045 static uint16_t readTimeout(void); 00046 }; 00047 00048 #endif
Generated on Wed Jul 13 2022 15:27:11 by
1.7.2
