libsigrok is a shared library written in C, which provides the basic hardware access drivers for logic analyzers and other supported devices, as well as input/output file format support.
It is licensed under the terms of the GNU GPL, version 3 or later.
Getting the code
$ git clone git://sigrok.org/libsigrok
You can also browse the source code via gitweb.
Building from source
libsigrok ships with a framework for different language bindings based on SWIG and doxygen. Currently supported languages include C++, Python and Java (others can be added).
See the C++ bindings API documentation for details on how to use the bindings.
See the Python bindings API documentation for details on how to use the bindings.
See the Java bindings API documentation for details on how to use the bindings.
The Java bindings are not yet used by any project hosted at sigrok.org. Please let us know if you're using the Java bindings in any of your own projects!
There is a plugin for the collectd system statistics collecting daemon.
An example config file snippet for collectd and libsigrok usage could look e.g. like this:
LoadPlugin "sigrok" <Plugin "sigrok"> LogLevel 3 <Device "Sound level"> Driver "cem-dt-885x" conn "/dev/ttyUSB3" MinimumInterval 1 </Device> <Device "Temperature"> Driver "uni-t-ut32x" conn "1a86.e008" MinimumInterval 1 </Device> </Plugin>
Some devices supported by libsigrok need a firmware to be uploaded before the device can be used.
See Firmware for details on how to get them and where to place them.