README
sigrok プロジェクトは、ポータブルでクロスプラットフォームなフリー/リブレ/オープンソースの信号解析ソフトウェアスイートの作成を目指しており、さまざまなデバイスタイプ(ロジックアナライザ、オシロスコープ、マルチメーターなど)をサポートします。
libsigrok は C で書かれた共有ライブラリで、ハードウェアとの通信や、取得したデータをさまざまな入出力ファイル形式で読み書きするための基本的な API を提供します。
Status
libsigrok は使用可能な状態にあり、公式の tarball リリースが行われています。
API はリリースごとに変更される可能性がありますが、これは常に適切に文書化され、パッケージのバージョン番号と共有ライブラリ / libtool / .so ファイルのバージョン番号に反映されます。
ただし、git スナップショットでは安定した API の保証は一切ありません! ディストリビューションのパッケージャーは、リリースされた tarball のみを使用してください(git スナップショットは不可)。
Requirements
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(オプション、STF 入力の CRC32 計算に使用)
- 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(上記の libsigrok C ライブラリ)
- C++11 対応の C++ コンパイラ(-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(上記の libsigrok C++ バインディング)
- 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(上記の libsigrok C++ バインディング)
- Ruby >= 2.5.0(開発ファイルも含む!)
- SWIG >= 3.0.8
- YARD(オプション、Ruby API ドキュメントにのみ必要)
Java バインディングの要件:
- libsigrokcxx >= 0.4.0(上記の libsigrok C++ バインディング)
- SWIG >= 2.0.0
- Java JDK(JNI インクルードと javac/jar バイナリ用)
- doxygen(オプション、Java API ドキュメントにのみ必要)
- graphviz(オプション、Java API ドキュメントにのみ必要)
Building and installing
libsigrok のソースコードを取得してビルドするには、次を実行します:
$ git clone git://sigrok.org/libsigrok
$ cd libsigrok
$ ./autogen.sh
$ ./configure
$ make
libsigrok をインストールするには:
$ make install
詳細(OS 固有の手順)は INSTALL または次の wiki ページを参照してください:
http://sigrok.org/wiki/Building
問題が発生した場合は、次の wiki ページも確認してください:
http://sigrok.org/wiki/Building#FAQ
Device-specific issues
注意すべきデバイス固有またはドライバ固有の問題については、README.devices を確認してください。
Firmware
libsigrok がサポートする一部のデバイスは、使用前にファームウェアをアップロードする必要があります。詳細は README.devices を参照してください。
Copyright and license
libsigrok は GNU General Public License(GPL)バージョン 3 以降の条件の下でライセンスされています。
一部の個別のソースコードファイルは GPLv2+ でライセンスされ、一部のファイルは GPLv3+ でライセンスされていますが、ライブラリ全体が GPLv3+ の条件の下でライセンスされているという事実は変わりません。
著作権所有者の完全なリストについては、個々のソースファイルを参照してください。
Mailing list
https://lists.sourceforge.net/lists/listinfo/sigrok-devel
IRC
sigrok 開発者は Libera.Chat の #sigrok IRC チャンネルにいます。
Website
http://sigrok.org/wiki/Libsigrok