Skip to main content

A package to control Digilent Waveforms devices

Project description

pydwf

This is the README of pydwf, a Python package to control the Digilent Waveforms electronic test and measurement devices made by Digilent.

It wraps all functions of libdwf, the low-level C library provided by Digilent, in an easy-to-use, class-based Python API. Like the C library, the pydwf package supports Windows, Linux (Intel and ARM), and macOS.

The current release of pydwf is version 0.6.15. It is intended to be used with version 3.16.3 of libdwf.

The pydwf package comes with documentation (sparse, but improving) and a considerable number of ready-to-run examples, demonstrating how pydwf can be used to perform common and not-so-common measurement tasks.

A command-line tool is provided that can be used, among other things, to list the available Digilent devices and their configurations.

This README file contains information about the project. Readers who want to learn how to use pydwf are referred to the API documentation.

Supported devices

The following devices can be controlled using pydwf:

  • Electronics Explorer (legacy)
  • Analog Discovery (legacy)
  • Analog Discovery 2
  • Digital Discovery
  • Analog Discovery Studio
  • Analog Discovery Pro (3250, 3450)

The pydwf package has been extensively tested with the Analog Discovery 2 and Digital Discovery devices. It should also work with the other devices listed, but these haven't been tested. If you have such a device and encounter problems, please report an issue on the Github issue tracker.

Dependencies

The pydwf package requires Python 3.6 or higher.

In order for pydwf to work, recent versions of the the Digilent Adept and Digilent Waveforms packages must be installed. These provide the C libraries that pydwf uses to interact with devices. Generally speaking, if the Waveforms GUI application provided by Digilent works on your system, you're good to go.

pydwf depends on the numpy package to handle the considerable amount of data transferred between the PC and Digilent devices when performing high-speed signal generation or capture operations.

Some of the examples depend on the matplotlib package, but pydwf itself will work without it.

Project hosting

The project repository and issue tracker are hosted on Github:

https://github.com/sidneycadot/pydwf/

Installation using pip

The installable package is hosted on PyPI:

https://pypi.org/project/pydwf/

This allows installation using the standard pip (or pip3) tool:

pip install pydwf

After installing pydwf, the following command will show the version of pydwf and the underlying DWF library:

python -m pydwf version

The following command will list all Digilent Waveforms devices connected to the system and, for each of them, list the supported configurations:

python -m pydwf list -c

Documentation

The project documentation is hosted on readthedocs and can be reached via the following link:

https://pydwf.readthedocs.io/en/latest/

If desired, the documentation can also be installed locally after installing the package by executing the following command:

python -m pydwf extract-html-docs

This will create a local directory called pydwf-docs-html containing the project documentation in HTML format.

Alternatively, a PDF version of the manual can be extracted as well:

python -m pydwf extract-pdf-manual

Please note that the documentation is not yet complete — it's a big API!

Examples

The Python examples can be installed locally after installing the pydwf package by executing the following command:

python -m pydwf extract-examples

This will create a local directory called pydwf-examples containing the Python examples that demonstrate many of the capabilities of the Digilent devices and pydwf.

These examples are intended as a useful starting point for your own Python scripts. See the Examples overview for more information.

Project details


Release history Release notifications | RSS feed

Download files

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

Source Distribution

pydwf-0.6.15.tar.gz (10.5 MB view details)

Uploaded Source

Built Distribution

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

pydwf-0.6.15-py3-none-any.whl (10.5 MB view details)

Uploaded Python 3

File details

Details for the file pydwf-0.6.15.tar.gz.

File metadata

  • Download URL: pydwf-0.6.15.tar.gz
  • Upload date:
  • Size: 10.5 MB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.4.1 importlib_metadata/4.0.1 pkginfo/1.7.0 requests/2.25.1 requests-toolbelt/0.9.1 tqdm/4.61.0 CPython/3.9.5

File hashes

Hashes for pydwf-0.6.15.tar.gz
Algorithm Hash digest
SHA256 71e62d5460a6b004adf9945b96f62a4d13224674eea5c0b5dc9565da37fd0e53
MD5 507856a753d767bd0b7deb5b005fab32
BLAKE2b-256 c6d3afcd95f3723ecbc252d8b4067f7463b3a6d1a4eda32c6bc6bdda27c52c94

See more details on using hashes here.

File details

Details for the file pydwf-0.6.15-py3-none-any.whl.

File metadata

  • Download URL: pydwf-0.6.15-py3-none-any.whl
  • Upload date:
  • Size: 10.5 MB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.4.1 importlib_metadata/4.0.1 pkginfo/1.7.0 requests/2.25.1 requests-toolbelt/0.9.1 tqdm/4.61.0 CPython/3.9.5

File hashes

Hashes for pydwf-0.6.15-py3-none-any.whl
Algorithm Hash digest
SHA256 75fc9efbc20b3956328d75585eca87176b1cbec35fe263036b741a39ddf85457
MD5 592c402cf8bcf8639df6ae0d87a0a9f0
BLAKE2b-256 de0e5b18f6f47ebd517197116973383fc6705ad8d3fdabd34c72f342d5af509c

See more details on using hashes here.

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