README
Le projet sigrok vise à créer une suite logicielle portable, multiplateforme, libre et open source, d'analyse de signaux, qui prend en charge différents types d'appareils (tels que les analyseurs logiques, oscilloscopes, multimètres, etc.).
libsigrok est une bibliothèque partagée écrite en C qui fournit l'API de base pour communiquer avec le matériel et lire/écrire les données acquises dans divers formats de fichiers d'entrée/sortie.
Statut
libsigrok est dans un état utilisable et a connu des versions officielles sous forme de tarballs.
Bien que l'API puisse changer d'une version à l'autre, cela sera toujours correctement documenté et reflété dans le numéro de version du paquet et dans les numéros de version de la bibliothèque partagée / libtool / fichier .so.
Cependant, il n'y a AUCUNE garantie de stabilité des API dans les instantanés git ! Les empaqueteurs de distributions ne devraient utiliser que les tarballs de versions publiées (pas d'instantanés git).
Prérequis
Prérequis pour la bibliothèque C :
- git (uniquement nécessaire lors de la compilation depuis git)
- gcc (>= 4.0) ou clang
- make
- autoconf >= 2.63 (uniquement nécessaire lors de la compilation depuis git)
- automake >= 1.11 (uniquement nécessaire lors de la compilation depuis git)
- libtool (uniquement nécessaire lors de la compilation depuis git)
- pkg-config >= 0.22
- libglib >= 2.32.0
- zlib (optionnel, utilisé pour le calcul CRC32 dans l'entrée STF)
- libzip >= 0.11
- libtirpc (optionnel, utilisé par VXI, solution de repli quand glibc >= 2.26)
- libserialport >= 0.1.1 (optionnel, utilisé par certains pilotes)
- librevisa >= 0.0.20130412 (optionnel, utilisé par certains pilotes)
- libusb-1.0 >= 1.0.16 (optionnel, utilisé par certains pilotes)
- hidapi >= 0.8.0 (optionnel, utilisé pour certains « câbles série » à base de HID)
- bluez/libbluetooth >= 4.0 (optionnel, utilisé pour la communication Bluetooth/BLE)
- libftdi1 >= 1.0 (optionnel, utilisé par certains pilotes)
- libgpib (optionnel, utilisé par certains pilotes)
- libieee1284 (optionnel, utilisé par certains pilotes)
- libgio >= 2.32.0 (optionnel, utilisé par certains pilotes)
- nettle (optionnel, utilisé par certains pilotes)
- check >= 0.9.4 (optionnel, uniquement nécessaire pour exécuter les tests unitaires)
- doxygen (optionnel, uniquement nécessaire pour la documentation de l'API C)
- graphviz (optionnel, uniquement nécessaire pour la documentation de l'API C)
Prérequis pour les bindings C++ :
- libsigrok >= 0.4.0 (la bibliothèque C libsigrok, voir ci-dessus)
- Un compilateur C++ avec le support de C++11 (option -std=c++11), par ex. :
- g++ (>= 4.8.1)
- clang++ (>= 3.3)
- autoconf-archive (uniquement nécessaire lors de la compilation depuis git)
- doxygen (requis pour compiler les bindings, pas seulement pour la documentation de l'API C++ !)
- graphviz (optionnel, uniquement nécessaire pour la documentation de l'API C++)
- Exécutable Python 3 (les fichiers de développement ne sont pas nécessaires)
- glibmm-2.4 (>= 2.32.0) ou glibmm-2.68 (>= 2.68.0)
Prérequis pour les bindings Python :
- libsigrokcxx >= 0.4.0 (les bindings C++ de libsigrok, voir ci-dessus)
- SWIG >= 2.0.0
- Python >= 3 (y compris les fichiers de développement !)
- Python setuptools
- pygobject >= 3.0.0, également connu sous le nom python-gi
- numpy
- doxygen (optionnel, uniquement nécessaire pour la documentation de l'API Python)
- graphviz (optionnel, uniquement nécessaire pour la documentation de l'API Python)
- doxypy (optionnel, uniquement nécessaire pour la documentation de l'API Python)
Prérequis pour les bindings Ruby :
- libsigrokcxx >= 0.4.0 (les bindings C++ de libsigrok, voir ci-dessus)
- Ruby >= 2.5.0 (y compris les fichiers de développement !)
- SWIG >= 3.0.8
- YARD (optionnel, uniquement nécessaire pour la documentation de l'API Ruby)
Prérequis pour les bindings Java :
- libsigrokcxx >= 0.4.0 (les bindings C++ de libsigrok, voir ci-dessus)
- SWIG >= 2.0.0
- Java JDK (pour les includes JNI et les binaires javac/jar)
- doxygen (optionnel, uniquement nécessaire pour la documentation de l'API Java)
- graphviz (optionnel, uniquement nécessaire pour la documentation de l'API Java)
Compilation et installation
Pour obtenir le code source de libsigrok et le compiler, exécutez :
$ git clone git://sigrok.org/libsigrok
$ cd libsigrok
$ ./autogen.sh
$ ./configure
$ make
Pour installer libsigrok :
$ make install
Consultez INSTALL ou la page wiki suivante pour plus d'instructions (spécifiques à l'OS) :
http://sigrok.org/wiki/Building
Consultez également la page wiki suivante en cas de problème :
http://sigrok.org/wiki/Building#FAQ
Problèmes spécifiques aux appareils
Veuillez consulter README.devices pour des notes et conseils sur les problèmes spécifiques aux appareils ou aux pilotes à connaître.
Firmware
Certains appareils pris en charge par libsigrok nécessitent le chargement d'un firmware avant de pouvoir être utilisés. Voir README.devices pour plus de détails.
Copyright et licence
libsigrok est distribué sous les termes de la GNU General Public License (GPL), version 3 ou ultérieure.
Bien que certains fichiers de code source individuels soient sous licence GPLv2+ et que certains fichiers soient sous licence GPLv3+, cela ne change pas le fait que la bibliothèque dans son ensemble est sous licence GPLv3+.
Veuillez consulter les fichiers sources individuels pour la liste complète des détenteurs du copyright.
Liste de diffusion
https://lists.sourceforge.net/lists/listinfo/sigrok-devel
IRC
Vous pouvez trouver les développeurs de sigrok sur le canal IRC #sigrok sur Libera.Chat.
Site web
http://sigrok.org/wiki/Libsigrok