README
Проект sigrok направлен на создание портативного, кроссплатформенного,
свободного/открытого комплекта программного обеспечения для анализа сигналов,
поддерживающего различные типы устройств (такие как логические анализаторы,
осциллографы, мультиметры и другие).
libsigrok — это разделяемая библиотека, написанная на C, которая
предоставляет базовый API для взаимодействия с оборудованием и
чтения/записи полученных данных в различные форматы входных/выходных файлов.
Статус
libsigrok находится в работоспособном состоянии, и для него выпускались
официальные tarball-релизы.
Хотя API может меняться от релиза к релизу, это всегда будет должным образом
документироваться и отражаться в номере версии пакета, а также в номерах
версий разделяемой библиотеки / libtool / .so-файлов.
Однако для стабильности API в git-снимках НЕТ никаких гарантий!
Сборщики дистрибутивов должны использовать только выпущенные tarball-архивы
(не git-снимки).
Требования
Требования для библиотеки C:
- git (нужен только при сборке из git)
- gcc (>= 4.0) или clang
- make
- autoconf >= 2.63 (нужен только при сборке из git)
- automake >= 1.11 (нужен только при сборке из git)
- libtool (нужен только при сборке из git)
- pkg-config >= 0.22
- libglib >= 2.32.0
- zlib (необязательно, используется для расчёта CRC32 во входных данных STF)
- libzip >= 0.11
- libtirpc (необязательно, используется в VXI; запасной вариант при glibc >= 2.26)
- libserialport >= 0.1.1 (необязательно, используется некоторыми драйверами)
- librevisa >= 0.0.20130412 (необязательно, используется некоторыми драйверами)
- libusb-1.0 >= 1.0.16 (необязательно, используется некоторыми драйверами)
- hidapi >= 0.8.0 (необязательно, используется для некоторых HID-«последовательных кабелей»)
- bluez/libbluetooth >= 4.0 (необязательно, используется для связи Bluetooth/BLE)
- libftdi1 >= 1.0 (необязательно, используется некоторыми драйверами)
- libgpib (необязательно, используется некоторыми драйверами)
- libieee1284 (необязательно, используется некоторыми драйверами)
- libgio >= 2.32.0 (необязательно, используется некоторыми драйверами)
- nettle (необязательно, используется некоторыми драйверами)
- check >= 0.9.4 (необязательно, нужно только для запуска модульных тестов)
- doxygen (необязательно, нужно только для документации C API)
- graphviz (необязательно, нужно только для документации C API)
Требования для привязок C++:
- libsigrok >= 0.4.0 (библиотека C libsigrok, см. выше)
- Компилятор C++ с поддержкой C++11 (опция -std=c++11), например:
- g++ (>= 4.8.1)
- clang++ (>= 3.3)
- autoconf-archive (нужен только при сборке из git)
- doxygen (обязателен для сборки привязок, а не только для документации C++ API!)
- graphviz (необязательно, нужен только для документации C++ API)
- исполняемый файл Python 3 (файлы для разработки не нужны)
- glibmm-2.4 (>= 2.32.0) или glibmm-2.68 (>= 2.68.0)
Требования для привязок Python:
- libsigrokcxx >= 0.4.0 (привязки C++ libsigrok, см. выше)
- SWIG >= 2.0.0
- Python >= 3 (включая файлы для разработки!)
- Python setuptools
- pygobject >= 3.0.0, также известный как python-gi
- numpy
- doxygen (необязательно, нужен только для документации Python API)
- graphviz (необязательно, нужен только для документации Python API)
- doxypy (необязательно, нужен только для документации Python API)
Требования для привязок Ruby:
- libsigrokcxx >= 0.4.0 (привязки C++ libsigrok, см. выше)
- Ruby >= 2.5.0 (включая файлы для разработки!)
- SWIG >= 3.0.8
- YARD (необязательно, нужен только для документации Ruby API)
Требования для привязок Java:
- libsigrokcxx >= 0.4.0 (привязки C++ libsigrok, см. выше)
- SWIG >= 2.0.0
- Java JDK (для JNI-заголовков и бинарных файлов javac/jar)
- doxygen (необязательно, нужен только для документации Java API)
- graphviz (необязательно, нужен только для документации Java API)
Сборка и установка
Чтобы получить исходный код libsigrok и собрать его, выполните:
$ git clone git://sigrok.org/libsigrok
$ cd libsigrok
$ ./autogen.sh
$ ./configure
$ make
Для установки libsigrok:
$ make install
Более подробные инструкции (для конкретных ОС) см. в INSTALL или на следующей
странице вики:
http://sigrok.org/wiki/Building
Пожалуйста, также обратитесь к следующей странице вики в случае возникновения
каких-либо проблем:
http://sigrok.org/wiki/Building#FAQ
Проблемы, связанные с конкретными устройствами
Пожалуйста, ознакомьтесь с README.devices — там есть заметки и подсказки
о проблемах, связанных с конкретными устройствами или драйверами, о которых
следует знать.
Прошивка
Некоторые устройства, поддерживаемые libsigrok, требуют загрузки прошивки
перед началом использования. Подробнее см. в README.devices.
Авторские права и лицензия
libsigrok распространяется на условиях GNU General Public License (GPL),
версии 3 или более поздней.
Хотя некоторые отдельные файлы исходного кода распространяются под лицензией
GPLv2+, а некоторые — под GPLv3+, это не меняет того факта, что библиотека
в целом распространяется на условиях GPLv3+.
Полный список правообладателей приведён в отдельных файлах исходного кода.
Список рассылки
https://lists.sourceforge.net/lists/listinfo/sigrok-devel
IRC
Разработчиков sigrok можно найти в IRC-канале #sigrok на Libera.Chat.
Веб-сайт
http://sigrok.org/wiki/Libsigrok