29constexpr string_view_t I2C_TRACE_NAME =
"i2c";
74 virtual std::tuple<int32_t, std::optional<string_t>>
read(int32_t index, uint32_t length, uint32_t timeout, uint32_t retry,
const string_t &in_data) = 0;
85 virtual int32_t
write(int32_t index,
const string_view_t &in_data, uint32_t timeout, uint8_t write_delay) = 0;
105 virtual int32_t
slave_cache_write(int32_t index, uint32_t offset,
const string_view_t &val) = 0;
112 virtual void reset(int32_t index) = 0;
I2C 驱动接口
Definition i2c.h:60
virtual int32_t write(int32_t index, const string_view_t &in_data, uint32_t timeout, uint8_t write_delay)=0
写I2C设备数据
virtual string_t slave_cache_read(int32_t index, uint32_t offset, uint32_t size)=0
I2C从设备读缓存 I2C主机写入从机缓存,读取缓存内容
virtual int32_t slave_cache_write(int32_t index, uint32_t offset, const string_view_t &val)=0
I2C从设备写缓存 写入I2C从设备缓存,等待I2C主机读取
virtual std::tuple< int32_t, std::optional< string_t > > read(int32_t index, uint32_t length, uint32_t timeout, uint32_t retry, const string_t &in_data)=0
读取I2C设备数据
virtual void reset(int32_t index)=0
重置I2C设备
BCAL层驱动公共接口
Definition driver.h:41
I2C 设备配置结构体
Definition i2c.h:35
uint32_t addr
Definition i2c.h:38
uint32_t speed
Definition i2c.h:36
uint32_t use_smbus
smbus模式 I2c总线是否使用Smbus模式, 枚举值范围0/1, 1: 总线初始化为Smbus模式
Definition i2c.h:43
uint32_t mode
Definition i2c.h:37
I2C 消息结构体
Definition i2c.h:50
uint8_t data[1]
Definition i2c.h:53
uint8_t rw
Definition i2c.h:51
uint8_t addr
Definition i2c.h:52