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.4.tar.gz
Algorithm | Hash digest | |
---|---|---|
SHA256 | 5218284e6c399f6c18e1ba3f16709913380977d93546a4a16482eb15eebddb78 |
|
MD5 | 67e282bb5456f56abd730894ae0d7d81 |
|
BLAKE2b-256 | 8dc1cde26449a1a274afa78f37e1aea05eb5f44a2c806553f0f5e8305922fd6d |
Hashes for pyjoulescope_driver-1.0.4-cp311-cp311-win_amd64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | e9be636b8a8c5c3cfbd5976cfde3f616c04a74313dd2af378d54d36a3a85e762 |
|
MD5 | 2fba6865aa376ead02e6b4d4d296b2df |
|
BLAKE2b-256 | f9f4815f7a2f4398b0fda1f99bffbbd7490a0f4e99452682a9909c23c256dcdf |
Hashes for pyjoulescope_driver-1.0.4-cp310-cp310-win_amd64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 8148f7d7b7cf892b9233f404f7b5a9e5b95de85adcb74dee8868fb91df2d6435 |
|
MD5 | bdf6b0f6900c1d5b1fd2a4224ac7d2af |
|
BLAKE2b-256 | e330a4b732477eae07b8fc2f4647f89b955978812dbf7f79c4951a8b1db17395 |
Hashes for pyjoulescope_driver-1.0.4-cp39-cp39-win_amd64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | c50a67098b812f6c4426a1aeae0cdeda65151347956702e5d6bb167e2c1ac7a4 |
|
MD5 | 2f69864fa681efdf30e412fe68f53bc1 |
|
BLAKE2b-256 | 8b1efb1b5d2abd872fdfc4cec8fe36adb742f56ff67585a41660b29814731302 |
Hashes for pyjoulescope_driver-1.0.4-cp38-cp38-win_amd64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | a575dc95f8ca80956ca907ede54af55027e005a3b8bb82551c9864b3cbb1938f |
|
MD5 | 4cc5f9008e46b0cf06e60df1106a0484 |
|
BLAKE2b-256 | ff7ac6ec88305d416288e7f218201b35e2157eb161e31d1694aef6d43ee2e55e |