USSRII Mathieu DUCROCQ

Dependencies:   mbed BSP_DISCO_F746NG

Committer:
mducrocq
Date:
Tue Jun 15 10:10:18 2021 +0000
Revision:
0:11a51c9ebb09
USRRII Mathieu Ducrocq

Who changed what in which revision?

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