用于配置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命令的唯一真正方法。成为 意识到接收器的配置将受到测试的影响。

欢迎加入QQ群-->: 979659372 Python中文网_新手群

推荐PyPI第三方库


热门话题
java未从Facebook OAuth接收名字、姓氏和姓氏   我自己代码中的java ConcurrentModificationException   java在Android上获得单像素TIFF图像   java图形输出中的swing集成弹出窗口“通知”   将数据库表中的所有数据集插入jTable Java   java如何使用Hibernate获取不完整的集合?   打印无法从java连接到打印机   java使用分隔符拆分带引号的字符串   java Axis2禁用严格验证(wsdl2java中的Eosv)允许什么,如何使其更加严格?   java有人能帮我处理循环代码吗   java将JsonObject数组转换为整数   JavaXWiki扩展:检测事件空间创建   java如何设置图表的文本方向以使用poi旋转所有文本?   eche RecyclerView项的java Set自定义字体   java单元测试带有私有构造函数的spring组件,无需注入   用户界面如何在java中动态显示一组多个元素?   如何从java应用程序调用IDL(交互式数据语言)?   Java的内置库实现