#ifndef I2C_DRIVER_H__ #define I2C_DRIVER_H__ #include "common_types.h" #include typedef enum { I2C_SPEED_STANDARD = 100000, I2C_SPEED_FAST = 400000, } i2c_speed_t; ret_code_t i2c_init(uint32_t speed); ret_code_t i2c_deinit(void); ret_code_t i2c_master_write(uint8_t dev_addr, const uint8_t *data, uint32_t len); ret_code_t i2c_master_read(uint8_t dev_addr, uint8_t *data, uint32_t len); ret_code_t i2c_mem_write(uint8_t dev_addr, uint16_t mem_addr, uint8_t mem_addr_size, const uint8_t *data, uint32_t len); ret_code_t i2c_mem_read(uint8_t dev_addr, uint16_t mem_addr, uint8_t mem_addr_size, uint8_t *data, uint32_t len); ret_code_t i2c_check_device(uint8_t dev_addr); #endif