21 #ifndef __RFLPC_I2C_H__
22 #define __RFLPC_I2C_H__
28 #ifdef RFLPC_CONFIG_ENABLE_I2C
48 RFLPC_I2C_MODE_MASTER,
54 RFLPC_I2C_SUCCESSFUL_TRANSMISSION = 0,
55 RFLPC_I2C_SIZE_EQUAL_TO_ZERO,
56 RFLPC_I2C_SLAVE_IS_BUSY,
57 RFLPC_I2C_SLAVE_DID_NOT_ACKNOWLEDGED_DATA,
58 RFLPC_I2C_MASTER_DID_NOT_ACKNOWLEDGED_DATA,
59 RFLPC_I2C_STOP_CONDITION_RECEIVED,
60 RFLPC_I2C_SLAVE_TRANSMITTED_DATA,
61 RFLPC_I2C_UNKNOWN_ERROR,
62 RFLPC_I2C_NOT_YET_IMPLEMENTED
89 uint8_t *data, uint8_t nbytes, uint8_t stop);
116 uint8_t *data, uint8_t nbytes, uint8_t stop);
rflpc_i2c_mode_t
Defines the operating mode of the I2C bus.
int rflpc_i2c_init(rflpc_i2c_port_t port, rflpc_i2c_mode_t mode, uint8_t addr)
Inits a given I2C port on a given mode.
rflpc_i2c_port_t
These constants selects which port the driver functions manipulate.
uint16_t rflpc_i2c_read(rflpc_i2c_port_t port, uint8_t addr, uint8_t *data, uint8_t nbytes, uint8_t stop)
Reads data from the I2C bus.
uint16_t rflpc_i2c_write(rflpc_i2c_port_t port, uint8_t addr, uint8_t *data, uint8_t nbytes, uint8_t stop)
Send bytes on the I2C bus.
void rflpc_i2c_set_slave_transmitter_config(uint8_t *data, uint8_t size)
Set data's location and size to be transmitted as slave.
rflpc_i2c_status_t
Defines the return status of the I2C driver.