i2c.h File Reference
Go to the source code of this file.
Data Structures | |
struct | KI2CConf |
i2c configuration structure More... | |
struct | KI2C |
i2c bus data structure More... | |
Enumerations | |
enum | KI2CNum { K_I2C_NO_BUS = 0, K_I2C1, K_I2C2, K_I2C3 } |
Available i2c buses. More... | |
enum | I2CAddressingMode { K_ADDRESSINGMODE_7BIT = 0, K_ADDRESSINGMODE_10BIT } |
Expected addressing mode of i2c bus. More... | |
enum | I2CRole { K_MASTER = 0, K_SLAVE } |
Expected role of i2c bus. More... | |
enum | KI2CStatus { I2C_OK = 0, I2C_ERROR, I2C_ERROR_AF, I2C_ERROR_ADDR_TIMEOUT, I2C_ERROR_TIMEOUT, I2C_ERROR_NACK, I2C_ERROR_TXE_TIMEOUT, I2C_ERROR_BTF_TIMEOUT, I2C_ERROR_NULL_HANDLE, I2C_ERROR_CONFIG } |
i2c function status More... | |
Functions | |
void | k_i2c_init (KI2CNum i2c, KI2CConf *conf) |
Setup and enable i2c bus. More... | |
void | k_i2c_terminate (KI2CNum i2c) |
Terminate i2c bus. More... | |
KI2CConf | k_i2c_conf_defaults (void) |
Generate KI2CConf with default I2C values. More... | |
void | k_i2c_default_init () |
Init DEFAULT_I2C bus with default config values. More... | |
void | k_i2c_default_dev_init (KI2CNum i2c) |
Initialize i2c device with default config values. More... | |
KI2CStatus | k_i2c_write (KI2CNum i2c, uint16_t addr, uint8_t *ptr, int len) |
Transmit data over i2c bus to specified address. More... | |
KI2CStatus | k_i2c_read (KI2CNum i2c, uint16_t addr, uint8_t *ptr, int len) |
Read data over i2c bus from specified address. More... | |
KI2C * | kprv_i2c_get (KI2CNum i2c) |
Fetches i2c bus data structure. More... | |
KI2CStatus | kprv_i2c_dev_init (KI2CNum i2c) |
Low level hal device initialization This is implemented by the device specific hal. More... | |
KI2CStatus | kprv_i2c_dev_terminate (KI2CNum i2c) |
Low level hal i2c termination This is implemented by the device specific hal. More... | |
KI2CStatus | kprv_i2c_master_write (KI2CNum i2c, uint16_t addr, uint8_t *ptr, int len) |
Low level hal i2c write (as master) This is implemented by the device specific hal. More... | |
KI2CStatus | kprv_i2c_master_read (KI2CNum i2c, uint16_t addr, uint8_t *ptr, int len) |
Low level hal i2c read (as master) This is implemented by the device specific hal. More... | |
KI2CStatus | kprv_i2c_slave_write (KI2CNum i2c, uint16_t addr, uint8_t *ptr, int len) |
Low level hal i2c write (as slave) This is implemented by the device specific hal. More... | |
KI2CStatus | kprv_i2c_slave_read (KI2CNum i2c, uint16_t addr, uint8_t *ptr, int len) |
Low level hal i2c read (as slave) This is implemented by the device specific hal. More... | |