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.