Files

21 lines
704 B
C
Raw Permalink Normal View History

#ifndef I2C_DRIVER_H__
#define I2C_DRIVER_H__
#include "common_types.h"
#include <stdint.h>
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