Skip to main content

Joulescope™ driver

Project description

Windows amd64 macOS amd64 Ubuntu Linux amd64

Joulescope Driver

Welcome to the Joulescope™ Driver project. Joulescope is an affordable, precision DC energy analyzer that enables you to build better products.

This user-space C library communicates with Joulescope products to configure operation and receive data. The first-generation driver introduced in 2019 was written in Python. While Python proved to be a very flexible language enabling many user scripts, it was difficult to support other languages.
This second-generation driver launched in 2022 addresses several issues with the first-generation python driver including:

  1. Improved event-driven API based upon PubSub for easier integration with user interfaces and other complicated software packages.
  2. Improved portability for easier language bindings.
  3. Improved performance.

Limitations

This project is currently under active development. As of 2022 Aug 1, this project has the following known limitations:

  1. Only Windows support
    1. Builds under macOS, but libusb_init returns error -99.
    2. Linux support planned soon.
  2. JS110 support not yet at feature parity to existing pyjoulescope.
    1. No current range suppression filtering yet.
    2. No downsampling.
  3. Limited testing - Still a work in progress. Not yet ready for production use.

Building

Ensure that your computer has a develpment environment including CMake.

For macOS, install homebrew, then:

brew install libusb pkgconfig python3

Then:

cd {your/repos/joulescope_driver}
mkdir build && cd build
cmake ..
cmake --build . && ctest .

This package includes a command-line tool, jsdrv_util:

jsdrv_util --help
jsdrv_util scan

Python bindings

The python bindings are made to work with Python 3.9 and later. To install the dependencies:

cd {your/repos/joulescope_driver}
pip3 install -U requirements.txt

You should then be able to build the native bindings:

python3 setup.py build_ext --inplace

And run the Python development tools:

python3 -m pyjoulescope_driver --help
python3 -m pyjoulescope_driver scan
python3 -m pyjoulescope_driver ui

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

pyjoulescope_driver-1.0.1.tar.gz (254.4 kB view hashes)

Uploaded Source

Built Distributions

pyjoulescope_driver-1.0.1-cp310-cp310-win_amd64.whl (354.1 kB view hashes)

Uploaded CPython 3.10 Windows x86-64

pyjoulescope_driver-1.0.1-cp310-cp310-macosx_12_0_x86_64.whl (443.8 kB view hashes)

Uploaded CPython 3.10 macOS 12.0+ x86-64

pyjoulescope_driver-1.0.1-cp310-cp310-macosx_12_0_arm64.whl (2.2 MB view hashes)

Uploaded CPython 3.10 macOS 12.0+ ARM64

pyjoulescope_driver-1.0.1-cp310-cp310-macosx_10_15_x86_64.whl (2.3 MB view hashes)

Uploaded CPython 3.10 macOS 10.15+ x86-64

pyjoulescope_driver-1.0.1-cp39-cp39-win_amd64.whl (380.8 kB view hashes)

Uploaded CPython 3.9 Windows x86-64

pyjoulescope_driver-1.0.1-cp38-cp38-win_amd64.whl (381.9 kB view hashes)

Uploaded CPython 3.8 Windows x86-64

Supported by

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