#include <I2C_master.h>
|
| I2C_master () |
|
| ~I2C_master () |
|
err_t | write (uint8_t address, uint8_t reg, uint8_t *data, size_t data_size) |
| Write data to the I²C bus. More...
|
|
err_t | write (uint8_t address, uint8_t reg, uint8_t data) |
| Write single byte to the I²C bus. More...
|
|
err_t | read (uint8_t address, uint8_t reg, uint8_t *buffer, size_t buffer_size) |
| Read data from I²C slave. More...
|
|
err_t | read (uint8_t address, uint8_t reg, uint8_t &buffer) |
| Read single byte from I²C slave. More...
|
|
err_t | lock (uint8_t i2c_address) |
|
err_t | try_lock (uint8_t i2c_address) |
|
err_t | unlock (uint8_t i2c_address) |
|
|
virtual err_t | _write (uint8_t address, uint8_t reg, uint8_t *data, size_t data_size)=0 |
|
virtual err_t | _read (uint8_t address, uint8_t reg, uint8_t *buffer, size_t buffer_size)=0 |
|
Definition at line 12 of file I2C_master.h.
◆ I2C_master()
aruna::driver::I2C_master::I2C_master |
( |
| ) |
|
Definition at line 23 of file I2C_master.cpp.
pthread_mutex_t line_busy
pthread_mutexattr_t line_busy_attr
◆ ~I2C_master()
aruna::driver::I2C_master::~I2C_master |
( |
| ) |
|
Definition at line 28 of file I2C_master.cpp.
pthread_mutex_t line_busy
pthread_mutexattr_t line_busy_attr
◆ _read()
virtual err_t aruna::driver::I2C_master::_read |
( |
uint8_t |
address, |
|
|
uint8_t |
reg, |
|
|
uint8_t * |
buffer, |
|
|
size_t |
buffer_size |
|
) |
| |
|
privatepure virtual |
◆ _write()
virtual err_t aruna::driver::I2C_master::_write |
( |
uint8_t |
address, |
|
|
uint8_t |
reg, |
|
|
uint8_t * |
data, |
|
|
size_t |
data_size |
|
) |
| |
|
privatepure virtual |
◆ lock()
aruna::err_t aruna::driver::I2C_master::lock |
( |
uint8_t |
i2c_address | ) |
|
◆ read() [1/2]
aruna::err_t aruna::driver::I2C_master::read |
( |
uint8_t |
address, |
|
|
uint8_t |
reg, |
|
|
uint8_t * |
buffer, |
|
|
size_t |
buffer_size |
|
) |
| |
Read data from I²C slave.
- Parameters
-
address | slave address |
reg | register to write to |
buffer | buffer to store read data |
buffer_size | amount of bytes to read. |
- Returns
-
Definition at line 7 of file I2C_master.cpp.
10 ret =
_read(address, reg, buffer, buffer_size);
pthread_mutex_t line_busy
virtual err_t _read(uint8_t address, uint8_t reg, uint8_t *buffer, size_t buffer_size)=0
◆ read() [2/2]
aruna::err_t aruna::driver::I2C_master::read |
( |
uint8_t |
address, |
|
|
uint8_t |
reg, |
|
|
uint8_t & |
buffer |
|
) |
| |
Read single byte from I²C slave.
- Parameters
-
address | slave address |
reg | register to write to |
buffer | buffer to store read data |
- Returns
-
Definition at line 37 of file I2C_master.cpp.
38 return read(address, reg, &buffer, 1);
err_t read(uint8_t address, uint8_t reg, uint8_t *buffer, size_t buffer_size)
Read data from I²C slave.
◆ try_lock()
aruna::err_t aruna::driver::I2C_master::try_lock |
( |
uint8_t |
i2c_address | ) |
|
◆ unlock()
aruna::err_t aruna::driver::I2C_master::unlock |
( |
uint8_t |
i2c_address | ) |
|
◆ write() [1/2]
aruna::err_t aruna::driver::I2C_master::write |
( |
uint8_t |
address, |
|
|
uint8_t |
reg, |
|
|
uint8_t * |
data, |
|
|
size_t |
data_size |
|
) |
| |
Write data to the I²C bus.
- Parameters
-
address | slave address |
reg | register to write to |
data | data array to be written. |
data_size | number of bytes in data |
- Returns
-
Definition at line 15 of file I2C_master.cpp.
18 ret =
_write(address, reg, data, data_size);
pthread_mutex_t line_busy
virtual err_t _write(uint8_t address, uint8_t reg, uint8_t *data, size_t data_size)=0
◆ write() [2/2]
aruna::err_t aruna::driver::I2C_master::write |
( |
uint8_t |
address, |
|
|
uint8_t |
reg, |
|
|
uint8_t |
data |
|
) |
| |
Write single byte to the I²C bus.
- Parameters
-
address | slave address |
reg | register to write to |
data | 8 bits to be written. |
- Returns
-
Definition at line 33 of file I2C_master.cpp.
34 return write(address, reg, &data, 1);
err_t write(uint8_t address, uint8_t reg, uint8_t *data, size_t data_size)
Write data to the I²C bus.
◆ line_busy
pthread_mutex_t aruna::driver::I2C_master::line_busy |
|
private |
◆ line_busy_attr
pthread_mutexattr_t aruna::driver::I2C_master::line_busy_attr |
|
private |
The documentation for this class was generated from the following files: