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.
Ensure that your computer has a development environment including CMake.
Install cmake and your favorite build toolchain such as Visual Studio, mingw64, wsl, ninja.
For macOS, install homebrew, then:
brew install pkgconfig python3
For Ubuntu:
sudo apt install cmake build-essential ninja-build
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
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
On Windows, you may be prompted to install the Microsoft C++ Build Tools.
And run the Python development tools:
python3 -m pyjoulescope_driver --help
python3 -m pyjoulescope_driver scan
python3 -m pyjoulescope_driver ui
You may optionally choose to use a Python virtual environment.