Judah Okeleye / Mbed 2 deprecated SLVM

Dependencies:   mbed-rtos mbed

Committer:
jerziboi732
Date:
Wed Dec 03 22:33:03 2014 +0000
Revision:
0:354a8831107d
Initial commit

Who changed what in which revision?

UserRevisionLine numberNew contents of line
jerziboi732 0:354a8831107d 1 //ported from arduino library: https://github.com/jrowberg/i2cdevlib/tree/master/Arduino/MPU6050
jerziboi732 0:354a8831107d 2 //written by szymon gaertig (email: szymon@gaertig.com.pl)
jerziboi732 0:354a8831107d 3 //
jerziboi732 0:354a8831107d 4 //Changelog:
jerziboi732 0:354a8831107d 5 //2013-01-08 - first beta release
jerziboi732 0:354a8831107d 6
jerziboi732 0:354a8831107d 7 #ifndef I2Cdev_h
jerziboi732 0:354a8831107d 8 #define I2Cdev_h
jerziboi732 0:354a8831107d 9
jerziboi732 0:354a8831107d 10 #include "mbed.h"
jerziboi732 0:354a8831107d 11
jerziboi732 0:354a8831107d 12 #define I2C_SDA p9
jerziboi732 0:354a8831107d 13 #define I2C_SCL p10
jerziboi732 0:354a8831107d 14
jerziboi732 0:354a8831107d 15 class I2Cdev {
jerziboi732 0:354a8831107d 16 private:
jerziboi732 0:354a8831107d 17 I2C i2c;
jerziboi732 0:354a8831107d 18 Serial debugSerial;
jerziboi732 0:354a8831107d 19 public:
jerziboi732 0:354a8831107d 20 I2Cdev();
jerziboi732 0:354a8831107d 21 I2Cdev(PinName i2cSda, PinName i2cScl);
jerziboi732 0:354a8831107d 22
jerziboi732 0:354a8831107d 23 int8_t readBit(uint8_t devAddr, uint8_t regAddr, uint8_t bitNum, uint8_t *data, uint16_t timeout=I2Cdev::readTimeout());
jerziboi732 0:354a8831107d 24 int8_t readBitW(uint8_t devAddr, uint8_t regAddr, uint8_t bitNum, uint16_t *data, uint16_t timeout=I2Cdev::readTimeout());
jerziboi732 0:354a8831107d 25 int8_t readBits(uint8_t devAddr, uint8_t regAddr, uint8_t bitStart, uint8_t length, uint8_t *data, uint16_t timeout=I2Cdev::readTimeout());
jerziboi732 0:354a8831107d 26 int8_t readBitsW(uint8_t devAddr, uint8_t regAddr, uint8_t bitStart, uint8_t length, uint16_t *data, uint16_t timeout=I2Cdev::readTimeout());
jerziboi732 0:354a8831107d 27 int8_t readByte(uint8_t devAddr, uint8_t regAddr, uint8_t *data, uint16_t timeout=I2Cdev::readTimeout());
jerziboi732 0:354a8831107d 28 int8_t readWord(uint8_t devAddr, uint8_t regAddr, uint16_t *data, uint16_t timeout=I2Cdev::readTimeout());
jerziboi732 0:354a8831107d 29 int8_t readBytes(uint8_t devAddr, uint8_t regAddr, uint8_t length, uint8_t *data, uint16_t timeout=I2Cdev::readTimeout());
jerziboi732 0:354a8831107d 30 int8_t readWords(uint8_t devAddr, uint8_t regAddr, uint8_t length, uint16_t *data, uint16_t timeout=I2Cdev::readTimeout());
jerziboi732 0:354a8831107d 31
jerziboi732 0:354a8831107d 32 bool writeBit(uint8_t devAddr, uint8_t regAddr, uint8_t bitNum, uint8_t data);
jerziboi732 0:354a8831107d 33 bool writeBitW(uint8_t devAddr, uint8_t regAddr, uint8_t bitNum, uint16_t data);
jerziboi732 0:354a8831107d 34 bool writeBits(uint8_t devAddr, uint8_t regAddr, uint8_t bitStart, uint8_t length, uint8_t data);
jerziboi732 0:354a8831107d 35 bool writeBitsW(uint8_t devAddr, uint8_t regAddr, uint8_t bitStart, uint8_t length, uint16_t data);
jerziboi732 0:354a8831107d 36 bool writeByte(uint8_t devAddr, uint8_t regAddr, uint8_t data);
jerziboi732 0:354a8831107d 37 bool writeWord(uint8_t devAddr, uint8_t regAddr, uint16_t data);
jerziboi732 0:354a8831107d 38 bool writeBytes(uint8_t devAddr, uint8_t regAddr, uint8_t length, uint8_t *data);
jerziboi732 0:354a8831107d 39 bool writeWords(uint8_t devAddr, uint8_t regAddr, uint8_t length, uint16_t *data);
jerziboi732 0:354a8831107d 40
jerziboi732 0:354a8831107d 41 static uint16_t readTimeout(void);
jerziboi732 0:354a8831107d 42 };
jerziboi732 0:354a8831107d 43
jerziboi732 0:354a8831107d 44 #endif