README
O projeto sigrok tem como objetivo criar uma suíte de software de análise de sinais portátil, multiplataforma, livre/aberta/código aberto que suporta vários tipos de dispositivos (como analisadores lógicos, osciloscópios, multímetros e outros).
libsigrok é uma biblioteca compartilhada escrita em C que fornece a API básica para comunicação com hardware e leitura/gravação dos dados adquiridos em vários formatos de arquivo de entrada/saída.
Status
libsigrok está em um estado utilizável e já teve lançamentos oficiais em tarball.
Embora a API possa mudar de um lançamento para outro, isso será sempre devidamente documentado e refletido no número de versão do pacote e nos números de versão da biblioteca compartilhada / libtool / arquivos .so.
Contudo, NÃO há garantias de APIs estáveis em snapshots do git!
Empacotadores de distros devem usar apenas tarballs lançados (nada de snapshots do git).
Requisitos
Requisitos para a biblioteca C:
- git (somente necessário ao compilar a partir do git)
- gcc (>= 4.0) ou clang
- make
- autoconf >= 2.63 (somente necessário ao compilar a partir do git)
- automake >= 1.11 (somente necessário ao compilar a partir do git)
- libtool (somente necessário ao compilar a partir do git)
- pkg-config >= 0.22
- libglib >= 2.32.0
- zlib (opcional, usado para cálculo de CRC32 na entrada STF)
- libzip >= 0.11
- libtirpc (opcional, usado pelo VXI, fallback quando glibc >= 2.26)
- libserialport >= 0.1.1 (opcional, usado por alguns drivers)
- librevisa >= 0.0.20130412 (opcional, usado por alguns drivers)
- libusb-1.0 >= 1.0.16 (opcional, usado por alguns drivers)
- hidapi >= 0.8.0 (opcional, usado para alguns "cabos seriais" baseados em HID)
- bluez/libbluetooth >= 4.0 (opcional, usado para comunicação Bluetooth/BLE)
- libftdi1 >= 1.0 (opcional, usado por alguns drivers)
- libgpib (opcional, usado por alguns drivers)
- libieee1284 (opcional, usado por alguns drivers)
- libgio >= 2.32.0 (opcional, usado por alguns drivers)
- nettle (opcional, usado por alguns drivers)
- check >= 0.9.4 (opcional, necessário apenas para executar testes de unidade)
- doxygen (opcional, necessário apenas para a documentação da API C)
- graphviz (opcional, necessário apenas para a documentação da API C)
Requisitos para os bindings de C++:
- libsigrok >= 0.4.0 (a biblioteca C do libsigrok, veja acima)
- Um compilador C++ com suporte a C++11 (opção -std=c++11), ex.:
- g++ (>= 4.8.1)
- clang++ (>= 3.3)
- autoconf-archive (somente necessário ao compilar a partir do git)
- doxygen (obrigatório para compilar os bindings, não apenas para a documentação da API C++!)
- graphviz (opcional, necessário apenas para a documentação da API C++)
- executável Python 3 (arquivos de desenvolvimento não são necessários)
- glibmm-2.4 (>= 2.32.0) ou glibmm-2.68 (>= 2.68.0)
Requisitos para os bindings de Python:
- libsigrokcxx >= 0.4.0 (os bindings C++ do libsigrok, veja acima)
- SWIG >= 2.0.0
- Python >= 3 (incluindo os arquivos de desenvolvimento!)
- Python setuptools
- pygobject >= 3.0.0, também conhecido como python-gi
- numpy
- doxygen (opcional, necessário apenas para a documentação da API Python)
- graphviz (opcional, necessário apenas para a documentação da API Python)
- doxypy (opcional, necessário apenas para a documentação da API Python)
Requisitos para os bindings de Ruby:
- libsigrokcxx >= 0.4.0 (os bindings C++ do libsigrok, veja acima)
- Ruby >= 2.5.0 (incluindo os arquivos de desenvolvimento!)
- SWIG >= 3.0.8
- YARD (opcional, necessário apenas para a documentação da API Ruby)
Requisitos para os bindings de Java:
- libsigrokcxx >= 0.4.0 (os bindings C++ do libsigrok, veja acima)
- SWIG >= 2.0.0
- Java JDK (para os includes do JNI e os binários javac/jar)
- doxygen (opcional, necessário apenas para a documentação da API Java)
- graphviz (opcional, necessário apenas para a documentação da API Java)
Compilação e instalação
Para obter o código-fonte do libsigrok e compilá-lo, execute:
$ git clone git://sigrok.org/libsigrok
$ cd libsigrok
$ ./autogen.sh
$ ./configure
$ make
Para instalar o libsigrok:
$ make install
Consulte INSTALL ou a seguinte página da wiki para mais instruções (específicas do sistema operacional):
http://sigrok.org/wiki/Building
Verifique também a seguinte página da wiki caso você encontre algum problema:
http://sigrok.org/wiki/Building#FAQ
Problemas específicos de dispositivos
Consulte README.devices para obter algumas notas e dicas sobre questões específicas de dispositivos ou drivers às quais você deve estar atento.
Firmware
Alguns dispositivos suportados pelo libsigrok precisam que um firmware seja carregado antes que o dispositivo possa ser usado. Consulte README.devices para detalhes.
Copyright e licença
libsigrok é licenciado sob os termos da Licença Pública Geral GNU (GPL), versão 3 ou posterior.
Embora alguns arquivos de código-fonte individuais sejam licenciados sob a GPLv2+ e alguns arquivos sob a GPLv3+, isso não muda o fato de que a biblioteca como um todo é licenciada sob os termos da GPLv3+.
Consulte os arquivos de código-fonte individuais para obter a lista completa dos detentores dos direitos autorais.
Lista de discussão
https://lists.sourceforge.net/lists/listinfo/sigrok-devel
IRC
Você pode encontrar os desenvolvedores do sigrok no canal #sigrok IRC na Libera.Chat.
Site
http://sigrok.org/wiki/Libsigrok