I2C-Library for various sensors
twi_master.h
- Committer:
- JOEV
- Date:
- 2019-07-31
- Revision:
- 0:782435d2cc06
File content as of revision 0:782435d2cc06:
/** * @brief * * @file twi_master.h * @author Joel von Rotz * @date 18.07.2018 */ #ifndef TWI_MASTER_H #define TWI_MASTER_H #include "mbed.h" /** * @brief <strong>TWI_Master</strong> is used for interacting with different libraries of I2C sensors, which I wrote. * This library has been inspired by the <a href="https://github.com/adafruit/Adafruit_Sensor">Adafruit Sensor-Library</a> * and the <a href="https://github.com/jrowberg/i2cdevlib/">I2Cdevlib</a> by jrowberg. * \n\n * It is not an I2C driver, since the existing I2C functions are used and new things, such as masking and individual * bit changes, are built in around them. * \n\n */ class TWI_Master { public: TWI_Master(PinName sda, PinName scl, uint32_t frequency = 400000); void i2c_write(uint8_t i2c_address, uint8_t slave_address, const uint8_t data); void i2c_writeBits(uint8_t i2c_address, uint8_t slave_address, const uint8_t data, uint8_t mask); uint8_t i2c_readBits(uint8_t i2c_address, uint8_t slave_address, uint8_t mask); void i2c_readSeries(uint8_t i2c_address, uint8_t slave_address, uint8_t *data, uint8_t length); uint8_t i2c_read(uint8_t i2c_address, uint8_t slave_address); private: I2C m_i2c_sensor; uint32_t m_i2c_frequency; }; #endif