Joulescope™ driver
Project description
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:
- Improved event-driven API based upon PubSub for easier integration with user interfaces and other complicated software packages.
- Improved portability for easier language bindings.
- Improved performance.
Limitations
This project is currently under active development. As of 2022 Aug 1, this project has the following known limitations:
- Only Windows support
- Builds under macOS, but libusb_init returns error -99.
- Linux support planned soon.
- JS110 support not yet at feature parity to existing pyjoulescope.
- No current range suppression filtering yet.
- No downsampling.
- 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
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
Built Distributions
Hashes for pyjoulescope_driver-1.0.3.tar.gz
Algorithm | Hash digest | |
---|---|---|
SHA256 | 40f08f11d2bd40c9b646031fe43c3f2d483a189fc4cbf9952ec06d11ba8e1c18 |
|
MD5 | 70dc1cff81a455a3ad827103544835c1 |
|
BLAKE2b-256 | 123ae9ea2700a42c7c1496f211c9720e0a9a63b6fbc64b51067f2f7dac27258a |
Hashes for pyjoulescope_driver-1.0.3-cp310-cp310-win_amd64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | f8c3e52afe5deb50775b313e93ef17d22629b5236caf0f67b3e02b130d7f513a |
|
MD5 | 6ff7b77ba548c3884a8584a0569af1f9 |
|
BLAKE2b-256 | cc346f4977c859be863029a88483a9e894a4e6b25101395e5097fba36ece6dd6 |
Hashes for pyjoulescope_driver-1.0.3-cp310-cp310-macosx_12_0_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 71909c7703ed2e11573a3ec2a5cd9d7fa9457ec5f9d527e2b976fae87b5e7c2b |
|
MD5 | 98940d8a70903de4fcee3a24af8b6b7f |
|
BLAKE2b-256 | 5c74aa5e18d5c67865f147356074952fc1277bf57b3f55ed777fb7f5b0a6557b |
Hashes for pyjoulescope_driver-1.0.3-cp39-cp39-win_amd64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 6bc59b9e0c2c0b947a2716320876f24066edbe64587f758254419735bb2b0503 |
|
MD5 | 44e4739a25eda0fbc4f6a86805ae6ce9 |
|
BLAKE2b-256 | d74a5a8af7e568917c27304dd52e0309ae5c062bf50dd230d3c040204bfcaeda |
Hashes for pyjoulescope_driver-1.0.3-cp38-cp38-win_amd64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 2200d88e7937705f2639e2deb0e62530fb91ab89b31dc2046d291bd6e67a18ad |
|
MD5 | 4908292f4407d3319d8d527aabd4c9d2 |
|
BLAKE2b-256 | ef1f1cd686b3f4801f46633eb4ee78364d85c301a0c7ca2db351d7768e8c3311 |