descriptionbasic hardware access drivers for logic analyzers and other supported devices, as well as input/output file format support
homepage URLhttp://sigrok.org
repository URLgit://sigrok.org/libsigrok
ownerGerhard.Sittig@gmx.net
last changeWed, 3 Jan 2024 19:21:36 +0000 (3 20:21 +0100)
last refreshSat, 4 May 2024 01:01:31 +0000 (4 03:01 +0200)
content tags
add:
README
-------------------------------------------------------------------------------
README
-------------------------------------------------------------------------------

The sigrok project aims at creating a portable, cross-platform,
Free/Libre/Open-Source signal analysis software suite that supports various
device types (such as logic analyzers, oscilloscopes, multimeters, and more).

libsigrok is a shared library written in C which provides the basic API
for talking to hardware and reading/writing the acquired data into various
input/output file formats.


Status
------

libsigrok is in a usable state and has had official tarball releases.

While the API can change from release to release, this will always be
properly documented and reflected in the package version number and
in the shared library / libtool / .so-file version numbers.

However, there are _NO_ guarantees at all for stable APIs in git snapshots!
Distro packagers should only use released tarballs (no git snapshots).


Requirements
------------

Requirements for the C library:

 - git (only needed when building from git)
 - gcc (>= 4.0) or clang
 - make
 - autoconf >= 2.63 (only needed when building from git)
 - automake >= 1.11 (only needed when building from git)
 - libtool (only needed when building from git)
 - pkg-config >= 0.22
 - libglib >= 2.32.0
 - zlib (optional, used for CRC32 calculation in STF input)
 - libzip >= 0.10
 - libtirpc (optional, used by VXI, fallback when glibc >= 2.26)
 - libserialport >= 0.1.1 (optional, used by some drivers)
 - librevisa >= 0.0.20130412 (optional, used by some drivers)
 - libusb-1.0 >= 1.0.16 (optional, used by some drivers)
 - hidapi >= 0.8.0 (optional, used for some HID based "serial cables")
 - bluez/libbluetooth >= 4.0 (optional, used for Bluetooth/BLE communication)
 - libftdi1 >= 1.0 (optional, used by some drivers)
 - libgpib (optional, used by some drivers)
 - libieee1284 (optional, used by some drivers)
 - libgio >= 2.32.0 (optional, used by some drivers)
 - nettle (optional, used by some drivers)
 - check >= 0.9.4 (optional, only needed to run unit tests)
 - doxygen (optional, only needed for the C API docs)
 - graphviz (optional, only needed for the C API docs)

Requirements for the C++ bindings:

 - libsigrok >= 0.4.0 (the libsigrok C library, see above)
 - A C++ compiler with C++11 support (-std=c++11 option), e.g.
   - g++ (>= 4.8.1)
   - clang++ (>= 3.3)
 - autoconf-archive (only needed when building from git)
 - doxygen (required for building the bindings, not only for C++ API docs!)
 - graphviz (optional, only needed for the C++ API docs)
 - Python (2 or 3) executable (development files are not needed)
 - glibmm-2.4 (>= 2.32.0) or glibmm-2.68 (>= 2.68.0)

Requirements for the Python bindings:

 - libsigrokcxx >= 0.4.0 (the libsigrok C++ bindings, see above)
 - Python >= 2.7 or Python >= 3 (including development files!)
 - Python setuptools (for Python 2 or 3)
 - pygobject >= 3.0.0 (for Python 2 or 3), a.k.a python-gi
 - numpy (for Python 2 or 3)
 - SWIG >= 2.0.0
 - doxygen (optional, only needed for the Python API docs)
 - graphviz (optional, only needed for the Python API docs)
 - doxypy (optional, only needed for the Python API docs)

Requirements for the Ruby bindings:

 - libsigrokcxx >= 0.4.0 (the libsigrok C++ bindings, see above)
 - Ruby >= 2.5.0 (including development files!)
 - SWIG >= 3.0.8
 - YARD (optional, only needed for the Ruby API docs)

Requirements for the Java bindings:

 - libsigrokcxx >= 0.4.0 (the libsigrok C++ bindings, see above)
 - SWIG >= 2.0.0
 - Java JDK (for JNI includes and the javac/jar binaries)
 - doxygen (optional, only needed for the Java API docs)
 - graphviz (optional, only needed for the Java API docs)


