Synergy Software Package User's Manual

Interface for I2C communication. More...

Data Structures

struct  i2c_callback_args_t
 
struct  i2c_cfg_t
 
struct  i2c_api_master_t
 
struct  i2c_api_slave_t
 
struct  i2c_master_instance_t
 
struct  i2c_slave_instance_t
 

Typedefs

typedef void i2c_ctrl_t
 

Enumerations

enum  i2c_rate_t { I2C_RATE_STANDARD = 100000, I2C_RATE_FAST = 400000, I2C_RATE_FASTPLUS = 1000000 }
 
enum  i2c_addr_mode_t { I2C_ADDR_MODE_7BIT = 1, I2C_ADDR_MODE_10BIT }
 
enum  i2c_event_t {
  I2C_EVENT_ABORTED = 1, I2C_EVENT_RX_COMPLETE = 2, I2C_EVENT_TX_COMPLETE = 3, I2C_SLAVE_EVENT_RX_REQUEST = 4,
  I2C_SLAVE_EVENT_TX_REQUEST = 5, I2C_SLAVE_EVENT_RX_MORE_REQUEST = 6, I2C_SLAVE_EVENT_TX_MORE_REQUEST = 7
}
 
enum  i2c_hw_err_event_t { I2C_HW_ERR_EVENT_TIMEOUT = 1, I2C_HW_ERR_EVENT_ARBITRATION_LOSS = 2, I2C_HW_ERR_EVENT_NACK = 16, I2C_HW_ERR_EVENT_UNDEFINED = 255 }
 

Detailed Description

Interface for I2C communication.

Summary

The I2C master interface provides a common API for I2C HAL drivers. The I2C master interface supports:

Implemented by:

Related SSP architecture topics:

I2C Interface description: I2C Master Driver and I2C Slave Driver

Typedef Documentation

◆ i2c_ctrl_t

typedef void i2c_ctrl_t

I2C control block. Allocate an instance specific control block to pass into the I2C API calls.

Implemented as

Enumeration Type Documentation

◆ i2c_addr_mode_t

Addressing mode options

Enumerator
I2C_ADDR_MODE_7BIT 

Use 7-bit addressing mode.

I2C_ADDR_MODE_10BIT 

Use 10-bit addressing mode.

◆ i2c_event_t

Callback events

Enumerator
I2C_EVENT_ABORTED 

A transfer was aborted.

I2C_EVENT_RX_COMPLETE 

A receive operation was completed successfully.

I2C_EVENT_TX_COMPLETE 

A transmit operation was completed successfully.

I2C_SLAVE_EVENT_RX_REQUEST 

A read operation expected from slave. Detected a write from master.

I2C_SLAVE_EVENT_TX_REQUEST 

A write operation expected from slave. Detected a read from master.

I2C_SLAVE_EVENT_RX_MORE_REQUEST 

A read operation expected from slave. Master sends out more data than configured to be read in slave.

I2C_SLAVE_EVENT_TX_MORE_REQUEST 

A write operation expected from slave. Master requests more data than configured to be written by slave.

◆ i2c_hw_err_event_t

RIIC master hardware error callback events

Enumerator
I2C_HW_ERR_EVENT_TIMEOUT 

Timeout generated during transfer.

I2C_HW_ERR_EVENT_ARBITRATION_LOSS 

Arbitration loss.

I2C_HW_ERR_EVENT_NACK 

NACK event generation.

I2C_HW_ERR_EVENT_UNDEFINED 

Error not defined.

◆ i2c_rate_t

enum i2c_rate_t

Communication speed options

Enumerator
I2C_RATE_STANDARD 

100 kHz

I2C_RATE_FAST 

400 kHz

I2C_RATE_FASTPLUS 

1 MHz