A helper class for I2C

Dependents:   MPU9150

Embed: (wiki syntax)

« Back to documentation index

Show/hide line numbers I2CHelper.h Source File

I2CHelper.h

00001 #ifndef I2CHELPER_H_
00002 #define I2CHELPER_H_
00003 
00004 #include "mbed.h"
00005 
00006 class I2CHelper {
00007 public:
00008     I2CHelper();
00009     I2CHelper(PinName sda, PinName scl);
00010     
00011     void setFrequency(int hz);
00012     
00013     bool readBit(const uint8_t devAddr, const uint8_t regAddr, const uint8_t bit, uint8_t *data);
00014     bool readBits(const uint8_t devAddr, const uint8_t regAddr, const uint8_t startBit, const uint8_t length, uint8_t *data);
00015     bool readByte(const uint8_t devAddr, const uint8_t regAddr, uint8_t *data);
00016     bool readBytes(const uint8_t devAddr, const uint8_t regAddr, uint8_t *data, const uint8_t length);
00017     bool readWord(const uint8_t devAddr, const uint8_t regAddr, uint16_t *data);
00018     bool readWords(const uint8_t devAddr, const uint8_t regAddr, uint16_t *data, const uint8_t length);
00019     
00020     bool writeBit(const uint8_t devAddr, const uint8_t regAddr, const uint8_t bit, const uint8_t data);
00021     bool writeBits(const uint8_t devAddr, const uint8_t regAddr, const uint8_t startBit, const uint8_t length, const uint8_t data);
00022     bool writeByte(const uint8_t devAddr, const uint8_t regAddr, const uint8_t data);
00023     bool writeBytes(const uint8_t devAddr, const uint8_t regAddr, const uint8_t *data, const uint8_t length);
00024 private:
00025     I2C i2c_;
00026 };
00027 
00028 #endif