openUBMC Chip Abstract Layer V0.1
载入中...
搜索中...
未找到
Public 成员函数 | 所有成员列表
DRIVER_I2C::I2c类 参考abstract

I2C 驱动接口 更多...

#include <i2c.h>

类 DRIVER_I2C::I2c 继承关系图:
Inheritance graph
[图例]
DRIVER_I2C::I2c 的协作图:
Collaboration graph
[图例]

Public 成员函数

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 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 void reset (int32_t index)=0
 重置I2C设备
 
- Public 成员函数 继承自 bcal::IDriver
 ~IDriver ()
 BCAL驱动析构
 
virtual void free (void)
 BCAL驱动析构
 
virtual void init (void *args, uint32_t size)=0
 BCAL驱动初始化接口
 
virtual void config (int32_t index, void *config, uint32_t size)=0
 驱动实例初始化配置
 
virtual void lock (int32_t index)=0
 驱动实例加锁 读写锁
 
virtual void unlock (int32_t index)=0
 驱动实例解锁
 
virtual string_t get_version (void)=0
 获取驱动版本信息
 

详细描述

I2C 驱动接口

成员函数说明

◆ read()

virtual std::tuple< int32_t, std::optional< string_t > > DRIVER_I2C::I2c::read ( int32_t  index,
uint32_t  length,
uint32_t  timeout,
uint32_t  retry,
const string_t &  in_data 
)
pure virtual

读取I2C设备数据

参数
indexI2C设备索引
length读取长度
timeout超时时间,单位: ms
retry重试次数
in_data读操作发送的数据 参见 DRIVER_I2C::I2cWriteMsg
返回
std::tuple<int32_t, std::optional<string_t>> 返回值1: 读取结果,0: 成功; others: 失败 返回值2: 读取到的数据,只有当读取结果为0时有效

◆ reset()

virtual void DRIVER_I2C::I2c::reset ( int32_t  index)
pure virtual

重置I2C设备

参数
indexI2C设备索引

◆ slave_cache_read()

virtual string_t DRIVER_I2C::I2c::slave_cache_read ( int32_t  index,
uint32_t  offset,
uint32_t  size 
)
pure virtual

I2C从设备读缓存 I2C主机写入从机缓存,读取缓存内容

参数
indexI2C设备索引
offset从设备寄存器地址偏移
size读数据长度
返回
string_t 读取到的数据

◆ slave_cache_write()

virtual int32_t DRIVER_I2C::I2c::slave_cache_write ( int32_t  index,
uint32_t  offset,
const string_view_t &  val 
)
pure virtual

I2C从设备写缓存 写入I2C从设备缓存,等待I2C主机读取

参数
indexI2C设备索引
offset从设备寄存器地址偏移
val写入数据
返回
int32_t 写入结果,0: 成功; others: 失败

◆ write()

virtual int32_t DRIVER_I2C::I2c::write ( int32_t  index,
const string_view_t &  in_data,
uint32_t  timeout,
uint8_t  write_delay 
)
pure virtual

写I2C设备数据

参数
indexI2C设备索引
in_data写入数据 参见 DRIVER_I2C::I2cWriteMsg
timeout超时时间,单位: ms
write_delay写操作间隔时间,单位: ms
返回
int32_t 0: 写入成功, -1: 写入失败

该类的文档由以下文件生成: