Skip to main content

An application for controlling a Velleman LABPS3005D bench PSU and any compatible ones.

Project description

PSUcontrol

This is an application for controlling a Velleman LABPS3005D bench PSU and any compatible ones.

The project is still a work-in-progress and has only been tested with the aforementioned Velleman. That said, the basics do work fine for me.

PSUcontrol Example

CAVEATS

These PSUs tend to be buggy in multiple different ways and I have seen some mentions online about some of them just randomly having far longer delays in responding to commands than usual. The Velleman I have is missing e.g. the ability to control the audible beeps and the ability to lock/unlock the physical controls despite the protocol documentation saying otherwise. Without the ability to upgrade their firmwares this project is entirely YMMV and no guarantees are given.

INSTALLATION

The recommended approach:

pipx install psucontrol

(If you are not familiar with pipx, take a look here)

You can also grab one of the binary releases from the Releases-section but they are rather large because they bundle an entire Python-environment inside. Do also note that the Windows Defender is practically guaranteed to falsely flag the .exe-files as containing viruses -- this is a false positive but there is really not much I can do about it.

DEVELOPMENT

Install poetry. I, again, recommend pipx for this.

To modify the GUI:

git clone --recurse-submodules https://github.com/WereCatf/psucontrol
cd psucontrol
export PYSIDE_DESIGNER_PLUGINS="external/indicatorlabel;external/lcdlabel"
poetry install
poetry run pyside6-designer

If you have made any GUI or resource-file changes, you can rebuild the relevant files with:

cd psucontrol # If not already in there
poetry run pyside6-project build
# There is seemingly no way of making either pyside6-project or pyside6-uic to correctly generate the imports
# so we have to always fix the imports, or at least I have not found a way to do this automatically.
sed -i 's/^import rc_/import psucontrol.rc_/g' src/psucontrol/*.py

If you don't plan to touch the GUI-stuff, you can just do:

git clone --recurse-submodules https://github.com/WereCatf/psucontrol
cd psucontrol
poetry install

TODO

  • Fill out this README more
  • Implement the memory-buttons functionality
  • Add toggleable graphing
  • CLI-interface
  • TUI-interface
  • Maybe see about dumping the firmware (with Chipwhisperer?)
  • Add support for more PSUs?
  • Add support for multiple channels?

License

This project is licensed under the BSD 3-Clause License - see the LICENSE file for details.

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

psucontrol-0.6.2.tar.gz (62.8 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

psucontrol-0.6.2-py3-none-any.whl (67.0 kB view details)

Uploaded Python 3

File details

Details for the file psucontrol-0.6.2.tar.gz.

File metadata

  • Download URL: psucontrol-0.6.2.tar.gz
  • Upload date:
  • Size: 62.8 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.12

File hashes

Hashes for psucontrol-0.6.2.tar.gz
Algorithm Hash digest
SHA256 523913455cdb30fb76650b5b289f3ccd9c1cbbe63a8780e82d0e4719e23310ff
MD5 08e4ae17853ec813ca5426c4089a8d80
BLAKE2b-256 8394a3bc1ae404f7b9f5e8f680a34b57a91a9d4daa0fe11cb276d7156c127d3c

See more details on using hashes here.

Provenance

The following attestation bundles were made for psucontrol-0.6.2.tar.gz:

Publisher: buildandpublish.yaml on WereCatf/psucontrol

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file psucontrol-0.6.2-py3-none-any.whl.

File metadata

  • Download URL: psucontrol-0.6.2-py3-none-any.whl
  • Upload date:
  • Size: 67.0 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.12

File hashes

Hashes for psucontrol-0.6.2-py3-none-any.whl
Algorithm Hash digest
SHA256 1de52382a2ac23fc02cdae7540bf2e2989d3f7ade5881e02e8f0b4c4c0bfb4f3
MD5 e2706d92b121d7aac12372763d2595d2
BLAKE2b-256 d0eb1531924186f8969558dc36e845ee3d367fdaee77edf31ba24e18e5c1b669

See more details on using hashes here.

Provenance

The following attestation bundles were made for psucontrol-0.6.2-py3-none-any.whl:

Publisher: buildandpublish.yaml on WereCatf/psucontrol

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page