GRT_FS2019_VoiceCoil / MPU6050_2
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 //
00004 //Changelog: 
00005 //2013-01-08 - first beta release
00006 
00007 #ifndef I2Cdev_h
00008 #define I2Cdev_h
00009 
00010 #include "mbed.h"
00011 
00012 
00013 class I2Cdev {
00014     private:
00015         I2C i2c;
00016     public:
00017         I2Cdev(I2C &interface);        
00018         
00019         int8_t readBit(uint8_t devAddr, uint8_t regAddr, uint8_t bitNum, uint8_t *data, uint16_t timeout=I2Cdev::readTimeout());
00020         int8_t readBitW(uint8_t devAddr, uint8_t regAddr, uint8_t bitNum, uint16_t *data, uint16_t timeout=I2Cdev::readTimeout());
00021         int8_t readBits(uint8_t devAddr, uint8_t regAddr, uint8_t bitStart, uint8_t length, uint8_t *data, uint16_t timeout=I2Cdev::readTimeout());
00022         int8_t readBitsW(uint8_t devAddr, uint8_t regAddr, uint8_t bitStart, uint8_t length, uint16_t *data, uint16_t timeout=I2Cdev::readTimeout());
00023         int8_t readByte(uint8_t devAddr, uint8_t regAddr, uint8_t *data, uint16_t timeout=I2Cdev::readTimeout());
00024         int8_t readWord(uint8_t devAddr, uint8_t regAddr, uint16_t *data, uint16_t timeout=I2Cdev::readTimeout());
00025         int8_t readBytes(uint8_t devAddr, uint8_t regAddr, uint8_t length, uint8_t *data, uint16_t timeout=I2Cdev::readTimeout());
00026         int8_t readWords(uint8_t devAddr, uint8_t regAddr, uint8_t length, uint16_t *data, uint16_t timeout=I2Cdev::readTimeout());
00027 
00028         bool writeBit(uint8_t devAddr, uint8_t regAddr, uint8_t bitNum, uint8_t data);
00029         bool writeBitW(uint8_t devAddr, uint8_t regAddr, uint8_t bitNum, uint16_t data);
00030         bool writeBits(uint8_t devAddr, uint8_t regAddr, uint8_t bitStart, uint8_t length, uint8_t data);
00031         bool writeBitsW(uint8_t devAddr, uint8_t regAddr, uint8_t bitStart, uint8_t length, uint16_t data);
00032         bool writeByte(uint8_t devAddr, uint8_t regAddr, uint8_t data);
00033         bool writeWord(uint8_t devAddr, uint8_t regAddr, uint16_t data);
00034         bool writeBytes(uint8_t devAddr, uint8_t regAddr, uint8_t length, uint8_t *data);
00035         bool writeWords(uint8_t devAddr, uint8_t regAddr, uint8_t length, uint16_t *data);
00036 
00037         static uint16_t readTimeout(void);
00038 };
00039 
00040 #endif