Struct i2c_master_config

This is the configuration structure for the I2C Master device. It is used as an argument for i2c_master_init to provide the desired configurations for the module. The structure should be initialized using the i2c_master_get_config_defaults.

Table 1. Members
Type Name Description
uint32_t baud_rate

Baud rate (in KHz) for I2C operations in standard-mode, Fast-mode, and Fast-mode Plus Transfers, i2c_master_baud_rate

uint32_t baud_rate_high_speed

Baud rate (in KHz) for I2C operations in High-speed mode, i2c_master_baud_rate

uint16_t buffer_timeout

Timeout for packet write to wait for slave

enum gclk_generator generator_source

GCLK generator to use as clock source

enum i2c_master_inactive_timeout inactive_timeout

Inactive bus time out

bool master_scl_low_extend_timeout

Set to enable maser SCL low extend time-out

uint32_t pinmux_pad0

PAD0 (SDA) pinmux

uint32_t pinmux_pad1

PAD1 (SCL) pinmux

bool run_in_standby

Set to keep module active in sleep modes

bool scl_low_timeout

Set to enable SCL low time-out

bool scl_stretch_only_after_ack_bit

Set to enable SCL stretch only after ACK bit (required for high speed)

uint16_t sda_scl_rise_time_ns

Get more accurate BAUD, considering rise time(required for standard-mode and Fast-mode)

bool slave_scl_low_extend_timeout

Set to enable slave SCL low extend time-out

enum i2c_master_start_hold_time start_hold_time

Bus hold time after start signal on data line

enum i2c_master_transfer_speed transfer_speed

Transfer speed mode

uint16_t unknown_bus_state_timeout

Unknown bus state timeout