用于配置pd buddy sink设备的python库
pd-buddy-python的Python项目详细描述
用于使用pd buddy sink串行控制台的python库 配置界面
功能
- 为pd buddy sink shell命令提供pythonic接口
- 配置表示为sinkconfig对象
- sinkconfig对象可以在本地操作并写入 具有一个方法调用的设备
- 允许控制是否启用输出
- 提供一个pythonic接口,用于读取播发的pdo
- 提供测试电源是否遵循电源规则的功能
- 包括一个脚本,用于测试PD好友接收器是否正常工作
示例
打开第一个PD Buddy Sink设备并读取其配置
>>> import pdbuddy >>> pdbs = pdbuddy.Sink(list(pdbuddy.Sink.get_devices())[0]) >>> pdbs.get_cfg() SinkConfig(status=<SinkStatus.VALID: 2>, flags=<SinkFlags.NONE: 0>, v=5000, vmin=None, vmax=None, i=3000, idim=<SinkDimension.CURRENT: 1>) >>> print(pdbs.get_cfg()) status: valid flags: (none) v: 5.000 V i: 3.00 A
本地操作sinkconfig对象
>>> cfg = pdbs.get_cfg() >>> cfg = cfg._replace(v=20000, i=2250) >>> cfg = cfg._replace(flags=cfg.flags | pdbuddy.SinkFlags.GIVEBACK) >>> cfg SinkConfig(status=<SinkStatus.VALID: 2>, flags=<SinkFlags.GIVEBACK: 1>, v=20000, vmin=None, vmax=None, i=2250, idim=<SinkDimension.CURRENT: 1>)
将sinkconfig对象写入flash
>>> pdbs.set_tmpcfg(cfg) >>> pdbs.write() >>> pdbs.get_cfg() SinkConfig(status=<SinkStatus.VALID: 2>, flags=<SinkFlags.GIVEBACK: 1>, v=20000, vmin=None, vmax=None, i=2250, idim=<SinkDimension.CURRENT: 1>)
要求
- Python2.7,>;=3.3
- pyserial=3.0
- aenum>;=2.0(如果使用python<;3.6)
测试
要运行单元测试,请运行:
$ python setup.py test
这将测试sink类,只有当一个pd伙伴sink被插入和插入时 设置模式,因此如果要测试对 下沉类。另外,确保测试时状态LED快速闪烁 运行,因为这是测试identify命令的唯一真正方法。成为 意识到接收器的配置将受到测试的影响。