Daniel Levine / I2Cdev_MAX32630FTHR

Dependents:   Adafruit_IS31FL3731

Fork of I2Cdev by Shundo Kishi

Embed: (wiki syntax)

« Back to documentation index

Show/hide line numbers I2Cdev.h Source File

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