Receiver code for SLVM

Dependencies:   mbed-rtos mbed

Committer:
jnagendran3
Date:
Tue Dec 09 01:15:37 2014 +0000
Revision:
0:fd289b2e6b74
first

Who changed what in which revision?

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