Python library for working with the PD Buddy Sink Serial Console Configuration Interface
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
Clara Hobbs 309bc6530d Tested with pySerial 3.0 7 years ago
pdbuddy Add SinkConfig.__str__ method 7 years ago
.gitignore Initial commit 7 years ago
LICENSE Added a simple PD Buddy Sink configuration library 7 years ago
README.md Tested with pySerial 3.0 7 years ago

README.md

pd-buddy-python

Python library for working with the PD Buddy Sink Serial Console Configuration Interface

Features

  • Provides a Pythonic interface to the PD Buddy Sink shell commands
  • Configuration is represented as a SinkConfig object
  • SinkConfig objects can be manipulated locally and written to the device with one method call

Examples

Open the first PD Buddy Sink device and read its configuration

>>> import pdbuddy
>>> pdbs = pdbuddy.Sink(list(pdbuddy.Sink.get_devices())[0])
>>> pdbs.get_cfg()
SinkConfig(status=SinkStatus.VALID, flags=SinkFlags.NONE, v=5000, i=3000)
>>> print(pdbs.get_cfg())
status: valid
flags: (none)
v: 5.00 V
i: 3.00 A

Locally manipulate a SinkConfig object

>>> cfg = pdbs.get_cfg()
>>> cfg.v = 20000
>>> cfg.i = 2250
>>> cfg.flags |= pdbuddy.SinkFlags.GIVEBACK
>>> cfg
SinkConfig(status=SinkStatus.VALID, flags=SinkFlags.GIVEBACK, v=20000, i=2250)

Write the SinkConfig object to flash

>>> pdbs.set_tmpcfg(cfg)
>>> pdbs.write()
>>> pdbs.get_cfg()
SinkConfig(status=SinkStatus.VALID, flags=SinkFlags.GIVEBACK, v=20000, i=2250)

Requirements

  • Python >= 3.6
  • pySerial >= 3.0