README
يهدف مشروع sigrok إلى إنشاء مجموعة برمجيات تحليل إشارات محمولة ومتعددة المنصات وحرة/مفتوحة المصدر تدعم أنواعًا مختلفة من الأجهزة (مثل محللات المنطق وراسمات الذبذبات وأجهزة القياس المتعددة وغيرها).
libsigrok هي مكتبة مشتركة مكتوبة بلغة C توفر واجهة برمجة التطبيقات (API) الأساسية للتواصل مع العتاد وقراءة/كتابة البيانات المكتسبة إلى صيغ ملفات إدخال/إخراج متنوعة.
الحالة
libsigrok في حالة قابلة للاستخدام وقد أصدرت إصدارات رسمية بصيغة tarball.
بينما يمكن أن تتغير واجهة API من إصدار إلى آخر، سيتم دائمًا توثيق ذلك بشكل صحيح وينعكس في رقم إصدار الحزمة وفي أرقام إصدارات المكتبة المشتركة / libtool / ملفات .so.
ومع ذلك، لا توجد أي ضمانات على الإطلاق لاستقرار واجهات API في لقطات git! يجب على مُعبّئي التوزيعات استخدام tarballs الصادرة فقط (وليس لقطات 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 (مكتبة libsigrok بلغة C، انظر أعلاه)
- مترجم 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 (ارتباطات 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)
البناء والتثبيت
من أجل الحصول على الكود المصدري لـ 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 للحصول على بعض الملاحظات والتلميحات حول المشكلات الخاصة بالأجهزة أو برامج التشغيل التي يجب الانتباه إليها.
البرامج الثابتة (Firmware)
تتطلب بعض الأجهزة المدعومة من libsigrok رفع برنامج ثابت (firmware) قبل أن يمكن استخدام الجهاز. انظر README.devices للتفاصيل.
حقوق النشر والترخيص
libsigrok مرخّصة بموجب شروط رخصة جنو العمومية (GPL)، الإصدار 3 أو أحدث.
في حين أن بعض ملفات الكود المصدري الفردية مرخّصة بموجب GPLv2+، وبعض الملفات مرخّصة بموجب GPLv3+، فإن هذا لا يغيّر حقيقة أن المكتبة ككل مرخّصة بموجب شروط GPLv3+.
يُرجى مراجعة ملفات المصدر الفردية للحصول على القائمة الكاملة لأصحاب حقوق النشر.
القائمة البريدية
https://lists.sourceforge.net/lists/listinfo/sigrok-devel
IRC
يمكنك العثور على مطوري sigrok في قناة IRC #sigrok على Libera.Chat.
الموقع الإلكتروني
http://sigrok.org/wiki/Libsigrok