Important changes to repositories hosted on mbed.com
Mbed hosted mercurial repositories are deprecated and are due to be permanently deleted in July 2026.
To keep a copy of this software download the repository Zip archive or clone locally using Mercurial.
It is also possible to export all your personal repositories from the account settings page.
Dependents: Adafruit_IS31FL3731
Fork of I2Cdev by
I2Cdev.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 // modified by shundo kishi 00004 // 00005 // Changelog: 00006 // 2013-01-08 - first release 00007 // 2016-01-31 - changed all functions and variables static to make porting from arduino easier(by shundo kishi) 00008 00009 #ifndef I2Cdev_h 00010 #define I2Cdev_h 00011 00012 #include "mbed.h" 00013 00014 #define I2C_SDA P3_4 00015 #define I2C_SCL P3_5 00016 00017 class I2Cdev { 00018 private: 00019 static I2C i2c; 00020 public: 00021 I2Cdev(); 00022 00023 static int8_t readBit(uint8_t devAddr, uint8_t regAddr, uint8_t bitNum, uint8_t *data, uint16_t timeout=I2Cdev::readTimeout()); 00024 static int8_t readBitW(uint8_t devAddr, uint8_t regAddr, uint8_t bitNum, uint16_t *data, uint16_t timeout=I2Cdev::readTimeout()); 00025 static int8_t readBits(uint8_t devAddr, uint8_t regAddr, uint8_t bitStart, uint8_t length, uint8_t *data, uint16_t timeout=I2Cdev::readTimeout()); 00026 static int8_t readBitsW(uint8_t devAddr, uint8_t regAddr, uint8_t bitStart, uint8_t length, uint16_t *data, uint16_t timeout=I2Cdev::readTimeout()); 00027 static int8_t readByte(uint8_t devAddr, uint8_t regAddr, uint8_t *data, uint16_t timeout=I2Cdev::readTimeout()); 00028 static int8_t readWord(uint8_t devAddr, uint8_t regAddr, uint16_t *data, uint16_t timeout=I2Cdev::readTimeout()); 00029 static int8_t readBytes(uint8_t devAddr, uint8_t regAddr, uint8_t length, uint8_t *data, uint16_t timeout=I2Cdev::readTimeout()); 00030 static int8_t readWords(uint8_t devAddr, uint8_t regAddr, uint8_t length, uint16_t *data, uint16_t timeout=I2Cdev::readTimeout()); 00031 00032 static bool writeBit(uint8_t devAddr, uint8_t regAddr, uint8_t bitNum, uint8_t data); 00033 static bool writeBitW(uint8_t devAddr, uint8_t regAddr, uint8_t bitNum, uint16_t data); 00034 static bool writeBits(uint8_t devAddr, uint8_t regAddr, uint8_t bitStart, uint8_t length, uint8_t data); 00035 static bool writeBitsW(uint8_t devAddr, uint8_t regAddr, uint8_t bitStart, uint8_t length, uint16_t data); 00036 static bool writeByte(uint8_t devAddr, uint8_t regAddr, uint8_t data); 00037 static bool writeWord(uint8_t devAddr, uint8_t regAddr, uint16_t data); 00038 static bool writeBytes(uint8_t devAddr, uint8_t regAddr, uint8_t length, uint8_t *data); 00039 static bool writeWords(uint8_t devAddr, uint8_t regAddr, uint8_t length, uint16_t *data); 00040 00041 static uint16_t readTimeout(void); 00042 }; 00043 00044 #endif
Generated on Sat Jul 16 2022 14:30:11 by
1.7.2
