5 #ifndef ARUNA_I2C_MASTER_H 6 #define ARUNA_I2C_MASTER_H 16 virtual err_t _write(uint8_t address, uint8_t reg, uint8_t* data,
size_t data_size) = 0;
17 virtual err_t _read(uint8_t address, uint8_t reg, uint8_t* buffer,
size_t buffer_size) = 0;
33 err_t write(uint8_t address, uint8_t reg, uint8_t* data,
size_t data_size);
46 err_t write(uint8_t address, uint8_t reg, uint8_t data);
60 err_t read(uint8_t address, uint8_t reg, uint8_t* buffer,
size_t buffer_size);
73 err_t read(uint8_t address, uint8_t reg, uint8_t &buffer);
85 #endif //ARUNA_I2C_MASTER_H
err_t read(uint8_t address, uint8_t reg, uint8_t *buffer, size_t buffer_size)
Read data from I²C slave.
pthread_mutex_t line_busy
virtual err_t _read(uint8_t address, uint8_t reg, uint8_t *buffer, size_t buffer_size)=0
err_t try_lock(uint8_t i2c_address)
virtual err_t _write(uint8_t address, uint8_t reg, uint8_t *data, size_t data_size)=0
pthread_mutexattr_t line_busy_attr
Link * driver
stores the driver.
err_t write(uint8_t address, uint8_t reg, uint8_t *data, size_t data_size)
Write data to the I²C bus.
err_t lock(uint8_t i2c_address)
err_t unlock(uint8_t i2c_address)