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
Release files for pyjoulescope-driver 1.0.3
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | |
|---|---|---|---|
| pyjoulescope_driver-1.0.3.tar.gz | 256.9 kB | Details |
Built distributions (wheels)
| File | Reset | |||
|---|---|---|---|---|
| pyjoulescope_driver-1.0.3-cp310-cp310-win_amd64.whl | CPython 3.10 | CPython 3.10 | Windows x86-64 | Details |
| pyjoulescope_driver-1.0.3-cp310-cp310-macosx_12_0_x86_64.whl | CPython 3.10 | CPython 3.10 | macOS 12.0+ x86-64 | Details |
| pyjoulescope_driver-1.0.3-cp39-cp39-win_amd64.whl | CPython 3.9 | CPython 3.9 | Windows x86-64 | Details |
| pyjoulescope_driver-1.0.3-cp38-cp38-win_amd64.whl | CPython 3.8 | CPython 3.8 | Windows x86-64 | Details |
Total release size: 1.8 MB
Release files / pyjoulescope_driver-1.0.3.tar.gz
| Download URL | pyjoulescope_driver-1.0.3.tar.gz |
|---|---|
| Size | 256.9 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
40f08f11d2bd40c9b646031fe43c3f2d483a189fc4cbf9952ec06d11ba8e1c18
|
|
BLAKE2b-256 checksum How to use checksums |
123ae9ea2700a42c7c1496f211c9720e0a9a63b6fbc64b51067f2f7dac27258a
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/4.0.1 CPython/3.10.8
|
Release files / pyjoulescope_driver-1.0.3-cp310-cp310-win_amd64.whl
| Download URL | pyjoulescope_driver-1.0.3-cp310-cp310-win_amd64.whl |
|---|---|
| Size | 356.5 kB |
| Tags | CPython 3.10 Windows x86-64 |
|
SHA-256 checksum How to use checksums |
f8c3e52afe5deb50775b313e93ef17d22629b5236caf0f67b3e02b130d7f513a
|
|
BLAKE2b-256 checksum How to use checksums |
cc346f4977c859be863029a88483a9e894a4e6b25101395e5097fba36ece6dd6
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/4.0.1 CPython/3.10.8
|
Release files / pyjoulescope_driver-1.0.3-cp310-cp310-macosx_12_0_x86_64.whl
| Download URL | pyjoulescope_driver-1.0.3-cp310-cp310-macosx_12_0_x86_64.whl |
|---|---|
| Size | 447.7 kB |
| Tags | CPython 3.10 macOS 12.0+ x86-64 |
|
SHA-256 checksum How to use checksums |
71909c7703ed2e11573a3ec2a5cd9d7fa9457ec5f9d527e2b976fae87b5e7c2b
|
|
BLAKE2b-256 checksum How to use checksums |
5c74aa5e18d5c67865f147356074952fc1277bf57b3f55ed777fb7f5b0a6557b
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/4.0.1 CPython/3.10.8
|
Release files / pyjoulescope_driver-1.0.3-cp39-cp39-win_amd64.whl
| Download URL | pyjoulescope_driver-1.0.3-cp39-cp39-win_amd64.whl |
|---|---|
| Size | 383.4 kB |
| Tags | CPython 3.9 Windows x86-64 |
|
SHA-256 checksum How to use checksums |
6bc59b9e0c2c0b947a2716320876f24066edbe64587f758254419735bb2b0503
|
|
BLAKE2b-256 checksum How to use checksums |
d74a5a8af7e568917c27304dd52e0309ae5c062bf50dd230d3c040204bfcaeda
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/4.0.1 CPython/3.10.8
|
Release files / pyjoulescope_driver-1.0.3-cp38-cp38-win_amd64.whl
| Download URL | pyjoulescope_driver-1.0.3-cp38-cp38-win_amd64.whl |
|---|---|
| Size | 384.4 kB |
| Tags | CPython 3.8 Windows x86-64 |
|
SHA-256 checksum How to use checksums |
2200d88e7937705f2639e2deb0e62530fb91ab89b31dc2046d291bd6e67a18ad
|
|
BLAKE2b-256 checksum How to use checksums |
ef1f1cd686b3f4801f46633eb4ee78364d85c301a0c7ca2db351d7768e8c3311
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/4.0.1 CPython/3.10.8
|