Building and installing
-----------------------

In order to get the libsigrok source code and build it, run:

 $ git clone git://sigrok.org/libsigrok
 $ cd libsigrok
 $ ./autogen.sh
 $ ./configure
 $ make

For installing libsigrok:

 $ make install

See INSTALL or the following wiki page for more (OS-specific) instructions:

 http://sigrok.org/wiki/Building

Please also check the following wiki page in case you encounter any issues:

 http://sigrok.org/wiki/Building#FAQ


Device-specific issues
----------------------

Please check README.devices for some notes and hints about device- or
driver-specific issues to be aware of.


Firmware
--------

Some devices supported by libsigrok need a firmware to be uploaded before the
device can be used. See README.devices for details.


Copyright and license
---------------------

libsigrok is licensed under the terms of the GNU General Public License
(GPL), version 3 or later.

While some individual source code files are licensed under the GPLv2+, and
some files are licensed under the GPLv3+, this doesn't change the fact that
the library as a whole is licensed under the terms of the GPLv3+.

Please see the individual source files for the full list of copyright holders.


Mailing list
------------

 https://lists.sourceforge.net/lists/listinfo/sigrok-devel


IRC
---

You can find the sigrok developers in the #sigrok IRC channel on Libera.Chat.


Website
-------

 http://sigrok.org/wiki/Libsigrok
shortlog
2024-01-03 Gerhard Sittigoutput/csv: use intermediate time_t var, silence compil... master
2024-01-03 Gerhard Sittiginput/protocoldata: silence build warnings, adjust...
2023-12-29 Gerhard Sittigoutput/srzip: reduce text line length, remove "dead...
2023-12-29 Gerhard Sittigoutput/srzip: accept arbitrary input and output unit...
2023-12-29 Gerhard Sittigoutput/srzip: rename variables for samples counts
2023-12-29 Gerhard Sittigoutput/srzip: rename variable for archive unit size
2023-12-21 Marc Schinkscpi/serial: Add USB VID/PID for R&S HMC808x series
2023-12-21 Marc Schinkcontrib: Add udev rule for R&S HMC804x series (USBTMC)
2023-12-21 Marc Schinkscpi-pps: Add support for R&S HMC8042
2023-12-21 Marc Schinkscpi-pps: Add OCP support for R&S HMC8043
2023-12-21 Marc Schinkscpi-pps: Add support for SR_CONF_OVER_CURRENT_PROTECTI...
2023-12-21 Marc Schinkhwdriver: Add SR_CONF_OVER_CURRENT_PROTECTION_DELAY
2023-12-21 Gerhard Sittiggreatfet: feed the session with constant width sample...
2023-12-21 Gerhard Sittigtests: adjust test coverage for power of two and input...
2023-12-21 Gerhard Sittigstrutil: support special case in power of two calculation
2023-11-27 Gerhard Sittighantek-dso: eliminate the "forced trigger" option value
...
tags
4 years ago libsigrok-0.5.2 libsigrok 0.5.2 release
5 years ago libsigrok-0.5.1 libsigrok 0.5.1 release
5 years ago libsigrok-unreleased libsigrok unreleased development...
6 years ago twinkie-0.5.0-v2
6 years ago twinkie-0.5.0-v1
6 years ago libsigrok-0.5.0 libsigrok 0.5.0 release
8 years ago libsigrok-0.4.0 libsigrok-0.4.0 release
10 years ago libsigrok-0.3.0 libsigrok 0.3.0 release
10 years ago libsigrok-0.2.2 libsigrok 0.2.2 release
10 years ago libsigrok-0.2.1 libsigrok 0.2.1 release
11 years ago libsigrok-0.2.0 libsigrok 0.2.0 release
11 years ago dsupstream
11 years ago libsigrok-0.1.1 libsigrok 0.1.1 release
12 years ago libsigrok-0.1.0 libsigrok 0.1.0 release
heads
3 months ago master
4 years ago libsigrok-0.5.x
8 years ago libsigrok-0.4.x
10 years ago libsigrok-0.3.x
10 years ago dslogic
10 years ago libsigrok-0.2.x
forks
Cached version (6944s old)
libsigrok/gsi.git gsi's contribution to libsigrok Gerhard.Sittig@gmx.net 3 months ago