https://sigrok.org/w/api.php?action=feedcontributions&user=Abraxa&feedformat=atom
sigrok - User contributions [en]
2024-03-28T23:38:54Z
User contributions
MediaWiki 1.37.1
https://sigrok.org/w/index.php?title=Downloads&diff=16680
Downloads
2024-03-09T23:08:19Z
<p>Abraxa: Fix typo</p>
<hr />
<div>{| border="0" width="100%" style="white-space: margin: 0em; margin-bottom: 2em; border-width: 1em; align:center; vertical-align: top"<br />
|-<br />
!Linux<br />
!Windows<br />
!Mac OS X<br />
!Other<br />
<br />
|-<br />
! colspan="4" | {{Rounded_corners|url=https://sigrok.org/wiki/Downloads|bgcolor=#aaaaaa|text=Nightly builds (recommended, always up-to-date)}}<br />
<br />
|- style="background-color: white"<br />
<br />
| style="width:20%; vertical-align: top" |<br />
<br />
{{Rounded_corners|url=https://sigrok.org/download/binary/pulseview/pulseview-NIGHTLY-i686-debug.appimage|text=PulseView (32bit)}}<br />
<br />
{{Rounded_corners|url=https://sigrok.org/download/binary/pulseview/pulseview-NIGHTLY-x86_64-debug.appimage|text=PulseView (64bit)}}<br />
<br />
{{Rounded_corners|url=https://sigrok.org/download/binary/sigrok-cli/sigrok-cli-NIGHTLY-i686-debug.appimage|text=sigrok-cli (32bit)}}<br />
<br />
{{Rounded_corners|url=https://sigrok.org/download/binary/sigrok-cli/sigrok-cli-NIGHTLY-x86_64-debug.appimage|text=sigrok-cli (64bit)}}<br />
<br />
| style="width:20%; vertical-align: top" |<br />
<br />
{{Rounded_corners|url=https://sigrok.org/download/binary/pulseview/pulseview-NIGHTLY-i686-release-installer.exe|text=PulseView (32bit)}}<br />
<br />
{{Rounded_corners|url=https://sigrok.org/download/binary/pulseview/pulseview-NIGHTLY-x86_64-release-installer.exe|text=PulseView (64bit)}}<br />
<br />
{{Rounded_corners|url=https://sigrok.org/download/binary/sigrok-cli/sigrok-cli-NIGHTLY-i686-release-installer.exe|text=sigrok-cli (32bit)}}<br />
<br />
{{Rounded_corners|url=https://sigrok.org/download/binary/sigrok-cli/sigrok-cli-NIGHTLY-x86_64-release-installer.exe|text=sigrok-cli (64bit)}}<br />
<br />
| style="width:20%; vertical-align: top" |<br />
<br />
{{Rounded_corners|url=https://sigrok.org/download/binary/pulseview/pulseview-NIGHTLY-x86.dmg|text=PulseView (64bit)}}<br />
<br />
{{Rounded_corners|url=https://sigrok.org/download/binary/sigrok-cli/sigrok-cli-NIGHTLY-x86.dmg|text=sigrok-cli (64bit)}}<br />
<br />
| style="width:20%; vertical-align: top; text-align: center" |<br />
<br />
{{Rounded_corners|url=https://sigrok.org/wiki/Downloads#Releases|text=See below}}<br />
<br />
|-<br />
!colspan="4" | {{Rounded_corners|url=https://sigrok.org/wiki/Downloads|bgcolor=#aaaaaa|text=Release builds (usually older than nightly builds, might be missing features or bugfixes)}}<br />
<br />
|- style="background-color: white"<br />
<br />
| style="width:20%; vertical-align: top" |<br />
<br />
{{Rounded_corners|url=https://sigrok.org/download/binary/pulseview/PulseView-0.4.2-i386.AppImage|text=PulseView 0.4.2 (32bit)}}<br />
<br />
{{Rounded_corners|url=https://sigrok.org/download/binary/pulseview/PulseView-0.4.2-x86_64.AppImage|text=PulseView 0.4.2 (64bit)}}<br />
<br />
{{Rounded_corners|url=https://sigrok.org/download/binary/sigrok-cli/sigrok-cli-0.7.2-i386.AppImage|text=sigrok-cli 0.7.2 (32bit)}}<br />
<br />
{{Rounded_corners|url=https://sigrok.org/download/binary/sigrok-cli/sigrok-cli-0.7.2-x86_64.AppImage|text=sigrok-cli 0.7.2 (64bit)}}<br />
<br />
| style="width:20%; vertical-align: top" |<br />
<br />
{{Rounded_corners|url=https://sigrok.org/download/binary/pulseview/pulseview-0.4.2-32bit-static-release-installer.exe|text=PulseView 0.4.2 (32bit)}}<br />
<br />
{{Rounded_corners|url=https://sigrok.org/download/binary/pulseview/pulseview-0.4.2-64bit-static-release-installer.exe|text=PulseView 0.4.2 (64bit)}}<br />
<br />
{{Rounded_corners|url=https://sigrok.org/download/binary/sigrok-cli/sigrok-cli-0.7.2-i686-installer.exe|text=sigrok-cli 0.7.2 (32bit)}}<br />
<br />
{{Rounded_corners|url=https://sigrok.org/download/binary/sigrok-cli/sigrok-cli-0.7.2-x86_64-installer.exe|text=sigrok-cli 0.7.2 (64bit)}}<br />
<br />
| style="width:20%; vertical-align: top" |<br />
<br />
{{Rounded_corners|url=https://sigrok.org/download/binary/pulseview/PulseView-0.4.2.dmg|text=PulseView 0.4.2 (64bit)}}<br />
<br />
| style="width:20%; vertical-align: top; text-align: center" |<br />
<br />
{{Rounded_corners|url=https://sigrok.org/wiki/Downloads#Releases|text=See below}}<br />
<br />
|- style="background-color: white; vertical-align: top;"<br />
<br />
| style="text-align:center" | <em><small>Requires a Linux distro as recent or more recent than '''Ubuntu 18.04'''.</small></em><br />
| style="text-align:center" | <em><small>Requires '''Windows XP''' or higher.</small></em><br />
| style="text-align:center" | <em><small>Requires '''OS X 11 (Big Sur)''' or higher.</small></em><br />
| style="text-align:center" | <em><small>See below for other download options (Android, FreeBSD, source code, etc.).</small></em><br />
<br />
|}<br />
<br />
== Releases ==<br />
<br />
You can download the latest released tarballs of the following subprojects from [https://sigrok.org/download/ the sigrok.org download directory]:<br />
<br />
{| border="0" style="font-size: smaller; white-space: nowrap;" class="alternategrey sigroktable"<br />
|-<br />
!Project<br />
!Release/download<br />
!News<br />
<br />
|-<br />
| [[libserialport]]<br />
| [https://sigrok.org/download/source/libserialport/libserialport-0.1.1.tar.gz libserialport-0.1.1.tar.gz]<br />
| [https://sigrok.org/gitweb/?p=libserialport.git;a=blob;f=NEWS;hb=HEAD release notes]<br />
<br />
|-<br />
| [[libsigrok]]<br />
| [https://sigrok.org/download/source/libsigrok/libsigrok-0.5.2.tar.gz libsigrok-0.5.2.tar.gz]<br />
| [https://sigrok.org/gitweb/?p=libsigrok.git;a=blob;f=NEWS;h=60de6e341b7289cfb99883a94b0c921a4b79b008;hb=a6b07d7e28fe445afccf36922ef7d20e63e54fe6 release notes]<br />
<br />
|-<br />
| [[libsigrokdecode]]<br />
| [https://sigrok.org/download/source/libsigrokdecode/libsigrokdecode-0.5.3.tar.gz libsigrokdecode-0.5.3.tar.gz]<br />
| [https://sigrok.org/gitweb/?p=libsigrokdecode.git;a=blob;f=NEWS;h=f61727f8c75edf52e1f306983070a5eda629fd2e;hb=97991a3919da6a07c4c87308ae66fb441bd512e3 release notes]<br />
<br />
|-<br />
| [[sigrok-cli]]<br />
| [https://sigrok.org/download/source/sigrok-cli/sigrok-cli-0.7.2.tar.gz sigrok-cli-0.7.2.tar.gz]<br />
| [https://sigrok.org/gitweb/?p=sigrok-cli.git;a=blob;f=NEWS;h=e80dad6392501dd16e4fdc87836d443474e2eed9;hb=b584f959edb788f1731d5a304badf241ac21bf65 release notes]<br />
<br />
|-<br />
| [[PulseView]]<br />
| [https://sigrok.org/download/source/pulseview/pulseview-0.4.2.tar.gz pulseview-0.4.2.tar.gz]<br />
| [https://sigrok.org/gitweb/?p=pulseview.git;a=blob;f=NEWS;h=b20f14aebe4bd890a6bd92323e043b3540cb6629;hb=2b526a42a2fd68d513d4c2061790605a0c7add6c release notes]<br />
<br />
|-<br />
| [[fx2lafw|sigrok-firmware-fx2lafw]] (source code)<br />
| [https://sigrok.org/download/source/sigrok-firmware-fx2lafw/sigrok-firmware-fx2lafw-0.1.7.tar.gz sigrok-firmware-fx2lafw-0.1.7.tar.gz]<br />
| [https://sigrok.org/gitweb/?p=sigrok-firmware-fx2lafw.git;a=blob;f=NEWS;hb=HEAD release notes]<br />
<br />
|-<br />
| [[fx2lafw|sigrok-firmware-fx2lafw]] (prebuilt firmware)<br />
| [https://sigrok.org/download/binary/sigrok-firmware-fx2lafw/sigrok-firmware-fx2lafw-bin-0.1.7.tar.gz sigrok-firmware-fx2lafw-bin-0.1.7.tar.gz]<br />
| [https://sigrok.org/gitweb/?p=sigrok-firmware-fx2lafw.git;a=blob;f=NEWS;hb=HEAD release notes]<br />
<br />
|}<br />
<br />
== Binaries and distribution packages ==<br />
<br />
=== Linux AppImage binaries ===<br />
<br />
* Nightly AppImage binaries (oldest distro supported is Ubuntu 18.04):<br />
** [https://sigrok.org/download/binary/pulseview/pulseview-NIGHTLY-i686-debug.appimage pulseview-NIGHTLY-i686-debug.appimage] (32bit)<br />
** [https://sigrok.org/download/binary/pulseview/pulseview-NIGHTLY-x86_64-debug.appimage pulseview-NIGHTLY-x86_64-debug.appimage] (64bit)<br />
** [https://sigrok.org/download/binary/sigrok-cli/sigrok-cli-NIGHTLY-i686-debug.appimage sigrok-cli-NIGHTLY-i686-debug.appimage] (32bit)<br />
** [https://sigrok.org/download/binary/sigrok-cli/sigrok-cli-NIGHTLY-x86_64-debug.appimage sigrok-cli-NIGHTLY-x86_64-debug.appimage] (64bit)<br />
* Download the correct (32bit or 64bit) AppImage file for your Linux system, make the file executable via "'''chmod +x'''" and then run it.<br />
* If you want to access hardware, please install the [https://sigrok.org/gitweb/?p=libsigrok.git;a=tree;f=contrib udev rules] on your system and reload the rules using "udevadm control --reload-rules && udevadm trigger".<br />
* See also [[Linux#AppImage|Linux]] for more information.<br />
<br />
=== Linux distribution packages ===<br />
<br />
* '''Debian:''' [https://packages.qa.debian.org/s/sigrok.html sigrok] (pulls [https://packages.qa.debian.org/libs/libserialport.html libserialport], [https://packages.qa.debian.org/libs/libsigrok.html libsigrok], [https://packages.qa.debian.org/libs/libsigrokdecode.html libsigrokdecode], [https://packages.qa.debian.org/s/sigrok-cli.html sigrok-cli], [https://packages.qa.debian.org/p/pulseview.html pulseview], [https://packages.qa.debian.org/s/sigrok-firmware-fx2lafw.html sigrok-firmware-fx2lafw])<br />
* '''Ubuntu:''' [https://launchpad.net/ubuntu/+source/sigrok sigrok] (pulls [https://launchpad.net/ubuntu/+source/libserialport libserialport], [https://launchpad.net/ubuntu/+source/libsigrok libsigrok], [https://launchpad.net/ubuntu/+source/libsigrokdecode libsigrokdecode], [https://launchpad.net/ubuntu/+source/sigrok-cli sigrok-cli], [https://launchpad.net/ubuntu/+source/pulseview pulseview], [https://launchpad.net/ubuntu/+source/sigrok-firmware-fx2lafw sigrok-firmware-fx2lafw])<br />
* '''Arch Linux:''' [https://aur.archlinux.org/packages.php?O=0&K=sigrok&do_Search=Go AUR (Arch Linux User Repository)], [https://aur.archlinux.org/packages/libserialport-git/ libserialport], [https://aur.archlinux.org/packages/libsigrok-git/ libsigrok], [https://aur.archlinux.org/packages/libsigrokdecode-git/ libsigrokdecode], [https://aur.archlinux.org/packages/sigrok-cli/ sigrok-cli], [https://aur.archlinux.org/packages/pulseview-git/ pulseview], [https://aur.archlinux.org/packages/sigrok-firmware-fx2lafw/ sigrok-firmware-fx2lafw]<br />
* '''Slackware:''' [https://slackbuilds.org/apps/libserialport/ libserialport], [https://slackbuilds.org/apps/libsigrok/ libsigrok], [https://slackbuilds.org/apps/libsigrokdecode/ libsigrokdecode], [https://slackbuilds.org/apps/sigrok-cli/ sigrok-cli], [https://slackbuilds.org/apps/pulseview/ pulseview], [https://slackbuilds.org/apps/sigrok-firmware-fx2lafw/ sigrok-firmware-fx2lafw]<br />
* '''Fedora:''' [https://src.fedoraproject.org/cgit/rpms/libserialport.git/ libserialport], [https://src.fedoraproject.org/cgit/rpms/libsigrok.git/ libsigrok], [https://src.fedoraproject.org/cgit/rpms/libsigrokdecode.git/ libsigrokdecode], [https://src.fedoraproject.org/cgit/rpms/sigrok-cli.git/ sigrok-cli], [https://src.fedoraproject.org/cgit/rpms/pulseview.git/ pulseview], [https://src.fedoraproject.org/cgit/rpms/sigrok-firmware-fx2lafw.git/ sigrok-firmware-fx2lafw], [https://src.fedoraproject.org/cgit/rpms/sigrok-firmware.git/ sigrok-firmware]<br />
* '''Gentoo:''' [https://packages.gentoo.org/package/dev-libs/libserialport libserialport], [https://packages.gentoo.org/package/sci-libs/libsigrok libsigrok], [https://packages.gentoo.org/package/sci-libs/libsigrokdecode libsigrokdecode], [https://packages.gentoo.org/package/sci-electronics/sigrok-cli sigrok-cli], [https://packages.gentoo.org/package/sci-electronics/pulseview pulseview], [https://packages.gentoo.org/package/sys-firmware/sigrok-firmware-fx2lafw sigrok-firmware-fx2lafw]<br />
* '''openSUSE:''' Latest stable versions are included in Tumbleweed. Leap includes the latest stable version at time of release, newer versions are available from the [https://download.opensuse.org/repositories/electronics/ "electronics" repository], created by the [https://build.opensuse.org/project/show/electronics OpenBuildService (OBS)].<br />
** '''openSUSE weekly GIT:''' [https://download.opensuse.org/repositories/home:/StefanBruens:/branches:/electronics:/GIT/ Repositories], [https://build.opensuse.org/project/show/home:StefanBruens:branches:electronics:GIT OBS Project]<br />
<br />
=== Windows ===<br />
<span id="Windows_Download"><br />
<br />
* Nightly installer binaries (require Windows XP or higher):<br />
** [https://sigrok.org/download/binary/pulseview/pulseview-NIGHTLY-i686-release-installer.exe pulseview-NIGHTLY-i686-release-installer.exe] ([https://sigrok.org/download/binary/pulseview/pulseview-NIGHTLY-i686-debug-installer.exe debug build])<br />
** [https://sigrok.org/download/binary/pulseview/pulseview-NIGHTLY-x86_64-release-installer.exe pulseview-NIGHTLY-x86_64-release-installer.exe] ([https://sigrok.org/download/binary/pulseview/pulseview-NIGHTLY-x86_64-debug-installer.exe debug build])<br />
** [https://sigrok.org/download/binary/sigrok-cli/sigrok-cli-NIGHTLY-i686-release-installer.exe sigrok-cli-NIGHTLY-i686-release-installer.exe] ([https://sigrok.org/download/binary/sigrok-cli/sigrok-cli-NIGHTLY-i686-debug-installer.exe debug build])<br />
** [https://sigrok.org/download/binary/sigrok-cli/sigrok-cli-NIGHTLY-x86_64-release-installer.exe sigrok-cli-NIGHTLY-x86_64-release-installer.exe] ([https://sigrok.org/download/binary/sigrok-cli/sigrok-cli-NIGHTLY-x86_64-debug-installer.exe debug build])<br />
* See also [[Windows#Windows_installers|Windows]] for more information.<br />
<br />
=== Mac OS X ===<br />
<br />
* Nightly DMG binaries (64&nbsp;bit x86 only; require OS X 12 Mojave or higher):<br />
** [https://sigrok.org/download/binary/pulseview/pulseview-NIGHTLY-x86.dmg pulseview-NIGHTLY-x86.dmg]<br />
** [https://sigrok.org/download/binary/sigrok-cli/sigrok-cli-NIGHTLY-x86.dmg sigrok-cli-NIGHTLY-x86.dmg]<br />
* See also [[Mac OS X]] for more information.<br />
<br />
=== FreeBSD ===<br />
<br />
* [https://www.freshports.org/devel/libserialport/ libserialport], [https://www.freshports.org/devel/libsigrok/ libsigrok], [https://www.freshports.org/devel/libsigrokdecode/ libsigrokdecode], [https://www.freshports.org/science/sigrok-cli/ sigrok-cli], [https://www.freshports.org/science/pulseview/ pulseview], [https://www.freshports.org/science/sigrok-firmware-fx2lafw/ sigrok-firmware-fx2lafw], [https://www.freshports.org/science/sigrok-firmware/ sigrok-firmware], [https://www.freshports.org/science/sigrok-firmware-utils/ sigrok-firmware-utils]<br />
<br />
=== OpenBSD ===<br />
<br />
* [https://cvsweb.openbsd.org/ports/comms/sigrok/libserialport/ libserialport], [https://cvsweb.openbsd.org/ports/comms/sigrok/libsigrok/ libsigrok], [https://cvsweb.openbsd.org/ports/comms/sigrok/libsigrokdecode/ libsigrokdecode], [https://cvsweb.openbsd.org/ports/comms/sigrok/sigrok-cli/ sigrok-cli], [https://cvsweb.openbsd.org/ports/comms/sigrok/pulseview/ pulseview], [https://cvsweb.openbsd.org/ports/comms/sigrok/sigrok-dumps/ sigrok-dumps], [https://cvsweb.openbsd.org/ports/comms/sigrok/sigrok-firmware-fx2lafw/ sigrok-firmware-fx2lafw]<br />
<br />
=== Android ===<br />
<br />
Note: Not provided as of Sept 2023 due to limited project manpower and low user interest. If you're interested in improving the user experience on Android, please come and chat with us!<br />
<br />
* Nightly APK binaries:<br />
** [https://sigrok.org/download/binary/PulseView-NIGHTLY.apk PulseView-NIGHTLY.apk (ARM)]<br />
* See also [[Android]] for more information.<br />
<br />
== Source code ==<br />
<br />
The development is done in various [https://sigrok.org/gitweb/ git repositories].<br />
<br />
See [[Building]] for build instructions.<br />
<br />
== Example data ==<br />
<br />
See the [[Example dumps]] wiki page.<br />
<br />
== Firmware files ==<br />
<br />
See the [[Firmware]] wiki page.</div>
Abraxa
https://sigrok.org/w/index.php?title=Downloads&diff=16679
Downloads
2024-03-09T23:07:50Z
<p>Abraxa: Update URLs</p>
<hr />
<div>{| border="0" width="100%" style="white-space: margin: 0em; margin-bottom: 2em; border-width: 1em; align:center; vertical-align: top"<br />
|-<br />
!Linux<br />
!Windows<br />
!Mac OS X<br />
!Other<br />
<br />
|-<br />
! colspan="4" | {{Rounded_corners|url=https://sigrok.org/wiki/Downloads|bgcolor=#aaaaaa|text=Nightly builds (recommended, always up-to-date)}}<br />
<br />
|- style="background-color: white"<br />
<br />
| style="width:20%; vertical-align: top" |<br />
<br />
{{Rounded_corners|url=https://sigrok.org/download/binary/pulseview/pulseview-NIGHTLY-i686-debug.appimage|text=PulseView (32bit)}}<br />
<br />
{{Rounded_corners|url=https://sigrok.org/download/binary/pulseview/pulseview-NIGHTLY-x86_64-debug.appimage|text=PulseView (64bit)}}<br />
<br />
{{Rounded_corners|url=https://sigrok.org/download/binary/sigrok-cli/sigrok-cli-NIGHTLY-i686-debug.appimage|text=sigrok-cli (32bit)}}<br />
<br />
{{Rounded_corners|url=https://sigrok.org/download/binary/sigrok-cli/sigrok-cli-NIGHTLY-x86_64-debug.appimage|text=sigrok-cli (64bit)}}<br />
<br />
| style="width:20%; vertical-align: top" |<br />
<br />
{{Rounded_corners|url=https://sigrok.org/download/binary/pulseview/pulseview-NIGHTLY-i686-release-installer.exe|text=PulseView (32bit)}}<br />
<br />
{{Rounded_corners|url=https://sigrok.org/download/binary/pulseview/pulseview-NIGHTLY-x86_64-elease-installer.exe|text=PulseView (64bit)}}<br />
<br />
{{Rounded_corners|url=https://sigrok.org/download/binary/sigrok-cli/sigrok-cli-NIGHTLY-i686-release-installer.exe|text=sigrok-cli (32bit)}}<br />
<br />
{{Rounded_corners|url=https://sigrok.org/download/binary/sigrok-cli/sigrok-cli-NIGHTLY-x86_64-release-installer.exe|text=sigrok-cli (64bit)}}<br />
<br />
| style="width:20%; vertical-align: top" |<br />
<br />
{{Rounded_corners|url=https://sigrok.org/download/binary/pulseview/pulseview-NIGHTLY-x86.dmg|text=PulseView (64bit)}}<br />
<br />
{{Rounded_corners|url=https://sigrok.org/download/binary/sigrok-cli/sigrok-cli-NIGHTLY-x86.dmg|text=sigrok-cli (64bit)}}<br />
<br />
| style="width:20%; vertical-align: top; text-align: center" |<br />
<br />
{{Rounded_corners|url=https://sigrok.org/wiki/Downloads#Releases|text=See below}}<br />
<br />
|-<br />
!colspan="4" | {{Rounded_corners|url=https://sigrok.org/wiki/Downloads|bgcolor=#aaaaaa|text=Release builds (usually older than nightly builds, might be missing features or bugfixes)}}<br />
<br />
|- style="background-color: white"<br />
<br />
| style="width:20%; vertical-align: top" |<br />
<br />
{{Rounded_corners|url=https://sigrok.org/download/binary/pulseview/PulseView-0.4.2-i386.AppImage|text=PulseView 0.4.2 (32bit)}}<br />
<br />
{{Rounded_corners|url=https://sigrok.org/download/binary/pulseview/PulseView-0.4.2-x86_64.AppImage|text=PulseView 0.4.2 (64bit)}}<br />
<br />
{{Rounded_corners|url=https://sigrok.org/download/binary/sigrok-cli/sigrok-cli-0.7.2-i386.AppImage|text=sigrok-cli 0.7.2 (32bit)}}<br />
<br />
{{Rounded_corners|url=https://sigrok.org/download/binary/sigrok-cli/sigrok-cli-0.7.2-x86_64.AppImage|text=sigrok-cli 0.7.2 (64bit)}}<br />
<br />
| style="width:20%; vertical-align: top" |<br />
<br />
{{Rounded_corners|url=https://sigrok.org/download/binary/pulseview/pulseview-0.4.2-32bit-static-release-installer.exe|text=PulseView 0.4.2 (32bit)}}<br />
<br />
{{Rounded_corners|url=https://sigrok.org/download/binary/pulseview/pulseview-0.4.2-64bit-static-release-installer.exe|text=PulseView 0.4.2 (64bit)}}<br />
<br />
{{Rounded_corners|url=https://sigrok.org/download/binary/sigrok-cli/sigrok-cli-0.7.2-i686-installer.exe|text=sigrok-cli 0.7.2 (32bit)}}<br />
<br />
{{Rounded_corners|url=https://sigrok.org/download/binary/sigrok-cli/sigrok-cli-0.7.2-x86_64-installer.exe|text=sigrok-cli 0.7.2 (64bit)}}<br />
<br />
| style="width:20%; vertical-align: top" |<br />
<br />
{{Rounded_corners|url=https://sigrok.org/download/binary/pulseview/PulseView-0.4.2.dmg|text=PulseView 0.4.2 (64bit)}}<br />
<br />
| style="width:20%; vertical-align: top; text-align: center" |<br />
<br />
{{Rounded_corners|url=https://sigrok.org/wiki/Downloads#Releases|text=See below}}<br />
<br />
|- style="background-color: white; vertical-align: top;"<br />
<br />
| style="text-align:center" | <em><small>Requires a Linux distro as recent or more recent than '''Ubuntu 18.04'''.</small></em><br />
| style="text-align:center" | <em><small>Requires '''Windows XP''' or higher.</small></em><br />
| style="text-align:center" | <em><small>Requires '''OS X 11 (Big Sur)''' or higher.</small></em><br />
| style="text-align:center" | <em><small>See below for other download options (Android, FreeBSD, source code, etc.).</small></em><br />
<br />
|}<br />
<br />
== Releases ==<br />
<br />
You can download the latest released tarballs of the following subprojects from [https://sigrok.org/download/ the sigrok.org download directory]:<br />
<br />
{| border="0" style="font-size: smaller; white-space: nowrap;" class="alternategrey sigroktable"<br />
|-<br />
!Project<br />
!Release/download<br />
!News<br />
<br />
|-<br />
| [[libserialport]]<br />
| [https://sigrok.org/download/source/libserialport/libserialport-0.1.1.tar.gz libserialport-0.1.1.tar.gz]<br />
| [https://sigrok.org/gitweb/?p=libserialport.git;a=blob;f=NEWS;hb=HEAD release notes]<br />
<br />
|-<br />
| [[libsigrok]]<br />
| [https://sigrok.org/download/source/libsigrok/libsigrok-0.5.2.tar.gz libsigrok-0.5.2.tar.gz]<br />
| [https://sigrok.org/gitweb/?p=libsigrok.git;a=blob;f=NEWS;h=60de6e341b7289cfb99883a94b0c921a4b79b008;hb=a6b07d7e28fe445afccf36922ef7d20e63e54fe6 release notes]<br />
<br />
|-<br />
| [[libsigrokdecode]]<br />
| [https://sigrok.org/download/source/libsigrokdecode/libsigrokdecode-0.5.3.tar.gz libsigrokdecode-0.5.3.tar.gz]<br />
| [https://sigrok.org/gitweb/?p=libsigrokdecode.git;a=blob;f=NEWS;h=f61727f8c75edf52e1f306983070a5eda629fd2e;hb=97991a3919da6a07c4c87308ae66fb441bd512e3 release notes]<br />
<br />
|-<br />
| [[sigrok-cli]]<br />
| [https://sigrok.org/download/source/sigrok-cli/sigrok-cli-0.7.2.tar.gz sigrok-cli-0.7.2.tar.gz]<br />
| [https://sigrok.org/gitweb/?p=sigrok-cli.git;a=blob;f=NEWS;h=e80dad6392501dd16e4fdc87836d443474e2eed9;hb=b584f959edb788f1731d5a304badf241ac21bf65 release notes]<br />
<br />
|-<br />
| [[PulseView]]<br />
| [https://sigrok.org/download/source/pulseview/pulseview-0.4.2.tar.gz pulseview-0.4.2.tar.gz]<br />
| [https://sigrok.org/gitweb/?p=pulseview.git;a=blob;f=NEWS;h=b20f14aebe4bd890a6bd92323e043b3540cb6629;hb=2b526a42a2fd68d513d4c2061790605a0c7add6c release notes]<br />
<br />
|-<br />
| [[fx2lafw|sigrok-firmware-fx2lafw]] (source code)<br />
| [https://sigrok.org/download/source/sigrok-firmware-fx2lafw/sigrok-firmware-fx2lafw-0.1.7.tar.gz sigrok-firmware-fx2lafw-0.1.7.tar.gz]<br />
| [https://sigrok.org/gitweb/?p=sigrok-firmware-fx2lafw.git;a=blob;f=NEWS;hb=HEAD release notes]<br />
<br />
|-<br />
| [[fx2lafw|sigrok-firmware-fx2lafw]] (prebuilt firmware)<br />
| [https://sigrok.org/download/binary/sigrok-firmware-fx2lafw/sigrok-firmware-fx2lafw-bin-0.1.7.tar.gz sigrok-firmware-fx2lafw-bin-0.1.7.tar.gz]<br />
| [https://sigrok.org/gitweb/?p=sigrok-firmware-fx2lafw.git;a=blob;f=NEWS;hb=HEAD release notes]<br />
<br />
|}<br />
<br />
== Binaries and distribution packages ==<br />
<br />
=== Linux AppImage binaries ===<br />
<br />
* Nightly AppImage binaries (oldest distro supported is Ubuntu 18.04):<br />
** [https://sigrok.org/download/binary/pulseview/pulseview-NIGHTLY-i686-debug.appimage pulseview-NIGHTLY-i686-debug.appimage] (32bit)<br />
** [https://sigrok.org/download/binary/pulseview/pulseview-NIGHTLY-x86_64-debug.appimage pulseview-NIGHTLY-x86_64-debug.appimage] (64bit)<br />
** [https://sigrok.org/download/binary/sigrok-cli/sigrok-cli-NIGHTLY-i686-debug.appimage sigrok-cli-NIGHTLY-i686-debug.appimage] (32bit)<br />
** [https://sigrok.org/download/binary/sigrok-cli/sigrok-cli-NIGHTLY-x86_64-debug.appimage sigrok-cli-NIGHTLY-x86_64-debug.appimage] (64bit)<br />
* Download the correct (32bit or 64bit) AppImage file for your Linux system, make the file executable via "'''chmod +x'''" and then run it.<br />
* If you want to access hardware, please install the [https://sigrok.org/gitweb/?p=libsigrok.git;a=tree;f=contrib udev rules] on your system and reload the rules using "udevadm control --reload-rules && udevadm trigger".<br />
* See also [[Linux#AppImage|Linux]] for more information.<br />
<br />
=== Linux distribution packages ===<br />
<br />
* '''Debian:''' [https://packages.qa.debian.org/s/sigrok.html sigrok] (pulls [https://packages.qa.debian.org/libs/libserialport.html libserialport], [https://packages.qa.debian.org/libs/libsigrok.html libsigrok], [https://packages.qa.debian.org/libs/libsigrokdecode.html libsigrokdecode], [https://packages.qa.debian.org/s/sigrok-cli.html sigrok-cli], [https://packages.qa.debian.org/p/pulseview.html pulseview], [https://packages.qa.debian.org/s/sigrok-firmware-fx2lafw.html sigrok-firmware-fx2lafw])<br />
* '''Ubuntu:''' [https://launchpad.net/ubuntu/+source/sigrok sigrok] (pulls [https://launchpad.net/ubuntu/+source/libserialport libserialport], [https://launchpad.net/ubuntu/+source/libsigrok libsigrok], [https://launchpad.net/ubuntu/+source/libsigrokdecode libsigrokdecode], [https://launchpad.net/ubuntu/+source/sigrok-cli sigrok-cli], [https://launchpad.net/ubuntu/+source/pulseview pulseview], [https://launchpad.net/ubuntu/+source/sigrok-firmware-fx2lafw sigrok-firmware-fx2lafw])<br />
* '''Arch Linux:''' [https://aur.archlinux.org/packages.php?O=0&K=sigrok&do_Search=Go AUR (Arch Linux User Repository)], [https://aur.archlinux.org/packages/libserialport-git/ libserialport], [https://aur.archlinux.org/packages/libsigrok-git/ libsigrok], [https://aur.archlinux.org/packages/libsigrokdecode-git/ libsigrokdecode], [https://aur.archlinux.org/packages/sigrok-cli/ sigrok-cli], [https://aur.archlinux.org/packages/pulseview-git/ pulseview], [https://aur.archlinux.org/packages/sigrok-firmware-fx2lafw/ sigrok-firmware-fx2lafw]<br />
* '''Slackware:''' [https://slackbuilds.org/apps/libserialport/ libserialport], [https://slackbuilds.org/apps/libsigrok/ libsigrok], [https://slackbuilds.org/apps/libsigrokdecode/ libsigrokdecode], [https://slackbuilds.org/apps/sigrok-cli/ sigrok-cli], [https://slackbuilds.org/apps/pulseview/ pulseview], [https://slackbuilds.org/apps/sigrok-firmware-fx2lafw/ sigrok-firmware-fx2lafw]<br />
* '''Fedora:''' [https://src.fedoraproject.org/cgit/rpms/libserialport.git/ libserialport], [https://src.fedoraproject.org/cgit/rpms/libsigrok.git/ libsigrok], [https://src.fedoraproject.org/cgit/rpms/libsigrokdecode.git/ libsigrokdecode], [https://src.fedoraproject.org/cgit/rpms/sigrok-cli.git/ sigrok-cli], [https://src.fedoraproject.org/cgit/rpms/pulseview.git/ pulseview], [https://src.fedoraproject.org/cgit/rpms/sigrok-firmware-fx2lafw.git/ sigrok-firmware-fx2lafw], [https://src.fedoraproject.org/cgit/rpms/sigrok-firmware.git/ sigrok-firmware]<br />
* '''Gentoo:''' [https://packages.gentoo.org/package/dev-libs/libserialport libserialport], [https://packages.gentoo.org/package/sci-libs/libsigrok libsigrok], [https://packages.gentoo.org/package/sci-libs/libsigrokdecode libsigrokdecode], [https://packages.gentoo.org/package/sci-electronics/sigrok-cli sigrok-cli], [https://packages.gentoo.org/package/sci-electronics/pulseview pulseview], [https://packages.gentoo.org/package/sys-firmware/sigrok-firmware-fx2lafw sigrok-firmware-fx2lafw]<br />
* '''openSUSE:''' Latest stable versions are included in Tumbleweed. Leap includes the latest stable version at time of release, newer versions are available from the [https://download.opensuse.org/repositories/electronics/ "electronics" repository], created by the [https://build.opensuse.org/project/show/electronics OpenBuildService (OBS)].<br />
** '''openSUSE weekly GIT:''' [https://download.opensuse.org/repositories/home:/StefanBruens:/branches:/electronics:/GIT/ Repositories], [https://build.opensuse.org/project/show/home:StefanBruens:branches:electronics:GIT OBS Project]<br />
<br />
=== Windows ===<br />
<span id="Windows_Download"><br />
<br />
* Nightly installer binaries (require Windows XP or higher):<br />
** [https://sigrok.org/download/binary/pulseview/pulseview-NIGHTLY-i686-release-installer.exe pulseview-NIGHTLY-i686-release-installer.exe] ([https://sigrok.org/download/binary/pulseview/pulseview-NIGHTLY-i686-debug-installer.exe debug build])<br />
** [https://sigrok.org/download/binary/pulseview/pulseview-NIGHTLY-x86_64-release-installer.exe pulseview-NIGHTLY-x86_64-release-installer.exe] ([https://sigrok.org/download/binary/pulseview/pulseview-NIGHTLY-x86_64-debug-installer.exe debug build])<br />
** [https://sigrok.org/download/binary/sigrok-cli/sigrok-cli-NIGHTLY-i686-release-installer.exe sigrok-cli-NIGHTLY-i686-release-installer.exe] ([https://sigrok.org/download/binary/sigrok-cli/sigrok-cli-NIGHTLY-i686-debug-installer.exe debug build])<br />
** [https://sigrok.org/download/binary/sigrok-cli/sigrok-cli-NIGHTLY-x86_64-release-installer.exe sigrok-cli-NIGHTLY-x86_64-release-installer.exe] ([https://sigrok.org/download/binary/sigrok-cli/sigrok-cli-NIGHTLY-x86_64-debug-installer.exe debug build])<br />
* See also [[Windows#Windows_installers|Windows]] for more information.<br />
<br />
=== Mac OS X ===<br />
<br />
* Nightly DMG binaries (64&nbsp;bit x86 only; require OS X 12 Mojave or higher):<br />
** [https://sigrok.org/download/binary/pulseview/pulseview-NIGHTLY-x86.dmg pulseview-NIGHTLY-x86.dmg]<br />
** [https://sigrok.org/download/binary/sigrok-cli/sigrok-cli-NIGHTLY-x86.dmg sigrok-cli-NIGHTLY-x86.dmg]<br />
* See also [[Mac OS X]] for more information.<br />
<br />
=== FreeBSD ===<br />
<br />
* [https://www.freshports.org/devel/libserialport/ libserialport], [https://www.freshports.org/devel/libsigrok/ libsigrok], [https://www.freshports.org/devel/libsigrokdecode/ libsigrokdecode], [https://www.freshports.org/science/sigrok-cli/ sigrok-cli], [https://www.freshports.org/science/pulseview/ pulseview], [https://www.freshports.org/science/sigrok-firmware-fx2lafw/ sigrok-firmware-fx2lafw], [https://www.freshports.org/science/sigrok-firmware/ sigrok-firmware], [https://www.freshports.org/science/sigrok-firmware-utils/ sigrok-firmware-utils]<br />
<br />
=== OpenBSD ===<br />
<br />
* [https://cvsweb.openbsd.org/ports/comms/sigrok/libserialport/ libserialport], [https://cvsweb.openbsd.org/ports/comms/sigrok/libsigrok/ libsigrok], [https://cvsweb.openbsd.org/ports/comms/sigrok/libsigrokdecode/ libsigrokdecode], [https://cvsweb.openbsd.org/ports/comms/sigrok/sigrok-cli/ sigrok-cli], [https://cvsweb.openbsd.org/ports/comms/sigrok/pulseview/ pulseview], [https://cvsweb.openbsd.org/ports/comms/sigrok/sigrok-dumps/ sigrok-dumps], [https://cvsweb.openbsd.org/ports/comms/sigrok/sigrok-firmware-fx2lafw/ sigrok-firmware-fx2lafw]<br />
<br />
=== Android ===<br />
<br />
Note: Not provided as of Sept 2023 due to limited project manpower and low user interest. If you're interested in improving the user experience on Android, please come and chat with us!<br />
<br />
* Nightly APK binaries:<br />
** [https://sigrok.org/download/binary/PulseView-NIGHTLY.apk PulseView-NIGHTLY.apk (ARM)]<br />
* See also [[Android]] for more information.<br />
<br />
== Source code ==<br />
<br />
The development is done in various [https://sigrok.org/gitweb/ git repositories].<br />
<br />
See [[Building]] for build instructions.<br />
<br />
== Example data ==<br />
<br />
See the [[Example dumps]] wiki page.<br />
<br />
== Firmware files ==<br />
<br />
See the [[Firmware]] wiki page.</div>
Abraxa
https://sigrok.org/w/index.php?title=Downloads&diff=16678
Downloads
2024-03-06T18:47:01Z
<p>Abraxa: Fix some URLs</p>
<hr />
<div>{| border="0" width="100%" style="white-space: margin: 0em; margin-bottom: 2em; border-width: 1em; align:center; vertical-align: top"<br />
|-<br />
!Linux<br />
!Windows<br />
!Mac OS X<br />
!Other<br />
<br />
|-<br />
! colspan="4" | {{Rounded_corners|url=https://sigrok.org/wiki/Downloads|bgcolor=#aaaaaa|text=Nightly builds (recommended, always up-to-date)}}<br />
<br />
|- style="background-color: white"<br />
<br />
| style="width:20%; vertical-align: top" |<br />
<br />
{{Rounded_corners|url=https://sigrok.org/download/binary/pulseview/pulseview-NIGHTLY-i686-debug.appimage|text=PulseView (32bit)}}<br />
<br />
{{Rounded_corners|url=https://sigrok.org/download/binary/pulseview/pulseview-NIGHTLY-x86_64-debug.appimage|text=PulseView (64bit)}}<br />
<br />
{{Rounded_corners|url=https://sigrok.org/download/binary/sigrok-cli/sigrok-cli-NIGHTLY-i686.appimage|text=sigrok-cli (32bit)}}<br />
<br />
{{Rounded_corners|url=https://sigrok.org/download/binary/sigrok-cli/sigrok-cli-NIGHTLY-x86_64.appimage|text=sigrok-cli (64bit)}}<br />
<br />
| style="width:20%; vertical-align: top" |<br />
<br />
{{Rounded_corners|url=https://sigrok.org/download/binary/pulseview/pulseview-NIGHTLY-i686-static-release-installer.exe|text=PulseView (32bit)}}<br />
<br />
{{Rounded_corners|url=https://sigrok.org/download/binary/pulseview/pulseview-NIGHTLY-x86_64-static-release-installer.exe|text=PulseView (64bit)}}<br />
<br />
{{Rounded_corners|url=https://sigrok.org/download/binary/sigrok-cli/sigrok-cli-NIGHTLY-i686-static-release-installer.exe|text=sigrok-cli (32bit)}}<br />
<br />
{{Rounded_corners|url=https://sigrok.org/download/binary/sigrok-cli/sigrok-cli-NIGHTLY-x86_64-static-release-installer.exe|text=sigrok-cli (64bit)}}<br />
<br />
| style="width:20%; vertical-align: top" |<br />
<br />
{{Rounded_corners|url=https://sigrok.org/download/binary/pulseview/PulseView-NIGHTLY.dmg|text=PulseView (64bit) (Defunct, in work)}}<br />
<br />
{{Rounded_corners|url=https://sigrok.org/download/binary/sigrok-cli/sigrok-cli-NIGHTLY.dmg|text=sigrok-cli (64bit) (Defunct, in work)}}<br />
<br />
| style="width:20%; vertical-align: top; text-align: center" |<br />
<br />
{{Rounded_corners|url=https://sigrok.org/wiki/Downloads#Releases|text=See below}}<br />
<br />
|-<br />
!colspan="4" | {{Rounded_corners|url=https://sigrok.org/wiki/Downloads|bgcolor=#aaaaaa|text=Release builds (usually older than nightly builds, might be missing features or bugfixes)}}<br />
<br />
|- style="background-color: white"<br />
<br />
| style="width:20%; vertical-align: top" |<br />
<br />
{{Rounded_corners|url=https://sigrok.org/download/binary/pulseview/PulseView-0.4.2-i386.AppImage|text=PulseView 0.4.2 (32bit)}}<br />
<br />
{{Rounded_corners|url=https://sigrok.org/download/binary/pulseview/PulseView-0.4.2-x86_64.AppImage|text=PulseView 0.4.2 (64bit)}}<br />
<br />
{{Rounded_corners|url=https://sigrok.org/download/binary/sigrok-cli/sigrok-cli-0.7.2-i386.AppImage|text=sigrok-cli 0.7.2 (32bit)}}<br />
<br />
{{Rounded_corners|url=https://sigrok.org/download/binary/sigrok-cli/sigrok-cli-0.7.2-x86_64.AppImage|text=sigrok-cli 0.7.2 (64bit)}}<br />
<br />
| style="width:20%; vertical-align: top" |<br />
<br />
{{Rounded_corners|url=https://sigrok.org/download/binary/pulseview/pulseview-0.4.2-32bit-static-release-installer.exe|text=PulseView 0.4.2 (32bit)}}<br />
<br />
{{Rounded_corners|url=https://sigrok.org/download/binary/pulseview/pulseview-0.4.2-64bit-static-release-installer.exe|text=PulseView 0.4.2 (64bit)}}<br />
<br />
{{Rounded_corners|url=https://sigrok.org/download/binary/sigrok-cli/sigrok-cli-0.7.2-i686-installer.exe|text=sigrok-cli 0.7.2 (32bit)}}<br />
<br />
{{Rounded_corners|url=https://sigrok.org/download/binary/sigrok-cli/sigrok-cli-0.7.2-x86_64-installer.exe|text=sigrok-cli 0.7.2 (64bit)}}<br />
<br />
| style="width:20%; vertical-align: top" |<br />
<br />
{{Rounded_corners|url=https://sigrok.org/download/binary/pulseview/PulseView-0.4.2.dmg|text=PulseView 0.4.2 (64bit)}}<br />
<br />
| style="width:20%; vertical-align: top; text-align: center" |<br />
<br />
{{Rounded_corners|url=https://sigrok.org/wiki/Downloads#Releases|text=See below}}<br />
<br />
|- style="background-color: white; vertical-align: top;"<br />
<br />
| style="text-align:center" | <em><small>Requires a Linux distro as recent or more recent than '''Ubuntu 18.04'''.</small></em><br />
| style="text-align:center" | <em><small>Requires '''Windows XP''' or higher.</small></em><br />
| style="text-align:center" | <em><small>Requires '''OS X 11 (Big Sur)''' or higher.</small></em><br />
| style="text-align:center" | <em><small>See below for other download options (Android, FreeBSD, source code, etc.).</small></em><br />
<br />
|}<br />
<br />
== Releases ==<br />
<br />
You can download the latest released tarballs of the following subprojects from [https://sigrok.org/download/ the sigrok.org download directory]:<br />
<br />
{| border="0" style="font-size: smaller; white-space: nowrap;" class="alternategrey sigroktable"<br />
|-<br />
!Project<br />
!Release/download<br />
!News<br />
<br />
|-<br />
| [[libserialport]]<br />
| [https://sigrok.org/download/source/libserialport/libserialport-0.1.1.tar.gz libserialport-0.1.1.tar.gz]<br />
| [https://sigrok.org/gitweb/?p=libserialport.git;a=blob;f=NEWS;hb=HEAD release notes]<br />
<br />
|-<br />
| [[libsigrok]]<br />
| [https://sigrok.org/download/source/libsigrok/libsigrok-0.5.2.tar.gz libsigrok-0.5.2.tar.gz]<br />
| [https://sigrok.org/gitweb/?p=libsigrok.git;a=blob;f=NEWS;h=60de6e341b7289cfb99883a94b0c921a4b79b008;hb=a6b07d7e28fe445afccf36922ef7d20e63e54fe6 release notes]<br />
<br />
|-<br />
| [[libsigrokdecode]]<br />
| [https://sigrok.org/download/source/libsigrokdecode/libsigrokdecode-0.5.3.tar.gz libsigrokdecode-0.5.3.tar.gz]<br />
| [https://sigrok.org/gitweb/?p=libsigrokdecode.git;a=blob;f=NEWS;h=f61727f8c75edf52e1f306983070a5eda629fd2e;hb=97991a3919da6a07c4c87308ae66fb441bd512e3 release notes]<br />
<br />
|-<br />
| [[sigrok-cli]]<br />
| [https://sigrok.org/download/source/sigrok-cli/sigrok-cli-0.7.2.tar.gz sigrok-cli-0.7.2.tar.gz]<br />
| [https://sigrok.org/gitweb/?p=sigrok-cli.git;a=blob;f=NEWS;h=e80dad6392501dd16e4fdc87836d443474e2eed9;hb=b584f959edb788f1731d5a304badf241ac21bf65 release notes]<br />
<br />
|-<br />
| [[PulseView]]<br />
| [https://sigrok.org/download/source/pulseview/pulseview-0.4.2.tar.gz pulseview-0.4.2.tar.gz]<br />
| [https://sigrok.org/gitweb/?p=pulseview.git;a=blob;f=NEWS;h=b20f14aebe4bd890a6bd92323e043b3540cb6629;hb=2b526a42a2fd68d513d4c2061790605a0c7add6c release notes]<br />
<br />
|-<br />
| [[fx2lafw|sigrok-firmware-fx2lafw]] (source code)<br />
| [https://sigrok.org/download/source/sigrok-firmware-fx2lafw/sigrok-firmware-fx2lafw-0.1.7.tar.gz sigrok-firmware-fx2lafw-0.1.7.tar.gz]<br />
| [https://sigrok.org/gitweb/?p=sigrok-firmware-fx2lafw.git;a=blob;f=NEWS;hb=HEAD release notes]<br />
<br />
|-<br />
| [[fx2lafw|sigrok-firmware-fx2lafw]] (prebuilt firmware)<br />
| [https://sigrok.org/download/binary/sigrok-firmware-fx2lafw/sigrok-firmware-fx2lafw-bin-0.1.7.tar.gz sigrok-firmware-fx2lafw-bin-0.1.7.tar.gz]<br />
| [https://sigrok.org/gitweb/?p=sigrok-firmware-fx2lafw.git;a=blob;f=NEWS;hb=HEAD release notes]<br />
<br />
|}<br />
<br />
== Binaries and distribution packages ==<br />
<br />
=== Linux AppImage binaries ===<br />
<br />
* Nightly AppImage binaries (oldest distro supported is Ubuntu 18.04):<br />
** [https://sigrok.org/download/binary/pulseview/pulseview-NIGHTLY-i686-debug.appimage pulseview-NIGHTLY-i686-debug.appimage] (32bit)<br />
** [https://sigrok.org/download/binary/pulseview/pulseview-NIGHTLY-x86_64-debug.appimage pulseview-NIGHTLY-x86_64-debug.appimage] (64bit)<br />
** [https://sigrok.org/download/binary/sigrok-cli/sigrok-cli-NIGHTLY-i686.appimage sigrok-cli-NIGHTLY-i686.appimage] (32bit)<br />
** [https://sigrok.org/download/binary/sigrok-cli/sigrok-cli-NIGHTLY-x86_64.appimage sigrok-cli-NIGHTLY-x86_64.appimage] (64bit)<br />
* Download the correct (32bit or 64bit) AppImage file for your Linux system, make the file executable via "'''chmod +x'''" and then run it.<br />
* If you want to access hardware, please install the [https://sigrok.org/gitweb/?p=libsigrok.git;a=tree;f=contrib udev rules] on your system and reload the rules using "udevadm control --reload-rules && udevadm trigger".<br />
* See also [[Linux#AppImage|Linux]] for more information.<br />
<br />
=== Linux distribution packages ===<br />
<br />
* '''Debian:''' [https://packages.qa.debian.org/s/sigrok.html sigrok] (pulls [https://packages.qa.debian.org/libs/libserialport.html libserialport], [https://packages.qa.debian.org/libs/libsigrok.html libsigrok], [https://packages.qa.debian.org/libs/libsigrokdecode.html libsigrokdecode], [https://packages.qa.debian.org/s/sigrok-cli.html sigrok-cli], [https://packages.qa.debian.org/p/pulseview.html pulseview], [https://packages.qa.debian.org/s/sigrok-firmware-fx2lafw.html sigrok-firmware-fx2lafw])<br />
* '''Ubuntu:''' [https://launchpad.net/ubuntu/+source/sigrok sigrok] (pulls [https://launchpad.net/ubuntu/+source/libserialport libserialport], [https://launchpad.net/ubuntu/+source/libsigrok libsigrok], [https://launchpad.net/ubuntu/+source/libsigrokdecode libsigrokdecode], [https://launchpad.net/ubuntu/+source/sigrok-cli sigrok-cli], [https://launchpad.net/ubuntu/+source/pulseview pulseview], [https://launchpad.net/ubuntu/+source/sigrok-firmware-fx2lafw sigrok-firmware-fx2lafw])<br />
* '''Arch Linux:''' [https://aur.archlinux.org/packages.php?O=0&K=sigrok&do_Search=Go AUR (Arch Linux User Repository)], [https://aur.archlinux.org/packages/libserialport-git/ libserialport], [https://aur.archlinux.org/packages/libsigrok-git/ libsigrok], [https://aur.archlinux.org/packages/libsigrokdecode-git/ libsigrokdecode], [https://aur.archlinux.org/packages/sigrok-cli/ sigrok-cli], [https://aur.archlinux.org/packages/pulseview-git/ pulseview], [https://aur.archlinux.org/packages/sigrok-firmware-fx2lafw/ sigrok-firmware-fx2lafw]<br />
* '''Slackware:''' [https://slackbuilds.org/apps/libserialport/ libserialport], [https://slackbuilds.org/apps/libsigrok/ libsigrok], [https://slackbuilds.org/apps/libsigrokdecode/ libsigrokdecode], [https://slackbuilds.org/apps/sigrok-cli/ sigrok-cli], [https://slackbuilds.org/apps/pulseview/ pulseview], [https://slackbuilds.org/apps/sigrok-firmware-fx2lafw/ sigrok-firmware-fx2lafw]<br />
* '''Fedora:''' [https://src.fedoraproject.org/cgit/rpms/libserialport.git/ libserialport], [https://src.fedoraproject.org/cgit/rpms/libsigrok.git/ libsigrok], [https://src.fedoraproject.org/cgit/rpms/libsigrokdecode.git/ libsigrokdecode], [https://src.fedoraproject.org/cgit/rpms/sigrok-cli.git/ sigrok-cli], [https://src.fedoraproject.org/cgit/rpms/pulseview.git/ pulseview], [https://src.fedoraproject.org/cgit/rpms/sigrok-firmware-fx2lafw.git/ sigrok-firmware-fx2lafw], [https://src.fedoraproject.org/cgit/rpms/sigrok-firmware.git/ sigrok-firmware]<br />
* '''Gentoo:''' [https://packages.gentoo.org/package/dev-libs/libserialport libserialport], [https://packages.gentoo.org/package/sci-libs/libsigrok libsigrok], [https://packages.gentoo.org/package/sci-libs/libsigrokdecode libsigrokdecode], [https://packages.gentoo.org/package/sci-electronics/sigrok-cli sigrok-cli], [https://packages.gentoo.org/package/sci-electronics/pulseview pulseview], [https://packages.gentoo.org/package/sys-firmware/sigrok-firmware-fx2lafw sigrok-firmware-fx2lafw]<br />
* '''openSUSE:''' Latest stable versions are included in Tumbleweed. Leap includes the latest stable version at time of release, newer versions are available from the [https://download.opensuse.org/repositories/electronics/ "electronics" repository], created by the [https://build.opensuse.org/project/show/electronics OpenBuildService (OBS)].<br />
** '''openSUSE weekly GIT:''' [https://download.opensuse.org/repositories/home:/StefanBruens:/branches:/electronics:/GIT/ Repositories], [https://build.opensuse.org/project/show/home:StefanBruens:branches:electronics:GIT OBS Project]<br />
<br />
=== Windows ===<br />
<span id="Windows_Download"><br />
<br />
* Nightly installer binaries (require Windows XP or higher):<br />
** [https://sigrok.org/download/binary/pulseview/pulseview-NIGHTLY-i686-static-release-installer.exe pulseview-NIGHTLY-i686-static-release-installer.exe] ([https://sigrok.org/download/binary/pulseview/pulseview-NIGHTLY-i686-static-debug-installer.exe debug build])<br />
** [https://sigrok.org/download/binary/pulseview/pulseview-NIGHTLY-x86_64-static-release-installer.exe pulseview-NIGHTLY-x86_64-static-release-installer.exe] ([https://sigrok.org/download/binary/pulseview/pulseview-NIGHTLY-x86_64-static-debug-installer.exe debug build])<br />
** [https://sigrok.org/download/binary/sigrok-cli/sigrok-cli-NIGHTLY-i686-static-release-installer.exe sigrok-cli-NIGHTLY-i686-static-release-installer.exe] ([https://sigrok.org/download/binary/sigrok-cli/sigrok-cli-NIGHTLY-i686-static-debug-installer.exe debug build])<br />
** [https://sigrok.org/download/binary/sigrok-cli/sigrok-cli-NIGHTLY-x86_64-static-release-installer.exe sigrok-cli-NIGHTLY-x86_64-static-release-installer.exe] ([https://sigrok.org/download/binary/sigrok-cli/sigrok-cli-NIGHTLY-x86_64-static-debug-installer.exe debug build])<br />
* See also [[Windows#Windows_installers|Windows]] for more information.<br />
<br />
=== Mac OS X ===<br />
<br />
Note: As of Sept 2023, these are unfortunately unavailable. Please use the releases for now. Recent builds will come as soon as we have them working again.<br />
<br />
* Nightly DMG binaries (64&nbsp;bit x86 only; require OS X 10.9 Mavericks or higher):<br />
** [https://sigrok.org/download/binary/pulseview/PulseView-NIGHTLY.dmg PulseView-NIGHTLY.dmg]<br />
** [https://sigrok.org/download/binary/sigrok-cli/sigrok-cli-NIGHTLY.dmg sigrok-cli-NIGHTLY.dmg]<br />
* See also [[Mac OS X]] for more information.<br />
<br />
=== FreeBSD ===<br />
<br />
* [https://www.freshports.org/devel/libserialport/ libserialport], [https://www.freshports.org/devel/libsigrok/ libsigrok], [https://www.freshports.org/devel/libsigrokdecode/ libsigrokdecode], [https://www.freshports.org/science/sigrok-cli/ sigrok-cli], [https://www.freshports.org/science/pulseview/ pulseview], [https://www.freshports.org/science/sigrok-firmware-fx2lafw/ sigrok-firmware-fx2lafw], [https://www.freshports.org/science/sigrok-firmware/ sigrok-firmware], [https://www.freshports.org/science/sigrok-firmware-utils/ sigrok-firmware-utils]<br />
<br />
=== OpenBSD ===<br />
<br />
* [https://cvsweb.openbsd.org/ports/comms/sigrok/libserialport/ libserialport], [https://cvsweb.openbsd.org/ports/comms/sigrok/libsigrok/ libsigrok], [https://cvsweb.openbsd.org/ports/comms/sigrok/libsigrokdecode/ libsigrokdecode], [https://cvsweb.openbsd.org/ports/comms/sigrok/sigrok-cli/ sigrok-cli], [https://cvsweb.openbsd.org/ports/comms/sigrok/pulseview/ pulseview], [https://cvsweb.openbsd.org/ports/comms/sigrok/sigrok-dumps/ sigrok-dumps], [https://cvsweb.openbsd.org/ports/comms/sigrok/sigrok-firmware-fx2lafw/ sigrok-firmware-fx2lafw]<br />
<br />
=== Android ===<br />
<br />
Note: Not provided as of Sept 2023 due to limited project manpower and low user interest. If you're interested in improving the user experience on Android, please come and chat with us!<br />
<br />
* Nightly APK binaries:<br />
** [https://sigrok.org/download/binary/PulseView-NIGHTLY.apk PulseView-NIGHTLY.apk (ARM)]<br />
* See also [[Android]] for more information.<br />
<br />
== Source code ==<br />
<br />
The development is done in various [https://sigrok.org/gitweb/ git repositories].<br />
<br />
See [[Building]] for build instructions.<br />
<br />
== Example data ==<br />
<br />
See the [[Example dumps]] wiki page.<br />
<br />
== Firmware files ==<br />
<br />
See the [[Firmware]] wiki page.</div>
Abraxa
https://sigrok.org/w/index.php?title=Downloads&diff=16677
Downloads
2024-03-06T18:44:06Z
<p>Abraxa: Update download URLs</p>
<hr />
<div>{| border="0" width="100%" style="white-space: margin: 0em; margin-bottom: 2em; border-width: 1em; align:center; vertical-align: top"<br />
|-<br />
!Linux<br />
!Windows<br />
!Mac OS X<br />
!Other<br />
<br />
|-<br />
! colspan="4" | {{Rounded_corners|url=https://sigrok.org/wiki/Downloads|bgcolor=#aaaaaa|text=Nightly builds (recommended, always up-to-date)}}<br />
<br />
|- style="background-color: white"<br />
<br />
| style="width:20%; vertical-align: top" |<br />
<br />
{{Rounded_corners|url=https://sigrok.org/download/binary/pulseview/pulseview-NIGHTLY-i686.appimage|text=PulseView (32bit)}}<br />
<br />
{{Rounded_corners|url=https://sigrok.org/download/binary/pulseview/pulseview-NIGHTLY-x86_64.appimage|text=PulseView (64bit)}}<br />
<br />
{{Rounded_corners|url=https://sigrok.org/download/binary/sigrok-cli/sigrok-cli-NIGHTLY-i686.appimage|text=sigrok-cli (32bit)}}<br />
<br />
{{Rounded_corners|url=https://sigrok.org/download/binary/sigrok-cli/sigrok-cli-NIGHTLY-x86_64.appimage|text=sigrok-cli (64bit)}}<br />
<br />
| style="width:20%; vertical-align: top" |<br />
<br />
{{Rounded_corners|url=https://sigrok.org/download/binary/pulseview/pulseview-NIGHTLY-i686-static-release-installer.exe|text=PulseView (32bit)}}<br />
<br />
{{Rounded_corners|url=https://sigrok.org/download/binary/pulseview/pulseview-NIGHTLY-x86_64-static-release-installer.exe|text=PulseView (64bit)}}<br />
<br />
{{Rounded_corners|url=https://sigrok.org/download/binary/sigrok-cli/sigrok-cli-NIGHTLY-i686-static-release-installer.exe|text=sigrok-cli (32bit)}}<br />
<br />
{{Rounded_corners|url=https://sigrok.org/download/binary/sigrok-cli/sigrok-cli-NIGHTLY-x86_64-static-release-installer.exe|text=sigrok-cli (64bit)}}<br />
<br />
| style="width:20%; vertical-align: top" |<br />
<br />
{{Rounded_corners|url=https://sigrok.org/download/binary/pulseview/PulseView-NIGHTLY.dmg|text=PulseView (64bit) (Defunct, in work)}}<br />
<br />
{{Rounded_corners|url=https://sigrok.org/download/binary/sigrok-cli/sigrok-cli-NIGHTLY.dmg|text=sigrok-cli (64bit) (Defunct, in work)}}<br />
<br />
| style="width:20%; vertical-align: top; text-align: center" |<br />
<br />
{{Rounded_corners|url=https://sigrok.org/wiki/Downloads#Releases|text=See below}}<br />
<br />
|-<br />
!colspan="4" | {{Rounded_corners|url=https://sigrok.org/wiki/Downloads|bgcolor=#aaaaaa|text=Release builds (usually older than nightly builds, might be missing features or bugfixes)}}<br />
<br />
|- style="background-color: white"<br />
<br />
| style="width:20%; vertical-align: top" |<br />
<br />
{{Rounded_corners|url=https://sigrok.org/download/binary/pulseview/PulseView-0.4.2-i386.AppImage|text=PulseView 0.4.2 (32bit)}}<br />
<br />
{{Rounded_corners|url=https://sigrok.org/download/binary/pulseview/PulseView-0.4.2-x86_64.AppImage|text=PulseView 0.4.2 (64bit)}}<br />
<br />
{{Rounded_corners|url=https://sigrok.org/download/binary/sigrok-cli/sigrok-cli-0.7.2-i386.AppImage|text=sigrok-cli 0.7.2 (32bit)}}<br />
<br />
{{Rounded_corners|url=https://sigrok.org/download/binary/sigrok-cli/sigrok-cli-0.7.2-x86_64.AppImage|text=sigrok-cli 0.7.2 (64bit)}}<br />
<br />
| style="width:20%; vertical-align: top" |<br />
<br />
{{Rounded_corners|url=https://sigrok.org/download/binary/pulseview/pulseview-0.4.2-32bit-static-release-installer.exe|text=PulseView 0.4.2 (32bit)}}<br />
<br />
{{Rounded_corners|url=https://sigrok.org/download/binary/pulseview/pulseview-0.4.2-64bit-static-release-installer.exe|text=PulseView 0.4.2 (64bit)}}<br />
<br />
{{Rounded_corners|url=https://sigrok.org/download/binary/sigrok-cli/sigrok-cli-0.7.2-i686-installer.exe|text=sigrok-cli 0.7.2 (32bit)}}<br />
<br />
{{Rounded_corners|url=https://sigrok.org/download/binary/sigrok-cli/sigrok-cli-0.7.2-x86_64-installer.exe|text=sigrok-cli 0.7.2 (64bit)}}<br />
<br />
| style="width:20%; vertical-align: top" |<br />
<br />
{{Rounded_corners|url=https://sigrok.org/download/binary/pulseview/PulseView-0.4.2.dmg|text=PulseView 0.4.2 (64bit)}}<br />
<br />
| style="width:20%; vertical-align: top; text-align: center" |<br />
<br />
{{Rounded_corners|url=https://sigrok.org/wiki/Downloads#Releases|text=See below}}<br />
<br />
|- style="background-color: white; vertical-align: top;"<br />
<br />
| style="text-align:center" | <em><small>Requires a Linux distro more recent than '''Ubuntu 16.04 LTS (Xenial Xerus)''' from 2016.</small></em><br />
| style="text-align:center" | <em><small>Requires '''Windows XP''' or higher.</small></em><br />
| style="text-align:center" | <em><small>Requires '''OS X 10.9 (Mavericks)''' or higher.</small></em><br />
| style="text-align:center" | <em><small>See below for other download options (Android, FreeBSD, source code, etc.).</small></em><br />
<br />
|}<br />
<br />
== Releases ==<br />
<br />
You can download the latest released tarballs of the following subprojects from [https://sigrok.org/download/ the sigrok.org download directory]:<br />
<br />
{| border="0" style="font-size: smaller; white-space: nowrap;" class="alternategrey sigroktable"<br />
|-<br />
!Project<br />
!Release/download<br />
!News<br />
<br />
|-<br />
| [[libserialport]]<br />
| [https://sigrok.org/download/source/libserialport/libserialport-0.1.1.tar.gz libserialport-0.1.1.tar.gz]<br />
| [https://sigrok.org/gitweb/?p=libserialport.git;a=blob;f=NEWS;hb=HEAD release notes]<br />
<br />
|-<br />
| [[libsigrok]]<br />
| [https://sigrok.org/download/source/libsigrok/libsigrok-0.5.2.tar.gz libsigrok-0.5.2.tar.gz]<br />
| [https://sigrok.org/gitweb/?p=libsigrok.git;a=blob;f=NEWS;h=60de6e341b7289cfb99883a94b0c921a4b79b008;hb=a6b07d7e28fe445afccf36922ef7d20e63e54fe6 release notes]<br />
<br />
|-<br />
| [[libsigrokdecode]]<br />
| [https://sigrok.org/download/source/libsigrokdecode/libsigrokdecode-0.5.3.tar.gz libsigrokdecode-0.5.3.tar.gz]<br />
| [https://sigrok.org/gitweb/?p=libsigrokdecode.git;a=blob;f=NEWS;h=f61727f8c75edf52e1f306983070a5eda629fd2e;hb=97991a3919da6a07c4c87308ae66fb441bd512e3 release notes]<br />
<br />
|-<br />
| [[sigrok-cli]]<br />
| [https://sigrok.org/download/source/sigrok-cli/sigrok-cli-0.7.2.tar.gz sigrok-cli-0.7.2.tar.gz]<br />
| [https://sigrok.org/gitweb/?p=sigrok-cli.git;a=blob;f=NEWS;h=e80dad6392501dd16e4fdc87836d443474e2eed9;hb=b584f959edb788f1731d5a304badf241ac21bf65 release notes]<br />
<br />
|-<br />
| [[PulseView]]<br />
| [https://sigrok.org/download/source/pulseview/pulseview-0.4.2.tar.gz pulseview-0.4.2.tar.gz]<br />
| [https://sigrok.org/gitweb/?p=pulseview.git;a=blob;f=NEWS;h=b20f14aebe4bd890a6bd92323e043b3540cb6629;hb=2b526a42a2fd68d513d4c2061790605a0c7add6c release notes]<br />
<br />
|-<br />
| [[fx2lafw|sigrok-firmware-fx2lafw]] (source code)<br />
| [https://sigrok.org/download/source/sigrok-firmware-fx2lafw/sigrok-firmware-fx2lafw-0.1.7.tar.gz sigrok-firmware-fx2lafw-0.1.7.tar.gz]<br />
| [https://sigrok.org/gitweb/?p=sigrok-firmware-fx2lafw.git;a=blob;f=NEWS;hb=HEAD release notes]<br />
<br />
|-<br />
| [[fx2lafw|sigrok-firmware-fx2lafw]] (prebuilt firmware)<br />
| [https://sigrok.org/download/binary/sigrok-firmware-fx2lafw/sigrok-firmware-fx2lafw-bin-0.1.7.tar.gz sigrok-firmware-fx2lafw-bin-0.1.7.tar.gz]<br />
| [https://sigrok.org/gitweb/?p=sigrok-firmware-fx2lafw.git;a=blob;f=NEWS;hb=HEAD release notes]<br />
<br />
|}<br />
<br />
== Binaries and distribution packages ==<br />
<br />
=== Linux AppImage binaries ===<br />
<br />
* Nightly AppImage binaries (oldest distro supported is Ubuntu 18.04):<br />
** [https://sigrok.org/download/binary/pulseview/pulseview-NIGHTLY-i686.appimage pulseview-NIGHTLY-i686.appimage] (32bit)<br />
** [https://sigrok.org/download/binary/pulseview/pulseview-NIGHTLY-x86_64.appimage pulseview-NIGHTLY-x86_64.appimage] (64bit)<br />
** [https://sigrok.org/download/binary/sigrok-cli/sigrok-cli-NIGHTLY-i686.appimage sigrok-cli-NIGHTLY-i686.appimage] (32bit)<br />
** [https://sigrok.org/download/binary/sigrok-cli/sigrok-cli-NIGHTLY-x86_64.appimage sigrok-cli-NIGHTLY-x86_64.appimage] (64bit)<br />
* Download the correct (32bit or 64bit) AppImage file for your Linux system, make the file executable via "'''chmod +x'''" and then run it.<br />
* If you want to access hardware, please install the [https://sigrok.org/gitweb/?p=libsigrok.git;a=tree;f=contrib udev rules] on your system and reload the rules using "udevadm control --reload-rules && udevadm trigger".<br />
* See also [[Linux#AppImage|Linux]] for more information.<br />
<br />
=== Linux distribution packages ===<br />
<br />
* '''Debian:''' [https://packages.qa.debian.org/s/sigrok.html sigrok] (pulls [https://packages.qa.debian.org/libs/libserialport.html libserialport], [https://packages.qa.debian.org/libs/libsigrok.html libsigrok], [https://packages.qa.debian.org/libs/libsigrokdecode.html libsigrokdecode], [https://packages.qa.debian.org/s/sigrok-cli.html sigrok-cli], [https://packages.qa.debian.org/p/pulseview.html pulseview], [https://packages.qa.debian.org/s/sigrok-firmware-fx2lafw.html sigrok-firmware-fx2lafw])<br />
* '''Ubuntu:''' [https://launchpad.net/ubuntu/+source/sigrok sigrok] (pulls [https://launchpad.net/ubuntu/+source/libserialport libserialport], [https://launchpad.net/ubuntu/+source/libsigrok libsigrok], [https://launchpad.net/ubuntu/+source/libsigrokdecode libsigrokdecode], [https://launchpad.net/ubuntu/+source/sigrok-cli sigrok-cli], [https://launchpad.net/ubuntu/+source/pulseview pulseview], [https://launchpad.net/ubuntu/+source/sigrok-firmware-fx2lafw sigrok-firmware-fx2lafw])<br />
* '''Arch Linux:''' [https://aur.archlinux.org/packages.php?O=0&K=sigrok&do_Search=Go AUR (Arch Linux User Repository)], [https://aur.archlinux.org/packages/libserialport-git/ libserialport], [https://aur.archlinux.org/packages/libsigrok-git/ libsigrok], [https://aur.archlinux.org/packages/libsigrokdecode-git/ libsigrokdecode], [https://aur.archlinux.org/packages/sigrok-cli/ sigrok-cli], [https://aur.archlinux.org/packages/pulseview-git/ pulseview], [https://aur.archlinux.org/packages/sigrok-firmware-fx2lafw/ sigrok-firmware-fx2lafw]<br />
* '''Slackware:''' [https://slackbuilds.org/apps/libserialport/ libserialport], [https://slackbuilds.org/apps/libsigrok/ libsigrok], [https://slackbuilds.org/apps/libsigrokdecode/ libsigrokdecode], [https://slackbuilds.org/apps/sigrok-cli/ sigrok-cli], [https://slackbuilds.org/apps/pulseview/ pulseview], [https://slackbuilds.org/apps/sigrok-firmware-fx2lafw/ sigrok-firmware-fx2lafw]<br />
* '''Fedora:''' [https://src.fedoraproject.org/cgit/rpms/libserialport.git/ libserialport], [https://src.fedoraproject.org/cgit/rpms/libsigrok.git/ libsigrok], [https://src.fedoraproject.org/cgit/rpms/libsigrokdecode.git/ libsigrokdecode], [https://src.fedoraproject.org/cgit/rpms/sigrok-cli.git/ sigrok-cli], [https://src.fedoraproject.org/cgit/rpms/pulseview.git/ pulseview], [https://src.fedoraproject.org/cgit/rpms/sigrok-firmware-fx2lafw.git/ sigrok-firmware-fx2lafw], [https://src.fedoraproject.org/cgit/rpms/sigrok-firmware.git/ sigrok-firmware]<br />
* '''Gentoo:''' [https://packages.gentoo.org/package/dev-libs/libserialport libserialport], [https://packages.gentoo.org/package/sci-libs/libsigrok libsigrok], [https://packages.gentoo.org/package/sci-libs/libsigrokdecode libsigrokdecode], [https://packages.gentoo.org/package/sci-electronics/sigrok-cli sigrok-cli], [https://packages.gentoo.org/package/sci-electronics/pulseview pulseview], [https://packages.gentoo.org/package/sys-firmware/sigrok-firmware-fx2lafw sigrok-firmware-fx2lafw]<br />
* '''openSUSE:''' Latest stable versions are included in Tumbleweed. Leap includes the latest stable version at time of release, newer versions are available from the [https://download.opensuse.org/repositories/electronics/ "electronics" repository], created by the [https://build.opensuse.org/project/show/electronics OpenBuildService (OBS)].<br />
** '''openSUSE weekly GIT:''' [https://download.opensuse.org/repositories/home:/StefanBruens:/branches:/electronics:/GIT/ Repositories], [https://build.opensuse.org/project/show/home:StefanBruens:branches:electronics:GIT OBS Project]<br />
<br />
=== Windows ===<br />
<span id="Windows_Download"><br />
<br />
* Nightly installer binaries (require Windows XP or higher):<br />
** [https://sigrok.org/download/binary/pulseview/pulseview-NIGHTLY-i686-static-release-installer.exe pulseview-NIGHTLY-i686-static-release-installer.exe] ([https://sigrok.org/download/binary/pulseview/pulseview-NIGHTLY-i686-static-debug-installer.exe debug build])<br />
** [https://sigrok.org/download/binary/pulseview/pulseview-NIGHTLY-x86_64-static-release-installer.exe pulseview-NIGHTLY-x86_64-static-release-installer.exe] ([https://sigrok.org/download/binary/pulseview/pulseview-NIGHTLY-x86_64-static-debug-installer.exe debug build])<br />
** [https://sigrok.org/download/binary/sigrok-cli/sigrok-cli-NIGHTLY-i686-static-release-installer.exe sigrok-cli-NIGHTLY-i686-static-release-installer.exe] ([https://sigrok.org/download/binary/sigrok-cli/sigrok-cli-NIGHTLY-i686-static-debug-installer.exe debug build])<br />
** [https://sigrok.org/download/binary/sigrok-cli/sigrok-cli-NIGHTLY-x86_64-static-release-installer.exe sigrok-cli-NIGHTLY-x86_64-static-release-installer.exe] ([https://sigrok.org/download/binary/sigrok-cli/sigrok-cli-NIGHTLY-x86_64-static-debug-installer.exe debug build])<br />
* See also [[Windows#Windows_installers|Windows]] for more information.<br />
<br />
=== Mac OS X ===<br />
<br />
Note: As of Sept 2023, these are unfortunately unavailable. Please use the releases for now. Recent builds will come as soon as we have them working again.<br />
<br />
* Nightly DMG binaries (64&nbsp;bit x86 only; require OS X 10.9 Mavericks or higher):<br />
** [https://sigrok.org/download/binary/pulseview/PulseView-NIGHTLY.dmg PulseView-NIGHTLY.dmg]<br />
** [https://sigrok.org/download/binary/sigrok-cli/sigrok-cli-NIGHTLY.dmg sigrok-cli-NIGHTLY.dmg]<br />
* See also [[Mac OS X]] for more information.<br />
<br />
=== FreeBSD ===<br />
<br />
* [https://www.freshports.org/devel/libserialport/ libserialport], [https://www.freshports.org/devel/libsigrok/ libsigrok], [https://www.freshports.org/devel/libsigrokdecode/ libsigrokdecode], [https://www.freshports.org/science/sigrok-cli/ sigrok-cli], [https://www.freshports.org/science/pulseview/ pulseview], [https://www.freshports.org/science/sigrok-firmware-fx2lafw/ sigrok-firmware-fx2lafw], [https://www.freshports.org/science/sigrok-firmware/ sigrok-firmware], [https://www.freshports.org/science/sigrok-firmware-utils/ sigrok-firmware-utils]<br />
<br />
=== OpenBSD ===<br />
<br />
* [https://cvsweb.openbsd.org/ports/comms/sigrok/libserialport/ libserialport], [https://cvsweb.openbsd.org/ports/comms/sigrok/libsigrok/ libsigrok], [https://cvsweb.openbsd.org/ports/comms/sigrok/libsigrokdecode/ libsigrokdecode], [https://cvsweb.openbsd.org/ports/comms/sigrok/sigrok-cli/ sigrok-cli], [https://cvsweb.openbsd.org/ports/comms/sigrok/pulseview/ pulseview], [https://cvsweb.openbsd.org/ports/comms/sigrok/sigrok-dumps/ sigrok-dumps], [https://cvsweb.openbsd.org/ports/comms/sigrok/sigrok-firmware-fx2lafw/ sigrok-firmware-fx2lafw]<br />
<br />
=== Android ===<br />
<br />
Note: Not provided as of Sept 2023 due to limited project manpower and low user interest. If you're interested in improving the user experience on Android, please come and chat with us!<br />
<br />
* Nightly APK binaries:<br />
** [https://sigrok.org/download/binary/PulseView-NIGHTLY.apk PulseView-NIGHTLY.apk (ARM)]<br />
* See also [[Android]] for more information.<br />
<br />
== Source code ==<br />
<br />
The development is done in various [https://sigrok.org/gitweb/ git repositories].<br />
<br />
See [[Building]] for build instructions.<br />
<br />
== Example data ==<br />
<br />
See the [[Example dumps]] wiki page.<br />
<br />
== Firmware files ==<br />
<br />
See the [[Firmware]] wiki page.</div>
Abraxa
https://sigrok.org/w/index.php?title=Template:Checkbox&diff=16648
Template:Checkbox
2023-10-27T20:47:56Z
<p>Abraxa: Fix typo</p>
<hr />
<div><includeonly>{{#switch:{{{1|}}}<br />
| checked<br />
| black | Black = [[File:Black_square.png|link=]]<br />
| unchecked<br />
| #default<br />
| white | White = [[File:Blank_square.png|link=]]<br />
}}&nbsp;{{{2|}}}</includeonly></div>
Abraxa
https://sigrok.org/w/index.php?title=Template:Checkbox&diff=16647
Template:Checkbox
2023-10-27T20:47:01Z
<p>Abraxa: Change images</p>
<hr />
<div><includeonly>{{#switch:{{{1|}}}<br />
| checked<br />
| black | Black = [[File:Black_Square.png|link=]]<br />
| unchecked<br />
| #default<br />
| white | White = [[File:Blank_square.png|link=]]<br />
}}&nbsp;{{{2|}}}</includeonly></div>
Abraxa
https://sigrok.org/w/index.php?title=Template:Checkbox&diff=16646
Template:Checkbox
2023-10-27T20:45:33Z
<p>Abraxa: Change syntax</p>
<hr />
<div><includeonly>{{#switch:{{{1|}}}<br />
| checked<br />
| black | Black = [[File:Black Square.png|link=]]<br />
| unchecked<br />
| #default<br />
| white | White = [[File:Blank square.png|link=]]<br />
}}&nbsp;{{{2|}}}</includeonly></div>
Abraxa
https://sigrok.org/w/index.php?title=File:Black_square.png&diff=16645
File:Black square.png
2023-10-27T20:44:37Z
<p>Abraxa: </p>
<hr />
<div><br />
== Licensing ==<br />
{{PD}}</div>
Abraxa
https://sigrok.org/w/index.php?title=Developers/Release_0.8.0&diff=16644
Developers/Release 0.8.0
2023-10-27T20:43:58Z
<p>Abraxa: dummy</p>
<hr />
<div>This is an attempt at a checklist for the "next release" - as of 2023/10, for sigrok-cli this would be either 0.7.3 or 0.8.0 (maybe the latter would be more appropriate given that 0.7.2 was over 2 years ago ?). Other subprojects have different numbers e.g. last libsigrok was 0.5.2 . <br />
<br />
Most of this is intended to expand on the main release guidelines here https://sigrok.org/wiki/Developers/Release_process<br />
<br />
<br />
* what platforms "must work" ?<br />
** linux is the most tested based on IRC traffic, but maybe we can explicitly list distros to test ?<br />
** win : would be nice to have a list of people we can ping to get them test a build<br />
** osx : no idea, no user reports in IRC<br />
** *BSD : no idea, no user reports in IRC<br />
<br />
* what currently open issues should be considered "blockers" for a release ?<br />
** [DONE] PyEval_InitThreads() deprecated in Python 3.13; https://bugzilla.redhat.com/show_bug.cgi?id=2245598<br />
** Possibly some other Python2 / 3 compatibility and deprecation issues ?<br />
** random weird issues that always seem to come from Win* users running weird combinations of hardware / firmware, mostly USB ?<br />
** -flto maybe breaks builds (driver list gets optimized out ? forget the details) on some distros ? <br />
<br />
* what external projects depend on sigrok components or bindings ? does it actually matter ?<br />
** Pulseview<br />
** smuview<br />
<br />
Transports (this would be better presented in a matrix format with feature vs OS) :<br />
<br />
*serial (native/USB-CDC)<br />
*USB (non-serial)<br />
*USB<br />
*TCP/IP<br />
*GPIB (probably just linux ?)<br />
*VXI ?<br />
<br />
<br />
checklist test<br />
{{checkbox|checked|title}}</div>
Abraxa
https://sigrok.org/w/index.php?title=File:Blank_square.png&diff=16643
File:Blank square.png
2023-10-27T20:42:09Z
<p>Abraxa: </p>
<hr />
<div><br />
== Licensing ==<br />
{{PD}}</div>
Abraxa
https://sigrok.org/w/index.php?title=Template:Checkbox&diff=16642
Template:Checkbox
2023-10-27T20:40:33Z
<p>Abraxa: Remove doc reference</p>
<hr />
<div><includeonly>{{#switch:{{{1|}}}<br />
| 1<br />
| black | Black = [[File:Black Square.png|link=]]<br />
| 0<br />
| #default<br />
| white | White = [[File:Blank square.png|link=]]<br />
}}&nbsp;{{{2|}}}</includeonly></div>
Abraxa
https://sigrok.org/w/index.php?title=Template:Checkbox&diff=16641
Template:Checkbox
2023-10-27T20:38:29Z
<p>Abraxa: Added template</p>
<hr />
<div><includeonly>{{#switch:{{{1|}}}<br />
| 1<br />
| black | Black = [[File:Black Square.png|link=]]<br />
| 0<br />
| #default<br />
| white | White = [[File:Blank square.png|link=]]<br />
}}&nbsp;{{{2|}}}</includeonly><noinclude><br />
{{Documentation}}</noinclude></div>
Abraxa
https://sigrok.org/w/index.php?title=Downloads&diff=16600
Downloads
2023-09-23T20:41:08Z
<p>Abraxa: /* Android */</p>
<hr />
<div>{| border="0" width="100%" style="white-space: margin: 0em; margin-bottom: 2em; border-width: 1em; align:center; vertical-align: top"<br />
|-<br />
!Linux<br />
!Windows<br />
!Mac OS X<br />
!Other<br />
<br />
|-<br />
! colspan="4" | {{Rounded_corners|url=https://sigrok.org/wiki/Downloads|bgcolor=#aaaaaa|text=Nightly builds (recommended, always up-to-date)}}<br />
<br />
|- style="background-color: white"<br />
<br />
| style="width:20%; vertical-align: top" |<br />
<br />
{{Rounded_corners|url=https://sigrok.org/download/binary/pulseview/PulseView-NIGHTLY-i686.AppImage|text=PulseView (32bit)}}<br />
<br />
{{Rounded_corners|url=https://sigrok.org/download/binary/pulseview/PulseView-NIGHTLY-x86_64.AppImage|text=PulseView (64bit)}}<br />
<br />
{{Rounded_corners|url=https://sigrok.org/download/binary/sigrok-cli/sigrok-cli-NIGHTLY-i686.AppImage|text=sigrok-cli (32bit)}}<br />
<br />
{{Rounded_corners|url=https://sigrok.org/download/binary/sigrok-cli/sigrok-cli-NIGHTLY-x86_64.AppImage|text=sigrok-cli (64bit)}}<br />
<br />
| style="width:20%; vertical-align: top" |<br />
<br />
{{Rounded_corners|url=https://sigrok.org/download/binary/pulseview/pulseview-NIGHTLY-32bit-static-release-installer.exe|text=PulseView (32bit)}}<br />
<br />
{{Rounded_corners|url=https://sigrok.org/download/binary/pulseview/pulseview-NIGHTLY-64bit-static-release-installer.exe|text=PulseView (64bit)}}<br />
<br />
{{Rounded_corners|url=https://sigrok.org/download/binary/sigrok-cli/sigrok-cli-NIGHTLY-32bit-static-release-installer.exe|text=sigrok-cli (32bit)}}<br />
<br />
{{Rounded_corners|url=https://sigrok.org/download/binary/sigrok-cli/sigrok-cli-NIGHTLY-64bit-static-release-installer.exe|text=sigrok-cli (64bit)}}<br />
<br />
| style="width:20%; vertical-align: top" |<br />
<br />
{{Rounded_corners|url=https://sigrok.org/download/binary/pulseview/PulseView-NIGHTLY.dmg|text=PulseView (64bit) (Defunct, in work)}}<br />
<br />
{{Rounded_corners|url=https://sigrok.org/download/binary/sigrok-cli/sigrok-cli-NIGHTLY.dmg|text=sigrok-cli (64bit) (Defunct, in work)}}<br />
<br />
| style="width:20%; vertical-align: top; text-align: center" |<br />
<br />
{{Rounded_corners|url=https://sigrok.org/wiki/Downloads#Releases|text=See below}}<br />
<br />
|-<br />
!colspan="4" | {{Rounded_corners|url=https://sigrok.org/wiki/Downloads|bgcolor=#aaaaaa|text=Release builds (usually older than nightly builds, might be missing features or bugfixes)}}<br />
<br />
|- style="background-color: white"<br />
<br />
| style="width:20%; vertical-align: top" |<br />
<br />
{{Rounded_corners|url=https://sigrok.org/download/binary/pulseview/PulseView-0.4.2-i386.AppImage|text=PulseView 0.4.2 (32bit)}}<br />
<br />
{{Rounded_corners|url=https://sigrok.org/download/binary/pulseview/PulseView-0.4.2-x86_64.AppImage|text=PulseView 0.4.2 (64bit)}}<br />
<br />
{{Rounded_corners|url=https://sigrok.org/download/binary/sigrok-cli/sigrok-cli-0.7.2-i386.AppImage|text=sigrok-cli 0.7.2 (32bit)}}<br />
<br />
{{Rounded_corners|url=https://sigrok.org/download/binary/sigrok-cli/sigrok-cli-0.7.2-x86_64.AppImage|text=sigrok-cli 0.7.2 (64bit)}}<br />
<br />
| style="width:20%; vertical-align: top" |<br />
<br />
{{Rounded_corners|url=https://sigrok.org/download/binary/pulseview/pulseview-0.4.2-32bit-static-release-installer.exe|text=PulseView 0.4.2 (32bit)}}<br />
<br />
{{Rounded_corners|url=https://sigrok.org/download/binary/pulseview/pulseview-0.4.2-64bit-static-release-installer.exe|text=PulseView 0.4.2 (64bit)}}<br />
<br />
{{Rounded_corners|url=https://sigrok.org/download/binary/sigrok-cli/sigrok-cli-0.7.2-i686-installer.exe|text=sigrok-cli 0.7.2 (32bit)}}<br />
<br />
{{Rounded_corners|url=https://sigrok.org/download/binary/sigrok-cli/sigrok-cli-0.7.2-x86_64-installer.exe|text=sigrok-cli 0.7.2 (64bit)}}<br />
<br />
| style="width:20%; vertical-align: top" |<br />
<br />
{{Rounded_corners|url=https://sigrok.org/download/binary/pulseview/PulseView-0.4.2.dmg|text=PulseView 0.4.2 (64bit)}}<br />
<br />
| style="width:20%; vertical-align: top; text-align: center" |<br />
<br />
{{Rounded_corners|url=https://sigrok.org/wiki/Downloads#Releases|text=See below}}<br />
<br />
|- style="background-color: white; vertical-align: top;"<br />
<br />
| style="text-align:center" | <em><small>Requires a Linux distro more recent than '''Ubuntu 16.04 LTS (Xenial Xerus)''' from 2016.</small></em><br />
| style="text-align:center" | <em><small>Requires '''Windows XP''' or higher.</small></em><br />
| style="text-align:center" | <em><small>Requires '''OS X 10.9 (Mavericks)''' or higher.</small></em><br />
| style="text-align:center" | <em><small>See below for other download options (Android, FreeBSD, source code, etc.).</small></em><br />
<br />
|}<br />
<br />
== Releases ==<br />
<br />
You can download the latest released tarballs of the following subprojects from [https://sigrok.org/download/ the sigrok.org download directory]:<br />
<br />
{| border="0" style="font-size: smaller; white-space: nowrap;" class="alternategrey sigroktable"<br />
|-<br />
!Project<br />
!Release/download<br />
!News<br />
<br />
|-<br />
| [[libserialport]]<br />
| [https://sigrok.org/download/source/libserialport/libserialport-0.1.1.tar.gz libserialport-0.1.1.tar.gz]<br />
| [https://sigrok.org/gitweb/?p=libserialport.git;a=blob;f=NEWS;hb=HEAD release notes]<br />
<br />
|-<br />
| [[libsigrok]]<br />
| [https://sigrok.org/download/source/libsigrok/libsigrok-0.5.2.tar.gz libsigrok-0.5.2.tar.gz]<br />
| [https://sigrok.org/gitweb/?p=libsigrok.git;a=blob;f=NEWS;h=60de6e341b7289cfb99883a94b0c921a4b79b008;hb=a6b07d7e28fe445afccf36922ef7d20e63e54fe6 release notes]<br />
<br />
|-<br />
| [[libsigrokdecode]]<br />
| [https://sigrok.org/download/source/libsigrokdecode/libsigrokdecode-0.5.3.tar.gz libsigrokdecode-0.5.3.tar.gz]<br />
| [https://sigrok.org/gitweb/?p=libsigrokdecode.git;a=blob;f=NEWS;h=f61727f8c75edf52e1f306983070a5eda629fd2e;hb=97991a3919da6a07c4c87308ae66fb441bd512e3 release notes]<br />
<br />
|-<br />
| [[sigrok-cli]]<br />
| [https://sigrok.org/download/source/sigrok-cli/sigrok-cli-0.7.2.tar.gz sigrok-cli-0.7.2.tar.gz]<br />
| [https://sigrok.org/gitweb/?p=sigrok-cli.git;a=blob;f=NEWS;h=e80dad6392501dd16e4fdc87836d443474e2eed9;hb=b584f959edb788f1731d5a304badf241ac21bf65 release notes]<br />
<br />
|-<br />
| [[PulseView]]<br />
| [https://sigrok.org/download/source/pulseview/pulseview-0.4.2.tar.gz pulseview-0.4.2.tar.gz]<br />
| [https://sigrok.org/gitweb/?p=pulseview.git;a=blob;f=NEWS;h=b20f14aebe4bd890a6bd92323e043b3540cb6629;hb=2b526a42a2fd68d513d4c2061790605a0c7add6c release notes]<br />
<br />
|-<br />
| [[fx2lafw|sigrok-firmware-fx2lafw]] (source code)<br />
| [https://sigrok.org/download/source/sigrok-firmware-fx2lafw/sigrok-firmware-fx2lafw-0.1.7.tar.gz sigrok-firmware-fx2lafw-0.1.7.tar.gz]<br />
| [https://sigrok.org/gitweb/?p=sigrok-firmware-fx2lafw.git;a=blob;f=NEWS;hb=HEAD release notes]<br />
<br />
|-<br />
| [[fx2lafw|sigrok-firmware-fx2lafw]] (prebuilt firmware)<br />
| [https://sigrok.org/download/binary/sigrok-firmware-fx2lafw/sigrok-firmware-fx2lafw-bin-0.1.7.tar.gz sigrok-firmware-fx2lafw-bin-0.1.7.tar.gz]<br />
| [https://sigrok.org/gitweb/?p=sigrok-firmware-fx2lafw.git;a=blob;f=NEWS;hb=HEAD release notes]<br />
<br />
|}<br />
<br />
== Binaries and distribution packages ==<br />
<br />
=== Linux AppImage binaries ===<br />
<br />
* Nightly AppImage binaries (oldest distro supported is Ubuntu 16.04 LTS Xenial Xerus from 2016):<br />
** [https://sigrok.org/download/binary/pulseview/PulseView-NIGHTLY-i686.AppImage PulseView-NIGHTLY-i686.AppImage] (32bit)<br />
** [https://sigrok.org/download/binary/pulseview/PulseView-NIGHTLY-x86_64.AppImage PulseView-NIGHTLY-x86_64.AppImage] (64bit)<br />
** [https://sigrok.org/download/binary/sigrok-cli/sigrok-cli-NIGHTLY-i686.AppImage sigrok-cli-NIGHTLY-i686.AppImage] (32bit)<br />
** [https://sigrok.org/download/binary/sigrok-cli/sigrok-cli-NIGHTLY-x86_64.AppImage sigrok-cli-NIGHTLY-x86_64.AppImage] (64bit)<br />
* Download the correct (32bit or 64bit) AppImage file for your Linux system, make the file executable via "'''chmod +x'''" and then run it.<br />
* If you want to access hardware, please install the [https://sigrok.org/gitweb/?p=libsigrok.git;a=tree;f=contrib udev rules] on your system and reload the rules using "udevadm control --reload-rules && udevadm trigger".<br />
* See also [[Linux#AppImage|Linux]] for more information.<br />
<br />
=== Linux distribution packages ===<br />
<br />
* '''Debian:''' [https://packages.qa.debian.org/s/sigrok.html sigrok] (pulls [https://packages.qa.debian.org/libs/libserialport.html libserialport], [https://packages.qa.debian.org/libs/libsigrok.html libsigrok], [https://packages.qa.debian.org/libs/libsigrokdecode.html libsigrokdecode], [https://packages.qa.debian.org/s/sigrok-cli.html sigrok-cli], [https://packages.qa.debian.org/p/pulseview.html pulseview], [https://packages.qa.debian.org/s/sigrok-firmware-fx2lafw.html sigrok-firmware-fx2lafw])<br />
* '''Ubuntu:''' [https://launchpad.net/ubuntu/+source/sigrok sigrok] (pulls [https://launchpad.net/ubuntu/+source/libserialport libserialport], [https://launchpad.net/ubuntu/+source/libsigrok libsigrok], [https://launchpad.net/ubuntu/+source/libsigrokdecode libsigrokdecode], [https://launchpad.net/ubuntu/+source/sigrok-cli sigrok-cli], [https://launchpad.net/ubuntu/+source/pulseview pulseview], [https://launchpad.net/ubuntu/+source/sigrok-firmware-fx2lafw sigrok-firmware-fx2lafw])<br />
* '''Arch Linux:''' [https://aur.archlinux.org/packages.php?O=0&K=sigrok&do_Search=Go AUR (Arch Linux User Repository)], [https://aur.archlinux.org/packages/libserialport-git/ libserialport], [https://aur.archlinux.org/packages/libsigrok-git/ libsigrok], [https://aur.archlinux.org/packages/libsigrokdecode-git/ libsigrokdecode], [https://aur.archlinux.org/packages/sigrok-cli/ sigrok-cli], [https://aur.archlinux.org/packages/pulseview-git/ pulseview], [https://aur.archlinux.org/packages/sigrok-firmware-fx2lafw/ sigrok-firmware-fx2lafw]<br />
* '''Slackware:''' [https://slackbuilds.org/apps/libserialport/ libserialport], [https://slackbuilds.org/apps/libsigrok/ libsigrok], [https://slackbuilds.org/apps/libsigrokdecode/ libsigrokdecode], [https://slackbuilds.org/apps/sigrok-cli/ sigrok-cli], [https://slackbuilds.org/apps/pulseview/ pulseview], [https://slackbuilds.org/apps/sigrok-firmware-fx2lafw/ sigrok-firmware-fx2lafw]<br />
* '''Fedora:''' [https://src.fedoraproject.org/cgit/rpms/libserialport.git/ libserialport], [https://src.fedoraproject.org/cgit/rpms/libsigrok.git/ libsigrok], [https://src.fedoraproject.org/cgit/rpms/libsigrokdecode.git/ libsigrokdecode], [https://src.fedoraproject.org/cgit/rpms/sigrok-cli.git/ sigrok-cli], [https://src.fedoraproject.org/cgit/rpms/pulseview.git/ pulseview], [https://src.fedoraproject.org/cgit/rpms/sigrok-firmware-fx2lafw.git/ sigrok-firmware-fx2lafw], [https://src.fedoraproject.org/cgit/rpms/sigrok-firmware.git/ sigrok-firmware]<br />
* '''Gentoo:''' [https://packages.gentoo.org/package/dev-libs/libserialport libserialport], [https://packages.gentoo.org/package/sci-libs/libsigrok libsigrok], [https://packages.gentoo.org/package/sci-libs/libsigrokdecode libsigrokdecode], [https://packages.gentoo.org/package/sci-electronics/sigrok-cli sigrok-cli], [https://packages.gentoo.org/package/sci-electronics/pulseview pulseview], [https://packages.gentoo.org/package/sys-firmware/sigrok-firmware-fx2lafw sigrok-firmware-fx2lafw]<br />
* '''openSUSE:''' Latest stable versions are included in Tumbleweed. Leap includes the latest stable version at time of release, newer versions are available from the [https://download.opensuse.org/repositories/electronics/ "electronics" repository], created by the [https://build.opensuse.org/project/show/electronics OpenBuildService (OBS)].<br />
** '''openSUSE weekly GIT:''' [https://download.opensuse.org/repositories/home:/StefanBruens:/branches:/electronics:/GIT/ Repositories], [https://build.opensuse.org/project/show/home:StefanBruens:branches:electronics:GIT OBS Project]<br />
<br />
=== Windows ===<br />
<span id="Windows_Download"><br />
<br />
* Nightly installer binaries (require Windows XP or higher):<br />
** [https://sigrok.org/download/binary/pulseview/pulseview-NIGHTLY-32bit-static-release-installer.exe pulseview-NIGHTLY-32bit-static-release-installer.exe] ([https://sigrok.org/download/binary/pulseview/pulseview-NIGHTLY-32bit-static-debug-installer.exe debug build])<br />
** [https://sigrok.org/download/binary/pulseview/pulseview-NIGHTLY-64bit-static-release-installer.exe pulseview-NIGHTLY-64bit-static-release-installer.exe] ([https://sigrok.org/download/binary/pulseview/pulseview-NIGHTLY-64bit-static-debug-installer.exe debug build])<br />
** [https://sigrok.org/download/binary/sigrok-cli/sigrok-cli-NIGHTLY-32bit-static-release-installer.exe sigrok-cli-NIGHTLY-32bit-static-release-installer.exe] ([https://sigrok.org/download/binary/sigrok-cli/sigrok-cli-NIGHTLY-32bit-static-debug-installer.exe debug build])<br />
** [https://sigrok.org/download/binary/sigrok-cli/sigrok-cli-NIGHTLY-64bit-static-release-installer.exe sigrok-cli-NIGHTLY-64bit-static-release-installer.exe] ([https://sigrok.org/download/binary/sigrok-cli/sigrok-cli-NIGHTLY-64bit-static-debug-installer.exe debug build])<br />
* See also [[Windows#Windows_installers|Windows]] for more information.<br />
<br />
=== Mac OS X ===<br />
<br />
Note: As of Sept 2023, these are unfortunately unavailable. Please use the releases for now. Recent builds will come as soon as we have them working again.<br />
<br />
* Nightly DMG binaries (64&nbsp;bit x86 only; require OS X 10.9 Mavericks or higher):<br />
** [https://sigrok.org/download/binary/pulseview/PulseView-NIGHTLY.dmg PulseView-NIGHTLY.dmg]<br />
** [https://sigrok.org/download/binary/sigrok-cli/sigrok-cli-NIGHTLY.dmg sigrok-cli-NIGHTLY.dmg]<br />
* See also [[Mac OS X]] for more information.<br />
<br />
=== FreeBSD ===<br />
<br />
* [https://www.freshports.org/devel/libserialport/ libserialport], [https://www.freshports.org/devel/libsigrok/ libsigrok], [https://www.freshports.org/devel/libsigrokdecode/ libsigrokdecode], [https://www.freshports.org/science/sigrok-cli/ sigrok-cli], [https://www.freshports.org/science/pulseview/ pulseview], [https://www.freshports.org/science/sigrok-firmware-fx2lafw/ sigrok-firmware-fx2lafw], [https://www.freshports.org/science/sigrok-firmware/ sigrok-firmware], [https://www.freshports.org/science/sigrok-firmware-utils/ sigrok-firmware-utils]<br />
<br />
=== OpenBSD ===<br />
<br />
* [https://cvsweb.openbsd.org/ports/comms/sigrok/libserialport/ libserialport], [https://cvsweb.openbsd.org/ports/comms/sigrok/libsigrok/ libsigrok], [https://cvsweb.openbsd.org/ports/comms/sigrok/libsigrokdecode/ libsigrokdecode], [https://cvsweb.openbsd.org/ports/comms/sigrok/sigrok-cli/ sigrok-cli], [https://cvsweb.openbsd.org/ports/comms/sigrok/pulseview/ pulseview], [https://cvsweb.openbsd.org/ports/comms/sigrok/sigrok-dumps/ sigrok-dumps], [https://cvsweb.openbsd.org/ports/comms/sigrok/sigrok-firmware-fx2lafw/ sigrok-firmware-fx2lafw]<br />
<br />
=== Android ===<br />
<br />
Note: Not provided as of Sept 2023 due to limited project manpower and low user interest. If you're interested in improving the user experience on Android, please come and chat with us!<br />
<br />
* Nightly APK binaries:<br />
** [https://sigrok.org/download/binary/PulseView-NIGHTLY.apk PulseView-NIGHTLY.apk (ARM)]<br />
* See also [[Android]] for more information.<br />
<br />
== Source code ==<br />
<br />
The development is done in various [https://sigrok.org/gitweb/ git repositories].<br />
<br />
See [[Building]] for build instructions.<br />
<br />
== Example data ==<br />
<br />
See the [[Example dumps]] wiki page.<br />
<br />
== Firmware files ==<br />
<br />
See the [[Firmware]] wiki page.</div>
Abraxa
https://sigrok.org/w/index.php?title=Downloads&diff=16599
Downloads
2023-09-23T17:32:48Z
<p>Abraxa: /* Android */</p>
<hr />
<div>{| border="0" width="100%" style="white-space: margin: 0em; margin-bottom: 2em; border-width: 1em; align:center; vertical-align: top"<br />
|-<br />
!Linux<br />
!Windows<br />
!Mac OS X<br />
!Other<br />
<br />
|-<br />
! colspan="4" | {{Rounded_corners|url=https://sigrok.org/wiki/Downloads|bgcolor=#aaaaaa|text=Nightly builds (recommended, always up-to-date)}}<br />
<br />
|- style="background-color: white"<br />
<br />
| style="width:20%; vertical-align: top" |<br />
<br />
{{Rounded_corners|url=https://sigrok.org/download/binary/pulseview/PulseView-NIGHTLY-i686.AppImage|text=PulseView (32bit)}}<br />
<br />
{{Rounded_corners|url=https://sigrok.org/download/binary/pulseview/PulseView-NIGHTLY-x86_64.AppImage|text=PulseView (64bit)}}<br />
<br />
{{Rounded_corners|url=https://sigrok.org/download/binary/sigrok-cli/sigrok-cli-NIGHTLY-i686.AppImage|text=sigrok-cli (32bit)}}<br />
<br />
{{Rounded_corners|url=https://sigrok.org/download/binary/sigrok-cli/sigrok-cli-NIGHTLY-x86_64.AppImage|text=sigrok-cli (64bit)}}<br />
<br />
| style="width:20%; vertical-align: top" |<br />
<br />
{{Rounded_corners|url=https://sigrok.org/download/binary/pulseview/pulseview-NIGHTLY-32bit-static-release-installer.exe|text=PulseView (32bit)}}<br />
<br />
{{Rounded_corners|url=https://sigrok.org/download/binary/pulseview/pulseview-NIGHTLY-64bit-static-release-installer.exe|text=PulseView (64bit)}}<br />
<br />
{{Rounded_corners|url=https://sigrok.org/download/binary/sigrok-cli/sigrok-cli-NIGHTLY-32bit-static-release-installer.exe|text=sigrok-cli (32bit)}}<br />
<br />
{{Rounded_corners|url=https://sigrok.org/download/binary/sigrok-cli/sigrok-cli-NIGHTLY-64bit-static-release-installer.exe|text=sigrok-cli (64bit)}}<br />
<br />
| style="width:20%; vertical-align: top" |<br />
<br />
{{Rounded_corners|url=https://sigrok.org/download/binary/pulseview/PulseView-NIGHTLY.dmg|text=PulseView (64bit) (Defunct, in work)}}<br />
<br />
{{Rounded_corners|url=https://sigrok.org/download/binary/sigrok-cli/sigrok-cli-NIGHTLY.dmg|text=sigrok-cli (64bit) (Defunct, in work)}}<br />
<br />
| style="width:20%; vertical-align: top; text-align: center" |<br />
<br />
{{Rounded_corners|url=https://sigrok.org/wiki/Downloads#Releases|text=See below}}<br />
<br />
|-<br />
!colspan="4" | {{Rounded_corners|url=https://sigrok.org/wiki/Downloads|bgcolor=#aaaaaa|text=Release builds (usually older than nightly builds, might be missing features or bugfixes)}}<br />
<br />
|- style="background-color: white"<br />
<br />
| style="width:20%; vertical-align: top" |<br />
<br />
{{Rounded_corners|url=https://sigrok.org/download/binary/pulseview/PulseView-0.4.2-i386.AppImage|text=PulseView 0.4.2 (32bit)}}<br />
<br />
{{Rounded_corners|url=https://sigrok.org/download/binary/pulseview/PulseView-0.4.2-x86_64.AppImage|text=PulseView 0.4.2 (64bit)}}<br />
<br />
{{Rounded_corners|url=https://sigrok.org/download/binary/sigrok-cli/sigrok-cli-0.7.2-i386.AppImage|text=sigrok-cli 0.7.2 (32bit)}}<br />
<br />
{{Rounded_corners|url=https://sigrok.org/download/binary/sigrok-cli/sigrok-cli-0.7.2-x86_64.AppImage|text=sigrok-cli 0.7.2 (64bit)}}<br />
<br />
| style="width:20%; vertical-align: top" |<br />
<br />
{{Rounded_corners|url=https://sigrok.org/download/binary/pulseview/pulseview-0.4.2-32bit-static-release-installer.exe|text=PulseView 0.4.2 (32bit)}}<br />
<br />
{{Rounded_corners|url=https://sigrok.org/download/binary/pulseview/pulseview-0.4.2-64bit-static-release-installer.exe|text=PulseView 0.4.2 (64bit)}}<br />
<br />
{{Rounded_corners|url=https://sigrok.org/download/binary/sigrok-cli/sigrok-cli-0.7.2-i686-installer.exe|text=sigrok-cli 0.7.2 (32bit)}}<br />
<br />
{{Rounded_corners|url=https://sigrok.org/download/binary/sigrok-cli/sigrok-cli-0.7.2-x86_64-installer.exe|text=sigrok-cli 0.7.2 (64bit)}}<br />
<br />
| style="width:20%; vertical-align: top" |<br />
<br />
{{Rounded_corners|url=https://sigrok.org/download/binary/pulseview/PulseView-0.4.2.dmg|text=PulseView 0.4.2 (64bit)}}<br />
<br />
| style="width:20%; vertical-align: top; text-align: center" |<br />
<br />
{{Rounded_corners|url=https://sigrok.org/wiki/Downloads#Releases|text=See below}}<br />
<br />
|- style="background-color: white; vertical-align: top;"<br />
<br />
| style="text-align:center" | <em><small>Requires a Linux distro more recent than '''Ubuntu 16.04 LTS (Xenial Xerus)''' from 2016.</small></em><br />
| style="text-align:center" | <em><small>Requires '''Windows XP''' or higher.</small></em><br />
| style="text-align:center" | <em><small>Requires '''OS X 10.9 (Mavericks)''' or higher.</small></em><br />
| style="text-align:center" | <em><small>See below for other download options (Android, FreeBSD, source code, etc.).</small></em><br />
<br />
|}<br />
<br />
== Releases ==<br />
<br />
You can download the latest released tarballs of the following subprojects from [https://sigrok.org/download/ the sigrok.org download directory]:<br />
<br />
{| border="0" style="font-size: smaller; white-space: nowrap;" class="alternategrey sigroktable"<br />
|-<br />
!Project<br />
!Release/download<br />
!News<br />
<br />
|-<br />
| [[libserialport]]<br />
| [https://sigrok.org/download/source/libserialport/libserialport-0.1.1.tar.gz libserialport-0.1.1.tar.gz]<br />
| [https://sigrok.org/gitweb/?p=libserialport.git;a=blob;f=NEWS;hb=HEAD release notes]<br />
<br />
|-<br />
| [[libsigrok]]<br />
| [https://sigrok.org/download/source/libsigrok/libsigrok-0.5.2.tar.gz libsigrok-0.5.2.tar.gz]<br />
| [https://sigrok.org/gitweb/?p=libsigrok.git;a=blob;f=NEWS;h=60de6e341b7289cfb99883a94b0c921a4b79b008;hb=a6b07d7e28fe445afccf36922ef7d20e63e54fe6 release notes]<br />
<br />
|-<br />
| [[libsigrokdecode]]<br />
| [https://sigrok.org/download/source/libsigrokdecode/libsigrokdecode-0.5.3.tar.gz libsigrokdecode-0.5.3.tar.gz]<br />
| [https://sigrok.org/gitweb/?p=libsigrokdecode.git;a=blob;f=NEWS;h=f61727f8c75edf52e1f306983070a5eda629fd2e;hb=97991a3919da6a07c4c87308ae66fb441bd512e3 release notes]<br />
<br />
|-<br />
| [[sigrok-cli]]<br />
| [https://sigrok.org/download/source/sigrok-cli/sigrok-cli-0.7.2.tar.gz sigrok-cli-0.7.2.tar.gz]<br />
| [https://sigrok.org/gitweb/?p=sigrok-cli.git;a=blob;f=NEWS;h=e80dad6392501dd16e4fdc87836d443474e2eed9;hb=b584f959edb788f1731d5a304badf241ac21bf65 release notes]<br />
<br />
|-<br />
| [[PulseView]]<br />
| [https://sigrok.org/download/source/pulseview/pulseview-0.4.2.tar.gz pulseview-0.4.2.tar.gz]<br />
| [https://sigrok.org/gitweb/?p=pulseview.git;a=blob;f=NEWS;h=b20f14aebe4bd890a6bd92323e043b3540cb6629;hb=2b526a42a2fd68d513d4c2061790605a0c7add6c release notes]<br />
<br />
|-<br />
| [[fx2lafw|sigrok-firmware-fx2lafw]] (source code)<br />
| [https://sigrok.org/download/source/sigrok-firmware-fx2lafw/sigrok-firmware-fx2lafw-0.1.7.tar.gz sigrok-firmware-fx2lafw-0.1.7.tar.gz]<br />
| [https://sigrok.org/gitweb/?p=sigrok-firmware-fx2lafw.git;a=blob;f=NEWS;hb=HEAD release notes]<br />
<br />
|-<br />
| [[fx2lafw|sigrok-firmware-fx2lafw]] (prebuilt firmware)<br />
| [https://sigrok.org/download/binary/sigrok-firmware-fx2lafw/sigrok-firmware-fx2lafw-bin-0.1.7.tar.gz sigrok-firmware-fx2lafw-bin-0.1.7.tar.gz]<br />
| [https://sigrok.org/gitweb/?p=sigrok-firmware-fx2lafw.git;a=blob;f=NEWS;hb=HEAD release notes]<br />
<br />
|}<br />
<br />
== Binaries and distribution packages ==<br />
<br />
=== Linux AppImage binaries ===<br />
<br />
* Nightly AppImage binaries (oldest distro supported is Ubuntu 16.04 LTS Xenial Xerus from 2016):<br />
** [https://sigrok.org/download/binary/pulseview/PulseView-NIGHTLY-i686.AppImage PulseView-NIGHTLY-i686.AppImage] (32bit)<br />
** [https://sigrok.org/download/binary/pulseview/PulseView-NIGHTLY-x86_64.AppImage PulseView-NIGHTLY-x86_64.AppImage] (64bit)<br />
** [https://sigrok.org/download/binary/sigrok-cli/sigrok-cli-NIGHTLY-i686.AppImage sigrok-cli-NIGHTLY-i686.AppImage] (32bit)<br />
** [https://sigrok.org/download/binary/sigrok-cli/sigrok-cli-NIGHTLY-x86_64.AppImage sigrok-cli-NIGHTLY-x86_64.AppImage] (64bit)<br />
* Download the correct (32bit or 64bit) AppImage file for your Linux system, make the file executable via "'''chmod +x'''" and then run it.<br />
* If you want to access hardware, please install the [https://sigrok.org/gitweb/?p=libsigrok.git;a=tree;f=contrib udev rules] on your system and reload the rules using "udevadm control --reload-rules && udevadm trigger".<br />
* See also [[Linux#AppImage|Linux]] for more information.<br />
<br />
=== Linux distribution packages ===<br />
<br />
* '''Debian:''' [https://packages.qa.debian.org/s/sigrok.html sigrok] (pulls [https://packages.qa.debian.org/libs/libserialport.html libserialport], [https://packages.qa.debian.org/libs/libsigrok.html libsigrok], [https://packages.qa.debian.org/libs/libsigrokdecode.html libsigrokdecode], [https://packages.qa.debian.org/s/sigrok-cli.html sigrok-cli], [https://packages.qa.debian.org/p/pulseview.html pulseview], [https://packages.qa.debian.org/s/sigrok-firmware-fx2lafw.html sigrok-firmware-fx2lafw])<br />
* '''Ubuntu:''' [https://launchpad.net/ubuntu/+source/sigrok sigrok] (pulls [https://launchpad.net/ubuntu/+source/libserialport libserialport], [https://launchpad.net/ubuntu/+source/libsigrok libsigrok], [https://launchpad.net/ubuntu/+source/libsigrokdecode libsigrokdecode], [https://launchpad.net/ubuntu/+source/sigrok-cli sigrok-cli], [https://launchpad.net/ubuntu/+source/pulseview pulseview], [https://launchpad.net/ubuntu/+source/sigrok-firmware-fx2lafw sigrok-firmware-fx2lafw])<br />
* '''Arch Linux:''' [https://aur.archlinux.org/packages.php?O=0&K=sigrok&do_Search=Go AUR (Arch Linux User Repository)], [https://aur.archlinux.org/packages/libserialport-git/ libserialport], [https://aur.archlinux.org/packages/libsigrok-git/ libsigrok], [https://aur.archlinux.org/packages/libsigrokdecode-git/ libsigrokdecode], [https://aur.archlinux.org/packages/sigrok-cli/ sigrok-cli], [https://aur.archlinux.org/packages/pulseview-git/ pulseview], [https://aur.archlinux.org/packages/sigrok-firmware-fx2lafw/ sigrok-firmware-fx2lafw]<br />
* '''Slackware:''' [https://slackbuilds.org/apps/libserialport/ libserialport], [https://slackbuilds.org/apps/libsigrok/ libsigrok], [https://slackbuilds.org/apps/libsigrokdecode/ libsigrokdecode], [https://slackbuilds.org/apps/sigrok-cli/ sigrok-cli], [https://slackbuilds.org/apps/pulseview/ pulseview], [https://slackbuilds.org/apps/sigrok-firmware-fx2lafw/ sigrok-firmware-fx2lafw]<br />
* '''Fedora:''' [https://src.fedoraproject.org/cgit/rpms/libserialport.git/ libserialport], [https://src.fedoraproject.org/cgit/rpms/libsigrok.git/ libsigrok], [https://src.fedoraproject.org/cgit/rpms/libsigrokdecode.git/ libsigrokdecode], [https://src.fedoraproject.org/cgit/rpms/sigrok-cli.git/ sigrok-cli], [https://src.fedoraproject.org/cgit/rpms/pulseview.git/ pulseview], [https://src.fedoraproject.org/cgit/rpms/sigrok-firmware-fx2lafw.git/ sigrok-firmware-fx2lafw], [https://src.fedoraproject.org/cgit/rpms/sigrok-firmware.git/ sigrok-firmware]<br />
* '''Gentoo:''' [https://packages.gentoo.org/package/dev-libs/libserialport libserialport], [https://packages.gentoo.org/package/sci-libs/libsigrok libsigrok], [https://packages.gentoo.org/package/sci-libs/libsigrokdecode libsigrokdecode], [https://packages.gentoo.org/package/sci-electronics/sigrok-cli sigrok-cli], [https://packages.gentoo.org/package/sci-electronics/pulseview pulseview], [https://packages.gentoo.org/package/sys-firmware/sigrok-firmware-fx2lafw sigrok-firmware-fx2lafw]<br />
* '''openSUSE:''' Latest stable versions are included in Tumbleweed. Leap includes the latest stable version at time of release, newer versions are available from the [https://download.opensuse.org/repositories/electronics/ "electronics" repository], created by the [https://build.opensuse.org/project/show/electronics OpenBuildService (OBS)].<br />
** '''openSUSE weekly GIT:''' [https://download.opensuse.org/repositories/home:/StefanBruens:/branches:/electronics:/GIT/ Repositories], [https://build.opensuse.org/project/show/home:StefanBruens:branches:electronics:GIT OBS Project]<br />
<br />
=== Windows ===<br />
<span id="Windows_Download"><br />
<br />
* Nightly installer binaries (require Windows XP or higher):<br />
** [https://sigrok.org/download/binary/pulseview/pulseview-NIGHTLY-32bit-static-release-installer.exe pulseview-NIGHTLY-32bit-static-release-installer.exe] ([https://sigrok.org/download/binary/pulseview/pulseview-NIGHTLY-32bit-static-debug-installer.exe debug build])<br />
** [https://sigrok.org/download/binary/pulseview/pulseview-NIGHTLY-64bit-static-release-installer.exe pulseview-NIGHTLY-64bit-static-release-installer.exe] ([https://sigrok.org/download/binary/pulseview/pulseview-NIGHTLY-64bit-static-debug-installer.exe debug build])<br />
** [https://sigrok.org/download/binary/sigrok-cli/sigrok-cli-NIGHTLY-32bit-static-release-installer.exe sigrok-cli-NIGHTLY-32bit-static-release-installer.exe] ([https://sigrok.org/download/binary/sigrok-cli/sigrok-cli-NIGHTLY-32bit-static-debug-installer.exe debug build])<br />
** [https://sigrok.org/download/binary/sigrok-cli/sigrok-cli-NIGHTLY-64bit-static-release-installer.exe sigrok-cli-NIGHTLY-64bit-static-release-installer.exe] ([https://sigrok.org/download/binary/sigrok-cli/sigrok-cli-NIGHTLY-64bit-static-debug-installer.exe debug build])<br />
* See also [[Windows#Windows_installers|Windows]] for more information.<br />
<br />
=== Mac OS X ===<br />
<br />
Note: As of Sept 2023, these are unfortunately unavailable. Please use the releases for now. Recent builds will come as soon as we have them working again.<br />
<br />
* Nightly DMG binaries (64&nbsp;bit x86 only; require OS X 10.9 Mavericks or higher):<br />
** [https://sigrok.org/download/binary/pulseview/PulseView-NIGHTLY.dmg PulseView-NIGHTLY.dmg]<br />
** [https://sigrok.org/download/binary/sigrok-cli/sigrok-cli-NIGHTLY.dmg sigrok-cli-NIGHTLY.dmg]<br />
* See also [[Mac OS X]] for more information.<br />
<br />
=== FreeBSD ===<br />
<br />
* [https://www.freshports.org/devel/libserialport/ libserialport], [https://www.freshports.org/devel/libsigrok/ libsigrok], [https://www.freshports.org/devel/libsigrokdecode/ libsigrokdecode], [https://www.freshports.org/science/sigrok-cli/ sigrok-cli], [https://www.freshports.org/science/pulseview/ pulseview], [https://www.freshports.org/science/sigrok-firmware-fx2lafw/ sigrok-firmware-fx2lafw], [https://www.freshports.org/science/sigrok-firmware/ sigrok-firmware], [https://www.freshports.org/science/sigrok-firmware-utils/ sigrok-firmware-utils]<br />
<br />
=== OpenBSD ===<br />
<br />
* [https://cvsweb.openbsd.org/ports/comms/sigrok/libserialport/ libserialport], [https://cvsweb.openbsd.org/ports/comms/sigrok/libsigrok/ libsigrok], [https://cvsweb.openbsd.org/ports/comms/sigrok/libsigrokdecode/ libsigrokdecode], [https://cvsweb.openbsd.org/ports/comms/sigrok/sigrok-cli/ sigrok-cli], [https://cvsweb.openbsd.org/ports/comms/sigrok/pulseview/ pulseview], [https://cvsweb.openbsd.org/ports/comms/sigrok/sigrok-dumps/ sigrok-dumps], [https://cvsweb.openbsd.org/ports/comms/sigrok/sigrok-firmware-fx2lafw/ sigrok-firmware-fx2lafw]<br />
<br />
=== Android ===<br />
<br />
Note: Not provided as of Sept 2023 due to limited project manpower and low user interest. If you're interested in improving the user experience on Android, please come and chat with us!<br />
<br />
* Nightly APK binaries:<br />
** [https://sigrok.org/jenkins/job/sigrok-cross-android/platform=cross-arm-linux-androideabi/lastSuccessfulBuild/artifact/PulseView-NIGHTLY.apk PulseView-NIGHTLY.apk (ARM)]<br />
* See also [[Android]] for more information.<br />
<br />
== Source code ==<br />
<br />
The development is done in various [https://sigrok.org/gitweb/ git repositories].<br />
<br />
See [[Building]] for build instructions.<br />
<br />
== Example data ==<br />
<br />
See the [[Example dumps]] wiki page.<br />
<br />
== Firmware files ==<br />
<br />
See the [[Firmware]] wiki page.</div>
Abraxa
https://sigrok.org/w/index.php?title=Downloads&diff=16598
Downloads
2023-09-23T16:29:12Z
<p>Abraxa: /* Mac OS X */</p>
<hr />
<div>{| border="0" width="100%" style="white-space: margin: 0em; margin-bottom: 2em; border-width: 1em; align:center; vertical-align: top"<br />
|-<br />
!Linux<br />
!Windows<br />
!Mac OS X<br />
!Other<br />
<br />
|-<br />
! colspan="4" | {{Rounded_corners|url=https://sigrok.org/wiki/Downloads|bgcolor=#aaaaaa|text=Nightly builds (recommended, always up-to-date)}}<br />
<br />
|- style="background-color: white"<br />
<br />
| style="width:20%; vertical-align: top" |<br />
<br />
{{Rounded_corners|url=https://sigrok.org/download/binary/pulseview/PulseView-NIGHTLY-i686.AppImage|text=PulseView (32bit)}}<br />
<br />
{{Rounded_corners|url=https://sigrok.org/download/binary/pulseview/PulseView-NIGHTLY-x86_64.AppImage|text=PulseView (64bit)}}<br />
<br />
{{Rounded_corners|url=https://sigrok.org/download/binary/sigrok-cli/sigrok-cli-NIGHTLY-i686.AppImage|text=sigrok-cli (32bit)}}<br />
<br />
{{Rounded_corners|url=https://sigrok.org/download/binary/sigrok-cli/sigrok-cli-NIGHTLY-x86_64.AppImage|text=sigrok-cli (64bit)}}<br />
<br />
| style="width:20%; vertical-align: top" |<br />
<br />
{{Rounded_corners|url=https://sigrok.org/download/binary/pulseview/pulseview-NIGHTLY-32bit-static-release-installer.exe|text=PulseView (32bit)}}<br />
<br />
{{Rounded_corners|url=https://sigrok.org/download/binary/pulseview/pulseview-NIGHTLY-64bit-static-release-installer.exe|text=PulseView (64bit)}}<br />
<br />
{{Rounded_corners|url=https://sigrok.org/download/binary/sigrok-cli/sigrok-cli-NIGHTLY-32bit-static-release-installer.exe|text=sigrok-cli (32bit)}}<br />
<br />
{{Rounded_corners|url=https://sigrok.org/download/binary/sigrok-cli/sigrok-cli-NIGHTLY-64bit-static-release-installer.exe|text=sigrok-cli (64bit)}}<br />
<br />
| style="width:20%; vertical-align: top" |<br />
<br />
{{Rounded_corners|url=https://sigrok.org/download/binary/pulseview/PulseView-NIGHTLY.dmg|text=PulseView (64bit) (Defunct, in work)}}<br />
<br />
{{Rounded_corners|url=https://sigrok.org/download/binary/sigrok-cli/sigrok-cli-NIGHTLY.dmg|text=sigrok-cli (64bit) (Defunct, in work)}}<br />
<br />
| style="width:20%; vertical-align: top; text-align: center" |<br />
<br />
{{Rounded_corners|url=https://sigrok.org/wiki/Downloads#Releases|text=See below}}<br />
<br />
|-<br />
!colspan="4" | {{Rounded_corners|url=https://sigrok.org/wiki/Downloads|bgcolor=#aaaaaa|text=Release builds (usually older than nightly builds, might be missing features or bugfixes)}}<br />
<br />
|- style="background-color: white"<br />
<br />
| style="width:20%; vertical-align: top" |<br />
<br />
{{Rounded_corners|url=https://sigrok.org/download/binary/pulseview/PulseView-0.4.2-i386.AppImage|text=PulseView 0.4.2 (32bit)}}<br />
<br />
{{Rounded_corners|url=https://sigrok.org/download/binary/pulseview/PulseView-0.4.2-x86_64.AppImage|text=PulseView 0.4.2 (64bit)}}<br />
<br />
{{Rounded_corners|url=https://sigrok.org/download/binary/sigrok-cli/sigrok-cli-0.7.2-i386.AppImage|text=sigrok-cli 0.7.2 (32bit)}}<br />
<br />
{{Rounded_corners|url=https://sigrok.org/download/binary/sigrok-cli/sigrok-cli-0.7.2-x86_64.AppImage|text=sigrok-cli 0.7.2 (64bit)}}<br />
<br />
| style="width:20%; vertical-align: top" |<br />
<br />
{{Rounded_corners|url=https://sigrok.org/download/binary/pulseview/pulseview-0.4.2-32bit-static-release-installer.exe|text=PulseView 0.4.2 (32bit)}}<br />
<br />
{{Rounded_corners|url=https://sigrok.org/download/binary/pulseview/pulseview-0.4.2-64bit-static-release-installer.exe|text=PulseView 0.4.2 (64bit)}}<br />
<br />
{{Rounded_corners|url=https://sigrok.org/download/binary/sigrok-cli/sigrok-cli-0.7.2-i686-installer.exe|text=sigrok-cli 0.7.2 (32bit)}}<br />
<br />
{{Rounded_corners|url=https://sigrok.org/download/binary/sigrok-cli/sigrok-cli-0.7.2-x86_64-installer.exe|text=sigrok-cli 0.7.2 (64bit)}}<br />
<br />
| style="width:20%; vertical-align: top" |<br />
<br />
{{Rounded_corners|url=https://sigrok.org/download/binary/pulseview/PulseView-0.4.2.dmg|text=PulseView 0.4.2 (64bit)}}<br />
<br />
| style="width:20%; vertical-align: top; text-align: center" |<br />
<br />
{{Rounded_corners|url=https://sigrok.org/wiki/Downloads#Releases|text=See below}}<br />
<br />
|- style="background-color: white; vertical-align: top;"<br />
<br />
| style="text-align:center" | <em><small>Requires a Linux distro more recent than '''Ubuntu 16.04 LTS (Xenial Xerus)''' from 2016.</small></em><br />
| style="text-align:center" | <em><small>Requires '''Windows XP''' or higher.</small></em><br />
| style="text-align:center" | <em><small>Requires '''OS X 10.9 (Mavericks)''' or higher.</small></em><br />
| style="text-align:center" | <em><small>See below for other download options (Android, FreeBSD, source code, etc.).</small></em><br />
<br />
|}<br />
<br />
== Releases ==<br />
<br />
You can download the latest released tarballs of the following subprojects from [https://sigrok.org/download/ the sigrok.org download directory]:<br />
<br />
{| border="0" style="font-size: smaller; white-space: nowrap;" class="alternategrey sigroktable"<br />
|-<br />
!Project<br />
!Release/download<br />
!News<br />
<br />
|-<br />
| [[libserialport]]<br />
| [https://sigrok.org/download/source/libserialport/libserialport-0.1.1.tar.gz libserialport-0.1.1.tar.gz]<br />
| [https://sigrok.org/gitweb/?p=libserialport.git;a=blob;f=NEWS;hb=HEAD release notes]<br />
<br />
|-<br />
| [[libsigrok]]<br />
| [https://sigrok.org/download/source/libsigrok/libsigrok-0.5.2.tar.gz libsigrok-0.5.2.tar.gz]<br />
| [https://sigrok.org/gitweb/?p=libsigrok.git;a=blob;f=NEWS;h=60de6e341b7289cfb99883a94b0c921a4b79b008;hb=a6b07d7e28fe445afccf36922ef7d20e63e54fe6 release notes]<br />
<br />
|-<br />
| [[libsigrokdecode]]<br />
| [https://sigrok.org/download/source/libsigrokdecode/libsigrokdecode-0.5.3.tar.gz libsigrokdecode-0.5.3.tar.gz]<br />
| [https://sigrok.org/gitweb/?p=libsigrokdecode.git;a=blob;f=NEWS;h=f61727f8c75edf52e1f306983070a5eda629fd2e;hb=97991a3919da6a07c4c87308ae66fb441bd512e3 release notes]<br />
<br />
|-<br />
| [[sigrok-cli]]<br />
| [https://sigrok.org/download/source/sigrok-cli/sigrok-cli-0.7.2.tar.gz sigrok-cli-0.7.2.tar.gz]<br />
| [https://sigrok.org/gitweb/?p=sigrok-cli.git;a=blob;f=NEWS;h=e80dad6392501dd16e4fdc87836d443474e2eed9;hb=b584f959edb788f1731d5a304badf241ac21bf65 release notes]<br />
<br />
|-<br />
| [[PulseView]]<br />
| [https://sigrok.org/download/source/pulseview/pulseview-0.4.2.tar.gz pulseview-0.4.2.tar.gz]<br />
| [https://sigrok.org/gitweb/?p=pulseview.git;a=blob;f=NEWS;h=b20f14aebe4bd890a6bd92323e043b3540cb6629;hb=2b526a42a2fd68d513d4c2061790605a0c7add6c release notes]<br />
<br />
|-<br />
| [[fx2lafw|sigrok-firmware-fx2lafw]] (source code)<br />
| [https://sigrok.org/download/source/sigrok-firmware-fx2lafw/sigrok-firmware-fx2lafw-0.1.7.tar.gz sigrok-firmware-fx2lafw-0.1.7.tar.gz]<br />
| [https://sigrok.org/gitweb/?p=sigrok-firmware-fx2lafw.git;a=blob;f=NEWS;hb=HEAD release notes]<br />
<br />
|-<br />
| [[fx2lafw|sigrok-firmware-fx2lafw]] (prebuilt firmware)<br />
| [https://sigrok.org/download/binary/sigrok-firmware-fx2lafw/sigrok-firmware-fx2lafw-bin-0.1.7.tar.gz sigrok-firmware-fx2lafw-bin-0.1.7.tar.gz]<br />
| [https://sigrok.org/gitweb/?p=sigrok-firmware-fx2lafw.git;a=blob;f=NEWS;hb=HEAD release notes]<br />
<br />
|}<br />
<br />
== Binaries and distribution packages ==<br />
<br />
=== Linux AppImage binaries ===<br />
<br />
* Nightly AppImage binaries (oldest distro supported is Ubuntu 16.04 LTS Xenial Xerus from 2016):<br />
** [https://sigrok.org/download/binary/pulseview/PulseView-NIGHTLY-i686.AppImage PulseView-NIGHTLY-i686.AppImage] (32bit)<br />
** [https://sigrok.org/download/binary/pulseview/PulseView-NIGHTLY-x86_64.AppImage PulseView-NIGHTLY-x86_64.AppImage] (64bit)<br />
** [https://sigrok.org/download/binary/sigrok-cli/sigrok-cli-NIGHTLY-i686.AppImage sigrok-cli-NIGHTLY-i686.AppImage] (32bit)<br />
** [https://sigrok.org/download/binary/sigrok-cli/sigrok-cli-NIGHTLY-x86_64.AppImage sigrok-cli-NIGHTLY-x86_64.AppImage] (64bit)<br />
* Download the correct (32bit or 64bit) AppImage file for your Linux system, make the file executable via "'''chmod +x'''" and then run it.<br />
* If you want to access hardware, please install the [https://sigrok.org/gitweb/?p=libsigrok.git;a=tree;f=contrib udev rules] on your system and reload the rules using "udevadm control --reload-rules && udevadm trigger".<br />
* See also [[Linux#AppImage|Linux]] for more information.<br />
<br />
=== Linux distribution packages ===<br />
<br />
* '''Debian:''' [https://packages.qa.debian.org/s/sigrok.html sigrok] (pulls [https://packages.qa.debian.org/libs/libserialport.html libserialport], [https://packages.qa.debian.org/libs/libsigrok.html libsigrok], [https://packages.qa.debian.org/libs/libsigrokdecode.html libsigrokdecode], [https://packages.qa.debian.org/s/sigrok-cli.html sigrok-cli], [https://packages.qa.debian.org/p/pulseview.html pulseview], [https://packages.qa.debian.org/s/sigrok-firmware-fx2lafw.html sigrok-firmware-fx2lafw])<br />
* '''Ubuntu:''' [https://launchpad.net/ubuntu/+source/sigrok sigrok] (pulls [https://launchpad.net/ubuntu/+source/libserialport libserialport], [https://launchpad.net/ubuntu/+source/libsigrok libsigrok], [https://launchpad.net/ubuntu/+source/libsigrokdecode libsigrokdecode], [https://launchpad.net/ubuntu/+source/sigrok-cli sigrok-cli], [https://launchpad.net/ubuntu/+source/pulseview pulseview], [https://launchpad.net/ubuntu/+source/sigrok-firmware-fx2lafw sigrok-firmware-fx2lafw])<br />
* '''Arch Linux:''' [https://aur.archlinux.org/packages.php?O=0&K=sigrok&do_Search=Go AUR (Arch Linux User Repository)], [https://aur.archlinux.org/packages/libserialport-git/ libserialport], [https://aur.archlinux.org/packages/libsigrok-git/ libsigrok], [https://aur.archlinux.org/packages/libsigrokdecode-git/ libsigrokdecode], [https://aur.archlinux.org/packages/sigrok-cli/ sigrok-cli], [https://aur.archlinux.org/packages/pulseview-git/ pulseview], [https://aur.archlinux.org/packages/sigrok-firmware-fx2lafw/ sigrok-firmware-fx2lafw]<br />
* '''Slackware:''' [https://slackbuilds.org/apps/libserialport/ libserialport], [https://slackbuilds.org/apps/libsigrok/ libsigrok], [https://slackbuilds.org/apps/libsigrokdecode/ libsigrokdecode], [https://slackbuilds.org/apps/sigrok-cli/ sigrok-cli], [https://slackbuilds.org/apps/pulseview/ pulseview], [https://slackbuilds.org/apps/sigrok-firmware-fx2lafw/ sigrok-firmware-fx2lafw]<br />
* '''Fedora:''' [https://src.fedoraproject.org/cgit/rpms/libserialport.git/ libserialport], [https://src.fedoraproject.org/cgit/rpms/libsigrok.git/ libsigrok], [https://src.fedoraproject.org/cgit/rpms/libsigrokdecode.git/ libsigrokdecode], [https://src.fedoraproject.org/cgit/rpms/sigrok-cli.git/ sigrok-cli], [https://src.fedoraproject.org/cgit/rpms/pulseview.git/ pulseview], [https://src.fedoraproject.org/cgit/rpms/sigrok-firmware-fx2lafw.git/ sigrok-firmware-fx2lafw], [https://src.fedoraproject.org/cgit/rpms/sigrok-firmware.git/ sigrok-firmware]<br />
* '''Gentoo:''' [https://packages.gentoo.org/package/dev-libs/libserialport libserialport], [https://packages.gentoo.org/package/sci-libs/libsigrok libsigrok], [https://packages.gentoo.org/package/sci-libs/libsigrokdecode libsigrokdecode], [https://packages.gentoo.org/package/sci-electronics/sigrok-cli sigrok-cli], [https://packages.gentoo.org/package/sci-electronics/pulseview pulseview], [https://packages.gentoo.org/package/sys-firmware/sigrok-firmware-fx2lafw sigrok-firmware-fx2lafw]<br />
* '''openSUSE:''' Latest stable versions are included in Tumbleweed. Leap includes the latest stable version at time of release, newer versions are available from the [https://download.opensuse.org/repositories/electronics/ "electronics" repository], created by the [https://build.opensuse.org/project/show/electronics OpenBuildService (OBS)].<br />
** '''openSUSE weekly GIT:''' [https://download.opensuse.org/repositories/home:/StefanBruens:/branches:/electronics:/GIT/ Repositories], [https://build.opensuse.org/project/show/home:StefanBruens:branches:electronics:GIT OBS Project]<br />
<br />
=== Windows ===<br />
<span id="Windows_Download"><br />
<br />
* Nightly installer binaries (require Windows XP or higher):<br />
** [https://sigrok.org/download/binary/pulseview/pulseview-NIGHTLY-32bit-static-release-installer.exe pulseview-NIGHTLY-32bit-static-release-installer.exe] ([https://sigrok.org/download/binary/pulseview/pulseview-NIGHTLY-32bit-static-debug-installer.exe debug build])<br />
** [https://sigrok.org/download/binary/pulseview/pulseview-NIGHTLY-64bit-static-release-installer.exe pulseview-NIGHTLY-64bit-static-release-installer.exe] ([https://sigrok.org/download/binary/pulseview/pulseview-NIGHTLY-64bit-static-debug-installer.exe debug build])<br />
** [https://sigrok.org/download/binary/sigrok-cli/sigrok-cli-NIGHTLY-32bit-static-release-installer.exe sigrok-cli-NIGHTLY-32bit-static-release-installer.exe] ([https://sigrok.org/download/binary/sigrok-cli/sigrok-cli-NIGHTLY-32bit-static-debug-installer.exe debug build])<br />
** [https://sigrok.org/download/binary/sigrok-cli/sigrok-cli-NIGHTLY-64bit-static-release-installer.exe sigrok-cli-NIGHTLY-64bit-static-release-installer.exe] ([https://sigrok.org/download/binary/sigrok-cli/sigrok-cli-NIGHTLY-64bit-static-debug-installer.exe debug build])<br />
* See also [[Windows#Windows_installers|Windows]] for more information.<br />
<br />
=== Mac OS X ===<br />
<br />
Note: As of Sept 2023, these are unfortunately unavailable. Please use the releases for now. Recent builds will come as soon as we have them working again.<br />
<br />
* Nightly DMG binaries (64&nbsp;bit x86 only; require OS X 10.9 Mavericks or higher):<br />
** [https://sigrok.org/download/binary/pulseview/PulseView-NIGHTLY.dmg PulseView-NIGHTLY.dmg]<br />
** [https://sigrok.org/download/binary/sigrok-cli/sigrok-cli-NIGHTLY.dmg sigrok-cli-NIGHTLY.dmg]<br />
* See also [[Mac OS X]] for more information.<br />
<br />
=== FreeBSD ===<br />
<br />
* [https://www.freshports.org/devel/libserialport/ libserialport], [https://www.freshports.org/devel/libsigrok/ libsigrok], [https://www.freshports.org/devel/libsigrokdecode/ libsigrokdecode], [https://www.freshports.org/science/sigrok-cli/ sigrok-cli], [https://www.freshports.org/science/pulseview/ pulseview], [https://www.freshports.org/science/sigrok-firmware-fx2lafw/ sigrok-firmware-fx2lafw], [https://www.freshports.org/science/sigrok-firmware/ sigrok-firmware], [https://www.freshports.org/science/sigrok-firmware-utils/ sigrok-firmware-utils]<br />
<br />
=== OpenBSD ===<br />
<br />
* [https://cvsweb.openbsd.org/ports/comms/sigrok/libserialport/ libserialport], [https://cvsweb.openbsd.org/ports/comms/sigrok/libsigrok/ libsigrok], [https://cvsweb.openbsd.org/ports/comms/sigrok/libsigrokdecode/ libsigrokdecode], [https://cvsweb.openbsd.org/ports/comms/sigrok/sigrok-cli/ sigrok-cli], [https://cvsweb.openbsd.org/ports/comms/sigrok/pulseview/ pulseview], [https://cvsweb.openbsd.org/ports/comms/sigrok/sigrok-dumps/ sigrok-dumps], [https://cvsweb.openbsd.org/ports/comms/sigrok/sigrok-firmware-fx2lafw/ sigrok-firmware-fx2lafw]<br />
<br />
=== Android ===<br />
<br />
* Nightly APK binaries:<br />
** [https://sigrok.org/jenkins/job/sigrok-cross-android/platform=cross-arm-linux-androideabi/lastSuccessfulBuild/artifact/PulseView-NIGHTLY.apk PulseView-NIGHTLY.apk (ARM)]<br />
* See also [[Android]] for more information.<br />
<br />
== Source code ==<br />
<br />
The development is done in various [https://sigrok.org/gitweb/ git repositories].<br />
<br />
See [[Building]] for build instructions.<br />
<br />
== Example data ==<br />
<br />
See the [[Example dumps]] wiki page.<br />
<br />
== Firmware files ==<br />
<br />
See the [[Firmware]] wiki page.</div>
Abraxa
https://sigrok.org/w/index.php?title=Downloads&diff=16597
Downloads
2023-09-23T16:27:36Z
<p>Abraxa: /* Linux AppImage binaries */</p>
<hr />
<div>{| border="0" width="100%" style="white-space: margin: 0em; margin-bottom: 2em; border-width: 1em; align:center; vertical-align: top"<br />
|-<br />
!Linux<br />
!Windows<br />
!Mac OS X<br />
!Other<br />
<br />
|-<br />
! colspan="4" | {{Rounded_corners|url=https://sigrok.org/wiki/Downloads|bgcolor=#aaaaaa|text=Nightly builds (recommended, always up-to-date)}}<br />
<br />
|- style="background-color: white"<br />
<br />
| style="width:20%; vertical-align: top" |<br />
<br />
{{Rounded_corners|url=https://sigrok.org/download/binary/pulseview/PulseView-NIGHTLY-i686.AppImage|text=PulseView (32bit)}}<br />
<br />
{{Rounded_corners|url=https://sigrok.org/download/binary/pulseview/PulseView-NIGHTLY-x86_64.AppImage|text=PulseView (64bit)}}<br />
<br />
{{Rounded_corners|url=https://sigrok.org/download/binary/sigrok-cli/sigrok-cli-NIGHTLY-i686.AppImage|text=sigrok-cli (32bit)}}<br />
<br />
{{Rounded_corners|url=https://sigrok.org/download/binary/sigrok-cli/sigrok-cli-NIGHTLY-x86_64.AppImage|text=sigrok-cli (64bit)}}<br />
<br />
| style="width:20%; vertical-align: top" |<br />
<br />
{{Rounded_corners|url=https://sigrok.org/download/binary/pulseview/pulseview-NIGHTLY-32bit-static-release-installer.exe|text=PulseView (32bit)}}<br />
<br />
{{Rounded_corners|url=https://sigrok.org/download/binary/pulseview/pulseview-NIGHTLY-64bit-static-release-installer.exe|text=PulseView (64bit)}}<br />
<br />
{{Rounded_corners|url=https://sigrok.org/download/binary/sigrok-cli/sigrok-cli-NIGHTLY-32bit-static-release-installer.exe|text=sigrok-cli (32bit)}}<br />
<br />
{{Rounded_corners|url=https://sigrok.org/download/binary/sigrok-cli/sigrok-cli-NIGHTLY-64bit-static-release-installer.exe|text=sigrok-cli (64bit)}}<br />
<br />
| style="width:20%; vertical-align: top" |<br />
<br />
{{Rounded_corners|url=https://sigrok.org/download/binary/pulseview/PulseView-NIGHTLY.dmg|text=PulseView (64bit) (Defunct, in work)}}<br />
<br />
{{Rounded_corners|url=https://sigrok.org/download/binary/sigrok-cli/sigrok-cli-NIGHTLY.dmg|text=sigrok-cli (64bit) (Defunct, in work)}}<br />
<br />
| style="width:20%; vertical-align: top; text-align: center" |<br />
<br />
{{Rounded_corners|url=https://sigrok.org/wiki/Downloads#Releases|text=See below}}<br />
<br />
|-<br />
!colspan="4" | {{Rounded_corners|url=https://sigrok.org/wiki/Downloads|bgcolor=#aaaaaa|text=Release builds (usually older than nightly builds, might be missing features or bugfixes)}}<br />
<br />
|- style="background-color: white"<br />
<br />
| style="width:20%; vertical-align: top" |<br />
<br />
{{Rounded_corners|url=https://sigrok.org/download/binary/pulseview/PulseView-0.4.2-i386.AppImage|text=PulseView 0.4.2 (32bit)}}<br />
<br />
{{Rounded_corners|url=https://sigrok.org/download/binary/pulseview/PulseView-0.4.2-x86_64.AppImage|text=PulseView 0.4.2 (64bit)}}<br />
<br />
{{Rounded_corners|url=https://sigrok.org/download/binary/sigrok-cli/sigrok-cli-0.7.2-i386.AppImage|text=sigrok-cli 0.7.2 (32bit)}}<br />
<br />
{{Rounded_corners|url=https://sigrok.org/download/binary/sigrok-cli/sigrok-cli-0.7.2-x86_64.AppImage|text=sigrok-cli 0.7.2 (64bit)}}<br />
<br />
| style="width:20%; vertical-align: top" |<br />
<br />
{{Rounded_corners|url=https://sigrok.org/download/binary/pulseview/pulseview-0.4.2-32bit-static-release-installer.exe|text=PulseView 0.4.2 (32bit)}}<br />
<br />
{{Rounded_corners|url=https://sigrok.org/download/binary/pulseview/pulseview-0.4.2-64bit-static-release-installer.exe|text=PulseView 0.4.2 (64bit)}}<br />
<br />
{{Rounded_corners|url=https://sigrok.org/download/binary/sigrok-cli/sigrok-cli-0.7.2-i686-installer.exe|text=sigrok-cli 0.7.2 (32bit)}}<br />
<br />
{{Rounded_corners|url=https://sigrok.org/download/binary/sigrok-cli/sigrok-cli-0.7.2-x86_64-installer.exe|text=sigrok-cli 0.7.2 (64bit)}}<br />
<br />
| style="width:20%; vertical-align: top" |<br />
<br />
{{Rounded_corners|url=https://sigrok.org/download/binary/pulseview/PulseView-0.4.2.dmg|text=PulseView 0.4.2 (64bit)}}<br />
<br />
| style="width:20%; vertical-align: top; text-align: center" |<br />
<br />
{{Rounded_corners|url=https://sigrok.org/wiki/Downloads#Releases|text=See below}}<br />
<br />
|- style="background-color: white; vertical-align: top;"<br />
<br />
| style="text-align:center" | <em><small>Requires a Linux distro more recent than '''Ubuntu 16.04 LTS (Xenial Xerus)''' from 2016.</small></em><br />
| style="text-align:center" | <em><small>Requires '''Windows XP''' or higher.</small></em><br />
| style="text-align:center" | <em><small>Requires '''OS X 10.9 (Mavericks)''' or higher.</small></em><br />
| style="text-align:center" | <em><small>See below for other download options (Android, FreeBSD, source code, etc.).</small></em><br />
<br />
|}<br />
<br />
== Releases ==<br />
<br />
You can download the latest released tarballs of the following subprojects from [https://sigrok.org/download/ the sigrok.org download directory]:<br />
<br />
{| border="0" style="font-size: smaller; white-space: nowrap;" class="alternategrey sigroktable"<br />
|-<br />
!Project<br />
!Release/download<br />
!News<br />
<br />
|-<br />
| [[libserialport]]<br />
| [https://sigrok.org/download/source/libserialport/libserialport-0.1.1.tar.gz libserialport-0.1.1.tar.gz]<br />
| [https://sigrok.org/gitweb/?p=libserialport.git;a=blob;f=NEWS;hb=HEAD release notes]<br />
<br />
|-<br />
| [[libsigrok]]<br />
| [https://sigrok.org/download/source/libsigrok/libsigrok-0.5.2.tar.gz libsigrok-0.5.2.tar.gz]<br />
| [https://sigrok.org/gitweb/?p=libsigrok.git;a=blob;f=NEWS;h=60de6e341b7289cfb99883a94b0c921a4b79b008;hb=a6b07d7e28fe445afccf36922ef7d20e63e54fe6 release notes]<br />
<br />
|-<br />
| [[libsigrokdecode]]<br />
| [https://sigrok.org/download/source/libsigrokdecode/libsigrokdecode-0.5.3.tar.gz libsigrokdecode-0.5.3.tar.gz]<br />
| [https://sigrok.org/gitweb/?p=libsigrokdecode.git;a=blob;f=NEWS;h=f61727f8c75edf52e1f306983070a5eda629fd2e;hb=97991a3919da6a07c4c87308ae66fb441bd512e3 release notes]<br />
<br />
|-<br />
| [[sigrok-cli]]<br />
| [https://sigrok.org/download/source/sigrok-cli/sigrok-cli-0.7.2.tar.gz sigrok-cli-0.7.2.tar.gz]<br />
| [https://sigrok.org/gitweb/?p=sigrok-cli.git;a=blob;f=NEWS;h=e80dad6392501dd16e4fdc87836d443474e2eed9;hb=b584f959edb788f1731d5a304badf241ac21bf65 release notes]<br />
<br />
|-<br />
| [[PulseView]]<br />
| [https://sigrok.org/download/source/pulseview/pulseview-0.4.2.tar.gz pulseview-0.4.2.tar.gz]<br />
| [https://sigrok.org/gitweb/?p=pulseview.git;a=blob;f=NEWS;h=b20f14aebe4bd890a6bd92323e043b3540cb6629;hb=2b526a42a2fd68d513d4c2061790605a0c7add6c release notes]<br />
<br />
|-<br />
| [[fx2lafw|sigrok-firmware-fx2lafw]] (source code)<br />
| [https://sigrok.org/download/source/sigrok-firmware-fx2lafw/sigrok-firmware-fx2lafw-0.1.7.tar.gz sigrok-firmware-fx2lafw-0.1.7.tar.gz]<br />
| [https://sigrok.org/gitweb/?p=sigrok-firmware-fx2lafw.git;a=blob;f=NEWS;hb=HEAD release notes]<br />
<br />
|-<br />
| [[fx2lafw|sigrok-firmware-fx2lafw]] (prebuilt firmware)<br />
| [https://sigrok.org/download/binary/sigrok-firmware-fx2lafw/sigrok-firmware-fx2lafw-bin-0.1.7.tar.gz sigrok-firmware-fx2lafw-bin-0.1.7.tar.gz]<br />
| [https://sigrok.org/gitweb/?p=sigrok-firmware-fx2lafw.git;a=blob;f=NEWS;hb=HEAD release notes]<br />
<br />
|}<br />
<br />
== Binaries and distribution packages ==<br />
<br />
=== Linux AppImage binaries ===<br />
<br />
* Nightly AppImage binaries (oldest distro supported is Ubuntu 16.04 LTS Xenial Xerus from 2016):<br />
** [https://sigrok.org/download/binary/pulseview/PulseView-NIGHTLY-i686.AppImage PulseView-NIGHTLY-i686.AppImage] (32bit)<br />
** [https://sigrok.org/download/binary/pulseview/PulseView-NIGHTLY-x86_64.AppImage PulseView-NIGHTLY-x86_64.AppImage] (64bit)<br />
** [https://sigrok.org/download/binary/sigrok-cli/sigrok-cli-NIGHTLY-i686.AppImage sigrok-cli-NIGHTLY-i686.AppImage] (32bit)<br />
** [https://sigrok.org/download/binary/sigrok-cli/sigrok-cli-NIGHTLY-x86_64.AppImage sigrok-cli-NIGHTLY-x86_64.AppImage] (64bit)<br />
* Download the correct (32bit or 64bit) AppImage file for your Linux system, make the file executable via "'''chmod +x'''" and then run it.<br />
* If you want to access hardware, please install the [https://sigrok.org/gitweb/?p=libsigrok.git;a=tree;f=contrib udev rules] on your system and reload the rules using "udevadm control --reload-rules && udevadm trigger".<br />
* See also [[Linux#AppImage|Linux]] for more information.<br />
<br />
=== Linux distribution packages ===<br />
<br />
* '''Debian:''' [https://packages.qa.debian.org/s/sigrok.html sigrok] (pulls [https://packages.qa.debian.org/libs/libserialport.html libserialport], [https://packages.qa.debian.org/libs/libsigrok.html libsigrok], [https://packages.qa.debian.org/libs/libsigrokdecode.html libsigrokdecode], [https://packages.qa.debian.org/s/sigrok-cli.html sigrok-cli], [https://packages.qa.debian.org/p/pulseview.html pulseview], [https://packages.qa.debian.org/s/sigrok-firmware-fx2lafw.html sigrok-firmware-fx2lafw])<br />
* '''Ubuntu:''' [https://launchpad.net/ubuntu/+source/sigrok sigrok] (pulls [https://launchpad.net/ubuntu/+source/libserialport libserialport], [https://launchpad.net/ubuntu/+source/libsigrok libsigrok], [https://launchpad.net/ubuntu/+source/libsigrokdecode libsigrokdecode], [https://launchpad.net/ubuntu/+source/sigrok-cli sigrok-cli], [https://launchpad.net/ubuntu/+source/pulseview pulseview], [https://launchpad.net/ubuntu/+source/sigrok-firmware-fx2lafw sigrok-firmware-fx2lafw])<br />
* '''Arch Linux:''' [https://aur.archlinux.org/packages.php?O=0&K=sigrok&do_Search=Go AUR (Arch Linux User Repository)], [https://aur.archlinux.org/packages/libserialport-git/ libserialport], [https://aur.archlinux.org/packages/libsigrok-git/ libsigrok], [https://aur.archlinux.org/packages/libsigrokdecode-git/ libsigrokdecode], [https://aur.archlinux.org/packages/sigrok-cli/ sigrok-cli], [https://aur.archlinux.org/packages/pulseview-git/ pulseview], [https://aur.archlinux.org/packages/sigrok-firmware-fx2lafw/ sigrok-firmware-fx2lafw]<br />
* '''Slackware:''' [https://slackbuilds.org/apps/libserialport/ libserialport], [https://slackbuilds.org/apps/libsigrok/ libsigrok], [https://slackbuilds.org/apps/libsigrokdecode/ libsigrokdecode], [https://slackbuilds.org/apps/sigrok-cli/ sigrok-cli], [https://slackbuilds.org/apps/pulseview/ pulseview], [https://slackbuilds.org/apps/sigrok-firmware-fx2lafw/ sigrok-firmware-fx2lafw]<br />
* '''Fedora:''' [https://src.fedoraproject.org/cgit/rpms/libserialport.git/ libserialport], [https://src.fedoraproject.org/cgit/rpms/libsigrok.git/ libsigrok], [https://src.fedoraproject.org/cgit/rpms/libsigrokdecode.git/ libsigrokdecode], [https://src.fedoraproject.org/cgit/rpms/sigrok-cli.git/ sigrok-cli], [https://src.fedoraproject.org/cgit/rpms/pulseview.git/ pulseview], [https://src.fedoraproject.org/cgit/rpms/sigrok-firmware-fx2lafw.git/ sigrok-firmware-fx2lafw], [https://src.fedoraproject.org/cgit/rpms/sigrok-firmware.git/ sigrok-firmware]<br />
* '''Gentoo:''' [https://packages.gentoo.org/package/dev-libs/libserialport libserialport], [https://packages.gentoo.org/package/sci-libs/libsigrok libsigrok], [https://packages.gentoo.org/package/sci-libs/libsigrokdecode libsigrokdecode], [https://packages.gentoo.org/package/sci-electronics/sigrok-cli sigrok-cli], [https://packages.gentoo.org/package/sci-electronics/pulseview pulseview], [https://packages.gentoo.org/package/sys-firmware/sigrok-firmware-fx2lafw sigrok-firmware-fx2lafw]<br />
* '''openSUSE:''' Latest stable versions are included in Tumbleweed. Leap includes the latest stable version at time of release, newer versions are available from the [https://download.opensuse.org/repositories/electronics/ "electronics" repository], created by the [https://build.opensuse.org/project/show/electronics OpenBuildService (OBS)].<br />
** '''openSUSE weekly GIT:''' [https://download.opensuse.org/repositories/home:/StefanBruens:/branches:/electronics:/GIT/ Repositories], [https://build.opensuse.org/project/show/home:StefanBruens:branches:electronics:GIT OBS Project]<br />
<br />
=== Windows ===<br />
<span id="Windows_Download"><br />
<br />
* Nightly installer binaries (require Windows XP or higher):<br />
** [https://sigrok.org/download/binary/pulseview/pulseview-NIGHTLY-32bit-static-release-installer.exe pulseview-NIGHTLY-32bit-static-release-installer.exe] ([https://sigrok.org/download/binary/pulseview/pulseview-NIGHTLY-32bit-static-debug-installer.exe debug build])<br />
** [https://sigrok.org/download/binary/pulseview/pulseview-NIGHTLY-64bit-static-release-installer.exe pulseview-NIGHTLY-64bit-static-release-installer.exe] ([https://sigrok.org/download/binary/pulseview/pulseview-NIGHTLY-64bit-static-debug-installer.exe debug build])<br />
** [https://sigrok.org/download/binary/sigrok-cli/sigrok-cli-NIGHTLY-32bit-static-release-installer.exe sigrok-cli-NIGHTLY-32bit-static-release-installer.exe] ([https://sigrok.org/download/binary/sigrok-cli/sigrok-cli-NIGHTLY-32bit-static-debug-installer.exe debug build])<br />
** [https://sigrok.org/download/binary/sigrok-cli/sigrok-cli-NIGHTLY-64bit-static-release-installer.exe sigrok-cli-NIGHTLY-64bit-static-release-installer.exe] ([https://sigrok.org/download/binary/sigrok-cli/sigrok-cli-NIGHTLY-64bit-static-debug-installer.exe debug build])<br />
* See also [[Windows#Windows_installers|Windows]] for more information.<br />
<br />
=== Mac OS X ===<br />
<br />
* Nightly DMG binaries (64&nbsp;bit x86 only; require OS X 10.9 Mavericks or higher):<br />
** [https://sigrok.org/download/binary/pulseview/PulseView-NIGHTLY.dmg PulseView-NIGHTLY.dmg]<br />
** [https://sigrok.org/download/binary/sigrok-cli/sigrok-cli-NIGHTLY.dmg sigrok-cli-NIGHTLY.dmg]<br />
* See also [[Mac OS X]] for more information.<br />
<br />
=== FreeBSD ===<br />
<br />
* [https://www.freshports.org/devel/libserialport/ libserialport], [https://www.freshports.org/devel/libsigrok/ libsigrok], [https://www.freshports.org/devel/libsigrokdecode/ libsigrokdecode], [https://www.freshports.org/science/sigrok-cli/ sigrok-cli], [https://www.freshports.org/science/pulseview/ pulseview], [https://www.freshports.org/science/sigrok-firmware-fx2lafw/ sigrok-firmware-fx2lafw], [https://www.freshports.org/science/sigrok-firmware/ sigrok-firmware], [https://www.freshports.org/science/sigrok-firmware-utils/ sigrok-firmware-utils]<br />
<br />
=== OpenBSD ===<br />
<br />
* [https://cvsweb.openbsd.org/ports/comms/sigrok/libserialport/ libserialport], [https://cvsweb.openbsd.org/ports/comms/sigrok/libsigrok/ libsigrok], [https://cvsweb.openbsd.org/ports/comms/sigrok/libsigrokdecode/ libsigrokdecode], [https://cvsweb.openbsd.org/ports/comms/sigrok/sigrok-cli/ sigrok-cli], [https://cvsweb.openbsd.org/ports/comms/sigrok/pulseview/ pulseview], [https://cvsweb.openbsd.org/ports/comms/sigrok/sigrok-dumps/ sigrok-dumps], [https://cvsweb.openbsd.org/ports/comms/sigrok/sigrok-firmware-fx2lafw/ sigrok-firmware-fx2lafw]<br />
<br />
=== Android ===<br />
<br />
* Nightly APK binaries:<br />
** [https://sigrok.org/jenkins/job/sigrok-cross-android/platform=cross-arm-linux-androideabi/lastSuccessfulBuild/artifact/PulseView-NIGHTLY.apk PulseView-NIGHTLY.apk (ARM)]<br />
* See also [[Android]] for more information.<br />
<br />
== Source code ==<br />
<br />
The development is done in various [https://sigrok.org/gitweb/ git repositories].<br />
<br />
See [[Building]] for build instructions.<br />
<br />
== Example data ==<br />
<br />
See the [[Example dumps]] wiki page.<br />
<br />
== Firmware files ==<br />
<br />
See the [[Firmware]] wiki page.</div>
Abraxa
https://sigrok.org/w/index.php?title=Downloads&diff=16596
Downloads
2023-09-21T11:24:37Z
<p>Abraxa: Mark OSX nightlies as defunct</p>
<hr />
<div>{| border="0" width="100%" style="white-space: margin: 0em; margin-bottom: 2em; border-width: 1em; align:center; vertical-align: top"<br />
|-<br />
!Linux<br />
!Windows<br />
!Mac OS X<br />
!Other<br />
<br />
|-<br />
! colspan="4" | {{Rounded_corners|url=https://sigrok.org/wiki/Downloads|bgcolor=#aaaaaa|text=Nightly builds (recommended, always up-to-date)}}<br />
<br />
|- style="background-color: white"<br />
<br />
| style="width:20%; vertical-align: top" |<br />
<br />
{{Rounded_corners|url=https://sigrok.org/download/binary/pulseview/PulseView-NIGHTLY-i686.AppImage|text=PulseView (32bit)}}<br />
<br />
{{Rounded_corners|url=https://sigrok.org/download/binary/pulseview/PulseView-NIGHTLY-x86_64.AppImage|text=PulseView (64bit)}}<br />
<br />
{{Rounded_corners|url=https://sigrok.org/download/binary/sigrok-cli/sigrok-cli-NIGHTLY-i686.AppImage|text=sigrok-cli (32bit)}}<br />
<br />
{{Rounded_corners|url=https://sigrok.org/download/binary/sigrok-cli/sigrok-cli-NIGHTLY-x86_64.AppImage|text=sigrok-cli (64bit)}}<br />
<br />
| style="width:20%; vertical-align: top" |<br />
<br />
{{Rounded_corners|url=https://sigrok.org/download/binary/pulseview/pulseview-NIGHTLY-32bit-static-release-installer.exe|text=PulseView (32bit)}}<br />
<br />
{{Rounded_corners|url=https://sigrok.org/download/binary/pulseview/pulseview-NIGHTLY-64bit-static-release-installer.exe|text=PulseView (64bit)}}<br />
<br />
{{Rounded_corners|url=https://sigrok.org/download/binary/sigrok-cli/sigrok-cli-NIGHTLY-32bit-static-release-installer.exe|text=sigrok-cli (32bit)}}<br />
<br />
{{Rounded_corners|url=https://sigrok.org/download/binary/sigrok-cli/sigrok-cli-NIGHTLY-64bit-static-release-installer.exe|text=sigrok-cli (64bit)}}<br />
<br />
| style="width:20%; vertical-align: top" |<br />
<br />
{{Rounded_corners|url=https://sigrok.org/download/binary/pulseview/PulseView-NIGHTLY.dmg|text=PulseView (64bit) (Defunct, in work)}}<br />
<br />
{{Rounded_corners|url=https://sigrok.org/download/binary/sigrok-cli/sigrok-cli-NIGHTLY.dmg|text=sigrok-cli (64bit) (Defunct, in work)}}<br />
<br />
| style="width:20%; vertical-align: top; text-align: center" |<br />
<br />
{{Rounded_corners|url=https://sigrok.org/wiki/Downloads#Releases|text=See below}}<br />
<br />
|-<br />
!colspan="4" | {{Rounded_corners|url=https://sigrok.org/wiki/Downloads|bgcolor=#aaaaaa|text=Release builds (usually older than nightly builds, might be missing features or bugfixes)}}<br />
<br />
|- style="background-color: white"<br />
<br />
| style="width:20%; vertical-align: top" |<br />
<br />
{{Rounded_corners|url=https://sigrok.org/download/binary/pulseview/PulseView-0.4.2-i386.AppImage|text=PulseView 0.4.2 (32bit)}}<br />
<br />
{{Rounded_corners|url=https://sigrok.org/download/binary/pulseview/PulseView-0.4.2-x86_64.AppImage|text=PulseView 0.4.2 (64bit)}}<br />
<br />
{{Rounded_corners|url=https://sigrok.org/download/binary/sigrok-cli/sigrok-cli-0.7.2-i386.AppImage|text=sigrok-cli 0.7.2 (32bit)}}<br />
<br />
{{Rounded_corners|url=https://sigrok.org/download/binary/sigrok-cli/sigrok-cli-0.7.2-x86_64.AppImage|text=sigrok-cli 0.7.2 (64bit)}}<br />
<br />
| style="width:20%; vertical-align: top" |<br />
<br />
{{Rounded_corners|url=https://sigrok.org/download/binary/pulseview/pulseview-0.4.2-32bit-static-release-installer.exe|text=PulseView 0.4.2 (32bit)}}<br />
<br />
{{Rounded_corners|url=https://sigrok.org/download/binary/pulseview/pulseview-0.4.2-64bit-static-release-installer.exe|text=PulseView 0.4.2 (64bit)}}<br />
<br />
{{Rounded_corners|url=https://sigrok.org/download/binary/sigrok-cli/sigrok-cli-0.7.2-i686-installer.exe|text=sigrok-cli 0.7.2 (32bit)}}<br />
<br />
{{Rounded_corners|url=https://sigrok.org/download/binary/sigrok-cli/sigrok-cli-0.7.2-x86_64-installer.exe|text=sigrok-cli 0.7.2 (64bit)}}<br />
<br />
| style="width:20%; vertical-align: top" |<br />
<br />
{{Rounded_corners|url=https://sigrok.org/download/binary/pulseview/PulseView-0.4.2.dmg|text=PulseView 0.4.2 (64bit)}}<br />
<br />
| style="width:20%; vertical-align: top; text-align: center" |<br />
<br />
{{Rounded_corners|url=https://sigrok.org/wiki/Downloads#Releases|text=See below}}<br />
<br />
|- style="background-color: white; vertical-align: top;"<br />
<br />
| style="text-align:center" | <em><small>Requires a Linux distro more recent than '''Ubuntu 16.04 LTS (Xenial Xerus)''' from 2016.</small></em><br />
| style="text-align:center" | <em><small>Requires '''Windows XP''' or higher.</small></em><br />
| style="text-align:center" | <em><small>Requires '''OS X 10.9 (Mavericks)''' or higher.</small></em><br />
| style="text-align:center" | <em><small>See below for other download options (Android, FreeBSD, source code, etc.).</small></em><br />
<br />
|}<br />
<br />
== Releases ==<br />
<br />
You can download the latest released tarballs of the following subprojects from [https://sigrok.org/download/ the sigrok.org download directory]:<br />
<br />
{| border="0" style="font-size: smaller; white-space: nowrap;" class="alternategrey sigroktable"<br />
|-<br />
!Project<br />
!Release/download<br />
!News<br />
<br />
|-<br />
| [[libserialport]]<br />
| [https://sigrok.org/download/source/libserialport/libserialport-0.1.1.tar.gz libserialport-0.1.1.tar.gz]<br />
| [https://sigrok.org/gitweb/?p=libserialport.git;a=blob;f=NEWS;hb=HEAD release notes]<br />
<br />
|-<br />
| [[libsigrok]]<br />
| [https://sigrok.org/download/source/libsigrok/libsigrok-0.5.2.tar.gz libsigrok-0.5.2.tar.gz]<br />
| [https://sigrok.org/gitweb/?p=libsigrok.git;a=blob;f=NEWS;h=60de6e341b7289cfb99883a94b0c921a4b79b008;hb=a6b07d7e28fe445afccf36922ef7d20e63e54fe6 release notes]<br />
<br />
|-<br />
| [[libsigrokdecode]]<br />
| [https://sigrok.org/download/source/libsigrokdecode/libsigrokdecode-0.5.3.tar.gz libsigrokdecode-0.5.3.tar.gz]<br />
| [https://sigrok.org/gitweb/?p=libsigrokdecode.git;a=blob;f=NEWS;h=f61727f8c75edf52e1f306983070a5eda629fd2e;hb=97991a3919da6a07c4c87308ae66fb441bd512e3 release notes]<br />
<br />
|-<br />
| [[sigrok-cli]]<br />
| [https://sigrok.org/download/source/sigrok-cli/sigrok-cli-0.7.2.tar.gz sigrok-cli-0.7.2.tar.gz]<br />
| [https://sigrok.org/gitweb/?p=sigrok-cli.git;a=blob;f=NEWS;h=e80dad6392501dd16e4fdc87836d443474e2eed9;hb=b584f959edb788f1731d5a304badf241ac21bf65 release notes]<br />
<br />
|-<br />
| [[PulseView]]<br />
| [https://sigrok.org/download/source/pulseview/pulseview-0.4.2.tar.gz pulseview-0.4.2.tar.gz]<br />
| [https://sigrok.org/gitweb/?p=pulseview.git;a=blob;f=NEWS;h=b20f14aebe4bd890a6bd92323e043b3540cb6629;hb=2b526a42a2fd68d513d4c2061790605a0c7add6c release notes]<br />
<br />
|-<br />
| [[fx2lafw|sigrok-firmware-fx2lafw]] (source code)<br />
| [https://sigrok.org/download/source/sigrok-firmware-fx2lafw/sigrok-firmware-fx2lafw-0.1.7.tar.gz sigrok-firmware-fx2lafw-0.1.7.tar.gz]<br />
| [https://sigrok.org/gitweb/?p=sigrok-firmware-fx2lafw.git;a=blob;f=NEWS;hb=HEAD release notes]<br />
<br />
|-<br />
| [[fx2lafw|sigrok-firmware-fx2lafw]] (prebuilt firmware)<br />
| [https://sigrok.org/download/binary/sigrok-firmware-fx2lafw/sigrok-firmware-fx2lafw-bin-0.1.7.tar.gz sigrok-firmware-fx2lafw-bin-0.1.7.tar.gz]<br />
| [https://sigrok.org/gitweb/?p=sigrok-firmware-fx2lafw.git;a=blob;f=NEWS;hb=HEAD release notes]<br />
<br />
|}<br />
<br />
== Binaries and distribution packages ==<br />
<br />
=== Linux AppImage binaries ===<br />
<br />
* Nightly AppImage binaries (require a Linux distro more recent than Ubuntu 16.04 LTS Xenial Xerus from 2016):<br />
** [https://sigrok.org/download/binary/pulseview/PulseView-NIGHTLY-i686.AppImage PulseView-NIGHTLY-i686.AppImage] (32bit)<br />
** [https://sigrok.org/download/binary/pulseview/PulseView-NIGHTLY-x86_64.AppImage PulseView-NIGHTLY-x86_64.AppImage] (64bit)<br />
** [https://sigrok.org/download/binary/sigrok-cli/sigrok-cli-NIGHTLY-i686.AppImage sigrok-cli-NIGHTLY-i686.AppImage] (32bit)<br />
** [https://sigrok.org/download/binary/sigrok-cli/sigrok-cli-NIGHTLY-x86_64.AppImage sigrok-cli-NIGHTLY-x86_64.AppImage] (64bit)<br />
* Download the correct (32bit or 64bit) AppImage file for your Linux system, make the file executable via "'''chmod +x'''" and then run it.<br />
* If you want to access hardware, please install the [https://sigrok.org/gitweb/?p=libsigrok.git;a=tree;f=contrib udev rules] on your system and reload the rules using "udevadm control --reload-rules && udevadm trigger".<br />
* See also [[Linux#AppImage|Linux]] for more information.<br />
<br />
=== Linux distribution packages ===<br />
<br />
* '''Debian:''' [https://packages.qa.debian.org/s/sigrok.html sigrok] (pulls [https://packages.qa.debian.org/libs/libserialport.html libserialport], [https://packages.qa.debian.org/libs/libsigrok.html libsigrok], [https://packages.qa.debian.org/libs/libsigrokdecode.html libsigrokdecode], [https://packages.qa.debian.org/s/sigrok-cli.html sigrok-cli], [https://packages.qa.debian.org/p/pulseview.html pulseview], [https://packages.qa.debian.org/s/sigrok-firmware-fx2lafw.html sigrok-firmware-fx2lafw])<br />
* '''Ubuntu:''' [https://launchpad.net/ubuntu/+source/sigrok sigrok] (pulls [https://launchpad.net/ubuntu/+source/libserialport libserialport], [https://launchpad.net/ubuntu/+source/libsigrok libsigrok], [https://launchpad.net/ubuntu/+source/libsigrokdecode libsigrokdecode], [https://launchpad.net/ubuntu/+source/sigrok-cli sigrok-cli], [https://launchpad.net/ubuntu/+source/pulseview pulseview], [https://launchpad.net/ubuntu/+source/sigrok-firmware-fx2lafw sigrok-firmware-fx2lafw])<br />
* '''Arch Linux:''' [https://aur.archlinux.org/packages.php?O=0&K=sigrok&do_Search=Go AUR (Arch Linux User Repository)], [https://aur.archlinux.org/packages/libserialport-git/ libserialport], [https://aur.archlinux.org/packages/libsigrok-git/ libsigrok], [https://aur.archlinux.org/packages/libsigrokdecode-git/ libsigrokdecode], [https://aur.archlinux.org/packages/sigrok-cli/ sigrok-cli], [https://aur.archlinux.org/packages/pulseview-git/ pulseview], [https://aur.archlinux.org/packages/sigrok-firmware-fx2lafw/ sigrok-firmware-fx2lafw]<br />
* '''Slackware:''' [https://slackbuilds.org/apps/libserialport/ libserialport], [https://slackbuilds.org/apps/libsigrok/ libsigrok], [https://slackbuilds.org/apps/libsigrokdecode/ libsigrokdecode], [https://slackbuilds.org/apps/sigrok-cli/ sigrok-cli], [https://slackbuilds.org/apps/pulseview/ pulseview], [https://slackbuilds.org/apps/sigrok-firmware-fx2lafw/ sigrok-firmware-fx2lafw]<br />
* '''Fedora:''' [https://src.fedoraproject.org/cgit/rpms/libserialport.git/ libserialport], [https://src.fedoraproject.org/cgit/rpms/libsigrok.git/ libsigrok], [https://src.fedoraproject.org/cgit/rpms/libsigrokdecode.git/ libsigrokdecode], [https://src.fedoraproject.org/cgit/rpms/sigrok-cli.git/ sigrok-cli], [https://src.fedoraproject.org/cgit/rpms/pulseview.git/ pulseview], [https://src.fedoraproject.org/cgit/rpms/sigrok-firmware-fx2lafw.git/ sigrok-firmware-fx2lafw], [https://src.fedoraproject.org/cgit/rpms/sigrok-firmware.git/ sigrok-firmware]<br />
* '''Gentoo:''' [https://packages.gentoo.org/package/dev-libs/libserialport libserialport], [https://packages.gentoo.org/package/sci-libs/libsigrok libsigrok], [https://packages.gentoo.org/package/sci-libs/libsigrokdecode libsigrokdecode], [https://packages.gentoo.org/package/sci-electronics/sigrok-cli sigrok-cli], [https://packages.gentoo.org/package/sci-electronics/pulseview pulseview], [https://packages.gentoo.org/package/sys-firmware/sigrok-firmware-fx2lafw sigrok-firmware-fx2lafw]<br />
* '''openSUSE:''' Latest stable versions are included in Tumbleweed. Leap includes the latest stable version at time of release, newer versions are available from the [https://download.opensuse.org/repositories/electronics/ "electronics" repository], created by the [https://build.opensuse.org/project/show/electronics OpenBuildService (OBS)].<br />
** '''openSUSE weekly GIT:''' [https://download.opensuse.org/repositories/home:/StefanBruens:/branches:/electronics:/GIT/ Repositories], [https://build.opensuse.org/project/show/home:StefanBruens:branches:electronics:GIT OBS Project]<br />
<br />
=== Windows ===<br />
<span id="Windows_Download"><br />
<br />
* Nightly installer binaries (require Windows XP or higher):<br />
** [https://sigrok.org/download/binary/pulseview/pulseview-NIGHTLY-32bit-static-release-installer.exe pulseview-NIGHTLY-32bit-static-release-installer.exe] ([https://sigrok.org/download/binary/pulseview/pulseview-NIGHTLY-32bit-static-debug-installer.exe debug build])<br />
** [https://sigrok.org/download/binary/pulseview/pulseview-NIGHTLY-64bit-static-release-installer.exe pulseview-NIGHTLY-64bit-static-release-installer.exe] ([https://sigrok.org/download/binary/pulseview/pulseview-NIGHTLY-64bit-static-debug-installer.exe debug build])<br />
** [https://sigrok.org/download/binary/sigrok-cli/sigrok-cli-NIGHTLY-32bit-static-release-installer.exe sigrok-cli-NIGHTLY-32bit-static-release-installer.exe] ([https://sigrok.org/download/binary/sigrok-cli/sigrok-cli-NIGHTLY-32bit-static-debug-installer.exe debug build])<br />
** [https://sigrok.org/download/binary/sigrok-cli/sigrok-cli-NIGHTLY-64bit-static-release-installer.exe sigrok-cli-NIGHTLY-64bit-static-release-installer.exe] ([https://sigrok.org/download/binary/sigrok-cli/sigrok-cli-NIGHTLY-64bit-static-debug-installer.exe debug build])<br />
* See also [[Windows#Windows_installers|Windows]] for more information.<br />
<br />
=== Mac OS X ===<br />
<br />
* Nightly DMG binaries (64&nbsp;bit x86 only; require OS X 10.9 Mavericks or higher):<br />
** [https://sigrok.org/download/binary/pulseview/PulseView-NIGHTLY.dmg PulseView-NIGHTLY.dmg]<br />
** [https://sigrok.org/download/binary/sigrok-cli/sigrok-cli-NIGHTLY.dmg sigrok-cli-NIGHTLY.dmg]<br />
* See also [[Mac OS X]] for more information.<br />
<br />
=== FreeBSD ===<br />
<br />
* [https://www.freshports.org/devel/libserialport/ libserialport], [https://www.freshports.org/devel/libsigrok/ libsigrok], [https://www.freshports.org/devel/libsigrokdecode/ libsigrokdecode], [https://www.freshports.org/science/sigrok-cli/ sigrok-cli], [https://www.freshports.org/science/pulseview/ pulseview], [https://www.freshports.org/science/sigrok-firmware-fx2lafw/ sigrok-firmware-fx2lafw], [https://www.freshports.org/science/sigrok-firmware/ sigrok-firmware], [https://www.freshports.org/science/sigrok-firmware-utils/ sigrok-firmware-utils]<br />
<br />
=== OpenBSD ===<br />
<br />
* [https://cvsweb.openbsd.org/ports/comms/sigrok/libserialport/ libserialport], [https://cvsweb.openbsd.org/ports/comms/sigrok/libsigrok/ libsigrok], [https://cvsweb.openbsd.org/ports/comms/sigrok/libsigrokdecode/ libsigrokdecode], [https://cvsweb.openbsd.org/ports/comms/sigrok/sigrok-cli/ sigrok-cli], [https://cvsweb.openbsd.org/ports/comms/sigrok/pulseview/ pulseview], [https://cvsweb.openbsd.org/ports/comms/sigrok/sigrok-dumps/ sigrok-dumps], [https://cvsweb.openbsd.org/ports/comms/sigrok/sigrok-firmware-fx2lafw/ sigrok-firmware-fx2lafw]<br />
<br />
=== Android ===<br />
<br />
* Nightly APK binaries:<br />
** [https://sigrok.org/jenkins/job/sigrok-cross-android/platform=cross-arm-linux-androideabi/lastSuccessfulBuild/artifact/PulseView-NIGHTLY.apk PulseView-NIGHTLY.apk (ARM)]<br />
* See also [[Android]] for more information.<br />
<br />
== Source code ==<br />
<br />
The development is done in various [https://sigrok.org/gitweb/ git repositories].<br />
<br />
See [[Building]] for build instructions.<br />
<br />
== Example data ==<br />
<br />
See the [[Example dumps]] wiki page.<br />
<br />
== Firmware files ==<br />
<br />
See the [[Firmware]] wiki page.</div>
Abraxa
https://sigrok.org/w/index.php?title=Downloads&diff=16595
Downloads
2023-09-17T19:34:16Z
<p>Abraxa: Remove banner</p>
<hr />
<div>{| border="0" width="100%" style="white-space: margin: 0em; margin-bottom: 2em; border-width: 1em; align:center; vertical-align: top"<br />
|-<br />
!Linux<br />
!Windows<br />
!Mac OS X<br />
!Other<br />
<br />
|-<br />
! colspan="4" | {{Rounded_corners|url=https://sigrok.org/wiki/Downloads|bgcolor=#aaaaaa|text=Nightly builds (recommended, always up-to-date)}}<br />
<br />
|- style="background-color: white"<br />
<br />
| style="width:20%; vertical-align: top" |<br />
<br />
{{Rounded_corners|url=https://sigrok.org/download/binary/pulseview/PulseView-NIGHTLY-i686.AppImage|text=PulseView (32bit)}}<br />
<br />
{{Rounded_corners|url=https://sigrok.org/download/binary/pulseview/PulseView-NIGHTLY-x86_64.AppImage|text=PulseView (64bit)}}<br />
<br />
{{Rounded_corners|url=https://sigrok.org/download/binary/sigrok-cli/sigrok-cli-NIGHTLY-i686.AppImage|text=sigrok-cli (32bit)}}<br />
<br />
{{Rounded_corners|url=https://sigrok.org/download/binary/sigrok-cli/sigrok-cli-NIGHTLY-x86_64.AppImage|text=sigrok-cli (64bit)}}<br />
<br />
| style="width:20%; vertical-align: top" |<br />
<br />
{{Rounded_corners|url=https://sigrok.org/download/binary/pulseview/pulseview-NIGHTLY-32bit-static-release-installer.exe|text=PulseView (32bit)}}<br />
<br />
{{Rounded_corners|url=https://sigrok.org/download/binary/pulseview/pulseview-NIGHTLY-64bit-static-release-installer.exe|text=PulseView (64bit)}}<br />
<br />
{{Rounded_corners|url=https://sigrok.org/download/binary/sigrok-cli/sigrok-cli-NIGHTLY-32bit-static-release-installer.exe|text=sigrok-cli (32bit)}}<br />
<br />
{{Rounded_corners|url=https://sigrok.org/download/binary/sigrok-cli/sigrok-cli-NIGHTLY-64bit-static-release-installer.exe|text=sigrok-cli (64bit)}}<br />
<br />
| style="width:20%; vertical-align: top" |<br />
<br />
{{Rounded_corners|url=https://sigrok.org/download/binary/pulseview/PulseView-NIGHTLY.dmg|text=PulseView (64bit)}}<br />
<br />
{{Rounded_corners|url=https://sigrok.org/download/binary/sigrok-cli/sigrok-cli-NIGHTLY.dmg|text=sigrok-cli (64bit)}}<br />
<br />
| style="width:20%; vertical-align: top; text-align: center" |<br />
<br />
{{Rounded_corners|url=https://sigrok.org/wiki/Downloads#Releases|text=See below}}<br />
<br />
|-<br />
!colspan="4" | {{Rounded_corners|url=https://sigrok.org/wiki/Downloads|bgcolor=#aaaaaa|text=Release builds (usually older than nightly builds, might be missing features or bugfixes)}}<br />
<br />
|- style="background-color: white"<br />
<br />
| style="width:20%; vertical-align: top" |<br />
<br />
{{Rounded_corners|url=https://sigrok.org/download/binary/pulseview/PulseView-0.4.2-i386.AppImage|text=PulseView 0.4.2 (32bit)}}<br />
<br />
{{Rounded_corners|url=https://sigrok.org/download/binary/pulseview/PulseView-0.4.2-x86_64.AppImage|text=PulseView 0.4.2 (64bit)}}<br />
<br />
{{Rounded_corners|url=https://sigrok.org/download/binary/sigrok-cli/sigrok-cli-0.7.2-i386.AppImage|text=sigrok-cli 0.7.2 (32bit)}}<br />
<br />
{{Rounded_corners|url=https://sigrok.org/download/binary/sigrok-cli/sigrok-cli-0.7.2-x86_64.AppImage|text=sigrok-cli 0.7.2 (64bit)}}<br />
<br />
| style="width:20%; vertical-align: top" |<br />
<br />
{{Rounded_corners|url=https://sigrok.org/download/binary/pulseview/pulseview-0.4.2-32bit-static-release-installer.exe|text=PulseView 0.4.2 (32bit)}}<br />
<br />
{{Rounded_corners|url=https://sigrok.org/download/binary/pulseview/pulseview-0.4.2-64bit-static-release-installer.exe|text=PulseView 0.4.2 (64bit)}}<br />
<br />
{{Rounded_corners|url=https://sigrok.org/download/binary/sigrok-cli/sigrok-cli-0.7.2-i686-installer.exe|text=sigrok-cli 0.7.2 (32bit)}}<br />
<br />
{{Rounded_corners|url=https://sigrok.org/download/binary/sigrok-cli/sigrok-cli-0.7.2-x86_64-installer.exe|text=sigrok-cli 0.7.2 (64bit)}}<br />
<br />
| style="width:20%; vertical-align: top" |<br />
<br />
{{Rounded_corners|url=https://sigrok.org/download/binary/pulseview/PulseView-0.4.2.dmg|text=PulseView 0.4.2 (64bit)}}<br />
<br />
| style="width:20%; vertical-align: top; text-align: center" |<br />
<br />
{{Rounded_corners|url=https://sigrok.org/wiki/Downloads#Releases|text=See below}}<br />
<br />
|- style="background-color: white; vertical-align: top;"<br />
<br />
| style="text-align:center" | <em><small>Requires a Linux distro more recent than '''Ubuntu 16.04 LTS (Xenial Xerus)''' from 2016.</small></em><br />
| style="text-align:center" | <em><small>Requires '''Windows XP''' or higher.</small></em><br />
| style="text-align:center" | <em><small>Requires '''OS X 10.9 (Mavericks)''' or higher.</small></em><br />
| style="text-align:center" | <em><small>See below for other download options (Android, FreeBSD, source code, etc.).</small></em><br />
<br />
|}<br />
<br />
== Releases ==<br />
<br />
You can download the latest released tarballs of the following subprojects from [https://sigrok.org/download/ the sigrok.org download directory]:<br />
<br />
{| border="0" style="font-size: smaller; white-space: nowrap;" class="alternategrey sigroktable"<br />
|-<br />
!Project<br />
!Release/download<br />
!News<br />
<br />
|-<br />
| [[libserialport]]<br />
| [https://sigrok.org/download/source/libserialport/libserialport-0.1.1.tar.gz libserialport-0.1.1.tar.gz]<br />
| [https://sigrok.org/gitweb/?p=libserialport.git;a=blob;f=NEWS;hb=HEAD release notes]<br />
<br />
|-<br />
| [[libsigrok]]<br />
| [https://sigrok.org/download/source/libsigrok/libsigrok-0.5.2.tar.gz libsigrok-0.5.2.tar.gz]<br />
| [https://sigrok.org/gitweb/?p=libsigrok.git;a=blob;f=NEWS;h=60de6e341b7289cfb99883a94b0c921a4b79b008;hb=a6b07d7e28fe445afccf36922ef7d20e63e54fe6 release notes]<br />
<br />
|-<br />
| [[libsigrokdecode]]<br />
| [https://sigrok.org/download/source/libsigrokdecode/libsigrokdecode-0.5.3.tar.gz libsigrokdecode-0.5.3.tar.gz]<br />
| [https://sigrok.org/gitweb/?p=libsigrokdecode.git;a=blob;f=NEWS;h=f61727f8c75edf52e1f306983070a5eda629fd2e;hb=97991a3919da6a07c4c87308ae66fb441bd512e3 release notes]<br />
<br />
|-<br />
| [[sigrok-cli]]<br />
| [https://sigrok.org/download/source/sigrok-cli/sigrok-cli-0.7.2.tar.gz sigrok-cli-0.7.2.tar.gz]<br />
| [https://sigrok.org/gitweb/?p=sigrok-cli.git;a=blob;f=NEWS;h=e80dad6392501dd16e4fdc87836d443474e2eed9;hb=b584f959edb788f1731d5a304badf241ac21bf65 release notes]<br />
<br />
|-<br />
| [[PulseView]]<br />
| [https://sigrok.org/download/source/pulseview/pulseview-0.4.2.tar.gz pulseview-0.4.2.tar.gz]<br />
| [https://sigrok.org/gitweb/?p=pulseview.git;a=blob;f=NEWS;h=b20f14aebe4bd890a6bd92323e043b3540cb6629;hb=2b526a42a2fd68d513d4c2061790605a0c7add6c release notes]<br />
<br />
|-<br />
| [[fx2lafw|sigrok-firmware-fx2lafw]] (source code)<br />
| [https://sigrok.org/download/source/sigrok-firmware-fx2lafw/sigrok-firmware-fx2lafw-0.1.7.tar.gz sigrok-firmware-fx2lafw-0.1.7.tar.gz]<br />
| [https://sigrok.org/gitweb/?p=sigrok-firmware-fx2lafw.git;a=blob;f=NEWS;hb=HEAD release notes]<br />
<br />
|-<br />
| [[fx2lafw|sigrok-firmware-fx2lafw]] (prebuilt firmware)<br />
| [https://sigrok.org/download/binary/sigrok-firmware-fx2lafw/sigrok-firmware-fx2lafw-bin-0.1.7.tar.gz sigrok-firmware-fx2lafw-bin-0.1.7.tar.gz]<br />
| [https://sigrok.org/gitweb/?p=sigrok-firmware-fx2lafw.git;a=blob;f=NEWS;hb=HEAD release notes]<br />
<br />
|}<br />
<br />
== Binaries and distribution packages ==<br />
<br />
=== Linux AppImage binaries ===<br />
<br />
* Nightly AppImage binaries (require a Linux distro more recent than Ubuntu 16.04 LTS Xenial Xerus from 2016):<br />
** [https://sigrok.org/download/binary/pulseview/PulseView-NIGHTLY-i686.AppImage PulseView-NIGHTLY-i686.AppImage] (32bit)<br />
** [https://sigrok.org/download/binary/pulseview/PulseView-NIGHTLY-x86_64.AppImage PulseView-NIGHTLY-x86_64.AppImage] (64bit)<br />
** [https://sigrok.org/download/binary/sigrok-cli/sigrok-cli-NIGHTLY-i686.AppImage sigrok-cli-NIGHTLY-i686.AppImage] (32bit)<br />
** [https://sigrok.org/download/binary/sigrok-cli/sigrok-cli-NIGHTLY-x86_64.AppImage sigrok-cli-NIGHTLY-x86_64.AppImage] (64bit)<br />
* Download the correct (32bit or 64bit) AppImage file for your Linux system, make the file executable via "'''chmod +x'''" and then run it.<br />
* If you want to access hardware, please install the [https://sigrok.org/gitweb/?p=libsigrok.git;a=tree;f=contrib udev rules] on your system and reload the rules using "udevadm control --reload-rules && udevadm trigger".<br />
* See also [[Linux#AppImage|Linux]] for more information.<br />
<br />
=== Linux distribution packages ===<br />
<br />
* '''Debian:''' [https://packages.qa.debian.org/s/sigrok.html sigrok] (pulls [https://packages.qa.debian.org/libs/libserialport.html libserialport], [https://packages.qa.debian.org/libs/libsigrok.html libsigrok], [https://packages.qa.debian.org/libs/libsigrokdecode.html libsigrokdecode], [https://packages.qa.debian.org/s/sigrok-cli.html sigrok-cli], [https://packages.qa.debian.org/p/pulseview.html pulseview], [https://packages.qa.debian.org/s/sigrok-firmware-fx2lafw.html sigrok-firmware-fx2lafw])<br />
* '''Ubuntu:''' [https://launchpad.net/ubuntu/+source/sigrok sigrok] (pulls [https://launchpad.net/ubuntu/+source/libserialport libserialport], [https://launchpad.net/ubuntu/+source/libsigrok libsigrok], [https://launchpad.net/ubuntu/+source/libsigrokdecode libsigrokdecode], [https://launchpad.net/ubuntu/+source/sigrok-cli sigrok-cli], [https://launchpad.net/ubuntu/+source/pulseview pulseview], [https://launchpad.net/ubuntu/+source/sigrok-firmware-fx2lafw sigrok-firmware-fx2lafw])<br />
* '''Arch Linux:''' [https://aur.archlinux.org/packages.php?O=0&K=sigrok&do_Search=Go AUR (Arch Linux User Repository)], [https://aur.archlinux.org/packages/libserialport-git/ libserialport], [https://aur.archlinux.org/packages/libsigrok-git/ libsigrok], [https://aur.archlinux.org/packages/libsigrokdecode-git/ libsigrokdecode], [https://aur.archlinux.org/packages/sigrok-cli/ sigrok-cli], [https://aur.archlinux.org/packages/pulseview-git/ pulseview], [https://aur.archlinux.org/packages/sigrok-firmware-fx2lafw/ sigrok-firmware-fx2lafw]<br />
* '''Slackware:''' [https://slackbuilds.org/apps/libserialport/ libserialport], [https://slackbuilds.org/apps/libsigrok/ libsigrok], [https://slackbuilds.org/apps/libsigrokdecode/ libsigrokdecode], [https://slackbuilds.org/apps/sigrok-cli/ sigrok-cli], [https://slackbuilds.org/apps/pulseview/ pulseview], [https://slackbuilds.org/apps/sigrok-firmware-fx2lafw/ sigrok-firmware-fx2lafw]<br />
* '''Fedora:''' [https://src.fedoraproject.org/cgit/rpms/libserialport.git/ libserialport], [https://src.fedoraproject.org/cgit/rpms/libsigrok.git/ libsigrok], [https://src.fedoraproject.org/cgit/rpms/libsigrokdecode.git/ libsigrokdecode], [https://src.fedoraproject.org/cgit/rpms/sigrok-cli.git/ sigrok-cli], [https://src.fedoraproject.org/cgit/rpms/pulseview.git/ pulseview], [https://src.fedoraproject.org/cgit/rpms/sigrok-firmware-fx2lafw.git/ sigrok-firmware-fx2lafw], [https://src.fedoraproject.org/cgit/rpms/sigrok-firmware.git/ sigrok-firmware]<br />
* '''Gentoo:''' [https://packages.gentoo.org/package/dev-libs/libserialport libserialport], [https://packages.gentoo.org/package/sci-libs/libsigrok libsigrok], [https://packages.gentoo.org/package/sci-libs/libsigrokdecode libsigrokdecode], [https://packages.gentoo.org/package/sci-electronics/sigrok-cli sigrok-cli], [https://packages.gentoo.org/package/sci-electronics/pulseview pulseview], [https://packages.gentoo.org/package/sys-firmware/sigrok-firmware-fx2lafw sigrok-firmware-fx2lafw]<br />
* '''openSUSE:''' Latest stable versions are included in Tumbleweed. Leap includes the latest stable version at time of release, newer versions are available from the [https://download.opensuse.org/repositories/electronics/ "electronics" repository], created by the [https://build.opensuse.org/project/show/electronics OpenBuildService (OBS)].<br />
** '''openSUSE weekly GIT:''' [https://download.opensuse.org/repositories/home:/StefanBruens:/branches:/electronics:/GIT/ Repositories], [https://build.opensuse.org/project/show/home:StefanBruens:branches:electronics:GIT OBS Project]<br />
<br />
=== Windows ===<br />
<span id="Windows_Download"><br />
<br />
* Nightly installer binaries (require Windows XP or higher):<br />
** [https://sigrok.org/download/binary/pulseview/pulseview-NIGHTLY-32bit-static-release-installer.exe pulseview-NIGHTLY-32bit-static-release-installer.exe] ([https://sigrok.org/download/binary/pulseview/pulseview-NIGHTLY-32bit-static-debug-installer.exe debug build])<br />
** [https://sigrok.org/download/binary/pulseview/pulseview-NIGHTLY-64bit-static-release-installer.exe pulseview-NIGHTLY-64bit-static-release-installer.exe] ([https://sigrok.org/download/binary/pulseview/pulseview-NIGHTLY-64bit-static-debug-installer.exe debug build])<br />
** [https://sigrok.org/download/binary/sigrok-cli/sigrok-cli-NIGHTLY-32bit-static-release-installer.exe sigrok-cli-NIGHTLY-32bit-static-release-installer.exe] ([https://sigrok.org/download/binary/sigrok-cli/sigrok-cli-NIGHTLY-32bit-static-debug-installer.exe debug build])<br />
** [https://sigrok.org/download/binary/sigrok-cli/sigrok-cli-NIGHTLY-64bit-static-release-installer.exe sigrok-cli-NIGHTLY-64bit-static-release-installer.exe] ([https://sigrok.org/download/binary/sigrok-cli/sigrok-cli-NIGHTLY-64bit-static-debug-installer.exe debug build])<br />
* See also [[Windows#Windows_installers|Windows]] for more information.<br />
<br />
=== Mac OS X ===<br />
<br />
* Nightly DMG binaries (64&nbsp;bit x86 only; require OS X 10.9 Mavericks or higher):<br />
** [https://sigrok.org/download/binary/pulseview/PulseView-NIGHTLY.dmg PulseView-NIGHTLY.dmg]<br />
** [https://sigrok.org/download/binary/sigrok-cli/sigrok-cli-NIGHTLY.dmg sigrok-cli-NIGHTLY.dmg]<br />
* See also [[Mac OS X]] for more information.<br />
<br />
=== FreeBSD ===<br />
<br />
* [https://www.freshports.org/devel/libserialport/ libserialport], [https://www.freshports.org/devel/libsigrok/ libsigrok], [https://www.freshports.org/devel/libsigrokdecode/ libsigrokdecode], [https://www.freshports.org/science/sigrok-cli/ sigrok-cli], [https://www.freshports.org/science/pulseview/ pulseview], [https://www.freshports.org/science/sigrok-firmware-fx2lafw/ sigrok-firmware-fx2lafw], [https://www.freshports.org/science/sigrok-firmware/ sigrok-firmware], [https://www.freshports.org/science/sigrok-firmware-utils/ sigrok-firmware-utils]<br />
<br />
=== OpenBSD ===<br />
<br />
* [https://cvsweb.openbsd.org/ports/comms/sigrok/libserialport/ libserialport], [https://cvsweb.openbsd.org/ports/comms/sigrok/libsigrok/ libsigrok], [https://cvsweb.openbsd.org/ports/comms/sigrok/libsigrokdecode/ libsigrokdecode], [https://cvsweb.openbsd.org/ports/comms/sigrok/sigrok-cli/ sigrok-cli], [https://cvsweb.openbsd.org/ports/comms/sigrok/pulseview/ pulseview], [https://cvsweb.openbsd.org/ports/comms/sigrok/sigrok-dumps/ sigrok-dumps], [https://cvsweb.openbsd.org/ports/comms/sigrok/sigrok-firmware-fx2lafw/ sigrok-firmware-fx2lafw]<br />
<br />
=== Android ===<br />
<br />
* Nightly APK binaries:<br />
** [https://sigrok.org/jenkins/job/sigrok-cross-android/platform=cross-arm-linux-androideabi/lastSuccessfulBuild/artifact/PulseView-NIGHTLY.apk PulseView-NIGHTLY.apk (ARM)]<br />
* See also [[Android]] for more information.<br />
<br />
== Source code ==<br />
<br />
The development is done in various [https://sigrok.org/gitweb/ git repositories].<br />
<br />
See [[Building]] for build instructions.<br />
<br />
== Example data ==<br />
<br />
See the [[Example dumps]] wiki page.<br />
<br />
== Firmware files ==<br />
<br />
See the [[Firmware]] wiki page.</div>
Abraxa
https://sigrok.org/w/index.php?title=Talk:Main_Page&diff=16594
Talk:Main Page
2023-09-17T06:00:42Z
<p>Abraxa: </p>
<hr />
<div>==Questions regarding the wiki==<br />
<br />
If anybody has questions regarding the wiki, like the ones below, where is the place? --[[User:Manorainjan|Manorainjan]] ([[User talk:Manorainjan|talk]]) 20:12, 5 March 2017 (CET)<br />
<br />
:: It's probably best to discuss any non-trivial changes on [https://web.libera.chat/#sigrok #sigrok@libera.chat], that's where most of the active development discussions take place. --[[User:Uwe Hermann|Uwe Hermann]] ([[User talk:Uwe Hermann|talk]]) 00:55, 7 March 2017 (CET)<br />
<br />
==Frequency counters==<br />
<br />
I added [[:Category:Frequency counter]]. A comparison list seems to be there not yet.<br />
Should I create one, or does anyone more experienced like to do it? --[[User:Manorainjan|Manorainjan]] ([[User talk:Manorainjan|talk]]) 20:12, 5 March 2017 (CET)<br />
<br />
:: I've added a basic page with the usual info, feel free to extend and add more (PC-attachable) devices, if any. --[[User:Uwe Hermann|Uwe Hermann]] ([[User talk:Uwe Hermann|talk]]) 00:55, 7 March 2017 (CET)<br />
<br />
==Category Device==<br />
I tend to remove the category device from pages that belong to a more specific category as well, like multimeter or counter. <br />
But maybe someone sees a specific reason for keeping this redundancy? --[[User:Manorainjan|Manorainjan]] ([[User talk:Manorainjan|talk]]) 20:12, 5 March 2017 (CET)<br />
<br />
:: Yes, that's intentional and is done on all current pages. Please don't remove those categories. All devices should be in as many categories as required to describe all the hardware facilities (e.g. and MSO will be in the following categories: Device, Logic analyzer, Oscilloscope, Mixed-signal oscilloscope). The redundancy is not a problem, and it's intentional. --[[User:Uwe Hermann|Uwe Hermann]] ([[User talk:Uwe Hermann|talk]]) 00:55, 7 March 2017 (CET)<br />
<br />
== Broken link (Gmane) ==<br />
<br />
In section ''"Getting in touch"'': the '''''news.gmane.org''''' link times out.<br />
<br />
The first two worked fine.<br />
<br />
--[[User:PeterMortensen|PeterMortensen]] ([[User talk:PeterMortensen|talk]]) 16:44, 8 September 2022 (CEST)</div>
Abraxa
https://sigrok.org/w/index.php?title=Talk:Main_Page&diff=16593
Talk:Main Page
2023-09-17T06:00:31Z
<p>Abraxa: </p>
<hr />
<div>==Questions regarding the wiki==<br />
<br />
If anybody has questions regarding the wiki, like the ones below, where is the place? --[[User:Manorainjan|Manorainjan]] ([[User talk:Manorainjan|talk]]) 20:12, 5 March 2017 (CET)<br />
<br />
:: It's probably best to discuss any non-trivial changes on the [https://web.libera.chat/#sigrok #sigrok@libera.chat], that's where most of the active development discussions take place. --[[User:Uwe Hermann|Uwe Hermann]] ([[User talk:Uwe Hermann|talk]]) 00:55, 7 March 2017 (CET)<br />
<br />
==Frequency counters==<br />
<br />
I added [[:Category:Frequency counter]]. A comparison list seems to be there not yet.<br />
Should I create one, or does anyone more experienced like to do it? --[[User:Manorainjan|Manorainjan]] ([[User talk:Manorainjan|talk]]) 20:12, 5 March 2017 (CET)<br />
<br />
:: I've added a basic page with the usual info, feel free to extend and add more (PC-attachable) devices, if any. --[[User:Uwe Hermann|Uwe Hermann]] ([[User talk:Uwe Hermann|talk]]) 00:55, 7 March 2017 (CET)<br />
<br />
==Category Device==<br />
I tend to remove the category device from pages that belong to a more specific category as well, like multimeter or counter. <br />
But maybe someone sees a specific reason for keeping this redundancy? --[[User:Manorainjan|Manorainjan]] ([[User talk:Manorainjan|talk]]) 20:12, 5 March 2017 (CET)<br />
<br />
:: Yes, that's intentional and is done on all current pages. Please don't remove those categories. All devices should be in as many categories as required to describe all the hardware facilities (e.g. and MSO will be in the following categories: Device, Logic analyzer, Oscilloscope, Mixed-signal oscilloscope). The redundancy is not a problem, and it's intentional. --[[User:Uwe Hermann|Uwe Hermann]] ([[User talk:Uwe Hermann|talk]]) 00:55, 7 March 2017 (CET)<br />
<br />
== Broken link (Gmane) ==<br />
<br />
In section ''"Getting in touch"'': the '''''news.gmane.org''''' link times out.<br />
<br />
The first two worked fine.<br />
<br />
--[[User:PeterMortensen|PeterMortensen]] ([[User talk:PeterMortensen|talk]]) 16:44, 8 September 2022 (CEST)</div>
Abraxa
https://sigrok.org/w/index.php?title=Linux&diff=16589
Linux
2023-09-10T20:52:44Z
<p>Abraxa: Updating ubuntu libsigrok</p>
<hr />
<div>This page describes how to build/install the sigrok subprojects on Linux.<br />
<br />
== Binaries ==<br />
<br />
=== Distribution packages ===<br />
<br />
Many Linux distributions ship with sigrok packages, see [[Downloads#Binaries_and_distribution_packages|Downloads]].<br />
<br />
If the sigrok packages in your distro are rather old, you can also use the AppImage we provide (see below).<br />
<br />
=== AppImage ===<br />
<br />
We provide AppImages (see [https://appimage.org appimage.org] for details) for [[sigrok-cli]] and [[PulseView]] which make it very easy and convenient to use sigrok on somewhat recent Linux distributions (most distros newer than Ubuntu 16.04 LTS (Xenial Xerus) from around 2016 should work fine).<br />
<br />
After downloading the AppImage (see [[Downloads#Binaries_and_distribution_packages|Downloads]]) you can run it by simply making it executable and executing it, for example:<br />
<br />
$ '''chmod u+x PulseView-NIGHTLY-x86_64.AppImage'''<br />
$ '''./PulseView-NIGHTLY-x86_64.AppImage'''<br />
<br />
You might need to install the libsigrok '''udev rules files''' to be able to access some devices. See ''[[Building#Cannot access USB .2F serial .2F other device|Cannot access USB / serial / other device]]'' for details.<br />
<br />
== Building (script, recommended) ==<br />
<br />
The most convenient method to build all of the sigrok subprojects from source is to use the '''sigrok-cross-linux''' script from the [https://sigrok.org/gitweb/?p=sigrok-util.git;a=tree;f=cross-compile/linux sigrok-util] repo. Despite the name, this script also does native builds out of the box.<br />
<br />
The script assumes that you have installed all requirements of all sigrok subprojects. Please check ''[[Building#Build_requirements|Build requirements]]'' for details.<br />
<br />
$ '''git clone git://sigrok.org/sigrok-util'''<br />
$ '''cd sigrok-util/cross-compile/linux'''<br />
$ '''./sigrok-cross-linux'''<br />
<br />
This will download the current git version of all required sigrok subprojects and build them, installing the results in '''$HOME/sr'''. You may want to check out the '''README''' and/or adapt the script to your needs (e.g., if you want to install elsewhere).<br />
<br />
You can use the files from '''$HOME/sr''' using (for example) the [[Building#Installing_to_a_non-standard_directory_using_LD_LIBRARY_PATH|LD_LIBRARY_PATH method]].<br />
<br />
== Building (manually) ==<br />
<br />
<div style="background-color:#ff6666"><br />
'''IMPORTANT''': The following sections on installing build requirements are distro-specific examples and may or may not be out of date, depending on which distro you use. Please check the [[Building#Build_requirements|official build requirements list]] in the wiki or the '''README'''/'''INSTALL''' file (of the subproject you want to build) for the full list of requirements.<br />
</div><br />
<br />
=== libserialport ===<br />
<br />
==== Installing the [[Building#Build_requirements|requirements]] ====<br />
<br />
'''Debian/Ubuntu/Mint'''<br />
$ '''sudo apt-get install git-core gcc make autoconf automake libtool'''<br />
<br />
'''Fedora'''<br />
$ '''sudo yum install git-core gcc make autoconf automake libtool'''<br />
<br />
'''Arch'''<br />
$ '''sudo pacman -S git gcc make autoconf automake libtool'''<br />
<br />
==== Building ====<br />
<br />
$ '''git clone git://sigrok.org/libserialport'''<br />
$ '''cd libserialport'''<br />
$ '''./autogen.sh'''<br />
$ '''./configure'''<br />
$ '''make'''<br />
$ '''sudo make install'''<br />
<br />
=== libsigrok ===<br />
<br />
==== Installing the [[Building#Build_requirements|requirements]] ====<br />
<br />
'''Debian/Ubuntu/Mint'''<br />
<br />
$ '''sudo apt-get install git-core gcc g++ make autoconf autoconf-archive \'''<br />
'''automake libtool pkg-config libglib2.0-dev libglibmm-2.4-dev libzip-dev \'''<br />
'''libusb-1.0-0-dev libftdi1-dev libieee1284-3-dev libvisa-dev nettle-dev libavahi-client-dev \'''<br />
'''libhidapi-dev check doxygen python3-numpy python3-dev python-gi-dev python3-setuptools-git swig default-jdk'''<br />
<br />
'''Fedora (18, 19, 20, 21, 22, 23)'''<br />
<br />
$ '''sudo yum install git gcc make autoconf autoconf-archive automake libtool pkgconfig \'''<br />
'''glib2-devel libzip-devel libusb1-devel libftdi-devel libieee1284-devel nettle-devel \'''<br />
'''hidapi-devel check-devel doxygen'''<br />
<br />
:: For C++ bindings, add '''sudo yum install gcc-c++ glibmm24-devel'''<br />
:: For Python bindings, add '''sudo yum install python-devel numpy pygobject3-devel swig'''<br />
:: For Fedora 23, you need as well: '''redhat-rpm-config''' and note that '''libusb1-devel''' is now '''libusbx-devel'''<br />
<br />
'''Arch'''<br />
<br />
$ '''sudo pacman -S git gcc make autoconf autoconf-archive automake libtool \'''<br />
'''pkg-config glib2 glibmm libzip libusb libftdi libieee1284 nettle hidapi check \'''<br />
'''doxygen python-numpy python-setuptools swig jdk8-openjdk'''<br />
<br />
==== Building ====<br />
<br />
$ '''git clone git://sigrok.org/libsigrok'''<br />
$ '''cd libsigrok'''<br />
$ '''./autogen.sh'''<br />
$ '''./configure'''<br />
$ '''make'''<br />
$ '''sudo make install'''<br />
<br />
==== Device access ====<br />
<br />
Please read [[Building#Cannot_access_USB_.2F_serial_.2F_other_device|this FAQ entry]] for any extra steps you may need to take to get your specific device working.<br />
<br />
<div style="background-color:#ff6666"><br />
Please see the [[Building#FAQ|building FAQ]] if you are sure that you installed all requirements properly but still encounter some issues.<br />
</div><br />
<br />
=== libsigrokdecode ===<br />
<br />
==== Installing the [[Building#Build_requirements|requirements]] ====<br />
<br />
'''Debian/Ubuntu/Mint'''<br />
$ '''sudo apt-get install git-core gcc make autoconf automake libtool pkg-config libglib2.0-dev python3-dev'''<br />
<br />
'''Fedora (18, 19, 20)'''<br />
$ '''sudo yum install git gcc make autoconf automake libtool pkgconfig glib2-devel python3-devel check-devel'''<br />
<br />
'''Arch'''<br />
$ '''sudo pacman -S git gcc make autoconf automake libtool pkgconfig glib2 python check'''<br />
<br />
==== Building ====<br />
<br />
$ '''git clone git://sigrok.org/libsigrokdecode'''<br />
$ '''cd libsigrokdecode'''<br />
$ '''./autogen.sh'''<br />
$ '''./configure'''<br />
$ '''make'''<br />
$ '''sudo make install'''<br />
<br />
=== sigrok-cli ===<br />
<br />
==== Installing the [[Building#Build_requirements|requirements]] ====<br />
<br />
'''Debian/Ubuntu/Mint'''<br />
$ '''sudo apt-get install git-core gcc make autoconf automake libtool pkg-config libglib2.0-dev'''<br />
<br />
'''Fedora (18, 19)'''<br />
$ '''sudo yum install git gcc make autoconf automake libtool pkgconfig glib2-devel'''<br />
<br />
'''OpenSuse'''<br />
$ '''sudo zypper install git gcc make autoconf automake libtool pkgconfig glib2-devel'''<br />
<br />
'''Arch'''<br />
$ '''sudo pacman -S git gcc make autoconf automake libtool pkgconfig glib2'''<br />
<br />
==== Building ====<br />
<br />
$ '''git clone git://sigrok.org/sigrok-cli'''<br />
$ '''cd sigrok-cli'''<br />
$ '''./autogen.sh'''<br />
$ '''./configure'''<br />
$ '''make'''<br />
$ '''sudo make install'''<br />
<br />
=== PulseView ===<br />
<br />
==== Installing the [[Building#Build_requirements|requirements]] ====<br />
<br />
'''Debian/Ubuntu/Mint'''<br />
$ '''sudo apt-get install git-core g++ make cmake libtool pkg-config \'''<br />
'''libglib2.0-dev libboost-test-dev libboost-serialization-dev \'''<br />
'''libboost-filesystem-dev libboost-system-dev libqt5svg5-dev qtbase5-dev\'''<br />
'''qttools5-dev qttools5-dev-tools'''<br />
<br />
'''Fedora (18, 19, 23, 27)'''<br />
$ '''sudo yum install git gcc cmake libtool pkgconfig glib2-devel \'''<br />
'''boost-devel qt5-devel'''<br />
<br />
'''Arch'''<br />
$ '''sudo pacman -S git gcc make cmake libtool pkgconfig glib2 boost qt5 \'''<br />
'''qt5-base qt5-svg'''<br />
<br />
==== Building ====<br />
<br />
$ '''git clone git://sigrok.org/pulseview'''<br />
$ '''cd pulseview'''<br />
$ '''cmake .'''<br />
$ '''make'''<br />
$ '''sudo make install'''<br />
<br />
==== Troubleshooting ====<br />
<br />
See the [[PulseView#Building|PulseView build notes]] for more tips and FAQs.<br />
<br />
=== SmuView ===<br />
<br />
==== Installing the [[Building#Build_requirements|requirements]] ====<br />
<br />
'''Debian/Ubuntu/Mint'''<br />
$ '''sudo apt-get install git-core g++ make cmake libtool pkg-config \'''<br />
'''libglib2.0-dev libboost-dev python3-dev libqt5svg5-dev qtbase5-dev \'''<br />
'''libqwt-qt5-dev'''<br />
<br />
'''Fedora (18, 19, 23, 27, 32)'''<br />
$ '''sudo yum install git gcc cmake libtool pkgconfig glib2-devel boost-devel\'''<br />
'''python3-devel qt5-qtbase-devel qt5-qtsvg-devel qwt-qt5-devel'''<br />
<br />
'''Arch'''<br />
$ '''sudo pacman -S git gcc make cmake libtool pkgconfig glib2 boost \'''<br />
'''python qt5 qt5-base qt5-svg qwt'''<br />
<br />
==== Building ====<br />
<br />
$ '''git clone https://github.com/knarfS/smuview'''<br />
$ '''cd smuview'''<br />
$ '''mkdir build'''<br />
$ '''cd build'''<br />
$ '''cmake ../'''<br />
$ '''make'''<br />
$ '''sudo make install'''<br />
<br />
==== Troubleshooting ====<br />
<br />
See the [[SmuView#Building|SmuView build notes]] for more tips and FAQs.<br />
<br />
== FAQ ==<br />
<br />
Make sure to also see the [[Building#FAQ|Building FAQ]] for subjects that are not specific to Linux.<br />
<br />
=== Cannot open shared object file: No such file or directory ===<br />
<br />
See [[Building#Cannot_open_shared_object_file:_No_such_file_or_directory|here]].<br />
<br />
=== TEST FAILED: .../lib/python2.7/site-packages/ does NOT support .pth files ===<br />
<br />
See [[Building#TEST_FAILED:_....2Flib.2Fpython2.7.2Fsite-packages.2F_does_NOT_support_.pth_files|here]].<br />
<br />
=== Cannot access USB / serial / other device ===<br />
<br />
See [[Building#Cannot_access_USB_.2F_serial_.2F_other_device|here]].<br />
<br />
=== Required library not found ===<br />
<br />
See [[Building#Required_library_not_found|here]].</div>
Abraxa
https://sigrok.org/w/index.php?title=Linux&diff=16588
Linux
2023-09-09T22:13:09Z
<p>Abraxa: /* Installing the requirements */</p>
<hr />
<div>This page describes how to build/install the sigrok subprojects on Linux.<br />
<br />
== Binaries ==<br />
<br />
=== Distribution packages ===<br />
<br />
Many Linux distributions ship with sigrok packages, see [[Downloads#Binaries_and_distribution_packages|Downloads]].<br />
<br />
If the sigrok packages in your distro are rather old, you can also use the AppImage we provide (see below).<br />
<br />
=== AppImage ===<br />
<br />
We provide AppImages (see [https://appimage.org appimage.org] for details) for [[sigrok-cli]] and [[PulseView]] which make it very easy and convenient to use sigrok on somewhat recent Linux distributions (most distros newer than Ubuntu 16.04 LTS (Xenial Xerus) from around 2016 should work fine).<br />
<br />
After downloading the AppImage (see [[Downloads#Binaries_and_distribution_packages|Downloads]]) you can run it by simply making it executable and executing it, for example:<br />
<br />
$ '''chmod u+x PulseView-NIGHTLY-x86_64.AppImage'''<br />
$ '''./PulseView-NIGHTLY-x86_64.AppImage'''<br />
<br />
You might need to install the libsigrok '''udev rules files''' to be able to access some devices. See ''[[Building#Cannot access USB .2F serial .2F other device|Cannot access USB / serial / other device]]'' for details.<br />
<br />
== Building (script, recommended) ==<br />
<br />
The most convenient method to build all of the sigrok subprojects from source is to use the '''sigrok-cross-linux''' script from the [https://sigrok.org/gitweb/?p=sigrok-util.git;a=tree;f=cross-compile/linux sigrok-util] repo. Despite the name, this script also does native builds out of the box.<br />
<br />
The script assumes that you have installed all requirements of all sigrok subprojects. Please check ''[[Building#Build_requirements|Build requirements]]'' for details.<br />
<br />
$ '''git clone git://sigrok.org/sigrok-util'''<br />
$ '''cd sigrok-util/cross-compile/linux'''<br />
$ '''./sigrok-cross-linux'''<br />
<br />
This will download the current git version of all required sigrok subprojects and build them, installing the results in '''$HOME/sr'''. You may want to check out the '''README''' and/or adapt the script to your needs (e.g., if you want to install elsewhere).<br />
<br />
You can use the files from '''$HOME/sr''' using (for example) the [[Building#Installing_to_a_non-standard_directory_using_LD_LIBRARY_PATH|LD_LIBRARY_PATH method]].<br />
<br />
== Building (manually) ==<br />
<br />
<div style="background-color:#ff6666"><br />
'''IMPORTANT''': The following sections on installing build requirements are distro-specific examples and may or may not be out of date, depending on which distro you use. Please check the [[Building#Build_requirements|official build requirements list]] in the wiki or the '''README'''/'''INSTALL''' file (of the subproject you want to build) for the full list of requirements.<br />
</div><br />
<br />
=== libserialport ===<br />
<br />
==== Installing the [[Building#Build_requirements|requirements]] ====<br />
<br />
'''Debian/Ubuntu/Mint'''<br />
$ '''sudo apt-get install git-core gcc make autoconf automake libtool'''<br />
<br />
'''Fedora'''<br />
$ '''sudo yum install git-core gcc make autoconf automake libtool'''<br />
<br />
'''Arch'''<br />
$ '''sudo pacman -S git gcc make autoconf automake libtool'''<br />
<br />
==== Building ====<br />
<br />
$ '''git clone git://sigrok.org/libserialport'''<br />
$ '''cd libserialport'''<br />
$ '''./autogen.sh'''<br />
$ '''./configure'''<br />
$ '''make'''<br />
$ '''sudo make install'''<br />
<br />
=== libsigrok ===<br />
<br />
==== Installing the [[Building#Build_requirements|requirements]] ====<br />
<br />
'''Debian/Ubuntu/Mint'''<br />
<br />
$ '''sudo apt-get install git-core gcc g++ make autoconf autoconf-archive \'''<br />
'''automake libtool pkg-config libglib2.0-dev libglibmm-2.4-dev libzip-dev \'''<br />
'''libusb-1.0-0-dev libftdi1-dev libieee1284-3-dev libvisa-dev nettle-dev libavahi-client-dev \'''<br />
'''libhidapi-dev check doxygen python-numpy python-dev python-gi-dev python-setuptools swig default-jdk'''<br />
<br />
'''Fedora (18, 19, 20, 21, 22, 23)'''<br />
<br />
$ '''sudo yum install git gcc make autoconf autoconf-archive automake libtool pkgconfig \'''<br />
'''glib2-devel libzip-devel libusb1-devel libftdi-devel libieee1284-devel nettle-devel \'''<br />
'''hidapi-devel check-devel doxygen'''<br />
<br />
:: For C++ bindings, add '''sudo yum install gcc-c++ glibmm24-devel'''<br />
:: For Python bindings, add '''sudo yum install python-devel numpy pygobject3-devel swig'''<br />
:: For Fedora 23, you need as well: '''redhat-rpm-config''' and note that '''libusb1-devel''' is now '''libusbx-devel'''<br />
<br />
'''Arch'''<br />
<br />
$ '''sudo pacman -S git gcc make autoconf autoconf-archive automake libtool \'''<br />
'''pkg-config glib2 glibmm libzip libusb libftdi libieee1284 nettle hidapi check \'''<br />
'''doxygen python-numpy python-setuptools swig jdk8-openjdk'''<br />
<br />
==== Building ====<br />
<br />
$ '''git clone git://sigrok.org/libsigrok'''<br />
$ '''cd libsigrok'''<br />
$ '''./autogen.sh'''<br />
$ '''./configure'''<br />
$ '''make'''<br />
$ '''sudo make install'''<br />
<br />
==== Device access ====<br />
<br />
Please read [[Building#Cannot_access_USB_.2F_serial_.2F_other_device|this FAQ entry]] for any extra steps you may need to take to get your specific device working.<br />
<br />
<div style="background-color:#ff6666"><br />
Please see the [[Building#FAQ|building FAQ]] if you are sure that you installed all requirements properly but still encounter some issues.<br />
</div><br />
<br />
=== libsigrokdecode ===<br />
<br />
==== Installing the [[Building#Build_requirements|requirements]] ====<br />
<br />
'''Debian/Ubuntu/Mint'''<br />
$ '''sudo apt-get install git-core gcc make autoconf automake libtool pkg-config libglib2.0-dev python3-dev'''<br />
<br />
'''Fedora (18, 19, 20)'''<br />
$ '''sudo yum install git gcc make autoconf automake libtool pkgconfig glib2-devel python3-devel check-devel'''<br />
<br />
'''Arch'''<br />
$ '''sudo pacman -S git gcc make autoconf automake libtool pkgconfig glib2 python check'''<br />
<br />
==== Building ====<br />
<br />
$ '''git clone git://sigrok.org/libsigrokdecode'''<br />
$ '''cd libsigrokdecode'''<br />
$ '''./autogen.sh'''<br />
$ '''./configure'''<br />
$ '''make'''<br />
$ '''sudo make install'''<br />
<br />
=== sigrok-cli ===<br />
<br />
==== Installing the [[Building#Build_requirements|requirements]] ====<br />
<br />
'''Debian/Ubuntu/Mint'''<br />
$ '''sudo apt-get install git-core gcc make autoconf automake libtool pkg-config libglib2.0-dev'''<br />
<br />
'''Fedora (18, 19)'''<br />
$ '''sudo yum install git gcc make autoconf automake libtool pkgconfig glib2-devel'''<br />
<br />
'''OpenSuse'''<br />
$ '''sudo zypper install git gcc make autoconf automake libtool pkgconfig glib2-devel'''<br />
<br />
'''Arch'''<br />
$ '''sudo pacman -S git gcc make autoconf automake libtool pkgconfig glib2'''<br />
<br />
==== Building ====<br />
<br />
$ '''git clone git://sigrok.org/sigrok-cli'''<br />
$ '''cd sigrok-cli'''<br />
$ '''./autogen.sh'''<br />
$ '''./configure'''<br />
$ '''make'''<br />
$ '''sudo make install'''<br />
<br />
=== PulseView ===<br />
<br />
==== Installing the [[Building#Build_requirements|requirements]] ====<br />
<br />
'''Debian/Ubuntu/Mint'''<br />
$ '''sudo apt-get install git-core g++ make cmake libtool pkg-config \'''<br />
'''libglib2.0-dev libboost-test-dev libboost-serialization-dev \'''<br />
'''libboost-filesystem-dev libboost-system-dev libqt5svg5-dev qtbase5-dev\'''<br />
'''qttools5-dev qttools5-dev-tools'''<br />
<br />
'''Fedora (18, 19, 23, 27)'''<br />
$ '''sudo yum install git gcc cmake libtool pkgconfig glib2-devel \'''<br />
'''boost-devel qt5-devel'''<br />
<br />
'''Arch'''<br />
$ '''sudo pacman -S git gcc make cmake libtool pkgconfig glib2 boost qt5 \'''<br />
'''qt5-base qt5-svg'''<br />
<br />
==== Building ====<br />
<br />
$ '''git clone git://sigrok.org/pulseview'''<br />
$ '''cd pulseview'''<br />
$ '''cmake .'''<br />
$ '''make'''<br />
$ '''sudo make install'''<br />
<br />
==== Troubleshooting ====<br />
<br />
See the [[PulseView#Building|PulseView build notes]] for more tips and FAQs.<br />
<br />
=== SmuView ===<br />
<br />
==== Installing the [[Building#Build_requirements|requirements]] ====<br />
<br />
'''Debian/Ubuntu/Mint'''<br />
$ '''sudo apt-get install git-core g++ make cmake libtool pkg-config \'''<br />
'''libglib2.0-dev libboost-dev python3-dev libqt5svg5-dev qtbase5-dev \'''<br />
'''libqwt-qt5-dev'''<br />
<br />
'''Fedora (18, 19, 23, 27, 32)'''<br />
$ '''sudo yum install git gcc cmake libtool pkgconfig glib2-devel boost-devel\'''<br />
'''python3-devel qt5-qtbase-devel qt5-qtsvg-devel qwt-qt5-devel'''<br />
<br />
'''Arch'''<br />
$ '''sudo pacman -S git gcc make cmake libtool pkgconfig glib2 boost \'''<br />
'''python qt5 qt5-base qt5-svg qwt'''<br />
<br />
==== Building ====<br />
<br />
$ '''git clone https://github.com/knarfS/smuview'''<br />
$ '''cd smuview'''<br />
$ '''mkdir build'''<br />
$ '''cd build'''<br />
$ '''cmake ../'''<br />
$ '''make'''<br />
$ '''sudo make install'''<br />
<br />
==== Troubleshooting ====<br />
<br />
See the [[SmuView#Building|SmuView build notes]] for more tips and FAQs.<br />
<br />
== FAQ ==<br />
<br />
Make sure to also see the [[Building#FAQ|Building FAQ]] for subjects that are not specific to Linux.<br />
<br />
=== Cannot open shared object file: No such file or directory ===<br />
<br />
See [[Building#Cannot_open_shared_object_file:_No_such_file_or_directory|here]].<br />
<br />
=== TEST FAILED: .../lib/python2.7/site-packages/ does NOT support .pth files ===<br />
<br />
See [[Building#TEST_FAILED:_....2Flib.2Fpython2.7.2Fsite-packages.2F_does_NOT_support_.pth_files|here]].<br />
<br />
=== Cannot access USB / serial / other device ===<br />
<br />
See [[Building#Cannot_access_USB_.2F_serial_.2F_other_device|here]].<br />
<br />
=== Required library not found ===<br />
<br />
See [[Building#Required_library_not_found|here]].</div>
Abraxa
https://sigrok.org/w/index.php?title=Linux&diff=16587
Linux
2023-09-08T18:59:52Z
<p>Abraxa: Fix package for qt5 linguist tools</p>
<hr />
<div>This page describes how to build/install the sigrok subprojects on Linux.<br />
<br />
== Binaries ==<br />
<br />
=== Distribution packages ===<br />
<br />
Many Linux distributions ship with sigrok packages, see [[Downloads#Binaries_and_distribution_packages|Downloads]].<br />
<br />
If the sigrok packages in your distro are rather old, you can also use the AppImage we provide (see below).<br />
<br />
=== AppImage ===<br />
<br />
We provide AppImages (see [https://appimage.org appimage.org] for details) for [[sigrok-cli]] and [[PulseView]] which make it very easy and convenient to use sigrok on somewhat recent Linux distributions (most distros newer than Ubuntu 16.04 LTS (Xenial Xerus) from around 2016 should work fine).<br />
<br />
After downloading the AppImage (see [[Downloads#Binaries_and_distribution_packages|Downloads]]) you can run it by simply making it executable and executing it, for example:<br />
<br />
$ '''chmod u+x PulseView-NIGHTLY-x86_64.AppImage'''<br />
$ '''./PulseView-NIGHTLY-x86_64.AppImage'''<br />
<br />
You might need to install the libsigrok '''udev rules files''' to be able to access some devices. See ''[[Building#Cannot access USB .2F serial .2F other device|Cannot access USB / serial / other device]]'' for details.<br />
<br />
== Building (script, recommended) ==<br />
<br />
The most convenient method to build all of the sigrok subprojects from source is to use the '''sigrok-cross-linux''' script from the [https://sigrok.org/gitweb/?p=sigrok-util.git;a=tree;f=cross-compile/linux sigrok-util] repo. Despite the name, this script also does native builds out of the box.<br />
<br />
The script assumes that you have installed all requirements of all sigrok subprojects. Please check ''[[Building#Build_requirements|Build requirements]]'' for details.<br />
<br />
$ '''git clone git://sigrok.org/sigrok-util'''<br />
$ '''cd sigrok-util/cross-compile/linux'''<br />
$ '''./sigrok-cross-linux'''<br />
<br />
This will download the current git version of all required sigrok subprojects and build them, installing the results in '''$HOME/sr'''. You may want to check out the '''README''' and/or adapt the script to your needs (e.g., if you want to install elsewhere).<br />
<br />
You can use the files from '''$HOME/sr''' using (for example) the [[Building#Installing_to_a_non-standard_directory_using_LD_LIBRARY_PATH|LD_LIBRARY_PATH method]].<br />
<br />
== Building (manually) ==<br />
<br />
<div style="background-color:#ff6666"><br />
'''IMPORTANT''': The following sections on installing build requirements are distro-specific examples and may or may not be out of date, depending on which distro you use. Please check the [[Building#Build_requirements|official build requirements list]] in the wiki or the '''README'''/'''INSTALL''' file (of the subproject you want to build) for the full list of requirements.<br />
</div><br />
<br />
=== libserialport ===<br />
<br />
==== Installing the [[Building#Build_requirements|requirements]] ====<br />
<br />
'''Debian/Ubuntu/Mint'''<br />
$ '''sudo apt-get install git-core gcc make autoconf automake libtool'''<br />
<br />
'''Fedora'''<br />
$ '''sudo yum install git-core gcc make autoconf automake libtool'''<br />
<br />
'''Arch'''<br />
$ '''sudo pacman -S git gcc make autoconf automake libtool'''<br />
<br />
==== Building ====<br />
<br />
$ '''git clone git://sigrok.org/libserialport'''<br />
$ '''cd libserialport'''<br />
$ '''./autogen.sh'''<br />
$ '''./configure'''<br />
$ '''make'''<br />
$ '''sudo make install'''<br />
<br />
=== libsigrok ===<br />
<br />
==== Installing the [[Building#Build_requirements|requirements]] ====<br />
<br />
'''Debian/Ubuntu/Mint'''<br />
<br />
$ '''sudo apt-get install git-core gcc g++ make autoconf autoconf-archive \'''<br />
'''automake libtool pkg-config libglib2.0-dev libglibmm-2.4-dev libzip-dev \'''<br />
'''libusb-1.0-0-dev libftdi1-dev libieee1284-3-dev libvisa-dev nettle-dev libavahi-client-dev \'''<br />
'''libhidapi-dev check doxygen python-numpy python-dev python-gi-dev python-setuptools swig default-jdk'''<br />
<br />
'''Fedora (18, 19, 20, 21, 22, 23)'''<br />
<br />
$ '''sudo yum install git gcc make autoconf autoconf-archive automake libtool pkgconfig \'''<br />
'''glib2-devel libzip-devel libusb1-devel libftdi-devel libieee1284-devel nettle-devel \'''<br />
'''hidapi-devel check-devel doxygen'''<br />
<br />
:: For C++ bindings, add '''sudo yum install gcc-c++ glibmm24-devel'''<br />
:: For Python bindings, add '''sudo yum install python-devel numpy pygobject3-devel swig'''<br />
:: For Fedora 23, you need as well: '''redhat-rpm-config''' and note that '''libusb1-devel''' is now '''libusbx-devel'''<br />
<br />
'''Arch'''<br />
<br />
$ '''sudo pacman -S git gcc make autoconf autoconf-archive automake libtool \'''<br />
'''pkg-config glib2 glibmm libzip libusb libftdi libieee1284 nettle hidapi check \'''<br />
'''doxygen python-numpy python-setuptools swig jdk8-openjdk'''<br />
<br />
==== Building ====<br />
<br />
$ '''git clone git://sigrok.org/libsigrok'''<br />
$ '''cd libsigrok'''<br />
$ '''./autogen.sh'''<br />
$ '''./configure'''<br />
$ '''make'''<br />
$ '''sudo make install'''<br />
<br />
==== Device access ====<br />
<br />
Please read [[Building#Cannot_access_USB_.2F_serial_.2F_other_device|this FAQ entry]] for any extra steps you may need to take to get your specific device working.<br />
<br />
<div style="background-color:#ff6666"><br />
Please see the [[Building#FAQ|building FAQ]] if you are sure that you installed all requirements properly but still encounter some issues.<br />
</div><br />
<br />
=== libsigrokdecode ===<br />
<br />
==== Installing the [[Building#Build_requirements|requirements]] ====<br />
<br />
'''Debian/Ubuntu/Mint'''<br />
$ '''sudo apt-get install git-core gcc make autoconf automake libtool pkg-config libglib2.0-dev python3-dev'''<br />
<br />
'''Fedora (18, 19, 20)'''<br />
$ '''sudo yum install git gcc make autoconf automake libtool pkgconfig glib2-devel python3-devel check-devel'''<br />
<br />
'''Arch'''<br />
$ '''sudo pacman -S git gcc make autoconf automake libtool pkgconfig glib2 python check'''<br />
<br />
==== Building ====<br />
<br />
$ '''git clone git://sigrok.org/libsigrokdecode'''<br />
$ '''cd libsigrokdecode'''<br />
$ '''./autogen.sh'''<br />
$ '''./configure'''<br />
$ '''make'''<br />
$ '''sudo make install'''<br />
<br />
=== sigrok-cli ===<br />
<br />
==== Installing the [[Building#Build_requirements|requirements]] ====<br />
<br />
'''Debian/Ubuntu/Mint'''<br />
$ '''sudo apt-get install git-core gcc make autoconf automake libtool pkg-config libglib2.0-dev'''<br />
<br />
'''Fedora (18, 19)'''<br />
$ '''sudo yum install git gcc make autoconf automake libtool pkgconfig glib2-devel'''<br />
<br />
'''OpenSuse'''<br />
$ '''sudo zypper install git gcc make autoconf automake libtool pkgconfig glib2-devel'''<br />
<br />
'''Arch'''<br />
$ '''sudo pacman -S git gcc make autoconf automake libtool pkgconfig glib2'''<br />
<br />
==== Building ====<br />
<br />
$ '''git clone git://sigrok.org/sigrok-cli'''<br />
$ '''cd sigrok-cli'''<br />
$ '''./autogen.sh'''<br />
$ '''./configure'''<br />
$ '''make'''<br />
$ '''sudo make install'''<br />
<br />
=== PulseView ===<br />
<br />
==== Installing the [[Building#Build_requirements|requirements]] ====<br />
<br />
'''Debian/Ubuntu/Mint'''<br />
$ '''sudo apt-get install git-core g++ make cmake libtool pkg-config \'''<br />
'''libglib2.0-dev libboost-test-dev libboost-serialization-dev \'''<br />
'''libboost-filesystem-dev libboost-system-dev libqt5svg5-dev qtbase5-dev\'''<br />
'''qttools5-dev-tools'''<br />
<br />
'''Fedora (18, 19, 23, 27)'''<br />
$ '''sudo yum install git gcc cmake libtool pkgconfig glib2-devel \'''<br />
'''boost-devel qt5-devel'''<br />
<br />
'''Arch'''<br />
$ '''sudo pacman -S git gcc make cmake libtool pkgconfig glib2 boost qt5 \'''<br />
'''qt5-base qt5-svg'''<br />
<br />
==== Building ====<br />
<br />
$ '''git clone git://sigrok.org/pulseview'''<br />
$ '''cd pulseview'''<br />
$ '''cmake .'''<br />
$ '''make'''<br />
$ '''sudo make install'''<br />
<br />
==== Troubleshooting ====<br />
<br />
See the [[PulseView#Building|PulseView build notes]] for more tips and FAQs.<br />
<br />
=== SmuView ===<br />
<br />
==== Installing the [[Building#Build_requirements|requirements]] ====<br />
<br />
'''Debian/Ubuntu/Mint'''<br />
$ '''sudo apt-get install git-core g++ make cmake libtool pkg-config \'''<br />
'''libglib2.0-dev libboost-dev python3-dev libqt5svg5-dev qtbase5-dev \'''<br />
'''libqwt-qt5-dev'''<br />
<br />
'''Fedora (18, 19, 23, 27, 32)'''<br />
$ '''sudo yum install git gcc cmake libtool pkgconfig glib2-devel boost-devel\'''<br />
'''python3-devel qt5-qtbase-devel qt5-qtsvg-devel qwt-qt5-devel'''<br />
<br />
'''Arch'''<br />
$ '''sudo pacman -S git gcc make cmake libtool pkgconfig glib2 boost \'''<br />
'''python qt5 qt5-base qt5-svg qwt'''<br />
<br />
==== Building ====<br />
<br />
$ '''git clone https://github.com/knarfS/smuview'''<br />
$ '''cd smuview'''<br />
$ '''mkdir build'''<br />
$ '''cd build'''<br />
$ '''cmake ../'''<br />
$ '''make'''<br />
$ '''sudo make install'''<br />
<br />
==== Troubleshooting ====<br />
<br />
See the [[SmuView#Building|SmuView build notes]] for more tips and FAQs.<br />
<br />
== FAQ ==<br />
<br />
Make sure to also see the [[Building#FAQ|Building FAQ]] for subjects that are not specific to Linux.<br />
<br />
=== Cannot open shared object file: No such file or directory ===<br />
<br />
See [[Building#Cannot_open_shared_object_file:_No_such_file_or_directory|here]].<br />
<br />
=== TEST FAILED: .../lib/python2.7/site-packages/ does NOT support .pth files ===<br />
<br />
See [[Building#TEST_FAILED:_....2Flib.2Fpython2.7.2Fsite-packages.2F_does_NOT_support_.pth_files|here]].<br />
<br />
=== Cannot access USB / serial / other device ===<br />
<br />
See [[Building#Cannot_access_USB_.2F_serial_.2F_other_device|here]].<br />
<br />
=== Required library not found ===<br />
<br />
See [[Building#Required_library_not_found|here]].</div>
Abraxa
https://sigrok.org/w/index.php?title=Downloads&diff=16586
Downloads
2023-09-06T20:26:23Z
<p>Abraxa: </p>
<hr />
<div><div style="font-size:150%; background-color: #FFAA00; border: 1px solid #FF0000; padding: 1em;">'''NOTE:''' Currently, some of the nightly download links below are broken and potentially outdated due to issues with the build server. We're working on it with highest priority and apologize for the inconvenience.<br />
<br />
If you need an up-to-date build we recommend building from source.</div><br />
<br />
{| border="0" width="100%" style="white-space: margin: 0em; margin-bottom: 2em; border-width: 1em; align:center; vertical-align: top"<br />
|-<br />
!Linux<br />
!Windows<br />
!Mac OS X<br />
!Other<br />
<br />
|-<br />
! colspan="4" | {{Rounded_corners|url=https://sigrok.org/wiki/Downloads|bgcolor=#aaaaaa|text=Nightly builds (recommended, always up-to-date)}}<br />
<br />
|- style="background-color: white"<br />
<br />
| style="width:20%; vertical-align: top" |<br />
<br />
{{Rounded_corners|url=https://sigrok.org/download/binary/pulseview/PulseView-NIGHTLY-i686.AppImage|text=PulseView (32bit)}}<br />
<br />
{{Rounded_corners|url=https://sigrok.org/download/binary/pulseview/PulseView-NIGHTLY-x86_64.AppImage|text=PulseView (64bit)}}<br />
<br />
{{Rounded_corners|url=https://sigrok.org/download/binary/sigrok-cli/sigrok-cli-NIGHTLY-i686.AppImage|text=sigrok-cli (32bit)}}<br />
<br />
{{Rounded_corners|url=https://sigrok.org/download/binary/sigrok-cli/sigrok-cli-NIGHTLY-x86_64.AppImage|text=sigrok-cli (64bit)}}<br />
<br />
| style="width:20%; vertical-align: top" |<br />
<br />
{{Rounded_corners|url=https://sigrok.org/download/binary/pulseview/pulseview-NIGHTLY-32bit-static-release-installer.exe|text=PulseView (32bit)}}<br />
<br />
{{Rounded_corners|url=https://sigrok.org/download/binary/pulseview/pulseview-NIGHTLY-64bit-static-release-installer.exe|text=PulseView (64bit)}}<br />
<br />
{{Rounded_corners|url=https://sigrok.org/download/binary/sigrok-cli/sigrok-cli-NIGHTLY-32bit-static-release-installer.exe|text=sigrok-cli (32bit)}}<br />
<br />
{{Rounded_corners|url=https://sigrok.org/download/binary/sigrok-cli/sigrok-cli-NIGHTLY-64bit-static-release-installer.exe|text=sigrok-cli (64bit)}}<br />
<br />
| style="width:20%; vertical-align: top" |<br />
<br />
{{Rounded_corners|url=https://sigrok.org/download/binary/pulseview/PulseView-NIGHTLY.dmg|text=PulseView (64bit)}}<br />
<br />
{{Rounded_corners|url=https://sigrok.org/download/binary/sigrok-cli/sigrok-cli-NIGHTLY.dmg|text=sigrok-cli (64bit)}}<br />
<br />
| style="width:20%; vertical-align: top; text-align: center" |<br />
<br />
{{Rounded_corners|url=https://sigrok.org/wiki/Downloads#Releases|text=See below}}<br />
<br />
|-<br />
!colspan="4" | {{Rounded_corners|url=https://sigrok.org/wiki/Downloads|bgcolor=#aaaaaa|text=Release builds (usually older than nightly builds, might be missing features or bugfixes)}}<br />
<br />
|- style="background-color: white"<br />
<br />
| style="width:20%; vertical-align: top" |<br />
<br />
{{Rounded_corners|url=https://sigrok.org/download/binary/pulseview/PulseView-0.4.2-i386.AppImage|text=PulseView 0.4.2 (32bit)}}<br />
<br />
{{Rounded_corners|url=https://sigrok.org/download/binary/pulseview/PulseView-0.4.2-x86_64.AppImage|text=PulseView 0.4.2 (64bit)}}<br />
<br />
{{Rounded_corners|url=https://sigrok.org/download/binary/sigrok-cli/sigrok-cli-0.7.2-i386.AppImage|text=sigrok-cli 0.7.2 (32bit)}}<br />
<br />
{{Rounded_corners|url=https://sigrok.org/download/binary/sigrok-cli/sigrok-cli-0.7.2-x86_64.AppImage|text=sigrok-cli 0.7.2 (64bit)}}<br />
<br />
| style="width:20%; vertical-align: top" |<br />
<br />
{{Rounded_corners|url=https://sigrok.org/download/binary/pulseview/pulseview-0.4.2-32bit-static-release-installer.exe|text=PulseView 0.4.2 (32bit)}}<br />
<br />
{{Rounded_corners|url=https://sigrok.org/download/binary/pulseview/pulseview-0.4.2-64bit-static-release-installer.exe|text=PulseView 0.4.2 (64bit)}}<br />
<br />
{{Rounded_corners|url=https://sigrok.org/download/binary/sigrok-cli/sigrok-cli-0.7.2-i686-installer.exe|text=sigrok-cli 0.7.2 (32bit)}}<br />
<br />
{{Rounded_corners|url=https://sigrok.org/download/binary/sigrok-cli/sigrok-cli-0.7.2-x86_64-installer.exe|text=sigrok-cli 0.7.2 (64bit)}}<br />
<br />
| style="width:20%; vertical-align: top" |<br />
<br />
{{Rounded_corners|url=https://sigrok.org/download/binary/pulseview/PulseView-0.4.2.dmg|text=PulseView 0.4.2 (64bit)}}<br />
<br />
| style="width:20%; vertical-align: top; text-align: center" |<br />
<br />
{{Rounded_corners|url=https://sigrok.org/wiki/Downloads#Releases|text=See below}}<br />
<br />
|- style="background-color: white; vertical-align: top;"<br />
<br />
| style="text-align:center" | <em><small>Requires a Linux distro more recent than '''Ubuntu 16.04 LTS (Xenial Xerus)''' from 2016.</small></em><br />
| style="text-align:center" | <em><small>Requires '''Windows XP''' or higher.</small></em><br />
| style="text-align:center" | <em><small>Requires '''OS X 10.9 (Mavericks)''' or higher.</small></em><br />
| style="text-align:center" | <em><small>See below for other download options (Android, FreeBSD, source code, etc.).</small></em><br />
<br />
|}<br />
<br />
== Releases ==<br />
<br />
You can download the latest released tarballs of the following subprojects from [https://sigrok.org/download/ the sigrok.org download directory]:<br />
<br />
{| border="0" style="font-size: smaller; white-space: nowrap;" class="alternategrey sigroktable"<br />
|-<br />
!Project<br />
!Release/download<br />
!News<br />
<br />
|-<br />
| [[libserialport]]<br />
| [https://sigrok.org/download/source/libserialport/libserialport-0.1.1.tar.gz libserialport-0.1.1.tar.gz]<br />
| [https://sigrok.org/gitweb/?p=libserialport.git;a=blob;f=NEWS;hb=HEAD release notes]<br />
<br />
|-<br />
| [[libsigrok]]<br />
| [https://sigrok.org/download/source/libsigrok/libsigrok-0.5.2.tar.gz libsigrok-0.5.2.tar.gz]<br />
| [https://sigrok.org/gitweb/?p=libsigrok.git;a=blob;f=NEWS;h=60de6e341b7289cfb99883a94b0c921a4b79b008;hb=a6b07d7e28fe445afccf36922ef7d20e63e54fe6 release notes]<br />
<br />
|-<br />
| [[libsigrokdecode]]<br />
| [https://sigrok.org/download/source/libsigrokdecode/libsigrokdecode-0.5.3.tar.gz libsigrokdecode-0.5.3.tar.gz]<br />
| [https://sigrok.org/gitweb/?p=libsigrokdecode.git;a=blob;f=NEWS;h=f61727f8c75edf52e1f306983070a5eda629fd2e;hb=97991a3919da6a07c4c87308ae66fb441bd512e3 release notes]<br />
<br />
|-<br />
| [[sigrok-cli]]<br />
| [https://sigrok.org/download/source/sigrok-cli/sigrok-cli-0.7.2.tar.gz sigrok-cli-0.7.2.tar.gz]<br />
| [https://sigrok.org/gitweb/?p=sigrok-cli.git;a=blob;f=NEWS;h=e80dad6392501dd16e4fdc87836d443474e2eed9;hb=b584f959edb788f1731d5a304badf241ac21bf65 release notes]<br />
<br />
|-<br />
| [[PulseView]]<br />
| [https://sigrok.org/download/source/pulseview/pulseview-0.4.2.tar.gz pulseview-0.4.2.tar.gz]<br />
| [https://sigrok.org/gitweb/?p=pulseview.git;a=blob;f=NEWS;h=b20f14aebe4bd890a6bd92323e043b3540cb6629;hb=2b526a42a2fd68d513d4c2061790605a0c7add6c release notes]<br />
<br />
|-<br />
| [[fx2lafw|sigrok-firmware-fx2lafw]] (source code)<br />
| [https://sigrok.org/download/source/sigrok-firmware-fx2lafw/sigrok-firmware-fx2lafw-0.1.7.tar.gz sigrok-firmware-fx2lafw-0.1.7.tar.gz]<br />
| [https://sigrok.org/gitweb/?p=sigrok-firmware-fx2lafw.git;a=blob;f=NEWS;hb=HEAD release notes]<br />
<br />
|-<br />
| [[fx2lafw|sigrok-firmware-fx2lafw]] (prebuilt firmware)<br />
| [https://sigrok.org/download/binary/sigrok-firmware-fx2lafw/sigrok-firmware-fx2lafw-bin-0.1.7.tar.gz sigrok-firmware-fx2lafw-bin-0.1.7.tar.gz]<br />
| [https://sigrok.org/gitweb/?p=sigrok-firmware-fx2lafw.git;a=blob;f=NEWS;hb=HEAD release notes]<br />
<br />
|}<br />
<br />
== Binaries and distribution packages ==<br />
<br />
=== Linux AppImage binaries ===<br />
<br />
* Nightly AppImage binaries (require a Linux distro more recent than Ubuntu 16.04 LTS Xenial Xerus from 2016):<br />
** [https://sigrok.org/download/binary/pulseview/PulseView-NIGHTLY-i686.AppImage PulseView-NIGHTLY-i686.AppImage] (32bit)<br />
** [https://sigrok.org/download/binary/pulseview/PulseView-NIGHTLY-x86_64.AppImage PulseView-NIGHTLY-x86_64.AppImage] (64bit)<br />
** [https://sigrok.org/download/binary/sigrok-cli/sigrok-cli-NIGHTLY-i686.AppImage sigrok-cli-NIGHTLY-i686.AppImage] (32bit)<br />
** [https://sigrok.org/download/binary/sigrok-cli/sigrok-cli-NIGHTLY-x86_64.AppImage sigrok-cli-NIGHTLY-x86_64.AppImage] (64bit)<br />
* Download the correct (32bit or 64bit) AppImage file for your Linux system, make the file executable via "'''chmod +x'''" and then run it.<br />
* If you want to access hardware, please install the [https://sigrok.org/gitweb/?p=libsigrok.git;a=tree;f=contrib udev rules] on your system and reload the rules using "udevadm control --reload-rules && udevadm trigger".<br />
* See also [[Linux#AppImage|Linux]] for more information.<br />
<br />
=== Linux distribution packages ===<br />
<br />
* '''Debian:''' [https://packages.qa.debian.org/s/sigrok.html sigrok] (pulls [https://packages.qa.debian.org/libs/libserialport.html libserialport], [https://packages.qa.debian.org/libs/libsigrok.html libsigrok], [https://packages.qa.debian.org/libs/libsigrokdecode.html libsigrokdecode], [https://packages.qa.debian.org/s/sigrok-cli.html sigrok-cli], [https://packages.qa.debian.org/p/pulseview.html pulseview], [https://packages.qa.debian.org/s/sigrok-firmware-fx2lafw.html sigrok-firmware-fx2lafw])<br />
* '''Ubuntu:''' [https://launchpad.net/ubuntu/+source/sigrok sigrok] (pulls [https://launchpad.net/ubuntu/+source/libserialport libserialport], [https://launchpad.net/ubuntu/+source/libsigrok libsigrok], [https://launchpad.net/ubuntu/+source/libsigrokdecode libsigrokdecode], [https://launchpad.net/ubuntu/+source/sigrok-cli sigrok-cli], [https://launchpad.net/ubuntu/+source/pulseview pulseview], [https://launchpad.net/ubuntu/+source/sigrok-firmware-fx2lafw sigrok-firmware-fx2lafw])<br />
* '''Arch Linux:''' [https://aur.archlinux.org/packages.php?O=0&K=sigrok&do_Search=Go AUR (Arch Linux User Repository)], [https://aur.archlinux.org/packages/libserialport-git/ libserialport], [https://aur.archlinux.org/packages/libsigrok-git/ libsigrok], [https://aur.archlinux.org/packages/libsigrokdecode-git/ libsigrokdecode], [https://aur.archlinux.org/packages/sigrok-cli/ sigrok-cli], [https://aur.archlinux.org/packages/pulseview-git/ pulseview], [https://aur.archlinux.org/packages/sigrok-firmware-fx2lafw/ sigrok-firmware-fx2lafw]<br />
* '''Slackware:''' [https://slackbuilds.org/apps/libserialport/ libserialport], [https://slackbuilds.org/apps/libsigrok/ libsigrok], [https://slackbuilds.org/apps/libsigrokdecode/ libsigrokdecode], [https://slackbuilds.org/apps/sigrok-cli/ sigrok-cli], [https://slackbuilds.org/apps/pulseview/ pulseview], [https://slackbuilds.org/apps/sigrok-firmware-fx2lafw/ sigrok-firmware-fx2lafw]<br />
* '''Fedora:''' [https://src.fedoraproject.org/cgit/rpms/libserialport.git/ libserialport], [https://src.fedoraproject.org/cgit/rpms/libsigrok.git/ libsigrok], [https://src.fedoraproject.org/cgit/rpms/libsigrokdecode.git/ libsigrokdecode], [https://src.fedoraproject.org/cgit/rpms/sigrok-cli.git/ sigrok-cli], [https://src.fedoraproject.org/cgit/rpms/pulseview.git/ pulseview], [https://src.fedoraproject.org/cgit/rpms/sigrok-firmware-fx2lafw.git/ sigrok-firmware-fx2lafw], [https://src.fedoraproject.org/cgit/rpms/sigrok-firmware.git/ sigrok-firmware]<br />
* '''Gentoo:''' [https://packages.gentoo.org/package/dev-libs/libserialport libserialport], [https://packages.gentoo.org/package/sci-libs/libsigrok libsigrok], [https://packages.gentoo.org/package/sci-libs/libsigrokdecode libsigrokdecode], [https://packages.gentoo.org/package/sci-electronics/sigrok-cli sigrok-cli], [https://packages.gentoo.org/package/sci-electronics/pulseview pulseview], [https://packages.gentoo.org/package/sys-firmware/sigrok-firmware-fx2lafw sigrok-firmware-fx2lafw]<br />
* '''openSUSE:''' Latest stable versions are included in Tumbleweed. Leap includes the latest stable version at time of release, newer versions are available from the [https://download.opensuse.org/repositories/electronics/ "electronics" repository], created by the [https://build.opensuse.org/project/show/electronics OpenBuildService (OBS)].<br />
** '''openSUSE weekly GIT:''' [https://download.opensuse.org/repositories/home:/StefanBruens:/branches:/electronics:/GIT/ Repositories], [https://build.opensuse.org/project/show/home:StefanBruens:branches:electronics:GIT OBS Project]<br />
<br />
=== Windows ===<br />
<span id="Windows_Download"><br />
<br />
* Nightly installer binaries (require Windows XP or higher):<br />
** [https://sigrok.org/download/binary/pulseview/pulseview-NIGHTLY-32bit-static-release-installer.exe pulseview-NIGHTLY-32bit-static-release-installer.exe] ([https://sigrok.org/download/binary/pulseview/pulseview-NIGHTLY-32bit-static-debug-installer.exe debug build])<br />
** [https://sigrok.org/download/binary/pulseview/pulseview-NIGHTLY-64bit-static-release-installer.exe pulseview-NIGHTLY-64bit-static-release-installer.exe] ([https://sigrok.org/download/binary/pulseview/pulseview-NIGHTLY-64bit-static-debug-installer.exe debug build])<br />
** [https://sigrok.org/download/binary/sigrok-cli/sigrok-cli-NIGHTLY-32bit-static-release-installer.exe sigrok-cli-NIGHTLY-32bit-static-release-installer.exe] ([https://sigrok.org/download/binary/sigrok-cli/sigrok-cli-NIGHTLY-32bit-static-debug-installer.exe debug build])<br />
** [https://sigrok.org/download/binary/sigrok-cli/sigrok-cli-NIGHTLY-64bit-static-release-installer.exe sigrok-cli-NIGHTLY-64bit-static-release-installer.exe] ([https://sigrok.org/download/binary/sigrok-cli/sigrok-cli-NIGHTLY-64bit-static-debug-installer.exe debug build])<br />
* See also [[Windows#Windows_installers|Windows]] for more information.<br />
<br />
=== Mac OS X ===<br />
<br />
* Nightly DMG binaries (64&nbsp;bit x86 only; require OS X 10.9 Mavericks or higher):<br />
** [https://sigrok.org/download/binary/pulseview/PulseView-NIGHTLY.dmg PulseView-NIGHTLY.dmg]<br />
** [https://sigrok.org/download/binary/sigrok-cli/sigrok-cli-NIGHTLY.dmg sigrok-cli-NIGHTLY.dmg]<br />
* See also [[Mac OS X]] for more information.<br />
<br />
=== FreeBSD ===<br />
<br />
* [https://www.freshports.org/devel/libserialport/ libserialport], [https://www.freshports.org/devel/libsigrok/ libsigrok], [https://www.freshports.org/devel/libsigrokdecode/ libsigrokdecode], [https://www.freshports.org/science/sigrok-cli/ sigrok-cli], [https://www.freshports.org/science/pulseview/ pulseview], [https://www.freshports.org/science/sigrok-firmware-fx2lafw/ sigrok-firmware-fx2lafw], [https://www.freshports.org/science/sigrok-firmware/ sigrok-firmware], [https://www.freshports.org/science/sigrok-firmware-utils/ sigrok-firmware-utils]<br />
<br />
=== OpenBSD ===<br />
<br />
* [https://cvsweb.openbsd.org/ports/comms/sigrok/libserialport/ libserialport], [https://cvsweb.openbsd.org/ports/comms/sigrok/libsigrok/ libsigrok], [https://cvsweb.openbsd.org/ports/comms/sigrok/libsigrokdecode/ libsigrokdecode], [https://cvsweb.openbsd.org/ports/comms/sigrok/sigrok-cli/ sigrok-cli], [https://cvsweb.openbsd.org/ports/comms/sigrok/pulseview/ pulseview], [https://cvsweb.openbsd.org/ports/comms/sigrok/sigrok-dumps/ sigrok-dumps], [https://cvsweb.openbsd.org/ports/comms/sigrok/sigrok-firmware-fx2lafw/ sigrok-firmware-fx2lafw]<br />
<br />
=== Android ===<br />
<br />
* Nightly APK binaries:<br />
** [https://sigrok.org/jenkins/job/sigrok-cross-android/platform=cross-arm-linux-androideabi/lastSuccessfulBuild/artifact/PulseView-NIGHTLY.apk PulseView-NIGHTLY.apk (ARM)]<br />
* See also [[Android]] for more information.<br />
<br />
== Source code ==<br />
<br />
The development is done in various [https://sigrok.org/gitweb/ git repositories].<br />
<br />
See [[Building]] for build instructions.<br />
<br />
== Example data ==<br />
<br />
See the [[Example dumps]] wiki page.<br />
<br />
== Firmware files ==<br />
<br />
See the [[Firmware]] wiki page.</div>
Abraxa
https://sigrok.org/w/index.php?title=Downloads&diff=16585
Downloads
2023-09-06T20:25:03Z
<p>Abraxa: </p>
<hr />
<div><div style="font-size:150%; background-color: #FFAA00; border: 1px solid #FF0000; padding: 1em;">'''NOTE:''' Currently, some of the nightly download links below are broken due to issues with the build server. We're working on it with highest priority and apologize for the inconvenience.<br />
<br />
If you need an up-to-date build we recommend building from source.</div><br />
<br />
{| border="0" width="100%" style="white-space: margin: 0em; margin-bottom: 2em; border-width: 1em; align:center; vertical-align: top"<br />
|-<br />
!Linux<br />
!Windows<br />
!Mac OS X<br />
!Other<br />
<br />
|-<br />
! colspan="4" | {{Rounded_corners|url=https://sigrok.org/wiki/Downloads|bgcolor=#aaaaaa|text=Nightly builds (recommended, always up-to-date)}}<br />
<br />
|- style="background-color: white"<br />
<br />
| style="width:20%; vertical-align: top" |<br />
<br />
{{Rounded_corners|url=https://sigrok.org/download/binary/pulseview/PulseView-NIGHTLY-i686.AppImage|text=PulseView (32bit)}}<br />
<br />
{{Rounded_corners|url=https://sigrok.org/download/binary/pulseview/PulseView-NIGHTLY-x86_64.AppImage|text=PulseView (64bit)}}<br />
<br />
{{Rounded_corners|url=https://sigrok.org/download/binary/sigrok-cli/sigrok-cli-NIGHTLY-i686.AppImage|text=sigrok-cli (32bit)}}<br />
<br />
{{Rounded_corners|url=https://sigrok.org/download/binary/sigrok-cli/sigrok-cli-NIGHTLY-x86_64.AppImage|text=sigrok-cli (64bit)}}<br />
<br />
| style="width:20%; vertical-align: top" |<br />
<br />
{{Rounded_corners|url=https://sigrok.org/download/binary/pulseview/pulseview-NIGHTLY-32bit-static-release-installer.exe|text=PulseView (32bit)}}<br />
<br />
{{Rounded_corners|url=https://sigrok.org/download/binary/pulseview/pulseview-NIGHTLY-64bit-static-release-installer.exe|text=PulseView (64bit)}}<br />
<br />
{{Rounded_corners|url=https://sigrok.org/download/binary/sigrok-cli/sigrok-cli-NIGHTLY-32bit-static-release-installer.exe|text=sigrok-cli (32bit)}}<br />
<br />
{{Rounded_corners|url=https://sigrok.org/download/binary/sigrok-cli/sigrok-cli-NIGHTLY-64bit-static-release-installer.exe|text=sigrok-cli (64bit)}}<br />
<br />
| style="width:20%; vertical-align: top" |<br />
<br />
{{Rounded_corners|url=https://sigrok.org/download/binary/pulseview/PulseView-NIGHTLY.dmg|text=PulseView (64bit)}}<br />
<br />
{{Rounded_corners|url=https://sigrok.org/download/binary/sigrok-cli/sigrok-cli-NIGHTLY.dmg|text=sigrok-cli (64bit)}}<br />
<br />
| style="width:20%; vertical-align: top; text-align: center" |<br />
<br />
{{Rounded_corners|url=https://sigrok.org/wiki/Downloads#Releases|text=See below}}<br />
<br />
|-<br />
!colspan="4" | {{Rounded_corners|url=https://sigrok.org/wiki/Downloads|bgcolor=#aaaaaa|text=Release builds (usually older than nightly builds, might be missing features or bugfixes)}}<br />
<br />
|- style="background-color: white"<br />
<br />
| style="width:20%; vertical-align: top" |<br />
<br />
{{Rounded_corners|url=https://sigrok.org/download/binary/pulseview/PulseView-0.4.2-i386.AppImage|text=PulseView 0.4.2 (32bit)}}<br />
<br />
{{Rounded_corners|url=https://sigrok.org/download/binary/pulseview/PulseView-0.4.2-x86_64.AppImage|text=PulseView 0.4.2 (64bit)}}<br />
<br />
{{Rounded_corners|url=https://sigrok.org/download/binary/sigrok-cli/sigrok-cli-0.7.2-i386.AppImage|text=sigrok-cli 0.7.2 (32bit)}}<br />
<br />
{{Rounded_corners|url=https://sigrok.org/download/binary/sigrok-cli/sigrok-cli-0.7.2-x86_64.AppImage|text=sigrok-cli 0.7.2 (64bit)}}<br />
<br />
| style="width:20%; vertical-align: top" |<br />
<br />
{{Rounded_corners|url=https://sigrok.org/download/binary/pulseview/pulseview-0.4.2-32bit-static-release-installer.exe|text=PulseView 0.4.2 (32bit)}}<br />
<br />
{{Rounded_corners|url=https://sigrok.org/download/binary/pulseview/pulseview-0.4.2-64bit-static-release-installer.exe|text=PulseView 0.4.2 (64bit)}}<br />
<br />
{{Rounded_corners|url=https://sigrok.org/download/binary/sigrok-cli/sigrok-cli-0.7.2-i686-installer.exe|text=sigrok-cli 0.7.2 (32bit)}}<br />
<br />
{{Rounded_corners|url=https://sigrok.org/download/binary/sigrok-cli/sigrok-cli-0.7.2-x86_64-installer.exe|text=sigrok-cli 0.7.2 (64bit)}}<br />
<br />
| style="width:20%; vertical-align: top" |<br />
<br />
{{Rounded_corners|url=https://sigrok.org/download/binary/pulseview/PulseView-0.4.2.dmg|text=PulseView 0.4.2 (64bit)}}<br />
<br />
| style="width:20%; vertical-align: top; text-align: center" |<br />
<br />
{{Rounded_corners|url=https://sigrok.org/wiki/Downloads#Releases|text=See below}}<br />
<br />
|- style="background-color: white; vertical-align: top;"<br />
<br />
| style="text-align:center" | <em><small>Requires a Linux distro more recent than '''Ubuntu 16.04 LTS (Xenial Xerus)''' from 2016.</small></em><br />
| style="text-align:center" | <em><small>Requires '''Windows XP''' or higher.</small></em><br />
| style="text-align:center" | <em><small>Requires '''OS X 10.9 (Mavericks)''' or higher.</small></em><br />
| style="text-align:center" | <em><small>See below for other download options (Android, FreeBSD, source code, etc.).</small></em><br />
<br />
|}<br />
<br />
== Releases ==<br />
<br />
You can download the latest released tarballs of the following subprojects from [https://sigrok.org/download/ the sigrok.org download directory]:<br />
<br />
{| border="0" style="font-size: smaller; white-space: nowrap;" class="alternategrey sigroktable"<br />
|-<br />
!Project<br />
!Release/download<br />
!News<br />
<br />
|-<br />
| [[libserialport]]<br />
| [https://sigrok.org/download/source/libserialport/libserialport-0.1.1.tar.gz libserialport-0.1.1.tar.gz]<br />
| [https://sigrok.org/gitweb/?p=libserialport.git;a=blob;f=NEWS;hb=HEAD release notes]<br />
<br />
|-<br />
| [[libsigrok]]<br />
| [https://sigrok.org/download/source/libsigrok/libsigrok-0.5.2.tar.gz libsigrok-0.5.2.tar.gz]<br />
| [https://sigrok.org/gitweb/?p=libsigrok.git;a=blob;f=NEWS;h=60de6e341b7289cfb99883a94b0c921a4b79b008;hb=a6b07d7e28fe445afccf36922ef7d20e63e54fe6 release notes]<br />
<br />
|-<br />
| [[libsigrokdecode]]<br />
| [https://sigrok.org/download/source/libsigrokdecode/libsigrokdecode-0.5.3.tar.gz libsigrokdecode-0.5.3.tar.gz]<br />
| [https://sigrok.org/gitweb/?p=libsigrokdecode.git;a=blob;f=NEWS;h=f61727f8c75edf52e1f306983070a5eda629fd2e;hb=97991a3919da6a07c4c87308ae66fb441bd512e3 release notes]<br />
<br />
|-<br />
| [[sigrok-cli]]<br />
| [https://sigrok.org/download/source/sigrok-cli/sigrok-cli-0.7.2.tar.gz sigrok-cli-0.7.2.tar.gz]<br />
| [https://sigrok.org/gitweb/?p=sigrok-cli.git;a=blob;f=NEWS;h=e80dad6392501dd16e4fdc87836d443474e2eed9;hb=b584f959edb788f1731d5a304badf241ac21bf65 release notes]<br />
<br />
|-<br />
| [[PulseView]]<br />
| [https://sigrok.org/download/source/pulseview/pulseview-0.4.2.tar.gz pulseview-0.4.2.tar.gz]<br />
| [https://sigrok.org/gitweb/?p=pulseview.git;a=blob;f=NEWS;h=b20f14aebe4bd890a6bd92323e043b3540cb6629;hb=2b526a42a2fd68d513d4c2061790605a0c7add6c release notes]<br />
<br />
|-<br />
| [[fx2lafw|sigrok-firmware-fx2lafw]] (source code)<br />
| [https://sigrok.org/download/source/sigrok-firmware-fx2lafw/sigrok-firmware-fx2lafw-0.1.7.tar.gz sigrok-firmware-fx2lafw-0.1.7.tar.gz]<br />
| [https://sigrok.org/gitweb/?p=sigrok-firmware-fx2lafw.git;a=blob;f=NEWS;hb=HEAD release notes]<br />
<br />
|-<br />
| [[fx2lafw|sigrok-firmware-fx2lafw]] (prebuilt firmware)<br />
| [https://sigrok.org/download/binary/sigrok-firmware-fx2lafw/sigrok-firmware-fx2lafw-bin-0.1.7.tar.gz sigrok-firmware-fx2lafw-bin-0.1.7.tar.gz]<br />
| [https://sigrok.org/gitweb/?p=sigrok-firmware-fx2lafw.git;a=blob;f=NEWS;hb=HEAD release notes]<br />
<br />
|}<br />
<br />
== Binaries and distribution packages ==<br />
<br />
=== Linux AppImage binaries ===<br />
<br />
* Nightly AppImage binaries (require a Linux distro more recent than Ubuntu 16.04 LTS Xenial Xerus from 2016):<br />
** [https://sigrok.org/download/binary/pulseview/PulseView-NIGHTLY-i686.AppImage PulseView-NIGHTLY-i686.AppImage] (32bit)<br />
** [https://sigrok.org/download/binary/pulseview/PulseView-NIGHTLY-x86_64.AppImage PulseView-NIGHTLY-x86_64.AppImage] (64bit)<br />
** [https://sigrok.org/download/binary/sigrok-cli/sigrok-cli-NIGHTLY-i686.AppImage sigrok-cli-NIGHTLY-i686.AppImage] (32bit)<br />
** [https://sigrok.org/download/binary/sigrok-cli/sigrok-cli-NIGHTLY-x86_64.AppImage sigrok-cli-NIGHTLY-x86_64.AppImage] (64bit)<br />
* Download the correct (32bit or 64bit) AppImage file for your Linux system, make the file executable via "'''chmod +x'''" and then run it.<br />
* If you want to access hardware, please install the [https://sigrok.org/gitweb/?p=libsigrok.git;a=tree;f=contrib udev rules] on your system and reload the rules using "udevadm control --reload-rules && udevadm trigger".<br />
* See also [[Linux#AppImage|Linux]] for more information.<br />
<br />
=== Linux distribution packages ===<br />
<br />
* '''Debian:''' [https://packages.qa.debian.org/s/sigrok.html sigrok] (pulls [https://packages.qa.debian.org/libs/libserialport.html libserialport], [https://packages.qa.debian.org/libs/libsigrok.html libsigrok], [https://packages.qa.debian.org/libs/libsigrokdecode.html libsigrokdecode], [https://packages.qa.debian.org/s/sigrok-cli.html sigrok-cli], [https://packages.qa.debian.org/p/pulseview.html pulseview], [https://packages.qa.debian.org/s/sigrok-firmware-fx2lafw.html sigrok-firmware-fx2lafw])<br />
* '''Ubuntu:''' [https://launchpad.net/ubuntu/+source/sigrok sigrok] (pulls [https://launchpad.net/ubuntu/+source/libserialport libserialport], [https://launchpad.net/ubuntu/+source/libsigrok libsigrok], [https://launchpad.net/ubuntu/+source/libsigrokdecode libsigrokdecode], [https://launchpad.net/ubuntu/+source/sigrok-cli sigrok-cli], [https://launchpad.net/ubuntu/+source/pulseview pulseview], [https://launchpad.net/ubuntu/+source/sigrok-firmware-fx2lafw sigrok-firmware-fx2lafw])<br />
* '''Arch Linux:''' [https://aur.archlinux.org/packages.php?O=0&K=sigrok&do_Search=Go AUR (Arch Linux User Repository)], [https://aur.archlinux.org/packages/libserialport-git/ libserialport], [https://aur.archlinux.org/packages/libsigrok-git/ libsigrok], [https://aur.archlinux.org/packages/libsigrokdecode-git/ libsigrokdecode], [https://aur.archlinux.org/packages/sigrok-cli/ sigrok-cli], [https://aur.archlinux.org/packages/pulseview-git/ pulseview], [https://aur.archlinux.org/packages/sigrok-firmware-fx2lafw/ sigrok-firmware-fx2lafw]<br />
* '''Slackware:''' [https://slackbuilds.org/apps/libserialport/ libserialport], [https://slackbuilds.org/apps/libsigrok/ libsigrok], [https://slackbuilds.org/apps/libsigrokdecode/ libsigrokdecode], [https://slackbuilds.org/apps/sigrok-cli/ sigrok-cli], [https://slackbuilds.org/apps/pulseview/ pulseview], [https://slackbuilds.org/apps/sigrok-firmware-fx2lafw/ sigrok-firmware-fx2lafw]<br />
* '''Fedora:''' [https://src.fedoraproject.org/cgit/rpms/libserialport.git/ libserialport], [https://src.fedoraproject.org/cgit/rpms/libsigrok.git/ libsigrok], [https://src.fedoraproject.org/cgit/rpms/libsigrokdecode.git/ libsigrokdecode], [https://src.fedoraproject.org/cgit/rpms/sigrok-cli.git/ sigrok-cli], [https://src.fedoraproject.org/cgit/rpms/pulseview.git/ pulseview], [https://src.fedoraproject.org/cgit/rpms/sigrok-firmware-fx2lafw.git/ sigrok-firmware-fx2lafw], [https://src.fedoraproject.org/cgit/rpms/sigrok-firmware.git/ sigrok-firmware]<br />
* '''Gentoo:''' [https://packages.gentoo.org/package/dev-libs/libserialport libserialport], [https://packages.gentoo.org/package/sci-libs/libsigrok libsigrok], [https://packages.gentoo.org/package/sci-libs/libsigrokdecode libsigrokdecode], [https://packages.gentoo.org/package/sci-electronics/sigrok-cli sigrok-cli], [https://packages.gentoo.org/package/sci-electronics/pulseview pulseview], [https://packages.gentoo.org/package/sys-firmware/sigrok-firmware-fx2lafw sigrok-firmware-fx2lafw]<br />
* '''openSUSE:''' Latest stable versions are included in Tumbleweed. Leap includes the latest stable version at time of release, newer versions are available from the [https://download.opensuse.org/repositories/electronics/ "electronics" repository], created by the [https://build.opensuse.org/project/show/electronics OpenBuildService (OBS)].<br />
** '''openSUSE weekly GIT:''' [https://download.opensuse.org/repositories/home:/StefanBruens:/branches:/electronics:/GIT/ Repositories], [https://build.opensuse.org/project/show/home:StefanBruens:branches:electronics:GIT OBS Project]<br />
<br />
=== Windows ===<br />
<span id="Windows_Download"><br />
<br />
* Nightly installer binaries (require Windows XP or higher):<br />
** [https://sigrok.org/download/binary/pulseview/pulseview-NIGHTLY-32bit-static-release-installer.exe pulseview-NIGHTLY-32bit-static-release-installer.exe] ([https://sigrok.org/download/binary/pulseview/pulseview-NIGHTLY-32bit-static-debug-installer.exe debug build])<br />
** [https://sigrok.org/download/binary/pulseview/pulseview-NIGHTLY-64bit-static-release-installer.exe pulseview-NIGHTLY-64bit-static-release-installer.exe] ([https://sigrok.org/download/binary/pulseview/pulseview-NIGHTLY-64bit-static-debug-installer.exe debug build])<br />
** [https://sigrok.org/download/binary/sigrok-cli/sigrok-cli-NIGHTLY-32bit-static-release-installer.exe sigrok-cli-NIGHTLY-32bit-static-release-installer.exe] ([https://sigrok.org/download/binary/sigrok-cli/sigrok-cli-NIGHTLY-32bit-static-debug-installer.exe debug build])<br />
** [https://sigrok.org/download/binary/sigrok-cli/sigrok-cli-NIGHTLY-64bit-static-release-installer.exe sigrok-cli-NIGHTLY-64bit-static-release-installer.exe] ([https://sigrok.org/download/binary/sigrok-cli/sigrok-cli-NIGHTLY-64bit-static-debug-installer.exe debug build])<br />
* See also [[Windows#Windows_installers|Windows]] for more information.<br />
<br />
=== Mac OS X ===<br />
<br />
* Nightly DMG binaries (64&nbsp;bit x86 only; require OS X 10.9 Mavericks or higher):<br />
** [https://sigrok.org/download/binary/pulseview/PulseView-NIGHTLY.dmg PulseView-NIGHTLY.dmg]<br />
** [https://sigrok.org/download/binary/sigrok-cli/sigrok-cli-NIGHTLY.dmg sigrok-cli-NIGHTLY.dmg]<br />
* See also [[Mac OS X]] for more information.<br />
<br />
=== FreeBSD ===<br />
<br />
* [https://www.freshports.org/devel/libserialport/ libserialport], [https://www.freshports.org/devel/libsigrok/ libsigrok], [https://www.freshports.org/devel/libsigrokdecode/ libsigrokdecode], [https://www.freshports.org/science/sigrok-cli/ sigrok-cli], [https://www.freshports.org/science/pulseview/ pulseview], [https://www.freshports.org/science/sigrok-firmware-fx2lafw/ sigrok-firmware-fx2lafw], [https://www.freshports.org/science/sigrok-firmware/ sigrok-firmware], [https://www.freshports.org/science/sigrok-firmware-utils/ sigrok-firmware-utils]<br />
<br />
=== OpenBSD ===<br />
<br />
* [https://cvsweb.openbsd.org/ports/comms/sigrok/libserialport/ libserialport], [https://cvsweb.openbsd.org/ports/comms/sigrok/libsigrok/ libsigrok], [https://cvsweb.openbsd.org/ports/comms/sigrok/libsigrokdecode/ libsigrokdecode], [https://cvsweb.openbsd.org/ports/comms/sigrok/sigrok-cli/ sigrok-cli], [https://cvsweb.openbsd.org/ports/comms/sigrok/pulseview/ pulseview], [https://cvsweb.openbsd.org/ports/comms/sigrok/sigrok-dumps/ sigrok-dumps], [https://cvsweb.openbsd.org/ports/comms/sigrok/sigrok-firmware-fx2lafw/ sigrok-firmware-fx2lafw]<br />
<br />
=== Android ===<br />
<br />
* Nightly APK binaries:<br />
** [https://sigrok.org/jenkins/job/sigrok-cross-android/platform=cross-arm-linux-androideabi/lastSuccessfulBuild/artifact/PulseView-NIGHTLY.apk PulseView-NIGHTLY.apk (ARM)]<br />
* See also [[Android]] for more information.<br />
<br />
== Source code ==<br />
<br />
The development is done in various [https://sigrok.org/gitweb/ git repositories].<br />
<br />
See [[Building]] for build instructions.<br />
<br />
== Example data ==<br />
<br />
See the [[Example dumps]] wiki page.<br />
<br />
== Firmware files ==<br />
<br />
See the [[Firmware]] wiki page.</div>
Abraxa
https://sigrok.org/w/index.php?title=Downloads&diff=16584
Downloads
2023-09-06T20:24:24Z
<p>Abraxa: Restore original download URLs</p>
<hr />
<div><div style="font-size:150%; background-color: #FFAA00; border: 1px solid #FF0000; padding: 1em;">'''NOTE:''' Currently, some of the nightly download links below are broken due to issues with the build server. We're working on it with highest priority and apologize for the inconvenience.</div><br />
<br />
{| border="0" width="100%" style="white-space: margin: 0em; margin-bottom: 2em; border-width: 1em; align:center; vertical-align: top"<br />
|-<br />
!Linux<br />
!Windows<br />
!Mac OS X<br />
!Other<br />
<br />
|-<br />
! colspan="4" | {{Rounded_corners|url=https://sigrok.org/wiki/Downloads|bgcolor=#aaaaaa|text=Nightly builds (recommended, always up-to-date)}}<br />
<br />
|- style="background-color: white"<br />
<br />
| style="width:20%; vertical-align: top" |<br />
<br />
{{Rounded_corners|url=https://sigrok.org/download/binary/pulseview/PulseView-NIGHTLY-i686.AppImage|text=PulseView (32bit)}}<br />
<br />
{{Rounded_corners|url=https://sigrok.org/download/binary/pulseview/PulseView-NIGHTLY-x86_64.AppImage|text=PulseView (64bit)}}<br />
<br />
{{Rounded_corners|url=https://sigrok.org/download/binary/sigrok-cli/sigrok-cli-NIGHTLY-i686.AppImage|text=sigrok-cli (32bit)}}<br />
<br />
{{Rounded_corners|url=https://sigrok.org/download/binary/sigrok-cli/sigrok-cli-NIGHTLY-x86_64.AppImage|text=sigrok-cli (64bit)}}<br />
<br />
| style="width:20%; vertical-align: top" |<br />
<br />
{{Rounded_corners|url=https://sigrok.org/download/binary/pulseview/pulseview-NIGHTLY-32bit-static-release-installer.exe|text=PulseView (32bit)}}<br />
<br />
{{Rounded_corners|url=https://sigrok.org/download/binary/pulseview/pulseview-NIGHTLY-64bit-static-release-installer.exe|text=PulseView (64bit)}}<br />
<br />
{{Rounded_corners|url=https://sigrok.org/download/binary/sigrok-cli/sigrok-cli-NIGHTLY-32bit-static-release-installer.exe|text=sigrok-cli (32bit)}}<br />
<br />
{{Rounded_corners|url=https://sigrok.org/download/binary/sigrok-cli/sigrok-cli-NIGHTLY-64bit-static-release-installer.exe|text=sigrok-cli (64bit)}}<br />
<br />
| style="width:20%; vertical-align: top" |<br />
<br />
{{Rounded_corners|url=https://sigrok.org/download/binary/pulseview/PulseView-NIGHTLY.dmg|text=PulseView (64bit)}}<br />
<br />
{{Rounded_corners|url=https://sigrok.org/download/binary/sigrok-cli/sigrok-cli-NIGHTLY.dmg|text=sigrok-cli (64bit)}}<br />
<br />
| style="width:20%; vertical-align: top; text-align: center" |<br />
<br />
{{Rounded_corners|url=https://sigrok.org/wiki/Downloads#Releases|text=See below}}<br />
<br />
|-<br />
!colspan="4" | {{Rounded_corners|url=https://sigrok.org/wiki/Downloads|bgcolor=#aaaaaa|text=Release builds (usually older than nightly builds, might be missing features or bugfixes)}}<br />
<br />
|- style="background-color: white"<br />
<br />
| style="width:20%; vertical-align: top" |<br />
<br />
{{Rounded_corners|url=https://sigrok.org/download/binary/pulseview/PulseView-0.4.2-i386.AppImage|text=PulseView 0.4.2 (32bit)}}<br />
<br />
{{Rounded_corners|url=https://sigrok.org/download/binary/pulseview/PulseView-0.4.2-x86_64.AppImage|text=PulseView 0.4.2 (64bit)}}<br />
<br />
{{Rounded_corners|url=https://sigrok.org/download/binary/sigrok-cli/sigrok-cli-0.7.2-i386.AppImage|text=sigrok-cli 0.7.2 (32bit)}}<br />
<br />
{{Rounded_corners|url=https://sigrok.org/download/binary/sigrok-cli/sigrok-cli-0.7.2-x86_64.AppImage|text=sigrok-cli 0.7.2 (64bit)}}<br />
<br />
| style="width:20%; vertical-align: top" |<br />
<br />
{{Rounded_corners|url=https://sigrok.org/download/binary/pulseview/pulseview-0.4.2-32bit-static-release-installer.exe|text=PulseView 0.4.2 (32bit)}}<br />
<br />
{{Rounded_corners|url=https://sigrok.org/download/binary/pulseview/pulseview-0.4.2-64bit-static-release-installer.exe|text=PulseView 0.4.2 (64bit)}}<br />
<br />
{{Rounded_corners|url=https://sigrok.org/download/binary/sigrok-cli/sigrok-cli-0.7.2-i686-installer.exe|text=sigrok-cli 0.7.2 (32bit)}}<br />
<br />
{{Rounded_corners|url=https://sigrok.org/download/binary/sigrok-cli/sigrok-cli-0.7.2-x86_64-installer.exe|text=sigrok-cli 0.7.2 (64bit)}}<br />
<br />
| style="width:20%; vertical-align: top" |<br />
<br />
{{Rounded_corners|url=https://sigrok.org/download/binary/pulseview/PulseView-0.4.2.dmg|text=PulseView 0.4.2 (64bit)}}<br />
<br />
| style="width:20%; vertical-align: top; text-align: center" |<br />
<br />
{{Rounded_corners|url=https://sigrok.org/wiki/Downloads#Releases|text=See below}}<br />
<br />
|- style="background-color: white; vertical-align: top;"<br />
<br />
| style="text-align:center" | <em><small>Requires a Linux distro more recent than '''Ubuntu 16.04 LTS (Xenial Xerus)''' from 2016.</small></em><br />
| style="text-align:center" | <em><small>Requires '''Windows XP''' or higher.</small></em><br />
| style="text-align:center" | <em><small>Requires '''OS X 10.9 (Mavericks)''' or higher.</small></em><br />
| style="text-align:center" | <em><small>See below for other download options (Android, FreeBSD, source code, etc.).</small></em><br />
<br />
|}<br />
<br />
== Releases ==<br />
<br />
You can download the latest released tarballs of the following subprojects from [https://sigrok.org/download/ the sigrok.org download directory]:<br />
<br />
{| border="0" style="font-size: smaller; white-space: nowrap;" class="alternategrey sigroktable"<br />
|-<br />
!Project<br />
!Release/download<br />
!News<br />
<br />
|-<br />
| [[libserialport]]<br />
| [https://sigrok.org/download/source/libserialport/libserialport-0.1.1.tar.gz libserialport-0.1.1.tar.gz]<br />
| [https://sigrok.org/gitweb/?p=libserialport.git;a=blob;f=NEWS;hb=HEAD release notes]<br />
<br />
|-<br />
| [[libsigrok]]<br />
| [https://sigrok.org/download/source/libsigrok/libsigrok-0.5.2.tar.gz libsigrok-0.5.2.tar.gz]<br />
| [https://sigrok.org/gitweb/?p=libsigrok.git;a=blob;f=NEWS;h=60de6e341b7289cfb99883a94b0c921a4b79b008;hb=a6b07d7e28fe445afccf36922ef7d20e63e54fe6 release notes]<br />
<br />
|-<br />
| [[libsigrokdecode]]<br />
| [https://sigrok.org/download/source/libsigrokdecode/libsigrokdecode-0.5.3.tar.gz libsigrokdecode-0.5.3.tar.gz]<br />
| [https://sigrok.org/gitweb/?p=libsigrokdecode.git;a=blob;f=NEWS;h=f61727f8c75edf52e1f306983070a5eda629fd2e;hb=97991a3919da6a07c4c87308ae66fb441bd512e3 release notes]<br />
<br />
|-<br />
| [[sigrok-cli]]<br />
| [https://sigrok.org/download/source/sigrok-cli/sigrok-cli-0.7.2.tar.gz sigrok-cli-0.7.2.tar.gz]<br />
| [https://sigrok.org/gitweb/?p=sigrok-cli.git;a=blob;f=NEWS;h=e80dad6392501dd16e4fdc87836d443474e2eed9;hb=b584f959edb788f1731d5a304badf241ac21bf65 release notes]<br />
<br />
|-<br />
| [[PulseView]]<br />
| [https://sigrok.org/download/source/pulseview/pulseview-0.4.2.tar.gz pulseview-0.4.2.tar.gz]<br />
| [https://sigrok.org/gitweb/?p=pulseview.git;a=blob;f=NEWS;h=b20f14aebe4bd890a6bd92323e043b3540cb6629;hb=2b526a42a2fd68d513d4c2061790605a0c7add6c release notes]<br />
<br />
|-<br />
| [[fx2lafw|sigrok-firmware-fx2lafw]] (source code)<br />
| [https://sigrok.org/download/source/sigrok-firmware-fx2lafw/sigrok-firmware-fx2lafw-0.1.7.tar.gz sigrok-firmware-fx2lafw-0.1.7.tar.gz]<br />
| [https://sigrok.org/gitweb/?p=sigrok-firmware-fx2lafw.git;a=blob;f=NEWS;hb=HEAD release notes]<br />
<br />
|-<br />
| [[fx2lafw|sigrok-firmware-fx2lafw]] (prebuilt firmware)<br />
| [https://sigrok.org/download/binary/sigrok-firmware-fx2lafw/sigrok-firmware-fx2lafw-bin-0.1.7.tar.gz sigrok-firmware-fx2lafw-bin-0.1.7.tar.gz]<br />
| [https://sigrok.org/gitweb/?p=sigrok-firmware-fx2lafw.git;a=blob;f=NEWS;hb=HEAD release notes]<br />
<br />
|}<br />
<br />
== Binaries and distribution packages ==<br />
<br />
=== Linux AppImage binaries ===<br />
<br />
* Nightly AppImage binaries (require a Linux distro more recent than Ubuntu 16.04 LTS Xenial Xerus from 2016):<br />
** [https://sigrok.org/download/binary/pulseview/PulseView-NIGHTLY-i686.AppImage PulseView-NIGHTLY-i686.AppImage] (32bit)<br />
** [https://sigrok.org/download/binary/pulseview/PulseView-NIGHTLY-x86_64.AppImage PulseView-NIGHTLY-x86_64.AppImage] (64bit)<br />
** [https://sigrok.org/download/binary/sigrok-cli/sigrok-cli-NIGHTLY-i686.AppImage sigrok-cli-NIGHTLY-i686.AppImage] (32bit)<br />
** [https://sigrok.org/download/binary/sigrok-cli/sigrok-cli-NIGHTLY-x86_64.AppImage sigrok-cli-NIGHTLY-x86_64.AppImage] (64bit)<br />
* Download the correct (32bit or 64bit) AppImage file for your Linux system, make the file executable via "'''chmod +x'''" and then run it.<br />
* If you want to access hardware, please install the [https://sigrok.org/gitweb/?p=libsigrok.git;a=tree;f=contrib udev rules] on your system and reload the rules using "udevadm control --reload-rules && udevadm trigger".<br />
* See also [[Linux#AppImage|Linux]] for more information.<br />
<br />
=== Linux distribution packages ===<br />
<br />
* '''Debian:''' [https://packages.qa.debian.org/s/sigrok.html sigrok] (pulls [https://packages.qa.debian.org/libs/libserialport.html libserialport], [https://packages.qa.debian.org/libs/libsigrok.html libsigrok], [https://packages.qa.debian.org/libs/libsigrokdecode.html libsigrokdecode], [https://packages.qa.debian.org/s/sigrok-cli.html sigrok-cli], [https://packages.qa.debian.org/p/pulseview.html pulseview], [https://packages.qa.debian.org/s/sigrok-firmware-fx2lafw.html sigrok-firmware-fx2lafw])<br />
* '''Ubuntu:''' [https://launchpad.net/ubuntu/+source/sigrok sigrok] (pulls [https://launchpad.net/ubuntu/+source/libserialport libserialport], [https://launchpad.net/ubuntu/+source/libsigrok libsigrok], [https://launchpad.net/ubuntu/+source/libsigrokdecode libsigrokdecode], [https://launchpad.net/ubuntu/+source/sigrok-cli sigrok-cli], [https://launchpad.net/ubuntu/+source/pulseview pulseview], [https://launchpad.net/ubuntu/+source/sigrok-firmware-fx2lafw sigrok-firmware-fx2lafw])<br />
* '''Arch Linux:''' [https://aur.archlinux.org/packages.php?O=0&K=sigrok&do_Search=Go AUR (Arch Linux User Repository)], [https://aur.archlinux.org/packages/libserialport-git/ libserialport], [https://aur.archlinux.org/packages/libsigrok-git/ libsigrok], [https://aur.archlinux.org/packages/libsigrokdecode-git/ libsigrokdecode], [https://aur.archlinux.org/packages/sigrok-cli/ sigrok-cli], [https://aur.archlinux.org/packages/pulseview-git/ pulseview], [https://aur.archlinux.org/packages/sigrok-firmware-fx2lafw/ sigrok-firmware-fx2lafw]<br />
* '''Slackware:''' [https://slackbuilds.org/apps/libserialport/ libserialport], [https://slackbuilds.org/apps/libsigrok/ libsigrok], [https://slackbuilds.org/apps/libsigrokdecode/ libsigrokdecode], [https://slackbuilds.org/apps/sigrok-cli/ sigrok-cli], [https://slackbuilds.org/apps/pulseview/ pulseview], [https://slackbuilds.org/apps/sigrok-firmware-fx2lafw/ sigrok-firmware-fx2lafw]<br />
* '''Fedora:''' [https://src.fedoraproject.org/cgit/rpms/libserialport.git/ libserialport], [https://src.fedoraproject.org/cgit/rpms/libsigrok.git/ libsigrok], [https://src.fedoraproject.org/cgit/rpms/libsigrokdecode.git/ libsigrokdecode], [https://src.fedoraproject.org/cgit/rpms/sigrok-cli.git/ sigrok-cli], [https://src.fedoraproject.org/cgit/rpms/pulseview.git/ pulseview], [https://src.fedoraproject.org/cgit/rpms/sigrok-firmware-fx2lafw.git/ sigrok-firmware-fx2lafw], [https://src.fedoraproject.org/cgit/rpms/sigrok-firmware.git/ sigrok-firmware]<br />
* '''Gentoo:''' [https://packages.gentoo.org/package/dev-libs/libserialport libserialport], [https://packages.gentoo.org/package/sci-libs/libsigrok libsigrok], [https://packages.gentoo.org/package/sci-libs/libsigrokdecode libsigrokdecode], [https://packages.gentoo.org/package/sci-electronics/sigrok-cli sigrok-cli], [https://packages.gentoo.org/package/sci-electronics/pulseview pulseview], [https://packages.gentoo.org/package/sys-firmware/sigrok-firmware-fx2lafw sigrok-firmware-fx2lafw]<br />
* '''openSUSE:''' Latest stable versions are included in Tumbleweed. Leap includes the latest stable version at time of release, newer versions are available from the [https://download.opensuse.org/repositories/electronics/ "electronics" repository], created by the [https://build.opensuse.org/project/show/electronics OpenBuildService (OBS)].<br />
** '''openSUSE weekly GIT:''' [https://download.opensuse.org/repositories/home:/StefanBruens:/branches:/electronics:/GIT/ Repositories], [https://build.opensuse.org/project/show/home:StefanBruens:branches:electronics:GIT OBS Project]<br />
<br />
=== Windows ===<br />
<span id="Windows_Download"><br />
<br />
* Nightly installer binaries (require Windows XP or higher):<br />
** [https://sigrok.org/download/binary/pulseview/pulseview-NIGHTLY-32bit-static-release-installer.exe pulseview-NIGHTLY-32bit-static-release-installer.exe] ([https://sigrok.org/download/binary/pulseview/pulseview-NIGHTLY-32bit-static-debug-installer.exe debug build])<br />
** [https://sigrok.org/download/binary/pulseview/pulseview-NIGHTLY-64bit-static-release-installer.exe pulseview-NIGHTLY-64bit-static-release-installer.exe] ([https://sigrok.org/download/binary/pulseview/pulseview-NIGHTLY-64bit-static-debug-installer.exe debug build])<br />
** [https://sigrok.org/download/binary/sigrok-cli/sigrok-cli-NIGHTLY-32bit-static-release-installer.exe sigrok-cli-NIGHTLY-32bit-static-release-installer.exe] ([https://sigrok.org/download/binary/sigrok-cli/sigrok-cli-NIGHTLY-32bit-static-debug-installer.exe debug build])<br />
** [https://sigrok.org/download/binary/sigrok-cli/sigrok-cli-NIGHTLY-64bit-static-release-installer.exe sigrok-cli-NIGHTLY-64bit-static-release-installer.exe] ([https://sigrok.org/download/binary/sigrok-cli/sigrok-cli-NIGHTLY-64bit-static-debug-installer.exe debug build])<br />
* See also [[Windows#Windows_installers|Windows]] for more information.<br />
<br />
=== Mac OS X ===<br />
<br />
* Nightly DMG binaries (64&nbsp;bit x86 only; require OS X 10.9 Mavericks or higher):<br />
** [https://sigrok.org/download/binary/pulseview/PulseView-NIGHTLY.dmg PulseView-NIGHTLY.dmg]<br />
** [https://sigrok.org/download/binary/sigrok-cli/sigrok-cli-NIGHTLY.dmg sigrok-cli-NIGHTLY.dmg]<br />
* See also [[Mac OS X]] for more information.<br />
<br />
=== FreeBSD ===<br />
<br />
* [https://www.freshports.org/devel/libserialport/ libserialport], [https://www.freshports.org/devel/libsigrok/ libsigrok], [https://www.freshports.org/devel/libsigrokdecode/ libsigrokdecode], [https://www.freshports.org/science/sigrok-cli/ sigrok-cli], [https://www.freshports.org/science/pulseview/ pulseview], [https://www.freshports.org/science/sigrok-firmware-fx2lafw/ sigrok-firmware-fx2lafw], [https://www.freshports.org/science/sigrok-firmware/ sigrok-firmware], [https://www.freshports.org/science/sigrok-firmware-utils/ sigrok-firmware-utils]<br />
<br />
=== OpenBSD ===<br />
<br />
* [https://cvsweb.openbsd.org/ports/comms/sigrok/libserialport/ libserialport], [https://cvsweb.openbsd.org/ports/comms/sigrok/libsigrok/ libsigrok], [https://cvsweb.openbsd.org/ports/comms/sigrok/libsigrokdecode/ libsigrokdecode], [https://cvsweb.openbsd.org/ports/comms/sigrok/sigrok-cli/ sigrok-cli], [https://cvsweb.openbsd.org/ports/comms/sigrok/pulseview/ pulseview], [https://cvsweb.openbsd.org/ports/comms/sigrok/sigrok-dumps/ sigrok-dumps], [https://cvsweb.openbsd.org/ports/comms/sigrok/sigrok-firmware-fx2lafw/ sigrok-firmware-fx2lafw]<br />
<br />
=== Android ===<br />
<br />
* Nightly APK binaries:<br />
** [https://sigrok.org/jenkins/job/sigrok-cross-android/platform=cross-arm-linux-androideabi/lastSuccessfulBuild/artifact/PulseView-NIGHTLY.apk PulseView-NIGHTLY.apk (ARM)]<br />
* See also [[Android]] for more information.<br />
<br />
== Source code ==<br />
<br />
The development is done in various [https://sigrok.org/gitweb/ git repositories].<br />
<br />
See [[Building]] for build instructions.<br />
<br />
== Example data ==<br />
<br />
See the [[Example dumps]] wiki page.<br />
<br />
== Firmware files ==<br />
<br />
See the [[Firmware]] wiki page.</div>
Abraxa
https://sigrok.org/w/index.php?title=Main_Page&diff=16494
Main Page
2023-04-09T20:41:17Z
<p>Abraxa: Remove jenkins link</p>
<hr />
<div><table width="100%" valign="top"><tr valign="top"><td width="80%"><br />
<div style="margin-bottom:1.5em; padding:0.5em 0.5em 0.5em 0.5em; background-color:#cfdfff; align:right; border:1px solid #aabbcc;"><br />
The '''sigrok''' project aims at creating a '''portable, cross-platform, Free/Libre/Open-Source signal analysis software suite''' that supports various device types (e.g. [[Supported hardware#Logic_analyzers|logic analyzers]], [[Supported hardware#Oscilloscopes|oscilloscopes]], and [[Supported hardware|many more]]).<br />
<br />
It is licensed under the terms of the '''GNU GPL, version 3 or later'''. Design goals and features include:<br />
<br />
<small><br />
* '''Broad hardware support'''. Supports [[Supported hardware|many different devices]] (logic analyzers, oscilloscopes, multimeters, data loggers etc.) from various vendors.<br />
* '''Cross-platform'''. Works on [[Linux]], [[Mac OS X]], [[Windows]], [[FreeBSD]], [[OpenBSD]], [[NetBSD]], [[Android]] (and on x86, ARM, Sparc, PowerPC, ...).<br />
* '''Scriptable protocol decoding'''. Extendable with stackable [[protocol decoders]] written in Python 3.<br />
* '''File format support'''. Supports various [[Input output formats|input/output file formats]] (binary, ASCII, hex, CSV, gnuplot, [http://en.wikipedia.org/wiki/Value_change_dump VCD], WAV, ...).<br />
* '''Reusable libraries'''. Consists of the [[libsigrok]] and [[libsigrokdecode]] shared libraries which can be used by various frontends/GUIs.<br />
* '''Various frontends'''. [[PulseView]] (LA/DSO/MSO GUI), [[SmuView]] (DMM/PSU/load GUI) and [[sigrok-meter]] (DMM GUI), [[sigrok-cli]] (command-line), and other frontends all build upon the above libraries.<br />
</small><br />
</div><br />
<br />
<div style="clear: both;"><br />
<br />
<div style="margin-bottom:1.5em; padding:0.5em 0.5em 0.5em 0.5em; background-color:#cfdfff; align:right; border:1px solid #aabbcc;"><br />
'''You can use sigrok to...'''<br />
<small><br />
<div style="width: 50%; float: left;"><br />
* ...log data from your multimeter<br />
* ...have a $10 logic analyzer for examining logic circuits<br />
* ...have a remote GUI for your oscilloscope<br />
* ...perform measurements on signals<br />
* ...make sense of digital signals with protocol decoders<br />
</div><br />
<div style="width: 50%; float: right;"><br />
* ...write custom protocol decoders in python<br />
* ...remote-control your power supply<br />
* ...remote-control whatever lab device you'd like to support<br />
* ...write a quick-n-dirty automation tool for your particular needs<br />
* ...have a framework/frontend for your home-made devices<br />
</div><br />
<div style="clear: both;"></div><br />
</small><br />
</div><br />
<br />
<div style="clear: both;"><br />
<br />
<div style="width: 50%; float: left; margin-bottom: 1em;"><br />
{{Box|<br />
BORDER = #8898bf|<br />
BACKGROUND = #d1adf6|<br />
WIDTH = 100%|<br />
ICON = |<br />
HEADING = [[File:Sigrok_stone.png]] <span style="font-variant:small-caps;">[//sigrok.org/blog News]</span>|<br />
CONTENT =<br />
<small><br />
<rss max=3 date="Y-m-d">https://sigrok.org/blog/rss.xml</rss><br />
See also: [[Current events]].<br />
</small><br />
}}<br />
</div><br />
<br />
<div style="width: 49%; float: right; margin-bottom: 1em;"><br />
{{Box|<br />
BORDER = #8898bf|<br />
BACKGROUND = lime|<br />
WIDTH = 100%|<br />
ICON = |<br />
HEADING = [[File:Sigrok_stone.png]] <span style="font-variant:small-caps;">Supported hardware</span> (<small><span style="font-variant:normal;">[[:Category:Device|Browse by category...]]</span></small>)|<br />
CONTENT =<br />
<small><br />
[[Supported_hardware#Logic_analyzers|Logic analyzers]] &middot; [[Supported_hardware#Mixed-signal_devices|Mixed-signal devices]] &middot; [[Supported_hardware#Oscilloscopes|Oscilloscopes]] &middot; [[Supported_hardware#Multimeters|Multimeters]] &middot; [[Supported_hardware#LCR meters|LCR meters]] &middot; [[Supported_hardware#Sound_level_meters|Sound level meters]] &middot; [[Supported_hardware#Thermometers|Thermometers]] &middot; [[Supported_hardware#Hygrometers|Hygrometers]] &middot; [[Supported_hardware#Anemometers|Anemometers]] &middot; [[Supported_hardware#Light meters|Light meters]] &middot; [[Supported_hardware#Energy meters|Energy meters]] &middot; [[Supported_hardware#DAQs|DAQs]] &middot; [[Supported_hardware#Dataloggers|Dataloggers]] &middot; [[Supported_hardware#Tachometers|Tachometers]] &middot; [[Supported_hardware#Scales|Scales]] &middot; [[Supported_hardware#Digital_loads|Digital loads]] &middot; [[Supported_hardware#Function_generators|Function generators]] &middot; [[Supported_hardware#Frequency_counters|Frequency counters]] &middot; [[Supported_hardware#RF receivers|RF receivers]] &middot; [[Supported_hardware#Spectrum_analyzers|Spectrum analyzers]] &middot; [[Supported_hardware#Power_supplies|Power supplies]] &middot; [[Supported_hardware#Multiplexer_.2F_Relay_actuators|Multiplexer]] &middot; [[Supported_hardware#GPIB_interfaces|GPIB interfaces]]<br />
<br />
See also: [[:Category:Device comparison|Device comparisons]], [[Device cables]], [[Multimeter ICs]], [[Connection parameters]]<br />
</small><br />
}}<br />
</div><br />
<br />
</div><br />
<br />
<div style="clear: both;"><br />
<br />
<div style="width: 50%; float: left; margin-bottom: 1em;"><br />
{{Box|<br />
BORDER = #8898bf|<br />
BACKGROUND = cyan|<br />
WIDTH = 100%|<br />
ICON = |<br />
HEADING = [[File:Sigrok_stone.png]] <span style="font-variant:small-caps;">Downloads and documentation</span>|<br />
CONTENT =<br />
<small><br />
[[Downloads]] &middot; [[Building]] &middot; [[Linux]] &middot; [[Mac OS X]] &middot; [[Windows]] &middot; [[FreeBSD]] &middot; [[OpenBSD]] &middot; [[NetBSD]] &middot; [[Android]] &middot; [[Embedded]] &middot; [[Getting started]] &middot; [[Input output formats]] &middot; [[Protocol decoders]] &middot; [[Probe comparison]] &middot; [[GPIB]] &middot; [[Logo]] &middot; [[Press]]<br />
</small><br />
}}<br />
</div><br />
<br />
<div style="width: 49%; float: right; margin-bottom: 1em;"><br />
{{Box|<br />
BORDER = #8898bf|<br />
BACKGROUND = #ff3333|<br />
WIDTH = 100%|<br />
ICON = |<br />
HEADING = [[File:Sigrok_stone.png]] <span style="font-variant:small-caps;">Subprojects</span>|<br />
CONTENT =<br />
<small><br />
[[libserialport]] &middot; [[libsigrok]] &middot; [[libsigrokdecode]] &middot; [[sigrok-cli]] &middot; [[PulseView]] &middot; [[sigrok-meter]] <!-- &middot; [[sigrok-qt]] &middot; [[sigrok-gtk]] --> &middot; [[SmuView]] &middot; [[fx2lafw]] &middot; [[gpibgrok]] &middot; [[fx2grok]] &middot; [[fpgalafw]] &middot; [[Firmware]] &middot; [[Example dumps]]<br />
</small><br />
}}<br />
</div><br />
<br />
<div style="clear: both;"><br />
<br />
<div style="width: 50%; float: left; margin-bottom: 1em;"><br />
{{Box|<br />
BORDER = #8898bf|<br />
BACKGROUND = yellow|<br />
WIDTH = 100%|<br />
ICON = |<br />
HEADING = [[File:Sigrok_stone.png]] <span style="font-variant:small-caps;">Getting in touch</span>|<br />
CONTENT = <br />
<small><br />
IRC: [https://web.libera.chat/#sigrok #sigrok@libera.chat] &middot; Mailing list: [https://lists.sourceforge.net/lists/listinfo/sigrok-devel sigrok-devel] (archives: [https://www.mail-archive.com/sigrok-devel@lists.sourceforge.net/ MA], [https://sourceforge.net/p/sigrok/mailman/sigrok-devel/ SF], [http://news.gmane.org/gmane.comp.debugging.sigrok.devel Gmane]) &middot; Twitter: [https://twitter.com/sigrokproject @sigrokproject] &middot; Mastodon/[https://en.wikipedia.org/wiki/Fediverse Fediverse]: [https://fosstodon.org/@sigrok @sigrok@fosstodon.org]<br />
</small><br />
}}<br />
</div><br />
<br />
<div style="width: 49%; float: right; margin-bottom: 1em;"><br />
{{Box|<br />
BORDER = #8898bf|<br />
BACKGROUND = lightblue|<br />
WIDTH = 100%|<br />
ICON = |<br />
HEADING = [[File:Sigrok_stone.png]] <span style="font-variant:small-caps;">Development</span>|<br />
CONTENT =<br />
<small><br />
[[Developers]] &middot; [[Roadmap]] &middot; [//sigrok.org/api/index.html API docs] ([//sigrok.org/api/libserialport/unstable/index.html sp] &middot; [//sigrok.org/api/libsigrok/unstable/index.html sr]/[//sigrok.org/api/libsigrok/unstable/bindings/cxx/index.html cxx]/[//sigrok.org/api/libsigrok/unstable/bindings/python/index.html py]/[//sigrok.org/api/libsigrok/unstable/bindings/java/index.html java] &middot; [//sigrok.org/api/libsigrokdecode/unstable/index.html srd]) &middot; [//sigrok.org/gitweb/ Browse source code] ([https://github.com/sigrokproject GitHub mirror]) &middot; [//sigrok.org/bugzilla/ Bug tracker] &middot; [[GSoC|Summer of Code]] &middot; [[Protocol decoder HOWTO]] &middot; [[Protocol decoder API]] &middot; [[Formats and structures]] &middot; [[Hardware driver API]] &middot; [[Portability]] &middot; [[TODO]]<br />
</small><br />
}}<br />
</div><br />
<br />
</div><br />
<br />
<div style="clear: both;margin-top: 2em;"><br />
----<br />
<small><br />
'''IMPORTANT: Unless explicitly specified otherwise, all contents in this wiki (including text and images) are released under the <span style="color:red">CC-BY-SA 3.0</span> license. If you don't want that, please explicitly specify another free-ish license when adding pages/images!'''<br />
</small><br />
</div><br />
__NOTOC__<br />
__NOEDITSECTION__</div>
Abraxa
https://sigrok.org/w/index.php?title=Supported_hardware&diff=16317
Supported hardware
2022-07-30T19:36:40Z
<p>Abraxa: </p>
<hr />
<div>sigrok is intended as a flexible, cross-platform, and '''hardware-independent''' software suite, i.e., it supports various devices from many different vendors.<br />
<br />
Here is a list of currently supported devices (various stages of completeness) in the [http://sigrok.org/gitweb/?p=libsigrok.git;a=summary latest git version of libsigrok] (fewer devices might be supported in tarball releases) and devices we plan to support in the future.<br />
<br />
The lists are sorted by category ([[File:Nuvola OK.png|16px]] <span style="background-color: lime">supported</span>: [[:Category:Supported|{{PAGESINCATEGORY:Supported|pages}}]], [[File:Nuvola Orange.png|16px]] <span style="background-color: orange">in progress</span>: [[:Category:In progress|{{PAGESINCATEGORY:In progress|pages}}]], [[File:Nuvola Red.png|16px]] <span style="background-color: red">planned</span>: [[:Category:Planned|{{PAGESINCATEGORY:Planned|pages}}]]), and alphabetically within those categories.<br />
<br />
== Logic analyzers ==<br />
<br />
<gallery widths="100px" heights="100px"><br />
File:ARMFLY MINI LOGIC.png|link=ARMFLY Mini-Logic|[[File:Nuvola OK.png|16px]] <small>[[ARMFLY Mini-Logic]] (8ch, 24MHz)</small><br />
File:ASIX Omega.png|link=ASIX OMEGA|[[File:Nuvola OK.png|16px]] <small>[[ASIX OMEGA]] (16ch, 400MHz)</small><br />
File:ASIX SIGMA 2.png|link=ASIX SIGMA|[[File:Nuvola OK.png|16px]] <small>[[ASIX SIGMA]] (16ch, 200MHz)</small><br />
File:BeagleLogic.jpg|link=BeagleLogic|[[File:Nuvola OK.png|16px]] <small>[[BeagleLogic]] (12(max 14)ch, 100MHz)</small><br />
File:Braintechnology_usb_interface_v26.png|link=Braintechnology USB Interface V2.x|[[File:Nuvola OK.png|16px]] <small>[[Braintechnology USB Interface V2.x]] (8/16ch, 24/12MHz)</small><br />
File:Braintechnology_usb_lps.png|link=Braintechnology USB-LPS|[[File:Nuvola OK.png|16px]] <small>[[Braintechnology USB-LPS]] (8/16ch, 24/12MHz)</small><br />
File:Chronovu la8 front.png|link=ChronoVu LA8|[[File:Nuvola OK.png|16px]] <small>[[ChronoVu LA8]] (8ch, 100MHz)</small><br />
File:Chronovu la16.png|link=ChronoVu LA16|[[File:Nuvola OK.png|16px]] <small>[[ChronoVu LA16]] (16ch, 200MHz)</small><br />
File:Cwav_usbee_sx.png|link=CWAV USBee SX|[[File:Nuvola OK.png|16px]] <small>[[CWAV USBee SX]] (8ch, 24MHz)</small><br />
File:Buspirate_v3.png|link=Dangerous Prototypes Buspirate|[[File:Nuvola OK.png|16px]] <small>[[Dangerous Prototypes Buspirate]] (5ch, 1MHz)</small><br />
File:Dangerous prototypes irtoy mugshot.png|link=Dangerous Prototypes USB IR Toy|[[File:Nuvola OK.png|16px]] <small>[[Dangerous Prototypes USB IR Toy]] (1ch, 10kHz)</small><br />
File:DSLogic.png|link=DreamSourceLab DSLogic|[[File:Nuvola OK.png|16px]] <small>[[DreamSourceLab DSLogic]] (16ch, 400MHz)</small><br />
File:DSLogic.png|link=DreamSourceLab DSLogic Basic|[[File:Nuvola OK.png|16px]] <small>[[DreamSourceLab DSLogic Basic]] (16ch, 100MHz)</small><br />
File:DSLogic.png|link=DreamSourceLab DSLogic Plus|[[File:Nuvola OK.png|16px]] <small>[[DreamSourceLab DSLogic Plus]] (16ch, 400MHz)</small><br />
File:DSLogic.png|link=DreamSourceLab DSLogic Pro|[[File:Nuvola OK.png|16px]] <small>[[DreamSourceLab DSLogic Pro]] (16ch, 400MHz)</small><br />
File:Eeelec xla esla100.png|link=EE Electronics ESLA100|[[File:Nuvola OK.png|16px]] <small>[[EE Electronics ESLA100]] (8ch, 24MHz)</small><br />
File:Chronovu la8 ftdi ft245rl.jpg|link=FTDI-LA|[[File:Nuvola OK.png|16px]] <small>[[FTDI-LA]] (8ch, ~10MHz)</small><br />
File:jtagulator-transparent.png|link=JTAGulator|[[File:Nuvola OK.png|16px]]<small>[[JTAGulator | Grand Idea Studio JTAGulator]] (24ch, 1.2MHz)</small><br />
File:Hantek 4032l mugshot.png|link=Hantek 4032L|[[File:Nuvola OK.png|16px]] <small>[[Hantek 4032L]] (32ch, 400MHz)</small><br />
File:Hantek 6022be mugshot.png|link=Hantek 6022BL|[[File:Nuvola OK.png|16px]] <small>[[Hantek 6022BL]] (8ch, 24MHz)</small><br />
File:Hobby components hctest0006 mugshot.png|link=Hobby Components HCTEST0006|[[File:Nuvola OK.png|16px]] <small>[[Hobby Components HCTEST0006]] (8ch, 24MHz)</small><br />
File:Ikalogic_scanalogic2.png|link=IKALOGIC Scanalogic-2|[[File:Nuvola OK.png|16px]] <small>[[IKALOGIC Scanalogic-2]] (4ch, 20MHz)</small><br />
File:Ikalogic scanaplus mugshot.png|link=IKALOGIC ScanaPLUS|[[File:Nuvola OK.png|16px]] <small>[[IKALOGIC ScanaPLUS]] (9ch, 100MHz)</small><br />
File:Kingst la2016 mugshot.png|link=Kingst LA2016|[[File:Nuvola OK.png|16px]] <small>[[Kingst LA2016]] (16ch, 200MHz)</small><br />
File:Kingst-la5016-mugshot.png|link=Kingst LA5016|[[File:Nuvola OK.png|16px]] <small>[[Kingst LA5016]] (16ch, 500MHz)</small><br />
File:Kingst kqs3506 la16100.png|link=KingST KQS3506-LA16100|[[File:Nuvola OK.png|16px]] <small>[[KingST KQS3506-LA16100]] (16ch, 100/50/32/16MHz @ 3/6/9/16ch)</small><br />
File:Lcsoft-miniboard-front.png|link=Lcsoft Mini Board|[[File:Nuvola OK.png|16px]] <small>[[Lcsoft Mini Board]] (8/16ch, 24/12MHz)</small><br />
File:Lecroy logicstudio16 mugshot.png|link=LeCroy LogicStudio|[[File:Nuvola OK.png|16px]] <small>[[LeCroy LogicStudio]] (8/16ch, 1GHz/500MHz)</small><br />
File:logic-shrimp-front.png|link=Logic Shrimp|[[File:Nuvola OK.png|16px]] <small>[[Logic Shrimp]] (4ch, 20MHz)</small><br />
File:Mcu123 saleae logic clone.png|link=MCU123 Saleae Logic clone|[[File:Nuvola OK.png|16px]] <small>[[MCU123 Saleae Logic clone]] (8ch, 24MHz)</small><br />
File:Meilhaus logian 16l mugshot.png|link=Meilhaus Logian-16L|[[File:Nuvola OK.png|16px]] <small>[[Meilhaus Logian-16L]] (16ch, 200MHz)</small><br />
File:Microchip_pickit2.png|link=Microchip PICkit2|[[File:Nuvola OK.png|16px]] <small>[[Microchip PICkit2]] (3ch, 1MHz)</small><br />
File:Usbee_ax_clone_front.png|link=MCU123 USBee AX Pro clone|[[File:Nuvola OK.png|16px]] <small>[[MCU123 USBee AX Pro clone]] (8ch, 24MHz)</small><br />
File:Mcupro_Logic16_overview.png|link=mcupro Logic16 clone|[[File:Nuvola OK.png|16px]] <small>[[mcupro Logic16 clone]] (16ch, 100MHz)</small><br />
File:Openbench logic sniffer front.png|link=Openbench Logic Sniffer|[[File:Nuvola OK.png|16px]] <small>[[Openbench Logic Sniffer]] (32ch, 100MHz)</small><br />
File:Prist akip 9101 mugshot.png|link=Prist AKIP-9101|[[File:Nuvola OK.png|16px]] <small>[[Prist AKIP-9101]] (16ch, 200MHz)</small><br />
File:Robomotic buglogic3.png|link=Robomotic BugLogic 3|[[File:Nuvola OK.png|16px]] <small>[[Robomotic BugLogic 3]] (8ch, 24MHz)</small><br />
File:Robomotic_minilogic.png|link=Robomotic MiniLogic|[[File:Nuvola OK.png|16px]] <small>[[Robomotic MiniLogic]] (8ch, 24MHz)</small><br />
File:Saleae Logic.png|link=Saleae Logic|[[File:Nuvola OK.png|16px]] <small>[[Saleae Logic]] (8ch, 24MHz)</small><br />
File:Saleae_Logic16_bottom.png|link=Saleae Logic16|[[File:Nuvola OK.png|16px]] <small>[[Saleae Logic16]] (16ch, 100/50/32/16MHz @ 3/6/9/16ch)</small><br />
File:Saanlima Pipistrello-OLS.png|link=Saanlima Pipistrello OLS|[[File:Nuvola OK.png|16px]] <small>[[Saanlima Pipistrello OLS]] (32ch, 100MHz)</small><br />
File:Sigrok_logo_no_text_transparent_512.png|link=SUMP compatibles|[[File:Nuvola OK.png|16px]] <small>[[SUMP compatibles]]</small><br />
File:Sysclk lwla1016.png|link=Sysclk LWLA1016|[[File:Nuvola OK.png|16px]] <small>[[Sysclk LWLA1016]] (16ch, 100MHz)</small><br />
File:Sysclk lwla1034 mugshot.png|link=Sysclk LWLA1034|[[File:Nuvola OK.png|16px]] <small>[[Sysclk LWLA1034]] (34ch, 125MHz)</small><br />
File:Sysclk sla5032 mugshot.png|link=Sysclk SLA5032|[[File:Nuvola OK.png|16px]] <small>[[Sysclk SLA5032]] (32ch, 500MHz)</small><br />
File:VKTECH_thumb.jpg|link=VKTECH_saleae_clone|[[File:Nuvola OK.png|16px]] <small>[[VKTECH_saleae_clone|VKTECH saleae clone]] (8ch, 24MHz)</small><br />
File:Wayengineer saleae16.png|link=WayEngineer Saleae16|[[File:Nuvola OK.png|16px]] <small>[[WayEngineer Saleae16]] (16ch, 100/50/32/16MHz @ 3/6/9/16ch)</small><br />
File:Zeroplus Logic Cube.png|link=ZEROPLUS Logic Cube LAP-C(16032)|[[File:Nuvola OK.png|16px]] <small>[[ZEROPLUS Logic Cube LAP-C(16032)]] (16ch, 100MHz)</small><br />
File:Zeroplus Logic Cube.png|link=ZEROPLUS Logic Cube LAP-C(322000)|[[File:Nuvola OK.png|16px]] <small>[[ZEROPLUS Logic Cube LAP-C(322000)]] (32ch, 200MHz)</small><br />
File:Zeroplus_lap-16128u.png|link=ZEROPLUS LAP-16128U|[[File:Nuvola OK.png|16px]] <small>[[ZEROPLUS LAP-16128U]] (16ch, 200MHz)</small><br />
</gallery><br />
<br />
'''Work in progress [[File:Nuvola Orange.png|16px]] / planned [[File:Nuvola Red.png|16px]]:'''<br />
<br />
<gallery><br />
File:Acute_pkla1216.png|link=Acute PKLA-1216|[[File:Nuvola Red.png|16px]] <small>[[Acute PKLA-1216]] (16ch, 200MHz)</small><br />
File:Arduino_Uno-R3.jpg|link=Arduino|[[File:Nuvola Orange.png|16px]] <small>[[Arduino]] (6ch, 4MHz)</small><br />
File:Sigrok_logo_no_text_transparent_512.png|link=Codethink Interrogizer|[[File:Nuvola Red.png|16px]] <small>[[Codethink Interrogizer]] (16ch, 200kHz)</small><br />
File:IMG 20191206 105430.jpg|link=CoLA|[[File:Nuvola Red.png|16px]] <small>[[CoLA]] (96/48/24ch, 25/50/100MHz)</small><br />
File:DSLogic U3Pro16.png|link=DreamSourceLab DSLogic U3Pro16|[[File:Nuvola Red.png|16px]] <small>[[DreamSourceLab DSLogic U3Pro16]] (16ch, 1GHz)</small><br />
File:Hsa-logic.png|link=HSA Logic|[[File:Nuvola Red.png|16px]] <small>[[HSA Logic]] (8ch, 6.25MHz)</small><br />
File:Ideofy_la_08.png|link=Ideofy LA-08|[[File:Nuvola Red.png|16px]] <small>[[Ideofy LA-08]] (8ch, 96/60/30MHz @ 2/4/8ch)</small><br />
File:Intronix Logicport.png|link=Intronix Logicport LA1034|[[File:Nuvola Red.png|16px]] <small>[[Intronix Logicport LA1034]] (34ch, 500MHz)</small><br />
File:Sigrok_logo_no_text_transparent_512.png|link=Link Instruments LA-5580|[[File:Nuvola Red.png|16px]] <small>[[Link Instruments LA-5580]] (80ch, 500MHz)</small><br />
File:Minila parport.png|link=MiniLA|[[File:Nuvola Red.png|16px]] <small>[[MiniLA]] (32ch, 100MHz)</small><br />
File:Minila_mockup.png|link=MiniLA Mockup|[[File:Nuvola Red.png|16px]] <small>[[MiniLA Mockup]] (32ch, 100MHz)</small><br />
File:Noname_la16_mugshot.png|link=Noname LA16|[[File:Nuvola Red.png|16px]] <small>[[Noname LA16]] (16ch, 100MHz)</small><br />
File:Noname xl logic16 100m mugshot.png|link=Noname XL-LOGIC16-100M|[[File:Nuvola Orange.png|16px]] <small>[[Noname XL-LOGIC16-100M]] (16ch, 100/50/32/16MHz @ 3/6/9/16ch)</small><br />
File:Rockylogic_ant8.png|link=RockyLogic Ant8|[[File:Nuvola Red.png|16px]] <small>[[RockyLogic Ant8]] (8ch, 500MHz)</small><br />
File:RockyLogic Ant18e.png|link=RockyLogic Ant18e|[[File:Nuvola Red.png|16px]] <small>[[RockyLogic Ant18e]] (8ch, 1GHz)</small><br />
File:Sysclk lwla2034 mugshot.png|link=Sysclk LWLA2034|[[File:Nuvola Red.png|16px]] <small>[[Sysclk LWLA2034]] (34ch, 200MHz)</small><br />
File:Techtools_digiview_dv1-100.png|link=TechTools DigiView DV1-100|[[File:Nuvola Red.png|16px]] <small>[[TechTools DigiView DV1-100]] (18ch, 100MHz)</small><br />
File:Tektronix TLA5204 1000.png|link=Tektronix TLA520X|[[File:Nuvola Red.png|16px]] <small>[[Tektronix TLA520X]] (128ch, 2Ghz)</small><br />
File:Xmos xtag2.png|link=XMOS XTAG-2|[[File:Nuvola Red.png|16px]] <small>[[XMOS XTAG-2]] (?ch, 50MHz)</small><br />
File:Zlg_la1032.png|link=ZLG LA1032|[[File:Nuvola Red.png|16px]] <small>[[ZLG LA1032]] (32ch, 100MHz)</small><br />
</gallery><br />
<br />
== Mixed-signal devices ==<br />
<br />
<gallery widths=105px heights=105px><br />
File:Armfly_ax_pro.png|link=ARMFLY AX-Pro|[[File:Nuvola OK.png|16px]] <small>[[ARMFLY AX-Pro]] (8ch, 24MHz; 1ch analog, 3MHz BW)</small><br />
File:Sysclk ax pro mugshot.png|link=Sysclk AX-Pro|[[File:Nuvola OK.png|16px]] <small>[[Sysclk AX-Pro]] (8ch, 24MHz; 1ch analog, 3MHz BW)</small><br />
File:Esla201a.png|link=EE Electronics ESLA201A|[[File:Nuvola OK.png|16px]] <small>[[EE Electronics ESLA201A]] (8ch, 24MHz; 1ch analog, 3MHz BW)</small><br />
File:Ht usbee axpro v5 mugshot.png|link=HT USBee-AxPro|[[File:Nuvola OK.png|16px]] <small>[[HT USBee-AxPro]] (8ch, 24MHz; 1ch analog, 3MHz BW)</small><br />
File:LeCroy_WaveSurfer_24Xs-A_front.png|link=LeCroy oscilloscope series|[[File:Nuvola OK.png|16px]] <small>[[LeCroy oscilloscope series]] (various)</small><br />
File:Noname lht00su1 mugshot.png|link=Noname LHT00SU1|[[File:Nuvola OK.png|16px]] <small>[[Noname LHT00SU1]] (8ch, 24MHz; 1ch analog, 3MHz BW)</small><br />
File:Rigol DS1052E.png|link=Rigol DS1000 series|[[File:Nuvola OK.png|16px]] <small>[[Rigol DS1000 series|Rigol DS1000D series]] (16ch, 2ch analog, 50-150MHz BW)</small><br />
File:Sigrok_logo_no_text_transparent_512.png|link=Rigol DS4000 series|[[File:Nuvola OK.png|16px]] <small>[[Rigol DS4000 series]] (0/16ch , 2-4ch analog, 2-4GS/s, 100MHz/200MHz/350MHz/500MHz BW)</small><br />
File:Rigol_VS5202D.png|link=Rigol VS5000 series|[[File:Nuvola OK.png|16px]] <small>[[Rigol VS5000 series|Rigol VS5000D series]] (16ch, 2ch analog, 20-200MHz BW)</small><br />
File:RS HMO1002.png|link=Rohde&Schwarz HMO1002 series|[[File:Nuvola OK.png|16px]] <small>[[Rohde&Schwarz HMO1002 series]] (2ch, 1GS/s, 50-100MHz BW)</small><br />
File:HMO3000.jpg|link=Rohde&Schwarz HMO3000 series|[[File:Nuvola OK.png|16px]] <small>[[Rohde&Schwarz HMO 3000 series]] (16ch, 2/4ch analog, 4GS/s, 300-500MHz BW)</small><br />
File:RTA4000.jpg|link=Rohde&Schwarz RT series|[[File:Nuvola OK.png|16px]] <small>[[Rohde&Schwarz RT series]] (8/16ch, 2/4ch analog, 2-5GS/s, 50MHz-1GHz BW)</small><br />
File:Saleae Logic Pro 16 bottom.jpg|link=Saleae Logic Pro 16|[[File:Nuvola OK.png|16px]] <small>[[Saleae Logic Pro 16]] (4/16ch, 500/100MHz; 16ch analog, 50MSa/s, 5MHz BW)</small><br />
File:Siglent_SDS1202X-E_front.png|link=Siglent SDS1000X series|[[File:Nuvola OK.png|16px]] <small>[[Siglent SDS1000X series]] (16ch, 2ch analog, 1GSa/s, 200/100MHz BW)</small><br />
File:sds2304x-mugshot.png|link=Siglent SDS2000X series|[[File:Nuvola OK.png|16px]] <small>[[Siglent SDS2000X series]] (16ch, 2/4ch analog, 2GSa/s, 300/200/150/100/70MHz BW)</small><br />
File:Yokogawa DLM2000 front.png|link=Yokogawa DLM2000 series|[[File:Nuvola OK.png|16px]] <small>[[Yokogawa DLM2000 series]] (8ch, 2/4ch analog, 2.5GSa/s, 200/350/500MHz BW)</small><br />
File:Xzl studio ax mugshot.png|link=XZL_Studio AX|[[File:Nuvola OK.png|16px]] <small>[[XZL_Studio AX]] (8ch, 24MHz; 1ch analog, 3MHz BW)</small><br />
File:Xzl studio-dx mugshot.png|link=XZL_Studio DX|[[File:Nuvola OK.png|16px]] <small>[[XZL_Studio DX]]<br/> (16ch, 24MHz; 2ch analog),<br />Analog not supported</small><br />
</gallery><br />
<br />
'''Work in progress [[File:Nuvola Orange.png|16px]] / planned [[File:Nuvola Red.png|16px]]:'''<br />
<br />
<gallery><br />
File:Agilent_MSO7104A.png|link=Agilent MSO7104A|[[File:Nuvola Red.png|16px]] <small>[[Agilent MSO7104A]] (16ch, ?; 4ch analog, 2GSa/s, 1GHz BW)</small><br />
File:BitScope BS10.png|link=BitScope BS10|[[File:Nuvola Red.png|16px]] <small>[[BitScope BS10]] (8ch, 40MHz; 2ch analog, 20MSa/s, ? BW)</small><br />
File:Digilent_analog_discovery.png|link=Digilent Analog Discovery|[[File:Nuvola Red.png|16px]] <small>[[Digilent Analog Discovery]] (16ch, 100MHz; 2ch analog, 100MSa/s, 5MHz BW)</small><br />
File:Hantek_1008C.png|link=Hantek 1008C|[[File:Nuvola Red.png|16px]] <small>[[Hantek 1008C]] (8ch)</small><br />
File:Ht usbee dxpro mugshot.png|link=HT USBee-DxPro|[[File:Nuvola Red.png|16px]] <small>[[HT USBee-DxPro]] (16ch, 24MHz; 2ch analog)</small><br />
File:Lab nation smartscope mugshot.png|link=LabNation SmartScope|[[File:Nuvola Red.png|16px]] <small>[[LabNation SmartScope]] (8ch, 100MHz; 2ch analog, 100MSa/s, 45MHz BW)</small><br />
File:Link Instruments MSO-19 front.png|link=Link Instruments MSO-19|[[File:Nuvola Red.png|16px]] <small>[[Link Instruments MSO-19]] (8ch, 200MHz; 1ch analog, 200MSa/s, 60MHz BW)</small><br />
File:Meilhaus_mephisto_scope1.png|link=Meilhaus MEphisto Scope1|[[File:Nuvola Red.png|16px]] <small>[[Meilhaus MEphisto Scope1]] (16ch, 100kHz; 2ch analog, 1MSa/s, 500kHz BW)</small><br />
File:Polabs_poscope_basic2.png|link=PoLabs PoScope Basic2|[[File:Nuvola Red.png|16px]] <small>[[PoLabs PoScope Basic2]] (16ch, 8MHz; 2ch analog, 200kSa/s, ? BW)</small><br />
File:QuantAsylum QA100.png|link=QuantAsylum QA100|[[File:Nuvola Red.png|16px]] <small>[[QuantAsylum QA100]] (12ch; 2ch analog)</small><br />
File:Sigrok_logo_no_text_transparent_512.png|link=Rigol MSO5000 Series|[[File:Nuvola Orange.png|16px]] <small>[[Rigol MSO5000 Series]] (16ch, 2-4ch analog, 70-350MHz BW)</small><br />
File:Saleae_Logic8_case_bottom.jpg|link=Saleae Logic8|[[File:Nuvola Red.png|16px]] <small>[[Saleae Logic8]] (3/6/7/8ch, 100/50/40/25MHz; 8ch analog, 10MSa/s, 1MHz BW)</small><br />
File:Saleae_logic_pro_8-bottom.png|link=Saleae Logic Pro 8|[[File:Nuvola Red.png|16px]] <small>[[Saleae Logic Pro 8]] (4/8ch, 500/100MHz; 8ch analog, 50MSa/s, 5MHz BW)</small><br />
File:Picoscope 3205D MSO fp.jpg|link=Pico Technology PicoScope 3205D MSO|[[File:Nuvola Red.png|16px]] <small>[[Pico Technology PicoScope 3205D MSO]] (16ch, 100MHz; 2ch analog, 1/0.5GS/s, 100MHz BW)</small><br />
File:DSO3254A.jpg|link=Hantek DSO3254A|[[File:Nuvola Red.png|16px]] <small>[[Hantek DSO3254A]] (16ch, 250MHz; 4ch analog, 1GS/s, 250MHz BW; 1 ch func/arb generator, 200MHz)</small><br />
<br />
</gallery><br />
<br />
== Oscilloscopes ==<br />
<br />
<gallery widths=100px heights=100px><br />
File:Agilent DSO1014A.png|link=Agilent DSO1000 series|[[File:Nuvola OK.png|16px]] <small>[[Agilent DSO1000 series]] (2-4ch, 2GS/s, 60-200MHz BW)</small><br />
File:Fluke_Scopemeter_199B.png|link=Fluke ScopeMeter 199B|[[File:Nuvola OK.png|16px]] <small>[[Fluke ScopeMeter 199B]] (2ch, 2.5GS/s, 200MHz BW)</small><br />
File:Voltcraft dso-6060c mugshot.png|link=GW Instek GDS-800 series|[[File:Nuvola OK.png|16px]] <small>[[GW Instek GDS-800 series]] (2ch, 25GS/s, 60-250MHz BW)</small><br />
File:Hameg HMO2024.png|link=Hameg HMO compact series|[[File:Nuvola OK.png|16px]] <small>[[Hameg HMO compact series]] (2-4ch, 2GS/s, 70-200MHz BW)</small><br />
File:Hantek 6022be mugshot.png|link=Hantek 6022BE|[[File:Nuvola OK.png|16px]] <small>[[Hantek 6022BE]] (2ch, 48MS/s, 20MHz BW)</small><br />
File:Hantek DSO-2090.png|link=Hantek DSO-2090|[[File:Nuvola OK.png|16px]] <small>[[Hantek DSO-2090]] (2ch, 100MS/s, 40MHz)</small><br />
File:Hung chang dso 2100 mugshot.png|link=Hung-Chang_DSO-2100|[[File:Nuvola OK.png|16px]] <small>[[Hung-Chang DSO-2100]] (2ch, 100MS/s, 30MHz BW)</small><br />
File:Rigol DS1052E.png|link=Rigol DS1000 series|[[File:Nuvola OK.png|16px]] <small>[[Rigol DS1000 series|Rigol DS1000E series]] (2ch, 1GS/s, 50-150MHz BW)</small><br />
File:Rigol DS1074Z front.png|link=Rigol DS1000Z series|[[File:Nuvola OK.png|16px]] <small>[[Rigol DS1000Z series|Rigol DS1000Z series]] (4ch, 1GS/s, 50-100MHz BW)</small><br />
File:Rigol-ds2072 mugshot.png|link=Rigol DS2000 series|[[File:Nuvola OK.png|16px]] <small>[[Rigol DS2000 series]] (2ch, 2GS/s, 70-200MHz BW)</small><br />
File:Rigol_VS5202D.png|link=Rigol VS5000 series|[[File:Nuvola OK.png|16px]] <small>[[Rigol VS5000 series]] (2ch, 20-200MHz BW)</small><br />
File:Rocktech bm102 mugshot.png|link=Rocktech BM102|[[File:Nuvola OK.png|16px]] <small>[[Rocktech BM102]] (2ch, 50MS/s, 20MHz BW)</small><br />
File:Dds120 mugshot.png|link=SainSmart DDS120|[[File:Nuvola OK.png|16px]] <small>[[SainSmart DDS120]] (2ch, 50MS/s, 20MHz BW)</small><br />
File:YiXingDianZi-MDSO.png|link=YiXingDianZi MDSO|[[File:Nuvola OK.png|16px]] <small>[[YiXingDianZi MDSO]] (2ch, 48MS/s, 20MHz BW)</small><br />
</gallery><br />
<br />
'''Work in progress [[File:Nuvola Orange.png|16px]] / planned [[File:Nuvola Red.png|16px]]:'''<br />
<br />
<gallery><br />
File:Dreamsourcelab dscope c20p front.jpg|link=DreamSourceLab DScope C20P|[[File:Nuvola Red.png|16px]] <small>[[DreamSourceLab DScope C20P]] (2ch, 200MS/s, 50MHz BW)</small><br />
File:Fluke scopemeter123.png|link=Fluke ScopeMeter 123|[[File:Nuvola Red.png|16px]] <small>[[Fluke ScopeMeter 123]] (2ch, 25MS/s, 20MHz BW)</small><br />
File:Focussz_fosc21_mugshot.png|link=Focussz Fosc21|[[File:Nuvola Red.png|16px]] <small>[[Focussz Fosc21]] (2ch, 8kS/s, 3kHz BW)</small><br />
File:Sigrok_logo_no_text_transparent_512.png|link=GW Instek GDS-2000 series|[[File:Nuvola Red.png|16px]] <small>[[GW Instek GDS-2000 series]] (2ch, 1GS/s, 60MHz/100MHz/200MHz BW)</small><br />
File:Hantek front.jpg|link=Hantek 6052BE|[[File:Nuvola Red.png|16px]] <small>[[Hantek 6052BE]] (2ch, 150MS/s, 50MHz BW)</small><br />
File:Hantek 6254bd mugshot.png|link=Hantek 6254BD|[[File:Nuvola Red.png|16px]] <small>[[Hantek 6254BD]] (4ch, 1GS/s, 250MHz BW)</small><br />
File:Sigrok_logo_no_text_transparent_512.png|link=Hantek DSO-1200|[[File:Nuvola Red.png|16px]] <small>[[Hantek DSO-1200]] (2ch, 500MS/s, 200MHz BW)</small><br />
File:Hantek_DSO_2100_usb.jpg|link=Hantek DSO-2100|[[File:Nuvola Red.png|16px]] <small>[[Hantek DSO-2100]] (2ch, 100M/s, 30MHz BW)</small><br />
File:Hantek DSO-220 Back.jpg|link=Hantek DSO-220|[[File:Nuvola Red.png|16px]] <small>[[Hantek DSO-220]] (2ch, 60MS/s, 20MHz BW)</small><br />
File:Hantek_PSO2020_0.JPG|link=Hantek PSO2020|[[File:Nuvola Red.png|16px]] <small>[[Hantek PSO2020]] (1ch, 96MS/s, 20MHz BW)</small><br />
File:Hantek dso2250 mugshot.png|link=Hantek DSO-2250|[[File:Nuvola Red.png|16px]] <small>[[Hantek DSO-2250]] (2ch, 250MS/s, 100MHz BW)</small><br />
File:Hantek dso-5200a device front.png|link=Hantek DSO-5200A|[[File:Nuvola Red.png|16px]] <small>[[Hantek DSO-5200A]] (2ch, 250MS/s, 200MHz BW)</small><br />
File:Hantek iDSO1070A.JPG|link=Hantek iDSO1070|[[File:Nuvola Red.png|16px]] <small>[[Hantek iDSO1070]] (2ch, 250MS/s, 70MHz BW)</small><br />
File:Sigrok_logo_no_text_transparent_512.png|link=Hantek iDSO1070A|[[File:Nuvola Red.png|16px]] <small>[[Hantek iDSO1070A]] (2ch, 125MS/s, 70MHz BW)</small><br />
File:Usbduxfast.png|link=Incite Technology USB-DUXfast|[[File:Nuvola Red.png|16px]] <small>[[Incite Technology USB-DUXfast]] (16ch, 3MHz, ? BW)</small><br />
File:Instrustar-IDS205A CaseFront.jpg|link=Instrustar ISDS205A|[[File:Nuvola Red.png|16px]] <small>[[Instrustar_ISDS205A]] (2ch, 48MS/s, 20MHz BW)</small><br />
File:Loto_OSC802.jpg|link=Loto OSC802|[[File:Nuvola Red.png|16px]] <small>[[Loto OSC802]] (2ch, 80MS/s, 20MHz BW)</small><br />
File:OsciPrime.png|link=Nexus-Computing OsciPrime|[[File:Nuvola Red.png|16px]] <small>[[Nexus-Computing OsciPrime]] (2ch, ?MS/s, 3.3MHz-8MHz BW)</small><br />
File:Sigrok_logo_no_text_transparent_512.png|link=Owon SDS series|[[File:Nuvola Red.png|16px]] <small>[[Owon SDS series]] (2ch, 0.5-3.2GS/s, 60-300MHz BW)</small><br />
File:Picoscope 2203.png|link=Pico Technology PicoScope 2203|[[File:Nuvola Red.png|16px]] <small>[[Pico Technology PicoScope 2203]] (40/20MS/s, 5MHz BW)</small><br />
File:Picoscope 2204A.png|link=Pico Technology PicoScope 2204A|[[File:Nuvola Red.png|16px]] <small>[[Pico Technology PicoScope 2204A]] (100MS/s, 10MHz BW)</small><br />
File:PicoScope_2205.png|link=Pico Technology PicoScope 2205|[[File:Nuvola Red.png|16px]] <small>[[Pico Technology PicoScope 2205]] (200/100MS/s, 25MHz BW)</small><br />
File:Picoscope 3206.png|link=Pico Technology PicoScope 3206|[[File:Nuvola Red.png|16px]] <small>[[Pico Technology PicoScope 3206]] (200/100MS/s, 200MHz BW)</small><br />
File:Picoscope 5203.png|link=Pico Technology PicoScope 5203|[[File:Nuvola Red.png|16px]] <small>[[Pico Technology PicoScope 5203]] (1/0.5GS/s, 250MHz BW)</small><br />
File:Sainsmart dds140 mugshot.png|link=SainSmart DDS140|[[File:Nuvola Red.png|16px]] <small>[[SainSmart DDS140]] (2ch, 200MS/s, 40MHz BW)</small><br />
File:Sigrok_logo_no_text_transparent_512.png|link=Soundcard|[[File:Nuvola Orange.png|16px]] <small>[[Soundcard]] (7.1ch, 192kS/s, 22kHz BW)</small><br />
File:Tektronix tds2024b mugshot.png|link=Tektronix TDS2000B series|[[File:Nuvola Red.png|16px]] <small>[[Tektronix TDS2000B series]] (2-4ch, 1-2GS/s, 60-200MHz BW)</small><br />
File:UNI-T UTD2042C.png|link=UNI-T UTD2042C|[[File:Nuvola Red.png|16px]] <small>[[UNI-T UTD2042C]] (2ch, 500MS/s, 40MHz BW)</small><br />
File:Velleman PCSU1000.png|link=Velleman PCSU1000|[[File:Nuvola Red.png|16px]] <small>[[Velleman PCSU1000]] (2ch, 1GS/s, 50MHz BW)</small><br />
File:VellemanWFS210.png|link=Velleman WFS210|[[File:Nuvola Red.png|16px]] <small>[[Velleman WFS210]] (2ch, 10MS/s, ?? MHz BW)</small><br />
File:Voltcraft dso-220 usb.png|link=Voltcraft DSO-220|[[File:Nuvola Red.png|16px]] <small>[[Voltcraft DSO-220]] (2ch, 60MS/s, 20MHz BW)</small><br />
File:Voltcraft DSO-3062C.png|link=Voltcraft DSO-3062C|[[File:Nuvola Orange.png|16px]] <small>[[Voltcraft DSO-3062C]] (2ch, 1GS/s, 60MHz BW)</small><br />
</gallery><br />
<br />
== Multimeters ==<br />
<br />
<gallery widths="100px" heights="100px"><br />
File:Sigrok_logo_no_text_transparent_512.png|link=Agilent_34401A|[[file:Nuvola OK.png|16px]] <small>[[Agilent 34401A]] (6.5 digits, GPIB, RS232)</small><br />
File:Agilent_34405A.png|link=Agilent_34405A|[[file:Nuvola OK.png|16px]] <small>[[Agilent 34405A]] (120000 counts, USB TMC)</small><br />
File:Agilent U1232A.png|link=Agilent U12xxx series|[[File:Nuvola OK.png|16px]] <small>[[Agilent U12xxx series]] (USB/Bluetooth)</small><br />
File:Bbc gm m2110 mugshot.png|link=BBC Goertz Metrawatt M2110|[[File:Nuvola OK.png|16px]] <small>[[BBC Goertz Metrawatt M2110]] (30000 counts, RS232)</small><br />
File:Brymen BM257.png|link=Brymen BM257|[[File:Nuvola OK.png|16px]] <small>[[Brymen BM257]] (6000 counts, RS232/USB)</small><br />
File:Brymen bm257s mugshot.png|link=Brymen BM257s|[[File:Nuvola OK.png|16px]] <small>[[Brymen BM257s]] (6000 counts, RS232/USB)</small><br />
File:Bm525s-mugshot.png|link=Brymen BM525s|[[File:Nuvola OK.png|16px]] <small>[[Brymen BM525s]] (10000 counts, USB)</small><br />
File:Bm829s-mugshot.png|link=Brymen BM829s|[[File:Nuvola OK.png|16px]] <small>[[Brymen BM829s]] (10000 counts, USB)</small><br />
File:Bm_857_mugshot_500000.png|link=Brymen BM857|[[File:Nuvola OK.png|16px]] <small>[[Brymen BM857]] (50000 counts, RS232)</small><br />
File:Bm859s-front-sleeve.png|link=Brymen BM859s|[[File:Nuvola OK.png|16px]] <small>[[Brymen BM859s]] (50000 counts, USB)</small><br />
File:Bm869_mugshot.png|link=Brymen BM869|[[File:Nuvola OK.png|16px]] <small>[[Brymen BM869]] (50000 counts, USB)</small><br />
File:Digitek_dt4000zc_device_front.png|link=Digitek DT4000ZC|[[File:Nuvola OK.png|16px]] <small>[[Digitek DT4000ZC]] (4000 counts, RS232)</small><br />
File:Eevblog 121gw mugshot.png|link=EEVBlog 121GW|[[File:Nuvola OK.png|16px]] <small>[[EEVBlog 121GW]] (50000 counts, BLE, SD)</small><br />
File:Fluke 187.png|link=Fluke 187/189|[[File:Nuvola OK.png|16px]] <small>[[Fluke 187/189]] (50000 counts, RS232)</small><br />
File:Fluke 287.png|link=Fluke 287/289|[[File:Nuvola OK.png|16px]] <small>[[Fluke 287/289]] (50000 counts, RS232)</small><br />
File:Fluke_45_mugshot.png|link=Fluke 45|[[File:Nuvola OK.png|16px]] <small>[[Fluke 45]] (100000 counts, GPIB/RS232)</small><br />
File:Gmc metrahit 14a logo.png|link=Gossen Metrawatt Metrahit 14A|[[File:Nuvola OK.png|16px]] <small>[[Gossen Metrawatt Metrahit 14A]] (3100 counts, RS232)</small><br />
File:Gossen Metrawatt Metrahit 16I small.png|link=Gossen Metrawatt Metrahit 16I|[[File:Nuvola OK.png|16px]] <small>[[Gossen Metrawatt Metrahit 16I]] (3100 counts, RS232)</small><br />
File:Gossen Metrawatt Metrahit 18S small.png|link=Gossen Metrawatt Metrahit 18S|[[File:Nuvola OK.png|16px]] <small>[[Gossen Metrawatt Metrahit 18S]] (31000 counts, RS232)</small><br />
File:Gossen Metrawatt Metrahit 25S Logo.png|link=Gossen Metrawatt Metrahit 25S|[[File:Nuvola OK.png|16px]] <small>[[Gossen Metrawatt Metrahit 25S]] (31000 counts, RS232/USB)</small><br />
File:Gmc metrahit 29s logo.png|link=Gossen Metrawatt Metrahit 29S|[[File:Nuvola OK.png|16px]] <small>[[Gossen Metrawatt Metrahit 29S]] (310000 counts, RS232/USB)</small><br />
File:Gmc kmm2002 logo.png|link=Gossen Metrawatt T-Com KMM2002|[[File:Nuvola OK.png|16px]] <small>[[Gossen Metrawatt T-Com KMM2002]] (3100 counts, RS232)</small><br />
File:Gdm-397_front.png|link=GW Instek GDM-397|[[File:Nuvola OK.png|16px]] <small>[[GW Instek GDM-397]] (4000 counts, RS232/USB)</small><br />
File:Gdm-8251a frontpanel.png|link=GW Instek GDM-8251A|[[File:Nuvola OK.png|16px]] <small>[[GW Instek GDM-8251A]] (120000 counts, RS232/USB/DigitalIO)</small><br />
File:Gdm-8251a frontpanel.png|link=GW Instek GDM-8255A|[[File:Nuvola OK.png|16px]] <small>[[GW Instek GDM-8255A]] (199999 counts, RS232/USB/DigitalIO)</small><br />
File:Gdm-9061_frontpanel.png|link=GW Instek GDM-9060|[[File:Nuvola OK.png|16px]] <small>[[GW Instek GDM-9060]] (1200000 counts, LAN/RS232/USB/DigitalIO/GPIB)</small><br />
File:Gdm-9061_frontpanel.png|link=GW Instek GDM-9061|[[File:Nuvola OK.png|16px]] <small>[[GW Instek GDM-9061]] (1200000 counts, LAN/RS232/USB/DigitalIO/GPIB)</small><br />
File:HP_3457a_sigrok_teaser.png|link=HP 3457A|[[File:Nuvola OK.png|16px]] <small>[[HP 3457A]] (7.5 digits, GPIB)</small><br />
File:Hp3478a mugshot.png|link=HP 3478A|[[File:Nuvola OK.png|16px]] <small>[[HP 3478A]] (5.5 digits, GPIB)</small><br />
File:HT410 logo.png|link=HT Instruments HT410|[[File:Nuvola OK.png|16px]] <small>[[HT Instruments HT410]] (3100 counts, RS232)</small><br />
File:100px_Idm103n.png|link=ISO-TECH IDM103N|[[File:Nuvola OK.png|16px]] <small>[[ISO-TECH IDM103N]] (4000 counts, RS232)</small><br />
File:keysight-34465a-mugshot.png|link=Keysight 34465A|[[File:Nuvola OK.png|16px]] <small>[[Keysight 34465A]] (1200000 counts, LAN/USB/GPIB)</small><br />
File:Mastech mas345 device front.png|link=MASTECH MAS345|[[File:Nuvola OK.png|16px]] <small>[[MASTECH MAS345]] (4000 counts, RS232)</small><br />
File:Mastech_ms2115b_mugshot.png|link=MASTECH MS2115B|[[File:Nuvola OK.png|16px]] <small>[[MASTECH MS2115B]] (6000 counts, USB)</small><br />
File:Mastech ms8250b mugshot.png|link=MASTECH MS8250B|[[File:Nuvola OK.png|16px]] <small>[[MASTECH MS8250B]] (4000 counts, USB)</small><br />
File:Mastech ms8250d mugshot.png|link=MASTECH MS8250D|[[File:Nuvola OK.png|16px]] <small>[[MASTECH MS8250D]] (6600 counts, USB)</small><br />
File:Meterman-38xr.png|link=Meterman_38XR|[[File:Nuvola OK.png|16px]] <small>[[Meterman 38XR]] (10000 counts, RS232)</small><br />
File:Metex M3850M mugshot.png|link=Metex M-3850M|[[File:Nuvola OK.png|16px]] <small>[[Metex M-3850M]] (4000 counts, RS232)</small><br />
File:Metex m4650cr mugshot.png|link=Metex M-4650CR|[[File:Nuvola OK.png|16px]] <small>[[Metex M-4650CR]] (20000 counts, RS232)</small><br />
File:Metex_ME-21.jpg|link=Metex ME-21|[[File:Nuvola OK.png|16px]] <small>[[Metex ME-21]] (2000 counts, RS232)</small><br />
File:Metex_me-31.png|link=Metex ME-31|[[File:Nuvola OK.png|16px]] <small>[[Metex ME-31]] (4000 counts, RS232)</small><br />
File:Metrix mx56c.png|link=Metrix MX56C|[[File:Nuvola OK.png|16px]] <small>[[Metrix MX56C]] (50000 counts, RS232)</small><br />
File:Mooshimeter_mugshot.png|link=Mooshim Engineering Mooshimeter|[[File:Nuvola OK.png|16px]] <small>[[Mooshim Engineering Mooshimeter]] (24bit, BLE)</small><br />
File:Norma dm950.png|link=Norma DM950|[[File:Nuvola OK.png|16px]] <small>[[Norma DM950]] (21000 counts, RS232)</small><br />
File:Pce-pce-dm32.png|link=PCE PCE-DM32|[[File:Nuvola OK.png|16px]] <small>[[PCE PCE-DM32]] (4000 counts, RS232)</small><br />
File:Peaktech 3330 mugshot.png|link=PeakTech 3330|[[File:Nuvola OK.png|16px]] <small>[[PeakTech 3330]] (4000 counts, RS232/USB)</small><br />
File:Metex_me-31.png|link=PeakTech 3410|[[File:Nuvola OK.png|16px]] <small>[[PeakTech 3410]] (4000 counts, RS232)</small><br />
File:Peaktech3415_top.png|link=PeakTech 3415|[[File:Nuvola OK.png|16px]] <small>[[PeakTech 3415]] (6000 counts, USB)</small><br />
File:Peaktech 4370 device front.png|link=PeakTech 4370|[[File:Nuvola OK.png|16px]] <small>[[PeakTech 4370]] (2000 counts, RS232)</small><br />
File:Peaktech 4390a metex m-3860m mugshot.png|link=PeakTech 4390A|[[File:Nuvola OK.png|16px]] <small>[[PeakTech 4390A]] (4000 counts, RS232)</small><br />
File:Rs_22_168_mugshot.png|link=RadioShack 22-168|[[File:Nuvola OK.png|16px]] <small>[[RadioShack 22-168]] (2000 counts, RS232)</small><br />
File:Rs_22-805_front.png|link=RadioShack 22-805|[[File:Nuvola OK.png|16px]] <small>[[RadioShack 22-805]] (4000 counts, RS232)</small><br />
File:radioshack_22_812_front.png|link=RadioShack 22-812|[[File:Nuvola OK.png|16px]] <small>[[RadioShack 22-812]] (4000 counts, RS232)</small><br />
File:siemens_b1026_logo.png|link=Siemens B1026|[[File:Nuvola OK.png|16px]] <small>[[Siemens B1026]] (21000 counts, RS232)</small><br />
File:Siemens B1105 small.png|link=Siemens B1105|[[File:Nuvola OK.png|16px]] <small>[[Siemens B1105]] (310000 counts, RS232/USB)</small><br />
File:Sparkfun 70c mugshot.png|link=SparkFun 70C|[[File:Nuvola OK.png|16px]] <small>[[SparkFun 70C]] (6000 counts, USB)</small><br />
File:Tecpel dmm8061.png|link=Tecpel DMM-8061|[[File:Nuvola OK.png|16px]] <small>[[Tecpel DMM-8061]] (4000 counts, RS232/USB)</small><br />
File:Tp4000zc_front.png|link=TekPower TP4000ZC|[[File:Nuvola OK.png|16px]] <small>[[TekPower TP4000ZC]] (4000 counts, RS232)</small><br />
File:Tenma 72-7730.png|link=Tenma 72-7730|[[File:Nuvola OK.png|16px]] <small>[[Tenma 72-7730]] (20000 counts, RS232/USB)</small><br />
File:Tenma 72-7732.png|link=Tenma 72-7732|[[File:Nuvola OK.png|16px]] <small>[[Tenma 72-7732]] (40000 counts, RS232/USB)</small><br />
File:Tenma 72-7745.png|link=Tenma 72-7745|[[File:Nuvola OK.png|16px]] <small>[[Tenma 72-7745]] (4000 counts, RS232/USB)</small><br />
File:Tenma 72-7750.png|link=Tenma 72-7750|[[File:Nuvola OK.png|16px]] <small>[[Tenma 72-7750]] (6000 counts, RS232/USB)</small><br />
File:Tenma 72-9380A.png|link=Tenma 72-9380A|[[File:Nuvola OK.png|16px]] <small>[[Tenma 72-9380A]] (40000 counts, RS232/USB)</small><br />
File:Ut60e_-_front_-_alpha.png|link=UNI-T UT60E|[[File:Nuvola OK.png|16px]] <small>[[UNI-T UT60E]] (4000 counts, RS232/USB)</small><br />
File:Uni-t ut61b mugshot.png|link=UNI-T UT61B|[[File:Nuvola OK.png|16px]] <small>[[UNI-T UT61B]] (4000 counts, RS232/USB)</small><br />
File:Uni-t ut61c mugshot.png|link=UNI-T UT61C|[[File:Nuvola OK.png|16px]] <small>[[UNI-T UT61C]] (6000 counts, RS232/USB)</small><br />
File:Uni t ut61d device.png|link=UNI-T UT61D|[[File:Nuvola OK.png|16px]] <small>[[UNI-T UT61D]] (6000 counts, RS232/USB)</small><br />
File:Old ver front.png|link=UNI-T UT61E|[[File:Nuvola OK.png|16px]] <small>[[UNI-T UT61E]] (22000 counts, RS232/USB)</small><br />
File:Ut71c mugshot.png|link=UNI-T UT71C|[[File:Nuvola OK.png|16px]] <small>[[UNI-T UT71C]] (40000 counts, RS232/USB)</small><br />
File:Uni-t-ut181a mugshot.png|link=UNI-T UT181A|[[File:Nuvola OK.png|16px]] <small>[[UNI-T UT181A]] (60000 counts, USB)</small><br />
File:Va_va18b.png|link=V&A VA18B|[[File:Nuvola OK.png|16px]] <small>[[V&A VA18B]] (6000 counts, USB)</small><br />
File:Va va40b mugshot.png|link=V&A VA40B|link=V&A VA40B|[[File:Nuvola OK.png|16px]] <small>[[V&A VA40B]] (6000 counts, USB)</small><br />
File:DVM4100.png|link=Velleman DVM4100|link=Velleman DVM4100|[[File:Nuvola OK.png|16px]] <small>[[Velleman DVM4100]] (6000 counts, USB)</small><br />
File:Victor 70C.png|link=Victor 70C|[[File:Nuvola OK.png|16px]] <small>[[Victor 70C]] (4000 counts, USB)</small><br />
File:Victor 86c device front.png|link=Victor 86C|[[File:Nuvola OK.png|16px]] <small>[[Victor 86C]] (4000 counts, USB)</small><br />
File:Voltcraft m-3650cr.png|link=Voltcraft M-3650CR|[[File:Nuvola OK.png|16px]] <small>[[Voltcraft M-3650CR]] (2000 counts, RS232)</small><br />
File:Voltcraft_M-3650D_transparent.png|link=Voltcraft M-3650D|[[File:Nuvola OK.png|16px]] <small>[[Voltcraft M-3650D]] (2000 counts, RS232)</small><br />
File:Voltcraft m4650cr.png|link=Voltcraft M-4650CR|[[File:Nuvola OK.png|16px]] <small>[[Voltcraft M-4650CR]] (20000 counts, RS232)</small><br />
File:Voltcraft ME-42 logo.png|link=Voltcraft ME-42|[[File:Nuvola OK.png|16px]] <small>[[Voltcraft ME-42]] (4000 counts, RS232)</small><br />
File:Voltcraft vc820 device.png|link=Voltcraft VC-820|[[File:Nuvola OK.png|16px]] <small>[[Voltcraft VC-820]] (4000 counts, RS232/USB)</small><br />
File:Voltcraft vc830.png|link=Voltcraft VC-830|[[File:Nuvola OK.png|16px]] <small>[[Voltcraft VC-830]] (6000 counts, RS232/USB)</small><br />
File:Voltcraft vc840 device front.png|link=Voltcraft VC-840|[[File:Nuvola OK.png|16px]] <small>[[Voltcraft VC-840]] (4000 counts, RS232/USB)</small><br />
File:Voltcraft vc870 mugshot.png|link=Voltcraft VC-870|[[File:Nuvola OK.png|16px]] <small>[[Voltcraft VC-870]] (40000 counts, RS232/USB)</small><br />
File:Voltcraft vc920.png|link=Voltcraft VC-920|[[File:Nuvola OK.png|16px]] <small>[[Voltcraft VC-920]] (40000/4000 counts, RS232/USB)</small><br />
File:Voltcraft vc940.png|link=Voltcraft VC-940|[[File:Nuvola OK.png|16px]] <small>[[Voltcraft VC-940]] (40000/4000 counts, RS232/USB)</small><br />
File:Voltcraft vc96 mugshot.png|link=Voltcraft VC-96|[[File:Nuvola OK.png|16px]] <small>[[Voltcraft VC-96]] (4000 counts, RS232)</small><br />
</gallery><br />
<br />
'''Work in progress [[File:Nuvola Orange.png|16px]] / planned [[File:Nuvola Red.png|16px]]:'''<br />
<br />
<gallery><br />
File:Appa 107.png|link=APPA 107|[[File:Nuvola Orange.png|16px]] <small>[[APPA 107]] (4000 / 20000 counts, RS232)</small><br />
File:Sigrok_logo_no_text_transparent_512.png|link=APPA Multimeters|[[File:Nuvola Orange.png|16px]] <small>[[APPA Multimeters]] (Most models, Optical RS232/USB, BLE)</small><br />
File:Benning MM 12 - 01 - Front Sleeve.png|link=BENNING MM 12|[[File:Nuvola Orange.png|16px]] <small>[[BENNING MM 12]] (40000 counts, RS232/USB, BLE)</small><br />
File:Sigrok_logo_no_text_transparent_512.png|link=CEM DT-987BT|[[File:Nuvola Red.png|16px]] <small>[[CEM DT-987BT]] (50000 counts, BLE)</small><br />
File:Digitek dt8000.png|link=Digitek DT8000|[[File:Nuvola Red.png|16px]] <small>[[Digitek DT8000]] (8000 counts, RS232)</small><br />
File:Digitek dt80000.png|link=Digitek DT80000|[[File:Nuvola Red.png|16px]] <small>[[Digitek DT80000]] (80000 counts, RS232)</small><br />
File:Escort 179 device front.png|link=Escort 179|[[File:Nuvola Red.png|16px]] <small>[[Escort 179]] (10000 counts, RS232)</small><br />
File:Sigrok_logo_no_text_transparent_512.png|link=Gossen Metrawatt Metrahit 28C|[[File:Nuvola Red.png|16px]] <small>[[Gossen Metrawatt Metrahit 28C]] (310000 counts, RS232/USB)</small><br />
File:Sigrok_logo_no_text_transparent_512.png|link=Gossen Metrawatt Metrahit 28S|[[File:Nuvola Red.png|16px]] <small>[[Gossen Metrawatt Metrahit 28S]] (310000 counts, RS232/USB)</small><br />
File:Gossen metrahit 30m.png|link=Gossen-Metrawatt METRAHIT 30M|[[File:Nuvola Red.png|16px]] <small>[[Gossen-Metrawatt METRAHIT 30M]] (1200000 counts, RS232/USB)</small><br />
File:Sigrok_logo_no_text_transparent_512.png|link=Gossen Metrawatt Metrahit X-Tra|[[File:Nuvola Red.png|16px]] <small>[[Gossen Metrawatt Metrahit X-Tra]] (12000 counts, USB)</small><br />
File:Sigrok_logo_no_text_transparent_512.png|link=HYELEC MS8236|[[File:Nuvola Red.png|16px]] <small>[[HYELEC MS8236]] (6000 counts, USB)</small><br />
File:800px-Mastech m9803r device front.png|link=MASTECH M9803R|[[File:Nuvola Red.png|16px]] <small>[[MASTECH M9803R]] (4000 counts, RS232)</small><br />
File:Metrix mx53.png|link=Metrix MX53|[[File:Nuvola Red.png|16px]] <small>[[Metrix MX53]] (50000 counts, RS232)</small><br />
File:Owon_XDM2041.JPG|link=Owon XDM2041|[[File:Nuvola Orange.png|16px]] <small>[[Owon XDM2041]] (55000 counts, RS232)</small><br />
File:Peaktech-3442-front.png|link=PeakTech 3442|[[File:Nuvola Red.png|16px]] <small>[[PeakTech 3442]] (50000 counts, BLE)</small><br />
File:Peaktech 4380 mugshot.png|link=PeakTech 4380|[[File:Nuvola Red.png|16px]] <small>[[PeakTech 4380]] (4000 counts, RS232)</small><br />
File:Peaktech 4390 mugshot.png|link=PeakTech 4390|[[File:Nuvola Red.png|16px]] <small>[[PeakTech 4390]] (6000 counts, USB)</small><br />
File:Sigrok_logo_no_text_transparent_512.png|link=Protek 6500|[[File:Nuvola Red.png|16px]] <small>[[Protek 6500]] (50000 counts, RS232)</small><br />
File:Rigol DM3068 front.png|link=Rigol DM3068|[[File:Nuvola Red.png|16px]] <small>[[Rigol DM3068]] (2200000 counts, LAN/USB/GPIB/RS232)</small><br />
File:RS PRO S2 - 01 - Front.png|link=RS PRO S2|[[File:Nuvola Orange.png|16px]] <small>[[RS PRO S2]] (6000 counts, BLE)</small><br />
File:Tenma 72-1016.png|link=Tenma 72-1016|[[File:Nuvola Red.png|16px]] <small>[[Tenma 72-1016]] (6000 counts, RS232/USB)</small><br />
File:Uni-t-ut81b mugshot.png|link=UNI-T UT81B|[[File:Nuvola Red.png|16px]] <small>[[UNI-T UT81B]] (6000 counts, USB)</small><br />
File:Voltcraft 3850D front transp.png|link=Voltcraft M-3850D|[[File:Nuvola Red.png|16px]] <small>[[Voltcraft M-3850D]] (4000 counts, RS232)</small><br />
File:Voltcraft m3890dt usb.png|link=Voltcraft M-3890DT|[[File:Nuvola Red.png|16px]] <small>[[Voltcraft M-3890DT]] (4000 counts, USB)</small><br />
File:Voltcraft m4660a device front.png|link=Voltcraft M-4660A|[[File:Nuvola Red.png|16px]] <small>[[Voltcraft M-4660A]] (20000 counts, RS232)</small><br />
File:Voltcraft vc890 mugshot.png|link=Voltcraft VC-890|[[File:Nuvola Red.png|16px]] <small>[[Voltcraft VC-890]] (60000 counts, USB/serial)</small><br />
File:Voltcraft VC-950 - 01 - Front.png|link=Voltcraft VC-950|[[File:Nuvola Orange.png|16px]] <small>[[Voltcraft VC-950]] (100000/10000 counts, serial/USB)</small><br />
</gallery><br />
<br />
== LCR meters ==<br />
<br />
<gallery widths="100Px" heights="100px"><br />
File:Der ee de-5000 mugshot.png|link=DER EE DE-5000|[[File:Nuvola_OK.png|16px]] <small>[[DER EE DE-5000]] (serial)</small><br />
File:Sigrok_logo_no_text_transparent_512.png|link=MASTECH MS5308|[[File:Nuvola_OK.png|16px]] <small>[[MASTECH MS5308]] (serial)</small><br />
File:peaktech2165-front.png|link=Peaktech 2165|[[File:Nuvola_OK.png|16px]] <small>[[Peaktech 2165]] (serial)</small><br />
File:Peaktech 2170 mugshot.png|link=PeakTech 2170|[[File:Nuvola_OK.png|16px]] <small>[[PeakTech 2170]] (serial)</small><br />
File:uni_t_ut612_1.png|link=UNI-T UT612|[[File:Nuvola_OK.png|16px]] <small>[[UNI-T UT612]] (USB/HID)</small><br />
File:Voltcraft4080_2.png|link=Voltcraft 4080|[[File:Nuvola_OK.png|16px]] <small>[[Voltcraft 4080]] (serial)</small><br />
</gallery><br />
<br />
'''Work in progress [[File:Nuvola Orange.png|16px]] / planned [[File:Nuvola Red.png|16px]]:'''<br />
<br />
<gallery widths="100px" heights="100px"><br />
File:Agilent U1732B.png|link=Agilent U1732B|[[File:Nuvola Red.png|16px]] <small>[[Agilent U1732B]] (IR)</small><br />
File:Sigrok_logo_no_text_transparent_512.png|link=BK Precision 879B|[[File:Nuvola Red.png|16px]] <small>[[BK Precision 879B]] (USB)</small><br />
</gallery><br />
<br />
== Sound level meters ==<br />
<br />
<gallery widths="100px" heights="100px"><br />
File:CEM DT-8852.png|link=CEM DT-8852|[[File:Nuvola OK.png|16px]] <small>[[CEM DT-8852]] (USB)</small><br />
File:Colead SL-5868P.png|link=Colead SL-5868P|[[File:Nuvola OK.png|16px]] <small>[[Colead SL-5868P]] (RS232)</small><br />
File:Kecheng KC-330B.png|link=Kecheng KC-330B|[[File:Nuvola OK.png|16px]] <small>[[Kecheng KC-330B]] (RS232)</small><br />
File:PCE-322A.png|link=PCE PCE-322A|[[File:Nuvola OK.png|16px]] <small>[[PCE PCE-322A]] (USB)</small><br />
File:Tondaj sl-814.png|link=Tondaj SL-814|[[File:Nuvola OK.png|16px]] <small>[[Tondaj SL-814]] (USB)</small><br />
</gallery><br />
<br />
'''Work in progress [[File:Nuvola Orange.png|16px]] / planned [[File:Nuvola Red.png|16px]]:'''<br />
<br />
<gallery><br />
File:Pce_pce-222_front.png|link=PCE PCE-222|[[File:Nuvola Red.png|16px]] <small>[[PCE PCE-222]] (also: light-/thermo-/hygrometer; RS232)</small><br />
File:Voltcraft_dl_160s.png|link=Voltcraft DL-160S|[[File:Nuvola Red.png|16px]] <small>[[Voltcraft DL-160S]] (USB)</small><br />
File:Voltcraft_DL-161S.png|link=Voltcraft DL-161S|[[File:Nuvola Red.png|16px]] <small>[[Voltcraft DL-161S]] (USB)</small><br />
</gallery><br />
<br />
== Thermometers ==<br />
<br />
<gallery widths="100px" heights="100px"><br />
File:rs55ii.png|link=APPA 55II|[[File:Nuvola OK.png|16px]] <small>[[APPA 55II]] (2xtemp, RS232)</small><br />
File:EL-USB-2.png|link=Lascar Electronics EL-USB-2|[[File:Nuvola OK.png|16px]] <small>[[Lascar Electronics EL-USB-2]] (1xtemp, 1xhum, USB)</small><br />
File:MASTECH_MS6514_mugshot.png|link=MASTECH MS6514|[[File:Nuvola OK.png|16px]] <small>[[MASTECH MS6514]] (2x temp, USB/serial)</small><br />
File:Mic 98581.png|link=MIC 98581|[[File:Nuvola OK.png|16px]] <small>[[MIC 98581]] (1xtemp, USB)</small><br />
File:Mic 98583.png|link=MIC 98583|[[File:Nuvola OK.png|16px]] <small>[[MIC 98583]] (1xtemp, 1xhum, USB)</small><br />
File:Uni-t ut325 front.png|link=UNI-T UT325|[[File:Nuvola OK.png|16px]] <small>[[UNI-T UT325]] (2xtemp, USB)</small><br />
File:Voltcraft k204.png|link=Voltcraft K204|[[File:Nuvola OK.png|16px]] <small>[[Voltcraft K204]] (4xtemp, RS232)</small><br />
</gallery><br />
<br />
'''Work in progress [[File:Nuvola Orange.png|16px]] / planned [[File:Nuvola Red.png|16px]]:'''<br />
<br />
<gallery><br />
File:Elitech rc3.png|link=Elitech RC-3|[[File:Nuvola Red.png|16px]] <small>[[Elitech RC-3]] (1xtemp, RS232)</small><br />
File:Escort 19.png|link=Escort 19|[[File:Nuvola Red.png|16px]] <small>[[Escort 19]] (1x temp, RS232)</small><br />
File:Pax_instruments_t400.jpg|link=Pax Instruments T400|[[File:Nuvola Red.png|16px]] <small>[[Pax Instruments T400]] (4xtemp, USB)</small><br />
File:Pce_pce-222_front.png|link=PCE PCE-222|[[File:Nuvola Red.png|16px]] <small>[[PCE PCE-222]] (1xtemp, RS232)</small><br />
File:Rding temper front.png|link=RDing TEMPer|[[File:Nuvola Red.png|16px]] <small>[[RDing TEMPer]] (1xtemp, USB)</small><br />
File:Rding temper gold device front.png|link=RDing TEMPer Gold|[[File:Nuvola Red.png|16px]] <small>[[RDing TEMPer Gold]] (1xtemp, USB)</small><br />
File:Rding temper1 device front.png|link=RDing TEMPer1|[[File:Nuvola Red.png|16px]] <small>[[RDing TEMPer1]] (1xtemp, USB)</small><br />
File:Pcsensor_temper1k2.png|link=RDing TEMPer1K2|[[File:Nuvola Red.png|16px]] <small>[[RDing TEMPer1K2]] (1xtemp, USB)</small><br />
File:Voltcraft dl-120th.png|link=Voltcraft DL-120TH|[[File:Nuvola Red.png|16px]] <small>[[Voltcraft DL-120TH]] (1xtemp, USB)</small><br />
File:Voltcraft dl-140th.png|link=Voltcraft DL-140TH|[[File:Nuvola Red.png|16px]] <small>[[Voltcraft DL-140TH]] (1xtemp, USB)</small><br />
</gallery><br />
<br />
== Hygrometers ==<br />
<br />
<gallery widths="100px" heights="100px"><br />
File:EL-USB-2.png|link=Lascar Electronics EL-USB-2|[[File:Nuvola OK.png|16px]] <small>[[Lascar Electronics EL-USB-2]] (temp/humidity, USB)</small><br />
File:Mic 98583.png|link=MIC 98583|[[File:Nuvola OK.png|16px]] <small>[[MIC 98583]] (temp/humidity, USB)</small><br />
</gallery><br />
<br />
'''Work in progress [[File:Nuvola Orange.png|16px]] / planned [[File:Nuvola Red.png|16px]]:'''<br />
<br />
<gallery><br />
File:Pce_pce-222_front.png|link=PCE PCE-222|[[File:Nuvola Red.png|16px]] <small>[[PCE PCE-222]] (also: light-/soundlevelmeter; RS232)</small><br />
File:Silabs si7005usb dgl eb top.jpg|link=SiLabs Si7005USB-Dongle|[[File:Nuvola Red.png|16px]] <small>[[SiLabs Si7005USB-Dongle]] (USB)</small><br />
</gallery><br />
<br />
== Anemometers ==<br />
<br />
'''Work in progress [[File:Nuvola Orange.png|16px]] / planned [[File:Nuvola Red.png|16px]]:'''<br />
<br />
<gallery widths="100px" heights="100px"><br />
File:Mastech ms6252b.png|link=MASTECH MS6252B|[[File:Nuvola Red.png|16px]] <small>[[MASTECH MS6252B]] (USB)</small><br />
</gallery><br />
<br />
== Light meters ==<br />
<br />
'''Work in progress [[File:Nuvola Orange.png|16px]] / planned [[File:Nuvola Red.png|16px]]:'''<br />
<br />
<gallery widths="100px" heights="100px"><br />
File:Lutron YK-2005LX.png|link=Lutron YK-2005LX|[[File:Nuvola Red.png|16px]] <small>[[Lutron YK-2005LX]] (RS232)</small><br />
File:Pce_pce-222_front.png|link=PCE PCE-222|[[File:Nuvola Red.png|16px]] <small>[[PCE PCE-222]] (RS232)</small><br />
</gallery><br />
<br />
== Energy meters ==<br />
<br />
<gallery widths="100px" heights="100px"><br />
File:Actaris_a14c5_teleinfo.png|link=EDF Teleinfo|[[File:Nuvola OK.png|16px]] <small>[[EDF Teleinfo]] (RS232)</small><br />
File:Acme.png|link=BayLibre ACME|[[File:Nuvola OK.png|16px]] <small>[[BayLibre ACME]] (I2C)</small><br />
File:UM24C_display.jpg|link=RDTech_UM_series|[[File:Nuvola OK.png|16px]] <small>[[RDTech UM series]] (USB testers)</small><br />
File:UM24C display.jpg|link=RDTech_TC66C|[[File:Nuvola OK.png|16px]] <small>[[RDTech TC66C]] (USB tester)</small><br />
</gallery><br />
<br />
== DAQs ==<br />
<br />
'''Work in progress [[File:Nuvola Orange.png|16px]] / planned [[File:Nuvola Red.png|16px]]:'''<br />
<br />
<gallery widths="100px" heights="100px"><br />
File:Ni usb 6008.png|link=NI USB-6008|[[File:Nuvola Red.png|16px]] <small>[[NI USB-6008]] (8/2 analog inputs/outputs, 12 digital I/Os)</small><br />
</gallery><br />
<br />
== Dataloggers ==<br />
<br />
<gallery widths="100px" heights="100px"><br />
File:EL-USB-CO.png|link=Lascar Electronics EL-USB-CO|[[File:Nuvola OK.png|16px]] <small>[[Lascar Electronics EL-USB-CO]] (carbon monoxide (CO) logger, USB)</small><br />
File:Testo_435-4.png|link=Testo 435-4|[[File:Nuvola OK.png|16px]] <small>[[Testo 435-4]] (USB)</small><br />
</gallery><br />
<br />
'''Work in progress [[File:Nuvola Orange.png|16px]] / planned [[File:Nuvola Red.png|16px]]:'''<br />
<br />
<gallery><br />
File:Gsg_indoor_air_monitor.png|link=GSG Indoor Air Monitor|[[File:Nuvola Red.png|16px]] <small>[[GSG Indoor Air Monitor]] (air quality monitor, USB)</small><br />
File:Maul_studio_i.png|link=MAUL studio i|[[File:Nuvola Red.png|16px]] <small>[[MAUL studio i]] (weighing scale, RS232)</small><br />
File:Voltcraft co-20.png|link=Voltcraft CO-20|[[File:Nuvola Red.png|16px]] <small>[[Voltcraft CO-20]] (air quality monitor, USB)</small><br />
</gallery><br />
<br />
== Tachometers ==<br />
<br />
<gallery widths="100px" heights="100px"><br />
File:Uni-t ut372 mugshot.png|link=UNI-T UT372|[[File:Nuvola OK.png|16px]] <small>[[UNI-T UT372]] (USB)</small><br />
</gallery><br />
<br />
== Scales ==<br />
<br />
<gallery widths="100px" heights="100px"><br />
File:Kern ew-6200-2nm mugshot.png|link=KERN scale series|[[File:Nuvola OK.png|16px]] <small>[[KERN scale series]] (RS232)</small><br />
</gallery><br />
<br />
== Digital loads ==<br />
<br />
<gallery widths="100px" heights="100px"><br />
File:Arachnid Labs ReLoad Pro - Mugshot.png|link=Arachnid Labs Reload Pro|[[File:Nuvola OK.png|16px]] <small>[[Arachnid Labs Reload Pro]] (USB)</small><br />
File:Itech It8511plus frontpanel.png|link=ITECH IT8500 series|[[File:Nuvola OK.png|16px]] <small>[[ITECH IT8500 series]]</small><br />
File:Maynuo m9812 mugshot.png|link=Maynuo M9812|[[File:Nuvola OK.png|16px]] <small>[[Maynuo M9812]]</small><br />
File:Ztetech-ebd-usb%2B.png|link=ZKETECH_EBD-USB|[[File:Nuvola OK.png|16px]] <small>[[ZKETECH EBD-USB]]</small><br />
</gallery><br />
<br />
'''Work in progress [[File:Nuvola Orange.png|16px]] / planned [[File:Nuvola Red.png|16px]]:'''<br />
<br />
<gallery><br />
File:Atten ATZ9711.png|link=ATTEN ATZ9711|[[File:Nuvola Red.png|16px]] <small>[[ATTEN ATZ9711]]</small><br />
</gallery><br />
<br />
== Function generators ==<br />
<br />
<gallery widths="100px" heights="100px"><br />
File:Sigrok_logo_no_text_transparent_512.png|link=Rohde&Schwarz SME series|[[file:Nuvola OK.png|16px]] <small>[[Rohde&Schwarz SME series]] (1ch, various, GPIB&RS232)</small><br />
File:Rigol_DG811_frontpanel.png|link=Rigol DG800 Series|[[File:Nuvola OK.png|16px]] <small>[[Rigol DG800 Series]] (1-2ch, 10/25/35MHz, USB)</small><br />
File:Sigrok_logo_no_text_transparent_512.png|link=Rigol DG900 Series|[[File:Nuvola OK.png|16px]] <small>[[Rigol DG900 Series]] (2ch, 50/70/100MHz, USB)</small><br />
File:Dg1000z_series.png|link=Rigol DG1000z Series|[[File:Nuvola OK.png|16px]] <small>[[Rigol DG1000z Series]] (2ch, 25/35/60MHz, USB, LAN)</small><br />
</gallery><br />
<br />
'''Work in progress [[File:Nuvola Orange.png|16px]] / planned [[File:Nuvola Red.png|16px]]:'''<br />
<br />
<gallery widths="100px" heights="100px"><br />
File:BG7TBL small.png|link=BG7TBL|[[File:Nuvola Red.png|16px]] <small>[[BG7TBL]] (138MHz-4.4GHz, PC-based, USB)</small><br />
File:Hantek DDS-3X25 top.png|link=Hantek DDS-3X25|[[File:Nuvola Red.png|16px]] <small>[[Hantek DDS-3X25]] (25MHz, PC-based, USB)</small><br />
File:Hp_3325a_front.png|link=HO 3325A|[[File:Nuvola Red.png|16px]] <small>[[HP 3325A]] (20MHz, GPIB)</small><br />
File:Jds6600-mugshot.png|link=Joy-IT JDS6600|[[File:Nuvola Red.png|16px]] <small>[[Joy-IT JDS6600]] (60MHz, USB RS232)</small><br />
File:MHINSTEK UDB1305S persp.jpg|link=MHINSTEK UDB1xxxS|[[File:Nuvola Red.png|16px]] <small>[[MHINSTEK UDB1xxxS]] (2/5/8MHz, Serial)</small><br />
File:MHINSTEK MHS-5200A persp.jpg|link=MHINSTEK MHS-5200A|[[File:Nuvola Orange.png|16px]] <small>[[MHINSTEK MHS-5200A]] (6/12/20/25MHz, USB)</small><br />
File:Siglent sdg1010 device front 8116.png|link=Siglent SDG1010|[[File:Nuvola Red.png|16px]] <small>[[Siglent SDG1010]] (10MHz, USB)</small><br />
File:Sigrok_logo_no_text_transparent_512.png|link=Velleman PCG10|[[File:Nuvola Red.png|16px]] <small>[[Velleman PCG10]] (1MHz, PC-based, LPT)</small><br />
</gallery><br />
<br />
== Frequency counters ==<br />
<br />
'''Work in progress [[File:Nuvola Orange.png|16px]] / planned [[File:Nuvola Red.png|16px]]:'''<br />
<br />
<gallery widths="100px" heights="100px"><br />
File:Hantek DDS-3X25 top.png|link=Hantek DDS-3X25|[[File:Nuvola Red.png|16px]] <small>[[Hantek DDS-3X25]] (50MHz, PC-based, USB)</small><br />
File:HP 5350B.png|link=HP 5350B|[[File:Nuvola Red.png|16px]] <small>[[HP 5350B]] (10Hz-20GHz, GPIB)</small><br />
</gallery><br />
<br />
== RF receivers ==<br />
<br />
'''Work in progress [[File:Nuvola Orange.png|16px]] / planned [[File:Nuvola Red.png|16px]]:'''<br />
<br />
<gallery widths="100px" heights="100px"><br />
File:Per vices noctar.png|link=Per Vices Noctar|[[File:Nuvola Red.png|16px]] <small>[[Per Vices Noctar]] (100kHz-4GHz, IQ modulator/demodulator, PCIe)</small><br />
</gallery><br />
<br />
== Spectrum analyzers ==<br />
<br />
'''Work in progress [[File:Nuvola Orange.png|16px]] / planned [[File:Nuvola Red.png|16px]]:'''<br />
<br />
<gallery widths="100px" heights="100px"><br />
File:Sigrok_logo_no_text_transparent_512.png|link=Siglent SSA3000X series|[[File:Nuvola Red.png|16px]] <small>[[Siglent SSA3000X series]] (9kHz-2.1GHz, USB, Ethernet)</small><br />
</gallery><br />
<br />
== Power supplies ==<br />
<br />
<gallery widths="100px" heights="100px"><br />
File:Sigrok logo no text transparent 512.png|link=Agilent N5700 series|[[File:Nuvola OK.png|16px]] <small>[[Agilent N5700 series]]</small><br />
File:Atten PPS3203T-3S.png|link=Atten PPS3203T-3S|[[File:Nuvola OK.png|16px]] <small>[[Atten PPS3203T-3S]] (3ch, 2x 0-32V, 1x 0-6V at 0-3A, USB&RS232)</small><br />
File:Sigrok logo no text transparent 512.png|link=BK Precision 9310|[[File:Nuvola OK.png|16px]] <small>[[BK Precision 9310]]</small><br />
File:Chroma_61604_front.png|link=Chroma 61604|[[File:Nuvola OK.png|16px]] <small>[[Chroma 61604]] (1ch, 0-300V, 0-16A, 2kVA)</small><br />
File:Conrad_digi_35_cpu_logo.png|link=Conrad DIGI 35 CPU|[[File:Nuvola OK.png|16px]] <small>[[Conrad DIGI 35 CPU]] (1ch, 0-35V / 0-2.55A, RS232)</small><br />
File:Envox_eez_h24005_front_panel.jpg|link=Envox EEZ H24005|[[File:Nuvola OK.png|16px]] <small>[[Envox EEZ H24005]] (2ch, USB&LAN)</small><br />
File:Envox_eez_bb3_enclosure_prototype.jpg|link=Envox EEZ Bench Box 3|[[File:Nuvola OK.png|16px]] <small>[[Envox EEZ Bench Box 3]] (6ch, modular, USB&LAN)</small><br />
File:Gwinstek-gpd-3303s.png|link=GW Instek GPD series|[[File:Nuvola OK.png|16px]] <small>[[GW Instek GPD series]] (2/3/4ch, 0-30V / 0-3A, USB/serial)</small><br />
File:Sigrok logo no text transparent 512.png|link=HP 661xC series|[[File:Nuvola OK.png|16px]] <small>[[HP 661xC series]]</small><br />
File:Agilent-66312a-mugshot.png|link=HP 66312A|[[File:Nuvola OK.png|16px]] <small>[[HP 66312A]] (1ch, 0-20V / 0-2A, GPIB&RS232)</small><br />
File:HP-6632B_mugshot.png|link=HP 6632B|[[File:Nuvola OK.png|16px]] <small>[[HP 6632B]] (1ch, 0-20V / 0-5A, GPIB&RS232)</small><br />
File:Velleman ps3005d mugshot.png|link=Korad KAxxxxP series|[[File:Nuvola OK.png|16px]] <small>[[Korad KAxxxxP series]] (1ch, 0-30V / 0-5A, USB&RS232)</small><br />
File:Manson hcs3202.png|link=Manson HCS-3xxx series|[[File:Nuvola OK.png|16px]] <small>[[Manson HCS-3xxx series]] (1ch, 1-36V / 0-10A, USB)</small><br />
File:Motech_LPS-301_logo.png|link=Motech LPS-301|[[File:Nuvola OK.png|16px]] <small>[[Motech LPS-301]] (1ch, 1-32V / 0-2A, RS232)</small><br />
File:Owon_P4603.JPG|link=Owon P4000 series|[[File:Nuvola OK.png|16px]] <small>[[Owon P4000 series]] (1ch, 30V/5A or 60V/3A, RS232)</small><br />
File:Philips PM2813.png|link=Philips PM2800 series|[[File:Nuvola OK.png|16px]] <small>[[Philips_PM2800_series|Fluke/Philips PM2800 series]]</small><br />
File:Rdtech-dps.png|link=RDTech DPS series|[[File:Nuvola OK.png|16px]] <small>[[RDTech DPS series]] (1ch, various, USB/BT)</small><br />
File:RD6006 frontpanel.png|link=RDTech RD series|[[File:Nuvola OK.png|16px]] <small>[[RDTech RD series]] (1ch, 0-60V, 0-6/12/18A, USB/Serial/WiFi)</small><br />
File:Sigrok logo no text transparent 512.png|link=Rigol DP700 series|[[File:Nuvola OK.png|16px]] <small>[[Rigol DP700 series]]</small><br />
File:Rigol DP832.png|link=Rigol DP800 series|[[File:Nuvola OK.png|16px]] <small>[[Rigol DP800 series]]</small><br />
File:rs_hmc8043_mugshot.png|link=Rohde&Schwarz HMC 8043|[[File:Nuvola OK.png|16px]] <small>[[Rohde&Schwarz HMC 8043]] (3ch, 0-32V / 0-3A, USB&LXI)</small><br />
File:rs_hmp4040_mugshot.png|link=Rohde&Schwarz HMP 4000 series|[[File:Nuvola OK.png|16px]] <small>[[Rohde&Schwarz HMP 4000 series]] (3/4ch, 0-32V / 0-10A, USB&LAN)</small><br />
</gallery><br />
<br />
'''Work in progress [[File:Nuvola Orange.png|16px]] / planned [[File:Nuvola Red.png|16px]]:'''<br />
<br />
<gallery><br />
File:Sigrok logo no text transparent 512.png|link=Delta Elektronika SM3300 series|[[File:Nuvola Red.png|16px]] <small>[[Delta Elektronika SM3300 series]] (1ch, 18V-660V/3.3kW, USB, RS232, RS485, RS422)</small><br />
File:Sigrok logo no text transparent 512.png|link=ETommens eTM-xxxxP Series|[[File:Nuvola Orange.png|16px]] <small>[[ETommens eTM-xxxxP Series]] (1ch, various, USB/Serial)</small><br />
File:Hanmatek_HM305P_front.JPG|link=Hanmatek HM305P|[[File:Nuvola Orange.png|16px]] <small>[[Hanmatek HM305P]] (1ch, 0-30V/0-5A, USB/Serial)</small><br />
File:Rockseed_rs310p.jpg|link=RockSeed RS310P|[[File:Nuvola Orange.png|16px]] <small>[[RockSeed RS310P]] (1ch, 0-30V/0-10A, USB/Serial)</small><br />
File:Sigrok logo no text transparent 512.png|link=Siglent SPD3303 series|[[File:Nuvola Orange.png|16px]] <small>[[Siglent SPD3303 series]] (3ch, 0-32V/0-3.2A, USB, LAN)</small><br />
File:Sigrok logo no text transparent 512.png|link=Voltcraft 18220|[[File:Nuvola Red.png|16px]] <small>[[Voltcraft 18220]] (1ch, 0-40V/0-5A, RS232)</small><br />
</gallery><br />
<br />
== Multiplexer / Relay actuators ==<br />
<br />
<gallery><br />
File:dcttech_usbrelay_mugshot.png|link=dcttech usbrelay|[[File:Nuvola OK.png|16px]] <small>[[dcttech usbrelay]] (1-8ch, 10A @ 250VAC, 10A @ 30VDC, USB HID)</small><br />
File:HP_59306A-mugshot.png|link=HP 59306A|[[File:Nuvola OK.png|16px]] <small>[[HP 59306A]] (6ch, 0.5A @ 28VDC, 0.5A @ 115VAC, GPIB)</small><br />
</gallery><br />
<br />
'''Work in progress [[File:Nuvola Orange.png|16px]] / planned [[File:Nuvola Red.png|16px]]:'''<br />
<br />
<gallery><br />
File:Gembird-silvershield-front.png|link=Gembird silvershield|[[File:Nuvola Red.png|16px]] <small>[[Gembird silvershield]] (1-4ch, 230V, 10A, USB HID)</small><br />
File:ICStation_ICSE012A-mugshot.png|link=ICStation USBRelay|[[File:Nuvola Orange.png|16px]] <small>[[ICStation USBRelay]] (2-8ch, 10A @ 30VDC, 10A @ 250VAC, USB/Serial)</small><br />
</gallery><br />
<br />
== GPIB interfaces ==<br />
<br />
'''Work in progress [[File:Nuvola Orange.png|16px]] / planned [[File:Nuvola Red.png|16px]]:'''<br />
<br />
<gallery widths="100px" heights="100px"><br />
File:Agilent_82357a_top_cover_removed.jpg|link=Agilent_82357A|[[File:Nuvola Red.png|16px]] <small>[[Agilent 82357A]] (Hardware-based, USB)</small><br />
File:Ar488-artag-pcb-top.png|link=AR488|[[File:Nuvola Red.png|16px]] <small>[[AR488]] (Arduino based, USB/RS232)</small><br />
File:Beiming_s82357.png|link=Beiming S82357|[[File:Nuvola Red.png|16px]] <small>[[Beiming S82357]] (hardware-based, USB)</small><br />
File:ICS 488-USB.png|link=ICS 488-USB|[[File:Nuvola Red.png|16px]] <small>[[ICS 488-USB]] (hardware-based, USB)</small><br />
File:GPIB-USB 82357B clone.png|link=GPIB-USB 82357B clone|[[File:Nuvola Red.png|16px]] <small>[[GPIB-USB 82357B clone]] (hardware-based, USB)</small><br />
File:NI GPIB-ENET.png|link=National Instruments GPIB-ENET|[[File:Nuvola Red.png|16px]] <small>[[National Instruments GPIB-ENET]] (hardware-based, Ethernet)</small><br />
File:NI GPIB-USB-HS.png|link=National Instruments GPIB-USB-HS|[[File:Nuvola Red.png|16px]] <small>[[National Instruments GPIB-USB-HS]] (hardware-based, USB)</small><br />
File:Prologix-usb.png|link=Prologix GPIB-USB|[[File:Nuvola Red.png|16px]] <small>[[Prologix GPIB-USB]] (firmware-based, USB)</small><br />
File:GalvantGPIBUSBrev4.JPG|link=Galvant GPIBUSB|[[File:Nuvola Red.png|16px]] <small>[[Galvant GPIBUSB]] (firmware-based, USB, OSHW)</small><br />
</gallery><br />
<br />
== Potential other candidates ==<br />
<br />
If you own any other logic analyzers, oscilloscopes, multimeters, dataloggers, ... and want to add support for them in sigrok (or donate/lend devices to developers), please let us know. We're always happy to add more hardware support! Join the [https://lists.sourceforge.net/lists/listinfo/sigrok-devel mailing list] or ask on [https://web.libera.chat/#sigrok #sigrok@libera.chat] if you want to help out.<br />
<br />
__FORCETOC__</div>
Abraxa
https://sigrok.org/w/index.php?title=Soundcard&diff=16316
Soundcard
2022-07-30T19:35:47Z
<p>Abraxa: </p>
<hr />
<div>Currently there is [https://github.com/sigrokproject/libsigrok/pull/185/ PR pending] to add support for acquisition of analog signals using common soundcard HW. Some cheap USB soundcards can even be modified to bypass DC decoupling and thus enable for DC coupled acquisition. Bypassing is usualy done by [https://www.daqarta.com/dw_ggll.htm shorting some capacitor]. This module allows usage of any audio device recognized by OS, therefore it is also possible to use high-end ADC interfaces connected to I2S bus on devices like Raspberry PI.<br />
<br />
SDL2 multiplatform multimedia layer is used to provide excellent compatibility with most operating systems and their respective audio infrastructures while also preventing any compatibility issues in the future (eg. on Linux this allows operation no matter if you use raw ALSA, PulseAudio or PipeWire audio system).<br />
<br />
[[Category:Device]]<br />
[[Category:Oscilloscope]]<br />
[[Category:In progress]]</div>
Abraxa
https://sigrok.org/w/index.php?title=Downloads&diff=16303
Downloads
2022-06-25T20:37:00Z
<p>Abraxa: Restore https links</p>
<hr />
<div>{| border="0" width="100%" style="white-space: margin: 0em; margin-bottom: 2em; border-width: 1em; align:center; vertical-align: top"<br />
|-<br />
!Linux<br />
!Windows<br />
!Mac OS X<br />
!Other<br />
<br />
|-<br />
! colspan="4" | {{Rounded_corners|url=https://sigrok.org/wiki/Downloads|bgcolor=#aaaaaa|text=Nightly builds (recommended, always up-to-date)}}<br />
<br />
|- style="background-color: white"<br />
<br />
| style="width:20%; vertical-align: top" |<br />
<br />
{{Rounded_corners|url=https://sigrok.org/download/binary/pulseview/PulseView-NIGHTLY-i686.AppImage|text=PulseView (32bit)}}<br />
<br />
{{Rounded_corners|url=https://sigrok.org/download/binary/pulseview/PulseView-NIGHTLY-x86_64.AppImage|text=PulseView (64bit)}}<br />
<br />
{{Rounded_corners|url=https://sigrok.org/download/binary/sigrok-cli/sigrok-cli-NIGHTLY-i686.AppImage|text=sigrok-cli (32bit)}}<br />
<br />
{{Rounded_corners|url=https://sigrok.org/download/binary/sigrok-cli/sigrok-cli-NIGHTLY-x86_64.AppImage|text=sigrok-cli (64bit)}}<br />
<br />
| style="width:20%; vertical-align: top" |<br />
<br />
{{Rounded_corners|url=https://sigrok.org/download/binary/pulseview/pulseview-NIGHTLY-32bit-static-release-installer.exe|text=PulseView (32bit)}}<br />
<br />
{{Rounded_corners|url=https://sigrok.org/download/binary/pulseview/pulseview-NIGHTLY-64bit-static-release-installer.exe|text=PulseView (64bit)}}<br />
<br />
{{Rounded_corners|url=https://sigrok.org/download/binary/sigrok-cli/sigrok-cli-NIGHTLY-32bit-static-release-installer.exe|text=sigrok-cli (32bit)}}<br />
<br />
{{Rounded_corners|url=https://sigrok.org/download/binary/sigrok-cli/sigrok-cli-NIGHTLY-64bit-static-release-installer.exe|text=sigrok-cli (64bit)}}<br />
<br />
| style="width:20%; vertical-align: top" |<br />
<br />
{{Rounded_corners|url=https://sigrok.org/download/binary/pulseview/PulseView-NIGHTLY.dmg|text=PulseView (64bit)}}<br />
<br />
{{Rounded_corners|url=https://sigrok.org/download/binary/sigrok-cli/sigrok-cli-NIGHTLY.dmg|text=sigrok-cli (64bit)}}<br />
<br />
| style="width:20%; vertical-align: top; text-align: center" |<br />
<br />
{{Rounded_corners|url=https://sigrok.org/wiki/Downloads#Releases|text=See below}}<br />
<br />
|-<br />
!colspan="4" | {{Rounded_corners|url=https://sigrok.org/wiki/Downloads|bgcolor=#aaaaaa|text=Release builds (usually older than nightly builds, might be missing features or bugfixes)}}<br />
<br />
|- style="background-color: white"<br />
<br />
| style="width:20%; vertical-align: top" |<br />
<br />
{{Rounded_corners|url=https://sigrok.org/download/binary/pulseview/PulseView-0.4.2-i386.AppImage|text=PulseView 0.4.2 (32bit)}}<br />
<br />
{{Rounded_corners|url=https://sigrok.org/download/binary/pulseview/PulseView-0.4.2-x86_64.AppImage|text=PulseView 0.4.2 (64bit)}}<br />
<br />
{{Rounded_corners|url=https://sigrok.org/download/binary/sigrok-cli/sigrok-cli-0.7.2-i386.AppImage|text=sigrok-cli 0.7.2 (32bit)}}<br />
<br />
{{Rounded_corners|url=https://sigrok.org/download/binary/sigrok-cli/sigrok-cli-0.7.2-x86_64.AppImage|text=sigrok-cli 0.7.2 (64bit)}}<br />
<br />
| style="width:20%; vertical-align: top" |<br />
<br />
{{Rounded_corners|url=https://sigrok.org/download/binary/pulseview/pulseview-0.4.2-32bit-static-release-installer.exe|text=PulseView 0.4.2 (32bit)}}<br />
<br />
{{Rounded_corners|url=https://sigrok.org/download/binary/pulseview/pulseview-0.4.2-64bit-static-release-installer.exe|text=PulseView 0.4.2 (64bit)}}<br />
<br />
{{Rounded_corners|url=https://sigrok.org/download/binary/sigrok-cli/sigrok-cli-0.7.2-i686-installer.exe|text=sigrok-cli 0.7.2 (32bit)}}<br />
<br />
{{Rounded_corners|url=https://sigrok.org/download/binary/sigrok-cli/sigrok-cli-0.7.2-x86_64-installer.exe|text=sigrok-cli 0.7.2 (64bit)}}<br />
<br />
| style="width:20%; vertical-align: top" |<br />
<br />
{{Rounded_corners|url=https://sigrok.org/download/binary/pulseview/PulseView-0.4.2.dmg|text=PulseView 0.4.2 (64bit)}}<br />
<br />
| style="width:20%; vertical-align: top; text-align: center" |<br />
<br />
{{Rounded_corners|url=https://sigrok.org/wiki/Downloads#Releases|text=See below}}<br />
<br />
|- style="background-color: white; vertical-align: top;"<br />
<br />
| style="text-align:center" | <em><small>Requires a Linux distro more recent than '''Ubuntu 16.04 LTS (Xenial Xerus)''' from 2016.</small></em><br />
| style="text-align:center" | <em><small>Requires '''Windows XP''' or higher.</small></em><br />
| style="text-align:center" | <em><small>Requires '''OS X 10.9 (Mavericks)''' or higher.</small></em><br />
| style="text-align:center" | <em><small>See below for other download options (Android, FreeBSD, source code, etc.).</small></em><br />
<br />
|}<br />
<br />
== Releases ==<br />
<br />
You can download the latest released tarballs of the following subprojects from [http://sigrok.org/download/ the sigrok.org download directory]:<br />
<br />
{| border="0" style="font-size: smaller; white-space: nowrap;" class="alternategrey sigroktable"<br />
|-<br />
!Project<br />
!Release/download<br />
!News<br />
<br />
|-<br />
| [[libserialport]]<br />
| [http://sigrok.org/download/source/libserialport/libserialport-0.1.1.tar.gz libserialport-0.1.1.tar.gz]<br />
| [http://sigrok.org/gitweb/?p=libserialport.git;a=blob;f=NEWS;hb=HEAD release notes]<br />
<br />
|-<br />
| [[libsigrok]]<br />
| [http://sigrok.org/download/source/libsigrok/libsigrok-0.5.2.tar.gz libsigrok-0.5.2.tar.gz]<br />
| [https://sigrok.org/gitweb/?p=libsigrok.git;a=blob;f=NEWS;h=60de6e341b7289cfb99883a94b0c921a4b79b008;hb=a6b07d7e28fe445afccf36922ef7d20e63e54fe6 release notes]<br />
<br />
|-<br />
| [[libsigrokdecode]]<br />
| [http://sigrok.org/download/source/libsigrokdecode/libsigrokdecode-0.5.3.tar.gz libsigrokdecode-0.5.3.tar.gz]<br />
| [https://sigrok.org/gitweb/?p=libsigrokdecode.git;a=blob;f=NEWS;h=f61727f8c75edf52e1f306983070a5eda629fd2e;hb=97991a3919da6a07c4c87308ae66fb441bd512e3 release notes]<br />
<br />
|-<br />
| [[sigrok-cli]]<br />
| [http://sigrok.org/download/source/sigrok-cli/sigrok-cli-0.7.2.tar.gz sigrok-cli-0.7.2.tar.gz]<br />
| [https://sigrok.org/gitweb/?p=sigrok-cli.git;a=blob;f=NEWS;h=e80dad6392501dd16e4fdc87836d443474e2eed9;hb=b584f959edb788f1731d5a304badf241ac21bf65 release notes]<br />
<br />
|-<br />
| [[PulseView]]<br />
| [http://sigrok.org/download/source/pulseview/pulseview-0.4.2.tar.gz pulseview-0.4.2.tar.gz]<br />
| [https://sigrok.org/gitweb/?p=pulseview.git;a=blob;f=NEWS;h=b20f14aebe4bd890a6bd92323e043b3540cb6629;hb=2b526a42a2fd68d513d4c2061790605a0c7add6c release notes]<br />
<br />
|-<br />
| [[fx2lafw|sigrok-firmware-fx2lafw]] (source code)<br />
| [http://sigrok.org/download/source/sigrok-firmware-fx2lafw/sigrok-firmware-fx2lafw-0.1.7.tar.gz sigrok-firmware-fx2lafw-0.1.7.tar.gz]<br />
| [http://sigrok.org/gitweb/?p=sigrok-firmware-fx2lafw.git;a=blob;f=NEWS;hb=HEAD release notes]<br />
<br />
|-<br />
| [[fx2lafw|sigrok-firmware-fx2lafw]] (prebuilt firmware)<br />
| [http://sigrok.org/download/binary/sigrok-firmware-fx2lafw/sigrok-firmware-fx2lafw-bin-0.1.7.tar.gz sigrok-firmware-fx2lafw-bin-0.1.7.tar.gz]<br />
| [http://sigrok.org/gitweb/?p=sigrok-firmware-fx2lafw.git;a=blob;f=NEWS;hb=HEAD release notes]<br />
<br />
|}<br />
<br />
== Binaries and distribution packages ==<br />
<br />
=== Linux AppImage binaries ===<br />
<br />
* Nightly AppImage binaries (require a Linux distro more recent than Ubuntu 16.04 LTS Xenial Xerus from 2016):<br />
** [http://sigrok.org/download/binary/pulseview/PulseView-NIGHTLY-i686.AppImage PulseView-NIGHTLY-i686.AppImage] (32bit)<br />
** [http://sigrok.org/download/binary/pulseview/PulseView-NIGHTLY-x86_64.AppImage PulseView-NIGHTLY-x86_64.AppImage] (64bit)<br />
** [http://sigrok.org/download/binary/sigrok-cli/sigrok-cli-NIGHTLY-i686.AppImage sigrok-cli-NIGHTLY-i686.AppImage] (32bit)<br />
** [http://sigrok.org/download/binary/sigrok-cli/sigrok-cli-NIGHTLY-x86_64.AppImage sigrok-cli-NIGHTLY-x86_64.AppImage] (64bit)<br />
* Download the correct (32bit or 64bit) AppImage file for your Linux system, make the file executable via "'''chmod +x'''" and then run it.<br />
* If you want to access hardware, please install the [https://sigrok.org/gitweb/?p=libsigrok.git;a=tree;f=contrib udev rules] on your system and reload the rules using "udevadm control --reload-rules && udevadm trigger".<br />
* See also [[Linux#AppImage|Linux]] for more information.<br />
<br />
=== Linux distribution packages ===<br />
<br />
* '''Debian:''' [http://packages.qa.debian.org/s/sigrok.html sigrok] (pulls [http://packages.qa.debian.org/libs/libserialport.html libserialport], [http://packages.qa.debian.org/libs/libsigrok.html libsigrok], [http://packages.qa.debian.org/libs/libsigrokdecode.html libsigrokdecode], [http://packages.qa.debian.org/s/sigrok-cli.html sigrok-cli], [http://packages.qa.debian.org/p/pulseview.html pulseview], [http://packages.qa.debian.org/s/sigrok-firmware-fx2lafw.html sigrok-firmware-fx2lafw])<br />
* '''Ubuntu:''' [http://launchpad.net/ubuntu/+source/sigrok sigrok] (pulls [http://launchpad.net/ubuntu/+source/libserialport libserialport], [http://launchpad.net/ubuntu/+source/libsigrok libsigrok], [http://launchpad.net/ubuntu/+source/libsigrokdecode libsigrokdecode], [http://launchpad.net/ubuntu/+source/sigrok-cli sigrok-cli], [http://launchpad.net/ubuntu/+source/pulseview pulseview], [http://launchpad.net/ubuntu/+source/sigrok-firmware-fx2lafw sigrok-firmware-fx2lafw])<br />
* '''Arch Linux:''' [https://aur.archlinux.org/packages.php?O=0&K=sigrok&do_Search=Go AUR (Arch Linux User Repository)], [https://aur.archlinux.org/packages/libserialport-git/ libserialport], [https://aur.archlinux.org/packages/libsigrok-git/ libsigrok], [https://aur.archlinux.org/packages/libsigrokdecode-git/ libsigrokdecode], [https://aur.archlinux.org/packages/sigrok-cli/ sigrok-cli], [https://aur.archlinux.org/packages/pulseview-git/ pulseview], [https://aur.archlinux.org/packages/sigrok-firmware-fx2lafw/ sigrok-firmware-fx2lafw]<br />
* '''Slackware:''' [http://slackbuilds.org/apps/libserialport/ libserialport], [http://slackbuilds.org/apps/libsigrok/ libsigrok], [http://slackbuilds.org/apps/libsigrokdecode/ libsigrokdecode], [http://slackbuilds.org/apps/sigrok-cli/ sigrok-cli], [http://slackbuilds.org/apps/pulseview/ pulseview], [http://slackbuilds.org/apps/sigrok-firmware-fx2lafw/ sigrok-firmware-fx2lafw]<br />
* '''Fedora:''' [https://src.fedoraproject.org/cgit/rpms/libserialport.git/ libserialport], [https://src.fedoraproject.org/cgit/rpms/libsigrok.git/ libsigrok], [https://src.fedoraproject.org/cgit/rpms/libsigrokdecode.git/ libsigrokdecode], [https://src.fedoraproject.org/cgit/rpms/sigrok-cli.git/ sigrok-cli], [https://src.fedoraproject.org/cgit/rpms/pulseview.git/ pulseview], [https://src.fedoraproject.org/cgit/rpms/sigrok-firmware-fx2lafw.git/ sigrok-firmware-fx2lafw], [https://src.fedoraproject.org/cgit/rpms/sigrok-firmware.git/ sigrok-firmware]<br />
* '''Gentoo:''' [http://packages.gentoo.org/package/dev-libs/libserialport libserialport], [http://packages.gentoo.org/package/sci-libs/libsigrok libsigrok], [http://packages.gentoo.org/package/sci-libs/libsigrokdecode libsigrokdecode], [http://packages.gentoo.org/package/sci-electronics/sigrok-cli sigrok-cli], [http://packages.gentoo.org/package/sci-electronics/pulseview pulseview], [http://packages.gentoo.org/package/sys-firmware/sigrok-firmware-fx2lafw sigrok-firmware-fx2lafw]<br />
* '''openSUSE:''' Latest stable versions are included in Tumbleweed. Leap includes the latest stable version at time of release, newer versions are available from the [http://download.opensuse.org/repositories/electronics/ "electronics" repository], created by the [https://build.opensuse.org/project/show/electronics OpenBuildService (OBS)].<br />
** '''openSUSE weekly GIT:''' [http://download.opensuse.org/repositories/home:/StefanBruens:/branches:/electronics:/GIT/ Repositories], [https://build.opensuse.org/project/show/home:StefanBruens:branches:electronics:GIT OBS Project]<br />
<br />
=== Windows ===<br />
<span id="Windows_Download"><br />
<br />
* Nightly installer binaries (require Windows XP or higher):<br />
** [http://sigrok.org/download/binary/pulseview/pulseview-NIGHTLY-32bit-static-release-installer.exe pulseview-NIGHTLY-32bit-static-release-installer.exe] ([http://sigrok.org/download/binary/pulseview/pulseview-NIGHTLY-32bit-static-debug-installer.exe debug build])<br />
** [http://sigrok.org/download/binary/pulseview/pulseview-NIGHTLY-64bit-static-release-installer.exe pulseview-NIGHTLY-64bit-static-release-installer.exe] ([http://sigrok.org/download/binary/pulseview/pulseview-NIGHTLY-64bit-static-debug-installer.exe debug build])<br />
** [http://sigrok.org/download/binary/sigrok-cli/sigrok-cli-NIGHTLY-32bit-static-release-installer.exe sigrok-cli-NIGHTLY-32bit-static-release-installer.exe] ([http://sigrok.org/download/binary/sigrok-cli/sigrok-cli-NIGHTLY-32bit-static-debug-installer.exe debug build])<br />
** [http://sigrok.org/download/binary/sigrok-cli/sigrok-cli-NIGHTLY-64bit-static-release-installer.exe sigrok-cli-NIGHTLY-64bit-static-release-installer.exe] ([http://sigrok.org/download/binary/sigrok-cli/sigrok-cli-NIGHTLY-64bit-static-debug-installer.exe debug build])<br />
* See also [[Windows#Windows_installers|Windows]] for more information.<br />
<br />
=== Mac OS X ===<br />
<br />
* Nightly DMG binaries (64&nbsp;bit x86 only; require OS X 10.9 Mavericks or higher):<br />
** [http://sigrok.org/download/binary/pulseview/PulseView-NIGHTLY.dmg PulseView-NIGHTLY.dmg]<br />
** [http://sigrok.org/download/binary/sigrok-cli/sigrok-cli-NIGHTLY.dmg sigrok-cli-NIGHTLY.dmg]<br />
* See also [[Mac OS X]] for more information.<br />
<br />
=== FreeBSD ===<br />
<br />
* [http://www.freshports.org/devel/libserialport/ libserialport], [http://www.freshports.org/devel/libsigrok/ libsigrok], [http://www.freshports.org/devel/libsigrokdecode/ libsigrokdecode], [http://www.freshports.org/science/sigrok-cli/ sigrok-cli], [http://www.freshports.org/science/pulseview/ pulseview], [http://www.freshports.org/science/sigrok-firmware-fx2lafw/ sigrok-firmware-fx2lafw], [http://www.freshports.org/science/sigrok-firmware/ sigrok-firmware], [http://www.freshports.org/science/sigrok-firmware-utils/ sigrok-firmware-utils]<br />
<br />
=== OpenBSD ===<br />
<br />
* [https://cvsweb.openbsd.org/ports/comms/sigrok/libserialport/ libserialport], [https://cvsweb.openbsd.org/ports/comms/sigrok/libsigrok/ libsigrok], [https://cvsweb.openbsd.org/ports/comms/sigrok/libsigrokdecode/ libsigrokdecode], [https://cvsweb.openbsd.org/ports/comms/sigrok/sigrok-cli/ sigrok-cli], [https://cvsweb.openbsd.org/ports/comms/sigrok/pulseview/ pulseview], [https://cvsweb.openbsd.org/ports/comms/sigrok/sigrok-dumps/ sigrok-dumps], [https://cvsweb.openbsd.org/ports/comms/sigrok/sigrok-firmware-fx2lafw/ sigrok-firmware-fx2lafw]<br />
<br />
=== Android ===<br />
<br />
* Nightly APK binaries:<br />
** [http://sigrok.org/jenkins/job/sigrok-cross-android/platform=cross-arm-linux-androideabi/lastSuccessfulBuild/artifact/PulseView-NIGHTLY.apk PulseView-NIGHTLY.apk (ARM)]<br />
* See also [[Android]] for more information.<br />
<br />
== Source code ==<br />
<br />
The development is done in various [http://sigrok.org/gitweb/ git repositories].<br />
<br />
See [[Building]] for build instructions.<br />
<br />
== Example data ==<br />
<br />
See the [[Example dumps]] wiki page.<br />
<br />
== Firmware files ==<br />
<br />
See the [[Firmware]] wiki page.</div>
Abraxa
https://sigrok.org/w/index.php?title=Building&diff=16277
Building
2022-03-10T18:39:05Z
<p>Abraxa: /* PulseView */</p>
<hr />
<div>This page documents the build requirements for the sigrok subprojects, and contains links to OS-specific instructions to build them from source.<br />
<br />
== Distribution packages and binaries ==<br />
<br />
See [[Downloads#Binaries_and_distribution_packages|Downloads]] for distribution packages of the sigrok subprojects and binary builds for various OSes.<br />
<br />
See the instructions below if you want to build from source.<br />
<br />
== Build requirements ==<br />
<br />
=== libsigrok ===<br />
<br />
'''Requirements for the C library''':<br />
<br />
* git (only needed when building from git)<br />
* gcc (>= 4.0) or clang<br />
* make<br />
* autoconf >= 2.63 (only needed when building from git)<br />
* automake >= 1.11 (only needed when building from git)<br />
* libtool (only needed when building from git)<br />
* pkg-config >= 0.22<br />
** This is part of the standard [[OpenBSD]] install (not an extra package), apparently.<br />
* libglib >= 2.32.0<br />
* zlib (optional)<br />
* libzip >= 0.10<br />
* libserialport >= 0.1.1 (optional, used by some drivers)<br />
* librevisa >= 0.0.20130412 (optional, used by some drivers)<br />
** libavahi-client-dev (dependency for librevisa, but not automatically installed on Debian)<br />
* libusb-1.0 >= 1.0.16 (optional, used by some drivers)<br />
** On [[FreeBSD]], this is an integral part of the FreeBSD libc, not an extra package/library.<br />
** This is part of the standard [[OpenBSD]] install (not an extra package), apparently.<br />
* libftdi1 >= 1.0 (optional, used by some drivers)<br />
* hidapi >= 0.8.0 (optional, used for some HID based "serial cables")<br />
** This library's packages can have different names depending on the platform and build configuration. There have been -hidraw or -libusb suffixes or none at all.<br />
* bluez >= 4.0 (optional, used for serial communication over Bluetooth)<br />
* libgpib (optional, used by some drivers; only available on Linux)<br />
* libieee1284 (optional, used by some drivers)<br />
* nettle (optional, used by some drivers like rdtech-tc)<br />
* check >= 0.9.4 (optional, only needed to run unit tests)<br />
* doxygen (optional, only needed for the C API docs)<br />
* graphviz (optional, only needed for the C API docs)<br />
<br />
'''Requirements for the C++ bindings''':<br />
<br />
* libsigrok >= 0.4.0 (the libsigrok C library, see above)<br />
* A C++ compiler with C++11 support (-std=c++11 option), e.g.<br />
** g++ (>= 4.8.1)<br />
** clang++ (>= 3.3)<br />
* autoconf-archive (only needed when building from git)<br />
* doxygen (required for building the bindings, not only for C++ API docs!)<br />
* graphviz (optional, only needed for the C++ API docs)<br />
* Python (2 or 3) executable (development files are not needed)<br />
* glibmm-2.4 (>= 2.32.0)<br />
<br />
'''Requirements for the Python bindings''':<br />
<br />
* libsigrokcxx >= 0.4.0 (the libsigrok C++ bindings, see above)<br />
* Python >= 2.7 or Python >= 3 (including development files!)<br />
* Python setuptools (for Python 2 or 3)<br />
* pygobject >= 3.0.0 (for Python 2 or 3), a.k.a python-gi<br />
* numpy (for Python 2 or 3)<br />
* SWIG >= 2.0.0<br />
* doxygen (optional, only needed for the Python API docs)<br />
* graphviz (optional, only needed for the Python API docs)<br />
* doxypy (optional, only needed for the Python API docs)<br />
<br />
'''Requirements for the Ruby bindings''':<br />
<br />
* libsigrokcxx >= 0.4.0 (the libsigrok C++ bindings, see above)<br />
* Ruby >= 1.9.3 (including development files!)<br />
* SWIG >= 3.0.8<br />
* YARD (optional, only needed for the Ruby API docs)<br />
<br />
'''Requirements for the Java bindings''':<br />
<br />
* libsigrokcxx >= 0.4.0 (the libsigrok C++ bindings, see above)<br />
* SWIG >= 2.0.0<br />
* Java JDK (for JNI includes and the javac/jar binaries)<br />
* doxygen (optional, only needed for the Java API docs)<br />
* graphviz (optional, only needed for the Java API docs)<br />
<br />
=== libsigrokdecode ===<br />
<br />
* git (only needed when building from git)<br />
* gcc (>= 4.0) or clang<br />
* make<br />
* autoconf >= 2.63 (only needed when building from git)<br />
* automake >= 1.11 (only needed when building from git)<br />
* libtool (only needed when building from git)<br />
* pkg-config >= 0.22<br />
** This is part of the standard [[OpenBSD]] install (not an extra package), apparently.<br />
* libglib >= 2.34<br />
* Python >= 3.2<br />
* check >= 0.9.4 (optional, only needed to run unit tests)<br />
* doxygen (optional, only needed for the C API docs)<br />
* graphviz (optional, only needed for the C API docs)<br />
<br />
=== sigrok-cli ===<br />
<br />
* git (only needed when building from git)<br />
* gcc or clang<br />
* make<br />
* autoconf >= 2.63 (only needed when building from git)<br />
* automake >= 1.11 (only needed when building from git)<br />
* libtool (only needed when building from git)<br />
* pkg-config >= 0.22<br />
** This is part of the standard [[OpenBSD]] install (not an extra package), apparently.<br />
* libglib >= 2.32.0<br />
* libsigrok >= 0.4.0<br />
* libsigrokdecode >= 0.4.0<br />
<br />
=== PulseView ===<br />
<br />
See https://sigrok.org/gitweb/?p=pulseview.git;a=blob;f=INSTALL<br />
<br />
=== SmuView ===<br />
<br />
* git (only needed when building from git)<br />
* A C++ compiler with C++11 support (-std=c++11 option), e.g.<br />
** g++ (>= 4.8.1)<br />
** clang++ (>= 3.3)<br />
* make<br />
* libtool (only needed when building from git)<br />
* pkg-config >= 0.22<br />
** This is part of the standard [[OpenBSD]] install (not an extra package), apparently.<br />
* cmake >= 3.6<br />
* libglib >= 2.28.0<br />
* glibmm-2.4 (>= 2.28.0)<br />
* Python >= 3 (including development files!)<br />
* Qt5 >= 5.7 (including the following components):<br />
** Qt5Core, Qt5Gui, Qt5Widgets, Qt5Svg<br />
* libboost >= 1.55 (including the following libs):<br />
** libboost<br />
** libboost-multiprecision<br />
* Qwt >= 6.1.2<br />
* libsigrokcxx >= 0.5.2 (libsigrok C++ bindings)<br />
* Asciidoctor (optional, only needed to build the manual)<br />
<br />
== Building from source ==<br />
<br />
See the OS-specific build instructions below if you want to build the sigrok subprojects from source:<br />
<br />
* [[Linux]]<br />
* [[Mac OS X]]<br />
* [[Windows]]<br />
* [[FreeBSD]]<br />
* [[OpenBSD]]<br />
* [[NetBSD]]<br />
* [[Android]]<br />
* [[Embedded]]<br />
<br />
== FAQ ==<br />
<br />
=== Cannot open shared object file: No such file or directory ===<br />
<br />
You get the following error:<br />
<br />
error while loading shared libraries: libsigrok.so.0: cannot open shared object file: No such file or directory<br />
<br />
Run '''ldconfig''' with the proper installation '''lib''' directory where you installed the sigrok related libraries, e.g.:<br />
<br />
$ '''sudo ldconfig /usr/local/lib'''<br />
<br />
Alternatively, you could also use '''LD_LIBRARY_PATH''', see [[Building#Installing_to_a_non-standard_directory|below]].<br />
<br />
=== TEST FAILED: .../lib/python2.7/site-packages/ does NOT support .pth files ===<br />
<br />
You get the following error when trying to run [[libsigrok]]'s '''make install''' step:<br />
<br />
<small><br />
TEST FAILED: .../lib/python2.7/site-packages/ does NOT support .pth files<br />
error: bad install directory or PYTHONPATH<br />
<br />
You are attempting to install a package to a directory that is not<br />
on PYTHONPATH and which Python does not read ".pth" files from. The<br />
installation directory you specified (via --install-dir, --prefix, or<br />
the distutils default setting) was:<br />
<br />
.../lib/python2.7/site-packages/<br />
<br />
and your PYTHONPATH environment variable currently contains:<br />
<br />
'''''''<br />
<br />
Here are some of your options for correcting the problem:<br />
<br />
* You can choose a different installation directory, i.e., one that is<br />
on PYTHONPATH or supports .pth files<br />
<br />
* You can add the installation directory to the PYTHONPATH environment<br />
variable. (It must then also be on PYTHONPATH whenever you run<br />
Python and want to use the package(s) you are installing.)<br />
<br />
* You can set up the installation directory to support ".pth" files by<br />
using one of the approaches described here:<br />
<br />
https://pythonhosted.org/setuptools/easy_install.html#custom-installation-locations<br />
<br />
Please make the appropriate changes for your system and try again.<br />
</small><br />
<br />
This can be fixed using multiple ways (see text above), but the simplest is probably to run:<br />
<br />
$ '''PYTHONPATH=.../lib/python2.7/site-packages make install'''<br />
<br />
(replace the "..." with the correct path that is shown in your console output)<br />
<br />
=== Cannot access USB / serial / other device ===<br />
<br />
Please read [[libsigrok]]'s [http://sigrok.org/gitweb/?p=libsigrok.git;a=blob;f=README.devices README.devices] file for any extra steps you may need to take to get your specific device working. This includes USB devices (you might need to use a udev rules file), serial devices (you might need permissions for accessing them), and various other devices (you might need firmware/bitstream files, or other things).<br />
<br />
Also check the wiki page for [[Supported hardware|your respective device]] as well for more hints.<br />
<br />
=== Required library not found ===<br />
<br />
When building from source, make sure to build '''all''' sigrok components from source, applications as well as the libraries. Mixing arbitrary component versions is not supported, as these are highly interdependent. When distributions' packages got installed, do uninstall them before building from source, to avoid references to outdated or non-matching versions. Although a given library might have been installed, it could be a not sufficient version and thus the dependency could be considered unsatisfied.<br />
<br />
When an application build fails due to a missing library, and it's not obvious why this might be, it's worth checking earlier steps done to build the libraries. A "popular" situation is that Pulseview won't build because build dependencies for the libsigrok library were missing.<br />
<br />
=== Where to start when building from source? ===<br />
<br />
If you just want to run a recent version, check the project's [https://sigrok.org/wiki/Downloads Downloads page]. Pre-made installers or software images could make the software available to you without the necessity to build from source.<br />
<br />
Since the process of building the complete project from source is rather involved, and consists of many steps, you may want to use [https://sigrok.org/gitweb/?p=sigrok-util.git;a=tree;f=cross-compile;hb=HEAD cross-compile scripts] instead of processing the sequence manually. These scripts also work for native builds, it's just their name. Note that build dependencies must be available before running the script, they won't install other software to your machine, they "just" fetch and compile sources, but do so in a known to work sequence.<br />
<br />
Make sure the locally built version will be used and not some other installation on your system. Check the install location of your build output, check and adjust your search paths for executables and libraries as needed.<br />
<br />
=== GPSd claims USB-serial adapters ===<br />
<br />
GPSd uses udev to detect when a USB-serial adapter is plugged in, then claims the tty interface while it probes for devices. This can take several minutes. During this time, trying to access the serial port as a regular user will fail with "Device or resource unavailable". You will not be able to use sigrok with the freshly plugged adapter while gpsd probes it. FT232 and PL2303 based adapters (and as many others) are affected by this.<br />
<br />
If you do not use gpsd, then it is recommended to uninstall it.<br />
<br />
== Installing to a non-standard directory using LD_LIBRARY_PATH == <br />
<br />
See below for some hints when you want to install sigrok sub-projects into non-standard directories.<br />
<br />
In general, you'll need to use '''PKG_CONFIG_PATH''' (so that pkg-config can find all required libraries at configure-/build-time) and '''LD_LIBRARY_PATH''' when running frontends (so that all required libraries are found at runtime). For projects that use the libsigrok Python bindings you also need to use '''PYTHONPATH'''. <br />
<br />
You can use '''--prefix''' (for autotools-using projects, i.e. almost all of them) and '''-DCMAKE_INSTALL_PREFIX''' (for cmake-using projects, i.e. [[PulseView]]) to control where the built software shall be installed.<br />
<br />
'''TGT=/blah/wop'''<br />
* [[libsigrok]]:<br />
** Configuring: <tt>'''PKG_CONFIG_PATH=$TGT/lib/pkgconfig ./configure --prefix=$TGT'''</tt><br />
** Installing: <tt>'''PYTHONPATH=$TGT/lib/python2.7/site-packages make install'''</tt><br />
*** The '''PYTHONPATH''' is only necessary if you're building/installing the libsigrok Python bindings.<br />
*** You may need to adapt the '''PYTHONPATH''' above, depending on your system and on your Python version.<br />
* [[libsigrokdecode]]:<br />
** Configuring: <tt>'''./configure --prefix=$TGT'''</tt><br />
* [[sigrok-cli]]:<br />
** Configuring: <tt>'''PKG_CONFIG_PATH=$TGT/lib/pkgconfig ./configure --prefix=$TGT'''</tt><br />
** Running: <tt>'''LD_LIBRARY_PATH=/blah/wop/lib /blah/wop/bin/sigrok-cli'''</tt><br />
* [[PulseView]]:<br />
** Configuring: <tt>'''PKG_CONFIG_PATH=$TGT/lib/pkgconfig cmake -DCMAKE_INSTALL_PREFIX:PATH=$TGT .</tt><br />
** Running: <tt>'''LD_LIBRARY_PATH=$TGT/lib $TGT/bin/pulseview'''</tt><br />
* [[sigrok-meter]]:<br />
** <tt>'''LD_LIBRARY_PATH=$TGT/lib PYTHONPATH=$TGT/lib/python2.7/site-packages ./sigrok-meter'''</tt><br />
*** You may need to adapt the '''PYTHONPATH''' above, depending on your system and on your Python version.<br />
<br />
== Installing to a non-standard directory using LD_RUN_PATH == <br />
<br />
Instead of '''LD_LIBRARY_PATH''' approach it is possible to specify library search path directly using '''LD_RUN_PATH'''.<br />
<br />
You'll need to use '''PKG_CONFIG_PATH''' (so that pkg-config can find all required libraries at configure-/build-time) and '''LD_RUN_PATH''' during linking phase (so that all required libraries are found at runtime). For projects that use the libsigrok Python bindings you also need to use '''PYTHONPATH'''. <br />
<br />
Use '''--prefix''' (for autotools-using projects, i.e. almost all of them) and '''-DCMAKE_INSTALL_PREFIX''' (for cmake-using projects, i.e. [[PulseView]]) to control where the built software shall be installed.<br />
<br />
'''TGT=/blah/wop'''<br />
* [[libsigrok]]:<br />
** Configuring: <tt>'''PKG_CONFIG_PATH=$TGT/lib/pkgconfig ./configure --prefix=$TGT'''</tt><br />
** Building: <tt>'''LD_RUN_PATH=$TGT/lib make'''</tt><br />
** Installing: <tt>'''PYTHONPATH=$TGT/lib/python2.7/site-packages make install'''</tt><br />
*** The '''PYTHONPATH''' is only necessary if you're building/installing the libsigrok Python bindings.<br />
*** You may need to adapt the '''PYTHONPATH''' above, depending on your system and on your Python version.<br />
* [[libsigrokdecode]]:<br />
** Configuring: <tt>'''./configure --prefix=$TGT'''</tt><br />
** Building: <tt>'''LD_RUN_PATH=$TGT/lib make'''</tt><br />
* [[sigrok-cli]]:<br />
** Configuring: <tt>'''PKG_CONFIG_PATH=$TGT/lib/pkgconfig ./configure --prefix=$TGT'''</tt><br />
** Building: <tt>'''LD_RUN_PATH=$TGT/lib make'''</tt><br />
* [[PulseView]]:<br />
** Configuring: <tt>'''PKG_CONFIG_PATH=$TGT/lib/pkgconfig cmake -DCMAKE_INSTALL_PREFIX:PATH=$TGT -DCMAKE_INSTALL_RPATH_USE_LINK_PATH=TRUE .</tt><br />
<br />
<br />
You can use '''readelf -d elf_file | grep RPATH''' to check if RPATH was successfully set.</div>
Abraxa
https://sigrok.org/w/index.php?title=PulseView&diff=16276
PulseView
2022-03-09T22:40:25Z
<p>Abraxa: /* Translations */</p>
<hr />
<div>[[File:PulseView I2C DS1307 Decode.png|thumb|320px|right|PulseView (10-Aug-2014)]]<br />
[[File:Pulseview rigol 2 analog channels.png|thumb|320px|PulseView + scope]]<br />
<br />
'''PulseView''' (sometimes abbreviated as "PV") is a Qt based logic analyzer, oscilloscope and MSO GUI for sigrok.<br />
<br />
It is licensed under the terms of the '''GNU GPL, version 3 or later'''.<br />
<br />
== Features ==<br />
<br />
* Fast O(log N) signal rendering at all zoom levels.<br />
* [[Protocol decoders|Protocol decoder]] support<br />
* Trace groups support<br />
<br />
== Manual ==<br />
<br />
Please refer to the [https://sigrok.org/doc/pulseview/unstable/manual.html PulseView manual] for a lot more information.<br />
<br />
If you are updating the manual and want to check what your changes look like, you can use "make manual" to build it.<br />
<br />
There's also a video made by the original author of PulseView on youtube that explains the basics of logic analyzers in general, how to use them and how they work with PulseView: https://www.youtube.com/watch?v=dobU-b0_L1I<br />
<br />
== Download ==<br />
<br />
Binaries, distro packages and source code tarballs are available from [[Downloads]].<br />
<br />
Git:<br />
<br />
$ '''git clone git://sigrok.org/pulseview.git'''<br />
<br />
You can also [http://sigrok.org/gitweb/?p=pulseview.git;a=summary browse the source code] via gitweb.<br />
<br />
== Requirements ==<br />
<br />
See [[Building#PulseView]].<br />
<br />
== Building ==<br />
<br />
See [[Linux#PulseView]] (or any other of the [[Building#Building_from_source|OS-specific instruction pages]]).<br />
<br />
'''Additional notes:'''<br />
<br />
* Use <code>PKG_CONFIG_PATH=/''<prefix-of-libsigrok-installation>''/lib/pkgconfig/</code> if [[libsigrok]] and [[libsigrokdecode]] are installed to a non-standard prefix. See also [[Building#Installing_to_a_non-standard_directory_using_LD_LIBRARY_PATH]] for more details.<br />
* To change the install prefix: <code>cmake -DCMAKE_INSTALL_PREFIX=''<prefix-dir>''/ ..</code><br />
* To show compiler arguments during the build: <code>make VERBOSE=1</code><br />
* To make a non-stripped debug build <code>cmake -DCMAKE_BUILD_TYPE=Debug ..</code><br />
* To enable unit tests: <code>cmake -DENABLE_TESTS=y ..</code><br />
* To enable decoders: <code>cmake -DENABLE_DECODE=y ..</code><br />
* To disable -Werror: <code>cmake -DDISABLE_WERROR=y ..</code><br />
* To build with clang: <code>CXX=clang++ cmake ..</code><br />
<br />
== Translations ==<br />
<br />
PulseView supports translations and so it would be nice if users like you would contribute translations of the user interface that we can include. All you need is a clone of the PulseView repository (either using our git repo or the github repo), lupdate and Qt Linguist - on Ubuntu, the last two are included in the qttools5-dev and qttools5-dev-tools packages.<br />
<br />
After obtaining a copy of the repository, look up the [https://en.wikipedia.org/wiki/List_of_ISO_639-1_codes ISO 639-1 code] for the language you want to translate to and create an untranslated language file. Using Germany (DE) as an example, you'd do<br />
<br />
cd where/you/unpacked/the/PulseView/repo<br />
lupdate -recursive . -ts l10n/de.ts<br />
<br />
or, if the language has a regional flavor, additionally with a [https://en.wikipedia.org/wiki/List_of_ISO_3166_country_codes Alpha-2 ISO code] (here for Mexican Spanish):<br />
<br />
cd where/you/unpacked/the/PulseView/repo<br />
lupdate -recursive . -ts l10n/es_mx.ts<br />
<br />
Then, open the newly created .ts file in Qt Lingust and go through the translations just like its [https://doc.qt.io/qt-5/linguist-translators.html manual] describes. We are aware that some terms are unique to sigrok/PulseView and thus hard to translate but please try to preserve the spirit of the word, even if there's no literal translation. Sometimes, this is however not possible, and that's okay. For the German translation, for example, the words "annotation" and "decode trace row" have no suitable equivalents, so we had to make use of translations in spirit ("decoded values" for annotations and "category" for decode trace row), as unfortunate as this is.<br />
<br />
When you're done with your translations, set the language of the translations in Qt Linguist (Edit->Translation File Settings) and put it somewhere where we can access it - e.g. the [https://sigrok.org/bugzilla/ bugtracker] or the mailing list. We'll then take the file and incorporate it into the build. Either way, we'll add your name to the application credits and keep your email on file so that we can contact you when additional translations are needed - there's no obligation but we'd appreciate if you'd then update the translation for the language you chose to submit to us.<br />
<br />
== Resources ==<br />
<br />
* [[PulseView/Architecture|PulseView architecture overview]]<br />
* [[TODO#PulseView|PulseView TODO list]]<br />
* [[PulseView/Concepts|PulseView GUI concepts]]<br />
* [https://www.ohloh.net/p/pulseview PulseView on ohloh]<br />
* [http://airwebreathe.org.uk/doku.php?id=pulseview Joel Holdsworth's personal PulseView project page]</div>
Abraxa
https://sigrok.org/w/index.php?title=Supported_hardware&diff=16274
Supported hardware
2022-03-05T20:31:38Z
<p>Abraxa: Add missing tags</p>
<hr />
<div>sigrok is intended as a flexible, cross-platform, and '''hardware-independent''' software suite, i.e., it supports various devices from many different vendors.<br />
<br />
Here is a list of currently supported devices (various stages of completeness) in the [http://sigrok.org/gitweb/?p=libsigrok.git;a=summary latest git version of libsigrok] (fewer devices might be supported in tarball releases) and devices we plan to support in the future.<br />
<br />
The lists are sorted by category ([[File:Nuvola OK.png|16px]] <span style="background-color: lime">supported</span>: [[:Category:Supported|{{PAGESINCATEGORY:Supported|pages}}]], [[File:Nuvola Orange.png|16px]] <span style="background-color: orange">in progress</span>: [[:Category:In progress|{{PAGESINCATEGORY:In progress|pages}}]], [[File:Nuvola Red.png|16px]] <span style="background-color: red">planned</span>: [[:Category:Planned|{{PAGESINCATEGORY:Planned|pages}}]]), and alphabetically within those categories.<br />
<br />
== Logic analyzers ==<br />
<br />
<gallery widths="100px" heights="100px"><br />
File:ARMFLY MINI LOGIC.png|link=ARMFLY Mini-Logic|[[File:Nuvola OK.png|16px]] <small>[[ARMFLY Mini-Logic]] (8ch, 24MHz)</small><br />
File:ASIX Omega.png|link=ASIX OMEGA|[[File:Nuvola OK.png|16px]] <small>[[ASIX OMEGA]] (16ch, 400MHz)</small><br />
File:ASIX SIGMA 2.png|link=ASIX SIGMA|[[File:Nuvola OK.png|16px]] <small>[[ASIX SIGMA]] (16ch, 200MHz)</small><br />
File:BeagleLogic.jpg|link=BeagleLogic|[[File:Nuvola OK.png|16px]] <small>[[BeagleLogic]] (12(max 14)ch, 100MHz)</small><br />
File:Braintechnology_usb_interface_v26.png|link=Braintechnology USB Interface V2.x|[[File:Nuvola OK.png|16px]] <small>[[Braintechnology USB Interface V2.x]] (8/16ch, 24/12MHz)</small><br />
File:Braintechnology_usb_lps.png|link=Braintechnology USB-LPS|[[File:Nuvola OK.png|16px]] <small>[[Braintechnology USB-LPS]] (8/16ch, 24/12MHz)</small><br />
File:Chronovu la8 front.png|link=ChronoVu LA8|[[File:Nuvola OK.png|16px]] <small>[[ChronoVu LA8]] (8ch, 100MHz)</small><br />
File:Chronovu la16.png|link=ChronoVu LA16|[[File:Nuvola OK.png|16px]] <small>[[ChronoVu LA16]] (16ch, 200MHz)</small><br />
File:Cwav_usbee_sx.png|link=CWAV USBee SX|[[File:Nuvola OK.png|16px]] <small>[[CWAV USBee SX]] (8ch, 24MHz)</small><br />
File:Buspirate_v3.png|link=Dangerous Prototypes Buspirate|[[File:Nuvola OK.png|16px]] <small>[[Dangerous Prototypes Buspirate]] (5ch, 1MHz)</small><br />
File:Dangerous prototypes irtoy mugshot.png|link=Dangerous Prototypes USB IR Toy|[[File:Nuvola OK.png|16px]] <small>[[Dangerous Prototypes USB IR Toy]] (1ch, 10kHz)</small><br />
File:DSLogic.png|link=DreamSourceLab DSLogic|[[File:Nuvola OK.png|16px]] <small>[[DreamSourceLab DSLogic]] (16ch, 400MHz)</small><br />
File:DSLogic.png|link=DreamSourceLab DSLogic Basic|[[File:Nuvola OK.png|16px]] <small>[[DreamSourceLab DSLogic Basic]] (16ch, 100MHz)</small><br />
File:DSLogic.png|link=DreamSourceLab DSLogic Plus|[[File:Nuvola OK.png|16px]] <small>[[DreamSourceLab DSLogic Plus]] (16ch, 400MHz)</small><br />
File:DSLogic.png|link=DreamSourceLab DSLogic Pro|[[File:Nuvola OK.png|16px]] <small>[[DreamSourceLab DSLogic Pro]] (16ch, 400MHz)</small><br />
File:Eeelec xla esla100.png|link=EE Electronics ESLA100|[[File:Nuvola OK.png|16px]] <small>[[EE Electronics ESLA100]] (8ch, 24MHz)</small><br />
File:Chronovu la8 ftdi ft245rl.jpg|link=FTDI-LA|[[File:Nuvola OK.png|16px]] <small>[[FTDI-LA]] (8ch, ~10MHz)</small><br />
File:jtagulator-transparent.png|link=JTAGulator|[[File:Nuvola OK.png|16px]]<small>[[JTAGulator | Grand Idea Studio JTAGulator]] (24ch, 1.2MHz)</small><br />
File:Hantek 4032l mugshot.png|link=Hantek 4032L|[[File:Nuvola OK.png|16px]] <small>[[Hantek 4032L]] (32ch, 400MHz)</small><br />
File:Hantek 6022be mugshot.png|link=Hantek 6022BL|[[File:Nuvola OK.png|16px]] <small>[[Hantek 6022BL]] (8ch, 24MHz)</small><br />
File:Hobby components hctest0006 mugshot.png|link=Hobby Components HCTEST0006|[[File:Nuvola OK.png|16px]] <small>[[Hobby Components HCTEST0006]] (8ch, 24MHz)</small><br />
File:Ikalogic_scanalogic2.png|link=IKALOGIC Scanalogic-2|[[File:Nuvola OK.png|16px]] <small>[[IKALOGIC Scanalogic-2]] (4ch, 20MHz)</small><br />
File:Ikalogic scanaplus mugshot.png|link=IKALOGIC ScanaPLUS|[[File:Nuvola OK.png|16px]] <small>[[IKALOGIC ScanaPLUS]] (9ch, 100MHz)</small><br />
File:Kingst la2016 mugshot.png|link=Kingst LA2016|[[File:Nuvola OK.png|16px]] <small>[[Kingst LA2016]] (16ch, 200MHz)</small><br />
File:Kingst-la5016-mugshot.png|link=Kingst LA5016|[[File:Nuvola OK.png|16px]] <small>[[Kingst LA5016]] (16ch, 500MHz)</small><br />
File:Kingst kqs3506 la16100.png|link=KingST KQS3506-LA16100|[[File:Nuvola OK.png|16px]] <small>[[KingST KQS3506-LA16100]] (16ch, 100/50/32/16MHz @ 3/6/9/16ch)</small><br />
File:Lcsoft-miniboard-front.png|link=Lcsoft Mini Board|[[File:Nuvola OK.png|16px]] <small>[[Lcsoft Mini Board]] (8/16ch, 24/12MHz)</small><br />
File:Lecroy logicstudio16 mugshot.png|link=LeCroy LogicStudio|[[File:Nuvola OK.png|16px]] <small>[[LeCroy LogicStudio]] (8/16ch, 1GHz/500MHz)</small><br />
File:logic-shrimp-front.png|link=Logic Shrimp|[[File:Nuvola OK.png|16px]] <small>[[Logic Shrimp]] (4ch, 20MHz)</small><br />
File:Mcu123 saleae logic clone.png|link=MCU123 Saleae Logic clone|[[File:Nuvola OK.png|16px]] <small>[[MCU123 Saleae Logic clone]] (8ch, 24MHz)</small><br />
File:Meilhaus logian 16l mugshot.png|link=Meilhaus Logian-16L|[[File:Nuvola OK.png|16px]] <small>[[Meilhaus Logian-16L]] (16ch, 200MHz)</small><br />
File:Microchip_pickit2.png|link=Microchip PICkit2|[[File:Nuvola OK.png|16px]] <small>[[Microchip PICkit2]] (3ch, 1MHz)</small><br />
File:Usbee_ax_clone_front.png|link=MCU123 USBee AX Pro clone|[[File:Nuvola OK.png|16px]] <small>[[MCU123 USBee AX Pro clone]] (8ch, 24MHz)</small><br />
File:Mcupro_Logic16_overview.png|link=mcupro Logic16 clone|[[File:Nuvola OK.png|16px]] <small>[[mcupro Logic16 clone]] (16ch, 100MHz)</small><br />
File:Openbench logic sniffer front.png|link=Openbench Logic Sniffer|[[File:Nuvola OK.png|16px]] <small>[[Openbench Logic Sniffer]] (32ch, 100MHz)</small><br />
File:Prist akip 9101 mugshot.png|link=Prist AKIP-9101|[[File:Nuvola OK.png|16px]] <small>[[Prist AKIP-9101]] (16ch, 200MHz)</small><br />
File:Robomotic buglogic3.png|link=Robomotic BugLogic 3|[[File:Nuvola OK.png|16px]] <small>[[Robomotic BugLogic 3]] (8ch, 24MHz)</small><br />
File:Robomotic_minilogic.png|link=Robomotic MiniLogic|[[File:Nuvola OK.png|16px]] <small>[[Robomotic MiniLogic]] (8ch, 24MHz)</small><br />
File:Saleae Logic.png|link=Saleae Logic|[[File:Nuvola OK.png|16px]] <small>[[Saleae Logic]] (8ch, 24MHz)</small><br />
File:Saleae_Logic16_bottom.png|link=Saleae Logic16|[[File:Nuvola OK.png|16px]] <small>[[Saleae Logic16]] (16ch, 100/50/32/16MHz @ 3/6/9/16ch)</small><br />
File:Saanlima Pipistrello-OLS.png|link=Saanlima Pipistrello OLS|[[File:Nuvola OK.png|16px]] <small>[[Saanlima Pipistrello OLS]] (32ch, 100MHz)</small><br />
File:Sigrok_logo_no_text_transparent_512.png|link=SUMP compatibles|[[File:Nuvola OK.png|16px]] <small>[[SUMP compatibles]]</small><br />
File:Sysclk lwla1016.png|link=Sysclk LWLA1016|[[File:Nuvola OK.png|16px]] <small>[[Sysclk LWLA1016]] (16ch, 100MHz)</small><br />
File:Sysclk lwla1034 mugshot.png|link=Sysclk LWLA1034|[[File:Nuvola OK.png|16px]] <small>[[Sysclk LWLA1034]] (34ch, 125MHz)</small><br />
File:Sysclk sla5032 mugshot.png|link=Sysclk SLA5032|[[File:Nuvola OK.png|16px]] <small>[[Sysclk SLA5032]] (32ch, 500MHz)</small><br />
File:VKTECH_thumb.jpg|link=VKTECH_saleae_clone|[[File:Nuvola OK.png|16px]] <small>[[VKTECH_saleae_clone|VKTECH saleae clone]] (8ch, 24MHz)</small><br />
File:Wayengineer saleae16.png|link=WayEngineer Saleae16|[[File:Nuvola OK.png|16px]] <small>[[WayEngineer Saleae16]] (16ch, 100/50/32/16MHz @ 3/6/9/16ch)</small><br />
File:Zeroplus Logic Cube.png|link=ZEROPLUS Logic Cube LAP-C(16032)|[[File:Nuvola OK.png|16px]] <small>[[ZEROPLUS Logic Cube LAP-C(16032)]] (16ch, 100MHz)</small><br />
File:Zeroplus Logic Cube.png|link=ZEROPLUS Logic Cube LAP-C(322000)|[[File:Nuvola OK.png|16px]] <small>[[ZEROPLUS Logic Cube LAP-C(322000)]] (32ch, 200MHz)</small><br />
File:Zeroplus_lap-16128u.png|link=ZEROPLUS LAP-16128U|[[File:Nuvola OK.png|16px]] <small>[[ZEROPLUS LAP-16128U]] (16ch, 200MHz)</small><br />
</gallery><br />
<br />
'''Work in progress [[File:Nuvola Orange.png|16px]] / planned [[File:Nuvola Red.png|16px]]:'''<br />
<br />
<gallery><br />
File:Acute_pkla1216.png|link=Acute PKLA-1216|[[File:Nuvola Red.png|16px]] <small>[[Acute PKLA-1216]] (16ch, 200MHz)</small><br />
File:Arduino_Uno-R3.jpg|link=Arduino|[[File:Nuvola Orange.png|16px]] <small>[[Arduino]] (6ch, 4MHz)</small><br />
File:Sigrok_logo_no_text_transparent_512.png|link=Codethink Interrogizer|[[File:Nuvola Red.png|16px]] <small>[[Codethink Interrogizer]] (16ch, 200kHz)</small><br />
File:IMG 20191206 105430.jpg|link=CoLA|[[File:Nuvola Red.png|16px]] <small>[[CoLA]] (96/48/24ch, 25/50/100MHz)</small><br />
File:DSLogic U3Pro16.png|link=DreamSourceLab DSLogic U3Pro16|[[File:Nuvola Red.png|16px]] <small>[[DreamSourceLab DSLogic U3Pro16]] (16ch, 1GHz)</small><br />
File:Hsa-logic.png|link=HSA Logic|[[File:Nuvola Red.png|16px]] <small>[[HSA Logic]] (8ch, 6.25MHz)</small><br />
File:Ideofy_la_08.png|link=Ideofy LA-08|[[File:Nuvola Red.png|16px]] <small>[[Ideofy LA-08]] (8ch, 96/60/30MHz @ 2/4/8ch)</small><br />
File:Intronix Logicport.png|link=Intronix Logicport LA1034|[[File:Nuvola Red.png|16px]] <small>[[Intronix Logicport LA1034]] (34ch, 500MHz)</small><br />
File:Sigrok_logo_no_text_transparent_512.png|link=Link Instruments LA-5580|[[File:Nuvola Red.png|16px]] <small>[[Link Instruments LA-5580]] (80ch, 500MHz)</small><br />
File:Minila parport.png|link=MiniLA|[[File:Nuvola Red.png|16px]] <small>[[MiniLA]] (32ch, 100MHz)</small><br />
File:Minila_mockup.png|link=MiniLA Mockup|[[File:Nuvola Red.png|16px]] <small>[[MiniLA Mockup]] (32ch, 100MHz)</small><br />
File:Noname_la16_mugshot.png|link=Noname LA16|[[File:Nuvola Red.png|16px]] <small>[[Noname LA16]] (16ch, 100MHz)</small><br />
File:Noname xl logic16 100m mugshot.png|link=Noname XL-LOGIC16-100M|[[File:Nuvola Orange.png|16px]] <small>[[Noname XL-LOGIC16-100M]] (16ch, 100/50/32/16MHz @ 3/6/9/16ch)</small><br />
File:Rockylogic_ant8.png|link=RockyLogic Ant8|[[File:Nuvola Red.png|16px]] <small>[[RockyLogic Ant8]] (8ch, 500MHz)</small><br />
File:RockyLogic Ant18e.png|link=RockyLogic Ant18e|[[File:Nuvola Red.png|16px]] <small>[[RockyLogic Ant18e]] (8ch, 1GHz)</small><br />
File:Sysclk lwla2034 mugshot.png|link=Sysclk LWLA2034|[[File:Nuvola Red.png|16px]] <small>[[Sysclk LWLA2034]] (34ch, 200MHz)</small><br />
File:Techtools_digiview_dv1-100.png|link=TechTools DigiView DV1-100|[[File:Nuvola Red.png|16px]] <small>[[TechTools DigiView DV1-100]] (18ch, 100MHz)</small><br />
File:Tektronix TLA5204 1000.png|link=Tektronix TLA520X|[[File:Nuvola Red.png|16px]] <small>[[Tektronix TLA520X]] (128ch, 2Ghz)</small><br />
File:Xmos xtag2.png|link=XMOS XTAG-2|[[File:Nuvola Red.png|16px]] <small>[[XMOS XTAG-2]] (?ch, 50MHz)</small><br />
File:Zlg_la1032.png|link=ZLG LA1032|[[File:Nuvola Red.png|16px]] <small>[[ZLG LA1032]] (32ch, 100MHz)</small><br />
</gallery><br />
<br />
== Mixed-signal devices ==<br />
<br />
<gallery widths=105px heights=105px><br />
File:Armfly_ax_pro.png|link=ARMFLY AX-Pro|[[File:Nuvola OK.png|16px]] <small>[[ARMFLY AX-Pro]] (8ch, 24MHz; 1ch analog, 3MHz BW)</small><br />
File:Sysclk ax pro mugshot.png|link=Sysclk AX-Pro|[[File:Nuvola OK.png|16px]] <small>[[Sysclk AX-Pro]] (8ch, 24MHz; 1ch analog, 3MHz BW)</small><br />
File:Esla201a.png|link=EE Electronics ESLA201A|[[File:Nuvola OK.png|16px]] <small>[[EE Electronics ESLA201A]] (8ch, 24MHz; 1ch analog, 3MHz BW)</small><br />
File:Ht usbee axpro v5 mugshot.png|link=HT USBee-AxPro|[[File:Nuvola OK.png|16px]] <small>[[HT USBee-AxPro]] (8ch, 24MHz; 1ch analog, 3MHz BW)</small><br />
File:LeCroy_WaveSurfer_24Xs-A_front.png|link=LeCroy oscilloscope series|[[File:Nuvola OK.png|16px]] <small>[[LeCroy oscilloscope series]] (various)</small><br />
File:Noname lht00su1 mugshot.png|link=Noname LHT00SU1|[[File:Nuvola OK.png|16px]] <small>[[Noname LHT00SU1]] (8ch, 24MHz; 1ch analog, 3MHz BW)</small><br />
File:Rigol DS1052E.png|link=Rigol DS1000 series|[[File:Nuvola OK.png|16px]] <small>[[Rigol DS1000 series|Rigol DS1000D series]] (16ch, 2ch analog, 50-150MHz BW)</small><br />
File:Sigrok_logo_no_text_transparent_512.png|link=Rigol DS4000 series|[[File:Nuvola OK.png|16px]] <small>[[Rigol DS4000 series]] (0/16ch , 2-4ch analog, 2-4GS/s, 100MHz/200MHz/350MHz/500MHz BW)</small><br />
File:Rigol_VS5202D.png|link=Rigol VS5000 series|[[File:Nuvola OK.png|16px]] <small>[[Rigol VS5000 series|Rigol VS5000D series]] (16ch, 2ch analog, 20-200MHz BW)</small><br />
File:RS HMO1002.png|link=Rohde&Schwarz HMO1002 series|[[File:Nuvola OK.png|16px]] <small>[[Rohde&Schwarz HMO1002 series]] (2ch, 1GS/s, 50-100MHz BW)</small><br />
File:HMO3000.jpg|link=Rohde&Schwarz HMO3000 series|[[File:Nuvola OK.png|16px]] <small>[[Rohde&Schwarz HMO 3000 series]] (16ch, 2/4ch analog, 4GS/s, 300-500MHz BW)</small><br />
File:RTA4000.jpg|link=Rohde&Schwarz RT series|[[File:Nuvola OK.png|16px]] <small>[[Rohde&Schwarz RT series]] (8/16ch, 2/4ch analog, 2-5GS/s, 50MHz-1GHz BW)</small><br />
File:Saleae Logic Pro 16 bottom.jpg|link=Saleae Logic Pro 16|[[File:Nuvola OK.png|16px]] <small>[[Saleae Logic Pro 16]] (4/16ch, 500/100MHz; 16ch analog, 50MSa/s, 5MHz BW)</small><br />
File:Siglent_SDS1202X-E_front.png|link=Siglent SDS1000X series|[[File:Nuvola OK.png|16px]] <small>[[Siglent SDS1000X series]] (16ch, 2ch analog, 1GSa/s, 200/100MHz BW)</small><br />
File:sds2304x-mugshot.png|link=Siglent SDS2000X series|[[File:Nuvola OK.png|16px]] <small>[[Siglent SDS2000X series]] (16ch, 2/4ch analog, 2GSa/s, 300/200/150/100/70MHz BW)</small><br />
File:Yokogawa DLM2000 front.png|link=Yokogawa DLM2000 series|[[File:Nuvola OK.png|16px]] <small>[[Yokogawa DLM2000 series]] (8ch, 2/4ch analog, 2.5GSa/s, 200/350/500MHz BW)</small><br />
File:Xzl studio ax mugshot.png|link=XZL_Studio AX|[[File:Nuvola OK.png|16px]] <small>[[XZL_Studio AX]] (8ch, 24MHz; 1ch analog, 3MHz BW)</small><br />
File:Xzl studio-dx mugshot.png|link=XZL_Studio DX|[[File:Nuvola OK.png|16px]] <small>[[XZL_Studio DX]]<br/> (16ch, 24MHz; 2ch analog),<br />Analog not supported</small><br />
</gallery><br />
<br />
'''Work in progress [[File:Nuvola Orange.png|16px]] / planned [[File:Nuvola Red.png|16px]]:'''<br />
<br />
<gallery><br />
File:Agilent_MSO7104A.png|link=Agilent MSO7104A|[[File:Nuvola Red.png|16px]] <small>[[Agilent MSO7104A]] (16ch, ?; 4ch analog, 2GSa/s, 1GHz BW)</small><br />
File:BitScope BS10.png|link=BitScope BS10|[[File:Nuvola Red.png|16px]] <small>[[BitScope BS10]] (8ch, 40MHz; 2ch analog, 20MSa/s, ? BW)</small><br />
File:Digilent_analog_discovery.png|link=Digilent Analog Discovery|[[File:Nuvola Red.png|16px]] <small>[[Digilent Analog Discovery]] (16ch, 100MHz; 2ch analog, 100MSa/s, 5MHz BW)</small><br />
File:Hantek_1008C.png|link=Hantek 1008C|[[File:Nuvola Red.png|16px]] <small>[[Hantek 1008C]] (8ch)</small><br />
File:Ht usbee dxpro mugshot.png|link=HT USBee-DxPro|[[File:Nuvola Red.png|16px]] <small>[[HT USBee-DxPro]] (16ch, 24MHz; 2ch analog)</small><br />
File:Lab nation smartscope mugshot.png|link=LabNation SmartScope|[[File:Nuvola Red.png|16px]] <small>[[LabNation SmartScope]] (8ch, 100MHz; 2ch analog, 100MSa/s, 45MHz BW)</small><br />
File:Link Instruments MSO-19 front.png|link=Link Instruments MSO-19|[[File:Nuvola Red.png|16px]] <small>[[Link Instruments MSO-19]] (8ch, 200MHz; 1ch analog, 200MSa/s, 60MHz BW)</small><br />
File:Meilhaus_mephisto_scope1.png|link=Meilhaus MEphisto Scope1|[[File:Nuvola Red.png|16px]] <small>[[Meilhaus MEphisto Scope1]] (16ch, 100kHz; 2ch analog, 1MSa/s, 500kHz BW)</small><br />
File:Polabs_poscope_basic2.png|link=PoLabs PoScope Basic2|[[File:Nuvola Red.png|16px]] <small>[[PoLabs PoScope Basic2]] (16ch, 8MHz; 2ch analog, 200kSa/s, ? BW)</small><br />
File:QuantAsylum QA100.png|link=QuantAsylum QA100|[[File:Nuvola Red.png|16px]] <small>[[QuantAsylum QA100]] (12ch; 2ch analog)</small><br />
File:Sigrok_logo_no_text_transparent_512.png|link=Rigol MSO5000 Series|[[File:Nuvola Orange.png|16px]] <small>[[Rigol MSO5000 Series]] (16ch, 2-4ch analog, 70-350MHz BW)</small><br />
File:Saleae_Logic8_case_bottom.jpg|link=Saleae Logic8|[[File:Nuvola Red.png|16px]] <small>[[Saleae Logic8]] (3/6/7/8ch, 100/50/40/25MHz; 8ch analog, 10MSa/s, 1MHz BW)</small><br />
File:Saleae_logic_pro_8-bottom.png|link=Saleae Logic Pro 8|[[File:Nuvola Red.png|16px]] <small>[[Saleae Logic Pro 8]] (4/8ch, 500/100MHz; 8ch analog, 50MSa/s, 5MHz BW)</small><br />
File:Picoscope 3205D MSO fp.jpg|link=Pico Technology PicoScope 3205D MSO|[[File:Nuvola Red.png|16px]] <small>[[Pico Technology PicoScope 3205D MSO]] (16ch, 100MHz; 2ch analog, 1/0.5GS/s, 100MHz BW)</small><br />
File:DSO3254A.jpg|link=Hantek DSO3254A|[[File:Nuvola Red.png|16px]] <small>[[Hantek DSO3254A]] (16ch, 250MHz; 4ch analog, 1GS/s, 250MHz BW; 1 ch func/arb generator, 200MHz)</small><br />
<br />
</gallery><br />
<br />
== Oscilloscopes ==<br />
<br />
<gallery widths=100px heights=100px><br />
File:Agilent DSO1014A.png|link=Agilent DSO1000 series|[[File:Nuvola OK.png|16px]] <small>[[Agilent DSO1000 series]] (2-4ch, 2GS/s, 60-200MHz BW)</small><br />
File:Fluke_Scopemeter_199B.png|link=Fluke ScopeMeter 199B|[[File:Nuvola OK.png|16px]] <small>[[Fluke ScopeMeter 199B]] (2ch, 2.5GS/s, 200MHz BW)</small><br />
File:Voltcraft dso-6060c mugshot.png|link=GW Instek GDS-800 series|[[File:Nuvola OK.png|16px]] <small>[[GW Instek GDS-800 series]] (2ch, 25GS/s, 60-250MHz BW)</small><br />
File:Hameg HMO2024.png|link=Hameg HMO compact series|[[File:Nuvola OK.png|16px]] <small>[[Hameg HMO compact series]] (2-4ch, 2GS/s, 70-200MHz BW)</small><br />
File:Hantek 6022be mugshot.png|link=Hantek 6022BE|[[File:Nuvola OK.png|16px]] <small>[[Hantek 6022BE]] (2ch, 48MS/s, 20MHz BW)</small><br />
File:Hantek DSO-2090.png|link=Hantek DSO-2090|[[File:Nuvola OK.png|16px]] <small>[[Hantek DSO-2090]] (2ch, 100MS/s, 40MHz)</small><br />
File:Hung chang dso 2100 mugshot.png|link=Hung-Chang_DSO-2100|[[File:Nuvola OK.png|16px]] <small>[[Hung-Chang DSO-2100]] (2ch, 100MS/s, 30MHz BW)</small><br />
File:Rigol DS1052E.png|link=Rigol DS1000 series|[[File:Nuvola OK.png|16px]] <small>[[Rigol DS1000 series|Rigol DS1000E series]] (2ch, 1GS/s, 50-150MHz BW)</small><br />
File:Rigol DS1074Z front.png|link=Rigol DS1000Z series|[[File:Nuvola OK.png|16px]] <small>[[Rigol DS1000Z series|Rigol DS1000Z series]] (4ch, 1GS/s, 50-100MHz BW)</small><br />
File:Rigol-ds2072 mugshot.png|link=Rigol DS2000 series|[[File:Nuvola OK.png|16px]] <small>[[Rigol DS2000 series]] (2ch, 2GS/s, 70-200MHz BW)</small><br />
File:Rigol_VS5202D.png|link=Rigol VS5000 series|[[File:Nuvola OK.png|16px]] <small>[[Rigol VS5000 series]] (2ch, 20-200MHz BW)</small><br />
File:Rocktech bm102 mugshot.png|link=Rocktech BM102|[[File:Nuvola OK.png|16px]] <small>[[Rocktech BM102]] (2ch, 50MS/s, 20MHz BW)</small><br />
File:Dds120 mugshot.png|link=SainSmart DDS120|[[File:Nuvola OK.png|16px]] <small>[[SainSmart DDS120]] (2ch, 50MS/s, 20MHz BW)</small><br />
File:YiXingDianZi-MDSO.png|link=YiXingDianZi MDSO|[[File:Nuvola OK.png|16px]] <small>[[YiXingDianZi MDSO]] (2ch, 48MS/s, 20MHz BW)</small><br />
</gallery><br />
<br />
'''Work in progress [[File:Nuvola Orange.png|16px]] / planned [[File:Nuvola Red.png|16px]]:'''<br />
<br />
<gallery><br />
File:Dreamsourcelab dscope c20p front.jpg|link=DreamSourceLab DScope C20P|[[File:Nuvola Red.png|16px]] <small>[[DreamSourceLab DScope C20P]] (2ch, 200MS/s, 50MHz BW)</small><br />
File:Fluke scopemeter123.png|link=Fluke ScopeMeter 123|[[File:Nuvola Red.png|16px]] <small>[[Fluke ScopeMeter 123]] (2ch, 25MS/s, 20MHz BW)</small><br />
File:Focussz_fosc21_mugshot.png|link=Focussz Fosc21|[[File:Nuvola Red.png|16px]] <small>[[Focussz Fosc21]] (2ch, 8kS/s, 3kHz BW)</small><br />
File:Sigrok_logo_no_text_transparent_512.png|link=GW Instek GDS-2000 series|[[File:Nuvola Red.png|16px]] <small>[[GW Instek GDS-2000 series]] (2ch, 1GS/s, 60MHz/100MHz/200MHz BW)</small><br />
File:Hantek front.jpg|link=Hantek 6052BE|[[File:Nuvola Red.png|16px]] <small>[[Hantek 6052BE]] (2ch, 150MS/s, 50MHz BW)</small><br />
File:Hantek 6254bd mugshot.png|link=Hantek 6254BD|[[File:Nuvola Red.png|16px]] <small>[[Hantek 6254BD]] (4ch, 1GS/s, 250MHz BW)</small><br />
File:Sigrok_logo_no_text_transparent_512.png|link=Hantek DSO-1200|[[File:Nuvola Red.png|16px]] <small>[[Hantek DSO-1200]] (2ch, 500MS/s, 200MHz BW)</small><br />
File:Hantek_DSO_2100_usb.jpg|link=Hantek DSO-2100|[[File:Nuvola Red.png|16px]] <small>[[Hantek DSO-2100]] (2ch, 100M/s, 30MHz BW)</small><br />
File:Hantek DSO-220 Back.jpg|link=Hantek DSO-220|[[File:Nuvola Red.png|16px]] <small>[[Hantek DSO-220]] (2ch, 60MS/s, 20MHz BW)</small><br />
File:Hantek_PSO2020_0.JPG|link=Hantek PSO2020|[[File:Nuvola Red.png|16px]] <small>[[Hantek PSO2020]] (1ch, 96MS/s, 20MHz BW)</small><br />
File:Hantek dso2250 mugshot.png|link=Hantek DSO-2250|[[File:Nuvola Red.png|16px]] <small>[[Hantek DSO-2250]] (2ch, 250MS/s, 100MHz BW)</small><br />
File:Hantek dso-5200a device front.png|link=Hantek DSO-5200A|[[File:Nuvola Red.png|16px]] <small>[[Hantek DSO-5200A]] (2ch, 250MS/s, 200MHz BW)</small><br />
File:Hantek iDSO1070A.JPG|link=Hantek iDSO1070|[[File:Nuvola Red.png|16px]] <small>[[Hantek iDSO1070]] (2ch, 250MS/s, 70MHz BW)</small><br />
File:Sigrok_logo_no_text_transparent_512.png|link=Hantek iDSO1070A|[[File:Nuvola Red.png|16px]] <small>[[Hantek iDSO1070A]] (2ch, 125MS/s, 70MHz BW)</small><br />
File:Usbduxfast.png|link=Incite Technology USB-DUXfast|[[File:Nuvola Red.png|16px]] <small>[[Incite Technology USB-DUXfast]] (16ch, 3MHz, ? BW)</small><br />
File:Instrustar-IDS205A CaseFront.jpg|link=Instrustar ISDS205A|[[File:Nuvola Red.png|16px]] <small>[[Instrustar_ISDS205A]] (2ch, 48MS/s, 20MHz BW)</small><br />
File:Loto_OSC802.jpg|link=Loto OSC802|[[File:Nuvola Red.png|16px]] <small>[[Loto OSC802]] (2ch, 80MS/s, 20MHz BW)</small><br />
File:OsciPrime.png|link=Nexus-Computing OsciPrime|[[File:Nuvola Red.png|16px]] <small>[[Nexus-Computing OsciPrime]] (2ch, ?MS/s, 3.3MHz-8MHz BW)</small><br />
File:Sigrok_logo_no_text_transparent_512.png|link=Owon SDS series|[[File:Nuvola Red.png|16px]] <small>[[Owon SDS series]] (2ch, 0.5-3.2GS/s, 60-300MHz BW)</small><br />
File:Picoscope 2203.png|link=Pico Technology PicoScope 2203|[[File:Nuvola Red.png|16px]] <small>[[Pico Technology PicoScope 2203]] (40/20MS/s, 5MHz BW)</small><br />
File:Picoscope 2204A.png|link=Pico Technology PicoScope 2204A|[[File:Nuvola Red.png|16px]] <small>[[Pico Technology PicoScope 2204A]] (100MS/s, 10MHz BW)</small><br />
File:PicoScope_2205.png|link=Pico Technology PicoScope 2205|[[File:Nuvola Red.png|16px]] <small>[[Pico Technology PicoScope 2205]] (200/100MS/s, 25MHz BW)</small><br />
File:Picoscope 3206.png|link=Pico Technology PicoScope 3206|[[File:Nuvola Red.png|16px]] <small>[[Pico Technology PicoScope 3206]] (200/100MS/s, 200MHz BW)</small><br />
File:Picoscope 5203.png|link=Pico Technology PicoScope 5203|[[File:Nuvola Red.png|16px]] <small>[[Pico Technology PicoScope 5203]] (1/0.5GS/s, 250MHz BW)</small><br />
File:Sainsmart dds140 mugshot.png|link=SainSmart DDS140|[[File:Nuvola Red.png|16px]] <small>[[SainSmart DDS140]] (2ch, 200MS/s, 40MHz BW)</small><br />
File:Tektronix tds2024b mugshot.png|link=Tektronix TDS2000B series|[[File:Nuvola Red.png|16px]] <small>[[Tektronix TDS2000B series]] (2-4ch, 1-2GS/s, 60-200MHz BW)</small><br />
File:UNI-T UTD2042C.png|link=UNI-T UTD2042C|[[File:Nuvola Red.png|16px]] <small>[[UNI-T UTD2042C]] (2ch, 500MS/s, 40MHz BW)</small><br />
File:Velleman PCSU1000.png|link=Velleman PCSU1000|[[File:Nuvola Red.png|16px]] <small>[[Velleman PCSU1000]] (2ch, 1GS/s, 50MHz BW)</small><br />
File:VellemanWFS210.png|link=Velleman WFS210|[[File:Nuvola Red.png|16px]] <small>[[Velleman WFS210]] (2ch, 10MS/s, ?? MHz BW)</small><br />
File:Voltcraft dso-220 usb.png|link=Voltcraft DSO-220|[[File:Nuvola Red.png|16px]] <small>[[Voltcraft DSO-220]] (2ch, 60MS/s, 20MHz BW)</small><br />
File:Voltcraft DSO-3062C.png|link=Voltcraft DSO-3062C|[[File:Nuvola Orange.png|16px]] <small>[[Voltcraft DSO-3062C]] (2ch, 1GS/s, 60MHz BW)</small><br />
</gallery><br />
<br />
== Multimeters ==<br />
<br />
<gallery widths="100px" heights="100px"><br />
File:Sigrok_logo_no_text_transparent_512.png|link=Agilent_34401A|[[file:Nuvola OK.png|16px]] <small>[[Agilent 34401A]] (6.5 digits, GPIB, RS232)</small><br />
File:Agilent_34405A.png|link=Agilent_34405A|[[file:Nuvola OK.png|16px]] <small>[[Agilent 34405A]] (120000 counts, USB TMC)</small><br />
File:Agilent U1232A.png|link=Agilent U12xxx series|[[File:Nuvola OK.png|16px]] <small>[[Agilent U12xxx series]] (USB/Bluetooth)</small><br />
File:Bbc gm m2110 mugshot.png|link=BBC Goertz Metrawatt M2110|[[File:Nuvola OK.png|16px]] <small>[[BBC Goertz Metrawatt M2110]] (30000 counts, RS232)</small><br />
File:Brymen BM257.png|link=Brymen BM257|[[File:Nuvola OK.png|16px]] <small>[[Brymen BM257]] (6000 counts, RS232/USB)</small><br />
File:Brymen bm257s mugshot.png|link=Brymen BM257s|[[File:Nuvola OK.png|16px]] <small>[[Brymen BM257s]] (6000 counts, RS232/USB)</small><br />
File:Bm525s-mugshot.png|link=Brymen BM525s|[[File:Nuvola OK.png|16px]] <small>[[Brymen BM525s]] (10000 counts, USB)</small><br />
File:Bm829s-mugshot.png|link=Brymen BM829s|[[File:Nuvola OK.png|16px]] <small>[[Brymen BM829s]] (10000 counts, USB)</small><br />
File:Bm_857_mugshot_500000.png|link=Brymen BM857|[[File:Nuvola OK.png|16px]] <small>[[Brymen BM857]] (50000 counts, RS232)</small><br />
File:Bm859s-front-sleeve.png|link=Brymen BM859s|[[File:Nuvola OK.png|16px]] <small>[[Brymen BM859s]] (50000 counts, USB)</small><br />
File:Bm869_mugshot.png|link=Brymen BM869|[[File:Nuvola OK.png|16px]] <small>[[Brymen BM869]] (50000 counts, USB)</small><br />
File:Digitek_dt4000zc_device_front.png|link=Digitek DT4000ZC|[[File:Nuvola OK.png|16px]] <small>[[Digitek DT4000ZC]] (4000 counts, RS232)</small><br />
File:Eevblog 121gw mugshot.png|link=EEVBlog 121GW|[[File:Nuvola OK.png|16px]] <small>[[EEVBlog 121GW]] (50000 counts, BLE, SD)</small><br />
File:Fluke 187.png|link=Fluke 187/189|[[File:Nuvola OK.png|16px]] <small>[[Fluke 187/189]] (50000 counts, RS232)</small><br />
File:Fluke 287.png|link=Fluke 287/289|[[File:Nuvola OK.png|16px]] <small>[[Fluke 287/289]] (50000 counts, RS232)</small><br />
File:Fluke_45_mugshot.png|link=Fluke 45|[[File:Nuvola OK.png|16px]] <small>[[Fluke 45]] (100000 counts, GPIB/RS232)</small><br />
File:Gmc metrahit 14a logo.png|link=Gossen Metrawatt Metrahit 14A|[[File:Nuvola OK.png|16px]] <small>[[Gossen Metrawatt Metrahit 14A]] (3100 counts, RS232)</small><br />
File:Gossen Metrawatt Metrahit 16I small.png|link=Gossen Metrawatt Metrahit 16I|[[File:Nuvola OK.png|16px]] <small>[[Gossen Metrawatt Metrahit 16I]] (3100 counts, RS232)</small><br />
File:Gossen Metrawatt Metrahit 18S small.png|link=Gossen Metrawatt Metrahit 18S|[[File:Nuvola OK.png|16px]] <small>[[Gossen Metrawatt Metrahit 18S]] (31000 counts, RS232)</small><br />
File:Gossen Metrawatt Metrahit 25S Logo.png|link=Gossen Metrawatt Metrahit 25S|[[File:Nuvola OK.png|16px]] <small>[[Gossen Metrawatt Metrahit 25S]] (31000 counts, RS232/USB)</small><br />
File:Gmc metrahit 29s logo.png|link=Gossen Metrawatt Metrahit 29S|[[File:Nuvola OK.png|16px]] <small>[[Gossen Metrawatt Metrahit 29S]] (310000 counts, RS232/USB)</small><br />
File:Gmc kmm2002 logo.png|link=Gossen Metrawatt T-Com KMM2002|[[File:Nuvola OK.png|16px]] <small>[[Gossen Metrawatt T-Com KMM2002]] (3100 counts, RS232)</small><br />
File:Gdm-397_front.png|link=GW Instek GDM-397|[[File:Nuvola OK.png|16px]] <small>[[GW Instek GDM-397]] (4000 counts, RS232/USB)</small><br />
File:Gdm-8251a frontpanel.png|link=GW Instek GDM-8251A|[[File:Nuvola OK.png|16px]] <small>[[GW Instek GDM-8251A]] (120000 counts, RS232/USB/DigitalIO)</small><br />
File:Gdm-8251a frontpanel.png|link=GW Instek GDM-8255A|[[File:Nuvola OK.png|16px]] <small>[[GW Instek GDM-8255A]] (199999 counts, RS232/USB/DigitalIO)</small><br />
File:Gdm-9061_frontpanel.png|link=GW Instek GDM-9060|[[File:Nuvola OK.png|16px]] <small>[[GW Instek GDM-9060]] (1200000 counts, LAN/RS232/USB/DigitalIO/GPIB)</small><br />
File:Gdm-9061_frontpanel.png|link=GW Instek GDM-9061|[[File:Nuvola OK.png|16px]] <small>[[GW Instek GDM-9061]] (1200000 counts, LAN/RS232/USB/DigitalIO/GPIB)</small><br />
File:HP_3457a_sigrok_teaser.png|link=HP 3457A|[[File:Nuvola OK.png|16px]] <small>[[HP 3457A]] (7.5 digits, GPIB)</small><br />
File:Hp3478a mugshot.png|link=HP 3478A|[[File:Nuvola OK.png|16px]] <small>[[HP 3478A]] (5.5 digits, GPIB)</small><br />
File:HT410 logo.png|link=HT Instruments HT410|[[File:Nuvola OK.png|16px]] <small>[[HT Instruments HT410]] (3100 counts, RS232)</small><br />
File:100px_Idm103n.png|link=ISO-TECH IDM103N|[[File:Nuvola OK.png|16px]] <small>[[ISO-TECH IDM103N]] (4000 counts, RS232)</small><br />
File:keysight-34465a-mugshot.png|link=Keysight 34465A|[[File:Nuvola OK.png|16px]] <small>[[Keysight 34465A]] (1200000 counts, LAN/USB/GPIB)</small><br />
File:Mastech mas345 device front.png|link=MASTECH MAS345|[[File:Nuvola OK.png|16px]] <small>[[MASTECH MAS345]] (4000 counts, RS232)</small><br />
File:Mastech_ms2115b_mugshot.png|link=MASTECH MS2115B|[[File:Nuvola OK.png|16px]] <small>[[MASTECH MS2115B]] (6000 counts, USB)</small><br />
File:Mastech ms8250b mugshot.png|link=MASTECH MS8250B|[[File:Nuvola OK.png|16px]] <small>[[MASTECH MS8250B]] (4000 counts, USB)</small><br />
File:Mastech ms8250d mugshot.png|link=MASTECH MS8250D|[[File:Nuvola OK.png|16px]] <small>[[MASTECH MS8250D]] (6600 counts, USB)</small><br />
File:Meterman-38xr.png|link=Meterman_38XR|[[File:Nuvola OK.png|16px]] <small>[[Meterman 38XR]] (10000 counts, RS232)</small><br />
File:Metex M3850M mugshot.png|link=Metex M-3850M|[[File:Nuvola OK.png|16px]] <small>[[Metex M-3850M]] (4000 counts, RS232)</small><br />
File:Metex m4650cr mugshot.png|link=Metex M-4650CR|[[File:Nuvola OK.png|16px]] <small>[[Metex M-4650CR]] (20000 counts, RS232)</small><br />
File:Metex_ME-21.jpg|link=Metex ME-21|[[File:Nuvola OK.png|16px]] <small>[[Metex ME-21]] (2000 counts, RS232)</small><br />
File:Metex_me-31.png|link=Metex ME-31|[[File:Nuvola OK.png|16px]] <small>[[Metex ME-31]] (4000 counts, RS232)</small><br />
File:Metrix mx56c.png|link=Metrix MX56C|[[File:Nuvola OK.png|16px]] <small>[[Metrix MX56C]] (50000 counts, RS232)</small><br />
File:Mooshimeter_mugshot.png|link=Mooshim Engineering Mooshimeter|[[File:Nuvola OK.png|16px]] <small>[[Mooshim Engineering Mooshimeter]] (24bit, BLE)</small><br />
File:Norma dm950.png|link=Norma DM950|[[File:Nuvola OK.png|16px]] <small>[[Norma DM950]] (21000 counts, RS232)</small><br />
File:Pce-pce-dm32.png|link=PCE PCE-DM32|[[File:Nuvola OK.png|16px]] <small>[[PCE PCE-DM32]] (4000 counts, RS232)</small><br />
File:Peaktech 3330 mugshot.png|link=PeakTech 3330|[[File:Nuvola OK.png|16px]] <small>[[PeakTech 3330]] (4000 counts, RS232/USB)</small><br />
File:Metex_me-31.png|link=PeakTech 3410|[[File:Nuvola OK.png|16px]] <small>[[PeakTech 3410]] (4000 counts, RS232)</small><br />
File:Peaktech3415_top.png|link=PeakTech 3415|[[File:Nuvola OK.png|16px]] <small>[[PeakTech 3415]] (6000 counts, USB)</small><br />
File:Peaktech 4370 device front.png|link=PeakTech 4370|[[File:Nuvola OK.png|16px]] <small>[[PeakTech 4370]] (2000 counts, RS232)</small><br />
File:Peaktech 4390a metex m-3860m mugshot.png|link=PeakTech 4390A|[[File:Nuvola OK.png|16px]] <small>[[PeakTech 4390A]] (4000 counts, RS232)</small><br />
File:Rs_22_168_mugshot.png|link=RadioShack 22-168|[[File:Nuvola OK.png|16px]] <small>[[RadioShack 22-168]] (2000 counts, RS232)</small><br />
File:Rs_22-805_front.png|link=RadioShack 22-805|[[File:Nuvola OK.png|16px]] <small>[[RadioShack 22-805]] (4000 counts, RS232)</small><br />
File:radioshack_22_812_front.png|link=RadioShack 22-812|[[File:Nuvola OK.png|16px]] <small>[[RadioShack 22-812]] (4000 counts, RS232)</small><br />
File:siemens_b1026_logo.png|link=Siemens B1026|[[File:Nuvola OK.png|16px]] <small>[[Siemens B1026]] (21000 counts, RS232)</small><br />
File:Siemens B1105 small.png|link=Siemens B1105|[[File:Nuvola OK.png|16px]] <small>[[Siemens B1105]] (310000 counts, RS232/USB)</small><br />
File:Sparkfun 70c mugshot.png|link=SparkFun 70C|[[File:Nuvola OK.png|16px]] <small>[[SparkFun 70C]] (6000 counts, USB)</small><br />
File:Tecpel dmm8061.png|link=Tecpel DMM-8061|[[File:Nuvola OK.png|16px]] <small>[[Tecpel DMM-8061]] (4000 counts, RS232/USB)</small><br />
File:Tp4000zc_front.png|link=TekPower TP4000ZC|[[File:Nuvola OK.png|16px]] <small>[[TekPower TP4000ZC]] (4000 counts, RS232)</small><br />
File:Tenma 72-7730.png|link=Tenma 72-7730|[[File:Nuvola OK.png|16px]] <small>[[Tenma 72-7730]] (20000 counts, RS232/USB)</small><br />
File:Tenma 72-7732.png|link=Tenma 72-7732|[[File:Nuvola OK.png|16px]] <small>[[Tenma 72-7732]] (40000 counts, RS232/USB)</small><br />
File:Tenma 72-7745.png|link=Tenma 72-7745|[[File:Nuvola OK.png|16px]] <small>[[Tenma 72-7745]] (4000 counts, RS232/USB)</small><br />
File:Tenma 72-7750.png|link=Tenma 72-7750|[[File:Nuvola OK.png|16px]] <small>[[Tenma 72-7750]] (6000 counts, RS232/USB)</small><br />
File:Tenma 72-9380A.png|link=Tenma 72-9380A|[[File:Nuvola OK.png|16px]] <small>[[Tenma 72-9380A]] (40000 counts, RS232/USB)</small><br />
File:Ut60e_-_front_-_alpha.png|link=UNI-T UT60E|[[File:Nuvola OK.png|16px]] <small>[[UNI-T UT60E]] (4000 counts, RS232/USB)</small><br />
File:Uni-t ut61b mugshot.png|link=UNI-T UT61B|[[File:Nuvola OK.png|16px]] <small>[[UNI-T UT61B]] (4000 counts, RS232/USB)</small><br />
File:Uni-t ut61c mugshot.png|link=UNI-T UT61C|[[File:Nuvola OK.png|16px]] <small>[[UNI-T UT61C]] (6000 counts, RS232/USB)</small><br />
File:Uni t ut61d device.png|link=UNI-T UT61D|[[File:Nuvola OK.png|16px]] <small>[[UNI-T UT61D]] (6000 counts, RS232/USB)</small><br />
File:Old ver front.png|link=UNI-T UT61E|[[File:Nuvola OK.png|16px]] <small>[[UNI-T UT61E]] (22000 counts, RS232/USB)</small><br />
File:Ut71c mugshot.png|link=UNI-T UT71C|[[File:Nuvola OK.png|16px]] <small>[[UNI-T UT71C]] (40000 counts, RS232/USB)</small><br />
File:Uni-t-ut181a mugshot.png|link=UNI-T UT181A|[[File:Nuvola OK.png|16px]] <small>[[UNI-T UT181A]] (60000 counts, USB)</small><br />
File:Va_va18b.png|link=V&A VA18B|[[File:Nuvola OK.png|16px]] <small>[[V&A VA18B]] (6000 counts, USB)</small><br />
File:Va va40b mugshot.png|link=V&A VA40B|link=V&A VA40B|[[File:Nuvola OK.png|16px]] <small>[[V&A VA40B]] (6000 counts, USB)</small><br />
File:DVM4100.png|link=Velleman DVM4100|link=Velleman DVM4100|[[File:Nuvola OK.png|16px]] <small>[[Velleman DVM4100]] (6000 counts, USB)</small><br />
File:Victor 70C.png|link=Victor 70C|[[File:Nuvola OK.png|16px]] <small>[[Victor 70C]] (4000 counts, USB)</small><br />
File:Victor 86c device front.png|link=Victor 86C|[[File:Nuvola OK.png|16px]] <small>[[Victor 86C]] (4000 counts, USB)</small><br />
File:Voltcraft m-3650cr.png|link=Voltcraft M-3650CR|[[File:Nuvola OK.png|16px]] <small>[[Voltcraft M-3650CR]] (2000 counts, RS232)</small><br />
File:Voltcraft_M-3650D_transparent.png|link=Voltcraft M-3650D|[[File:Nuvola OK.png|16px]] <small>[[Voltcraft M-3650D]] (2000 counts, RS232)</small><br />
File:Voltcraft m4650cr.png|link=Voltcraft M-4650CR|[[File:Nuvola OK.png|16px]] <small>[[Voltcraft M-4650CR]] (20000 counts, RS232)</small><br />
File:Voltcraft ME-42 logo.png|link=Voltcraft ME-42|[[File:Nuvola OK.png|16px]] <small>[[Voltcraft ME-42]] (4000 counts, RS232)</small><br />
File:Voltcraft vc820 device.png|link=Voltcraft VC-820|[[File:Nuvola OK.png|16px]] <small>[[Voltcraft VC-820]] (4000 counts, RS232/USB)</small><br />
File:Voltcraft vc830.png|link=Voltcraft VC-830|[[File:Nuvola OK.png|16px]] <small>[[Voltcraft VC-830]] (6000 counts, RS232/USB)</small><br />
File:Voltcraft vc840 device front.png|link=Voltcraft VC-840|[[File:Nuvola OK.png|16px]] <small>[[Voltcraft VC-840]] (4000 counts, RS232/USB)</small><br />
File:Voltcraft vc870 mugshot.png|link=Voltcraft VC-870|[[File:Nuvola OK.png|16px]] <small>[[Voltcraft VC-870]] (40000 counts, RS232/USB)</small><br />
File:Voltcraft vc920.png|link=Voltcraft VC-920|[[File:Nuvola OK.png|16px]] <small>[[Voltcraft VC-920]] (40000/4000 counts, RS232/USB)</small><br />
File:Voltcraft vc940.png|link=Voltcraft VC-940|[[File:Nuvola OK.png|16px]] <small>[[Voltcraft VC-940]] (40000/4000 counts, RS232/USB)</small><br />
File:Voltcraft vc96 mugshot.png|link=Voltcraft VC-96|[[File:Nuvola OK.png|16px]] <small>[[Voltcraft VC-96]] (4000 counts, RS232)</small><br />
</gallery><br />
<br />
'''Work in progress [[File:Nuvola Orange.png|16px]] / planned [[File:Nuvola Red.png|16px]]:'''<br />
<br />
<gallery><br />
File:Appa 107.png|link=APPA 107|[[File:Nuvola Orange.png|16px]] <small>[[APPA 107]] (4000 / 20000 counts, RS232)</small><br />
File:Sigrok_logo_no_text_transparent_512.png|link=APPA Multimeters|[[File:Nuvola Orange.png|16px]] <small>[[APPA Multimeters]] (Most models, Optical RS232/USB, BLE)</small><br />
File:Benning MM 12 - 01 - Front Sleeve.png|link=BENNING MM 12|[[File:Nuvola Orange.png|16px]] <small>[[BENNING MM 12]] (40000 counts, RS232/USB, BLE)</small><br />
File:Sigrok_logo_no_text_transparent_512.png|link=CEM DT-987BT|[[File:Nuvola Red.png|16px]] <small>[[CEM DT-987BT]] (50000 counts, BLE)</small><br />
File:Digitek dt8000.png|link=Digitek DT8000|[[File:Nuvola Red.png|16px]] <small>[[Digitek DT8000]] (8000 counts, RS232)</small><br />
File:Digitek dt80000.png|link=Digitek DT80000|[[File:Nuvola Red.png|16px]] <small>[[Digitek DT80000]] (80000 counts, RS232)</small><br />
File:Escort 179 device front.png|link=Escort 179|[[File:Nuvola Red.png|16px]] <small>[[Escort 179]] (10000 counts, RS232)</small><br />
File:Sigrok_logo_no_text_transparent_512.png|link=Gossen Metrawatt Metrahit 28C|[[File:Nuvola Red.png|16px]] <small>[[Gossen Metrawatt Metrahit 28C]] (310000 counts, RS232/USB)</small><br />
File:Sigrok_logo_no_text_transparent_512.png|link=Gossen Metrawatt Metrahit 28S|[[File:Nuvola Red.png|16px]] <small>[[Gossen Metrawatt Metrahit 28S]] (310000 counts, RS232/USB)</small><br />
File:Gossen metrahit 30m.png|link=Gossen-Metrawatt METRAHIT 30M|[[File:Nuvola Red.png|16px]] <small>[[Gossen-Metrawatt METRAHIT 30M]] (1200000 counts, RS232/USB)</small><br />
File:Sigrok_logo_no_text_transparent_512.png|link=Gossen Metrawatt Metrahit X-Tra|[[File:Nuvola Red.png|16px]] <small>[[Gossen Metrawatt Metrahit X-Tra]] (12000 counts, USB)</small><br />
File:Sigrok_logo_no_text_transparent_512.png|link=HYELEC MS8236|[[File:Nuvola Red.png|16px]] <small>[[HYELEC MS8236]] (6000 counts, USB)</small><br />
File:800px-Mastech m9803r device front.png|link=MASTECH M9803R|[[File:Nuvola Red.png|16px]] <small>[[MASTECH M9803R]] (4000 counts, RS232)</small><br />
File:Metrix mx53.png|link=Metrix MX53|[[File:Nuvola Red.png|16px]] <small>[[Metrix MX53]] (50000 counts, RS232)</small><br />
File:Owon_XDM2041.JPG|link=Owon XDM2041|[[File:Nuvola Orange.png|16px]] <small>[[Owon XDM2041]] (55000 counts, RS232)</small><br />
File:Peaktech-3442-front.png|link=PeakTech 3442|[[File:Nuvola Red.png|16px]] <small>[[PeakTech 3442]] (50000 counts, BLE)</small><br />
File:Peaktech 4380 mugshot.png|link=PeakTech 4380|[[File:Nuvola Red.png|16px]] <small>[[PeakTech 4380]] (4000 counts, RS232)</small><br />
File:Peaktech 4390 mugshot.png|link=PeakTech 4390|[[File:Nuvola Red.png|16px]] <small>[[PeakTech 4390]] (6000 counts, USB)</small><br />
File:Sigrok_logo_no_text_transparent_512.png|link=Protek 6500|[[File:Nuvola Red.png|16px]] <small>[[Protek 6500]] (50000 counts, RS232)</small><br />
File:Rigol DM3068 front.png|link=Rigol DM3068|[[File:Nuvola Red.png|16px]] <small>[[Rigol DM3068]] (2200000 counts, LAN/USB/GPIB/RS232)</small><br />
File:RS PRO S2 - 01 - Front.png|link=RS PRO S2|[[File:Nuvola Orange.png|16px]] <small>[[RS PRO S2]] (6000 counts, BLE)</small><br />
File:Tenma 72-1016.png|link=Tenma 72-1016|[[File:Nuvola Red.png|16px]] <small>[[Tenma 72-1016]] (6000 counts, RS232/USB)</small><br />
File:Uni-t-ut81b mugshot.png|link=UNI-T UT81B|[[File:Nuvola Red.png|16px]] <small>[[UNI-T UT81B]] (6000 counts, USB)</small><br />
File:Voltcraft 3850D front transp.png|link=Voltcraft M-3850D|[[File:Nuvola Red.png|16px]] <small>[[Voltcraft M-3850D]] (4000 counts, RS232)</small><br />
File:Voltcraft m3890dt usb.png|link=Voltcraft M-3890DT|[[File:Nuvola Red.png|16px]] <small>[[Voltcraft M-3890DT]] (4000 counts, USB)</small><br />
File:Voltcraft m4660a device front.png|link=Voltcraft M-4660A|[[File:Nuvola Red.png|16px]] <small>[[Voltcraft M-4660A]] (20000 counts, RS232)</small><br />
File:Voltcraft vc890 mugshot.png|link=Voltcraft VC-890|[[File:Nuvola Red.png|16px]] <small>[[Voltcraft VC-890]] (60000 counts, USB/serial)</small><br />
File:Voltcraft VC-950 - 01 - Front.png|link=Voltcraft VC-950|[[File:Nuvola Orange.png|16px]] <small>[[Voltcraft VC-950]] (100000/10000 counts, serial/USB)</small><br />
</gallery><br />
<br />
== LCR meters ==<br />
<br />
<gallery widths="100Px" heights="100px"><br />
File:Der ee de-5000 mugshot.png|link=DER EE DE-5000|[[File:Nuvola_OK.png|16px]] <small>[[DER EE DE-5000]] (serial)</small><br />
File:Sigrok_logo_no_text_transparent_512.png|link=MASTECH MS5308|[[File:Nuvola_OK.png|16px]] <small>[[MASTECH MS5308]] (serial)</small><br />
File:peaktech2165-front.png|link=Peaktech 2165|[[File:Nuvola_OK.png|16px]] <small>[[Peaktech 2165]] (serial)</small><br />
File:Peaktech 2170 mugshot.png|link=PeakTech 2170|[[File:Nuvola_OK.png|16px]] <small>[[PeakTech 2170]] (serial)</small><br />
File:uni_t_ut612_1.png|link=UNI-T UT612|[[File:Nuvola_OK.png|16px]] <small>[[UNI-T UT612]] (USB/HID)</small><br />
File:Voltcraft4080_2.png|link=Voltcraft 4080|[[File:Nuvola_OK.png|16px]] <small>[[Voltcraft 4080]] (serial)</small><br />
</gallery><br />
<br />
'''Work in progress [[File:Nuvola Orange.png|16px]] / planned [[File:Nuvola Red.png|16px]]:'''<br />
<br />
<gallery widths="100px" heights="100px"><br />
File:Agilent U1732B.png|link=Agilent U1732B|[[File:Nuvola Red.png|16px]] <small>[[Agilent U1732B]] (IR)</small><br />
File:Sigrok_logo_no_text_transparent_512.png|link=BK Precision 879B|[[File:Nuvola Red.png|16px]] <small>[[BK Precision 879B]] (USB)</small><br />
</gallery><br />
<br />
== Sound level meters ==<br />
<br />
<gallery widths="100px" heights="100px"><br />
File:CEM DT-8852.png|link=CEM DT-8852|[[File:Nuvola OK.png|16px]] <small>[[CEM DT-8852]] (USB)</small><br />
File:Colead SL-5868P.png|link=Colead SL-5868P|[[File:Nuvola OK.png|16px]] <small>[[Colead SL-5868P]] (RS232)</small><br />
File:Kecheng KC-330B.png|link=Kecheng KC-330B|[[File:Nuvola OK.png|16px]] <small>[[Kecheng KC-330B]] (RS232)</small><br />
File:PCE-322A.png|link=PCE PCE-322A|[[File:Nuvola OK.png|16px]] <small>[[PCE PCE-322A]] (USB)</small><br />
File:Tondaj sl-814.png|link=Tondaj SL-814|[[File:Nuvola OK.png|16px]] <small>[[Tondaj SL-814]] (USB)</small><br />
</gallery><br />
<br />
'''Work in progress [[File:Nuvola Orange.png|16px]] / planned [[File:Nuvola Red.png|16px]]:'''<br />
<br />
<gallery><br />
File:Pce_pce-222_front.png|link=PCE PCE-222|[[File:Nuvola Red.png|16px]] <small>[[PCE PCE-222]] (also: light-/thermo-/hygrometer; RS232)</small><br />
File:Voltcraft_dl_160s.png|link=Voltcraft DL-160S|[[File:Nuvola Red.png|16px]] <small>[[Voltcraft DL-160S]] (USB)</small><br />
File:Voltcraft_DL-161S.png|link=Voltcraft DL-161S|[[File:Nuvola Red.png|16px]] <small>[[Voltcraft DL-161S]] (USB)</small><br />
</gallery><br />
<br />
== Thermometers ==<br />
<br />
<gallery widths="100px" heights="100px"><br />
File:rs55ii.png|link=APPA 55II|[[File:Nuvola OK.png|16px]] <small>[[APPA 55II]] (2xtemp, RS232)</small><br />
File:EL-USB-2.png|link=Lascar Electronics EL-USB-2|[[File:Nuvola OK.png|16px]] <small>[[Lascar Electronics EL-USB-2]] (1xtemp, 1xhum, USB)</small><br />
File:MASTECH_MS6514_mugshot.png|link=MASTECH MS6514|[[File:Nuvola OK.png|16px]] <small>[[MASTECH MS6514]] (2x temp, USB/serial)</small><br />
File:Mic 98581.png|link=MIC 98581|[[File:Nuvola OK.png|16px]] <small>[[MIC 98581]] (1xtemp, USB)</small><br />
File:Mic 98583.png|link=MIC 98583|[[File:Nuvola OK.png|16px]] <small>[[MIC 98583]] (1xtemp, 1xhum, USB)</small><br />
File:Uni-t ut325 front.png|link=UNI-T UT325|[[File:Nuvola OK.png|16px]] <small>[[UNI-T UT325]] (2xtemp, USB)</small><br />
File:Voltcraft k204.png|link=Voltcraft K204|[[File:Nuvola OK.png|16px]] <small>[[Voltcraft K204]] (4xtemp, RS232)</small><br />
</gallery><br />
<br />
'''Work in progress [[File:Nuvola Orange.png|16px]] / planned [[File:Nuvola Red.png|16px]]:'''<br />
<br />
<gallery><br />
File:Elitech rc3.png|link=Elitech RC-3|[[File:Nuvola Red.png|16px]] <small>[[Elitech RC-3]] (1xtemp, RS232)</small><br />
File:Escort 19.png|link=Escort 19|[[File:Nuvola Red.png|16px]] <small>[[Escort 19]] (1x temp, RS232)</small><br />
File:Pax_instruments_t400.jpg|link=Pax Instruments T400|[[File:Nuvola Red.png|16px]] <small>[[Pax Instruments T400]] (4xtemp, USB)</small><br />
File:Pce_pce-222_front.png|link=PCE PCE-222|[[File:Nuvola Red.png|16px]] <small>[[PCE PCE-222]] (1xtemp, RS232)</small><br />
File:Rding temper front.png|link=RDing TEMPer|[[File:Nuvola Red.png|16px]] <small>[[RDing TEMPer]] (1xtemp, USB)</small><br />
File:Rding temper gold device front.png|link=RDing TEMPer Gold|[[File:Nuvola Red.png|16px]] <small>[[RDing TEMPer Gold]] (1xtemp, USB)</small><br />
File:Rding temper1 device front.png|link=RDing TEMPer1|[[File:Nuvola Red.png|16px]] <small>[[RDing TEMPer1]] (1xtemp, USB)</small><br />
File:Pcsensor_temper1k2.png|link=RDing TEMPer1K2|[[File:Nuvola Red.png|16px]] <small>[[RDing TEMPer1K2]] (1xtemp, USB)</small><br />
File:Voltcraft dl-120th.png|link=Voltcraft DL-120TH|[[File:Nuvola Red.png|16px]] <small>[[Voltcraft DL-120TH]] (1xtemp, USB)</small><br />
File:Voltcraft dl-140th.png|link=Voltcraft DL-140TH|[[File:Nuvola Red.png|16px]] <small>[[Voltcraft DL-140TH]] (1xtemp, USB)</small><br />
</gallery><br />
<br />
== Hygrometers ==<br />
<br />
<gallery widths="100px" heights="100px"><br />
File:EL-USB-2.png|link=Lascar Electronics EL-USB-2|[[File:Nuvola OK.png|16px]] <small>[[Lascar Electronics EL-USB-2]] (temp/humidity, USB)</small><br />
File:Mic 98583.png|link=MIC 98583|[[File:Nuvola OK.png|16px]] <small>[[MIC 98583]] (temp/humidity, USB)</small><br />
</gallery><br />
<br />
'''Work in progress [[File:Nuvola Orange.png|16px]] / planned [[File:Nuvola Red.png|16px]]:'''<br />
<br />
<gallery><br />
File:Pce_pce-222_front.png|link=PCE PCE-222|[[File:Nuvola Red.png|16px]] <small>[[PCE PCE-222]] (also: light-/soundlevelmeter; RS232)</small><br />
File:Silabs si7005usb dgl eb top.jpg|link=SiLabs Si7005USB-Dongle|[[File:Nuvola Red.png|16px]] <small>[[SiLabs Si7005USB-Dongle]] (USB)</small><br />
</gallery><br />
<br />
== Anemometers ==<br />
<br />
'''Work in progress [[File:Nuvola Orange.png|16px]] / planned [[File:Nuvola Red.png|16px]]:'''<br />
<br />
<gallery widths="100px" heights="100px"><br />
File:Mastech ms6252b.png|link=MASTECH MS6252B|[[File:Nuvola Red.png|16px]] <small>[[MASTECH MS6252B]] (USB)</small><br />
</gallery><br />
<br />
== Light meters ==<br />
<br />
'''Work in progress [[File:Nuvola Orange.png|16px]] / planned [[File:Nuvola Red.png|16px]]:'''<br />
<br />
<gallery widths="100px" heights="100px"><br />
File:Lutron YK-2005LX.png|link=Lutron YK-2005LX|[[File:Nuvola Red.png|16px]] <small>[[Lutron YK-2005LX]] (RS232)</small><br />
File:Pce_pce-222_front.png|link=PCE PCE-222|[[File:Nuvola Red.png|16px]] <small>[[PCE PCE-222]] (RS232)</small><br />
</gallery><br />
<br />
== Energy meters ==<br />
<br />
<gallery widths="100px" heights="100px"><br />
File:Actaris_a14c5_teleinfo.png|link=EDF Teleinfo|[[File:Nuvola OK.png|16px]] <small>[[EDF Teleinfo]] (RS232)</small><br />
File:Acme.png|link=BayLibre ACME|[[File:Nuvola OK.png|16px]] <small>[[BayLibre ACME]] (I2C)</small><br />
File:UM24C_display.jpg|link=RDTech_UM_series|[[File:Nuvola OK.png|16px]] <small>[[RDTech UM series]] (USB testers)</small><br />
File:UM24C display.jpg|link=RDTech_TC66C|[[File:Nuvola OK.png|16px]] <small>[[RDTech TC66C]] (USB tester)</small><br />
</gallery><br />
<br />
== DAQs ==<br />
<br />
'''Work in progress [[File:Nuvola Orange.png|16px]] / planned [[File:Nuvola Red.png|16px]]:'''<br />
<br />
<gallery widths="100px" heights="100px"><br />
File:Ni usb 6008.png|link=NI USB-6008|[[File:Nuvola Red.png|16px]] <small>[[NI USB-6008]] (8/2 analog inputs/outputs, 12 digital I/Os)</small><br />
</gallery><br />
<br />
== Dataloggers ==<br />
<br />
<gallery widths="100px" heights="100px"><br />
File:EL-USB-CO.png|link=Lascar Electronics EL-USB-CO|[[File:Nuvola OK.png|16px]] <small>[[Lascar Electronics EL-USB-CO]] (carbon monoxide (CO) logger, USB)</small><br />
File:Testo_435-4.png|link=Testo 435-4|[[File:Nuvola OK.png|16px]] <small>[[Testo 435-4]] (USB)</small><br />
</gallery><br />
<br />
'''Work in progress [[File:Nuvola Orange.png|16px]] / planned [[File:Nuvola Red.png|16px]]:'''<br />
<br />
<gallery><br />
File:Gsg_indoor_air_monitor.png|link=GSG Indoor Air Monitor|[[File:Nuvola Red.png|16px]] <small>[[GSG Indoor Air Monitor]] (air quality monitor, USB)</small><br />
File:Maul_studio_i.png|link=MAUL studio i|[[File:Nuvola Red.png|16px]] <small>[[MAUL studio i]] (weighing scale, RS232)</small><br />
File:Voltcraft co-20.png|link=Voltcraft CO-20|[[File:Nuvola Red.png|16px]] <small>[[Voltcraft CO-20]] (air quality monitor, USB)</small><br />
</gallery><br />
<br />
== Tachometers ==<br />
<br />
<gallery widths="100px" heights="100px"><br />
File:Uni-t ut372 mugshot.png|link=UNI-T UT372|[[File:Nuvola OK.png|16px]] <small>[[UNI-T UT372]] (USB)</small><br />
</gallery><br />
<br />
== Scales ==<br />
<br />
<gallery widths="100px" heights="100px"><br />
File:Kern ew-6200-2nm mugshot.png|link=KERN scale series|[[File:Nuvola OK.png|16px]] <small>[[KERN scale series]] (RS232)</small><br />
</gallery><br />
<br />
== Digital loads ==<br />
<br />
<gallery widths="100px" heights="100px"><br />
File:Arachnid Labs ReLoad Pro - Mugshot.png|link=Arachnid Labs Reload Pro|[[File:Nuvola OK.png|16px]] <small>[[Arachnid Labs Reload Pro]] (USB)</small><br />
File:Itech It8511plus frontpanel.png|link=ITECH IT8500 series|[[File:Nuvola OK.png|16px]] <small>[[ITECH IT8500 series]]</small><br />
File:Maynuo m9812 mugshot.png|link=Maynuo M9812|[[File:Nuvola OK.png|16px]] <small>[[Maynuo M9812]]</small><br />
File:Ztetech-ebd-usb%2B.png|link=ZKETECH_EBD-USB|[[File:Nuvola OK.png|16px]] <small>[[ZKETECH EBD-USB]]</small><br />
</gallery><br />
<br />
'''Work in progress [[File:Nuvola Orange.png|16px]] / planned [[File:Nuvola Red.png|16px]]:'''<br />
<br />
<gallery><br />
File:Atten ATZ9711.png|link=ATTEN ATZ9711|[[File:Nuvola Red.png|16px]] <small>[[ATTEN ATZ9711]]</small><br />
</gallery><br />
<br />
== Function generators ==<br />
<br />
<gallery widths="100px" heights="100px"><br />
File:Sigrok_logo_no_text_transparent_512.png|link=Rohde&Schwarz SME series|[[file:Nuvola OK.png|16px]] <small>[[Rohde&Schwarz SME series]] (1ch, various, GPIB&RS232)</small><br />
File:Rigol_DG811_frontpanel.png|link=Rigol DG800 Series|[[File:Nuvola OK.png|16px]] <small>[[Rigol DG800 Series]] (1-2ch, 10/25/35MHz, USB)</small><br />
File:Sigrok_logo_no_text_transparent_512.png|link=Rigol DG900 Series|[[File:Nuvola OK.png|16px]] <small>[[Rigol DG900 Series]] (2ch, 50/70/100MHz, USB)</small><br />
File:Dg1000z_series.png|link=Rigol DG1000z Series|[[File:Nuvola OK.png|16px]] <small>[[Rigol DG1000z Series]] (2ch, 25/35/60MHz, USB, LAN)</small><br />
</gallery><br />
<br />
'''Work in progress [[File:Nuvola Orange.png|16px]] / planned [[File:Nuvola Red.png|16px]]:'''<br />
<br />
<gallery widths="100px" heights="100px"><br />
File:BG7TBL small.png|link=BG7TBL|[[File:Nuvola Red.png|16px]] <small>[[BG7TBL]] (138MHz-4.4GHz, PC-based, USB)</small><br />
File:Hantek DDS-3X25 top.png|link=Hantek DDS-3X25|[[File:Nuvola Red.png|16px]] <small>[[Hantek DDS-3X25]] (25MHz, PC-based, USB)</small><br />
File:Hp_3325a_front.png|link=HO 3325A|[[File:Nuvola Red.png|16px]] <small>[[HP 3325A]] (20MHz, GPIB)</small><br />
File:Jds6600-mugshot.png|link=Joy-IT JDS6600|[[File:Nuvola Red.png|16px]] <small>[[Joy-IT JDS6600]] (60MHz, USB RS232)</small><br />
File:MHINSTEK UDB1305S persp.jpg|link=MHINSTEK UDB1xxxS|[[File:Nuvola Red.png|16px]] <small>[[MHINSTEK UDB1xxxS]] (2/5/8MHz, Serial)</small><br />
File:MHINSTEK MHS-5200A persp.jpg|link=MHINSTEK MHS-5200A|[[File:Nuvola Orange.png|16px]] <small>[[MHINSTEK MHS-5200A]] (6/12/20/25MHz, USB)</small><br />
File:Siglent sdg1010 device front 8116.png|link=Siglent SDG1010|[[File:Nuvola Red.png|16px]] <small>[[Siglent SDG1010]] (10MHz, USB)</small><br />
File:Sigrok_logo_no_text_transparent_512.png|link=Velleman PCG10|[[File:Nuvola Red.png|16px]] <small>[[Velleman PCG10]] (1MHz, PC-based, LPT)</small><br />
</gallery><br />
<br />
== Frequency counters ==<br />
<br />
'''Work in progress [[File:Nuvola Orange.png|16px]] / planned [[File:Nuvola Red.png|16px]]:'''<br />
<br />
<gallery widths="100px" heights="100px"><br />
File:Hantek DDS-3X25 top.png|link=Hantek DDS-3X25|[[File:Nuvola Red.png|16px]] <small>[[Hantek DDS-3X25]] (50MHz, PC-based, USB)</small><br />
File:HP 5350B.png|link=HP 5350B|[[File:Nuvola Red.png|16px]] <small>[[HP 5350B]] (10Hz-20GHz, GPIB)</small><br />
</gallery><br />
<br />
== RF receivers ==<br />
<br />
'''Work in progress [[File:Nuvola Orange.png|16px]] / planned [[File:Nuvola Red.png|16px]]:'''<br />
<br />
<gallery widths="100px" heights="100px"><br />
File:Per vices noctar.png|link=Per Vices Noctar|[[File:Nuvola Red.png|16px]] <small>[[Per Vices Noctar]] (100kHz-4GHz, IQ modulator/demodulator, PCIe)</small><br />
</gallery><br />
<br />
== Spectrum analyzers ==<br />
<br />
'''Work in progress [[File:Nuvola Orange.png|16px]] / planned [[File:Nuvola Red.png|16px]]:'''<br />
<br />
<gallery widths="100px" heights="100px"><br />
File:Sigrok_logo_no_text_transparent_512.png|link=Siglent SSA3000X series|[[File:Nuvola Red.png|16px]] <small>[[Siglent SSA3000X series]] (9kHz-2.1GHz, USB, Ethernet)</small><br />
</gallery><br />
<br />
== Power supplies ==<br />
<br />
<gallery widths="100px" heights="100px"><br />
File:Sigrok logo no text transparent 512.png|link=Agilent N5700 series|[[File:Nuvola OK.png|16px]] <small>[[Agilent N5700 series]]</small><br />
File:Atten PPS3203T-3S.png|link=Atten PPS3203T-3S|[[File:Nuvola OK.png|16px]] <small>[[Atten PPS3203T-3S]] (3ch, 2x 0-32V, 1x 0-6V at 0-3A, USB&RS232)</small><br />
File:Sigrok logo no text transparent 512.png|link=BK Precision 9310|[[File:Nuvola OK.png|16px]] <small>[[BK Precision 9310]]</small><br />
File:Chroma_61604_front.png|link=Chroma 61604|[[File:Nuvola OK.png|16px]] <small>[[Chroma 61604]] (1ch, 0-300V, 0-16A, 2kVA)</small><br />
File:Conrad_digi_35_cpu_logo.png|link=Conrad DIGI 35 CPU|[[File:Nuvola OK.png|16px]] <small>[[Conrad DIGI 35 CPU]] (1ch, 0-35V / 0-2.55A, RS232)</small><br />
File:Envox_eez_h24005_front_panel.jpg|link=Envox EEZ H24005|[[File:Nuvola OK.png|16px]] <small>[[Envox EEZ H24005]] (2ch, USB&LAN)</small><br />
File:Envox_eez_bb3_enclosure_prototype.jpg|link=Envox EEZ Bench Box 3|[[File:Nuvola OK.png|16px]] <small>[[Envox EEZ Bench Box 3]] (6ch, modular, USB&LAN)</small><br />
File:Gwinstek-gpd-3303s.png|link=GW Instek GPD series|[[File:Nuvola OK.png|16px]] <small>[[GW Instek GPD series]] (2/3/4ch, 0-30V / 0-3A, USB/serial)</small><br />
File:Sigrok logo no text transparent 512.png|link=HP 661xC series|[[File:Nuvola OK.png|16px]] <small>[[HP 661xC series]]</small><br />
File:Agilent-66312a-mugshot.png|link=HP 66312A|[[File:Nuvola OK.png|16px]] <small>[[HP 66312A]] (1ch, 0-20V / 0-2A, GPIB&RS232)</small><br />
File:HP-6632B_mugshot.png|link=HP 6632B|[[File:Nuvola OK.png|16px]] <small>[[HP 6632B]] (1ch, 0-20V / 0-5A, GPIB&RS232)</small><br />
File:Velleman ps3005d mugshot.png|link=Korad KAxxxxP series|[[File:Nuvola OK.png|16px]] <small>[[Korad KAxxxxP series]] (1ch, 0-30V / 0-5A, USB&RS232)</small><br />
File:Manson hcs3202.png|link=Manson HCS-3xxx series|[[File:Nuvola OK.png|16px]] <small>[[Manson HCS-3xxx series]] (1ch, 1-36V / 0-10A, USB)</small><br />
File:Motech_LPS-301_logo.png|link=Motech LPS-301|[[File:Nuvola OK.png|16px]] <small>[[Motech LPS-301]] (1ch, 1-32V / 0-2A, RS232)</small><br />
File:Owon_P4603.JPG|link=Owon P4000 series|[[File:Nuvola OK.png|16px]] <small>[[Owon P4000 series]] (1ch, 30V/5A or 60V/3A, RS232)</small><br />
File:Philips PM2813.png|link=Philips PM2800 series|[[File:Nuvola OK.png|16px]] <small>[[Philips_PM2800_series|Fluke/Philips PM2800 series]]</small><br />
File:Rdtech-dps.png|link=RDTech DPS series|[[File:Nuvola OK.png|16px]] <small>[[RDTech DPS series]] (1ch, various, USB/BT)</small><br />
File:RD6006 frontpanel.png|link=RDTech RD series|[[File:Nuvola OK.png|16px]] <small>[[RDTech RD series]] (1ch, 0-60V, 0-6/12/18A, USB/Serial/WiFi)</small><br />
File:Sigrok logo no text transparent 512.png|link=Rigol DP700 series|[[File:Nuvola OK.png|16px]] <small>[[Rigol DP700 series]]</small><br />
File:Rigol DP832.png|link=Rigol DP800 series|[[File:Nuvola OK.png|16px]] <small>[[Rigol DP800 series]]</small><br />
File:rs_hmc8043_mugshot.png|link=Rohde&Schwarz HMC 8043|[[File:Nuvola OK.png|16px]] <small>[[Rohde&Schwarz HMC 8043]] (3ch, 0-32V / 0-3A, USB&LXI)</small><br />
File:rs_hmp4040_mugshot.png|link=Rohde&Schwarz HMP 4000 series|[[File:Nuvola OK.png|16px]] <small>[[Rohde&Schwarz HMP 4000 series]] (3/4ch, 0-32V / 0-10A, USB&LAN)</small><br />
</gallery><br />
<br />
'''Work in progress [[File:Nuvola Orange.png|16px]] / planned [[File:Nuvola Red.png|16px]]:'''<br />
<br />
<gallery><br />
File:Sigrok logo no text transparent 512.png|link=Delta Elektronika SM3300 series|[[File:Nuvola Red.png|16px]] <small>[[Delta Elektronika SM3300 series]] (1ch, 18V-660V/3.3kW, USB, RS232, RS485, RS422)</small><br />
File:Sigrok logo no text transparent 512.png|link=ETommens eTM-xxxxP Series|[[File:Nuvola Orange.png|16px]] <small>[[ETommens eTM-xxxxP Series]] (1ch, various, USB/Serial)</small><br />
File:Hanmatek_HM305P_front.JPG|link=Hanmatek HM305P|[[File:Nuvola Orange.png|16px]] <small>[[Hanmatek HM305P]] (1ch, 0-30V/0-5A, USB/Serial)</small><br />
File:Rockseed_rs310p.jpg|link=RockSeed RS310P|[[File:Nuvola Orange.png|16px]] <small>[[RockSeed RS310P]] (1ch, 0-30V/0-10A, USB/Serial)</small><br />
File:Sigrok logo no text transparent 512.png|link=Siglent SPD3303 series|[[File:Nuvola Orange.png|16px]] <small>[[Siglent SPD3303 series]] (3ch, 0-32V/0-3.2A, USB, LAN)</small><br />
File:Sigrok logo no text transparent 512.png|link=Voltcraft 18220|[[File:Nuvola Red.png|16px]] <small>[[Voltcraft 18220]] (1ch, 0-40V/0-5A, RS232)</small><br />
</gallery><br />
<br />
== Multiplexer / Relay actuators ==<br />
<br />
<gallery><br />
File:dcttech_usbrelay_mugshot.png|link=dcttech usbrelay|[[File:Nuvola OK.png|16px]] <small>[[dcttech usbrelay]] (1-8ch, 10A @ 250VAC, 10A @ 30VDC, USB HID)</small><br />
File:HP_59306A-mugshot.png|link=HP 59306A|[[File:Nuvola OK.png|16px]] <small>[[HP 59306A]] (6ch, 0.5A @ 28VDC, 0.5A @ 115VAC, GPIB)</small><br />
</gallery><br />
<br />
'''Work in progress [[File:Nuvola Orange.png|16px]] / planned [[File:Nuvola Red.png|16px]]:'''<br />
<br />
<gallery><br />
File:Gembird-silvershield-front.png|link=Gembird silvershield|[[File:Nuvola Red.png|16px]] <small>[[Gembird silvershield]] (1-4ch, 230V, 10A, USB HID)</small><br />
File:ICStation_ICSE012A-mugshot.png|link=ICStation USBRelay|[[File:Nuvola Orange.png|16px]] <small>[[ICStation USBRelay]] (2-8ch, 10A @ 30VDC, 10A @ 250VAC, USB/Serial)</small><br />
</gallery><br />
<br />
== GPIB interfaces ==<br />
<br />
'''Work in progress [[File:Nuvola Orange.png|16px]] / planned [[File:Nuvola Red.png|16px]]:'''<br />
<br />
<gallery widths="100px" heights="100px"><br />
File:Agilent_82357a_top_cover_removed.jpg|link=Agilent_82357A|[[File:Nuvola Red.png|16px]] <small>[[Agilent 82357A]] (Hardware-based, USB)</small><br />
File:Ar488-artag-pcb-top.png|link=AR488|[[File:Nuvola Red.png|16px]] <small>[[AR488]] (Arduino based, USB/RS232)</small><br />
File:Beiming_s82357.png|link=Beiming S82357|[[File:Nuvola Red.png|16px]] <small>[[Beiming S82357]] (hardware-based, USB)</small><br />
File:ICS 488-USB.png|link=ICS 488-USB|[[File:Nuvola Red.png|16px]] <small>[[ICS 488-USB]] (hardware-based, USB)</small><br />
File:GPIB-USB 82357B clone.png|link=GPIB-USB 82357B clone|[[File:Nuvola Red.png|16px]] <small>[[GPIB-USB 82357B clone]] (hardware-based, USB)</small><br />
File:NI GPIB-ENET.png|link=National Instruments GPIB-ENET|[[File:Nuvola Red.png|16px]] <small>[[National Instruments GPIB-ENET]] (hardware-based, Ethernet)</small><br />
File:NI GPIB-USB-HS.png|link=National Instruments GPIB-USB-HS|[[File:Nuvola Red.png|16px]] <small>[[National Instruments GPIB-USB-HS]] (hardware-based, USB)</small><br />
File:Prologix-usb.png|link=Prologix GPIB-USB|[[File:Nuvola Red.png|16px]] <small>[[Prologix GPIB-USB]] (firmware-based, USB)</small><br />
File:GalvantGPIBUSBrev4.JPG|link=Galvant GPIBUSB|[[File:Nuvola Red.png|16px]] <small>[[Galvant GPIBUSB]] (firmware-based, USB, OSHW)</small><br />
</gallery><br />
<br />
== Potential other candidates ==<br />
<br />
If you own any other logic analyzers, oscilloscopes, multimeters, dataloggers, ... and want to add support for them in sigrok (or donate/lend devices to developers), please let us know. We're always happy to add more hardware support! Join the [https://lists.sourceforge.net/lists/listinfo/sigrok-devel mailing list] or ask on [https://web.libera.chat/#sigrok #sigrok@libera.chat] if you want to help out.<br />
<br />
__FORCETOC__</div>
Abraxa
https://sigrok.org/w/index.php?title=Downloads&diff=16273
Downloads
2022-03-01T00:09:10Z
<p>Abraxa: Change download links to sigrok.org because of SSL certificate</p>
<hr />
<div>{| border="0" width="100%" style="white-space: margin: 0em; margin-bottom: 2em; border-width: 1em; align:center; vertical-align: top"<br />
|-<br />
!Linux<br />
!Windows<br />
!Mac OS X<br />
!Other<br />
<br />
|-<br />
! colspan="4" | {{Rounded_corners|url=https://sigrok.org/wiki/Downloads|bgcolor=#aaaaaa|text=Nightly builds (recommended, always up-to-date)}}<br />
<br />
|- style="background-color: white"<br />
<br />
| style="width:20%; vertical-align: top" |<br />
<br />
{{Rounded_corners|url=http://sigrok.org/download/binary/pulseview/PulseView-NIGHTLY-i686.AppImage|text=PulseView (32bit)}}<br />
<br />
{{Rounded_corners|url=http://sigrok.org/download/binary/pulseview/PulseView-NIGHTLY-x86_64.AppImage|text=PulseView (64bit)}}<br />
<br />
{{Rounded_corners|url=http://sigrok.org/download/binary/sigrok-cli/sigrok-cli-NIGHTLY-i686.AppImage|text=sigrok-cli (32bit)}}<br />
<br />
{{Rounded_corners|url=http://sigrok.org/download/binary/sigrok-cli/sigrok-cli-NIGHTLY-x86_64.AppImage|text=sigrok-cli (64bit)}}<br />
<br />
| style="width:20%; vertical-align: top" |<br />
<br />
{{Rounded_corners|url=http://sigrok.org/download/binary/pulseview/pulseview-NIGHTLY-32bit-static-release-installer.exe|text=PulseView (32bit)}}<br />
<br />
{{Rounded_corners|url=http://sigrok.org/download/binary/pulseview/pulseview-NIGHTLY-64bit-static-release-installer.exe|text=PulseView (64bit)}}<br />
<br />
{{Rounded_corners|url=http://sigrok.org/download/binary/sigrok-cli/sigrok-cli-NIGHTLY-32bit-static-release-installer.exe|text=sigrok-cli (32bit)}}<br />
<br />
{{Rounded_corners|url=http://sigrok.org/download/binary/sigrok-cli/sigrok-cli-NIGHTLY-64bit-static-release-installer.exe|text=sigrok-cli (64bit)}}<br />
<br />
| style="width:20%; vertical-align: top" |<br />
<br />
{{Rounded_corners|url=http://sigrok.org/download/binary/pulseview/PulseView-NIGHTLY.dmg|text=PulseView (64bit)}}<br />
<br />
{{Rounded_corners|url=http://sigrok.org/download/binary/sigrok-cli/sigrok-cli-NIGHTLY.dmg|text=sigrok-cli (64bit)}}<br />
<br />
| style="width:20%; vertical-align: top; text-align: center" |<br />
<br />
{{Rounded_corners|url=https://sigrok.org/wiki/Downloads#Releases|text=See below}}<br />
<br />
|-<br />
!colspan="4" | {{Rounded_corners|url=https://sigrok.org/wiki/Downloads|bgcolor=#aaaaaa|text=Release builds (usually older than nightly builds, might be missing features or bugfixes)}}<br />
<br />
|- style="background-color: white"<br />
<br />
| style="width:20%; vertical-align: top" |<br />
<br />
{{Rounded_corners|url=https://sigrok.org/download/binary/pulseview/PulseView-0.4.2-i386.AppImage|text=PulseView 0.4.2 (32bit)}}<br />
<br />
{{Rounded_corners|url=https://sigrok.org/download/binary/pulseview/PulseView-0.4.2-x86_64.AppImage|text=PulseView 0.4.2 (64bit)}}<br />
<br />
{{Rounded_corners|url=https://sigrok.org/download/binary/sigrok-cli/sigrok-cli-0.7.2-i386.AppImage|text=sigrok-cli 0.7.2 (32bit)}}<br />
<br />
{{Rounded_corners|url=https://sigrok.org/download/binary/sigrok-cli/sigrok-cli-0.7.2-x86_64.AppImage|text=sigrok-cli 0.7.2 (64bit)}}<br />
<br />
| style="width:20%; vertical-align: top" |<br />
<br />
{{Rounded_corners|url=https://sigrok.org/download/binary/pulseview/pulseview-0.4.2-32bit-static-release-installer.exe|text=PulseView 0.4.2 (32bit)}}<br />
<br />
{{Rounded_corners|url=https://sigrok.org/download/binary/pulseview/pulseview-0.4.2-64bit-static-release-installer.exe|text=PulseView 0.4.2 (64bit)}}<br />
<br />
{{Rounded_corners|url=https://sigrok.org/download/binary/sigrok-cli/sigrok-cli-0.7.2-i686-installer.exe|text=sigrok-cli 0.7.2 (32bit)}}<br />
<br />
{{Rounded_corners|url=https://sigrok.org/download/binary/sigrok-cli/sigrok-cli-0.7.2-x86_64-installer.exe|text=sigrok-cli 0.7.2 (64bit)}}<br />
<br />
| style="width:20%; vertical-align: top" |<br />
<br />
{{Rounded_corners|url=https://sigrok.org/download/binary/pulseview/PulseView-0.4.2.dmg|text=PulseView 0.4.2 (64bit)}}<br />
<br />
| style="width:20%; vertical-align: top; text-align: center" |<br />
<br />
{{Rounded_corners|url=https://sigrok.org/wiki/Downloads#Releases|text=See below}}<br />
<br />
|- style="background-color: white; vertical-align: top;"<br />
<br />
| style="text-align:center" | <em><small>Requires a Linux distro more recent than '''Ubuntu 16.04 LTS (Xenial Xerus)''' from 2016.</small></em><br />
| style="text-align:center" | <em><small>Requires '''Windows XP''' or higher.</small></em><br />
| style="text-align:center" | <em><small>Requires '''OS X 10.9 (Mavericks)''' or higher.</small></em><br />
| style="text-align:center" | <em><small>See below for other download options (Android, FreeBSD, source code, etc.).</small></em><br />
<br />
|}<br />
<br />
== Releases ==<br />
<br />
You can download the latest released tarballs of the following subprojects from [http://sigrok.org/download/ the sigrok.org download directory]:<br />
<br />
{| border="0" style="font-size: smaller; white-space: nowrap;" class="alternategrey sigroktable"<br />
|-<br />
!Project<br />
!Release/download<br />
!News<br />
<br />
|-<br />
| [[libserialport]]<br />
| [http://sigrok.org/download/source/libserialport/libserialport-0.1.1.tar.gz libserialport-0.1.1.tar.gz]<br />
| [http://sigrok.org/gitweb/?p=libserialport.git;a=blob;f=NEWS;hb=HEAD release notes]<br />
<br />
|-<br />
| [[libsigrok]]<br />
| [http://sigrok.org/download/source/libsigrok/libsigrok-0.5.2.tar.gz libsigrok-0.5.2.tar.gz]<br />
| [https://sigrok.org/gitweb/?p=libsigrok.git;a=blob;f=NEWS;h=60de6e341b7289cfb99883a94b0c921a4b79b008;hb=a6b07d7e28fe445afccf36922ef7d20e63e54fe6 release notes]<br />
<br />
|-<br />
| [[libsigrokdecode]]<br />
| [http://sigrok.org/download/source/libsigrokdecode/libsigrokdecode-0.5.3.tar.gz libsigrokdecode-0.5.3.tar.gz]<br />
| [https://sigrok.org/gitweb/?p=libsigrokdecode.git;a=blob;f=NEWS;h=f61727f8c75edf52e1f306983070a5eda629fd2e;hb=97991a3919da6a07c4c87308ae66fb441bd512e3 release notes]<br />
<br />
|-<br />
| [[sigrok-cli]]<br />
| [http://sigrok.org/download/source/sigrok-cli/sigrok-cli-0.7.2.tar.gz sigrok-cli-0.7.2.tar.gz]<br />
| [https://sigrok.org/gitweb/?p=sigrok-cli.git;a=blob;f=NEWS;h=e80dad6392501dd16e4fdc87836d443474e2eed9;hb=b584f959edb788f1731d5a304badf241ac21bf65 release notes]<br />
<br />
|-<br />
| [[PulseView]]<br />
| [http://sigrok.org/download/source/pulseview/pulseview-0.4.2.tar.gz pulseview-0.4.2.tar.gz]<br />
| [https://sigrok.org/gitweb/?p=pulseview.git;a=blob;f=NEWS;h=b20f14aebe4bd890a6bd92323e043b3540cb6629;hb=2b526a42a2fd68d513d4c2061790605a0c7add6c release notes]<br />
<br />
|-<br />
| [[fx2lafw|sigrok-firmware-fx2lafw]] (source code)<br />
| [http://sigrok.org/download/source/sigrok-firmware-fx2lafw/sigrok-firmware-fx2lafw-0.1.7.tar.gz sigrok-firmware-fx2lafw-0.1.7.tar.gz]<br />
| [http://sigrok.org/gitweb/?p=sigrok-firmware-fx2lafw.git;a=blob;f=NEWS;hb=HEAD release notes]<br />
<br />
|-<br />
| [[fx2lafw|sigrok-firmware-fx2lafw]] (prebuilt firmware)<br />
| [http://sigrok.org/download/binary/sigrok-firmware-fx2lafw/sigrok-firmware-fx2lafw-bin-0.1.7.tar.gz sigrok-firmware-fx2lafw-bin-0.1.7.tar.gz]<br />
| [http://sigrok.org/gitweb/?p=sigrok-firmware-fx2lafw.git;a=blob;f=NEWS;hb=HEAD release notes]<br />
<br />
|}<br />
<br />
== Binaries and distribution packages ==<br />
<br />
=== Linux AppImage binaries ===<br />
<br />
* Nightly AppImage binaries (require a Linux distro more recent than Ubuntu 16.04 LTS Xenial Xerus from 2016):<br />
** [http://sigrok.org/download/binary/pulseview/PulseView-NIGHTLY-i686.AppImage PulseView-NIGHTLY-i686.AppImage] (32bit)<br />
** [http://sigrok.org/download/binary/pulseview/PulseView-NIGHTLY-x86_64.AppImage PulseView-NIGHTLY-x86_64.AppImage] (64bit)<br />
** [http://sigrok.org/download/binary/sigrok-cli/sigrok-cli-NIGHTLY-i686.AppImage sigrok-cli-NIGHTLY-i686.AppImage] (32bit)<br />
** [http://sigrok.org/download/binary/sigrok-cli/sigrok-cli-NIGHTLY-x86_64.AppImage sigrok-cli-NIGHTLY-x86_64.AppImage] (64bit)<br />
* Download the correct (32bit or 64bit) AppImage file for your Linux system, make the file executable via "'''chmod +x'''" and then run it.<br />
* If you want to access hardware, please install the [https://sigrok.org/gitweb/?p=libsigrok.git;a=tree;f=contrib udev rules] on your system and reload the rules using "udevadm control --reload-rules && udevadm trigger".<br />
* See also [[Linux#AppImage|Linux]] for more information.<br />
<br />
=== Linux distribution packages ===<br />
<br />
* '''Debian:''' [http://packages.qa.debian.org/s/sigrok.html sigrok] (pulls [http://packages.qa.debian.org/libs/libserialport.html libserialport], [http://packages.qa.debian.org/libs/libsigrok.html libsigrok], [http://packages.qa.debian.org/libs/libsigrokdecode.html libsigrokdecode], [http://packages.qa.debian.org/s/sigrok-cli.html sigrok-cli], [http://packages.qa.debian.org/p/pulseview.html pulseview], [http://packages.qa.debian.org/s/sigrok-firmware-fx2lafw.html sigrok-firmware-fx2lafw])<br />
* '''Ubuntu:''' [http://launchpad.net/ubuntu/+source/sigrok sigrok] (pulls [http://launchpad.net/ubuntu/+source/libserialport libserialport], [http://launchpad.net/ubuntu/+source/libsigrok libsigrok], [http://launchpad.net/ubuntu/+source/libsigrokdecode libsigrokdecode], [http://launchpad.net/ubuntu/+source/sigrok-cli sigrok-cli], [http://launchpad.net/ubuntu/+source/pulseview pulseview], [http://launchpad.net/ubuntu/+source/sigrok-firmware-fx2lafw sigrok-firmware-fx2lafw])<br />
* '''Arch Linux:''' [https://aur.archlinux.org/packages.php?O=0&K=sigrok&do_Search=Go AUR (Arch Linux User Repository)], [https://aur.archlinux.org/packages/libserialport-git/ libserialport], [https://aur.archlinux.org/packages/libsigrok-git/ libsigrok], [https://aur.archlinux.org/packages/libsigrokdecode-git/ libsigrokdecode], [https://aur.archlinux.org/packages/sigrok-cli/ sigrok-cli], [https://aur.archlinux.org/packages/pulseview-git/ pulseview], [https://aur.archlinux.org/packages/sigrok-firmware-fx2lafw/ sigrok-firmware-fx2lafw]<br />
* '''Slackware:''' [http://slackbuilds.org/apps/libserialport/ libserialport], [http://slackbuilds.org/apps/libsigrok/ libsigrok], [http://slackbuilds.org/apps/libsigrokdecode/ libsigrokdecode], [http://slackbuilds.org/apps/sigrok-cli/ sigrok-cli], [http://slackbuilds.org/apps/pulseview/ pulseview], [http://slackbuilds.org/apps/sigrok-firmware-fx2lafw/ sigrok-firmware-fx2lafw]<br />
* '''Fedora:''' [https://src.fedoraproject.org/cgit/rpms/libserialport.git/ libserialport], [https://src.fedoraproject.org/cgit/rpms/libsigrok.git/ libsigrok], [https://src.fedoraproject.org/cgit/rpms/libsigrokdecode.git/ libsigrokdecode], [https://src.fedoraproject.org/cgit/rpms/sigrok-cli.git/ sigrok-cli], [https://src.fedoraproject.org/cgit/rpms/pulseview.git/ pulseview], [https://src.fedoraproject.org/cgit/rpms/sigrok-firmware-fx2lafw.git/ sigrok-firmware-fx2lafw], [https://src.fedoraproject.org/cgit/rpms/sigrok-firmware.git/ sigrok-firmware]<br />
* '''Gentoo:''' [http://packages.gentoo.org/package/dev-libs/libserialport libserialport], [http://packages.gentoo.org/package/sci-libs/libsigrok libsigrok], [http://packages.gentoo.org/package/sci-libs/libsigrokdecode libsigrokdecode], [http://packages.gentoo.org/package/sci-electronics/sigrok-cli sigrok-cli], [http://packages.gentoo.org/package/sci-electronics/pulseview pulseview], [http://packages.gentoo.org/package/sys-firmware/sigrok-firmware-fx2lafw sigrok-firmware-fx2lafw]<br />
* '''openSUSE:''' Latest stable versions are included in Tumbleweed. Leap includes the latest stable version at time of release, newer versions are available from the [http://download.opensuse.org/repositories/electronics/ "electronics" repository], created by the [https://build.opensuse.org/project/show/electronics OpenBuildService (OBS)].<br />
** '''openSUSE weekly GIT:''' [http://download.opensuse.org/repositories/home:/StefanBruens:/branches:/electronics:/GIT/ Repositories], [https://build.opensuse.org/project/show/home:StefanBruens:branches:electronics:GIT OBS Project]<br />
<br />
=== Windows ===<br />
<span id="Windows_Download"><br />
<br />
* Nightly installer binaries (require Windows XP or higher):<br />
** [http://sigrok.org/download/binary/pulseview/pulseview-NIGHTLY-32bit-static-release-installer.exe pulseview-NIGHTLY-32bit-static-release-installer.exe] ([http://sigrok.org/download/binary/pulseview/pulseview-NIGHTLY-32bit-static-debug-installer.exe debug build])<br />
** [http://sigrok.org/download/binary/pulseview/pulseview-NIGHTLY-64bit-static-release-installer.exe pulseview-NIGHTLY-64bit-static-release-installer.exe] ([http://sigrok.org/download/binary/pulseview/pulseview-NIGHTLY-64bit-static-debug-installer.exe debug build])<br />
** [http://sigrok.org/download/binary/sigrok-cli/sigrok-cli-NIGHTLY-32bit-static-release-installer.exe sigrok-cli-NIGHTLY-32bit-static-release-installer.exe] ([http://sigrok.org/download/binary/sigrok-cli/sigrok-cli-NIGHTLY-32bit-static-debug-installer.exe debug build])<br />
** [http://sigrok.org/download/binary/sigrok-cli/sigrok-cli-NIGHTLY-64bit-static-release-installer.exe sigrok-cli-NIGHTLY-64bit-static-release-installer.exe] ([http://sigrok.org/download/binary/sigrok-cli/sigrok-cli-NIGHTLY-64bit-static-debug-installer.exe debug build])<br />
* See also [[Windows#Windows_installers|Windows]] for more information.<br />
<br />
=== Mac OS X ===<br />
<br />
* Nightly DMG binaries (64&nbsp;bit x86 only; require OS X 10.9 Mavericks or higher):<br />
** [http://sigrok.org/download/binary/pulseview/PulseView-NIGHTLY.dmg PulseView-NIGHTLY.dmg]<br />
** [http://sigrok.org/download/binary/sigrok-cli/sigrok-cli-NIGHTLY.dmg sigrok-cli-NIGHTLY.dmg]<br />
* See also [[Mac OS X]] for more information.<br />
<br />
=== FreeBSD ===<br />
<br />
* [http://www.freshports.org/devel/libserialport/ libserialport], [http://www.freshports.org/devel/libsigrok/ libsigrok], [http://www.freshports.org/devel/libsigrokdecode/ libsigrokdecode], [http://www.freshports.org/science/sigrok-cli/ sigrok-cli], [http://www.freshports.org/science/pulseview/ pulseview], [http://www.freshports.org/science/sigrok-firmware-fx2lafw/ sigrok-firmware-fx2lafw], [http://www.freshports.org/science/sigrok-firmware/ sigrok-firmware], [http://www.freshports.org/science/sigrok-firmware-utils/ sigrok-firmware-utils]<br />
<br />
=== OpenBSD ===<br />
<br />
* [https://cvsweb.openbsd.org/ports/comms/sigrok/libserialport/ libserialport], [https://cvsweb.openbsd.org/ports/comms/sigrok/libsigrok/ libsigrok], [https://cvsweb.openbsd.org/ports/comms/sigrok/libsigrokdecode/ libsigrokdecode], [https://cvsweb.openbsd.org/ports/comms/sigrok/sigrok-cli/ sigrok-cli], [https://cvsweb.openbsd.org/ports/comms/sigrok/pulseview/ pulseview], [https://cvsweb.openbsd.org/ports/comms/sigrok/sigrok-dumps/ sigrok-dumps], [https://cvsweb.openbsd.org/ports/comms/sigrok/sigrok-firmware-fx2lafw/ sigrok-firmware-fx2lafw]<br />
<br />
=== Android ===<br />
<br />
* Nightly APK binaries:<br />
** [http://sigrok.org/jenkins/job/sigrok-cross-android/platform=cross-arm-linux-androideabi/lastSuccessfulBuild/artifact/PulseView-NIGHTLY.apk PulseView-NIGHTLY.apk (ARM)]<br />
* See also [[Android]] for more information.<br />
<br />
== Source code ==<br />
<br />
The development is done in various [http://sigrok.org/gitweb/ git repositories].<br />
<br />
See [[Building]] for build instructions.<br />
<br />
== Example data ==<br />
<br />
See the [[Example dumps]] wiki page.<br />
<br />
== Firmware files ==<br />
<br />
See the [[Firmware]] wiki page.</div>
Abraxa
https://sigrok.org/w/index.php?title=Downloads&diff=16254
Downloads
2022-02-25T18:14:51Z
<p>Abraxa: Use http instead of https for redirects to sigrok.com</p>
<hr />
<div>{| border="0" width="100%" style="white-space: margin: 0em; margin-bottom: 2em; border-width: 1em; align:center; vertical-align: top"<br />
|-<br />
!Linux<br />
!Windows<br />
!Mac OS X<br />
!Other<br />
<br />
|-<br />
! colspan="4" | {{Rounded_corners|url=https://sigrok.org/wiki/Downloads|bgcolor=#aaaaaa|text=Nightly builds (recommended, always up-to-date)}}<br />
<br />
|- style="background-color: white"<br />
<br />
| style="width:20%; vertical-align: top" |<br />
<br />
{{Rounded_corners|url=http://sigrok.org/jenkins/job/sigrok-native-appimage/platform=native-i686-appimage/lastSuccessfulBuild/artifact/cross-compile/appimage/out/PulseView-NIGHTLY-i686.AppImage|text=PulseView (32bit)}}<br />
<br />
{{Rounded_corners|url=http://sigrok.org/jenkins/job/sigrok-native-appimage/platform=native-x86_64-appimage/lastSuccessfulBuild/artifact/cross-compile/appimage/out/PulseView-NIGHTLY-x86_64.AppImage|text=PulseView (64bit)}}<br />
<br />
{{Rounded_corners|url=http://sigrok.org/jenkins/job/sigrok-native-appimage/platform=native-i686-appimage/lastSuccessfulBuild/artifact/cross-compile/appimage/out/sigrok-cli-NIGHTLY-i686.AppImage|text=sigrok-cli (32bit)}}<br />
<br />
{{Rounded_corners|url=http://sigrok.org/jenkins/job/sigrok-native-appimage/platform=native-x86_64-appimage/lastSuccessfulBuild/artifact/cross-compile/appimage/out/sigrok-cli-NIGHTLY-x86_64.AppImage|text=sigrok-cli (64bit)}}<br />
<br />
| style="width:20%; vertical-align: top" |<br />
<br />
{{Rounded_corners|url=http://sigrok.org/jenkins/job/sigrok-cross-mingw/buildtype=static,debugtype=release,platform=cross-i686-w64-mingw32/lastSuccessfulBuild/artifact/pulseview-NIGHTLY-32bit-static-release-installer.exe|text=PulseView (32bit)}}<br />
<br />
{{Rounded_corners|url=http://sigrok.org/jenkins/job/sigrok-cross-mingw/buildtype=static,debugtype=release,platform=cross-x86_64-w64-mingw32/lastSuccessfulBuild/artifact/pulseview-NIGHTLY-64bit-static-release-installer.exe|text=PulseView (64bit)}}<br />
<br />
{{Rounded_corners|url=http://sigrok.org/jenkins/job/sigrok-cross-mingw/buildtype=static,debugtype=release,platform=cross-i686-w64-mingw32/lastSuccessfulBuild/artifact/sigrok-cli-NIGHTLY-32bit-static-release-installer.exe|text=sigrok-cli (32bit)}}<br />
<br />
{{Rounded_corners|url=http://sigrok.org/jenkins/job/sigrok-cross-mingw/buildtype=static,debugtype=release,platform=cross-x86_64-w64-mingw32/lastSuccessfulBuild/artifact/sigrok-cli-NIGHTLY-64bit-static-release-installer.exe|text=sigrok-cli (64bit)}}<br />
<br />
| style="width:20%; vertical-align: top" |<br />
<br />
{{Rounded_corners|url=http://sigrok.org/jenkins/job/sigrok-native-macosx/platform=native-macosx/lastSuccessfulBuild/artifact/cross-compile/macosx/build_app_pulseview/PulseView-NIGHTLY.dmg|text=PulseView (64bit)}}<br />
<br />
{{Rounded_corners|url=http://sigrok.org/jenkins/job/sigrok-native-macosx/platform=native-macosx/lastSuccessfulBuild/artifact/cross-compile/macosx/build_app_sigrok-cli/sigrok-cli-NIGHTLY.dmg|text=sigrok-cli (64bit)}}<br />
<br />
| style="width:20%; vertical-align: top; text-align: center" |<br />
<br />
{{Rounded_corners|url=https://sigrok.org/wiki/Downloads#Releases|text=See below}}<br />
<br />
|-<br />
!colspan="4" | {{Rounded_corners|url=https://sigrok.org/wiki/Downloads|bgcolor=#aaaaaa|text=Release builds (usually older than nightly builds, might be missing features or bugfixes)}}<br />
<br />
|- style="background-color: white"<br />
<br />
| style="width:20%; vertical-align: top" |<br />
<br />
{{Rounded_corners|url=https://sigrok.org/download/binary/pulseview/PulseView-0.4.2-i386.AppImage|text=PulseView 0.4.2 (32bit)}}<br />
<br />
{{Rounded_corners|url=https://sigrok.org/download/binary/pulseview/PulseView-0.4.2-x86_64.AppImage|text=PulseView 0.4.2 (64bit)}}<br />
<br />
{{Rounded_corners|url=https://sigrok.org/download/binary/sigrok-cli/sigrok-cli-0.7.2-i386.AppImage|text=sigrok-cli 0.7.2 (32bit)}}<br />
<br />
{{Rounded_corners|url=https://sigrok.org/download/binary/sigrok-cli/sigrok-cli-0.7.2-x86_64.AppImage|text=sigrok-cli 0.7.2 (64bit)}}<br />
<br />
| style="width:20%; vertical-align: top" |<br />
<br />
{{Rounded_corners|url=https://sigrok.org/download/binary/pulseview/pulseview-0.4.2-32bit-static-release-installer.exe|text=PulseView 0.4.2 (32bit)}}<br />
<br />
{{Rounded_corners|url=https://sigrok.org/download/binary/pulseview/pulseview-0.4.2-64bit-static-release-installer.exe|text=PulseView 0.4.2 (64bit)}}<br />
<br />
{{Rounded_corners|url=https://sigrok.org/download/binary/sigrok-cli/sigrok-cli-0.7.2-i686-installer.exe|text=sigrok-cli 0.7.2 (32bit)}}<br />
<br />
{{Rounded_corners|url=https://sigrok.org/download/binary/sigrok-cli/sigrok-cli-0.7.2-x86_64-installer.exe|text=sigrok-cli 0.7.2 (64bit)}}<br />
<br />
| style="width:20%; vertical-align: top" |<br />
<br />
{{Rounded_corners|url=https://sigrok.org/download/binary/pulseview/PulseView-0.4.2.dmg|text=PulseView 0.4.2 (64bit)}}<br />
<br />
| style="width:20%; vertical-align: top; text-align: center" |<br />
<br />
{{Rounded_corners|url=https://sigrok.org/wiki/Downloads#Releases|text=See below}}<br />
<br />
|- style="background-color: white; vertical-align: top;"<br />
<br />
| style="text-align:center" | <em><small>Requires a Linux distro more recent than '''Ubuntu 16.04 LTS (Xenial Xerus)''' from 2016.</small></em><br />
| style="text-align:center" | <em><small>Requires '''Windows XP''' or higher.</small></em><br />
| style="text-align:center" | <em><small>Requires '''OS X 10.9 (Mavericks)''' or higher.</small></em><br />
| style="text-align:center" | <em><small>See below for other download options (Android, FreeBSD, source code, etc.).</small></em><br />
<br />
|}<br />
<br />
== Releases ==<br />
<br />
You can download the latest released tarballs of the following subprojects from [http://sigrok.org/download/ the sigrok.org download directory]:<br />
<br />
{| border="0" style="font-size: smaller; white-space: nowrap;" class="alternategrey sigroktable"<br />
|-<br />
!Project<br />
!Release/download<br />
!News<br />
<br />
|-<br />
| [[libserialport]]<br />
| [http://sigrok.org/download/source/libserialport/libserialport-0.1.1.tar.gz libserialport-0.1.1.tar.gz]<br />
| [http://sigrok.org/gitweb/?p=libserialport.git;a=blob;f=NEWS;hb=HEAD release notes]<br />
<br />
|-<br />
| [[libsigrok]]<br />
| [http://sigrok.org/download/source/libsigrok/libsigrok-0.5.2.tar.gz libsigrok-0.5.2.tar.gz]<br />
| [https://sigrok.org/gitweb/?p=libsigrok.git;a=blob;f=NEWS;h=60de6e341b7289cfb99883a94b0c921a4b79b008;hb=a6b07d7e28fe445afccf36922ef7d20e63e54fe6 release notes]<br />
<br />
|-<br />
| [[libsigrokdecode]]<br />
| [http://sigrok.org/download/source/libsigrokdecode/libsigrokdecode-0.5.3.tar.gz libsigrokdecode-0.5.3.tar.gz]<br />
| [https://sigrok.org/gitweb/?p=libsigrokdecode.git;a=blob;f=NEWS;h=f61727f8c75edf52e1f306983070a5eda629fd2e;hb=97991a3919da6a07c4c87308ae66fb441bd512e3 release notes]<br />
<br />
|-<br />
| [[sigrok-cli]]<br />
| [http://sigrok.org/download/source/sigrok-cli/sigrok-cli-0.7.2.tar.gz sigrok-cli-0.7.2.tar.gz]<br />
| [https://sigrok.org/gitweb/?p=sigrok-cli.git;a=blob;f=NEWS;h=e80dad6392501dd16e4fdc87836d443474e2eed9;hb=b584f959edb788f1731d5a304badf241ac21bf65 release notes]<br />
<br />
|-<br />
| [[PulseView]]<br />
| [http://sigrok.org/download/source/pulseview/pulseview-0.4.2.tar.gz pulseview-0.4.2.tar.gz]<br />
| [https://sigrok.org/gitweb/?p=pulseview.git;a=blob;f=NEWS;h=b20f14aebe4bd890a6bd92323e043b3540cb6629;hb=2b526a42a2fd68d513d4c2061790605a0c7add6c release notes]<br />
<br />
|-<br />
| [[fx2lafw|sigrok-firmware-fx2lafw]] (source code)<br />
| [http://sigrok.org/download/source/sigrok-firmware-fx2lafw/sigrok-firmware-fx2lafw-0.1.7.tar.gz sigrok-firmware-fx2lafw-0.1.7.tar.gz]<br />
| [http://sigrok.org/gitweb/?p=sigrok-firmware-fx2lafw.git;a=blob;f=NEWS;hb=HEAD release notes]<br />
<br />
|-<br />
| [[fx2lafw|sigrok-firmware-fx2lafw]] (prebuilt firmware)<br />
| [http://sigrok.org/download/binary/sigrok-firmware-fx2lafw/sigrok-firmware-fx2lafw-bin-0.1.7.tar.gz sigrok-firmware-fx2lafw-bin-0.1.7.tar.gz]<br />
| [http://sigrok.org/gitweb/?p=sigrok-firmware-fx2lafw.git;a=blob;f=NEWS;hb=HEAD release notes]<br />
<br />
|}<br />
<br />
== Binaries and distribution packages ==<br />
<br />
=== Linux AppImage binaries ===<br />
<br />
* Nightly AppImage binaries (require a Linux distro more recent than Ubuntu 16.04 LTS Xenial Xerus from 2016):<br />
** [http://sigrok.org/jenkins/job/sigrok-native-appimage/platform=native-i686-appimage/lastSuccessfulBuild/artifact/cross-compile/appimage/out/PulseView-NIGHTLY-i686.AppImage PulseView-NIGHTLY-i686.AppImage] (32bit)<br />
** [http://sigrok.org/jenkins/job/sigrok-native-appimage/platform=native-x86_64-appimage/lastSuccessfulBuild/artifact/cross-compile/appimage/out/PulseView-NIGHTLY-x86_64.AppImage PulseView-NIGHTLY-x86_64.AppImage] (64bit)<br />
** [http://sigrok.org/jenkins/job/sigrok-native-appimage/platform=native-i686-appimage/lastSuccessfulBuild/artifact/cross-compile/appimage/out/sigrok-cli-NIGHTLY-i686.AppImage sigrok-cli-NIGHTLY-i686.AppImage] (32bit)<br />
** [http://sigrok.org/jenkins/job/sigrok-native-appimage/platform=native-x86_64-appimage/lastSuccessfulBuild/artifact/cross-compile/appimage/out/sigrok-cli-NIGHTLY-x86_64.AppImage sigrok-cli-NIGHTLY-x86_64.AppImage] (64bit)<br />
* Download the correct (32bit or 64bit) AppImage file for your Linux system, make the file executable via "'''chmod +x'''" and then run it.<br />
* If you want to access hardware, please install the [https://sigrok.org/gitweb/?p=libsigrok.git;a=tree;f=contrib udev rules] on your system and reload the rules using "udevadm control --reload-rules && udevadm trigger".<br />
* See also [[Linux#AppImage|Linux]] for more information.<br />
<br />
=== Linux distribution packages ===<br />
<br />
* '''Debian:''' [http://packages.qa.debian.org/s/sigrok.html sigrok] (pulls [http://packages.qa.debian.org/libs/libserialport.html libserialport], [http://packages.qa.debian.org/libs/libsigrok.html libsigrok], [http://packages.qa.debian.org/libs/libsigrokdecode.html libsigrokdecode], [http://packages.qa.debian.org/s/sigrok-cli.html sigrok-cli], [http://packages.qa.debian.org/p/pulseview.html pulseview], [http://packages.qa.debian.org/s/sigrok-firmware-fx2lafw.html sigrok-firmware-fx2lafw])<br />
* '''Ubuntu:''' [http://launchpad.net/ubuntu/+source/sigrok sigrok] (pulls [http://launchpad.net/ubuntu/+source/libserialport libserialport], [http://launchpad.net/ubuntu/+source/libsigrok libsigrok], [http://launchpad.net/ubuntu/+source/libsigrokdecode libsigrokdecode], [http://launchpad.net/ubuntu/+source/sigrok-cli sigrok-cli], [http://launchpad.net/ubuntu/+source/pulseview pulseview], [http://launchpad.net/ubuntu/+source/sigrok-firmware-fx2lafw sigrok-firmware-fx2lafw])<br />
* '''Arch Linux:''' [https://aur.archlinux.org/packages.php?O=0&K=sigrok&do_Search=Go AUR (Arch Linux User Repository)], [https://aur.archlinux.org/packages/libserialport-git/ libserialport], [https://aur.archlinux.org/packages/libsigrok-git/ libsigrok], [https://aur.archlinux.org/packages/libsigrokdecode-git/ libsigrokdecode], [https://aur.archlinux.org/packages/sigrok-cli/ sigrok-cli], [https://aur.archlinux.org/packages/pulseview-git/ pulseview], [https://aur.archlinux.org/packages/sigrok-firmware-fx2lafw/ sigrok-firmware-fx2lafw]<br />
* '''Slackware:''' [http://slackbuilds.org/apps/libserialport/ libserialport], [http://slackbuilds.org/apps/libsigrok/ libsigrok], [http://slackbuilds.org/apps/libsigrokdecode/ libsigrokdecode], [http://slackbuilds.org/apps/sigrok-cli/ sigrok-cli], [http://slackbuilds.org/apps/pulseview/ pulseview], [http://slackbuilds.org/apps/sigrok-firmware-fx2lafw/ sigrok-firmware-fx2lafw]<br />
* '''Fedora:''' [https://src.fedoraproject.org/cgit/rpms/libserialport.git/ libserialport], [https://src.fedoraproject.org/cgit/rpms/libsigrok.git/ libsigrok], [https://src.fedoraproject.org/cgit/rpms/libsigrokdecode.git/ libsigrokdecode], [https://src.fedoraproject.org/cgit/rpms/sigrok-cli.git/ sigrok-cli], [https://src.fedoraproject.org/cgit/rpms/pulseview.git/ pulseview], [https://src.fedoraproject.org/cgit/rpms/sigrok-firmware-fx2lafw.git/ sigrok-firmware-fx2lafw], [https://src.fedoraproject.org/cgit/rpms/sigrok-firmware.git/ sigrok-firmware]<br />
* '''Gentoo:''' [http://packages.gentoo.org/package/dev-libs/libserialport libserialport], [http://packages.gentoo.org/package/sci-libs/libsigrok libsigrok], [http://packages.gentoo.org/package/sci-libs/libsigrokdecode libsigrokdecode], [http://packages.gentoo.org/package/sci-electronics/sigrok-cli sigrok-cli], [http://packages.gentoo.org/package/sci-electronics/pulseview pulseview], [http://packages.gentoo.org/package/sys-firmware/sigrok-firmware-fx2lafw sigrok-firmware-fx2lafw]<br />
* '''openSUSE:''' Latest stable versions are included in Tumbleweed. Leap includes the latest stable version at time of release, newer versions are available from the [http://download.opensuse.org/repositories/electronics/ "electronics" repository], created by the [https://build.opensuse.org/project/show/electronics OpenBuildService (OBS)].<br />
** '''openSUSE weekly GIT:''' [http://download.opensuse.org/repositories/home:/StefanBruens:/branches:/electronics:/GIT/ Repositories], [https://build.opensuse.org/project/show/home:StefanBruens:branches:electronics:GIT OBS Project]<br />
<br />
=== Windows ===<br />
<span id="Windows_Download"><br />
<br />
* Nightly installer binaries (require Windows XP or higher):<br />
** [http://sigrok.org/jenkins/job/sigrok-cross-mingw/buildtype=static,debugtype=release,platform=cross-i686-w64-mingw32/lastSuccessfulBuild/artifact/pulseview-NIGHTLY-32bit-static-release-installer.exe pulseview-NIGHTLY-32bit-static-release-installer.exe] ([http://sigrok.org/jenkins/job/sigrok-cross-mingw/buildtype=static,debugtype=debug,platform=cross-i686-w64-mingw32/lastSuccessfulBuild/artifact/pulseview-NIGHTLY-32bit-static-debug-installer.exe debug build])<br />
** [http://sigrok.org/jenkins/job/sigrok-cross-mingw/buildtype=static,debugtype=release,platform=cross-x86_64-w64-mingw32/lastSuccessfulBuild/artifact/pulseview-NIGHTLY-64bit-static-release-installer.exe pulseview-NIGHTLY-64bit-static-release-installer.exe] ([http://sigrok.org/jenkins/job/sigrok-cross-mingw/buildtype=static,debugtype=debug,platform=cross-x86_64-w64-mingw32/lastSuccessfulBuild/artifact/pulseview-NIGHTLY-64bit-static-debug-installer.exe debug build])<br />
** [http://sigrok.org/jenkins/job/sigrok-cross-mingw/buildtype=static,debugtype=release,platform=cross-i686-w64-mingw32/lastSuccessfulBuild/artifact/sigrok-cli-NIGHTLY-32bit-static-release-installer.exe sigrok-cli-NIGHTLY-32bit-static-release-installer.exe] ([http://sigrok.org/jenkins/job/sigrok-cross-mingw/buildtype=static,debugtype=debug,platform=cross-i686-w64-mingw32/lastSuccessfulBuild/artifact/sigrok-cli-NIGHTLY-32bit-static-debug-installer.exe debug build])<br />
** [http://sigrok.org/jenkins/job/sigrok-cross-mingw/buildtype=static,debugtype=release,platform=cross-x86_64-w64-mingw32/lastSuccessfulBuild/artifact/sigrok-cli-NIGHTLY-64bit-static-release-installer.exe sigrok-cli-NIGHTLY-64bit-static-release-installer.exe] ([http://sigrok.org/jenkins/job/sigrok-cross-mingw/buildtype=static,debugtype=debug,platform=cross-x86_64-w64-mingw32/lastSuccessfulBuild/artifact/sigrok-cli-NIGHTLY-64bit-static-debug-installer.exe debug build])<br />
* See also [[Windows#Windows_installers|Windows]] for more information.<br />
<br />
=== Mac OS X ===<br />
<br />
* Nightly DMG binaries (64&nbsp;bit x86 only; require OS X 10.9 Mavericks or higher):<br />
** [http://sigrok.org/jenkins/job/sigrok-native-macosx/platform=native-macosx/lastSuccessfulBuild/artifact/cross-compile/macosx/build_app_pulseview/PulseView-NIGHTLY.dmg PulseView-NIGHTLY.dmg]<br />
** [http://sigrok.org/jenkins/job/sigrok-native-macosx/platform=native-macosx/lastSuccessfulBuild/artifact/cross-compile/macosx/build_app_sigrok-cli/sigrok-cli-NIGHTLY.dmg sigrok-cli-NIGHTLY.dmg]<br />
* See also [[Mac OS X]] for more information.<br />
<br />
=== FreeBSD ===<br />
<br />
* [http://www.freshports.org/devel/libserialport/ libserialport], [http://www.freshports.org/devel/libsigrok/ libsigrok], [http://www.freshports.org/devel/libsigrokdecode/ libsigrokdecode], [http://www.freshports.org/science/sigrok-cli/ sigrok-cli], [http://www.freshports.org/science/pulseview/ pulseview], [http://www.freshports.org/science/sigrok-firmware-fx2lafw/ sigrok-firmware-fx2lafw], [http://www.freshports.org/science/sigrok-firmware/ sigrok-firmware], [http://www.freshports.org/science/sigrok-firmware-utils/ sigrok-firmware-utils]<br />
<br />
=== OpenBSD ===<br />
<br />
* [https://cvsweb.openbsd.org/ports/comms/sigrok/libserialport/ libserialport], [https://cvsweb.openbsd.org/ports/comms/sigrok/libsigrok/ libsigrok], [https://cvsweb.openbsd.org/ports/comms/sigrok/libsigrokdecode/ libsigrokdecode], [https://cvsweb.openbsd.org/ports/comms/sigrok/sigrok-cli/ sigrok-cli], [https://cvsweb.openbsd.org/ports/comms/sigrok/pulseview/ pulseview], [https://cvsweb.openbsd.org/ports/comms/sigrok/sigrok-dumps/ sigrok-dumps], [https://cvsweb.openbsd.org/ports/comms/sigrok/sigrok-firmware-fx2lafw/ sigrok-firmware-fx2lafw]<br />
<br />
=== Android ===<br />
<br />
* Nightly APK binaries:<br />
** [http://sigrok.org/jenkins/job/sigrok-cross-android/platform=cross-arm-linux-androideabi/lastSuccessfulBuild/artifact/PulseView-NIGHTLY.apk PulseView-NIGHTLY.apk (ARM)]<br />
* See also [[Android]] for more information.<br />
<br />
== Source code ==<br />
<br />
The development is done in various [http://sigrok.org/gitweb/ git repositories].<br />
<br />
See [[Building]] for build instructions.<br />
<br />
== Example data ==<br />
<br />
See the [[Example dumps]] wiki page.<br />
<br />
== Firmware files ==<br />
<br />
See the [[Firmware]] wiki page.</div>
Abraxa
https://sigrok.org/w/index.php?title=Getting_started&diff=16208
Getting started
2021-10-04T11:34:20Z
<p>Abraxa: </p>
<hr />
<div>With its high degree of flexibility, sigrok has lots of different use cases for you to explore and take advantage of. To make this easier for you, this page will allow you to find introductions to the most important topics. Also, check out the [//sigrok.org/blog blog] for some cool use-cases!<br />
<br />
== Using sigrok with a multimeter ==<br />
<br />
[[Getting started with a multimeter]]<br />
<br />
[[sigrok-meter/Manual|sigrok-meter manual]]<br />
<br />
== Using sigrok with an LCR meter ==<br />
<br />
[[Getting started with an LCR meter]]<br />
<br />
== Using sigrok with a logic analyzer ==<br />
<br />
[[Getting started with a logic analyzer]]<br />
<br />
[https://learn.sparkfun.com/tutorials/using-the-usb-logic-analyzer-with-sigrok-pulseview SparkFun beginner's tutorial for PulseView]<br />
<br />
[[PulseView/Manual|PulseView manual]]<br />
<br />
[https://www.youtube.com/watch?v=dobU-b0_L1I Video: Sigrok and Logic Analyzers]<br />
<br />
[https://www.youtube.com/watch?v=z8Tdz7eQ8n4 Video: Getting Started with a $10 Logic Analyzer using Sigrok and PulseView]<br />
<br />
== Using sigrok with an oscilloscope ==<br />
<br />
[[Connecting to a scope via LXI|Connecting to a scope via LXI (ethernet)]]<br />
<br />
[[PulseView/Manual|PulseView manual]]<br />
<br />
[[Using sigrok-cli with an oscilloscope|Using sigrok-cli with an oscilloscope]]<br />
<br />
[[Managing sigrok-cli data with Python]]<br />
<br />
== Using sigrok with a power supply ==<br />
<br />
[[Getting started with a power supply]]</div>
Abraxa
https://sigrok.org/w/index.php?title=Getting_started&diff=16206
Getting started
2021-09-30T07:07:42Z
<p>Abraxa: </p>
<hr />
<div>With its high degree of flexibility, sigrok has lots of different use cases for you to explore and take advantage of. To make this easier for you, this page will allow you to find introductions to the most important topics. Also, check out the [//sigrok.org/blog blog] for some cool use-cases!<br />
<br />
== Using sigrok with a multimeter ==<br />
<br />
[[Getting started with a multimeter]]<br />
<br />
[[sigrok-meter/Manual|sigrok-meter manual]]<br />
<br />
== Using sigrok with an LCR meter ==<br />
<br />
[[Getting started with an LCR meter]]<br />
<br />
== Using sigrok with a logic analyzer ==<br />
<br />
[[Getting started with a logic analyzer]]<br />
<br />
[https://learn.sparkfun.com/tutorials/using-the-usb-logic-analyzer-with-sigrok-pulseview SparkFun beginner's tutorial for PulseView]<br />
<br />
[[PulseView/Manual|PulseView manual]]<br />
<br />
== Using sigrok with an oscilloscope ==<br />
<br />
[[Connecting to a scope via LXI|Connecting to a scope via LXI (ethernet)]]<br />
<br />
[[PulseView/Manual|PulseView manual]]<br />
<br />
[[Using sigrok-cli with an oscilloscope|Using sigrok-cli with an oscilloscope]]<br />
<br />
[[Managing sigrok-cli data with Python]]<br />
<br />
== Using sigrok with a power supply ==<br />
<br />
[[Getting started with a power supply]]</div>
Abraxa
https://sigrok.org/w/index.php?title=Protocol_decoder:Rc_encode&diff=16150
Protocol decoder:Rc encode
2021-07-29T21:34:29Z
<p>Abraxa: </p>
<hr />
<div>{{Infobox protocol decoder<br />
| id = rc_encode<br />
| name = RC Encode<br />
| description = Remote Control Encode.<br />
| status = supported<br />
| license = GPLv2+<br />
| source_code_dir = rc_encode<br />
| image = [[File:rc_encode.png|250px]]<br />
| input = logic<br />
| output = none<br />
| probes = data<br />
| optional_probes = none<br />
| options = remote;<br />
}}<br />
<br />
The '''rc_encode''' protocol decoder can decode the remote control protocol which is frequently used within 433MHz key fobs and power socket remotes.<br />
<br />
== Decoder ==<br />
<br />
They contain encoding chips like the [http://www.princeton.com.tw Princeton Technology Corp] PT2262 which converts the button pressed and address settings into a series of pulses which is then transmitted over whatever frequency and modulation that the designer chooses. These devices operate at a number of frequencies including 433MHz.<br />
<br />
The decoder also contains some optional additional decoding for a Maplin L95AR remote control and will turn the received signal into which button was pressed and what the address code DIP switches are set to.<br />
<br />
== Supported ICs ==<br />
<br />
* SC5262 / SC5272<br />
* HX2262 / HX2272<br />
* PT2262 / PT2272 (verified)<br />
* EV1527 / RT1527 / FP1527 / HS1527 (EV1527 verified)<br />
<br />
== Resources ==<br />
<br />
* https://github.com/sui77/rc-switch/wiki/KnowHow_LineCoding<br />
* [http://www.princeton.com.tw/Portals/0/Product/PT2260_s.pdf PT2260]<br />
* [https://github.com/sui77/rc-switch/wiki/List_KnownDevices A list of devices with known chipsets]<br />
<br />
[[Category:Protocol decoder]]<br />
[[Category:Wireless]]</div>
Abraxa
https://sigrok.org/w/index.php?title=MediaWiki:Loginprompt&diff=16124
MediaWiki:Loginprompt
2021-06-04T12:29:51Z
<p>Abraxa: </p>
<hr />
<div>You must have cookies enabled to log in to {{SITENAME}}.<br />
<br />
'''If you wish to contribute, contact us in the '''[http://web.libera.chat/#sigrok #sigrok]''' IRC channel on [http://libera.chat libera.chat] so we can create a wiki account for you.'''</div>
Abraxa
https://sigrok.org/w/index.php?title=Main_Page&diff=16117
Main Page
2021-06-01T21:10:10Z
<p>Abraxa: Change IRC from freenode to libera.chat</p>
<hr />
<div><table width="100%" valign="top"><tr valign="top"><td width="80%"><br />
<div style="margin-bottom:1.5em; padding:0.5em 0.5em 0.5em 0.5em; background-color:#cfdfff; align:right; border:1px solid #aabbcc;"><br />
The '''sigrok''' project aims at creating a '''portable, cross-platform, Free/Libre/Open-Source signal analysis software suite''' that supports various device types (e.g. [[Supported hardware#Logic_analyzers|logic analyzers]], [[Supported hardware#Oscilloscopes|oscilloscopes]], and [[Supported hardware|many more]]).<br />
<br />
It is licensed under the terms of the '''GNU GPL, version 3 or later'''. Design goals and features include:<br />
<br />
<small><br />
* '''Broad hardware support'''. Supports [[Supported hardware|many different devices]] (logic analyzers, oscilloscopes, multimeters, data loggers etc.) from various vendors.<br />
* '''Cross-platform'''. Works on [[Linux]], [[Mac OS X]], [[Windows]], [[FreeBSD]], [[OpenBSD]], [[NetBSD]], [[Android]] (and on x86, ARM, Sparc, PowerPC, ...).<br />
* '''Scriptable protocol decoding'''. Extendable with stackable [[protocol decoders]] written in Python 3.<br />
* '''File format support'''. Supports various [[Input output formats|input/output file formats]] (binary, ASCII, hex, CSV, gnuplot, [http://en.wikipedia.org/wiki/Value_change_dump VCD], WAV, ...).<br />
* '''Reusable libraries'''. Consists of the [[libsigrok]] and [[libsigrokdecode]] shared libraries which can be used by various frontends/GUIs.<br />
* '''Various frontends'''. [[PulseView]] (LA/DSO/MSO GUI), [[SmuView]] (DMM/PSU/load GUI) and [[sigrok-meter]] (DMM GUI), [[sigrok-cli]] (command-line), and other frontends all build upon the above libraries.<br />
</small><br />
</div><br />
<br />
<div style="clear: both;"><br />
<br />
<div style="margin-bottom:1.5em; padding:0.5em 0.5em 0.5em 0.5em; background-color:#cfdfff; align:right; border:1px solid #aabbcc;"><br />
'''You can use sigrok to...'''<br />
<small><br />
<div style="width: 50%; float: left;"><br />
* ...log data from your multimeter<br />
* ...have a $10 logic analyzer for examining logic circuits<br />
* ...have a remote GUI for your oscilloscope<br />
* ...perform measurements on signals<br />
* ...make sense of digital signals with protocol decoders<br />
</div><br />
<div style="width: 50%; float: right;"><br />
* ...write custom protocol decoders in python<br />
* ...remote-control your power supply<br />
* ...remote-control whatever lab device you'd like to support<br />
* ...write a quick-n-dirty automation tool for your particular needs<br />
* ...have a framework/frontend for your home-made devices<br />
</div><br />
<div style="clear: both;"></div><br />
</small><br />
</div><br />
<br />
<div style="clear: both;"><br />
<br />
<div style="width: 50%; float: left; margin-bottom: 1em;"><br />
{{Box|<br />
BORDER = #8898bf|<br />
BACKGROUND = #d1adf6|<br />
WIDTH = 100%|<br />
ICON = |<br />
HEADING = [[File:Sigrok_stone.png]] <span style="font-variant:small-caps;">[//sigrok.org/blog News]</span>|<br />
CONTENT =<br />
<small><br />
<rss max=3 date="Y-m-d">https://sigrok.org/blog/rss.xml</rss><br />
See also: [[Current events]].<br />
</small><br />
}}<br />
</div><br />
<br />
<div style="width: 49%; float: right; margin-bottom: 1em;"><br />
{{Box|<br />
BORDER = #8898bf|<br />
BACKGROUND = lime|<br />
WIDTH = 100%|<br />
ICON = |<br />
HEADING = [[File:Sigrok_stone.png]] <span style="font-variant:small-caps;">Supported hardware</span> (<small><span style="font-variant:normal;">[[:Category:Device|Browse by category...]]</span></small>)|<br />
CONTENT =<br />
<small><br />
[[Supported_hardware#Logic_analyzers|Logic analyzers]] &middot; [[Supported_hardware#Mixed-signal_devices|Mixed-signal devices]] &middot; [[Supported_hardware#Oscilloscopes|Oscilloscopes]] &middot; [[Supported_hardware#Multimeters|Multimeters]] &middot; [[Supported_hardware#LCR meters|LCR meters]] &middot; [[Supported_hardware#Sound_level_meters|Sound level meters]] &middot; [[Supported_hardware#Thermometers|Thermometers]] &middot; [[Supported_hardware#Hygrometers|Hygrometers]] &middot; [[Supported_hardware#Anemometers|Anemometers]] &middot; [[Supported_hardware#Light meters|Light meters]] &middot; [[Supported_hardware#Energy meters|Energy meters]] &middot; [[Supported_hardware#DAQs|DAQs]] &middot; [[Supported_hardware#Dataloggers|Dataloggers]] &middot; [[Supported_hardware#Tachometers|Tachometers]] &middot; [[Supported_hardware#Scales|Scales]] &middot; [[Supported_hardware#Digital_loads|Digital loads]] &middot; [[Supported_hardware#Function_generators|Function generators]] &middot; [[Supported_hardware#Frequency_counters|Frequency counters]] &middot; [[Supported_hardware#RF receivers|RF receivers]] &middot; [[Supported_hardware#Spectrum_analyzers|Spectrum analyzers]] &middot; [[Supported_hardware#Power_supplies|Power supplies]] &middot; [[Supported_hardware#Multiplexer_.2F_Relay_actuators|Multiplexer]] &middot; [[Supported_hardware#GPIB_interfaces|GPIB interfaces]]<br />
<br />
See also: [[:Category:Device comparison|Device comparisons]], [[Device cables]], [[Multimeter ICs]], [[Connection parameters]]<br />
</small><br />
}}<br />
</div><br />
<br />
</div><br />
<br />
<div style="clear: both;"><br />
<br />
<div style="width: 50%; float: left; margin-bottom: 1em;"><br />
{{Box|<br />
BORDER = #8898bf|<br />
BACKGROUND = cyan|<br />
WIDTH = 100%|<br />
ICON = |<br />
HEADING = [[File:Sigrok_stone.png]] <span style="font-variant:small-caps;">Downloads and documentation</span>|<br />
CONTENT =<br />
<small><br />
[[Downloads]] &middot; [[Building]] &middot; [[Linux]] &middot; [[Mac OS X]] &middot; [[Windows]] &middot; [[FreeBSD]] &middot; [[OpenBSD]] &middot; [[NetBSD]] &middot; [[Android]] &middot; [[Embedded]] &middot; [[Getting started]] &middot; [[Input output formats]] &middot; [[Protocol decoders]] &middot; [[Probe comparison]] &middot; [[GPIB]] &middot; [[Logo]] &middot; [[Press]]<br />
</small><br />
}}<br />
</div><br />
<br />
<div style="width: 49%; float: right; margin-bottom: 1em;"><br />
{{Box|<br />
BORDER = #8898bf|<br />
BACKGROUND = #ff3333|<br />
WIDTH = 100%|<br />
ICON = |<br />
HEADING = [[File:Sigrok_stone.png]] <span style="font-variant:small-caps;">Subprojects</span>|<br />
CONTENT =<br />
<small><br />
[[libserialport]] &middot; [[libsigrok]] &middot; [[libsigrokdecode]] &middot; [[sigrok-cli]] &middot; [[PulseView]] &middot; [[sigrok-meter]] <!-- &middot; [[sigrok-qt]] &middot; [[sigrok-gtk]] --> &middot; [[SmuView]] &middot; [[fx2lafw]] &middot; [[gpibgrok]] &middot; [[fx2grok]] &middot; [[fpgalafw]] &middot; [[Firmware]] &middot; [[Example dumps]]<br />
</small><br />
}}<br />
</div><br />
<br />
<div style="clear: both;"><br />
<br />
<div style="width: 50%; float: left; margin-bottom: 1em;"><br />
{{Box|<br />
BORDER = #8898bf|<br />
BACKGROUND = yellow|<br />
WIDTH = 100%|<br />
ICON = |<br />
HEADING = [[File:Sigrok_stone.png]] <span style="font-variant:small-caps;">Getting in touch</span>|<br />
CONTENT = <br />
<small><br />
IRC: [https://web.libera.chat/#sigrok #sigrok@libera.chat] &middot; Mailing list: [https://lists.sourceforge.net/lists/listinfo/sigrok-devel sigrok-devel] (archives: [https://www.mail-archive.com/sigrok-devel@lists.sourceforge.net/ MA], [https://sourceforge.net/p/sigrok/mailman/sigrok-devel/ SF], [http://news.gmane.org/gmane.comp.debugging.sigrok.devel Gmane]) &middot; Twitter: [https://twitter.com/sigrokproject @sigrokproject] &middot; Mastodon/[https://en.wikipedia.org/wiki/Fediverse Fediverse]: [https://fosstodon.org/@sigrok @sigrok@fosstodon.org]<br />
</small><br />
}}<br />
</div><br />
<br />
<div style="width: 49%; float: right; margin-bottom: 1em;"><br />
{{Box|<br />
BORDER = #8898bf|<br />
BACKGROUND = lightblue|<br />
WIDTH = 100%|<br />
ICON = |<br />
HEADING = [[File:Sigrok_stone.png]] <span style="font-variant:small-caps;">Development</span>|<br />
CONTENT =<br />
<small><br />
[[Developers]] &middot; [[Roadmap]] &middot; [//sigrok.org/api/index.html API docs] ([//sigrok.org/api/libserialport/unstable/index.html sp] &middot; [//sigrok.org/api/libsigrok/unstable/index.html sr]/[//sigrok.org/api/libsigrok/unstable/bindings/cxx/index.html cxx]/[//sigrok.org/api/libsigrok/unstable/bindings/python/index.html py]/[//sigrok.org/api/libsigrok/unstable/bindings/java/index.html java] &middot; [//sigrok.org/api/libsigrokdecode/unstable/index.html srd]) &middot; [//sigrok.org/gitweb/ Browse source code] ([https://github.com/sigrokproject GitHub mirror]) &middot; [//sigrok.org/bugzilla/ Bug tracker] &middot; [//sigrok.org/jenkins/ Jenkins] &middot; [[GSoC|Summer of Code]] &middot; [[Protocol decoder HOWTO]] &middot; [[Protocol decoder API]] &middot; [[Formats and structures]] &middot; [[Hardware driver API]] &middot; [[Portability]] &middot; [[TODO]]<br />
</small><br />
}}<br />
</div><br />
<br />
</div><br />
<br />
<div style="clear: both;margin-top: 2em;"><br />
----<br />
<small><br />
'''IMPORTANT: Unless explicitly specified otherwise, all contents in this wiki (including text and images) are released under the <span style="color:red">CC-BY-SA 3.0</span> license. If you don't want that, please explicitly specify another free-ish license when adding pages/images!'''<br />
</small><br />
</div><br />
__NOTOC__<br />
__NOEDITSECTION__</div>
Abraxa
https://sigrok.org/w/index.php?title=Protocol_decoder_API/Queries&diff=15819
Protocol decoder API/Queries
2020-11-13T22:41:54Z
<p>Abraxa: Elaborate where the re-used v2 API parts are documented</p>
<hr />
<div>'''Note: PD API (v3) is required for all new protocol decoders. Support for the old (v2) PD API has been removed as of libsigrokdecode 0.5.1.'''<br />
<br />
== Motivation ==<br />
<br />
The major change in version 3 of the [[libsigrokdecode]] PD API is that we're removing the need for the decoder code to loop over every single logic analyzer sample "by hand" in Python (which has performance implications, among other things).<br />
<br />
Instead, we now use query-based decoders that are generally written as a state machine that uses the new '''self.wait()''' call (see below) to tell the [[libsigrokdecode]] backend to skip samples until a certain set of specified conditions is encountered (i.e. the PD sends queries to the backend).<br />
<br />
Using such queries in PDs has the performance benefit of not having to (slowly) iterate over every single sample in Python code (this is now done more efficiently in the C backend). Additionally, this allows for further performance improvements in the backend later on, e.g. by using multiple threads to process chunks of samples in parallel when looking for a condition match). Any of these backend changes will be transparent to the PDs.<br />
<br />
The '''Decoder''' class contains the following special attributes and methods with specific purposes:<br />
<br />
== self.__init__() ==<br />
<br />
No changes, works the same as in [[Protocol_decoder_API#API|PD API v2]].<br />
<br />
== self.start() ==<br />
<br />
No changes, works the same as in [[Protocol_decoder_API#API|PD API v2]].<br />
<br />
== self.put() ==<br />
<br />
No changes, works the same as in [[Protocol_decoder_API#API|PD API v2]].<br />
<br />
== self.decode() ==<br />
<br />
This is the API call that is used to run the actual protocol decoder.<br />
<br />
This method does not take any parameters. It is a blocking call that doesn't return until all samples have been decoded/processed.<br />
<br />
The '''self.decode()''' method generally consists of a '''while True:''' loop that uses one or more '''self.wait()''' calls to wait for certain conditions in the data and then decodes/processes the data and advances the PD's state machine as needed.<br />
<br />
== self.wait() ==<br />
<br />
This is the API call that is used by protocol decoders to send queries to the libsigrokdecode backend.<br />
<br />
It is a blocking call from the PD's point of view. It will block until the specified condition(s) are found in the sample data, only then will it return control to the PD.<br />
<br />
=== Syntax ===<br />
<br />
def wait(self, conds):<br />
# 1. Wait until one or more of the conditions in '''conds''' match.<br />
# 2. Set '''self.samplenum''' to the absolute samplenumber of the sample that matched.<br />
# 3. Set '''self.matched''' according to which of the conditions matched.<br />
# 4. Return a tuple containing the pin values of the sample that matched.<br />
<br />
The '''self.wait()''' call takes exactly one parameter ('''conds''') as input. This parameter is usually a list of conditions or just a single condition (syntactically slightly nicer than a list containing just one condition). Each entry in the list is a condition that the PD wants to wait for. Each condition is a Python dict consisting of one or more '''terms''', a.k.a. key-value pairs (see below).<br />
<br />
If multiple conditions are provided in '''conds''', they are logically OR'd. That means e.g. '''self.wait([cond1, cond2, cond3])''' will return when either cond1 and/or cond2 and/or cond3 yield a match in the sample data. I.e., either one or more than one of the specified conditions can match. If none of the conditions match, the '''self.wait()''' call will not return.<br />
<br />
The '''self.wait()''' call will return after the first match is found and will not try to find any other matches afterwards. If the decoder wants to wait for further conditions, it has to call '''self.wait()''' with the desired condition(s) again.<br />
<br />
The general usage is as follows:<br />
<br />
# Wait until at least one of the specified conditions match.<br />
pins = self.wait([cond1, cond2, cond3, ...])<br />
<br />
If there is only one condition to wait for, a syntactically nicer form can also be used:<br />
<br />
# Wait until the specified condition matches.<br />
pins = self.wait([cond1])<br />
pins = self.wait(cond1) # Nicer syntax<br />
<br />
If '''conds''' is not supplied at all, or if it is an empty list '''[]''', or if it is just an "empty" condition '''{}''', then the backend will simply skip to the next sample.<br />
<br />
'''Examples:'''<br />
<br />
# Don't wait for any condition, just skip to the next sample.<br />
pins = self.wait()<br />
pins = self.wait([])<br />
pins = self.wait({})<br />
pins = self.wait({'skip': 1}) # Skip one sample, see below.<br />
<br />
'''Note:''' The '''self.wait()''' variant is recommended for use in PDs, it's the shortest and nicest version.<br />
<br />
'''Return value:'''<br />
<br />
The '''self.wait()''' call always returns one single value, a tuple containing the pin states (0/1 for low/high) of all channels of this specific decoder. The list of entries in the tuple matches the indices/ordering of the '''channels''' and '''optional_channels''' tuples of the PD.<br />
<br />
'''Examples:'''<br />
<br />
# Example decoder: UART. Optional channels: RX, TX.<br />
rx, tx = self.wait(...)<br />
<br />
# Example decoder: JTAG. Channels: TDI, TDO, TCK, TMS. Optional channels: TRST, SRST, RTCK<br />
tdi, tdo, tck, tms, trst, srst, rtck = self.wait(...)<br />
<br />
# Alternative (more verbose and usually not recommended):<br />
pins = self.wait(...)<br />
tdi, tdo, tck, tms, trst, srst, rtck = pins<br />
<br />
Since '''self.wait()''' always returns a tuple of pin values, the call can be conveniently used to pass the resulting pin values on to other methods.<br />
<br />
'''Examples:'''<br />
<br />
# Handle the next rising edge on the CLK pin.<br />
self.handle_rising_clk_edge(self.wait({6: 'r'}))<br />
<br />
# Handle the next UART bit.<br />
self.handle_next_uart_bit(self.wait({'skip': self.halfbitwidth}))<br />
<br />
# Handle the next I²C START condition (SCL = high, SDA = falling edge).<br />
self.handle_i2c_start(self.wait({0: 'h', 1: 'f'}))<br />
<br />
If the decoder doesn't care about the pin values returned by '''self.wait()''' it can simply ignore them.<br />
<br />
'''Examples:'''<br />
<br />
# Skip 100 samples. We don't care about the current (new) pin states.<br />
self.wait({'skip': 100})<br />
<br />
=== Conditions ===<br />
<br />
A single condition is always a Python dict which can have zero or more key/value pairs in it.<br />
<br />
The keys (and values) can be of different types.<br />
<br />
==== Pin state conditions ====<br />
<br />
The most commonly-used form has keys that are PD channel indices (i.e., integer numbers starting with 0). In those cases, the values can be one of the following:<br />
<br />
* ''''l'''': Low pin value (logical 0)<br />
* ''''h'''': High pin value (logical 1)<br />
* ''''r'''': Rising edge<br />
* ''''f'''': Falling edge<br />
* ''''e'''': Either edge (rising or falling)<br />
* ''''s'''': Stable state, the opposite of 'e'. That is, there was no edge and the current and previous pin value were both low (or both high).<br />
<br />
Any other value will yield an error.<br />
<br />
Decoder channels/pins that are not part of a condition will be "don't care", i.e. they will match no matter whether they're high or low or have an edge or not.<br />
<br />
'''Examples:'''<br />
<br />
# Wait until pin 7 has a falling edge.<br />
pins = self.wait({7: 'f'})<br />
<br />
# Wait until pin 3 has a rising edge '''and''' pin 4 is high at the same time.<br />
pins = self.wait({3: 'r', 4: 'h'})<br />
<br />
# Wait until pins 2-4 are low and pin 16 has any edge.<br />
pins = self.wait({2: 'l', 3: 'l', 4: 'l', 16: 'e'})<br />
<br />
==== Sample skipping conditions ====<br />
<br />
Another common query for the backend is when a decoder wants to skip a certain number of samples regardless of what the respective sample values are (because they are not relevant for the protocol at hand).<br />
<br />
This can be done with a special key in a condition dict, ''''skip''''. The value of the ''''skip'''' key is an integer number of samples to skip.<br />
<br />
A decoder can also skip a certain amount of time by using the samplerate to calculate the correct value for the ''''skip'''' key.<br />
<br />
'''Examples:'''<br />
<br />
# Skip over the next 100 samples.<br />
pins = self.wait({'skip': 100})<br />
<br />
# Skip over the next 20ms of samples.<br />
pins = self.wait({'skip': 20 * (1000 / self.samplerate)})<br />
<br />
# Skip half a bitwidth of samples (e.g. for UART).<br />
self.halfbitwidth = int((self.samplerate / self.options['baudrate']) / 2.0)<br />
pins = self.wait({'skip': self.halfbitwidth})<br />
<br />
'''Note:''' There is intentionally no '''skip_time''' (or similar) short-hand key. By having only one '''skip''' key for skipping both a number of samples and (indirectly) a certain amount of time, the decoders can more easily construct multi-condition queries in a generic way at runtime.<br />
<br />
It is also possible (though rarely needed) to skip forward '''to''' a certain absolute sample number:<br />
<br />
# Skip forward to the (absolute) sample number 1500.<br />
# The current sample number is self.samplenum.<br />
if self.samplenum <= 1500:<br />
self.wait({'skip': 1500 - self.samplenum})<br />
else:<br />
# Error, already past sample 1500.<br />
<br />
No skipping at all:<br />
<br />
# Skip forward by 0 samples (this is basically a NOP).<br />
self.wait({'skip': 0})<br />
<br />
Mixing channel index keys and ''''skip'''' keys in the '''same''' condition doesn't usually make much sense:<br />
<br />
# Wait until there is an edge on pin 7 '''and''' until (at the same time) 1000<br />
# samples passed by since the start of the self.wait() call.<br />
pins = self.wait({7: 'e', 'skip': 1000}) # Not too useful.<br />
<br />
However, it can make perfect sense to mix index keys and ''''skip'''' keys in '''different''' conditions:<br />
<br />
# Wait until there's<br />
# a) an edge on pin 7 '''and''' a low state on pin 12, '''and/or'''<br />
# b) 1000 samples passed by,<br />
# whichever occurs first (both conditions could occur at the same time too).<br />
# This is basically "wait for an edge on pin 7 and a low state on pin 12,<br />
# with a timeout of 1000 samples".<br />
pins = self.wait([{7: 'e', 12: 'l'}, {'skip': 1000}])<br />
<br />
== Initial pin values ==<br />
<br />
Frontends (and thus the users) can specify a list of initial pin states (0, 1, or "use the same value as in the first sample") that are assumed to apply to the respective logic analyzer pins/channels before the first sample is passed to the decoder.<br />
<br />
These pin values are used when the very first condition that the decoder wants to wait for contains one or more edges. In order for the backend to be able to properly handle a "'''wait for a rising edge on pin xyz'''" condition when it looks at the very first sample, it needs to know what the (assumed) value of the sample '''before''' the first one is.<br />
<br />
== self.matched ==<br />
<br />
When a decoder asks the frontend to wait for multiple conditions via '''self.wait()''', when that call returns the PD only knows that '''at least one''' of the conditions matched. However, in most cases it also needs to know '''which''' of those conditions matched (or did not match).<br />
<br />
This is the information that '''self.matched''' provides. It is a tuple of boolean values ('''True''' or '''False''') that always contains as many entries as there were conditions in the last '''self.wait()''' call. For each condition, the respective boolean value denotes whether there was a match for this specific condition.<br />
<br />
'''Example:'''<br />
<br />
# Wait until a rising edge on pin 9 and/or a high state (logic 1) on pin 27,<br />
# and/or a certain amount of "time" has passed (here: 1000 samples skipped).<br />
# That means there's basically a "timeout" of 1000 samples after which<br />
# self.wait() will return for sure (regardless of the other conditions).<br />
pins = self.wait([{9: 'r'}, {27: 'h'}, {'skip': 1000}])<br />
<br />
if self.matched == (True, True, False):<br />
# The first two conditions matched at the same time/sample.<br />
# Pin 9 contains a rising edge and pin 27 is high.<br />
elif self.matched == (True, False, False):<br />
# Rising edge on pin 9, pin 27 is guaranteed to '''not''' be high.<br />
elif self.matched == (False, True, False):<br />
# Pin 27 is high, pin 9 is guaranteed to '''not''' be a rising edge.<br />
elif self.matched == (False, False, True):<br />
# Pin 9 is '''not''' a rising edge, pin 27 is '''not''' high, but 1000 samples were skipped.<br />
elif self.matched == (False, True, True):<br />
# Pin 9 is '''not''' a rising edge, pin 27 '''is''' high, and it just so happens that<br />
# exactly 1000 samples were skipped.<br />
elif self.matched == (False, False, False):<br />
# Bug, this cannot happen. self.wait() only returns upon >= 1 matches.<br />
<br />
For ''''skip'''' key/value pairs the '''self.matched''' tuple will contain a '''True''' value if the specified number of samples was reached.<br />
<br />
'''Example:'''<br />
<br />
# Wait for a falling edge on channel 18, or until 25000 samples passed by.<br />
pins = self.wait([{18: 'f'}, {'skip': 25000}])<br />
<br />
if self.matched[0]:<br />
# Pin 18 has a falling edge.<br />
if self.matched[1]:<br />
# 25000 samples were skipped.<br />
<br />
== self.samplenum ==<br />
<br />
'''self.samplenum''' is a special attribute that is read-only for the protocol decoder and should only be set by the libsigrokdecode backend.<br />
<br />
The value of '''self.samplenum''' is always the current absolute sample number (starts at 0) after the last '''self.wait()''' call has returned.<br />
<br />
'''Example:''' After a '''self.wait({5: 'r'})''' call has returned, '''self.samplenum''' will contain the absolute sample number of the sample where pin 5 of this protocol decoder has changed from 0 to 1 (rising edge). The current sample will have a pin 5 value of 1, and the sample before that is guaranteed to have had a pin 5 value of 0.</div>
Abraxa
https://sigrok.org/w/index.php?title=Protocol_decoder_API&diff=15818
Protocol decoder API
2020-11-13T14:14:55Z
<p>Abraxa: Added tags</p>
<hr />
<div>This page describes how [[libsigrokdecode]] '''Protocol Decoders ([[Protocol decoders|PDs]])''' work.<br />
<br />
See also [[Protocol decoder HOWTO]] for a quick introduction of how to write your own decoders.<br />
<br />
See [[Protocol decoder API/Queries]] for changes to the decoder API in version 3. All decoders use this API now and the v2 API is no longer supported.<br />
<br />
== Architecture ==<br />
<br />
* All PDs are written in Python (>= 3.0).<br />
* Every PD registers its name, description, capabilities, etc.<br />
* PDs can be stacked, so the user can construct a decoding pipeline/stack. The control of communication to/from PDs is done by the backend code in libsigrokdecode.<br />
* The sample data passed into the PDs will be streamed/chunked, so they can run in real time as the data comes in from the hardware (or from a file).<br />
* In order to keep PDs simple, they don't have to deal with the intricacies of the datafeed packets.<br />
<br />
The frontend passes sample data into libsigrokdecode and gets decoder output (of various types) from every PD in the stack. Which of these output types of which PDs are actually displayed to the user is a matter of configuration or selection by the user; it is possible, for example, to have [[sigrok-cli]] print only the top of the PD stack's annotation output on stdout.<br />
<br />
== API ==<br />
<br />
=== Backend library ===<br />
<br />
A Python module called '''<tt>sigrokdecode</tt>''' is provided. Every protocol decoder must import this. It contains the following items:<br />
<br />
* '''<tt>the Decoder object</tt>'''<br />
<blockquote><br />
Every protocol decoder must subclass this object.<br />
</blockquote><br />
<br />
* '''<tt>OUTPUT_ANN</tt>'''<br />
<blockquote><br />
A constant used to register annotation output, used as argument to the '''<tt>[[#register-function|register()]]</tt>''' function. [[Sigrok-cli|sigrok-cli]] shows the annotation output of a decoder stack's topmost decoder (per default), [[PulseView]] shows annotation output as graphical boxes or as circles (if the duration of the annotation is zero).<br />
</blockquote><br />
* '''<tt>OUTPUT_PYTHON</tt>'''<br />
<blockquote><br />
A constant used to register Python output, used as argument to the '''<tt>[[#register-function|register()]]</tt>''' function. Python output is passed as input to a decoder that is stacked onto the current decoder. The format of the data that is given to the '''<tt>[[#put-function|put()]]</tt>''' function is specific to a certain PD and should be documented for the authors of the higher level decoders, for example with a comment at the top of the decoder's source file.<br />
</blockquote><br />
* '''<tt>OUTPUT_BINARY</tt>'''<br />
<blockquote><br />
A constant used to register binary output, used as argument to the '''<tt>[[#register-function|register()]]</tt>''' function. The format of the data that is outputted is not specified, it's up to the author of the decoder to choose one (or multiple) appropriate format(s). For example, the [[Protocol_decoder:Uart|UART]] decoder outputs the raw bytes that it decodes, the [[Protocol_decoder:I2s|I²S]] decoder outputs the audio in WAV format, but the output could also be an image (JPG, PNG, other) file for a decoder that decodes a display protocol, a PCAP file for network/USB decoders, or one of [[Protocol decoder output|many other]] formats. [[Sigrok-cli|sigrok-cli]] can be used to redirect the binary output of a decoder into a file (or to pipe it into other applications), see the documentation of its '''--protocol-decoder-binary''' ('''-B''') option.<br />
</blockquote><br />
* '''<tt>OUTPUT_META</tt>'''<br />
<blockquote><br />
A constant used to register metadata output, used as argument to the '''<tt>[[#register-function|register()]]</tt>''' function. An example for a PD that outputs metadata is the SPI decoder that uses it to output the detected bitrate. See [[Protocol decoder output]] for various other possible examples.<br />
</blockquote><br />
<br />
* <div id="put-function">'''<tt>put(startsample, endsample, output_id, data)</tt>'''</div><br />
<blockquote><br />
This is used to provide the decoded data back into the backend. '''<tt>startsample</tt>''' and '''<tt>endsample</tt>''' specify the absolute sample numbers of where this item (e.g. an annotation) starts and ends. '''<tt>output_id</tt>''' is an output identifier returned by the '''<tt>[[#register-function|register()]]</tt>''' function.<br />
The '''<tt>data</tt>''' parameter's contents depend on the output type ('''<tt>output_id</tt>'''):<br />
* '''OUTPUT_ANN''': The '''<tt>data</tt>''' parameter is a Python list with two items. The first item is the annotation index (determined by the order of items in '''<tt>Decoder.annotations</tt>''', see [[#Decoder_registration|below]]), the second is a list of annotation strings. The strings should be longer and shorter versions of the same annotation text (sorted by length, longest first), which can be used by frontends to show different annotation texts depending on e.g. zoom level.<br />
** Example: ''<tt>self.put(10, 20, self.out_ann, [4, ['Start', 'St', 'S']])</tt>'''<br />
*** The emitted data spans samples 10 to 20, is of type OUTPUT_ANN, the annotation index is 4, the list of annotations strings is "Start", "St", "S".<br />
** Example: ''<tt>self.put(10, 20, self.out_ann, [4, ['CRC']])</tt>'''<br />
*** The emitted data spans samples 10 to 20, is of type OUTPUT_ANN, the annotation index is 4, the list of annotations strings is just "CRC" (the list containins only one item).<br />
** Example: ''<tt>self.put(35, 9000, self.out_ann, [17, ['Registered Parameter Number', 'Reg Param Num', 'RPN', 'R']])</tt>'''<br />
*** The emitted data spans samples 35 to 9000, is of type OUTPUT_ANN, the annotation index is 17, the list of annotations strings is "Registered Parameter Number", "Reg Param Num", "RPN", "R".<br />
* '''OUTPUT_PYTHON''': The '''<tt>data</tt>''' parameter is any arbitrary Python object that will be passed to stacked decoders. The format and contents are entirely decoder-dependent. Typically a Python list with various contents is passed to the stacked PDs.<br />
** Example: ''<tt>self.put(10, 20, self.out_python, ['PACKET', ['Foo', 19.7, [1, 2, 3], ('bar', 'baz')]])</tt>'''<br />
*** The emitted data spans samples 10 to 20, is of type OUTPUT_PYTHON, the data contents themselves are entirely dependent on the respective decoder and should be documented in its [[Protocol_decoder_HOWTO#pd.py|pd.py]] file.<br />
* '''OUTPUT_BINARY''': The '''<tt>data</tt>''' parameter is a Python list with two items. The first item is the binary format's index (determined by the order of items in '''<tt>Decoder.binary</tt>''', see [[#Decoder_registration|below]]), the second is a Python [https://docs.python.org/3/library/stdtypes.html#typebytes '''<tt>bytes</tt>'''] object.<br />
** Example: ''<tt>self.put(10, 20, self.out_binary, [4, b'\xfe\x55\xaa'])</tt>'''<br />
*** The emitted data spans samples 10 to 20, is of type OUTPUT_BINARY, the binary format's index is 4, the emitted bytes are 0xfe, 0x55, 0xaa.<br />
* '''OUTPUT_META''': The '''<tt>data</tt>''' parameter is a Python object of a certain type, as defined in the respective '''<tt>[[#register-function|register()]]</tt>''' function.<br />
** Example: ''<tt>self.put(10, 20, self.out_meta, 15.7)</tt>'''<br />
*** The emitted data spans samples 10 to 20, is of type OUTPUT_META, the data itself is a floating point number in this case.<br />
** Example: ''<tt>self.put(10, 20, self.out_meta, 42)</tt>'''<br />
*** The emitted data spans samples 10 to 20, is of type OUTPUT_META, the data itself is an integer number in this case.<br />
</blockquote><br />
<br />
=== Decoder class functions ===<br />
<br />
==== Required functions ====<br />
<br />
* '''<tt>start(self)</tt>'''<br />
<blockquote><br />
This function is called before the beginning of the decoding. This is the place to '''<tt>[[#register-function|register()]]</tt>''' the output types, check the user-supplied PD options for validity, and so on.<br />
</blockquote><br />
<br />
* '''<tt>reset(self)</tt>'''<br />
<blockquote><br />
This function is called before the beginning of the decoding. This is the place to reset variables internal to your protocol decoder to their initial state, such as state machines and counters.<br />
</blockquote><br />
<br />
* <div id="decode-and-wait-function-">'''<tt>decode(self)</tt>'''</div><br />
<blockquote><br />
'''In non-stacked decoders''', this function is called by the [[libsigrokdecode]] backend to start the decoding.<br />
<br />
It takes no arguments, but instead will enter an infinite loop and gets samples by calling the more versatile '''<tt>[[Protocol_decoder_API/Queries#self.wait()|wait()]]</tt>''' method. This frees specific protocol decoders from tedious yet common tasks like detecting edges, or sampling signals at specific points in time relative to the current position.<br />
<br />
'''Note:''' This '''<tt>[[Protocol_decoder_API/Queries#self.decode()|decode(self)]]</tt>''' method's signature has been introduced in version 3 of the protocol decoder API, in previous versions only '''<tt>decode(self, startsample, endsample, data)</tt>''' was available.<br />
</blockquote><br />
<br />
* <div id="decode-function">'''<tt>decode(self, startsample, endsample, data)</tt>'''</div><br />
<blockquote><br />
'''In stacked decoders''', this is a function that is called by the [[libsigrokdecode]] backend whenever it has a chunk of data for the protocol decoder to handle.<br />
<br />
{| border="0" style="font-size: smaller;" class="alternategrey sortable sigroktable"<br />
|-<br />
!style="width: 8em;" | Argument<br />
!Description<br />
<br />
|-<br />
| '''<tt>startsample</tt>'''<br />
| The absolute samplenumber of the first sample in this chunk of data.<br />
<br />
|-<br />
| '''<tt>endsample</tt>'''<br />
| The absolute samplenumber of the last sample in this chunk of data.<br />
<br />
|-<br />
| '''<tt>data</tt>'''<br />
| A list containing the data to decode. Depending on whether the decoder decodes raw samples or is stacked onto another decoder, this argument is:<br />
* Raw samples ('''<tt>inputs = ['logic']</tt>'''):<br />
<blockquote><br />
'''<tt>data</tt>''' is a list of tuples containing the (absolute) sample number and the channels of that sample: '''<tt>[(samplenum, channels), (samplenum, channels), ...]</tt>'''.<br /><br />
'''<tt>samplenum</tt>''' is the (absolute) number of the sample, an integer that takes the values from '''<tt>startsample</tt>''' to '''<tt>endsample</tt>''' - 1.<br /><br />
The type of '''<tt>channels</tt>''' is [https://docs.python.org/3/library/stdtypes.html#typebytes '''<tt>bytes</tt>'''],<br />
a sequence type whose length is the sum of the lengths of '''<tt>channels</tt>''' and '''<tt>optional_channels</tt>'''<br />
(in other words, '''<tt>channels</tt>''' contains a byte for every channel/optional channel).<br /><br />
The order of the bytes is the same as the order of the channels in '''<tt>channels</tt>''' and '''<tt>optional_channels</tt>'''.<br><br />
The individual bytes take the values '''<tt>0</tt>''' or '''<tt>1</tt>''', or some other value for optional channels that aren't supplied to the decoder.<br><br />
The [[Protocol_decoder_HOWTO#channels_.26_optional_channels|Protocol decoder HOWTO]] page contains an example how the data can be processed.<br />
</blockquote><br />
<br />
* Stacked decoder ('''<tt>inputs = ['</tt>'''<id of some other decoder>'''<tt>']</tt>'''):<br />
<blockquote><br />
'''<tt>data</tt>''' is the '''<tt>OUTPUT_PYTHON</tt>''' output of the decoder this PD is stacked upon.<br />
Its format depends on the implementation of the underlying decoder and should be documented there.<br />
</blockquote><br />
|}<br />
<br />
</blockquote><br />
<br />
==== Optional functions ====<br />
<br />
* '''<tt>metadata(self, key, value)</tt>'''<br />
<blockquote><br />
Used to pass the decoder metadata about the data stream. Currently the only value for '''<tt>key</tt>''' is '''<tt>sigrokdecode.SRD_CONF_SAMPLERATE</tt>''', '''<tt>value</tt>''' is then the sample rate of the data stream in Hz. <br />
<br />
This function can be called multiple times, so make sure your protocol decoder handles this correctly! Do not place statements in there that depend on metadata to be called only once.<br />
</blockquote><br />
<br />
=== Decoder registration ===<br />
<br />
A PD's '''Decoder''' class must contain a few attributes specifying metadata about the PD. The following keys can be used:<br />
<br />
<blockquote><br />
{| border="0" style="font-size: smaller;" class="alternategrey sortable sigroktable"<br />
|-<br />
!style="width: 8em;" | Key<br />
!Description<br />
<br />
|-<br />
| '''<tt>api_version</tt>'''<br />
| The libsigrokdecode API version which this module uses. This is currently either 2 or 3.<br />
<br />
|-<br />
| '''<tt>id</tt>'''<br />
| A short unique identifier for this protocol decoder. It should be all-lowercase, and only contains a-z, 0-9 and underscores. This must match the PD's Python module name (subdirectory name in the '''decoders''' directory). The [[sigrok-cli]] tool uses this to specify PDs on the command-line. Examples: 'jtag', 'sdcard_spi', 'uart'.<br />
<br />
|-<br />
| '''<tt>name</tt>'''<br />
| The name of the decoder. Used when listing available PDs. Examples: 'JTAG', 'SD card (SPI mode)', 'UART'.<br />
<br />
|-<br />
| '''<tt>longname</tt>'''<br />
| The (long) name of the decoder. Used when listing available PDs. Example: 'Joint Test Action Group (IEEE 1149.1)', 'Secure Digital card (SPI mode)', 'Universal Asynchronous Receiver/Transmitter'.<br />
<br />
|-<br />
| '''<tt>desc</tt>'''<br />
| A freeform one-line description of the decoder. Used when listing available PDs. Should end with a full stop. Example: 'Protocol for testing, debugging, and flashing ICs.', 'Secure Digital card (SPI mode) low-level protocol.', 'Asynchronous, serial bus.'.<br />
<br />
|-<br />
| '''<tt>license</tt>'''<br />
| The license under which the module is provided. This must be either '''<tt>gplv2+</tt>''' (meaning the GNU General Public License 2 or later), or '''<tt>gplv3+</tt>''' (GNU General Public License 3 or later). No other licenses for modules are permitted in libsigrokdecode.<br />
<br />
|-<br />
| '''<tt>inputs</tt>'''<br />
| The list of types of input this decoder needs. If the decoder takes input from a logic analyzer driver, this should be set to '''<tt>logic</tt>''', which maps to SR_DF_LOGIC, the datafeed type. If it takes input from another PD, it should be set to the value of the '''<tt>outputs</tt>''' key of that PD. It should conform to the same rules as the '''<tt>id</tt>''' key (lowercase, no spaces, and so on).<br />
<br />
|-<br />
| '''<tt>outputs</tt>'''<br />
| The list of types of output this decoder produces. If this decoder can feed decoded data back into the datafeed stream, its outputs will be identified with this key's value. It should conform to the same rules as the '''<tt>id</tt>''' key.<br />
<br />
|-<br />
| '''<tt>channels</tt>'''<br />
| This key contains information about the channels (pins) that '''must''' be provided to this PD; the PD will not be able to work without them. For example, the [[Protocol_decoder:Spi|SPI]] decoder has to know which channel has the clock signal. This key contains a tuple of channel entries, where each entry is a Python dict with the keys '''id''', '''name''', and '''desc'''. Example: '''<tt>{'id': 'rx', 'name': 'RX', 'desc': 'UART receive line'}</tt>'''.<br />
<br />
|-<br />
| '''<tt>optional_channels</tt>'''<br />
| The channels the PD can make use of, but are not strictly required. The key has the same format as that of the <tt>channels</tt> key above (a tuple of dicts). This tuple is allowed to be empty if the respective protocol decoder has no optional channels.<br />
<br />
|-<br />
| '''<tt>options</tt>'''<br />
| A tuple describing the options for this decoder. Each tuple entry is a Python dict with the keys '''id''', '''desc''', '''default''', and '''values'''. Example: '''<tt>{'id': 'bitorder', 'desc': 'Bit order', 'default': 'msb-first', 'values': ('msb-first', 'lsb-first')}</tt>'''. This tuple can be empty, if the PD has no options.<br />
<br />
|-<br />
| '''<tt>annotations</tt>'''<br />
| A list of annotation classes this protocol decoder can output. Elements of this list are tuples consisting of an identifier string and a human readable description string. The identifier string can be used in the options of [[sigrok-cli]] to select the specific annotation type, and should therefore not contain whitespace or special characters.<br />
<br />
|-<br />
| '''<tt>annotation_rows</tt>'''<br />
| Annotation rows are used to group multiple annotation types together. The elements of this list are three element tuples consisting of:<br />
* An annotation row ID (same naming rules as for other IDs).<br />
* A human readable name/description string for the annotation row.<br />
* A tuple containing the indices of the the annotation classes in the '''<tt>annotations</tt>''' tuple.<br />
See the [[Protocol_decoder_HOWTO#annotations_.26_annotation_rows|example on the Protocol decoder HOWTO page]] for more information on this attribute.<br />
<br />
|-<br />
| '''<tt>binary</tt>'''<br />
| A list of binary output types this protocol decoder can output, same format as the '''<tt>annotations</tt>''' list.<br />
<br />
|-<br />
| '''<tt>tags</tt>'''<br />
| A list of strings that make this protocol decoder be listed in the same categories (e.g. when adding a decoder in PulseView). See [[Protocol_decoders]] for a list of what categories are currently in use.<br />
<br />
|}<br />
<br />
</blockquote><br />
<br />
* <div id="register-function">'''<tt>register(output_type)</tt>'''</div><br />
<blockquote><br />
This function is used to register the output that will be generated by the decoder, its argument should be one of the '''<tt>OUTPUT_...</tt>''' constants described above. The function returns an identifier that can then be used as the '''<tt>output_id</tt>''' argument of the '''<tt>[[#put-function|put()]]</tt>''' function.<br />
</blockquote><br />
<br />
See [[Protocol decoder HOWTO#pd.py|pd.py]] for an example.<br />
<br />
[[Category:APIs]]</div>
Abraxa
https://sigrok.org/w/index.php?title=File_format:Sigrok/v2&diff=15816
File format:Sigrok/v2
2020-11-12T18:33:30Z
<p>Abraxa: /* analog-* */</p>
<hr />
<div>{{DISPLAYTITLE:File format:sigrok/v2}}<br />
This page contains the '''sigrok session file format specification'''.<br />
See [[File_format:Sigrok/v3]] for the next version of the srzip file format, which currently is '''under development'''.<br />
<br />
== Overview ==<br />
<br />
The sigrok session file is a standard ZIP file with certain contents and some special requirements.<br />
<br />
The recommended file extension is '''.sr'''.<br />
<br />
== ZIP file contents ==<br />
<!--<br />
=== mimetype ===<br />
<br />
Every sigrok session file must contain an (ASCII) '''mimetype''' file. This file must be the first file in the ZIP file. It must be stored uncompressed and with no "extra field".<br />
<br />
The '''mimetype''' file must contain (only) the following string: '''application/vnd.sigrok.session'''.<br />
<br />
This is an entry that can be used with the UNIX file(1) command's magic(4) file:<br />
<br />
0 string PK\003\004<br />
>30 string mimetype<br />
>>38 string application/vnd.sigrok.session<br />
--><br />
=== version ===<br />
<br />
This ASCII file (must always exist) contains the sigrok session file format version number (a single integer number). Currently this is '''2'''. It is increased every time the file format changes.<br />
<br />
=== metadata ===<br />
<br />
This ASCII file (must always exist) contains various metadata about the sigrok session. The file format must use the usual "INI"-style syntax (see below).<br />
<br />
The file must consist of lines which end with either '''\r''' or '''\n''' or '''\r\n''' or '''\n\r'''. The maximum line length is 4093 characters (not including any trailing newline and carriage return characters).<br />
<br />
Empty lines and lines beginning with "#" are ignored.<br />
<br />
Sections are started via lines containing only '''[<sectionname>]''' where <setionname> is the name of this specific section. No whitespace is allowed between <sectionname> and the brackets.<br />
<br />
Section names can contain the following characters: A-Z, a-z, 0-9, <space>.<br />
<br />
Every section can contain zero or more lines. Each line must be of the ''key=value'' format. Whitespace before and after "=" is ignored.<br />
<br />
The keys can contain the following characters: A-Z, a-z, 0-9, <space>, <minus>.<br />
<br />
==== Section: global ====<br />
<br />
* sigrok version<br />
<br />
==== Section: device ''X'' ====<br />
<br />
* driver (optional)<br />
* capturefile<br />
* unitsize<br />
* total probes<br />
* total analog<br />
* samplerate<br />
* probe''X''<br />
* analog''X''<br />
<br />
=== logic-* ===<br />
<br />
There can be one or more binary files in the ZIP file, which contain logic analyzer samples. These have a name of<br />
* '''logic-1''' (one large file; deprecated, but still supported), or<br />
* '''logic-1-1''', '''logic-1-2''', '''logic-1-3''', and so on (many smaller files).<br />
<br />
=== analog-* ===<br />
<br />
There can be one or more binary files in the ZIP file, which contain analog samples. These have a name of<br />
<br />
* '''analog-1-''<chan>''-1''', '''analog-1-''<chan>''-2''', '''analog-1-''<chan>''-3''', and so on (where ''<chan>'' is the analog channel number).<br />
<br />
<!-- TODO: Format, contents, endianness, etc. --></div>
Abraxa
https://sigrok.org/w/index.php?title=Hantek_6022BL&diff=15348
Hantek 6022BL
2020-08-04T07:00:22Z
<p>Abraxa: Reverted edits by Abraxa (talk) to last revision by Harvie</p>
<hr />
<div>{{Infobox oscilloscope<br />
| image = [[File:Hantek 6022be mugshot.png|180px]]<br />
| name = Hantek 6022BL<br />
| status = supported<br />
| source_code_dir = hantek-6xxx<br />
| channels = 2<br />
| samplerate = 48MHz<br />
| samplerate_equiv = <br />
| bandwidth = 20MHz<br />
| vertical_resolution = 8bit<br />
| triggers = none (SW-only)<br />
| input_impedance = 1MΩ‖25pF<br />
| memory = none<br />
| display = none<br />
| connectivity = USB<br />
| features = <br />
| price = $73<br />
| website = [http://www.hantek.com/en/ProductDetail_2_153.html hantek.com]<br />
}}<br />
<br />
The '''Hantek 6022BL''' is a USB-based, 2-channel oscilloscope with an analog bandwidth of 20MS/s and 48MS/s sampling rate, and an 8-/16-channel logic analyzer with 24MHz sampling rate.<br />
<br />
The device can either be used as oscilloscope '''or''' as logic analyzer, but not both at the same time. I.e., it is '''not''' a mixed-signal-oscilloscope (MSO).<br />
<br />
Currently only the 8-channel logic analyzer mode is supported.<br />
<br />
See [[Hantek 6022BL/Info]] for more details (such as '''lsusb -v''' output) about the device.<br />
<br />
== Hardware ==<br />
<br />
* '''USB''': [http://www.cypress.com/documentation/datasheets/cy7c68013a-cy7c68014a-cy7c68015a-cy7c68016a-ez-usb-fx2lp-usb Cypress CY7C68013A-100AXC] (FX2LP) ([http://www.cypress.com/file/138911/download datasheet])<br />
* '''256-byte I²C EEPROM''': 2x [http://www.microchip.com/wwwproducts/en/24LC02B Microchip 24LC02BI] ([http://ww1.microchip.com/downloads/en/DeviceDoc/21709J.pdf datasheet])<br />
* '''16-Bit bus transceiver with 3-state outputs''': [http://www.ti.com/product/sn74lvc16245a TI SN74LVC16245A] ([http://www.ti.com/lit/ds/symlink/sn74lvc16245a.pdf datasheet])<br />
* '''8-channel analog mux/demux''': 2x [http://www.nxp.com/products/discretes-and-logic/logic/8-channel-analog-multiplexer-demultiplexer:74HC4051D NXP 74HC4051D] ([http://cache.nxp.com/documents/data_sheet/74HC_HCT4051.pdf?pspll=1 datasheet])<br />
* '''1A low-dropout voltage regulator (3.3V):''' [http://www.advanced-monolithic.com/products/voltreg.html#1117 Advanced Monolithic Systems AMS1117-3.3] [http://www.advanced-monolithic.com/pdf/ds1117.pdf datasheet])<br />
* '''2W, fixed input, isolated & unregulated dual/single output DC/DC converter''': [http://www.mornsun.cn/html/product/content/A_S-2WR2.html Mornsun A_S-2WR2 (A0505S-2WR2)] ([http://www.mornsun.cn/uploads/pdf/A_S-2WR2.pdf datasheet])<br />
* '''ADC''': (educated guess, IC covered by glued-on heatsink)<br />
** '''8-bit, 40/80/100MHz, dual ADC''': [http://www.analog.com/en/products/analog-to-digital-converters/ad-converters/ad9288.html Analog Devices AD9288] ([http://www.analog.com/media/en/technical-documentation/data-sheets/AD9288.pdf datasheet]), or<br />
** '''8-bit, 100MHz, dual ADC''': [https://translate.google.com/translate?hl=en&sl=zh-CN&tl=en&u=http%3A%2F%2Fwww.mxtronics.com%2Fn107%2Fn124%2Fn181%2Fn184%2Fc692%2Fcontent.html MXTronix MXT2088] ([http://www.mxtronics.com/n107/n124/n181/n184/c692/attr/2630.pdf datasheet])<br />
* '''1.4GHz current feedback amplifiers with enable''': 2x [http://www.intersil.com/en/products/amplifiers-and-buffers/all-amplifiers/amplifiers/EL5166.html Intersil EL5166] ([http://www.intersil.com/content/dam/Intersil/documents/el51/el5166-67.pdf datasheet])<br />
* '''145 MHz FastFET Opamps''': 2x [http://www.analog.com/en/products/amplifiers/operational-amplifiers/jfet-input-amplifiers/ad8065.html#product-overview AD8065]: ([http://www.analog.com/static/imported-files/data_sheets/AD8065_8066.pdf datasheet]), markings "HRA"<br />
* '''Crystal''': 24MHz<br />
* '''Probes''': 2x PP80B 1X/10X 80MHz bandwidth oscilloscope probes<br />
* '''Attenuator''': Hantek HT-201 20:1 attenuator (10MHz bandwidth, 1.053M input resistance)<br />
<br />
The device has a "H/P" button. Depending on whether or not it's pressed it comes up with different USB VID/PIDs:<br />
* '''Pressed''': [[Hantek_6022BL/Info|04b4:602a Cypress Semiconductor Corp.]] (used for oscilloscope mode)<br />
* '''Not pressed''': [[Hantek_6022BL/Info|0925:3881 Lakeview Research Saleae Logic]] ([[Saleae Logic]] VID/PID, so [[fx2lafw]] works out of the box)<br />
<br />
'''NXP 74HC4051D (upper/lower, CH1/CH2) pinout''':<br />
<small><br />
<table><tr><td><br />
{{chip_16pin<br />
|1=Y4<br />
|2=<span style="color:orange">(GND)</span> Y6<br />
|3=<span style="color:red">(upper EL5166, IN-)</span> Z<br />
|4=<span style="color:orange">(GND)</span> Y7<br />
|5=<span style="color:orange">(GND)</span> Y5<br />
|6=<span style="color:orange">(GND)</span> E#<br />
|7=VEE<br />
|8=GND<br />
|9=S2 <span style="color:green">(FX2 PA3)</span><br />
|10=S1 <span style="color:green">(FX2 PA2)</span><br />
|11=S0 <span style="color:green">(FX2 PA1)</span><br />
|12=Y3<br />
|13=Y0<br />
|14=Y1<br />
|15=Y2<br />
|16=VCC<br />
}}<br />
</td><td><br />
{{chip_16pin<br />
|1=<span style="color:orange">(GND)</span> Y4<br />
|2=<span style="color:orange">(GND)</span> Y6<br />
|3=<span style="color:red">(lower EL5166, IN-)</span> Z<br />
|4=<span style="color:orange">(GND)</span> Y7<br />
|5=<span style="color:orange">(GND)</span> Y5<br />
|6=<span style="color:orange">(GND)</span> E#<br />
|7=VEE<br />
|8=GND<br />
|9=S2 <span style="color:darkcyan">(FX2 PA6)</span><br />
|10=S1 <span style="color:darkcyan">(FX2 PA5)</span><br />
|11=S0 <span style="color:darkcyan">(FX2 PA4)</span><br />
|12=Y3<br />
|13=Y0<br />
|14=Y1<br />
|15=Y2<br />
|16=VCC<br />
}}<br />
</td></tr></table><br />
</small><br />
<br />
{| border="0" style="font-size: smaller" class="alternategrey sortable sigroktable"<br />
|-<br />
!S2<br />
!S1<br />
!S0<br />
!74HC4051D Mux<br />
!VDIVs (vendor software)<br />
|-<br />
| 0 || 0 || 0 || Y0 to Z || 200mV<br />
|-<br />
| 0 || 0 || 1 || Y1 to Z || 500mV<br />
|-<br />
| 0 || 1 || 0 || Y2 to Z || 5V, 2V, 1V<br />
|-<br />
| 0 || 1 || 1 || Y3 to Z || 100mV, 50mV, 20mV<br />
|}<br />
<br />
'''Intersil EL5166 (both) pinout''':<br />
<small><br />
{{chip_8pin<br />
|1=NC<br />
|2=<span style="color:red">(upper/lower 74HC4051D, Z)</span> IN-<br />
|3=<span style="color:blue">(AD8065, IN-/VOUT)</span> IN+<br />
|4=VS-<br />
|5=NC<br />
|6=OUT<br />
|7=VS+<br />
|8=CE#<br />
}}<br />
</small><br />
<br />
'''Microchip 24LC02BI (both) pinout''':<br />
<small><br />
{{chip_8pin<br />
|1=<span style="color:orange">(Low, but not GND)</span> A0<br />
|2=<span style="color:orange">(GND)</span> A1<br />
|3=<span style="color:orange">(GND)</span> A2<br />
|4=VSS<br />
|5=SDA <span style="color:purple">(FX2 SDA)</span><br />
|6=SCL <span style="color:purple">(FX2 SCL)</span><br />
|7=WP <span style="color:orange">(GND)</span> <br />
|8=VCC<br />
}}<br />
</small><br />
<br />
'''Analog Devices ADS9288 pinout''':<br />
{| border="0" style="font-size: smaller" class="alternategrey sortable sigroktable"<br />
|-<br />
!AD9288 pins<br />
!Description<br />
<br />
|-<br />
| S1, S2<br />
| S1 depends on FX2 PA7 (see below), S2 is tied to GND.<br />
|-<br />
| DFS<br />
| Tied to GND. Data format select = "offset binary" (not "twos complement").<br />
|-<br />
| A<sub>IN</sub>A, A<sub>IN</sub>B<br />
| Analog input channels.<br />
<br />
|}<br />
<br />
'''Cypress FX2 pinout''':<br />
{| border="0" style="font-size: smaller" class="alternategrey sortable sigroktable"<br />
|-<br />
!FX2&nbsp;pins<br />
!Description<br />
<br />
|-<br />
| CTL0<br />
| Connected to AD9288 ENC<sub>A</sub> and ENC<sub>B</sub> and FX2 IFCLK.<br />
|-<br />
| PB0-PB7<br />
| Connected to AD9288 D0<sub>A</sub>-D7<sub>A</sub> and SN74LVC16245A 1A1-1A8.<br />
|-<br />
| PD0-PD7<br />
| Connected to AD9288 D0<sub>B</sub>-D7<sub>B</sub> and SN74LVC16245A 2A1-2A8.<br />
|-<br />
| PA7<br />
| Connected to the SN74LVC16245A's 1OE# and 2OE# pins (both 8bit groups share the signal) as well as 1DIR and 2DIR. Also connected to the ADC's S1 pin (via two discrete inverters with R37, Q2, R13, Q1).<br />
<br />
This means PA7 selects between digital (low) and analog (high) data paths, data is always at FX2 ports PB and PD, and either carries 16 digital channels, or two eight bit analog channels.<br />
<br />
The benefit of "variable DIR" in the SN74LVC16245A is questionable, since it shares the signal with OE# and for high levels the output is high-Z anyway -- so the ADC output is ''not'' routed to digital pins when PA7 is high, not tying DIR to a fixed level is pointless(?)<br />
<br />
{| border="0" style="font-size: smaller" class="alternategrey sortable sigroktable"<br />
|-<br />
!PA7<br />
!Description<br />
|-<br />
| 1 || Selects scope mode. The ADC's S1 pin is high, which means "Normal operation, data align disabled". The SN74LVC16245A's OE# pins are high ("don't enable output", DIR state is irrelevant).<br />
|-<br />
| 0 || Selects LA mode. The ADC's S1 pin is low, which means "Standby both channels A and B". The SN74LVC16245A's OE# pins are low ("output enable") and the DIR pins are low ("B data to A bus", i.e. data direction is from LA connector to FX2).<br />
|}<br />
<br />
|-<br />
| PC2<br />
| 1kHz probe calibration pin.<br />
|-<br />
| PC0/PC1<br />
| Dual-color (red/green) LED.<br />
<br />
{| border="0" style="font-size: smaller" class="alternategrey sortable sigroktable"<br />
|-<br />
!PC1<br />
!PC0<br />
!LED<br />
|-<br />
| 0 || 0 || ?<br />
|-<br />
| 0 || 1 || green<br />
|-<br />
| 1 || 0 || red<br />
|-<br />
| 1 || 1 || off<br />
|}<br />
<br />
|}<br />
<br />
== Photos ==<br />
<br />
<gallery><br />
File:Hantek 6022bl box.jpg|<small></small><br />
File:Hantek 6022bl accessories.jpg|<small></small><br />
File:Hantek 6022bl probes.jpg|<small></small><br />
File:Hantek 6022bl 20 1 attenuator ht-201 top.jpg|<small></small><br />
File:Hantek 6022bl 20 1 attenuator ht-201 bottom.jpg|<small></small><br />
File:Hantek 6022bl device top.jpg|<small></small><br />
File:Hantek 6022bl device bottom.jpg|<small></small><br />
File:Hantek 6022bl device connectors.jpg|<small></small><br />
File:Hantek 6022bl device usb.jpg|<small></small><br />
File:Hantek 6022bl pcb top.jpg|<small></small><br />
File:Hantek 6022bl pcb bottom.jpg|<small></small><br />
File:Hantek 6022bl pcb silkscreen.jpg|<small></small><br />
File:Hantek 6022bl input stage.jpg|<small></small><br />
File:Hantek 6022bl la input stage.jpg|<small></small><br />
File:Hantek 6022bl cypress fx2lp.jpg|<small></small><br />
File:Hantek 6022bl microchip 24lc02bi button.jpg|<small></small><br />
File:Hantek 6022bl microchip 24lc02bi.jpg|<small></small><br />
File:Hantek 6022bl ams1117.jpg|<small></small><br />
File:Hantek 6022bl ti lvc16245a.jpg|<small></small><br />
File:Hantek 6022bl s1661sz b212fg.jpg|<small></small><br />
File:Hantek 6022bl mornsun a0505s-2wr2.jpg|<small></small><br />
</gallery><br />
<br />
== Protocol ==<br />
<br />
See [[Hantek 6022BE#Protocol]].<br />
<br />
When the "H/P" button is '''not''' pressed, the device can be used as 8-channel 24MHz logic analyzer via [[fx2lafw]] out of the box (using the fx2lafw protocol).<br />
<br />
== Firmware ==<br />
<br />
See [[Hantek 6022BE#Firmware]].<br />
<br />
== Resources ==<br />
<br />
* [http://1drv.ms/1gWOsUF Vendor software and manuals]<br />
* [http://geek-mag.com/posts/255290/ geek-mag.com: The overview of an USB oscillograph Hantek DSO-6022BL with the logical analyzer and gikporny]<br />
<br />
[[Category:Device]]<br />
[[Category:Oscilloscope]]<br />
[[Category:Logic analyzer]]<br />
[[Category:Supported]]</div>
Abraxa
https://sigrok.org/w/index.php?title=Hantek_6022BL&diff=15347
Hantek 6022BL
2020-08-04T06:58:57Z
<p>Abraxa: Analog mode is supported, too</p>
<hr />
<div>{{Infobox oscilloscope<br />
| image = [[File:Hantek 6022be mugshot.png|180px]]<br />
| name = Hantek 6022BL<br />
| status = supported<br />
| source_code_dir = hantek-6xxx<br />
| channels = 2<br />
| samplerate = 48MHz<br />
| samplerate_equiv = <br />
| bandwidth = 20MHz<br />
| vertical_resolution = 8bit<br />
| triggers = none (SW-only)<br />
| input_impedance = 1MΩ‖25pF<br />
| memory = none<br />
| display = none<br />
| connectivity = USB<br />
| features = <br />
| price = $73<br />
| website = [http://www.hantek.com/en/ProductDetail_2_153.html hantek.com]<br />
}}<br />
<br />
The '''Hantek 6022BL''' is a USB-based, 2-channel oscilloscope with an analog bandwidth of 20MS/s and 48MS/s sampling rate, and an 8-/16-channel logic analyzer with 24MHz sampling rate.<br />
<br />
The device can either be used as oscilloscope '''or''' as logic analyzer, but not both at the same time. I.e., it is '''not''' a mixed-signal-oscilloscope (MSO).<br />
<br />
See [[Hantek 6022BL/Info]] for more details (such as '''lsusb -v''' output) about the device.<br />
<br />
== Hardware ==<br />
<br />
* '''USB''': [http://www.cypress.com/documentation/datasheets/cy7c68013a-cy7c68014a-cy7c68015a-cy7c68016a-ez-usb-fx2lp-usb Cypress CY7C68013A-100AXC] (FX2LP) ([http://www.cypress.com/file/138911/download datasheet])<br />
* '''256-byte I²C EEPROM''': 2x [http://www.microchip.com/wwwproducts/en/24LC02B Microchip 24LC02BI] ([http://ww1.microchip.com/downloads/en/DeviceDoc/21709J.pdf datasheet])<br />
* '''16-Bit bus transceiver with 3-state outputs''': [http://www.ti.com/product/sn74lvc16245a TI SN74LVC16245A] ([http://www.ti.com/lit/ds/symlink/sn74lvc16245a.pdf datasheet])<br />
* '''8-channel analog mux/demux''': 2x [http://www.nxp.com/products/discretes-and-logic/logic/8-channel-analog-multiplexer-demultiplexer:74HC4051D NXP 74HC4051D] ([http://cache.nxp.com/documents/data_sheet/74HC_HCT4051.pdf?pspll=1 datasheet])<br />
* '''1A low-dropout voltage regulator (3.3V):''' [http://www.advanced-monolithic.com/products/voltreg.html#1117 Advanced Monolithic Systems AMS1117-3.3] [http://www.advanced-monolithic.com/pdf/ds1117.pdf datasheet])<br />
* '''2W, fixed input, isolated & unregulated dual/single output DC/DC converter''': [http://www.mornsun.cn/html/product/content/A_S-2WR2.html Mornsun A_S-2WR2 (A0505S-2WR2)] ([http://www.mornsun.cn/uploads/pdf/A_S-2WR2.pdf datasheet])<br />
* '''ADC''': (educated guess, IC covered by glued-on heatsink)<br />
** '''8-bit, 40/80/100MHz, dual ADC''': [http://www.analog.com/en/products/analog-to-digital-converters/ad-converters/ad9288.html Analog Devices AD9288] ([http://www.analog.com/media/en/technical-documentation/data-sheets/AD9288.pdf datasheet]), or<br />
** '''8-bit, 100MHz, dual ADC''': [https://translate.google.com/translate?hl=en&sl=zh-CN&tl=en&u=http%3A%2F%2Fwww.mxtronics.com%2Fn107%2Fn124%2Fn181%2Fn184%2Fc692%2Fcontent.html MXTronix MXT2088] ([http://www.mxtronics.com/n107/n124/n181/n184/c692/attr/2630.pdf datasheet])<br />
* '''1.4GHz current feedback amplifiers with enable''': 2x [http://www.intersil.com/en/products/amplifiers-and-buffers/all-amplifiers/amplifiers/EL5166.html Intersil EL5166] ([http://www.intersil.com/content/dam/Intersil/documents/el51/el5166-67.pdf datasheet])<br />
* '''145 MHz FastFET Opamps''': 2x [http://www.analog.com/en/products/amplifiers/operational-amplifiers/jfet-input-amplifiers/ad8065.html#product-overview AD8065]: ([http://www.analog.com/static/imported-files/data_sheets/AD8065_8066.pdf datasheet]), markings "HRA"<br />
* '''Crystal''': 24MHz<br />
* '''Probes''': 2x PP80B 1X/10X 80MHz bandwidth oscilloscope probes<br />
* '''Attenuator''': Hantek HT-201 20:1 attenuator (10MHz bandwidth, 1.053M input resistance)<br />
<br />
The device has a "H/P" button. Depending on whether or not it's pressed it comes up with different USB VID/PIDs:<br />
* '''Pressed''': [[Hantek_6022BL/Info|04b4:602a Cypress Semiconductor Corp.]] (used for oscilloscope mode)<br />
* '''Not pressed''': [[Hantek_6022BL/Info|0925:3881 Lakeview Research Saleae Logic]] ([[Saleae Logic]] VID/PID, so [[fx2lafw]] works out of the box)<br />
<br />
'''NXP 74HC4051D (upper/lower, CH1/CH2) pinout''':<br />
<small><br />
<table><tr><td><br />
{{chip_16pin<br />
|1=Y4<br />
|2=<span style="color:orange">(GND)</span> Y6<br />
|3=<span style="color:red">(upper EL5166, IN-)</span> Z<br />
|4=<span style="color:orange">(GND)</span> Y7<br />
|5=<span style="color:orange">(GND)</span> Y5<br />
|6=<span style="color:orange">(GND)</span> E#<br />
|7=VEE<br />
|8=GND<br />
|9=S2 <span style="color:green">(FX2 PA3)</span><br />
|10=S1 <span style="color:green">(FX2 PA2)</span><br />
|11=S0 <span style="color:green">(FX2 PA1)</span><br />
|12=Y3<br />
|13=Y0<br />
|14=Y1<br />
|15=Y2<br />
|16=VCC<br />
}}<br />
</td><td><br />
{{chip_16pin<br />
|1=<span style="color:orange">(GND)</span> Y4<br />
|2=<span style="color:orange">(GND)</span> Y6<br />
|3=<span style="color:red">(lower EL5166, IN-)</span> Z<br />
|4=<span style="color:orange">(GND)</span> Y7<br />
|5=<span style="color:orange">(GND)</span> Y5<br />
|6=<span style="color:orange">(GND)</span> E#<br />
|7=VEE<br />
|8=GND<br />
|9=S2 <span style="color:darkcyan">(FX2 PA6)</span><br />
|10=S1 <span style="color:darkcyan">(FX2 PA5)</span><br />
|11=S0 <span style="color:darkcyan">(FX2 PA4)</span><br />
|12=Y3<br />
|13=Y0<br />
|14=Y1<br />
|15=Y2<br />
|16=VCC<br />
}}<br />
</td></tr></table><br />
</small><br />
<br />
{| border="0" style="font-size: smaller" class="alternategrey sortable sigroktable"<br />
|-<br />
!S2<br />
!S1<br />
!S0<br />
!74HC4051D Mux<br />
!VDIVs (vendor software)<br />
|-<br />
| 0 || 0 || 0 || Y0 to Z || 200mV<br />
|-<br />
| 0 || 0 || 1 || Y1 to Z || 500mV<br />
|-<br />
| 0 || 1 || 0 || Y2 to Z || 5V, 2V, 1V<br />
|-<br />
| 0 || 1 || 1 || Y3 to Z || 100mV, 50mV, 20mV<br />
|}<br />
<br />
'''Intersil EL5166 (both) pinout''':<br />
<small><br />
{{chip_8pin<br />
|1=NC<br />
|2=<span style="color:red">(upper/lower 74HC4051D, Z)</span> IN-<br />
|3=<span style="color:blue">(AD8065, IN-/VOUT)</span> IN+<br />
|4=VS-<br />
|5=NC<br />
|6=OUT<br />
|7=VS+<br />
|8=CE#<br />
}}<br />
</small><br />
<br />
'''Microchip 24LC02BI (both) pinout''':<br />
<small><br />
{{chip_8pin<br />
|1=<span style="color:orange">(Low, but not GND)</span> A0<br />
|2=<span style="color:orange">(GND)</span> A1<br />
|3=<span style="color:orange">(GND)</span> A2<br />
|4=VSS<br />
|5=SDA <span style="color:purple">(FX2 SDA)</span><br />
|6=SCL <span style="color:purple">(FX2 SCL)</span><br />
|7=WP <span style="color:orange">(GND)</span> <br />
|8=VCC<br />
}}<br />
</small><br />
<br />
'''Analog Devices ADS9288 pinout''':<br />
{| border="0" style="font-size: smaller" class="alternategrey sortable sigroktable"<br />
|-<br />
!AD9288 pins<br />
!Description<br />
<br />
|-<br />
| S1, S2<br />
| S1 depends on FX2 PA7 (see below), S2 is tied to GND.<br />
|-<br />
| DFS<br />
| Tied to GND. Data format select = "offset binary" (not "twos complement").<br />
|-<br />
| A<sub>IN</sub>A, A<sub>IN</sub>B<br />
| Analog input channels.<br />
<br />
|}<br />
<br />
'''Cypress FX2 pinout''':<br />
{| border="0" style="font-size: smaller" class="alternategrey sortable sigroktable"<br />
|-<br />
!FX2&nbsp;pins<br />
!Description<br />
<br />
|-<br />
| CTL0<br />
| Connected to AD9288 ENC<sub>A</sub> and ENC<sub>B</sub> and FX2 IFCLK.<br />
|-<br />
| PB0-PB7<br />
| Connected to AD9288 D0<sub>A</sub>-D7<sub>A</sub> and SN74LVC16245A 1A1-1A8.<br />
|-<br />
| PD0-PD7<br />
| Connected to AD9288 D0<sub>B</sub>-D7<sub>B</sub> and SN74LVC16245A 2A1-2A8.<br />
|-<br />
| PA7<br />
| Connected to the SN74LVC16245A's 1OE# and 2OE# pins (both 8bit groups share the signal) as well as 1DIR and 2DIR. Also connected to the ADC's S1 pin (via two discrete inverters with R37, Q2, R13, Q1).<br />
<br />
This means PA7 selects between digital (low) and analog (high) data paths, data is always at FX2 ports PB and PD, and either carries 16 digital channels, or two eight bit analog channels.<br />
<br />
The benefit of "variable DIR" in the SN74LVC16245A is questionable, since it shares the signal with OE# and for high levels the output is high-Z anyway -- so the ADC output is ''not'' routed to digital pins when PA7 is high, not tying DIR to a fixed level is pointless(?)<br />
<br />
{| border="0" style="font-size: smaller" class="alternategrey sortable sigroktable"<br />
|-<br />
!PA7<br />
!Description<br />
|-<br />
| 1 || Selects scope mode. The ADC's S1 pin is high, which means "Normal operation, data align disabled". The SN74LVC16245A's OE# pins are high ("don't enable output", DIR state is irrelevant).<br />
|-<br />
| 0 || Selects LA mode. The ADC's S1 pin is low, which means "Standby both channels A and B". The SN74LVC16245A's OE# pins are low ("output enable") and the DIR pins are low ("B data to A bus", i.e. data direction is from LA connector to FX2).<br />
|}<br />
<br />
|-<br />
| PC2<br />
| 1kHz probe calibration pin.<br />
|-<br />
| PC0/PC1<br />
| Dual-color (red/green) LED.<br />
<br />
{| border="0" style="font-size: smaller" class="alternategrey sortable sigroktable"<br />
|-<br />
!PC1<br />
!PC0<br />
!LED<br />
|-<br />
| 0 || 0 || ?<br />
|-<br />
| 0 || 1 || green<br />
|-<br />
| 1 || 0 || red<br />
|-<br />
| 1 || 1 || off<br />
|}<br />
<br />
|}<br />
<br />
== Photos ==<br />
<br />
<gallery><br />
File:Hantek 6022bl box.jpg|<small></small><br />
File:Hantek 6022bl accessories.jpg|<small></small><br />
File:Hantek 6022bl probes.jpg|<small></small><br />
File:Hantek 6022bl 20 1 attenuator ht-201 top.jpg|<small></small><br />
File:Hantek 6022bl 20 1 attenuator ht-201 bottom.jpg|<small></small><br />
File:Hantek 6022bl device top.jpg|<small></small><br />
File:Hantek 6022bl device bottom.jpg|<small></small><br />
File:Hantek 6022bl device connectors.jpg|<small></small><br />
File:Hantek 6022bl device usb.jpg|<small></small><br />
File:Hantek 6022bl pcb top.jpg|<small></small><br />
File:Hantek 6022bl pcb bottom.jpg|<small></small><br />
File:Hantek 6022bl pcb silkscreen.jpg|<small></small><br />
File:Hantek 6022bl input stage.jpg|<small></small><br />
File:Hantek 6022bl la input stage.jpg|<small></small><br />
File:Hantek 6022bl cypress fx2lp.jpg|<small></small><br />
File:Hantek 6022bl microchip 24lc02bi button.jpg|<small></small><br />
File:Hantek 6022bl microchip 24lc02bi.jpg|<small></small><br />
File:Hantek 6022bl ams1117.jpg|<small></small><br />
File:Hantek 6022bl ti lvc16245a.jpg|<small></small><br />
File:Hantek 6022bl s1661sz b212fg.jpg|<small></small><br />
File:Hantek 6022bl mornsun a0505s-2wr2.jpg|<small></small><br />
</gallery><br />
<br />
== Protocol ==<br />
<br />
See [[Hantek 6022BE#Protocol]].<br />
<br />
When the "H/P" button is '''not''' pressed, the device can be used as 8-channel 24MHz logic analyzer via [[fx2lafw]] out of the box (using the fx2lafw protocol).<br />
<br />
== Firmware ==<br />
<br />
See [[Hantek 6022BE#Firmware]].<br />
<br />
== Resources ==<br />
<br />
* [http://1drv.ms/1gWOsUF Vendor software and manuals]<br />
* [http://geek-mag.com/posts/255290/ geek-mag.com: The overview of an USB oscillograph Hantek DSO-6022BL with the logical analyzer and gikporny]<br />
<br />
[[Category:Device]]<br />
[[Category:Oscilloscope]]<br />
[[Category:Logic analyzer]]<br />
[[Category:Supported]]</div>
Abraxa
https://sigrok.org/w/index.php?title=Protocol_decoders&diff=15344
Protocol decoders
2020-08-01T19:06:22Z
<p>Abraxa: Add LFAST and SIPI (aka Zipwire/HSSL)</p>
<hr />
<div>This is a list of '''supported protocol decoders (PDs)''' and '''decoders which we might want to write in the future''' (or users might want to contribute).<br />
<br />
See [[Protocol decoder API]] for details on how the decoders work in sigrok, and [[Protocol decoder HOWTO]] for a quick introduction about how to write your own decoders.<br />
<br />
== Supported protocol decoders ==<br />
<br />
<!-- Generated via sigrok-cli --list-supported-wiki. --><br />
<br />
Number of currently supported protocol decoders: '''128'''.<br />
<br />
{| border="0" style="font-size: smaller" class="alternategrey sortable sigroktable"<br />
|-<br />
!Protocol<br />
!Tags<br />
!Input IDs<br />
!Output IDs<br />
!Status<br />
!Full name<br />
!Description<br />
<br />
{{pd|ac97|AC '97|Audio Codec '97|Audio and modem control for PC systems.|Audio, PC|logic|&mdash;|supported}}<br />
{{pd|ad5626|AD5626|Analog Devices AD5626|Analog Devices AD5626 12-bit nanoDAC.|IC, Analog/digital|spi|&mdash;|supported}}<br />
{{pd|ad79x0|AD79x0|Analog Devices AD79x0|Analog Devices AD7910/AD7920 12-bit ADC.|IC, Analog/digital|spi|&mdash;|supported}}<br />
{{pd|ade77xx|ADE77xx|Analog Devices ADE77xx|Poly phase multifunction energy metering IC protocol.|Analog/digital, IC, Sensor|spi|&mdash;|supported}}<br />
{{pd|adf435x|ADF435x|Analog Devices ADF4350/1|Wideband synthesizer with integrated VCO.|Clock/timing, IC, Wireless/RF|spi|&mdash;|supported}}<br />
{{pd|adns5020|ADNS-5020|Avago ADNS-5020|Bidirectional optical mouse sensor protocol.|IC, PC, Sensor|spi|&mdash;|supported}}<br />
{{pd|adxl345|ADXL345|Analog Devices ADXL345|Analog Devices ADXL345 3-axis accelerometer.|IC, Sensor|spi|&mdash;|supported}}<br />
{{pd|am230x|AM230x|Aosong AM230x/DHTxx/RHTxx|Aosong AM230x/DHTxx/RHTxx humidity/temperature sensor.|IC, Sensor|logic|&mdash;|supported}}<br />
{{pd|amulet_ascii|Amulet ASCII|Amulet LCD ASCII|Amulet Technologies LCD controller ASCII protocol.|Display|uart|&mdash;|supported}}<br />
{{pd|arm_etmv3|ARM ETMv3|ARM Embedded Trace Macroblock v3|ARM ETM v3 instruction trace protocol.|Debug/trace|uart|&mdash;|supported}}<br />
{{pd|arm_itm|ARM ITM|ARM Instrumentation Trace Macroblock|ARM Cortex-M / ARMv7m ITM trace protocol.|Debug/trace|uart|&mdash;|supported}}<br />
{{pd|arm_tpiu|ARM TPIU|ARM Trace Port Interface Unit|Filter TPIU formatted trace data into separate streams.|Debug/trace|uart|uart|supported}}<br />
{{pd|atsha204a|ATSHA204A|Microchip ATSHA204A|Microchip ATSHA204A family crypto authentication protocol.|Security/crypto, IC, Memory|i2c|&mdash;|supported}}<br />
{{pd|aud|AUD|Advanced User Debugger|Renesas/Hitachi Advanced User Debugger (AUD) protocol.|Debug/trace|logic|&mdash;|supported}}<br />
{{pd|avr_isp|AVR ISP|AVR In-System Programming|Atmel AVR In-System Programming (ISP) protocol.|Debug/trace|spi|&mdash;|supported}}<br />
{{pd|avr_pdi|AVR PDI|Atmel Program and Debug Interface|Atmel ATxmega Program and Debug Interface (PDI) protocol.|Debug/trace|logic|&mdash;|supported}}<br />
{{pd|caliper|Caliper|Digital calipers|Protocol of cheap generic digital calipers.|Analog/digital, Sensor|logic|&mdash;|supported}}<br />
{{pd|can|CAN|Controller Area Network|Field bus protocol for distributed realtime control.|Automotive|logic|&mdash;|supported}}<br />
{{pd|cc1101|CC1101|Texas Instruments CC1101|Low-power sub-1GHz RF transceiver chip.|IC, Wireless/RF|spi|&mdash;|supported}}<br />
{{pd|cec|CEC|HDMI-CEC|HDMI Consumer Electronics Control (CEC) protocol.|Display, PC|logic|&mdash;|supported}}<br />
{{pd|cfp|CFP|100 Gigabit C form-factor pluggable|100 Gigabit C form-factor pluggable (CFP) protocol.|Networking|mdio|&mdash;|supported}}<br />
{{pd|cjtag|cJTAG|Compact Joint Test Action Group (IEEE 1149.7)|Protocol for testing, debugging, and flashing ICs.|Debug/trace|logic|jtag|supported}}<br />
{{pd|counter|Counter|Edge counter|Count the number of edges in a signal.|Util|logic|&mdash;|supported}}<br />
{{pd|dali|DALI|Digital Addressable Lighting Interface|Digital Addressable Lighting Interface (DALI) protocol.|Embedded/industrial, Lighting|logic|&mdash;|supported}}<br />
{{pd|dcf77|DCF77|DCF77 time protocol|European longwave time signal (77.5kHz carrier signal).|Clock/timing|logic|&mdash;|supported}}<br />
{{pd|dmx512|DMX512|Digital MultipleX 512|Digital MultipleX 512 (DMX512) lighting protocol.|Embedded/industrial, Lighting|uart|dmx512|supported}}<br />
{{pd|ds1307|DS1307|Dallas DS1307|Dallas DS1307 realtime clock module protocol.|Clock/timing, IC|i2c|&mdash;|supported}}<br />
{{pd|ds2408|DS2408|Maxim DS2408|1-Wire 8-channel addressable switch.|Embedded/industrial, IC|onewire_network|&mdash;|supported}}<br />
{{pd|ds243x|DS243x|Maxim DS2432/3|Maxim DS243x series 1-Wire EEPROM protocol.|IC, Memory|onewire_network|&mdash;|supported}}<br />
{{pd|ds28ea00|DS28EA00|Maxim DS28EA00 1-Wire digital thermometer|1-Wire digital thermometer with Sequence Detect and PIO.|IC, Sensor|onewire_network|&mdash;|supported}}<br />
{{pd|dsi|DSI|Digital Serial Interface|Digital Serial Interface (DSI) lighting protocol.|Embedded/industrial, Lighting|logic|&mdash;|supported}}<br />
{{pd|edid|EDID|Extended Display Identification Data|Data structure describing display device capabilities.|Display, Memory, PC|i2c|&mdash;|supported}}<br />
{{pd|eeprom24xx|24xx EEPROM|24xx I²C EEPROM|24xx series I²C EEPROM protocol.|IC, Memory|i2c|&mdash;|supported}}<br />
{{pd|eeprom93xx|93xx EEPROM|93xx Microwire EEPROM|93xx series Microwire EEPROM protocol.|IC, Memory|microwire|&mdash;|supported}}<br />
{{pd|em4100|EM4100|RFID EM4100|EM4100 100-150kHz RFID protocol.|IC, RFID|logic|&mdash;|supported}}<br />
{{pd|em4305|EM4305|RFID EM4205/EM4305|EM4205/EM4305 100-150kHz RFID protocol.|IC, RFID|logic|&mdash;|supported}}<br />
{{pd|enc28j60|ENC28J60|Microchip ENC28J60|Microchip ENC28J60 10Base-T Ethernet controller protocol.|Embedded/industrial, Networking|spi|&mdash;|supported}}<br />
{{pd|flexray|FlexRay|FlexRay|Automotive network communications protocol.|Automotive|logic|&mdash;|supported}}<br />
{{pd|graycode|Gray code|Gray code and rotary encoder|Accumulate rotary encoder increments, provide statistics.|Encoding|logic|&mdash;|supported}}<br />
{{pd|guess_bitrate|Guess bitrate|Guess bitrate/baudrate|Guess the bitrate/baudrate of a UART (or other) protocol.|Clock/timing, Util|logic|&mdash;|supported}}<br />
{{pd|hdcp|HDCP|HDCP over HDMI|HDCP protocol over HDMI.|PC, Security/crypto|i2c|hdcp|supported}}<br />
{{pd|i2c|I²C|Inter-Integrated Circuit|Two-wire, multi-master, serial bus.|Embedded/industrial|logic|i2c|supported}}<br />
{{pd|i2cdemux|I²C demux|I²C demultiplexer|Demux I²C packets into per-slave-address streams.|Util|i2c|&mdash;|supported}}<br />
{{pd|i2cfilter|I²C filter|I²C filter|Filter out addresses/directions in an I²C stream.|Util|i2c|i2c|supported}}<br />
{{pd|i2s|I²S|Integrated Interchip Sound|Serial bus for connecting digital audio devices.|Audio, PC|logic|i2s|supported}}<br />
{{pd|ieee488|IEEE-488|IEEE-488 GPIB/HPIB/IEC|IEEE-488 General Purpose Interface Bus (GPIB/HPIB or IEC).|PC, Retro computing|logic|ieee488|supported}}<br />
{{pd|ir_irmp|IR IRMP|IR IRMP|IRMP infrared remote control multi protocol.|IR|logic|&mdash;|supported}}<br />
{{pd|ir_nec|IR NEC|IR NEC|NEC infrared remote control protocol.|IR|logic|&mdash;|supported}}<br />
{{pd|ir_rc5|IR RC-5|IR RC-5|RC-5 infrared remote control protocol.|IR|logic|&mdash;|supported}}<br />
{{pd|ir_rc6|IR RC-6|IR RC-6|RC-6 infrared remote control protocol.|IR|logic|&mdash;|supported}}<br />
{{pd|ir_sirc|IR SIRC|Sony IR (SIRC)|Sony infrared remote control protocol (SIRC).|IR|logic|&mdash;|supported}}<br />
{{pd|jitter|Jitter|Timing jitter calculation|Retrieves the timing jitter between two digital signals.|Clock/timing, Util|logic|&mdash;|supported}}<br />
{{pd|jtag|JTAG|Joint Test Action Group (IEEE 1149.1)|Protocol for testing, debugging, and flashing ICs.|Debug/trace|logic|jtag|supported}}<br />
{{pd|jtag_ejtag|JTAG / EJTAG|Joint Test Action Group / EJTAG (MIPS)|MIPS EJTAG protocol.|Debug/trace|jtag|&mdash;|supported}}<br />
{{pd|jtag_stm32|JTAG / STM32|Joint Test Action Group / ST STM32|ST STM32-specific JTAG protocol.|Debug/trace|jtag|&mdash;|supported}}<br />
{{pd|lfast|LFAST|NXP LFAST interface|Differential high-speed P2P interface|Embedded/industrial|logic|lfast|supported}}<br />
{{pd|lin|LIN|Local Interconnect Network|Local Interconnect Network (LIN) protocol.|Automotive|uart|&mdash;|supported}}<br />
{{pd|lm75|LM75|National LM75|National LM75 (and compatibles) temperature sensor.|Sensor|i2c|&mdash;|supported}}<br />
{{pd|lpc|LPC|Low Pin Count|Protocol for low-bandwidth devices on PC mainboards.|PC|logic|&mdash;|supported}}<br />
{{pd|ltc242x|LTC242x|Linear Technology LTC242x|Linear Technology LTC2421/LTC2422 1-/2-channel 20-bit ADC.|IC, Analog/digital|spi|&mdash;|supported}}<br />
{{pd|ltc26x7|LTC26x7|Linear Technology LTC26x7|Linear Technology LTC26x7 16-/14-/12-bit rail-to-rail DACs.|IC, Analog/digital|i2c|&mdash;|supported}}<br />
{{pd|maple_bus|Maple bus|SEGA Maple bus|Maple bus peripheral protocol for SEGA Dreamcast.|Retro computing|logic|&mdash;|supported}}<br />
{{pd|max7219|MAX7219|Maxim MAX7219/MAX7221|Maxim MAX72xx series 8-digit LED display driver.|Display|spi|&mdash;|supported}}<br />
{{pd|mcs48|MCS-48|Intel MCS-48|Intel MCS-48 external memory access protocol.|Retro computing|logic|&mdash;|supported}}<br />
{{pd|mdio|MDIO|Management Data Input/Output|MII management bus between MAC and PHY.|Networking|logic|mdio|supported}}<br />
{{pd|microwire|Microwire|Microwire|3-wire, half-duplex, synchronous serial bus.|Embedded/industrial|logic|microwire|supported}}<br />
{{pd|midi|MIDI|Musical Instrument Digital Interface|Musical Instrument Digital Interface (MIDI) protocol.|Audio, PC|uart|&mdash;|supported}}<br />
{{pd|mil-std-1553|MIL-STD-1553|MIL-STD-1553 avionic data bus.|MIL-STD-1553 avionic data bus protocol.|Embedded/industrial, Networking|logic|&mdash;|soon}}<br />
{{pd|miller|Miller|Miller encoding|Miller encoding protocol.|Encoding|logic|&mdash;|supported}}<br />
{{pd|mlx90614|MLX90614|Melexis MLX90614|Melexis MLX90614 infrared thermometer protocol.|IC, Sensor|i2c|&mdash;|supported}}<br />
{{pd|modbus|Modbus|Modbus RTU over RS232/RS485|Modbus RTU protocol for industrial applications.|Embedded/industrial|uart|modbus|supported}}<br />
{{pd|morse|Morse|Morse code|Demodulated morse code protocol.|Encoding|logic|&mdash;|supported}}<br />
{{pd|mrf24j40|MRF24J40|Microchip MRF24J40|IEEE 802.15.4 2.4 GHz RF tranceiver chip.|IC, Wireless/RF|spi|&mdash;|supported}}<br />
{{pd|mxc6225xu|MXC6225XU|MEMSIC MXC6225XU|Digital Thermal Orientation Sensor (DTOS) protocol.|IC, Sensor|i2c|&mdash;|supported}}<br />
{{pd|nes_gamepad|NES gamepad|Nintendo Entertainment System gamepad|NES gamepad button states.|Retro computing|spi|&mdash;|supported}}<br />
{{pd|nrf24l01|nRF24L01(+)|Nordic Semiconductor nRF24L01(+)|2.4GHz RF transceiver chip.|IC, Wireless/RF|spi|&mdash;|supported}}<br />
{{pd|nrf905|nRF905|Nordic Semiconductor nRF905|433/868/933MHz transceiver chip.|IC, Wireless/RF|spi|&mdash;|supported}}<br />
{{pd|numbers_and_state|Numbers and State|Interpret bit patters as numbers or state enums|Interpret bit patterns as different kinds of numbers (integer, float, enum).|Encoding, Util|logic|numbers_and_state|supported}}<br />
{{pd|nunchuk|Nunchuk|Nintendo Wii Nunchuk|Nintendo Wii Nunchuk controller protocol.|Sensor|i2c|&mdash;|supported}}<br />
{{pd|onewire_link|1-Wire link layer|1-Wire serial communication bus (link layer)|Bidirectional, half-duplex, asynchronous serial bus.|Embedded/industrial|logic|onewire_link|supported}}<br />
{{pd|onewire_network|1-Wire network layer|1-Wire serial communication bus (network layer)|Bidirectional, half-duplex, asynchronous serial bus.|Embedded/industrial|onewire_link|onewire_network|supported}}<br />
{{pd|ook|OOK|On-off keying|On-off keying protocol.|Encoding|logic|ook|supported}}<br />
{{pd|ook_oregon|Oregon|Oregon Scientific|Oregon Scientific weather sensor protocol.|Sensor|ook|&mdash;|supported}}<br />
{{pd|ook_vis|OOK visualisation|On-off keying visualisation|OOK visualisation in various formats.|Encoding|ook|ook|supported}}<br />
{{pd|pan1321|PAN1321|Panasonic PAN1321|Bluetooth RF module with Serial Port Profile (SPP).|Wireless/RF|uart|&mdash;|supported}}<br />
{{pd|parallel|Parallel|Parallel sync bus|Generic parallel synchronous bus.|Util|logic|parallel|supported}}<br />
{{pd|pca9571|PCA9571|NXP PCA9571|NXP PCA9571 8-bit I²C output expander.|Embedded/industrial, IC|i2c|&mdash;|supported}}<br />
{{pd|pjdl|PJDL|Padded Jittering Data Link|PJDL, a single wire serial link layer for PJON.|Embedded/industrial|logic|pjon_link|supported}}<br />
{{pd|pjon|PJON|PJON|The PJON protocol.|Embedded/industrial|pjon_link|&mdash;|supported}}<br />
{{pd|ps2|PS/2|PS/2|PS/2 keyboard/mouse interface.|PC|logic|&mdash;|supported}}<br />
{{pd|pwm|PWM|Pulse-width modulation|Analog level encoded in duty cycle percentage.|Encoding|logic|&mdash;|supported}}<br />
{{pd|qi|Qi|Qi charger protocol|Protocol used by Qi receiver.|Embedded/industrial, Wireless/RF|logic|&mdash;|supported}}<br />
{{pd|rc_encode|RC encode|Remote control encoder|PT2262/HX2262/SC5262 remote control encoder protocol.|IC, IR|logic|&mdash;|supported}}<br />
{{pd|rfm12|RFM12|HopeRF RFM12|HopeRF RFM12 wireless transceiver control protocol.|Wireless/RF|spi|&mdash;|supported}}<br />
{{pd|rgb_led_spi|RGB LED (SPI)|RGB LED string decoder (SPI)|RGB LED string protocol (RGB values clocked over SPI).|Display|spi|&mdash;|supported}}<br />
{{pd|rgb_led_ws281x|RGB LED (WS281x)|RGB LED string decoder (WS281x)|RGB LED string protocol (WS281x).|Display, IC|logic|&mdash;|supported}}<br />
{{pd|rtc8564|RTC-8564|Epson RTC-8564 JE/NB|Realtime clock module protocol.|Clock/timing|i2c|&mdash;|supported}}<br />
{{pd|sae_j1850_vpw|SAE J1850 VPW|SAE J1850 VPW.|SAE J1850 Variable Pulse Width 1x and 4x.|Automotive|logic|&mdash;|supported}}<br />
{{pd|sda2506|SDA2506|Siemens SDA 2506-5|Serial nonvolatile 1-Kbit EEPROM.|IC, Memory|logic|&mdash;|supported}}<br />
{{pd|sdcard_sd|SD card (SD mode)|Secure Digital card (SD mode)|Secure Digital card (SD mode) low-level protocol.|Memory|logic|&mdash;|supported}}<br />
{{pd|sdcard_spi|SD card (SPI mode)|Secure Digital card (SPI mode)|Secure Digital card (SPI mode) low-level protocol.|Memory|spi|&mdash;|supported}}<br />
{{pd|seven_segment|7-segment|7-segment display|7-segment display protocol.|Display|logic|&mdash;|supported}}<br />
{{pd|signature|Signature|Signature analysis|Annotate signature of logic patterns.|Debug/trace, Util, Encoding|logic|&mdash;|supported}}<br />
{{pd|sipi|SIPI (Zipwire)|NXP SIPI interface|Serial Inter-Processor Interface (SIPI) aka Zipwire, aka HSSL|Embedded/industrial|lfast|none|supported}}<br />
{{pd|spdif|S/PDIF|Sony/Philips Digital Interface Format|Serial bus for connecting digital audio devices.|Audio, PC|logic|&mdash;|supported}}<br />
{{pd|spi|SPI|Serial Peripheral Interface|Full-duplex, synchronous, serial bus.|Embedded/industrial|logic|spi|supported}}<br />
{{pd|spiflash|SPI flash/EEPROM|SPI flash/EEPROM chips|xx25 series SPI (NOR) flash/EEPROM chip protocol.|IC, Memory|spi|&mdash;|supported}}<br />
{{pd|ssi32|SSI32|Synchronous Serial Interface (32bit)|Synchronous Serial Interface (32bit) protocol.|Embedded/industrial|spi|&mdash;|supported}}<br />
{{pd|st25r39xx|ST25R39xx|STMicroelectronics ST25R39xx|High performance NFC universal device and EMVCo reader protocol.|IC, Wireless/RF|spi|&mdash;|supported}}<br />
{{pd|st7735|ST7735|Sitronix ST7735|Sitronix ST7735 TFT controller protocol.|Display, IC|logic|&mdash;|supported}}<br />
{{pd|stepper_motor|Stepper motor|Stepper motor position / speed|Absolute position and movement speed from step/dir.|Embedded/industrial|logic|&mdash;|supported}}<br />
{{pd|swd|SWD|Serial Wire Debug|Two-wire protocol for debug access to ARM CPUs.|Debug/trace|logic|swd|supported}}<br />
{{pd|swim|SWIM|STM8 SWIM bus|STM8 Single Wire Interface Module (SWIM) protocol.|Debug/trace|logic|&mdash;|supported}}<br />
{{pd|t55xx|T55xx|RFID T55xx|T55xx 100-150kHz RFID protocol.|IC, RFID|logic|&mdash;|supported}}<br />
{{pd|tca6408a|TI TCA6408A|Texas Instruments TCA6408A|Texas Instruments TCA6408A 8-bit I²C I/O expander.|Embedded/industrial, IC|i2c|&mdash;|supported}}<br />
{{pd|tdm_audio|TDM audio|Time division multiplex audio|TDM multi-channel audio protocol.|Audio|logic|&mdash;|supported}}<br />
{{pd|timing|Timing|Timing calculation with frequency and averaging|Calculate time between edges.|Clock/timing, Util|logic|&mdash;|supported}}<br />
{{pd|tlc5620|TI TLC5620|Texas Instruments TLC5620|Texas Instruments TLC5620 8-bit quad DAC.|IC, Analog/digital|logic|&mdash;|supported}}<br />
{{pd|uart|UART|Universal Asynchronous Receiver/Transmitter|Asynchronous, serial bus.|Embedded/industrial|logic|uart|supported}}<br />
{{pd|usb_packet|USB packet|Universal Serial Bus (LS/FS) packet|USB (low-speed and full-speed) packet protocol.|PC|usb_signalling|usb_packet|supported}}<br />
{{pd|usb_power_delivery|USB PD|USB Power Delivery|USB Power Delivery protocol.|PC|logic|usb_pd|supported}}<br />
{{pd|usb_request|USB request|Universal Serial Bus (LS/FS) transaction/request|USB (low-speed/full-speed) transaction/request protocol.|PC|usb_packet|usb_request|supported}}<br />
{{pd|usb_signalling|USB signalling|Universal Serial Bus (LS/FS) signalling|USB (low-speed/full-speed) signalling protocol.|PC|logic|usb_signalling|supported}}<br />
{{pd|wiegand|Wiegand|Wiegand interface|Wiegand interface for electronic entry systems.|Embedded/industrial, RFID|logic|&mdash;|supported}}<br />
{{pd|x2444m|X2444M/P|Xicor X2444M/P|Xicor X2444M/P nonvolatile static RAM protocol.|IC, Memory|spi|&mdash;|supported}}<br />
{{pd|xfp|XFP|10 Gigabit Small Form Factor Pluggable Module (XFP)|XFP I²C management interface structures/protocol|Networking|i2c|&mdash;|supported}}<br />
{{pd|xy2-100|XY2-100|XY2-100 and XY2-200 interface|XY2-100 protocol used for laser applications.|Embedded/industrial|logic|&mdash;|supported}}<br />
{{pd|z80|Z80|Zilog Z80 CPU|Zilog Z80 microprocessor disassembly.|Retro computing|logic|&mdash;|supported}}<br />
<br />
|}<br />
<br />
== Possible candidates for future protocol decoders ==<br />
<br />
{| border="0" style="font-size: smaller" class="alternategrey sortable sigroktable"<br />
|-<br />
!Protocol<br />
!Category<br />
!Input ID(s)<br />
!Output ID(s)<br />
!Status<br />
!Description<br />
!Comments<br />
<br />
|-<br />
| SA8807A<br />
| Displays<br />
| spi<br />
|<br />
| bgcolor="red" | 0%<br />
| SPI-attached LCD. Datasheet: [http://pdf1.alldatasheet.com/datasheet-pdf/view/36922/SAMES/SA8807A.html Sames SA8807A].<br />
|<br />
<br />
|-<br />
| EA eDIPTFT43-A<br />
| Displays<br />
| i2c<br />
|<br />
| bgcolor="red" | 0%<br />
| I2C-attached LCD. Datasheet: [http://www.lcd-module.de/pdf/grafik/ediptft43-a.pdf EA eDIPTFT43-A].<br />
|<br />
<br />
|-<br />
| Analog Devices AD7291<br />
| ADC<br />
| i2c<br />
|<br />
| bgcolor="red" | 0%<br />
| I2C-attached ADC. Datasheet: [http://pdf1.alldatasheet.com/datasheet-pdf/view/318172/AD/AD7291.html Analog Devices AD7291].<br />
|<br />
<br />
|-<br />
| Analog Devices ADS1258<br />
| ADC<br />
| spi<br />
| ads1258<br />
| bgcolor="orange" | 0%<br />
| SPI-attached ADC.<br />
| Planned (Uwe Hermann).<br />
<br />
|-<br />
| Microchip MCP3901<br />
| ADC<br />
| spi<br />
| mcp3901<br />
| bgcolor="orange" | 0%<br />
| Can be controlled via a parallel protocol, or SPI, or I2C.<br />
| Planned (Uwe Hermann).<br />
<br />
|-<br />
| JTAG / TMPA9xx<br />
| Flash/debug<br />
| jtag<br />
| jtag_tmpa9xx<br />
| bgcolor="red" | 0%<br />
| Toshiba TMPA9xx specific JTAG protocol details.<br />
| <br />
<br />
|-<br />
| USB transfer<br />
| USB<br />
| usb_request<br />
| usb_transfer<br />
| bgcolor="red" | 0%<br />
| <br />
| <br />
<br />
|-<br />
| USB / HID<br />
| USB<br />
| usb_transfer<br />
| usb_hid<br />
| bgcolor="red" | 0%<br />
| <br />
| <br />
<br />
|-<br />
| USB / CDC<br />
| USB<br />
| usb_transfer<br />
| usb_cdc<br />
| bgcolor="red" | 0%<br />
| <br />
| <br />
<br />
|-<br />
| USB / USBTMC<br />
| USB<br />
| usb_transfer<br />
| usb_usbtmc<br />
| bgcolor="red" | 0%<br />
| <br />
| <br />
<br />
|-<br />
| Dallas DS1985<br />
| Other<br />
| onewire_network<br />
| <br />
| bgcolor="orange" | 0%<br />
| Dallas DS1985 iButton (1-Wire) device.<br />
| Planned (Uwe Hermann).<br />
<br />
|-<br />
| UNI/O<br />
| Embedded<br />
| &mdash;<br />
|<br />
| bgcolor="red" | 0%<br />
|<br />
|<br />
<br />
|-<br />
| [https://en.wikipedia.org/wiki/Synchronous_Serial_Interface SSI]<br />
| Embedded<br />
| &mdash;<br />
|<br />
| bgcolor="red" | 0%<br />
| Synchronous Serial Interface<br />
|<br />
<br />
|-<br />
| CompactFlash<br />
| Memory<br />
| &mdash;<br />
| <br />
| bgcolor="red" | 0%<br />
| <br />
| <br />
<br />
|-<br />
| MMC<br />
| Memory<br />
| &mdash;<br />
| <br />
| bgcolor="red" | 0%<br />
| <br />
| <br />
<br />
|-<br />
| Memory Stick<br />
| Memory<br />
| &mdash;<br />
| <br />
| bgcolor="red" | 0%<br />
| <br />
| <br />
<br />
|-<br />
| SmartMedia<br />
| Memory<br />
| &mdash;<br />
| <br />
| bgcolor="red" | 0%<br />
| <br />
| <br />
<br />
|-<br />
| xD-Picture Card<br />
| Memory<br />
| &mdash;<br />
| <br />
| bgcolor="red" | 0%<br />
| <br />
| <br />
<br />
|-<br />
| [https://en.wikipedia.org/wiki/ISO/IEC_7816 ISO 7816]<br />
| Smartcards<br />
| &mdash;<br />
| <br />
| bgcolor="red" | 0%<br />
| <br />
| <br />
<br />
|-<br />
| AVR TPI<br />
| Flash/debug<br />
| &mdash;<br />
|<br />
| bgcolor="red" | 0%<br />
| Atmel Tiny Programming Interface (TPI) protocol.<br />
|<br />
<br />
|-<br />
| FWH<br />
| PC<br />
| &mdash;<br />
|<br />
| bgcolor="red" | 0%<br />
|<br />
|<br />
<br />
|-<br />
| ISA<br />
| PC<br />
| &mdash;<br />
|<br />
| bgcolor="red" | 0%<br />
|<br />
|<br />
<br />
|-<br />
| PCI<br />
| PC<br />
| &mdash;<br />
|<br />
| bgcolor="red" | 0%<br />
|<br />
|<br />
<br />
|-<br />
| SMBus<br />
| PC<br />
| &mdash;<br />
|<br />
| bgcolor="red" | 0%<br />
|<br />
|<br />
<br />
|-<br />
| IDE<br />
| PC<br />
| &mdash;<br />
|<br />
| bgcolor="red" | 0%<br />
|<br />
|<br />
<br />
|-<br />
| SCSI<br />
| PC<br />
| &mdash;<br />
|<br />
| bgcolor="red" | 0%<br />
|<br />
|<br />
<br />
|-<br />
| [https://en.wikipedia.org/wiki/Platform_Environment_Control_Interface PECI]<br />
| PC<br />
| &mdash;<br />
|<br />
| bgcolor="red" | 0%<br />
| Platform Environment Control Interface<br />
|<br />
<br />
|-<br />
| [https://en.wikipedia.org/wiki/SVID SVID]<br />
| PC<br />
| &mdash;<br />
|<br />
| bgcolor="red" | 0%<br />
| Serial Voltage Identification<br />
|<br />
<br />
|-<br />
| [[Protocol_decoder:mfm|MFM]]<br />
| PC<br />
| &mdash;<br />
|<br />
| bgcolor="yellow" | 90%<br />
| Floppy disk FM and [https://en.wikipedia.org/wiki/Modified_Frequency_Modulation MFM].<br />
| Work in progress (David Wiens).<br />
<br />
|-<br />
| HD Audio<br />
| Audio<br />
| &mdash;<br />
|<br />
| bgcolor="red" | 0%<br />
|<br />
|<br />
<br />
|-<br />
| Nokia NRC17<br />
| IR<br />
| &mdash;<br />
|<br />
| bgcolor="red" | 0%<br />
|<br />
|<br />
<br />
|-<br />
| Sony SIRC<br />
| IR<br />
| &mdash;<br />
|<br />
| bgcolor="red" | 0%<br />
|<br />
|<br />
<br />
|-<br />
| Philips RC-MM<br />
| IR<br />
| &mdash;<br />
|<br />
| bgcolor="red" | 0%<br />
|<br />
|<br />
<br />
|-<br />
| Philips RECS80<br />
| IR<br />
| &mdash;<br />
|<br />
| bgcolor="red" | 0%<br />
|<br />
|<br />
<br />
|-<br />
| [http://en.wikipedia.org/wiki/Infrared_Data_Association IrDA]<br />
| Misc<br />
| &mdash;<br />
|<br />
| bgcolor="red" | 0%<br />
|<br />
|<br />
<br />
|-<br />
| HD44780<br />
| Displays<br />
| &mdash;<br />
|<br />
| bgcolor="red" | 0%<br />
| [http://en.wikipedia.org/wiki/HD44780_Character_LCD HD44780 character LCD] protocol<br />
|<br />
<br />
|-<br />
| [[Protocol_decoder:Pcf8814|PCF8814]]<br />
| Displays<br />
| &mdash;<br />
| pcf8814<br />
| bgcolor="yellow" | 50%<br />
| Philips PCF8814 65 x 96 pixels matrix LCD driver<br />
| Work in progress (Uwe Hermann).<br />
<br />
|-<br />
| [[Protocol_decoder:Pcf8814_lcd|PCF8814 LCD]]<br />
| Displays<br />
| pcf8814<br />
| pcf8814_lcd<br />
| bgcolor="yellow" | 50%<br />
| Philips PCF8814 65 x 96 pixels matrix LCD driver<br />
| Work in progress (Uwe Hermann).<br />
<br />
|-<br />
| [https://en.wikipedia.org/wiki/RDM_%28lighting%29 RDM]<br />
| Industrial Lighting<br />
| &mdash;<br />
| rdm<br />
| bgcolor="red" | 0%<br />
|<br />
| <br />
<br />
|-<br />
| [https://en.wikipedia.org/wiki/NMEA_0183 NMEA 0183]<br />
| GPS<br />
| uart<br />
| nmea0183<br />
| bgcolor="red" | 0%<br />
|<br />
|<br />
<br />
|-<br />
| [[Protocol_decoder:Nmea2000|NMEA2000]]<br />
| Marine<br />
| can<br />
| nmea2000<br />
| bgcolor="red" | 0%<br />
| [https://en.wikipedia.org/wiki/NMEA_2000 NMEA 2000 Wikipedia page]<br />
|<br />
<br />
|-<br />
| [https://en.wikipedia.org/wiki/Digital_Command_Control DCC]<br />
| Trains<br />
| &mdash;<br />
| dcc<br />
| bgcolor="red" | 0%<br />
|<br />
|<br />
<br />
|-<br />
| [https://en.wikipedia.org/wiki/Train_Communication_Network MVB]<br />
| Trains<br />
| &mdash;<br />
| mvb<br />
| bgcolor="red" | 0%<br />
| Multifunction Vehicle Bus<br />
|<br />
<br />
|-<br />
| [https://en.wikipedia.org/wiki/Train_Communication_Network WTB]<br />
| Trains<br />
| &mdash;<br />
| wtb<br />
| bgcolor="red" | 0%<br />
| Wire Train Bus<br />
|<br />
<br />
|-<br />
| [https://en.wikipedia.org/wiki/C-Bus_%28protocol%29 C-Bus]<br />
| Home automation<br />
| &mdash;<br />
| cbus<br />
| bgcolor="red" | 0%<br />
|<br />
|<br />
<br />
|-<br />
| [https://en.wikipedia.org/wiki/X10_%28industry_standard%29 X10]<br />
| Home automation<br />
| &mdash;<br />
| x10<br />
| bgcolor="red" | 0%<br />
|<br />
|<br />
<br />
|-<br />
| [https://en.wikipedia.org/wiki/LonWorks LonWorks]<br />
| Home automation<br />
| &mdash;<br />
| lonworks<br />
| bgcolor="red" | 0%<br />
|<br />
|<br />
<br />
|-<br />
| [https://en.wikipedia.org/wiki/S-Bus S-Bus]<br />
| Home automation<br />
| &mdash;<br />
| sbus<br />
| bgcolor="red" | 0%<br />
|<br />
|<br />
<br />
|-<br />
| [https://en.wikipedia.org/wiki/Meter-Bus M-Bus]<br />
| Automation<br />
| &mdash;<br />
| mbus<br />
| bgcolor="red" | 0%<br />
|<br />
|<br />
<br />
|-<br />
| [https://en.wikipedia.org/wiki/Modbus Modbus ASCII]<br />
| Automation<br />
| uart<br />
| modbus<br />
| bgcolor="red" | 0%<br />
|<br />
|<br />
<br />
|-<br />
| [https://en.wikipedia.org/wiki/Modbus Modbus TCP]<br />
| Automation<br />
| ip<br />
| modbus<br />
| bgcolor="red" | 0%<br />
|<br />
|<br />
<br />
|-<br />
| [https://en.wikipedia.org/wiki/Highway_Addressable_Remote_Transducer_Protocol HART protocol]<br />
| Automation<br />
| &mdash;<br />
| hart<br />
| bgcolor="red" | 0%<br />
|<br />
|<br />
<br />
|-<br />
| [https://en.wikipedia.org/wiki/INTERBUS INTERBUS]<br />
| Automation<br />
| &mdash;<br />
| interbus<br />
| bgcolor="red" | 0%<br />
|<br />
|<br />
<br />
|-<br />
| [https://en.wikipedia.org/wiki/DirectNET_Protocol DirectNET]<br />
| Automation<br />
| uart<br />
| directnet<br />
| bgcolor="red" | 0%<br />
|<br />
|<br />
<br />
|-<br />
| [https://en.wikipedia.org/wiki/KNX_%28standard%29 KNX]<br />
| Automation<br />
| various<br />
| knx<br />
| bgcolor="red" | 0%<br />
|<br />
|<br />
<br />
|-<br />
| [https://en.wikipedia.org/wiki/Bacnet BACnet]<br />
| Automation<br />
| <br />
| bacnet<br />
| bgcolor="red" | 0%<br />
|<br />
|<br />
<br />
|-<br />
| [https://en.wikipedia.org/wiki/OpenTherm OpenTherm]<br />
| Automation<br />
| &mdash;<br />
| opentherm<br />
| bgcolor="red" | 0%<br />
|<br />
|<br />
<br />
|-<br />
| [https://en.wikipedia.org/wiki/EBUS_%28serial_buses%29 EBUS]<br />
| Automation<br />
| uart<br />
| ebus<br />
| bgcolor="red" | 0%<br />
|<br />
|<br />
<br />
|-<br />
| [https://en.wikipedia.org/wiki/Attachment_Unit_Interface AUI]<br />
| Networking<br />
| &mdash;<br />
| aui<br />
| bgcolor="red" | 0%<br />
| Attachment Unit Interface<br />
|<br />
<br />
|-<br />
| [https://en.wikipedia.org/wiki/Medium_Dependent_Interface MDI]<br />
| Networking<br />
| &mdash;<br />
| mdi<br />
| bgcolor="red" | 0%<br />
| Medium Dependent Interface<br />
|<br />
<br />
|-<br />
| [https://en.wikipedia.org/wiki/Media_Independent_Interface MII]<br />
| Networking<br />
| &mdash;<br />
| mii<br />
| bgcolor="red" | 0%<br />
| Media Independent Interface<br />
|<br />
<br />
|-<br />
| [https://en.wikipedia.org/wiki/Gigabit_Media_Independent_Interface#Gigabit_Media_Independent_Interface GMII]<br />
| Networking<br />
| &mdash;<br />
| gmii<br />
| bgcolor="red" | 0%<br />
| Gigabit Media Independent Interface<br />
|<br />
<br />
|-<br />
| [https://en.wikipedia.org/wiki/10_Gigabit_Media_Independent_Interface#10_Gigabit_Media_Independent_Interface XGMII]<br />
| Networking<br />
| &mdash;<br />
| xgmii<br />
| bgcolor="red" | 0%<br />
| 10 Gigabit Media Independent Interface<br />
|<br />
<br />
|-<br />
| [[Protocol_decoder:esp8266|ESP8266]]<br />
| Wireless<br />
| uart<br />
| esp8266<br />
| bgcolor="red" | 0%<br />
| WiFi Serial Transceiver<br />
|<br />
<br />
|-<br />
| [[Protocol Decoder:tmds|TMDS (HDMI / DVI Pixel Data)]]<br />
| Display<br />
| tmds<br />
| &mdash;<br />
| bgcolor="orange" | 1%<br />
| https://github.com/mithro/tmds_encoding<br />
| Work in progress ([[User:Mithro|mithro]])<br />
<br />
|-<br />
| [[Protocol Decoder:Easymatic|Easymatic]]<br />
| Home automation<br />
| uart<br />
| easymatic<br />
| bgcolor="red" | 10%<br />
| <br />
| Work in progress (Platypus)<br />
<br />
|-<br />
| [[Protocol Decoder:DDC/CI|DDC/CI]]<br />
| PC<br />
| i2c<br />
| &mdash;<br />
| bgcolor="red" | 0%<br />
| <br />
|<br />
<br />
|-<br />
| Kenwood VH<br />
| Misc<br />
| &mdash;<br />
| &mdash;<br />
| bgcolor="yellow" | 50%<br />
| SYSTEM CONTROL protocol used by Kenwood's VH HiFi-system<br />
| In progress: https://github.com/kripton/libsigrokdecode/compare/kenwood_vh<br />
<br />
|-<br />
| IEC 61131-9<br />
| Industrial<br />
| &mdash;<br />
| &mdash;<br />
| bgcolor="red" | 0%<br />
| "Single-drop digital communication interface for small sensors and actuators (SDCI, marketed as IO-Link)" https://en.wikipedia.org/wiki/IEC_61131<br />
| <br />
<br />
|-<br />
| NRZ encoding family<br />
| &mdash;<br />
| &mdash;<br />
| &mdash;<br />
| bgcolor="red" | 0%<br />
| Non-Return-to-Zero and its [https://en.wikipedia.org/wiki/Non-return-to-zero#Variants variants]<br />
| whoever wants it<br />
<br />
|-<br />
| Manchester encoding<br />
| &mdash;<br />
| &mdash;<br />
| &mdash;<br />
| bgcolor="red" | 0%<br />
| [https://en.wikipedia.org/wiki/Manchester_code Manchester code]<br />
| whoever wants it<br />
<br />
|-<br />
| Sony LANC<br />
| &mdash;<br />
| &mdash;<br />
| &mdash;<br />
| bgcolor="red" | 0%<br />
| [http://www.boehmel.de/lanc.htm Sony LANC]<br />
| whoever wants it, contact [[User:Alexdaniel|AlexDaniel]] for more info. You can already decode the raw data by using UART with 9600 baud and no parity, but it'd be better if pulseview displayed the meaning (as in what these commands do)<br />
<br />
|-<br />
| CCD (Chrysler's Collision Detection)<br />
| &mdash;<br />
| &mdash;<br />
| &mdash;<br />
| bgcolor="green" | 99%<br />
| CCD (Chrysler's Collision Detection) is internal bus used on Chrysler cars produced about 1990-2000.<br />
| It works, but decodes only subset of all possible CCD messages, mostly from Jeep ZJ '98. Need a little work to improve performance and better support of API 3. [https://github.com/majekw/sigrok-ccd-pd https://github.com/majekw/sigrok-ccd-pd]<br />
<br />
|}<br />
<br />
__FORCETOC__</div>
Abraxa
https://sigrok.org/w/index.php?title=Protocol_decoder_HOWTO&diff=15343
Protocol decoder HOWTO
2020-07-31T06:33:19Z
<p>Abraxa: /* annotations & annotation_rows */</p>
<hr />
<div>This page serves as a quick-start guide for people who want to write their own [[libsigrokdecode]] protocol decoders ([[Protocol decoders|PDs]]).<br />
<br />
It is '''not''' intended to replace the [[Protocol decoder API]] page, but rather to give a short overview/tutorial and some tips.<br />
<br />
== Introduction ==<br />
<br />
Protocol decoders are written entirely in Python (>= 3.0).<br />
<br />
== Files ==<br />
<br />
Every protocol decoder is a Python module and has its own subdirectory in libsigrokdecode's '''[http://sigrok.org/gitweb/?p=libsigrokdecode.git;a=tree;f=decoders decoders]''' directory.<br />
<br />
This is a minimalistic example of how a protocol decoder looks like, in this case the '''[[Protocol_decoder:I2c|i2c]]''' decoder (license header, comments, and some other parts omitted).<br />
<br />
'''Note''': Do not start new protocol decoders by copying code from here. Instead, it's recommended to select an already existing decoder in the source code which is similar to the one you plan to write, and copy that as a starting point.<br />
<br />
=== __init__.py ===<br />
<br />
<small><br />
<source lang="python"><br />
'''<br />
I²C (Inter-Integrated Circuit) is a bidirectional, multi-master<br />
bus using two signals (SCL = serial clock line, SDA = serial data line).<br />
<br />
<Insert notes and hints for the user here><br />
'''<br />
<br />
from .pd import Decoder<br />
</source><br />
</small><br />
<br />
This is a standard Python file, required in every Python module. It contains a module-level docstring, which is accessible by frontends via the [http://sigrok.org/api/libsigrokdecode/unstable/index.html libsigrokdecode API]. It should contain a (very) short description of what the protocol (in this case [[Protocol_decoder:I2c|I²C]]) is about, and some notes and hints for the user of this protocol decoder (which can be shown in GUIs when the user selects/browses different PDs).<br />
<br />
This docstring should '''not''' contain the full, extensive protocol description. Instead, the per-PD wiki page should be used for protocol description, photos of devices or photos of example acquisition setups, and so on. Each decoder has one unique wiki page at the URL '''<nowiki>http://sigrok.org/wiki/Protocol_decoder:<pd></nowiki>''', where '''<pd>''' is the Python module name of the decoder ('''i2c''' in this case). Some examples for such per-PD wiki pages: [[Protocol_decoder:Uart|UART]], [[Protocol_decoder:Pan1321|PAN1321]], [[Protocol_decoder:Mx25lxx05d|MX25Lxx05D]], [[Protocol_decoder:Dcf77|DCF77]].<br />
<br />
The "'''from .pd import Decoder'''" line will make sure the code from '''pd.py''' gets properly imported when this module is used.<br />
<br />
=== pd.py ===<br />
<br />
<small><br />
<source lang="python"><br />
import sigrokdecode as srd<br />
<br />
class Decoder(srd.Decoder):<br />
api_version = 2<br />
id = 'i2c'<br />
name = 'I²C'<br />
longname = 'Inter-Integrated Circuit'<br />
desc = 'Two-wire, multi-master, serial bus.'<br />
license = 'gplv2+'<br />
inputs = ['logic']<br />
outputs = ['i2c']<br />
channels = (<br />
{'id': 'scl', 'name': 'SCL', 'desc': 'Serial clock line'},<br />
{'id': 'sda', 'name': 'SDA', 'desc': 'Serial data line'},<br />
)<br />
optional_channels = ()<br />
options = (<br />
{'id': 'address_format', 'desc': 'Displayed slave address format',<br />
'default': 'shifted', 'values': ('shifted', 'unshifted')},<br />
)<br />
annotations = (<br />
('start', 'Start condition'),<br />
('repeat-start', 'Repeat start condition'),<br />
('stop', 'Stop condition'),<br />
('ack', 'ACK'),<br />
('nack', 'NACK'),<br />
('bit', 'Data/address bit'),<br />
('address-read', 'Address read'),<br />
('address-write', 'Address write'),<br />
('data-read', 'Data read'),<br />
('data-write', 'Data write'),<br />
('warnings', 'Human-readable warnings'),<br />
)<br />
annotation_rows = (<br />
('bits', 'Bits', (5,)),<br />
('addr-data', 'Address/Data', (0, 1, 2, 3, 4, 6, 7, 8, 9)),<br />
('warnings', 'Warnings', (10,)),<br />
)<br />
<br />
def __init__(self, **kwargs):<br />
self.state = 'FIND START'<br />
# And various other variable initializations...<br />
<br />
def metadata(self, key, value):<br />
if key == srd.SRD_CONF_SAMPLERATE:<br />
self.samplerate = value<br />
<br />
def start(self):<br />
self.out_ann = self.register(srd.OUTPUT_ANN)<br />
<br />
def decode(self, ss, es, data):<br />
for self.samplenum, (scl, sda) in data:<br />
# Decode the samples.<br />
</source><br />
</small><br />
<br />
The recommended name for the actual decoder file is '''pd.py'''. This file contains some meta information about the decoder, and the actual code itself, mostly in the '''decode()''' method.<br />
<br />
If needed, large unwieldy lists or similar things can also be factored out into another *.py file (examples: [http://sigrok.org/gitweb/?p=libsigrokdecode.git;a=tree;f=decoders/midi midi], [http://sigrok.org/gitweb/?p=libsigrokdecode.git;a=tree;f=decoders/z80 z80]).<br />
<br />
== Copyright and license ==<br />
<br />
Every protocol decoder '''must''' come with source code in the form of '''*.py''' files. No pre-compiled code should be present, Python or otherwise. The PD must not use any helpers that are not provided as source code under the same license as the PD itself.<br />
<br />
The '''<tt>Decoder</tt>''' class must have a license declaration (see above), stating the license under which all the contents in the decoder's directory are provided. This is usually <tt>'gplv2+'</tt> or <tt>'gplv3+'</tt>, whichever you prefer. In either case, the decoder license must be compatible with the [[libsigrokdecode]] license (which is "GPL, version 3 or later").<br />
<br />
== <tt>channels</tt> & <tt>optional_channels</tt> ==<br />
<br />
The following excerpt from the [[Protocol_decoder:spi|SPI]] PD shows how to use '''<tt>channels</tt>''' and '''<tt>optional_channels</tt>'''. To decode SPI, the clock signal is always needed, the chip-select signal is optional and only used when provided. To give the user the flexibility to provide only one of the MOSI/MISO signals, they are both also defined as optional:<br />
<br />
<small><br />
<source lang="python"><br />
class Decoder(srd.Decoder):<br />
...<br />
id = 'spi'<br />
...<br />
channels = (<br />
{'id': 'clk', 'name': 'CLK', 'desc': 'Clock'},<br />
)<br />
optional_channels = (<br />
{'id': 'miso', 'name': 'MISO', 'desc': 'Master in, slave out'},<br />
{'id': 'mosi', 'name': 'MOSI', 'desc': 'Master out, slave in'},<br />
{'id': 'cs', 'name': 'CS#', 'desc': 'Chip-select'},<br />
)<br />
</source><br />
</small><br />
<br />
'''<tt>data</tt>''', the argument of the decoder's [[Protocol decoder API#decode-function|'''<tt>decode()</tt>''']] function that contains the data to decode, is a list of tuples. These tuples contain the (absolute) number of the sample and the data at that sample. To process all samples, the SPI decoder loops over '''<tt>data</tt>''' like this:<br />
<br />
<small><br />
<source lang="python"><br />
def decode(self, ss, es, data):<br />
...<br />
for (self.samplenum, pins) in data:<br />
</source><br />
</small><br />
<br />
'''<tt>channels</tt>''' and '''<tt>optional_channels</tt>''' contain in total four channels, therefore the second member of the tuple is an object of Python's [https://docs.python.org/3/library/stdtypes.html#typebytes '''<tt>bytes</tt>'''] class containing 4 bytes, one for each channel. The decoder unpacks the bytes into the variables '''<tt>clk</tt>''', '''<tt>miso</tt>''', '''<tt>mosi</tt>''', and '''<tt>cs</tt>''' as shown below.<br />
<br />
Then, it checks for the optional channels, if their value is either 0 or 1. If it is not, that optional channel is not provided to the decoder. In the case that neither of them is supplied, an exception is raised:<br />
<br />
<small><br />
<source lang="python"><br />
(clk, miso, mosi, cs) = pins<br />
self.have_miso = (miso in (0, 1))<br />
self.have_mosi = (mosi in (0, 1))<br />
self.have_cs = (cs in (0, 1))<br />
<br />
# Either MISO or MOSI (but not both) can be omitted.<br />
if not (self.have_miso or self.have_mosi):<br />
raise ChannelError('Either MISO or MOSI (or both) pins required.')<br />
</source><br />
</small><br />
<br />
== <tt>annotations</tt> & <tt>annotation_rows</tt> ==<br />
<br />
To make the relation between the '''<tt>annotations</tt>''' and the '''<tt>annotation_rows</tt>''' members of a decoder object more clear, take a look at how the [[Protocol_decoder:Ir_nec|ir_nec]] PD uses them:<br />
<br />
<small><br />
<source lang="python"><br />
class Decoder(srd.Decoder):<br />
...<br />
id = 'ir_nec'<br />
...<br />
annotations = ( # Implicitly assigned annotation type ID<br />
('bit', 'Bit'), # 0<br />
('agc-pulse', 'AGC pulse'), # 1<br />
('longpause', 'Long pause'), # 2<br />
('shortpause', 'Short pause'), # 3<br />
('stop-bit', 'Stop bit'), # 4<br />
('leader-code', 'Leader code'), # 5<br />
('addr', 'Address'), # 6<br />
('addr-inv', 'Address#'), # 7<br />
('cmd', 'Command'), # 8<br />
('cmd-inv', 'Command#'), # 9<br />
('repeat-code', 'Repeat code'), # 10<br />
('remote', 'Remote'), # 11<br />
('warnings', 'Warnings'), # 12<br />
)<br />
annotation_rows = (<br />
('bits', 'Bits', (0, 1, 2, 3, 4)),<br />
('fields', 'Fields', (5, 6, 7, 8, 9, 10)),<br />
('remote', 'Remote', (11,)),<br />
('warnings', 'Warnings', (12,)),<br />
)<br />
</source><br />
</small><br />
<br />
It groups the first five annotation types together into the '''<tt>bits</tt>''' row and the next six into the '''<tt>fields</tt>''' row. The rows '''<tt>remote</tt>''' and '''<tt>warnings</tt>''' both only contain one annotation type.<br />
<br />
Without '''<tt>annotation_rows</tt>''', [[PulseView]] would have to put each annotation type in its own row (which is unhandy if the decoder has many annotations) or it would have to put them all on the same row (which would result in unreadable output due to overlaps). But because of the '''<tt>annotation_rows</tt>''', the output of the [[Protocol_decoder:Ir_nec|ir_nec]] decoder is grouped together as shown in the following picture (note how different annotation types, distinguishable by their different colors, share the same row):<br />
<br />
[[File:Pv example ir nec cropped.png]]<br />
<br />
<br />
<br />
However, as you can imagine, handling numeric IDs is quite bothersome - especially if they change and all affected IDs have to be changed throughout the PD. To avoid this, you can use a pseudo-enum:<br />
<br />
<small><br />
<source lang="python"><br />
ann_bit, ann_agc_pulse, ann_long_pause, ann_short_pause, ann_stop_bit, ann_leader_code, ann_addr, ann_addr_inv, ann_cmd, ann_cmd_inv, ann_repeat_code, ann_remote, ann_warning = range(13)<br />
<br />
class Decoder(srd.Decoder):<br />
...<br />
id = 'ir_nec'<br />
...<br />
annotations = ( # Implicitly assigned annotation type ID<br />
('bit', 'Bit'), # 0 = ann_bit<br />
('agc-pulse', 'AGC pulse'), # 1 = ann_agc_pulse<br />
('longpause', 'Long pause'), # 2 = ann_long_pause<br />
('shortpause', 'Short pause'), # 3 = ann_short_pause<br />
('stop-bit', 'Stop bit'), # 4 = ann_stop_bit<br />
('leader-code', 'Leader code'), # 5 = ann_leader_code<br />
('addr', 'Address'), # 6 = ann_addr<br />
('addr-inv', 'Address#'), # 7 = ann_addr_inv<br />
('cmd', 'Command'), # 8 = ann_cmd<br />
('cmd-inv', 'Command#'), # 9 = ann_cmd_inv<br />
('repeat-code', 'Repeat code'), # 10 = ann_repeat_code<br />
('remote', 'Remote'), # 11 = ann_remote<br />
('warnings', 'Warnings'), # 12 = ann_warning<br />
)<br />
annotation_rows = (<br />
('bits', 'Bits', (ann_bit, ann_agc_pulse, ann_long_pause, ann_short_pause, ann_stop_bit)),<br />
('fields', 'Fields', (ann_leader_code, ann_addr, ann_addr_inv, ann_cmd, ann_cmd_inv, ann_repeat_code)),<br />
('remote', 'Remote', (ann_remote,)),<br />
('warnings', 'Warnings', (ann_warning,)),<br />
)<br />
</source><br />
</small><br />
<br />
This way, all you need to ensure is that the order of the enum entries is the same as in the annotations array and you're set. There is one downside, though, as always: pseudo-enums are pitifully slow in python, so if you use them and you use them in a lot of places, your protocol decoder may be significantly slower (up to 4x has been observed), so choose wisely. You can use the PD test facility to compare, using e.g. 'time ./pdtest -r $YOUR_PD'<br />
<br />
== Random notes, tips and tricks ==<br />
<br />
* You should usually only use '''raise''' in a protocol decoder to raise exceptions in cases which are a clear bug in how the protocol decoder is invoked (e.g. if no samplerate was provided for a PD which needs the samplerate, or if some of the required channels were not provided by the user, and so on).<br />
* Use the has_channel() method to check whether an optional channel has been provided or not.<br />
* A simple and fast way to calculate a parity (i.e., count the number of 1 bits) over a number (0x55 in this example) is:<source lang="python"><br />
ones = bin(0x55).count('1')<br />
</source><br />
* A simple function to convert a BCD number (max. 8 bits) to an integer is:<source lang="python"><br />
def bcd2int(b):<br />
return (b & 0x0f) + ((b >> 4) * 10)<br />
</source><br />
* An elegant way to convert a sequence of bus pins to a numeric value:<source lang="python"><br />
from functools import reduce<br />
<br />
def reduce_bus(bus):<br />
if 0xFF in bus:<br />
return None # unassigned bus channels<br />
else:<br />
return reduce(lambda a, b: (a << 1) | b, reversed(bus))<br />
</source><br />
* A nice way to construct method names according to e.g. protocol commands is (assuming '''cmd''' is 8, this would call the function '''self.handle_cmd_0x08'''):<source lang="python"><br />
fn = getattr(self, 'handle_cmd_0x%02x' % cmd);<br />
fn(arg1, arg2, ...)<br />
</source><br />
* A cheap way to deal with Python's lack of enumerations (useful for states, pin indices, annotation indices, etc.):<source lang="python"><br />
class Cycle:<br />
NONE, MEMRD, MEMWR, IORD, IOWR, FETCH, INTACK = range(7)<br />
</source>Please be aware, though, that using this mechanism may slow down your decoder significantly. It may make sense to perform some basic profiling to see if this affects you, e.g. using "time ./pdtest -r $YOUR_PD".<br />
* <div id="SIGROKDECODE_DIR"></div>You don't need to reinstall the whole [[libsigrokdecode]] project every time you make a change on your decoder. Instead, you can use the environment variable '''<tt>SIGROKDECODE_DIR</tt>''' to point the software to your development directory:<br /><source lang="bash">$ SIGROKDECODE_DIR=/path/to/libsigrokdecode/decoders/ sigrok-cli … -P <decodername></source>Because this environment variable is evaluated by the [[libsigrokdecode]] code itself, it can be used for any program that uses the library, for example when calling [[PulseView]] or the '''<tt>pdtest</tt>''' unit test utility from the [http://sigrok.org/gitweb/?p=sigrok-test.git;a=summary sigrok-test] repository.<br />If you compiled a recent [[libsigrokdecode]] by yourself ([http://sigrok.org/gitweb/?p=libsigrokdecode.git;a=commit;h=40c6ac1d3fbded276dcbff23e8bc099896ab2fb5 newer than this commit]), you can also put decoders into your home directory, without the need for an additional environment variable. On Linux systems, this name follows the [http://standards.freedesktop.org/basedir-spec/latest/ar01s03.html XDG base directory specification], which by default resolves to <tt>~/.local/share/libsigrokdecode/decoders</tt>. If that folder does not exist, you can simply create it and drop your decoders there, in their own subdirectory, like you would do in the libsigrokdecode source tree. On Windows systems additional decoders are read from <tt>%ProgramData%\libsigrokdecode\decoders</tt>.<br />
<br />
* To debug the Python implementation of a decoder during development, maintenance or research either add print() statements at appropriate locations. Or get WinPDB and use the remote debugging feature as outlined below (add this hook somewhere in pd.py, then "File -> Attach" to the running process). Decoders cannot be used in "regular" debuggers since they expect a rather specific environment to execute in, for all of receiving their input as well as having their output saved or presented as well as processing samples (data types, runtime routines). Remote debugging works in both the sigrok-cli and pulseview context. Adding another print() statement before starting the embedded debugger can help identify the moment in time when to attach.<source lang="python"><br />
def __init__():<br />
import rpdb2<br />
rpdb2.start_embedded_debugger("pd")<br />
...<br />
</source><br />
<br />
== Unit tests ==<br />
<br />
In order to keep protocol decoders in a running state even when we make changes to a decoder or libsigrokdecode itself, we use unit tests for as many decoders as we can. These are stored in the [http://sigrok.org/gitweb/?p=sigrok-test.git sigrok-test repository]. If you want to add, modify or run one of them, clone that repository and [https://sigrok.org/gitweb/?p=sigrok-test.git;a=blob;f=README check the README] for documentation.<br />
We greatly appreciate it when you submit unit tests for your decoder so we can keep it in good health!<br />
<br />
== Submitting your decoder ==<br />
<br />
When you've finished your decoder and everything is working nicely, please contribute the decoder to the sigrok project so that other people can benefit from it (and test it, improve upon it, and so on).<br />
<br />
* Send the decoder (preferrably as a patch against the current git HEAD of [[libsigrokdecode]]) to the [https://lists.sourceforge.net/lists/listinfo/sigrok-devel sigrok-devel] mailing list, and/or tell us the location of your git repository containing the decoder (on the '''#sigrok''' IRC channel on FreeNode).<br />
* Please also send us a few example data files (*.sr) and a small README to go with your decoder. We'll need these in order to properly review and test your decoder. Preferrably these files should also come as patches against the latest git HEAD of the [http://sigrok.org/gitweb/?p=sigrok-dumps.git;a=tree sigrok-dumps] repository. See [[Example dumps]] for details.<br />
* Finally, please also consider adding a few "unit tests" for your decoder in the [http://sigrok.org/gitweb/?p=sigrok-test.git;a=tree sigrok-test] repository. These test will automatically run the decoder against various input files specified in '''test.conf''' and check whether the expected output is produced (examples: [http://sigrok.org/gitweb/?p=sigrok-test.git;a=blob;f=decoder/test/rfm12/test.conf rfm12], [http://sigrok.org/gitweb/?p=sigrok-test.git;a=blob;f=decoder/test/nrf24l01/test.conf nrf24l01]). This allows us to notice and fix any regressions in the decoder and/or the [[libsigrokdecode]] backend that may arise over time.<br />
<br />
Thanks a lot!<br />
<br />
[[Category:APIs]]</div>
Abraxa
https://sigrok.org/w/index.php?title=Protocol_decoder_HOWTO&diff=15342
Protocol decoder HOWTO
2020-07-31T06:32:38Z
<p>Abraxa: /* Random notes, tips and tricks */</p>
<hr />
<div>This page serves as a quick-start guide for people who want to write their own [[libsigrokdecode]] protocol decoders ([[Protocol decoders|PDs]]).<br />
<br />
It is '''not''' intended to replace the [[Protocol decoder API]] page, but rather to give a short overview/tutorial and some tips.<br />
<br />
== Introduction ==<br />
<br />
Protocol decoders are written entirely in Python (>= 3.0).<br />
<br />
== Files ==<br />
<br />
Every protocol decoder is a Python module and has its own subdirectory in libsigrokdecode's '''[http://sigrok.org/gitweb/?p=libsigrokdecode.git;a=tree;f=decoders decoders]''' directory.<br />
<br />
This is a minimalistic example of how a protocol decoder looks like, in this case the '''[[Protocol_decoder:I2c|i2c]]''' decoder (license header, comments, and some other parts omitted).<br />
<br />
'''Note''': Do not start new protocol decoders by copying code from here. Instead, it's recommended to select an already existing decoder in the source code which is similar to the one you plan to write, and copy that as a starting point.<br />
<br />
=== __init__.py ===<br />
<br />
<small><br />
<source lang="python"><br />
'''<br />
I²C (Inter-Integrated Circuit) is a bidirectional, multi-master<br />
bus using two signals (SCL = serial clock line, SDA = serial data line).<br />
<br />
<Insert notes and hints for the user here><br />
'''<br />
<br />
from .pd import Decoder<br />
</source><br />
</small><br />
<br />
This is a standard Python file, required in every Python module. It contains a module-level docstring, which is accessible by frontends via the [http://sigrok.org/api/libsigrokdecode/unstable/index.html libsigrokdecode API]. It should contain a (very) short description of what the protocol (in this case [[Protocol_decoder:I2c|I²C]]) is about, and some notes and hints for the user of this protocol decoder (which can be shown in GUIs when the user selects/browses different PDs).<br />
<br />
This docstring should '''not''' contain the full, extensive protocol description. Instead, the per-PD wiki page should be used for protocol description, photos of devices or photos of example acquisition setups, and so on. Each decoder has one unique wiki page at the URL '''<nowiki>http://sigrok.org/wiki/Protocol_decoder:<pd></nowiki>''', where '''<pd>''' is the Python module name of the decoder ('''i2c''' in this case). Some examples for such per-PD wiki pages: [[Protocol_decoder:Uart|UART]], [[Protocol_decoder:Pan1321|PAN1321]], [[Protocol_decoder:Mx25lxx05d|MX25Lxx05D]], [[Protocol_decoder:Dcf77|DCF77]].<br />
<br />
The "'''from .pd import Decoder'''" line will make sure the code from '''pd.py''' gets properly imported when this module is used.<br />
<br />
=== pd.py ===<br />
<br />
<small><br />
<source lang="python"><br />
import sigrokdecode as srd<br />
<br />
class Decoder(srd.Decoder):<br />
api_version = 2<br />
id = 'i2c'<br />
name = 'I²C'<br />
longname = 'Inter-Integrated Circuit'<br />
desc = 'Two-wire, multi-master, serial bus.'<br />
license = 'gplv2+'<br />
inputs = ['logic']<br />
outputs = ['i2c']<br />
channels = (<br />
{'id': 'scl', 'name': 'SCL', 'desc': 'Serial clock line'},<br />
{'id': 'sda', 'name': 'SDA', 'desc': 'Serial data line'},<br />
)<br />
optional_channels = ()<br />
options = (<br />
{'id': 'address_format', 'desc': 'Displayed slave address format',<br />
'default': 'shifted', 'values': ('shifted', 'unshifted')},<br />
)<br />
annotations = (<br />
('start', 'Start condition'),<br />
('repeat-start', 'Repeat start condition'),<br />
('stop', 'Stop condition'),<br />
('ack', 'ACK'),<br />
('nack', 'NACK'),<br />
('bit', 'Data/address bit'),<br />
('address-read', 'Address read'),<br />
('address-write', 'Address write'),<br />
('data-read', 'Data read'),<br />
('data-write', 'Data write'),<br />
('warnings', 'Human-readable warnings'),<br />
)<br />
annotation_rows = (<br />
('bits', 'Bits', (5,)),<br />
('addr-data', 'Address/Data', (0, 1, 2, 3, 4, 6, 7, 8, 9)),<br />
('warnings', 'Warnings', (10,)),<br />
)<br />
<br />
def __init__(self, **kwargs):<br />
self.state = 'FIND START'<br />
# And various other variable initializations...<br />
<br />
def metadata(self, key, value):<br />
if key == srd.SRD_CONF_SAMPLERATE:<br />
self.samplerate = value<br />
<br />
def start(self):<br />
self.out_ann = self.register(srd.OUTPUT_ANN)<br />
<br />
def decode(self, ss, es, data):<br />
for self.samplenum, (scl, sda) in data:<br />
# Decode the samples.<br />
</source><br />
</small><br />
<br />
The recommended name for the actual decoder file is '''pd.py'''. This file contains some meta information about the decoder, and the actual code itself, mostly in the '''decode()''' method.<br />
<br />
If needed, large unwieldy lists or similar things can also be factored out into another *.py file (examples: [http://sigrok.org/gitweb/?p=libsigrokdecode.git;a=tree;f=decoders/midi midi], [http://sigrok.org/gitweb/?p=libsigrokdecode.git;a=tree;f=decoders/z80 z80]).<br />
<br />
== Copyright and license ==<br />
<br />
Every protocol decoder '''must''' come with source code in the form of '''*.py''' files. No pre-compiled code should be present, Python or otherwise. The PD must not use any helpers that are not provided as source code under the same license as the PD itself.<br />
<br />
The '''<tt>Decoder</tt>''' class must have a license declaration (see above), stating the license under which all the contents in the decoder's directory are provided. This is usually <tt>'gplv2+'</tt> or <tt>'gplv3+'</tt>, whichever you prefer. In either case, the decoder license must be compatible with the [[libsigrokdecode]] license (which is "GPL, version 3 or later").<br />
<br />
== <tt>channels</tt> & <tt>optional_channels</tt> ==<br />
<br />
The following excerpt from the [[Protocol_decoder:spi|SPI]] PD shows how to use '''<tt>channels</tt>''' and '''<tt>optional_channels</tt>'''. To decode SPI, the clock signal is always needed, the chip-select signal is optional and only used when provided. To give the user the flexibility to provide only one of the MOSI/MISO signals, they are both also defined as optional:<br />
<br />
<small><br />
<source lang="python"><br />
class Decoder(srd.Decoder):<br />
...<br />
id = 'spi'<br />
...<br />
channels = (<br />
{'id': 'clk', 'name': 'CLK', 'desc': 'Clock'},<br />
)<br />
optional_channels = (<br />
{'id': 'miso', 'name': 'MISO', 'desc': 'Master in, slave out'},<br />
{'id': 'mosi', 'name': 'MOSI', 'desc': 'Master out, slave in'},<br />
{'id': 'cs', 'name': 'CS#', 'desc': 'Chip-select'},<br />
)<br />
</source><br />
</small><br />
<br />
'''<tt>data</tt>''', the argument of the decoder's [[Protocol decoder API#decode-function|'''<tt>decode()</tt>''']] function that contains the data to decode, is a list of tuples. These tuples contain the (absolute) number of the sample and the data at that sample. To process all samples, the SPI decoder loops over '''<tt>data</tt>''' like this:<br />
<br />
<small><br />
<source lang="python"><br />
def decode(self, ss, es, data):<br />
...<br />
for (self.samplenum, pins) in data:<br />
</source><br />
</small><br />
<br />
'''<tt>channels</tt>''' and '''<tt>optional_channels</tt>''' contain in total four channels, therefore the second member of the tuple is an object of Python's [https://docs.python.org/3/library/stdtypes.html#typebytes '''<tt>bytes</tt>'''] class containing 4 bytes, one for each channel. The decoder unpacks the bytes into the variables '''<tt>clk</tt>''', '''<tt>miso</tt>''', '''<tt>mosi</tt>''', and '''<tt>cs</tt>''' as shown below.<br />
<br />
Then, it checks for the optional channels, if their value is either 0 or 1. If it is not, that optional channel is not provided to the decoder. In the case that neither of them is supplied, an exception is raised:<br />
<br />
<small><br />
<source lang="python"><br />
(clk, miso, mosi, cs) = pins<br />
self.have_miso = (miso in (0, 1))<br />
self.have_mosi = (mosi in (0, 1))<br />
self.have_cs = (cs in (0, 1))<br />
<br />
# Either MISO or MOSI (but not both) can be omitted.<br />
if not (self.have_miso or self.have_mosi):<br />
raise ChannelError('Either MISO or MOSI (or both) pins required.')<br />
</source><br />
</small><br />
<br />
== <tt>annotations</tt> & <tt>annotation_rows</tt> ==<br />
<br />
To make the relation between the '''<tt>annotations</tt>''' and the '''<tt>annotation_rows</tt>''' members of a decoder object more clear, take a look at how the [[Protocol_decoder:Ir_nec|ir_nec]] PD uses them:<br />
<br />
<small><br />
<source lang="python"><br />
class Decoder(srd.Decoder):<br />
...<br />
id = 'ir_nec'<br />
...<br />
annotations = ( # Implicitly assigned annotation type ID<br />
('bit', 'Bit'), # 0<br />
('agc-pulse', 'AGC pulse'), # 1<br />
('longpause', 'Long pause'), # 2<br />
('shortpause', 'Short pause'), # 3<br />
('stop-bit', 'Stop bit'), # 4<br />
('leader-code', 'Leader code'), # 5<br />
('addr', 'Address'), # 6<br />
('addr-inv', 'Address#'), # 7<br />
('cmd', 'Command'), # 8<br />
('cmd-inv', 'Command#'), # 9<br />
('repeat-code', 'Repeat code'), # 10<br />
('remote', 'Remote'), # 11<br />
('warnings', 'Warnings'), # 12<br />
)<br />
annotation_rows = (<br />
('bits', 'Bits', (0, 1, 2, 3, 4)),<br />
('fields', 'Fields', (5, 6, 7, 8, 9, 10)),<br />
('remote', 'Remote', (11,)),<br />
('warnings', 'Warnings', (12,)),<br />
)<br />
</source><br />
</small><br />
<br />
It groups the first five annotation types together into the '''<tt>bits</tt>''' row and the next six into the '''<tt>fields</tt>''' row. The rows '''<tt>remote</tt>''' and '''<tt>warnings</tt>''' both only contain one annotation type.<br />
<br />
Without '''<tt>annotation_rows</tt>''', [[PulseView]] would have to put each annotation type in its own row (which is unhandy if the decoder has many annotations) or it would have to put them all on the same row (which would result in unreadable output due to overlaps). But because of the '''<tt>annotation_rows</tt>''', the output of the [[Protocol_decoder:Ir_nec|ir_nec]] decoder is grouped together as shown in the following picture (note how different annotation types, distinguishable by their different colors, share the same row):<br />
<br />
[[File:Pv example ir nec cropped.png]]<br />
<br />
<br />
<br />
However, as you can imagine, handling numeric IDs is quite bothersome - especially if they change and all affected IDs have to be changed throughout the PD. To avoid this, you can use a pseudo-enum:<br />
<br />
<small><br />
<source lang="python"><br />
ann_bit, ann_agc_pulse, ann_long_pause, ann_short_pause, ann_stop_bit, ann_leader_code, ann_addr, ann_addr_inv, ann_cmd, ann_cmd_inv, ann_repeat_code, ann_remote, ann_warning = range(13)<br />
<br />
class Decoder(srd.Decoder):<br />
...<br />
id = 'ir_nec'<br />
...<br />
annotations = ( # Implicitly assigned annotation type ID<br />
('bit', 'Bit'), # 0 = ann_bit<br />
('agc-pulse', 'AGC pulse'), # 1 = ann_agc_pulse<br />
('longpause', 'Long pause'), # 2 = ann_long_pause<br />
('shortpause', 'Short pause'), # 3 = ann_short_pause<br />
('stop-bit', 'Stop bit'), # 4 = ann_stop_bit<br />
('leader-code', 'Leader code'), # 5 = ann_leader_code<br />
('addr', 'Address'), # 6 = ann_addr<br />
('addr-inv', 'Address#'), # 7 = ann_addr_inv<br />
('cmd', 'Command'), # 8 = ann_cmd<br />
('cmd-inv', 'Command#'), # 9 = ann_cmd_inv<br />
('repeat-code', 'Repeat code'), # 10 = ann_repeat_code<br />
('remote', 'Remote'), # 11 = ann_remote<br />
('warnings', 'Warnings'), # 12 = ann_warning<br />
)<br />
annotation_rows = (<br />
('bits', 'Bits', (ann_bit, ann_agc_pulse, ann_long_pause, ann_short_pause, ann_stop_bit)),<br />
('fields', 'Fields', (ann_leader_code, ann_addr, ann_addr_inv, ann_cmd, ann_cmd_inv, ann_repeat_code)),<br />
('remote', 'Remote', (ann_remote,)),<br />
('warnings', 'Warnings', (ann_warning,)),<br />
)<br />
</source><br />
</small><br />
<br />
This way, all you need to ensure is that the order of the enum entries is the same as in the annotations array and you're set. There is one downside, though, as always: pseudo-enums are pitifully slow in python, so if you use them and you use them in a lot of places, your protocol decoder may be significantly slower (up to 4x has been observed), so choose wisely.<br />
<br />
== Random notes, tips and tricks ==<br />
<br />
* You should usually only use '''raise''' in a protocol decoder to raise exceptions in cases which are a clear bug in how the protocol decoder is invoked (e.g. if no samplerate was provided for a PD which needs the samplerate, or if some of the required channels were not provided by the user, and so on).<br />
* Use the has_channel() method to check whether an optional channel has been provided or not.<br />
* A simple and fast way to calculate a parity (i.e., count the number of 1 bits) over a number (0x55 in this example) is:<source lang="python"><br />
ones = bin(0x55).count('1')<br />
</source><br />
* A simple function to convert a BCD number (max. 8 bits) to an integer is:<source lang="python"><br />
def bcd2int(b):<br />
return (b & 0x0f) + ((b >> 4) * 10)<br />
</source><br />
* An elegant way to convert a sequence of bus pins to a numeric value:<source lang="python"><br />
from functools import reduce<br />
<br />
def reduce_bus(bus):<br />
if 0xFF in bus:<br />
return None # unassigned bus channels<br />
else:<br />
return reduce(lambda a, b: (a << 1) | b, reversed(bus))<br />
</source><br />
* A nice way to construct method names according to e.g. protocol commands is (assuming '''cmd''' is 8, this would call the function '''self.handle_cmd_0x08'''):<source lang="python"><br />
fn = getattr(self, 'handle_cmd_0x%02x' % cmd);<br />
fn(arg1, arg2, ...)<br />
</source><br />
* A cheap way to deal with Python's lack of enumerations (useful for states, pin indices, annotation indices, etc.):<source lang="python"><br />
class Cycle:<br />
NONE, MEMRD, MEMWR, IORD, IOWR, FETCH, INTACK = range(7)<br />
</source>Please be aware, though, that using this mechanism may slow down your decoder significantly. It may make sense to perform some basic profiling to see if this affects you, e.g. using "time ./pdtest -r $YOUR_PD".<br />
* <div id="SIGROKDECODE_DIR"></div>You don't need to reinstall the whole [[libsigrokdecode]] project every time you make a change on your decoder. Instead, you can use the environment variable '''<tt>SIGROKDECODE_DIR</tt>''' to point the software to your development directory:<br /><source lang="bash">$ SIGROKDECODE_DIR=/path/to/libsigrokdecode/decoders/ sigrok-cli … -P <decodername></source>Because this environment variable is evaluated by the [[libsigrokdecode]] code itself, it can be used for any program that uses the library, for example when calling [[PulseView]] or the '''<tt>pdtest</tt>''' unit test utility from the [http://sigrok.org/gitweb/?p=sigrok-test.git;a=summary sigrok-test] repository.<br />If you compiled a recent [[libsigrokdecode]] by yourself ([http://sigrok.org/gitweb/?p=libsigrokdecode.git;a=commit;h=40c6ac1d3fbded276dcbff23e8bc099896ab2fb5 newer than this commit]), you can also put decoders into your home directory, without the need for an additional environment variable. On Linux systems, this name follows the [http://standards.freedesktop.org/basedir-spec/latest/ar01s03.html XDG base directory specification], which by default resolves to <tt>~/.local/share/libsigrokdecode/decoders</tt>. If that folder does not exist, you can simply create it and drop your decoders there, in their own subdirectory, like you would do in the libsigrokdecode source tree. On Windows systems additional decoders are read from <tt>%ProgramData%\libsigrokdecode\decoders</tt>.<br />
<br />
* To debug the Python implementation of a decoder during development, maintenance or research either add print() statements at appropriate locations. Or get WinPDB and use the remote debugging feature as outlined below (add this hook somewhere in pd.py, then "File -> Attach" to the running process). Decoders cannot be used in "regular" debuggers since they expect a rather specific environment to execute in, for all of receiving their input as well as having their output saved or presented as well as processing samples (data types, runtime routines). Remote debugging works in both the sigrok-cli and pulseview context. Adding another print() statement before starting the embedded debugger can help identify the moment in time when to attach.<source lang="python"><br />
def __init__():<br />
import rpdb2<br />
rpdb2.start_embedded_debugger("pd")<br />
...<br />
</source><br />
<br />
== Unit tests ==<br />
<br />
In order to keep protocol decoders in a running state even when we make changes to a decoder or libsigrokdecode itself, we use unit tests for as many decoders as we can. These are stored in the [http://sigrok.org/gitweb/?p=sigrok-test.git sigrok-test repository]. If you want to add, modify or run one of them, clone that repository and [https://sigrok.org/gitweb/?p=sigrok-test.git;a=blob;f=README check the README] for documentation.<br />
We greatly appreciate it when you submit unit tests for your decoder so we can keep it in good health!<br />
<br />
== Submitting your decoder ==<br />
<br />
When you've finished your decoder and everything is working nicely, please contribute the decoder to the sigrok project so that other people can benefit from it (and test it, improve upon it, and so on).<br />
<br />
* Send the decoder (preferrably as a patch against the current git HEAD of [[libsigrokdecode]]) to the [https://lists.sourceforge.net/lists/listinfo/sigrok-devel sigrok-devel] mailing list, and/or tell us the location of your git repository containing the decoder (on the '''#sigrok''' IRC channel on FreeNode).<br />
* Please also send us a few example data files (*.sr) and a small README to go with your decoder. We'll need these in order to properly review and test your decoder. Preferrably these files should also come as patches against the latest git HEAD of the [http://sigrok.org/gitweb/?p=sigrok-dumps.git;a=tree sigrok-dumps] repository. See [[Example dumps]] for details.<br />
* Finally, please also consider adding a few "unit tests" for your decoder in the [http://sigrok.org/gitweb/?p=sigrok-test.git;a=tree sigrok-test] repository. These test will automatically run the decoder against various input files specified in '''test.conf''' and check whether the expected output is produced (examples: [http://sigrok.org/gitweb/?p=sigrok-test.git;a=blob;f=decoder/test/rfm12/test.conf rfm12], [http://sigrok.org/gitweb/?p=sigrok-test.git;a=blob;f=decoder/test/nrf24l01/test.conf nrf24l01]). This allows us to notice and fix any regressions in the decoder and/or the [[libsigrokdecode]] backend that may arise over time.<br />
<br />
Thanks a lot!<br />
<br />
[[Category:APIs]]</div>
Abraxa
https://sigrok.org/w/index.php?title=Protocol_decoders&diff=15341
Protocol decoders
2020-07-30T20:32:55Z
<p>Abraxa: Add st25r39xx</p>
<hr />
<div>This is a list of '''supported protocol decoders (PDs)''' and '''decoders which we might want to write in the future''' (or users might want to contribute).<br />
<br />
See [[Protocol decoder API]] for details on how the decoders work in sigrok, and [[Protocol decoder HOWTO]] for a quick introduction about how to write your own decoders.<br />
<br />
== Supported protocol decoders ==<br />
<br />
<!-- Generated via sigrok-cli --list-supported-wiki. --><br />
<br />
Number of currently supported protocol decoders: '''126'''.<br />
<br />
{| border="0" style="font-size: smaller" class="alternategrey sortable sigroktable"<br />
|-<br />
!Protocol<br />
!Tags<br />
!Input IDs<br />
!Output IDs<br />
!Status<br />
!Full name<br />
!Description<br />
<br />
{{pd|ac97|AC '97|Audio Codec '97|Audio and modem control for PC systems.|Audio, PC|logic|&mdash;|supported}}<br />
{{pd|ad5626|AD5626|Analog Devices AD5626|Analog Devices AD5626 12-bit nanoDAC.|IC, Analog/digital|spi|&mdash;|supported}}<br />
{{pd|ad79x0|AD79x0|Analog Devices AD79x0|Analog Devices AD7910/AD7920 12-bit ADC.|IC, Analog/digital|spi|&mdash;|supported}}<br />
{{pd|ade77xx|ADE77xx|Analog Devices ADE77xx|Poly phase multifunction energy metering IC protocol.|Analog/digital, IC, Sensor|spi|&mdash;|supported}}<br />
{{pd|adf435x|ADF435x|Analog Devices ADF4350/1|Wideband synthesizer with integrated VCO.|Clock/timing, IC, Wireless/RF|spi|&mdash;|supported}}<br />
{{pd|adns5020|ADNS-5020|Avago ADNS-5020|Bidirectional optical mouse sensor protocol.|IC, PC, Sensor|spi|&mdash;|supported}}<br />
{{pd|adxl345|ADXL345|Analog Devices ADXL345|Analog Devices ADXL345 3-axis accelerometer.|IC, Sensor|spi|&mdash;|supported}}<br />
{{pd|am230x|AM230x|Aosong AM230x/DHTxx/RHTxx|Aosong AM230x/DHTxx/RHTxx humidity/temperature sensor.|IC, Sensor|logic|&mdash;|supported}}<br />
{{pd|amulet_ascii|Amulet ASCII|Amulet LCD ASCII|Amulet Technologies LCD controller ASCII protocol.|Display|uart|&mdash;|supported}}<br />
{{pd|arm_etmv3|ARM ETMv3|ARM Embedded Trace Macroblock v3|ARM ETM v3 instruction trace protocol.|Debug/trace|uart|&mdash;|supported}}<br />
{{pd|arm_itm|ARM ITM|ARM Instrumentation Trace Macroblock|ARM Cortex-M / ARMv7m ITM trace protocol.|Debug/trace|uart|&mdash;|supported}}<br />
{{pd|arm_tpiu|ARM TPIU|ARM Trace Port Interface Unit|Filter TPIU formatted trace data into separate streams.|Debug/trace|uart|uart|supported}}<br />
{{pd|atsha204a|ATSHA204A|Microchip ATSHA204A|Microchip ATSHA204A family crypto authentication protocol.|Security/crypto, IC, Memory|i2c|&mdash;|supported}}<br />
{{pd|aud|AUD|Advanced User Debugger|Renesas/Hitachi Advanced User Debugger (AUD) protocol.|Debug/trace|logic|&mdash;|supported}}<br />
{{pd|avr_isp|AVR ISP|AVR In-System Programming|Atmel AVR In-System Programming (ISP) protocol.|Debug/trace|spi|&mdash;|supported}}<br />
{{pd|avr_pdi|AVR PDI|Atmel Program and Debug Interface|Atmel ATxmega Program and Debug Interface (PDI) protocol.|Debug/trace|logic|&mdash;|supported}}<br />
{{pd|caliper|Caliper|Digital calipers|Protocol of cheap generic digital calipers.|Analog/digital, Sensor|logic|&mdash;|supported}}<br />
{{pd|can|CAN|Controller Area Network|Field bus protocol for distributed realtime control.|Automotive|logic|&mdash;|supported}}<br />
{{pd|cc1101|CC1101|Texas Instruments CC1101|Low-power sub-1GHz RF transceiver chip.|IC, Wireless/RF|spi|&mdash;|supported}}<br />
{{pd|cec|CEC|HDMI-CEC|HDMI Consumer Electronics Control (CEC) protocol.|Display, PC|logic|&mdash;|supported}}<br />
{{pd|cfp|CFP|100 Gigabit C form-factor pluggable|100 Gigabit C form-factor pluggable (CFP) protocol.|Networking|mdio|&mdash;|supported}}<br />
{{pd|cjtag|cJTAG|Compact Joint Test Action Group (IEEE 1149.7)|Protocol for testing, debugging, and flashing ICs.|Debug/trace|logic|jtag|supported}}<br />
{{pd|counter|Counter|Edge counter|Count the number of edges in a signal.|Util|logic|&mdash;|supported}}<br />
{{pd|dali|DALI|Digital Addressable Lighting Interface|Digital Addressable Lighting Interface (DALI) protocol.|Embedded/industrial, Lighting|logic|&mdash;|supported}}<br />
{{pd|dcf77|DCF77|DCF77 time protocol|European longwave time signal (77.5kHz carrier signal).|Clock/timing|logic|&mdash;|supported}}<br />
{{pd|dmx512|DMX512|Digital MultipleX 512|Digital MultipleX 512 (DMX512) lighting protocol.|Embedded/industrial, Lighting|uart|dmx512|supported}}<br />
{{pd|ds1307|DS1307|Dallas DS1307|Dallas DS1307 realtime clock module protocol.|Clock/timing, IC|i2c|&mdash;|supported}}<br />
{{pd|ds2408|DS2408|Maxim DS2408|1-Wire 8-channel addressable switch.|Embedded/industrial, IC|onewire_network|&mdash;|supported}}<br />
{{pd|ds243x|DS243x|Maxim DS2432/3|Maxim DS243x series 1-Wire EEPROM protocol.|IC, Memory|onewire_network|&mdash;|supported}}<br />
{{pd|ds28ea00|DS28EA00|Maxim DS28EA00 1-Wire digital thermometer|1-Wire digital thermometer with Sequence Detect and PIO.|IC, Sensor|onewire_network|&mdash;|supported}}<br />
{{pd|dsi|DSI|Digital Serial Interface|Digital Serial Interface (DSI) lighting protocol.|Embedded/industrial, Lighting|logic|&mdash;|supported}}<br />
{{pd|edid|EDID|Extended Display Identification Data|Data structure describing display device capabilities.|Display, Memory, PC|i2c|&mdash;|supported}}<br />
{{pd|eeprom24xx|24xx EEPROM|24xx I²C EEPROM|24xx series I²C EEPROM protocol.|IC, Memory|i2c|&mdash;|supported}}<br />
{{pd|eeprom93xx|93xx EEPROM|93xx Microwire EEPROM|93xx series Microwire EEPROM protocol.|IC, Memory|microwire|&mdash;|supported}}<br />
{{pd|em4100|EM4100|RFID EM4100|EM4100 100-150kHz RFID protocol.|IC, RFID|logic|&mdash;|supported}}<br />
{{pd|em4305|EM4305|RFID EM4205/EM4305|EM4205/EM4305 100-150kHz RFID protocol.|IC, RFID|logic|&mdash;|supported}}<br />
{{pd|enc28j60|ENC28J60|Microchip ENC28J60|Microchip ENC28J60 10Base-T Ethernet controller protocol.|Embedded/industrial, Networking|spi|&mdash;|supported}}<br />
{{pd|flexray|FlexRay|FlexRay|Automotive network communications protocol.|Automotive|logic|&mdash;|supported}}<br />
{{pd|graycode|Gray code|Gray code and rotary encoder|Accumulate rotary encoder increments, provide statistics.|Encoding|logic|&mdash;|supported}}<br />
{{pd|guess_bitrate|Guess bitrate|Guess bitrate/baudrate|Guess the bitrate/baudrate of a UART (or other) protocol.|Clock/timing, Util|logic|&mdash;|supported}}<br />
{{pd|hdcp|HDCP|HDCP over HDMI|HDCP protocol over HDMI.|PC, Security/crypto|i2c|hdcp|supported}}<br />
{{pd|i2c|I²C|Inter-Integrated Circuit|Two-wire, multi-master, serial bus.|Embedded/industrial|logic|i2c|supported}}<br />
{{pd|i2cdemux|I²C demux|I²C demultiplexer|Demux I²C packets into per-slave-address streams.|Util|i2c|&mdash;|supported}}<br />
{{pd|i2cfilter|I²C filter|I²C filter|Filter out addresses/directions in an I²C stream.|Util|i2c|i2c|supported}}<br />
{{pd|i2s|I²S|Integrated Interchip Sound|Serial bus for connecting digital audio devices.|Audio, PC|logic|i2s|supported}}<br />
{{pd|ieee488|IEEE-488|IEEE-488 GPIB/HPIB/IEC|IEEE-488 General Purpose Interface Bus (GPIB/HPIB or IEC).|PC, Retro computing|logic|ieee488|supported}}<br />
{{pd|ir_irmp|IR IRMP|IR IRMP|IRMP infrared remote control multi protocol.|IR|logic|&mdash;|supported}}<br />
{{pd|ir_nec|IR NEC|IR NEC|NEC infrared remote control protocol.|IR|logic|&mdash;|supported}}<br />
{{pd|ir_rc5|IR RC-5|IR RC-5|RC-5 infrared remote control protocol.|IR|logic|&mdash;|supported}}<br />
{{pd|ir_rc6|IR RC-6|IR RC-6|RC-6 infrared remote control protocol.|IR|logic|&mdash;|supported}}<br />
{{pd|ir_sirc|IR SIRC|Sony IR (SIRC)|Sony infrared remote control protocol (SIRC).|IR|logic|&mdash;|supported}}<br />
{{pd|jitter|Jitter|Timing jitter calculation|Retrieves the timing jitter between two digital signals.|Clock/timing, Util|logic|&mdash;|supported}}<br />
{{pd|jtag|JTAG|Joint Test Action Group (IEEE 1149.1)|Protocol for testing, debugging, and flashing ICs.|Debug/trace|logic|jtag|supported}}<br />
{{pd|jtag_ejtag|JTAG / EJTAG|Joint Test Action Group / EJTAG (MIPS)|MIPS EJTAG protocol.|Debug/trace|jtag|&mdash;|supported}}<br />
{{pd|jtag_stm32|JTAG / STM32|Joint Test Action Group / ST STM32|ST STM32-specific JTAG protocol.|Debug/trace|jtag|&mdash;|supported}}<br />
{{pd|lin|LIN|Local Interconnect Network|Local Interconnect Network (LIN) protocol.|Automotive|uart|&mdash;|supported}}<br />
{{pd|lm75|LM75|National LM75|National LM75 (and compatibles) temperature sensor.|Sensor|i2c|&mdash;|supported}}<br />
{{pd|lpc|LPC|Low Pin Count|Protocol for low-bandwidth devices on PC mainboards.|PC|logic|&mdash;|supported}}<br />
{{pd|ltc242x|LTC242x|Linear Technology LTC242x|Linear Technology LTC2421/LTC2422 1-/2-channel 20-bit ADC.|IC, Analog/digital|spi|&mdash;|supported}}<br />
{{pd|ltc26x7|LTC26x7|Linear Technology LTC26x7|Linear Technology LTC26x7 16-/14-/12-bit rail-to-rail DACs.|IC, Analog/digital|i2c|&mdash;|supported}}<br />
{{pd|maple_bus|Maple bus|SEGA Maple bus|Maple bus peripheral protocol for SEGA Dreamcast.|Retro computing|logic|&mdash;|supported}}<br />
{{pd|max7219|MAX7219|Maxim MAX7219/MAX7221|Maxim MAX72xx series 8-digit LED display driver.|Display|spi|&mdash;|supported}}<br />
{{pd|mcs48|MCS-48|Intel MCS-48|Intel MCS-48 external memory access protocol.|Retro computing|logic|&mdash;|supported}}<br />
{{pd|mdio|MDIO|Management Data Input/Output|MII management bus between MAC and PHY.|Networking|logic|mdio|supported}}<br />
{{pd|microwire|Microwire|Microwire|3-wire, half-duplex, synchronous serial bus.|Embedded/industrial|logic|microwire|supported}}<br />
{{pd|midi|MIDI|Musical Instrument Digital Interface|Musical Instrument Digital Interface (MIDI) protocol.|Audio, PC|uart|&mdash;|supported}}<br />
{{pd|mil-std-1553|MIL-STD-1553|MIL-STD-1553 avionic data bus.|MIL-STD-1553 avionic data bus protocol.|Embedded/industrial, Networking|logic|&mdash;|soon}}<br />
{{pd|miller|Miller|Miller encoding|Miller encoding protocol.|Encoding|logic|&mdash;|supported}}<br />
{{pd|mlx90614|MLX90614|Melexis MLX90614|Melexis MLX90614 infrared thermometer protocol.|IC, Sensor|i2c|&mdash;|supported}}<br />
{{pd|modbus|Modbus|Modbus RTU over RS232/RS485|Modbus RTU protocol for industrial applications.|Embedded/industrial|uart|modbus|supported}}<br />
{{pd|morse|Morse|Morse code|Demodulated morse code protocol.|Encoding|logic|&mdash;|supported}}<br />
{{pd|mrf24j40|MRF24J40|Microchip MRF24J40|IEEE 802.15.4 2.4 GHz RF tranceiver chip.|IC, Wireless/RF|spi|&mdash;|supported}}<br />
{{pd|mxc6225xu|MXC6225XU|MEMSIC MXC6225XU|Digital Thermal Orientation Sensor (DTOS) protocol.|IC, Sensor|i2c|&mdash;|supported}}<br />
{{pd|nes_gamepad|NES gamepad|Nintendo Entertainment System gamepad|NES gamepad button states.|Retro computing|spi|&mdash;|supported}}<br />
{{pd|nrf24l01|nRF24L01(+)|Nordic Semiconductor nRF24L01(+)|2.4GHz RF transceiver chip.|IC, Wireless/RF|spi|&mdash;|supported}}<br />
{{pd|nrf905|nRF905|Nordic Semiconductor nRF905|433/868/933MHz transceiver chip.|IC, Wireless/RF|spi|&mdash;|supported}}<br />
{{pd|numbers_and_state|Numbers and State|Interpret bit patters as numbers or state enums|Interpret bit patterns as different kinds of numbers (integer, float, enum).|Encoding, Util|logic|numbers_and_state|supported}}<br />
{{pd|nunchuk|Nunchuk|Nintendo Wii Nunchuk|Nintendo Wii Nunchuk controller protocol.|Sensor|i2c|&mdash;|supported}}<br />
{{pd|onewire_link|1-Wire link layer|1-Wire serial communication bus (link layer)|Bidirectional, half-duplex, asynchronous serial bus.|Embedded/industrial|logic|onewire_link|supported}}<br />
{{pd|onewire_network|1-Wire network layer|1-Wire serial communication bus (network layer)|Bidirectional, half-duplex, asynchronous serial bus.|Embedded/industrial|onewire_link|onewire_network|supported}}<br />
{{pd|ook|OOK|On-off keying|On-off keying protocol.|Encoding|logic|ook|supported}}<br />
{{pd|ook_oregon|Oregon|Oregon Scientific|Oregon Scientific weather sensor protocol.|Sensor|ook|&mdash;|supported}}<br />
{{pd|ook_vis|OOK visualisation|On-off keying visualisation|OOK visualisation in various formats.|Encoding|ook|ook|supported}}<br />
{{pd|pan1321|PAN1321|Panasonic PAN1321|Bluetooth RF module with Serial Port Profile (SPP).|Wireless/RF|uart|&mdash;|supported}}<br />
{{pd|parallel|Parallel|Parallel sync bus|Generic parallel synchronous bus.|Util|logic|parallel|supported}}<br />
{{pd|pca9571|PCA9571|NXP PCA9571|NXP PCA9571 8-bit I²C output expander.|Embedded/industrial, IC|i2c|&mdash;|supported}}<br />
{{pd|pjdl|PJDL|Padded Jittering Data Link|PJDL, a single wire serial link layer for PJON.|Embedded/industrial|logic|pjon_link|supported}}<br />
{{pd|pjon|PJON|PJON|The PJON protocol.|Embedded/industrial|pjon_link|&mdash;|supported}}<br />
{{pd|ps2|PS/2|PS/2|PS/2 keyboard/mouse interface.|PC|logic|&mdash;|supported}}<br />
{{pd|pwm|PWM|Pulse-width modulation|Analog level encoded in duty cycle percentage.|Encoding|logic|&mdash;|supported}}<br />
{{pd|qi|Qi|Qi charger protocol|Protocol used by Qi receiver.|Embedded/industrial, Wireless/RF|logic|&mdash;|supported}}<br />
{{pd|rc_encode|RC encode|Remote control encoder|PT2262/HX2262/SC5262 remote control encoder protocol.|IC, IR|logic|&mdash;|supported}}<br />
{{pd|rfm12|RFM12|HopeRF RFM12|HopeRF RFM12 wireless transceiver control protocol.|Wireless/RF|spi|&mdash;|supported}}<br />
{{pd|rgb_led_spi|RGB LED (SPI)|RGB LED string decoder (SPI)|RGB LED string protocol (RGB values clocked over SPI).|Display|spi|&mdash;|supported}}<br />
{{pd|rgb_led_ws281x|RGB LED (WS281x)|RGB LED string decoder (WS281x)|RGB LED string protocol (WS281x).|Display, IC|logic|&mdash;|supported}}<br />
{{pd|rtc8564|RTC-8564|Epson RTC-8564 JE/NB|Realtime clock module protocol.|Clock/timing|i2c|&mdash;|supported}}<br />
{{pd|sae_j1850_vpw|SAE J1850 VPW|SAE J1850 VPW.|SAE J1850 Variable Pulse Width 1x and 4x.|Automotive|logic|&mdash;|supported}}<br />
{{pd|sda2506|SDA2506|Siemens SDA 2506-5|Serial nonvolatile 1-Kbit EEPROM.|IC, Memory|logic|&mdash;|supported}}<br />
{{pd|sdcard_sd|SD card (SD mode)|Secure Digital card (SD mode)|Secure Digital card (SD mode) low-level protocol.|Memory|logic|&mdash;|supported}}<br />
{{pd|sdcard_spi|SD card (SPI mode)|Secure Digital card (SPI mode)|Secure Digital card (SPI mode) low-level protocol.|Memory|spi|&mdash;|supported}}<br />
{{pd|seven_segment|7-segment|7-segment display|7-segment display protocol.|Display|logic|&mdash;|supported}}<br />
{{pd|signature|Signature|Signature analysis|Annotate signature of logic patterns.|Debug/trace, Util, Encoding|logic|&mdash;|supported}}<br />
{{pd|spdif|S/PDIF|Sony/Philips Digital Interface Format|Serial bus for connecting digital audio devices.|Audio, PC|logic|&mdash;|supported}}<br />
{{pd|spi|SPI|Serial Peripheral Interface|Full-duplex, synchronous, serial bus.|Embedded/industrial|logic|spi|supported}}<br />
{{pd|spiflash|SPI flash/EEPROM|SPI flash/EEPROM chips|xx25 series SPI (NOR) flash/EEPROM chip protocol.|IC, Memory|spi|&mdash;|supported}}<br />
{{pd|ssi32|SSI32|Synchronous Serial Interface (32bit)|Synchronous Serial Interface (32bit) protocol.|Embedded/industrial|spi|&mdash;|supported}}<br />
{{pd|st25r39xx|ST25R39xx|STMicroelectronics ST25R39xx|High performance NFC universal device and EMVCo reader protocol.|IC, Wireless/RF|spi|&mdash;|supported}}<br />
{{pd|st7735|ST7735|Sitronix ST7735|Sitronix ST7735 TFT controller protocol.|Display, IC|logic|&mdash;|supported}}<br />
{{pd|stepper_motor|Stepper motor|Stepper motor position / speed|Absolute position and movement speed from step/dir.|Embedded/industrial|logic|&mdash;|supported}}<br />
{{pd|swd|SWD|Serial Wire Debug|Two-wire protocol for debug access to ARM CPUs.|Debug/trace|logic|swd|supported}}<br />
{{pd|swim|SWIM|STM8 SWIM bus|STM8 Single Wire Interface Module (SWIM) protocol.|Debug/trace|logic|&mdash;|supported}}<br />
{{pd|t55xx|T55xx|RFID T55xx|T55xx 100-150kHz RFID protocol.|IC, RFID|logic|&mdash;|supported}}<br />
{{pd|tca6408a|TI TCA6408A|Texas Instruments TCA6408A|Texas Instruments TCA6408A 8-bit I²C I/O expander.|Embedded/industrial, IC|i2c|&mdash;|supported}}<br />
{{pd|tdm_audio|TDM audio|Time division multiplex audio|TDM multi-channel audio protocol.|Audio|logic|&mdash;|supported}}<br />
{{pd|timing|Timing|Timing calculation with frequency and averaging|Calculate time between edges.|Clock/timing, Util|logic|&mdash;|supported}}<br />
{{pd|tlc5620|TI TLC5620|Texas Instruments TLC5620|Texas Instruments TLC5620 8-bit quad DAC.|IC, Analog/digital|logic|&mdash;|supported}}<br />
{{pd|uart|UART|Universal Asynchronous Receiver/Transmitter|Asynchronous, serial bus.|Embedded/industrial|logic|uart|supported}}<br />
{{pd|usb_packet|USB packet|Universal Serial Bus (LS/FS) packet|USB (low-speed and full-speed) packet protocol.|PC|usb_signalling|usb_packet|supported}}<br />
{{pd|usb_power_delivery|USB PD|USB Power Delivery|USB Power Delivery protocol.|PC|logic|usb_pd|supported}}<br />
{{pd|usb_request|USB request|Universal Serial Bus (LS/FS) transaction/request|USB (low-speed/full-speed) transaction/request protocol.|PC|usb_packet|usb_request|supported}}<br />
{{pd|usb_signalling|USB signalling|Universal Serial Bus (LS/FS) signalling|USB (low-speed/full-speed) signalling protocol.|PC|logic|usb_signalling|supported}}<br />
{{pd|wiegand|Wiegand|Wiegand interface|Wiegand interface for electronic entry systems.|Embedded/industrial, RFID|logic|&mdash;|supported}}<br />
{{pd|x2444m|X2444M/P|Xicor X2444M/P|Xicor X2444M/P nonvolatile static RAM protocol.|IC, Memory|spi|&mdash;|supported}}<br />
{{pd|xfp|XFP|10 Gigabit Small Form Factor Pluggable Module (XFP)|XFP I²C management interface structures/protocol|Networking|i2c|&mdash;|supported}}<br />
{{pd|xy2-100|XY2-100|XY2-100 and XY2-200 interface|XY2-100 protocol used for laser applications.|Embedded/industrial|logic|&mdash;|supported}}<br />
{{pd|z80|Z80|Zilog Z80 CPU|Zilog Z80 microprocessor disassembly.|Retro computing|logic|&mdash;|supported}}<br />
<br />
|}<br />
<br />
== Possible candidates for future protocol decoders ==<br />
<br />
{| border="0" style="font-size: smaller" class="alternategrey sortable sigroktable"<br />
|-<br />
!Protocol<br />
!Category<br />
!Input ID(s)<br />
!Output ID(s)<br />
!Status<br />
!Description<br />
!Comments<br />
<br />
|-<br />
| SA8807A<br />
| Displays<br />
| spi<br />
|<br />
| bgcolor="red" | 0%<br />
| SPI-attached LCD. Datasheet: [http://pdf1.alldatasheet.com/datasheet-pdf/view/36922/SAMES/SA8807A.html Sames SA8807A].<br />
|<br />
<br />
|-<br />
| EA eDIPTFT43-A<br />
| Displays<br />
| i2c<br />
|<br />
| bgcolor="red" | 0%<br />
| I2C-attached LCD. Datasheet: [http://www.lcd-module.de/pdf/grafik/ediptft43-a.pdf EA eDIPTFT43-A].<br />
|<br />
<br />
|-<br />
| Analog Devices AD7291<br />
| ADC<br />
| i2c<br />
|<br />
| bgcolor="red" | 0%<br />
| I2C-attached ADC. Datasheet: [http://pdf1.alldatasheet.com/datasheet-pdf/view/318172/AD/AD7291.html Analog Devices AD7291].<br />
|<br />
<br />
|-<br />
| Analog Devices ADS1258<br />
| ADC<br />
| spi<br />
| ads1258<br />
| bgcolor="orange" | 0%<br />
| SPI-attached ADC.<br />
| Planned (Uwe Hermann).<br />
<br />
|-<br />
| Microchip MCP3901<br />
| ADC<br />
| spi<br />
| mcp3901<br />
| bgcolor="orange" | 0%<br />
| Can be controlled via a parallel protocol, or SPI, or I2C.<br />
| Planned (Uwe Hermann).<br />
<br />
|-<br />
| JTAG / TMPA9xx<br />
| Flash/debug<br />
| jtag<br />
| jtag_tmpa9xx<br />
| bgcolor="red" | 0%<br />
| Toshiba TMPA9xx specific JTAG protocol details.<br />
| <br />
<br />
|-<br />
| USB transfer<br />
| USB<br />
| usb_request<br />
| usb_transfer<br />
| bgcolor="red" | 0%<br />
| <br />
| <br />
<br />
|-<br />
| USB / HID<br />
| USB<br />
| usb_transfer<br />
| usb_hid<br />
| bgcolor="red" | 0%<br />
| <br />
| <br />
<br />
|-<br />
| USB / CDC<br />
| USB<br />
| usb_transfer<br />
| usb_cdc<br />
| bgcolor="red" | 0%<br />
| <br />
| <br />
<br />
|-<br />
| USB / USBTMC<br />
| USB<br />
| usb_transfer<br />
| usb_usbtmc<br />
| bgcolor="red" | 0%<br />
| <br />
| <br />
<br />
|-<br />
| Dallas DS1985<br />
| Other<br />
| onewire_network<br />
| <br />
| bgcolor="orange" | 0%<br />
| Dallas DS1985 iButton (1-Wire) device.<br />
| Planned (Uwe Hermann).<br />
<br />
|-<br />
| UNI/O<br />
| Embedded<br />
| &mdash;<br />
|<br />
| bgcolor="red" | 0%<br />
|<br />
|<br />
<br />
|-<br />
| [https://en.wikipedia.org/wiki/Synchronous_Serial_Interface SSI]<br />
| Embedded<br />
| &mdash;<br />
|<br />
| bgcolor="red" | 0%<br />
| Synchronous Serial Interface<br />
|<br />
<br />
|-<br />
| CompactFlash<br />
| Memory<br />
| &mdash;<br />
| <br />
| bgcolor="red" | 0%<br />
| <br />
| <br />
<br />
|-<br />
| MMC<br />
| Memory<br />
| &mdash;<br />
| <br />
| bgcolor="red" | 0%<br />
| <br />
| <br />
<br />
|-<br />
| Memory Stick<br />
| Memory<br />
| &mdash;<br />
| <br />
| bgcolor="red" | 0%<br />
| <br />
| <br />
<br />
|-<br />
| SmartMedia<br />
| Memory<br />
| &mdash;<br />
| <br />
| bgcolor="red" | 0%<br />
| <br />
| <br />
<br />
|-<br />
| xD-Picture Card<br />
| Memory<br />
| &mdash;<br />
| <br />
| bgcolor="red" | 0%<br />
| <br />
| <br />
<br />
|-<br />
| [https://en.wikipedia.org/wiki/ISO/IEC_7816 ISO 7816]<br />
| Smartcards<br />
| &mdash;<br />
| <br />
| bgcolor="red" | 0%<br />
| <br />
| <br />
<br />
|-<br />
| AVR TPI<br />
| Flash/debug<br />
| &mdash;<br />
|<br />
| bgcolor="red" | 0%<br />
| Atmel Tiny Programming Interface (TPI) protocol.<br />
|<br />
<br />
|-<br />
| FWH<br />
| PC<br />
| &mdash;<br />
|<br />
| bgcolor="red" | 0%<br />
|<br />
|<br />
<br />
|-<br />
| ISA<br />
| PC<br />
| &mdash;<br />
|<br />
| bgcolor="red" | 0%<br />
|<br />
|<br />
<br />
|-<br />
| PCI<br />
| PC<br />
| &mdash;<br />
|<br />
| bgcolor="red" | 0%<br />
|<br />
|<br />
<br />
|-<br />
| SMBus<br />
| PC<br />
| &mdash;<br />
|<br />
| bgcolor="red" | 0%<br />
|<br />
|<br />
<br />
|-<br />
| IDE<br />
| PC<br />
| &mdash;<br />
|<br />
| bgcolor="red" | 0%<br />
|<br />
|<br />
<br />
|-<br />
| SCSI<br />
| PC<br />
| &mdash;<br />
|<br />
| bgcolor="red" | 0%<br />
|<br />
|<br />
<br />
|-<br />
| [https://en.wikipedia.org/wiki/Platform_Environment_Control_Interface PECI]<br />
| PC<br />
| &mdash;<br />
|<br />
| bgcolor="red" | 0%<br />
| Platform Environment Control Interface<br />
|<br />
<br />
|-<br />
| [https://en.wikipedia.org/wiki/SVID SVID]<br />
| PC<br />
| &mdash;<br />
|<br />
| bgcolor="red" | 0%<br />
| Serial Voltage Identification<br />
|<br />
<br />
|-<br />
| [[Protocol_decoder:mfm|MFM]]<br />
| PC<br />
| &mdash;<br />
|<br />
| bgcolor="yellow" | 90%<br />
| Floppy disk FM and [https://en.wikipedia.org/wiki/Modified_Frequency_Modulation MFM].<br />
| Work in progress (David Wiens).<br />
<br />
|-<br />
| HD Audio<br />
| Audio<br />
| &mdash;<br />
|<br />
| bgcolor="red" | 0%<br />
|<br />
|<br />
<br />
|-<br />
| Nokia NRC17<br />
| IR<br />
| &mdash;<br />
|<br />
| bgcolor="red" | 0%<br />
|<br />
|<br />
<br />
|-<br />
| Sony SIRC<br />
| IR<br />
| &mdash;<br />
|<br />
| bgcolor="red" | 0%<br />
|<br />
|<br />
<br />
|-<br />
| Philips RC-MM<br />
| IR<br />
| &mdash;<br />
|<br />
| bgcolor="red" | 0%<br />
|<br />
|<br />
<br />
|-<br />
| Philips RECS80<br />
| IR<br />
| &mdash;<br />
|<br />
| bgcolor="red" | 0%<br />
|<br />
|<br />
<br />
|-<br />
| [http://en.wikipedia.org/wiki/Infrared_Data_Association IrDA]<br />
| Misc<br />
| &mdash;<br />
|<br />
| bgcolor="red" | 0%<br />
|<br />
|<br />
<br />
|-<br />
| HD44780<br />
| Displays<br />
| &mdash;<br />
|<br />
| bgcolor="red" | 0%<br />
| [http://en.wikipedia.org/wiki/HD44780_Character_LCD HD44780 character LCD] protocol<br />
|<br />
<br />
|-<br />
| [[Protocol_decoder:Pcf8814|PCF8814]]<br />
| Displays<br />
| &mdash;<br />
| pcf8814<br />
| bgcolor="yellow" | 50%<br />
| Philips PCF8814 65 x 96 pixels matrix LCD driver<br />
| Work in progress (Uwe Hermann).<br />
<br />
|-<br />
| [[Protocol_decoder:Pcf8814_lcd|PCF8814 LCD]]<br />
| Displays<br />
| pcf8814<br />
| pcf8814_lcd<br />
| bgcolor="yellow" | 50%<br />
| Philips PCF8814 65 x 96 pixels matrix LCD driver<br />
| Work in progress (Uwe Hermann).<br />
<br />
|-<br />
| [https://en.wikipedia.org/wiki/RDM_%28lighting%29 RDM]<br />
| Industrial Lighting<br />
| &mdash;<br />
| rdm<br />
| bgcolor="red" | 0%<br />
|<br />
| <br />
<br />
|-<br />
| [https://en.wikipedia.org/wiki/NMEA_0183 NMEA 0183]<br />
| GPS<br />
| uart<br />
| nmea0183<br />
| bgcolor="red" | 0%<br />
|<br />
|<br />
<br />
|-<br />
| [[Protocol_decoder:Nmea2000|NMEA2000]]<br />
| Marine<br />
| can<br />
| nmea2000<br />
| bgcolor="red" | 0%<br />
| [https://en.wikipedia.org/wiki/NMEA_2000 NMEA 2000 Wikipedia page]<br />
|<br />
<br />
|-<br />
| [https://en.wikipedia.org/wiki/Digital_Command_Control DCC]<br />
| Trains<br />
| &mdash;<br />
| dcc<br />
| bgcolor="red" | 0%<br />
|<br />
|<br />
<br />
|-<br />
| [https://en.wikipedia.org/wiki/Train_Communication_Network MVB]<br />
| Trains<br />
| &mdash;<br />
| mvb<br />
| bgcolor="red" | 0%<br />
| Multifunction Vehicle Bus<br />
|<br />
<br />
|-<br />
| [https://en.wikipedia.org/wiki/Train_Communication_Network WTB]<br />
| Trains<br />
| &mdash;<br />
| wtb<br />
| bgcolor="red" | 0%<br />
| Wire Train Bus<br />
|<br />
<br />
|-<br />
| [https://en.wikipedia.org/wiki/C-Bus_%28protocol%29 C-Bus]<br />
| Home automation<br />
| &mdash;<br />
| cbus<br />
| bgcolor="red" | 0%<br />
|<br />
|<br />
<br />
|-<br />
| [https://en.wikipedia.org/wiki/X10_%28industry_standard%29 X10]<br />
| Home automation<br />
| &mdash;<br />
| x10<br />
| bgcolor="red" | 0%<br />
|<br />
|<br />
<br />
|-<br />
| [https://en.wikipedia.org/wiki/LonWorks LonWorks]<br />
| Home automation<br />
| &mdash;<br />
| lonworks<br />
| bgcolor="red" | 0%<br />
|<br />
|<br />
<br />
|-<br />
| [https://en.wikipedia.org/wiki/S-Bus S-Bus]<br />
| Home automation<br />
| &mdash;<br />
| sbus<br />
| bgcolor="red" | 0%<br />
|<br />
|<br />
<br />
|-<br />
| [https://en.wikipedia.org/wiki/Meter-Bus M-Bus]<br />
| Automation<br />
| &mdash;<br />
| mbus<br />
| bgcolor="red" | 0%<br />
|<br />
|<br />
<br />
|-<br />
| [https://en.wikipedia.org/wiki/Modbus Modbus ASCII]<br />
| Automation<br />
| uart<br />
| modbus<br />
| bgcolor="red" | 0%<br />
|<br />
|<br />
<br />
|-<br />
| [https://en.wikipedia.org/wiki/Modbus Modbus TCP]<br />
| Automation<br />
| ip<br />
| modbus<br />
| bgcolor="red" | 0%<br />
|<br />
|<br />
<br />
|-<br />
| [https://en.wikipedia.org/wiki/Highway_Addressable_Remote_Transducer_Protocol HART protocol]<br />
| Automation<br />
| &mdash;<br />
| hart<br />
| bgcolor="red" | 0%<br />
|<br />
|<br />
<br />
|-<br />
| [https://en.wikipedia.org/wiki/INTERBUS INTERBUS]<br />
| Automation<br />
| &mdash;<br />
| interbus<br />
| bgcolor="red" | 0%<br />
|<br />
|<br />
<br />
|-<br />
| [https://en.wikipedia.org/wiki/DirectNET_Protocol DirectNET]<br />
| Automation<br />
| uart<br />
| directnet<br />
| bgcolor="red" | 0%<br />
|<br />
|<br />
<br />
|-<br />
| [https://en.wikipedia.org/wiki/KNX_%28standard%29 KNX]<br />
| Automation<br />
| various<br />
| knx<br />
| bgcolor="red" | 0%<br />
|<br />
|<br />
<br />
|-<br />
| [https://en.wikipedia.org/wiki/Bacnet BACnet]<br />
| Automation<br />
| <br />
| bacnet<br />
| bgcolor="red" | 0%<br />
|<br />
|<br />
<br />
|-<br />
| [https://en.wikipedia.org/wiki/OpenTherm OpenTherm]<br />
| Automation<br />
| &mdash;<br />
| opentherm<br />
| bgcolor="red" | 0%<br />
|<br />
|<br />
<br />
|-<br />
| [https://en.wikipedia.org/wiki/EBUS_%28serial_buses%29 EBUS]<br />
| Automation<br />
| uart<br />
| ebus<br />
| bgcolor="red" | 0%<br />
|<br />
|<br />
<br />
|-<br />
| [https://en.wikipedia.org/wiki/Attachment_Unit_Interface AUI]<br />
| Networking<br />
| &mdash;<br />
| aui<br />
| bgcolor="red" | 0%<br />
| Attachment Unit Interface<br />
|<br />
<br />
|-<br />
| [https://en.wikipedia.org/wiki/Medium_Dependent_Interface MDI]<br />
| Networking<br />
| &mdash;<br />
| mdi<br />
| bgcolor="red" | 0%<br />
| Medium Dependent Interface<br />
|<br />
<br />
|-<br />
| [https://en.wikipedia.org/wiki/Media_Independent_Interface MII]<br />
| Networking<br />
| &mdash;<br />
| mii<br />
| bgcolor="red" | 0%<br />
| Media Independent Interface<br />
|<br />
<br />
|-<br />
| [https://en.wikipedia.org/wiki/Gigabit_Media_Independent_Interface#Gigabit_Media_Independent_Interface GMII]<br />
| Networking<br />
| &mdash;<br />
| gmii<br />
| bgcolor="red" | 0%<br />
| Gigabit Media Independent Interface<br />
|<br />
<br />
|-<br />
| [https://en.wikipedia.org/wiki/10_Gigabit_Media_Independent_Interface#10_Gigabit_Media_Independent_Interface XGMII]<br />
| Networking<br />
| &mdash;<br />
| xgmii<br />
| bgcolor="red" | 0%<br />
| 10 Gigabit Media Independent Interface<br />
|<br />
<br />
|-<br />
| [[Protocol_decoder:esp8266|ESP8266]]<br />
| Wireless<br />
| uart<br />
| esp8266<br />
| bgcolor="red" | 0%<br />
| WiFi Serial Transceiver<br />
|<br />
<br />
|-<br />
| [[Protocol Decoder:tmds|TMDS (HDMI / DVI Pixel Data)]]<br />
| Display<br />
| tmds<br />
| &mdash;<br />
| bgcolor="orange" | 1%<br />
| https://github.com/mithro/tmds_encoding<br />
| Work in progress ([[User:Mithro|mithro]])<br />
<br />
|-<br />
| [[Protocol Decoder:Easymatic|Easymatic]]<br />
| Home automation<br />
| uart<br />
| easymatic<br />
| bgcolor="red" | 10%<br />
| <br />
| Work in progress (Platypus)<br />
<br />
|-<br />
| [[Protocol Decoder:DDC/CI|DDC/CI]]<br />
| PC<br />
| i2c<br />
| &mdash;<br />
| bgcolor="red" | 0%<br />
| <br />
|<br />
<br />
|-<br />
| Kenwood VH<br />
| Misc<br />
| &mdash;<br />
| &mdash;<br />
| bgcolor="yellow" | 50%<br />
| SYSTEM CONTROL protocol used by Kenwood's VH HiFi-system<br />
| In progress: https://github.com/kripton/libsigrokdecode/compare/kenwood_vh<br />
<br />
|-<br />
| IEC 61131-9<br />
| Industrial<br />
| &mdash;<br />
| &mdash;<br />
| bgcolor="red" | 0%<br />
| "Single-drop digital communication interface for small sensors and actuators (SDCI, marketed as IO-Link)" https://en.wikipedia.org/wiki/IEC_61131<br />
| <br />
<br />
|-<br />
| NRZ encoding family<br />
| &mdash;<br />
| &mdash;<br />
| &mdash;<br />
| bgcolor="red" | 0%<br />
| Non-Return-to-Zero and its [https://en.wikipedia.org/wiki/Non-return-to-zero#Variants variants]<br />
| whoever wants it<br />
<br />
|-<br />
| Manchester encoding<br />
| &mdash;<br />
| &mdash;<br />
| &mdash;<br />
| bgcolor="red" | 0%<br />
| [https://en.wikipedia.org/wiki/Manchester_code Manchester code]<br />
| whoever wants it<br />
<br />
|-<br />
| Sony LANC<br />
| &mdash;<br />
| &mdash;<br />
| &mdash;<br />
| bgcolor="red" | 0%<br />
| [http://www.boehmel.de/lanc.htm Sony LANC]<br />
| whoever wants it, contact [[User:Alexdaniel|AlexDaniel]] for more info. You can already decode the raw data by using UART with 9600 baud and no parity, but it'd be better if pulseview displayed the meaning (as in what these commands do)<br />
<br />
|-<br />
| CCD (Chrysler's Collision Detection)<br />
| &mdash;<br />
| &mdash;<br />
| &mdash;<br />
| bgcolor="green" | 99%<br />
| CCD (Chrysler's Collision Detection) is internal bus used on Chrysler cars produced about 1990-2000.<br />
| It works, but decodes only subset of all possible CCD messages, mostly from Jeep ZJ '98. Need a little work to improve performance and better support of API 3. [https://github.com/majekw/sigrok-ccd-pd https://github.com/majekw/sigrok-ccd-pd]<br />
<br />
|}<br />
<br />
__FORCETOC__</div>
Abraxa
https://sigrok.org/w/index.php?title=Protocol_decoder_HOWTO&diff=15340
Protocol decoder HOWTO
2020-07-30T20:26:38Z
<p>Abraxa: Add performance hit when using pseudo-enums</p>
<hr />
<div>This page serves as a quick-start guide for people who want to write their own [[libsigrokdecode]] protocol decoders ([[Protocol decoders|PDs]]).<br />
<br />
It is '''not''' intended to replace the [[Protocol decoder API]] page, but rather to give a short overview/tutorial and some tips.<br />
<br />
== Introduction ==<br />
<br />
Protocol decoders are written entirely in Python (>= 3.0).<br />
<br />
== Files ==<br />
<br />
Every protocol decoder is a Python module and has its own subdirectory in libsigrokdecode's '''[http://sigrok.org/gitweb/?p=libsigrokdecode.git;a=tree;f=decoders decoders]''' directory.<br />
<br />
This is a minimalistic example of how a protocol decoder looks like, in this case the '''[[Protocol_decoder:I2c|i2c]]''' decoder (license header, comments, and some other parts omitted).<br />
<br />
'''Note''': Do not start new protocol decoders by copying code from here. Instead, it's recommended to select an already existing decoder in the source code which is similar to the one you plan to write, and copy that as a starting point.<br />
<br />
=== __init__.py ===<br />
<br />
<small><br />
<source lang="python"><br />
'''<br />
I²C (Inter-Integrated Circuit) is a bidirectional, multi-master<br />
bus using two signals (SCL = serial clock line, SDA = serial data line).<br />
<br />
<Insert notes and hints for the user here><br />
'''<br />
<br />
from .pd import Decoder<br />
</source><br />
</small><br />
<br />
This is a standard Python file, required in every Python module. It contains a module-level docstring, which is accessible by frontends via the [http://sigrok.org/api/libsigrokdecode/unstable/index.html libsigrokdecode API]. It should contain a (very) short description of what the protocol (in this case [[Protocol_decoder:I2c|I²C]]) is about, and some notes and hints for the user of this protocol decoder (which can be shown in GUIs when the user selects/browses different PDs).<br />
<br />
This docstring should '''not''' contain the full, extensive protocol description. Instead, the per-PD wiki page should be used for protocol description, photos of devices or photos of example acquisition setups, and so on. Each decoder has one unique wiki page at the URL '''<nowiki>http://sigrok.org/wiki/Protocol_decoder:<pd></nowiki>''', where '''<pd>''' is the Python module name of the decoder ('''i2c''' in this case). Some examples for such per-PD wiki pages: [[Protocol_decoder:Uart|UART]], [[Protocol_decoder:Pan1321|PAN1321]], [[Protocol_decoder:Mx25lxx05d|MX25Lxx05D]], [[Protocol_decoder:Dcf77|DCF77]].<br />
<br />
The "'''from .pd import Decoder'''" line will make sure the code from '''pd.py''' gets properly imported when this module is used.<br />
<br />
=== pd.py ===<br />
<br />
<small><br />
<source lang="python"><br />
import sigrokdecode as srd<br />
<br />
class Decoder(srd.Decoder):<br />
api_version = 2<br />
id = 'i2c'<br />
name = 'I²C'<br />
longname = 'Inter-Integrated Circuit'<br />
desc = 'Two-wire, multi-master, serial bus.'<br />
license = 'gplv2+'<br />
inputs = ['logic']<br />
outputs = ['i2c']<br />
channels = (<br />
{'id': 'scl', 'name': 'SCL', 'desc': 'Serial clock line'},<br />
{'id': 'sda', 'name': 'SDA', 'desc': 'Serial data line'},<br />
)<br />
optional_channels = ()<br />
options = (<br />
{'id': 'address_format', 'desc': 'Displayed slave address format',<br />
'default': 'shifted', 'values': ('shifted', 'unshifted')},<br />
)<br />
annotations = (<br />
('start', 'Start condition'),<br />
('repeat-start', 'Repeat start condition'),<br />
('stop', 'Stop condition'),<br />
('ack', 'ACK'),<br />
('nack', 'NACK'),<br />
('bit', 'Data/address bit'),<br />
('address-read', 'Address read'),<br />
('address-write', 'Address write'),<br />
('data-read', 'Data read'),<br />
('data-write', 'Data write'),<br />
('warnings', 'Human-readable warnings'),<br />
)<br />
annotation_rows = (<br />
('bits', 'Bits', (5,)),<br />
('addr-data', 'Address/Data', (0, 1, 2, 3, 4, 6, 7, 8, 9)),<br />
('warnings', 'Warnings', (10,)),<br />
)<br />
<br />
def __init__(self, **kwargs):<br />
self.state = 'FIND START'<br />
# And various other variable initializations...<br />
<br />
def metadata(self, key, value):<br />
if key == srd.SRD_CONF_SAMPLERATE:<br />
self.samplerate = value<br />
<br />
def start(self):<br />
self.out_ann = self.register(srd.OUTPUT_ANN)<br />
<br />
def decode(self, ss, es, data):<br />
for self.samplenum, (scl, sda) in data:<br />
# Decode the samples.<br />
</source><br />
</small><br />
<br />
The recommended name for the actual decoder file is '''pd.py'''. This file contains some meta information about the decoder, and the actual code itself, mostly in the '''decode()''' method.<br />
<br />
If needed, large unwieldy lists or similar things can also be factored out into another *.py file (examples: [http://sigrok.org/gitweb/?p=libsigrokdecode.git;a=tree;f=decoders/midi midi], [http://sigrok.org/gitweb/?p=libsigrokdecode.git;a=tree;f=decoders/z80 z80]).<br />
<br />
== Copyright and license ==<br />
<br />
Every protocol decoder '''must''' come with source code in the form of '''*.py''' files. No pre-compiled code should be present, Python or otherwise. The PD must not use any helpers that are not provided as source code under the same license as the PD itself.<br />
<br />
The '''<tt>Decoder</tt>''' class must have a license declaration (see above), stating the license under which all the contents in the decoder's directory are provided. This is usually <tt>'gplv2+'</tt> or <tt>'gplv3+'</tt>, whichever you prefer. In either case, the decoder license must be compatible with the [[libsigrokdecode]] license (which is "GPL, version 3 or later").<br />
<br />
== <tt>channels</tt> & <tt>optional_channels</tt> ==<br />
<br />
The following excerpt from the [[Protocol_decoder:spi|SPI]] PD shows how to use '''<tt>channels</tt>''' and '''<tt>optional_channels</tt>'''. To decode SPI, the clock signal is always needed, the chip-select signal is optional and only used when provided. To give the user the flexibility to provide only one of the MOSI/MISO signals, they are both also defined as optional:<br />
<br />
<small><br />
<source lang="python"><br />
class Decoder(srd.Decoder):<br />
...<br />
id = 'spi'<br />
...<br />
channels = (<br />
{'id': 'clk', 'name': 'CLK', 'desc': 'Clock'},<br />
)<br />
optional_channels = (<br />
{'id': 'miso', 'name': 'MISO', 'desc': 'Master in, slave out'},<br />
{'id': 'mosi', 'name': 'MOSI', 'desc': 'Master out, slave in'},<br />
{'id': 'cs', 'name': 'CS#', 'desc': 'Chip-select'},<br />
)<br />
</source><br />
</small><br />
<br />
'''<tt>data</tt>''', the argument of the decoder's [[Protocol decoder API#decode-function|'''<tt>decode()</tt>''']] function that contains the data to decode, is a list of tuples. These tuples contain the (absolute) number of the sample and the data at that sample. To process all samples, the SPI decoder loops over '''<tt>data</tt>''' like this:<br />
<br />
<small><br />
<source lang="python"><br />
def decode(self, ss, es, data):<br />
...<br />
for (self.samplenum, pins) in data:<br />
</source><br />
</small><br />
<br />
'''<tt>channels</tt>''' and '''<tt>optional_channels</tt>''' contain in total four channels, therefore the second member of the tuple is an object of Python's [https://docs.python.org/3/library/stdtypes.html#typebytes '''<tt>bytes</tt>'''] class containing 4 bytes, one for each channel. The decoder unpacks the bytes into the variables '''<tt>clk</tt>''', '''<tt>miso</tt>''', '''<tt>mosi</tt>''', and '''<tt>cs</tt>''' as shown below.<br />
<br />
Then, it checks for the optional channels, if their value is either 0 or 1. If it is not, that optional channel is not provided to the decoder. In the case that neither of them is supplied, an exception is raised:<br />
<br />
<small><br />
<source lang="python"><br />
(clk, miso, mosi, cs) = pins<br />
self.have_miso = (miso in (0, 1))<br />
self.have_mosi = (mosi in (0, 1))<br />
self.have_cs = (cs in (0, 1))<br />
<br />
# Either MISO or MOSI (but not both) can be omitted.<br />
if not (self.have_miso or self.have_mosi):<br />
raise ChannelError('Either MISO or MOSI (or both) pins required.')<br />
</source><br />
</small><br />
<br />
== <tt>annotations</tt> & <tt>annotation_rows</tt> ==<br />
<br />
To make the relation between the '''<tt>annotations</tt>''' and the '''<tt>annotation_rows</tt>''' members of a decoder object more clear, take a look at how the [[Protocol_decoder:Ir_nec|ir_nec]] PD uses them:<br />
<br />
<small><br />
<source lang="python"><br />
class Decoder(srd.Decoder):<br />
...<br />
id = 'ir_nec'<br />
...<br />
annotations = ( # Implicitly assigned annotation type ID<br />
('bit', 'Bit'), # 0<br />
('agc-pulse', 'AGC pulse'), # 1<br />
('longpause', 'Long pause'), # 2<br />
('shortpause', 'Short pause'), # 3<br />
('stop-bit', 'Stop bit'), # 4<br />
('leader-code', 'Leader code'), # 5<br />
('addr', 'Address'), # 6<br />
('addr-inv', 'Address#'), # 7<br />
('cmd', 'Command'), # 8<br />
('cmd-inv', 'Command#'), # 9<br />
('repeat-code', 'Repeat code'), # 10<br />
('remote', 'Remote'), # 11<br />
('warnings', 'Warnings'), # 12<br />
)<br />
annotation_rows = (<br />
('bits', 'Bits', (0, 1, 2, 3, 4)),<br />
('fields', 'Fields', (5, 6, 7, 8, 9, 10)),<br />
('remote', 'Remote', (11,)),<br />
('warnings', 'Warnings', (12,)),<br />
)<br />
</source><br />
</small><br />
<br />
It groups the first five annotation types together into the '''<tt>bits</tt>''' row and the next six into the '''<tt>fields</tt>''' row. The rows '''<tt>remote</tt>''' and '''<tt>warnings</tt>''' both only contain one annotation type.<br />
<br />
Without '''<tt>annotation_rows</tt>''', [[PulseView]] would have to put each annotation type in its own row (which is unhandy if the decoder has many annotations) or it would have to put them all on the same row (which would result in unreadable output due to overlaps). But because of the '''<tt>annotation_rows</tt>''', the output of the [[Protocol_decoder:Ir_nec|ir_nec]] decoder is grouped together as shown in the following picture (note how different annotation types, distinguishable by their different colors, share the same row):<br />
<br />
[[File:Pv example ir nec cropped.png]]<br />
<br />
<br />
<br />
However, as you can imagine, handling numeric IDs is quite bothersome - especially if they change and all affected IDs have to be changed throughout the PD. To avoid this, you can use a pseudo-enum:<br />
<br />
<small><br />
<source lang="python"><br />
ann_bit, ann_agc_pulse, ann_long_pause, ann_short_pause, ann_stop_bit, ann_leader_code, ann_addr, ann_addr_inv, ann_cmd, ann_cmd_inv, ann_repeat_code, ann_remote, ann_warning = range(13)<br />
<br />
class Decoder(srd.Decoder):<br />
...<br />
id = 'ir_nec'<br />
...<br />
annotations = ( # Implicitly assigned annotation type ID<br />
('bit', 'Bit'), # 0 = ann_bit<br />
('agc-pulse', 'AGC pulse'), # 1 = ann_agc_pulse<br />
('longpause', 'Long pause'), # 2 = ann_long_pause<br />
('shortpause', 'Short pause'), # 3 = ann_short_pause<br />
('stop-bit', 'Stop bit'), # 4 = ann_stop_bit<br />
('leader-code', 'Leader code'), # 5 = ann_leader_code<br />
('addr', 'Address'), # 6 = ann_addr<br />
('addr-inv', 'Address#'), # 7 = ann_addr_inv<br />
('cmd', 'Command'), # 8 = ann_cmd<br />
('cmd-inv', 'Command#'), # 9 = ann_cmd_inv<br />
('repeat-code', 'Repeat code'), # 10 = ann_repeat_code<br />
('remote', 'Remote'), # 11 = ann_remote<br />
('warnings', 'Warnings'), # 12 = ann_warning<br />
)<br />
annotation_rows = (<br />
('bits', 'Bits', (ann_bit, ann_agc_pulse, ann_long_pause, ann_short_pause, ann_stop_bit)),<br />
('fields', 'Fields', (ann_leader_code, ann_addr, ann_addr_inv, ann_cmd, ann_cmd_inv, ann_repeat_code)),<br />
('remote', 'Remote', (ann_remote,)),<br />
('warnings', 'Warnings', (ann_warning,)),<br />
)<br />
</source><br />
</small><br />
<br />
This way, all you need to ensure is that the order of the enum entries is the same as in the annotations array and you're set. There is one downside, though, as always: pseudo-enums are pitifully slow in python, so if you use them and you use them in a lot of places, your protocol decoder may be significantly slower (up to 4x has been observed), so choose wisely.<br />
<br />
== Random notes, tips and tricks ==<br />
<br />
* You should usually only use '''raise''' in a protocol decoder to raise exceptions in cases which are a clear bug in how the protocol decoder is invoked (e.g. if no samplerate was provided for a PD which needs the samplerate, or if some of the required channels were not provided by the user, and so on).<br />
* Use the has_channel() method to check whether an optional channel has been provided or not.<br />
* A simple and fast way to calculate a parity (i.e., count the number of 1 bits) over a number (0x55 in this example) is:<source lang="python"><br />
ones = bin(0x55).count('1')<br />
</source><br />
* A simple function to convert a BCD number (max. 8 bits) to an integer is:<source lang="python"><br />
def bcd2int(b):<br />
return (b & 0x0f) + ((b >> 4) * 10)<br />
</source><br />
* An elegant way to convert a sequence of bus pins to a numeric value:<source lang="python"><br />
from functools import reduce<br />
<br />
def reduce_bus(bus):<br />
if 0xFF in bus:<br />
return None # unassigned bus channels<br />
else:<br />
return reduce(lambda a, b: (a << 1) | b, reversed(bus))<br />
</source><br />
* A nice way to construct method names according to e.g. protocol commands is (assuming '''cmd''' is 8, this would call the function '''self.handle_cmd_0x08'''):<source lang="python"><br />
fn = getattr(self, 'handle_cmd_0x%02x' % cmd);<br />
fn(arg1, arg2, ...)<br />
</source><br />
* A cheap way to deal with Python's lack of enumerations (useful for states, pin indices, annotation indices, etc.):<source lang="python"><br />
class Cycle:<br />
NONE, MEMRD, MEMWR, IORD, IOWR, FETCH, INTACK = range(7)<br />
</source>Please be aware, though, that using this mechanism may slow down your decoder significantly. It may make sense to perform some basic profiling to see if this affects you.<br />
* <div id="SIGROKDECODE_DIR"></div>You don't need to reinstall the whole [[libsigrokdecode]] project every time you make a change on your decoder. Instead, you can use the environment variable '''<tt>SIGROKDECODE_DIR</tt>''' to point the software to your development directory:<br /><source lang="bash">$ SIGROKDECODE_DIR=/path/to/libsigrokdecode/decoders/ sigrok-cli … -P <decodername></source>Because this environment variable is evaluated by the [[libsigrokdecode]] code itself, it can be used for any program that uses the library, for example when calling [[PulseView]] or the '''<tt>pdtest</tt>''' unit test utility from the [http://sigrok.org/gitweb/?p=sigrok-test.git;a=summary sigrok-test] repository.<br />If you compiled a recent [[libsigrokdecode]] by yourself ([http://sigrok.org/gitweb/?p=libsigrokdecode.git;a=commit;h=40c6ac1d3fbded276dcbff23e8bc099896ab2fb5 newer than this commit]), you can also put decoders into your home directory, without the need for an additional environment variable. On Linux systems, this name follows the [http://standards.freedesktop.org/basedir-spec/latest/ar01s03.html XDG base directory specification], which by default resolves to <tt>~/.local/share/libsigrokdecode/decoders</tt>. If that folder does not exist, you can simply create it and drop your decoders there, in their own subdirectory, like you would do in the libsigrokdecode source tree. On Windows systems additional decoders are read from <tt>%ProgramData%\libsigrokdecode\decoders</tt>.<br />
<br />
* To debug the Python implementation of a decoder during development, maintenance or research either add print() statements at appropriate locations. Or get WinPDB and use the remote debugging feature as outlined below (add this hook somewhere in pd.py, then "File -> Attach" to the running process). Decoders cannot be used in "regular" debuggers since they expect a rather specific environment to execute in, for all of receiving their input as well as having their output saved or presented as well as processing samples (data types, runtime routines). Remote debugging works in both the sigrok-cli and pulseview context. Adding another print() statement before starting the embedded debugger can help identify the moment in time when to attach.<source lang="python"><br />
def __init__():<br />
import rpdb2<br />
rpdb2.start_embedded_debugger("pd")<br />
...<br />
</source><br />
<br />
== Unit tests ==<br />
<br />
In order to keep protocol decoders in a running state even when we make changes to a decoder or libsigrokdecode itself, we use unit tests for as many decoders as we can. These are stored in the [http://sigrok.org/gitweb/?p=sigrok-test.git sigrok-test repository]. If you want to add, modify or run one of them, clone that repository and [https://sigrok.org/gitweb/?p=sigrok-test.git;a=blob;f=README check the README] for documentation.<br />
We greatly appreciate it when you submit unit tests for your decoder so we can keep it in good health!<br />
<br />
== Submitting your decoder ==<br />
<br />
When you've finished your decoder and everything is working nicely, please contribute the decoder to the sigrok project so that other people can benefit from it (and test it, improve upon it, and so on).<br />
<br />
* Send the decoder (preferrably as a patch against the current git HEAD of [[libsigrokdecode]]) to the [https://lists.sourceforge.net/lists/listinfo/sigrok-devel sigrok-devel] mailing list, and/or tell us the location of your git repository containing the decoder (on the '''#sigrok''' IRC channel on FreeNode).<br />
* Please also send us a few example data files (*.sr) and a small README to go with your decoder. We'll need these in order to properly review and test your decoder. Preferrably these files should also come as patches against the latest git HEAD of the [http://sigrok.org/gitweb/?p=sigrok-dumps.git;a=tree sigrok-dumps] repository. See [[Example dumps]] for details.<br />
* Finally, please also consider adding a few "unit tests" for your decoder in the [http://sigrok.org/gitweb/?p=sigrok-test.git;a=tree sigrok-test] repository. These test will automatically run the decoder against various input files specified in '''test.conf''' and check whether the expected output is produced (examples: [http://sigrok.org/gitweb/?p=sigrok-test.git;a=blob;f=decoder/test/rfm12/test.conf rfm12], [http://sigrok.org/gitweb/?p=sigrok-test.git;a=blob;f=decoder/test/nrf24l01/test.conf nrf24l01]). This allows us to notice and fix any regressions in the decoder and/or the [[libsigrokdecode]] backend that may arise over time.<br />
<br />
Thanks a lot!<br />
<br />
[[Category:APIs]]</div>
Abraxa