用于配置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中以反射方式使用泛型参数调用方法?   java分配给另一个变量的变量是否更改(原始变量更改)第二个变量是否更改?   java没有此类元素异常(警告:服务器未提供任何stacktrace信息)   java检查用户是否经过密码验证或与某个提供者进行了验证   java在向“价格”和“数量”列单元格添加数据时更新JTable中的“金额”列单元格   Android Studio找不到java编译器   java“在foo类的公共方法中,哪个变量(实例或本地)起作用?”   java动态Log4j2 LogfilePath   java使用OO编程避免多个嵌套if   java有没有办法在IntelliJ更改跟踪中突出显示未保存或更改的行   Java中两个矩阵相乘的数组   java打印包含阿拉伯字符的字符串会导致问号。如何修复?   java为什么声明整型静态会导致代码中出现错误?   java在使用@Bean Spring注释创建Bean时遇到异常   java是否将JavaCV添加为依赖项,以便在Raspberry PI上运行?   java如何使用trycatch测试注入的mock   java如何在不同的环境(开发、测试、生产)中维护相同的数据表?   java将Char转换为KeyEvent