<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="en">
	<id>https://sigrok.org/w/api.php?action=feedcontributions&amp;feedformat=atom&amp;user=Joelholdsworth</id>
	<title>sigrok - User contributions [en]</title>
	<link rel="self" type="application/atom+xml" href="https://sigrok.org/w/api.php?action=feedcontributions&amp;feedformat=atom&amp;user=Joelholdsworth"/>
	<link rel="alternate" type="text/html" href="https://sigrok.org/wiki/Special:Contributions/Joelholdsworth"/>
	<updated>2026-04-21T04:06:06Z</updated>
	<subtitle>User contributions</subtitle>
	<generator>MediaWiki 1.37.1</generator>
	<entry>
		<id>https://sigrok.org/w/index.php?title=Linux&amp;diff=10502</id>
		<title>Linux</title>
		<link rel="alternate" type="text/html" href="https://sigrok.org/w/index.php?title=Linux&amp;diff=10502"/>
		<updated>2015-01-23T23:45:52Z</updated>

		<summary type="html">&lt;p&gt;Joelholdsworth: /* PulseView */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;This page describes how to build/install the sigrok subprojects on Linux.&lt;br /&gt;
&lt;br /&gt;
== Distribution packages ==&lt;br /&gt;
&lt;br /&gt;
See [[Downloads#Binaries_and_distribution_packages|Downloads]].&lt;br /&gt;
&lt;br /&gt;
== Building ==&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style=&amp;quot;background-color:#ff6666&amp;quot;&amp;gt;&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;IMPORTANT&amp;#039;&amp;#039;&amp;#039;: 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 current [http://sigrok.org/gitweb/?p=libsigrok.git;a=blob;f=README libsigrok README] for the full list of requirements.&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== libserialport ===&lt;br /&gt;
==== Installing the [[Building#Build_requirements|requirements]] ====&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Debian/Ubuntu/Mint&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
 $ &amp;#039;&amp;#039;&amp;#039;sudo apt-get install git-core gcc make autoconf automake libtool&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Arch&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
 # &amp;#039;&amp;#039;&amp;#039;pacman -S git gcc make autoconf automake libtool&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
==== Building ====&lt;br /&gt;
&lt;br /&gt;
 $ &amp;#039;&amp;#039;&amp;#039;git clone git://sigrok.org/libserialport&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
 $ &amp;#039;&amp;#039;&amp;#039;cd libserialport&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
 $ &amp;#039;&amp;#039;&amp;#039;./autogen.sh&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
 $ &amp;#039;&amp;#039;&amp;#039;./configure&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
 $ &amp;#039;&amp;#039;&amp;#039;make&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
 $ &amp;#039;&amp;#039;&amp;#039;sudo make install&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
=== libsigrok ===&lt;br /&gt;
&lt;br /&gt;
==== Installing the [[Building#Build_requirements|requirements]] ====&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Debian/Ubuntu&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
 $ &amp;#039;&amp;#039;&amp;#039;sudo apt-get install git-core gcc g++ make autoconf autoconf-archive \&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
   &amp;#039;&amp;#039;&amp;#039;automake libtool pkg-config libglib2.0-dev libglibmm-2.4-dev libzip-dev \&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
   &amp;#039;&amp;#039;&amp;#039;libusb-1.0-0-dev libftdi-dev check doxygen python-numpy\&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
   &amp;#039;&amp;#039;&amp;#039;python-dev python-gi-dev python-setuptools swig default-jdk&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Fedora (18, 19)&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
 $ &amp;#039;&amp;#039;&amp;#039;sudo yum install git gcc make autoconf automake libtool pkgconfig glib2-devel \&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
   &amp;#039;&amp;#039;&amp;#039;libzip-devel libusb1-devel libftdi-devel check-devel&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Arch&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
 # &amp;#039;&amp;#039;&amp;#039;pacman -S git gcc make autoconf autoconf-archive automake libtool \&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
   &amp;#039;&amp;#039;&amp;#039;pkg-config glib2 glibmm libzip libusb libftdi check doxygen python-numpy \&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
   &amp;#039;&amp;#039;&amp;#039;python-setuptools swig jdk8-openjdk&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
==== Building ====&lt;br /&gt;
&lt;br /&gt;
 $ &amp;#039;&amp;#039;&amp;#039;git clone git://sigrok.org/libsigrok&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
 $ &amp;#039;&amp;#039;&amp;#039;cd libsigrok&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
 $ &amp;#039;&amp;#039;&amp;#039;./autogen.sh&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
 $ &amp;#039;&amp;#039;&amp;#039;./configure&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
 $ &amp;#039;&amp;#039;&amp;#039;make&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
 $ &amp;#039;&amp;#039;&amp;#039;sudo make install&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
==== Device access ====&lt;br /&gt;
&lt;br /&gt;
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.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style=&amp;quot;background-color:#ff6666&amp;quot;&amp;gt;&lt;br /&gt;
Please see [[Building#FAQ]] if you are sure that you installed all requirements properly but still encounter some issues.&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== libsigrokdecode ===&lt;br /&gt;
==== Installing the [[Building#Build_requirements|requirements]] ====&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Debian/Ubuntu&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
 $ &amp;#039;&amp;#039;&amp;#039;sudo apt-get install git-core gcc make autoconf automake libtool pkg-config libglib2.0-dev python3-dev&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Fedora (18, 19, 20)&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
 $ &amp;#039;&amp;#039;&amp;#039;sudo yum install git gcc make autoconf automake libtool pkgconfig glib2-devel python3-devel check-devel&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Arch&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
 # &amp;#039;&amp;#039;&amp;#039;pacman -S git gcc make autoconf automake libtool pkgconfig glib2 python check&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
==== Building ====&lt;br /&gt;
&lt;br /&gt;
 $ &amp;#039;&amp;#039;&amp;#039;git clone git://sigrok.org/libsigrokdecode&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
 $ &amp;#039;&amp;#039;&amp;#039;cd libsigrokdecode&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
 $ &amp;#039;&amp;#039;&amp;#039;./autogen.sh&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
 $ &amp;#039;&amp;#039;&amp;#039;./configure&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
 $ &amp;#039;&amp;#039;&amp;#039;make&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
 $ &amp;#039;&amp;#039;&amp;#039;sudo make install&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
=== sigrok-cli ===&lt;br /&gt;
&lt;br /&gt;
==== Installing the [[Building#Build_requirements|requirements]] ====&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Debian/Ubuntu&amp;#039;&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
 $ &amp;#039;&amp;#039;&amp;#039;sudo apt-get install git-core gcc make autoconf automake libtool pkg-config libglib2.0-dev&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Fedora (18, 19)&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
 $ &amp;#039;&amp;#039;&amp;#039;sudo yum install git gcc make autoconf automake libtool pkgconfig glib2-devel&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;OpenSuse&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
 $ &amp;#039;&amp;#039;&amp;#039;zypper install git gcc make autoconf automake libtool pkgconfig glib2-devel&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Arch&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
 # &amp;#039;&amp;#039;&amp;#039;pacman -S git gcc make autoconf automake libtool pkgconfig glib2&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
==== Building ====&lt;br /&gt;
&lt;br /&gt;
 $ &amp;#039;&amp;#039;&amp;#039;git clone git://sigrok.org/sigrok-cli&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
 $ &amp;#039;&amp;#039;&amp;#039;cd sigrok-cli&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
 $ &amp;#039;&amp;#039;&amp;#039;./autogen.sh&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
 $ &amp;#039;&amp;#039;&amp;#039;./configure&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
 $ &amp;#039;&amp;#039;&amp;#039;make&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
 $ &amp;#039;&amp;#039;&amp;#039;sudo make install&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
=== PulseView ===&lt;br /&gt;
==== Installing the [[Building#Build_requirements|requirements]] ====&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Debian/Ubuntu&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
 $ &amp;#039;&amp;#039;&amp;#039;sudo apt-get install git-core g++ make cmake libtool pkg-config \&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
   &amp;#039;&amp;#039;&amp;#039;libglib2.0-dev libqt4-dev libboost-test-dev libboost-thread-dev\&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
   &amp;#039;&amp;#039;&amp;#039;libboost-filesystem-dev libboost-system-dev&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Fedora (18, 19)&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
 $ &amp;#039;&amp;#039;&amp;#039;sudo yum install git gcc cmake libtool pkgconfig glib2-devel \&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
   &amp;#039;&amp;#039;&amp;#039;boost-devel qt-devel boost-devel&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Arch&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
 # &amp;#039;&amp;#039;&amp;#039;pacman -S git gcc make cmake libtool pkgconfig glib2 boost qt5 \&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
   &amp;#039;&amp;#039;&amp;#039;qt5-base qt5-svg&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
==== Building ====&lt;br /&gt;
&lt;br /&gt;
 $ &amp;#039;&amp;#039;&amp;#039;git clone git://sigrok.org/pulseview&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
 $ &amp;#039;&amp;#039;&amp;#039;cd pulseview&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
 $ &amp;#039;&amp;#039;&amp;#039;cmake .&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
 $ &amp;#039;&amp;#039;&amp;#039;make&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
 $ &amp;#039;&amp;#039;&amp;#039;sudo make install&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
== FAQ ==&lt;br /&gt;
&lt;br /&gt;
=== Warning: AX_CXX_COMPILE_STDCXX_11 macro not found ===&lt;br /&gt;
&lt;br /&gt;
See [[Building#Warning:_AX_CXX_COMPILE_STDCXX_11_macro_not_found|here]].&lt;br /&gt;
&lt;br /&gt;
=== Warning: AX_CXX_COMPILE_STDCXX_11 macro is too old ===&lt;br /&gt;
&lt;br /&gt;
See [[Building#Warning:_AX_CXX_COMPILE_STDCXX_11_macro_is_too_old|here]].&lt;br /&gt;
&lt;br /&gt;
=== Cannot open shared object file: No such file or directory ===&lt;br /&gt;
&lt;br /&gt;
See [[Building#Cannot_open_shared_object_file:_No_such_file_or_directory|here]].&lt;br /&gt;
&lt;br /&gt;
=== TEST FAILED: .../lib/python2.7/site-packages/ does NOT support .pth files ===&lt;br /&gt;
&lt;br /&gt;
See [[Building#TEST_FAILED:_....2Flib.2Fpython2.7.2Fsite-packages.2F_does_NOT_support_.pth_files|here]].&lt;br /&gt;
&lt;br /&gt;
=== Cannot access USB / serial / other device ===&lt;br /&gt;
&lt;br /&gt;
See [[Building#Cannot_access_USB_.2F_serial_.2F_other_device|here]].&lt;/div&gt;</summary>
		<author><name>Joelholdsworth</name></author>
	</entry>
	<entry>
		<id>https://sigrok.org/w/index.php?title=Linux&amp;diff=10501</id>
		<title>Linux</title>
		<link rel="alternate" type="text/html" href="https://sigrok.org/w/index.php?title=Linux&amp;diff=10501"/>
		<updated>2015-01-23T23:44:44Z</updated>

		<summary type="html">&lt;p&gt;Joelholdsworth: /* Installing the requirements */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;This page describes how to build/install the sigrok subprojects on Linux.&lt;br /&gt;
&lt;br /&gt;
== Distribution packages ==&lt;br /&gt;
&lt;br /&gt;
See [[Downloads#Binaries_and_distribution_packages|Downloads]].&lt;br /&gt;
&lt;br /&gt;
== Building ==&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style=&amp;quot;background-color:#ff6666&amp;quot;&amp;gt;&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;IMPORTANT&amp;#039;&amp;#039;&amp;#039;: 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 current [http://sigrok.org/gitweb/?p=libsigrok.git;a=blob;f=README libsigrok README] for the full list of requirements.&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== libserialport ===&lt;br /&gt;
==== Installing the [[Building#Build_requirements|requirements]] ====&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Debian/Ubuntu/Mint&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
 $ &amp;#039;&amp;#039;&amp;#039;sudo apt-get install git-core gcc make autoconf automake libtool&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Arch&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
 # &amp;#039;&amp;#039;&amp;#039;pacman -S git gcc make autoconf automake libtool&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
==== Building ====&lt;br /&gt;
&lt;br /&gt;
 $ &amp;#039;&amp;#039;&amp;#039;git clone git://sigrok.org/libserialport&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
 $ &amp;#039;&amp;#039;&amp;#039;cd libserialport&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
 $ &amp;#039;&amp;#039;&amp;#039;./autogen.sh&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
 $ &amp;#039;&amp;#039;&amp;#039;./configure&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
 $ &amp;#039;&amp;#039;&amp;#039;make&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
 $ &amp;#039;&amp;#039;&amp;#039;sudo make install&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
=== libsigrok ===&lt;br /&gt;
&lt;br /&gt;
==== Installing the [[Building#Build_requirements|requirements]] ====&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Debian/Ubuntu&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
 $ &amp;#039;&amp;#039;&amp;#039;sudo apt-get install git-core gcc g++ make autoconf autoconf-archive \&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
   &amp;#039;&amp;#039;&amp;#039;automake libtool pkg-config libglib2.0-dev libglibmm-2.4-dev libzip-dev \&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
   &amp;#039;&amp;#039;&amp;#039;libusb-1.0-0-dev libftdi-dev check doxygen python-numpy\&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
   &amp;#039;&amp;#039;&amp;#039;python-dev python-gi-dev python-setuptools swig default-jdk&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Fedora (18, 19)&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
 $ &amp;#039;&amp;#039;&amp;#039;sudo yum install git gcc make autoconf automake libtool pkgconfig glib2-devel \&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
   &amp;#039;&amp;#039;&amp;#039;libzip-devel libusb1-devel libftdi-devel check-devel&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Arch&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
 # &amp;#039;&amp;#039;&amp;#039;pacman -S git gcc make autoconf autoconf-archive automake libtool \&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
   &amp;#039;&amp;#039;&amp;#039;pkg-config glib2 glibmm libzip libusb libftdi check doxygen python-numpy \&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
   &amp;#039;&amp;#039;&amp;#039;python-setuptools swig jdk8-openjdk&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
==== Building ====&lt;br /&gt;
&lt;br /&gt;
 $ &amp;#039;&amp;#039;&amp;#039;git clone git://sigrok.org/libsigrok&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
 $ &amp;#039;&amp;#039;&amp;#039;cd libsigrok&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
 $ &amp;#039;&amp;#039;&amp;#039;./autogen.sh&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
 $ &amp;#039;&amp;#039;&amp;#039;./configure&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
 $ &amp;#039;&amp;#039;&amp;#039;make&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
 $ &amp;#039;&amp;#039;&amp;#039;sudo make install&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
==== Device access ====&lt;br /&gt;
&lt;br /&gt;
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.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style=&amp;quot;background-color:#ff6666&amp;quot;&amp;gt;&lt;br /&gt;
Please see [[Building#FAQ]] if you are sure that you installed all requirements properly but still encounter some issues.&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== libsigrokdecode ===&lt;br /&gt;
==== Installing the [[Building#Build_requirements|requirements]] ====&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Debian/Ubuntu&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
 $ &amp;#039;&amp;#039;&amp;#039;sudo apt-get install git-core gcc make autoconf automake libtool pkg-config libglib2.0-dev python3-dev&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Fedora (18, 19, 20)&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
 $ &amp;#039;&amp;#039;&amp;#039;sudo yum install git gcc make autoconf automake libtool pkgconfig glib2-devel python3-devel check-devel&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Arch&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
 # &amp;#039;&amp;#039;&amp;#039;pacman -S git gcc make autoconf automake libtool pkgconfig glib2 python check&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
==== Building ====&lt;br /&gt;
&lt;br /&gt;
 $ &amp;#039;&amp;#039;&amp;#039;git clone git://sigrok.org/libsigrokdecode&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
 $ &amp;#039;&amp;#039;&amp;#039;cd libsigrokdecode&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
 $ &amp;#039;&amp;#039;&amp;#039;./autogen.sh&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
 $ &amp;#039;&amp;#039;&amp;#039;./configure&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
 $ &amp;#039;&amp;#039;&amp;#039;make&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
 $ &amp;#039;&amp;#039;&amp;#039;sudo make install&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
=== sigrok-cli ===&lt;br /&gt;
&lt;br /&gt;
==== Installing the [[Building#Build_requirements|requirements]] ====&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Debian/Ubuntu&amp;#039;&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
 $ &amp;#039;&amp;#039;&amp;#039;sudo apt-get install git-core gcc make autoconf automake libtool pkg-config libglib2.0-dev&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Fedora (18, 19)&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
 $ &amp;#039;&amp;#039;&amp;#039;sudo yum install git gcc make autoconf automake libtool pkgconfig glib2-devel&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;OpenSuse&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
 $ &amp;#039;&amp;#039;&amp;#039;zypper install git gcc make autoconf automake libtool pkgconfig glib2-devel&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Arch&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
 # &amp;#039;&amp;#039;&amp;#039;pacman -S git gcc make autoconf automake libtool pkgconfig glib2&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
==== Building ====&lt;br /&gt;
&lt;br /&gt;
 $ &amp;#039;&amp;#039;&amp;#039;git clone git://sigrok.org/sigrok-cli&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
 $ &amp;#039;&amp;#039;&amp;#039;cd sigrok-cli&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
 $ &amp;#039;&amp;#039;&amp;#039;./autogen.sh&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
 $ &amp;#039;&amp;#039;&amp;#039;./configure&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
 $ &amp;#039;&amp;#039;&amp;#039;make&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
 $ &amp;#039;&amp;#039;&amp;#039;sudo make install&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
=== PulseView ===&lt;br /&gt;
==== Installing the [[Building#Build_requirements|requirements]] ====&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Debian/Ubuntu&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
 $ &amp;#039;&amp;#039;&amp;#039;sudo apt-get install git-core g++ make cmake libtool pkg-config \&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
   &amp;#039;&amp;#039;&amp;#039;libglib2.0-dev libqt4-dev libboost-test-dev libboost-thread-dev\&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
   &amp;#039;&amp;#039;&amp;#039;libboost-filesystem-dev libboost-system-dev&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Fedora (18, 19)&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
 $ &amp;#039;&amp;#039;&amp;#039;sudo yum install git gcc cmake libtool pkgconfig glib2-devel \&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
   &amp;#039;&amp;#039;&amp;#039;boost-devel qt-devel boost-devel&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Arch&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
 # &amp;#039;&amp;#039;&amp;#039;pacman -S git gcc make cmake libtool pkgconfig glib2 boost qt5 \&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
   &amp;#039;&amp;#039;&amp;#039;qt5-svg&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
==== Building ====&lt;br /&gt;
&lt;br /&gt;
 $ &amp;#039;&amp;#039;&amp;#039;git clone git://sigrok.org/pulseview&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
 $ &amp;#039;&amp;#039;&amp;#039;cd pulseview&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
 $ &amp;#039;&amp;#039;&amp;#039;cmake .&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
 $ &amp;#039;&amp;#039;&amp;#039;make&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
 $ &amp;#039;&amp;#039;&amp;#039;sudo make install&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
== FAQ ==&lt;br /&gt;
&lt;br /&gt;
=== Warning: AX_CXX_COMPILE_STDCXX_11 macro not found ===&lt;br /&gt;
&lt;br /&gt;
See [[Building#Warning:_AX_CXX_COMPILE_STDCXX_11_macro_not_found|here]].&lt;br /&gt;
&lt;br /&gt;
=== Warning: AX_CXX_COMPILE_STDCXX_11 macro is too old ===&lt;br /&gt;
&lt;br /&gt;
See [[Building#Warning:_AX_CXX_COMPILE_STDCXX_11_macro_is_too_old|here]].&lt;br /&gt;
&lt;br /&gt;
=== Cannot open shared object file: No such file or directory ===&lt;br /&gt;
&lt;br /&gt;
See [[Building#Cannot_open_shared_object_file:_No_such_file_or_directory|here]].&lt;br /&gt;
&lt;br /&gt;
=== TEST FAILED: .../lib/python2.7/site-packages/ does NOT support .pth files ===&lt;br /&gt;
&lt;br /&gt;
See [[Building#TEST_FAILED:_....2Flib.2Fpython2.7.2Fsite-packages.2F_does_NOT_support_.pth_files|here]].&lt;br /&gt;
&lt;br /&gt;
=== Cannot access USB / serial / other device ===&lt;br /&gt;
&lt;br /&gt;
See [[Building#Cannot_access_USB_.2F_serial_.2F_other_device|here]].&lt;/div&gt;</summary>
		<author><name>Joelholdsworth</name></author>
	</entry>
	<entry>
		<id>https://sigrok.org/w/index.php?title=Linux&amp;diff=10500</id>
		<title>Linux</title>
		<link rel="alternate" type="text/html" href="https://sigrok.org/w/index.php?title=Linux&amp;diff=10500"/>
		<updated>2015-01-23T23:39:26Z</updated>

		<summary type="html">&lt;p&gt;Joelholdsworth: /* sigrok-cli */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;This page describes how to build/install the sigrok subprojects on Linux.&lt;br /&gt;
&lt;br /&gt;
== Distribution packages ==&lt;br /&gt;
&lt;br /&gt;
See [[Downloads#Binaries_and_distribution_packages|Downloads]].&lt;br /&gt;
&lt;br /&gt;
== Building ==&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style=&amp;quot;background-color:#ff6666&amp;quot;&amp;gt;&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;IMPORTANT&amp;#039;&amp;#039;&amp;#039;: 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 current [http://sigrok.org/gitweb/?p=libsigrok.git;a=blob;f=README libsigrok README] for the full list of requirements.&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== libserialport ===&lt;br /&gt;
==== Installing the [[Building#Build_requirements|requirements]] ====&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Debian/Ubuntu/Mint&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
 $ &amp;#039;&amp;#039;&amp;#039;sudo apt-get install git-core gcc make autoconf automake libtool&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Arch&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
 # &amp;#039;&amp;#039;&amp;#039;pacman -S git gcc make autoconf automake libtool&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
==== Building ====&lt;br /&gt;
&lt;br /&gt;
 $ &amp;#039;&amp;#039;&amp;#039;git clone git://sigrok.org/libserialport&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
 $ &amp;#039;&amp;#039;&amp;#039;cd libserialport&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
 $ &amp;#039;&amp;#039;&amp;#039;./autogen.sh&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
 $ &amp;#039;&amp;#039;&amp;#039;./configure&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
 $ &amp;#039;&amp;#039;&amp;#039;make&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
 $ &amp;#039;&amp;#039;&amp;#039;sudo make install&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
=== libsigrok ===&lt;br /&gt;
&lt;br /&gt;
==== Installing the [[Building#Build_requirements|requirements]] ====&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Debian/Ubuntu&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
 $ &amp;#039;&amp;#039;&amp;#039;sudo apt-get install git-core gcc g++ make autoconf autoconf-archive \&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
   &amp;#039;&amp;#039;&amp;#039;automake libtool pkg-config libglib2.0-dev libglibmm-2.4-dev libzip-dev \&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
   &amp;#039;&amp;#039;&amp;#039;libusb-1.0-0-dev libftdi-dev check doxygen python-numpy\&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
   &amp;#039;&amp;#039;&amp;#039;python-dev python-gi-dev python-setuptools swig default-jdk&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Fedora (18, 19)&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
 $ &amp;#039;&amp;#039;&amp;#039;sudo yum install git gcc make autoconf automake libtool pkgconfig glib2-devel \&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
   &amp;#039;&amp;#039;&amp;#039;libzip-devel libusb1-devel libftdi-devel check-devel&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Arch&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
 # &amp;#039;&amp;#039;&amp;#039;pacman -S git gcc make autoconf autoconf-archive automake libtool \&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
   &amp;#039;&amp;#039;&amp;#039;pkg-config glib2 glibmm libzip libusb libftdi check doxygen python-numpy \&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
   &amp;#039;&amp;#039;&amp;#039;python-setuptools swig jdk8-openjdk&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
==== Building ====&lt;br /&gt;
&lt;br /&gt;
 $ &amp;#039;&amp;#039;&amp;#039;git clone git://sigrok.org/libsigrok&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
 $ &amp;#039;&amp;#039;&amp;#039;cd libsigrok&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
 $ &amp;#039;&amp;#039;&amp;#039;./autogen.sh&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
 $ &amp;#039;&amp;#039;&amp;#039;./configure&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
 $ &amp;#039;&amp;#039;&amp;#039;make&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
 $ &amp;#039;&amp;#039;&amp;#039;sudo make install&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
==== Device access ====&lt;br /&gt;
&lt;br /&gt;
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.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style=&amp;quot;background-color:#ff6666&amp;quot;&amp;gt;&lt;br /&gt;
Please see [[Building#FAQ]] if you are sure that you installed all requirements properly but still encounter some issues.&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== libsigrokdecode ===&lt;br /&gt;
==== Installing the [[Building#Build_requirements|requirements]] ====&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Debian/Ubuntu&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
 $ &amp;#039;&amp;#039;&amp;#039;sudo apt-get install git-core gcc make autoconf automake libtool pkg-config libglib2.0-dev python3-dev&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Fedora (18, 19, 20)&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
 $ &amp;#039;&amp;#039;&amp;#039;sudo yum install git gcc make autoconf automake libtool pkgconfig glib2-devel python3-devel check-devel&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Arch&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
 # &amp;#039;&amp;#039;&amp;#039;pacman -S git gcc make autoconf automake libtool pkgconfig glib2 python check&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
==== Building ====&lt;br /&gt;
&lt;br /&gt;
 $ &amp;#039;&amp;#039;&amp;#039;git clone git://sigrok.org/libsigrokdecode&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
 $ &amp;#039;&amp;#039;&amp;#039;cd libsigrokdecode&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
 $ &amp;#039;&amp;#039;&amp;#039;./autogen.sh&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
 $ &amp;#039;&amp;#039;&amp;#039;./configure&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
 $ &amp;#039;&amp;#039;&amp;#039;make&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
 $ &amp;#039;&amp;#039;&amp;#039;sudo make install&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
=== sigrok-cli ===&lt;br /&gt;
&lt;br /&gt;
==== Installing the [[Building#Build_requirements|requirements]] ====&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Debian/Ubuntu&amp;#039;&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
 $ &amp;#039;&amp;#039;&amp;#039;sudo apt-get install git-core gcc make autoconf automake libtool pkg-config libglib2.0-dev&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Fedora (18, 19)&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
 $ &amp;#039;&amp;#039;&amp;#039;sudo yum install git gcc make autoconf automake libtool pkgconfig glib2-devel&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;OpenSuse&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
 $ &amp;#039;&amp;#039;&amp;#039;zypper install git gcc make autoconf automake libtool pkgconfig glib2-devel&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Arch&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
 # &amp;#039;&amp;#039;&amp;#039;pacman -S git gcc make autoconf automake libtool pkgconfig glib2&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
==== Building ====&lt;br /&gt;
&lt;br /&gt;
 $ &amp;#039;&amp;#039;&amp;#039;git clone git://sigrok.org/sigrok-cli&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
 $ &amp;#039;&amp;#039;&amp;#039;cd sigrok-cli&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
 $ &amp;#039;&amp;#039;&amp;#039;./autogen.sh&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
 $ &amp;#039;&amp;#039;&amp;#039;./configure&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
 $ &amp;#039;&amp;#039;&amp;#039;make&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
 $ &amp;#039;&amp;#039;&amp;#039;sudo make install&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
=== PulseView ===&lt;br /&gt;
==== Installing the [[Building#Build_requirements|requirements]] ====&lt;br /&gt;
&lt;br /&gt;
Example on Debian/Ubuntu (please check your respective distro&amp;#039;s package manager tool if you use other distros):&lt;br /&gt;
&lt;br /&gt;
 $ &amp;#039;&amp;#039;&amp;#039;sudo apt-get install git-core g++ make cmake libtool pkg-config \&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
   &amp;#039;&amp;#039;&amp;#039;libglib2.0-dev libqt4-dev libboost-test-dev libboost-thread-dev\&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
   &amp;#039;&amp;#039;&amp;#039;libboost-filesystem-dev libboost-system-dev&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
Fedora (18, 19):&lt;br /&gt;
&lt;br /&gt;
 $ &amp;#039;&amp;#039;&amp;#039;sudo yum install git gcc cmake libtool pkgconfig glib2-devel \&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
   &amp;#039;&amp;#039;&amp;#039;boost-devel qt-devel boost-devel&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
==== Building ====&lt;br /&gt;
&lt;br /&gt;
 $ &amp;#039;&amp;#039;&amp;#039;git clone git://sigrok.org/pulseview&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
 $ &amp;#039;&amp;#039;&amp;#039;cd pulseview&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
 $ &amp;#039;&amp;#039;&amp;#039;cmake .&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
 $ &amp;#039;&amp;#039;&amp;#039;make&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
 $ &amp;#039;&amp;#039;&amp;#039;sudo make install&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
== FAQ ==&lt;br /&gt;
&lt;br /&gt;
=== Warning: AX_CXX_COMPILE_STDCXX_11 macro not found ===&lt;br /&gt;
&lt;br /&gt;
See [[Building#Warning:_AX_CXX_COMPILE_STDCXX_11_macro_not_found|here]].&lt;br /&gt;
&lt;br /&gt;
=== Warning: AX_CXX_COMPILE_STDCXX_11 macro is too old ===&lt;br /&gt;
&lt;br /&gt;
See [[Building#Warning:_AX_CXX_COMPILE_STDCXX_11_macro_is_too_old|here]].&lt;br /&gt;
&lt;br /&gt;
=== Cannot open shared object file: No such file or directory ===&lt;br /&gt;
&lt;br /&gt;
See [[Building#Cannot_open_shared_object_file:_No_such_file_or_directory|here]].&lt;br /&gt;
&lt;br /&gt;
=== TEST FAILED: .../lib/python2.7/site-packages/ does NOT support .pth files ===&lt;br /&gt;
&lt;br /&gt;
See [[Building#TEST_FAILED:_....2Flib.2Fpython2.7.2Fsite-packages.2F_does_NOT_support_.pth_files|here]].&lt;br /&gt;
&lt;br /&gt;
=== Cannot access USB / serial / other device ===&lt;br /&gt;
&lt;br /&gt;
See [[Building#Cannot_access_USB_.2F_serial_.2F_other_device|here]].&lt;/div&gt;</summary>
		<author><name>Joelholdsworth</name></author>
	</entry>
	<entry>
		<id>https://sigrok.org/w/index.php?title=Linux&amp;diff=10499</id>
		<title>Linux</title>
		<link rel="alternate" type="text/html" href="https://sigrok.org/w/index.php?title=Linux&amp;diff=10499"/>
		<updated>2015-01-23T23:34:58Z</updated>

		<summary type="html">&lt;p&gt;Joelholdsworth: /* libsigrokdecode */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;This page describes how to build/install the sigrok subprojects on Linux.&lt;br /&gt;
&lt;br /&gt;
== Distribution packages ==&lt;br /&gt;
&lt;br /&gt;
See [[Downloads#Binaries_and_distribution_packages|Downloads]].&lt;br /&gt;
&lt;br /&gt;
== Building ==&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style=&amp;quot;background-color:#ff6666&amp;quot;&amp;gt;&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;IMPORTANT&amp;#039;&amp;#039;&amp;#039;: 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 current [http://sigrok.org/gitweb/?p=libsigrok.git;a=blob;f=README libsigrok README] for the full list of requirements.&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== libserialport ===&lt;br /&gt;
==== Installing the [[Building#Build_requirements|requirements]] ====&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Debian/Ubuntu/Mint&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
 $ &amp;#039;&amp;#039;&amp;#039;sudo apt-get install git-core gcc make autoconf automake libtool&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Arch&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
 # &amp;#039;&amp;#039;&amp;#039;pacman -S git gcc make autoconf automake libtool&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
==== Building ====&lt;br /&gt;
&lt;br /&gt;
 $ &amp;#039;&amp;#039;&amp;#039;git clone git://sigrok.org/libserialport&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
 $ &amp;#039;&amp;#039;&amp;#039;cd libserialport&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
 $ &amp;#039;&amp;#039;&amp;#039;./autogen.sh&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
 $ &amp;#039;&amp;#039;&amp;#039;./configure&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
 $ &amp;#039;&amp;#039;&amp;#039;make&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
 $ &amp;#039;&amp;#039;&amp;#039;sudo make install&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
=== libsigrok ===&lt;br /&gt;
&lt;br /&gt;
==== Installing the [[Building#Build_requirements|requirements]] ====&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Debian/Ubuntu&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
 $ &amp;#039;&amp;#039;&amp;#039;sudo apt-get install git-core gcc g++ make autoconf autoconf-archive \&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
   &amp;#039;&amp;#039;&amp;#039;automake libtool pkg-config libglib2.0-dev libglibmm-2.4-dev libzip-dev \&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
   &amp;#039;&amp;#039;&amp;#039;libusb-1.0-0-dev libftdi-dev check doxygen python-numpy\&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
   &amp;#039;&amp;#039;&amp;#039;python-dev python-gi-dev python-setuptools swig default-jdk&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Fedora (18, 19)&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
 $ &amp;#039;&amp;#039;&amp;#039;sudo yum install git gcc make autoconf automake libtool pkgconfig glib2-devel \&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
   &amp;#039;&amp;#039;&amp;#039;libzip-devel libusb1-devel libftdi-devel check-devel&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Arch&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
 # &amp;#039;&amp;#039;&amp;#039;pacman -S git gcc make autoconf autoconf-archive automake libtool \&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
   &amp;#039;&amp;#039;&amp;#039;pkg-config glib2 glibmm libzip libusb libftdi check doxygen python-numpy \&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
   &amp;#039;&amp;#039;&amp;#039;python-setuptools swig jdk8-openjdk&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
==== Building ====&lt;br /&gt;
&lt;br /&gt;
 $ &amp;#039;&amp;#039;&amp;#039;git clone git://sigrok.org/libsigrok&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
 $ &amp;#039;&amp;#039;&amp;#039;cd libsigrok&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
 $ &amp;#039;&amp;#039;&amp;#039;./autogen.sh&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
 $ &amp;#039;&amp;#039;&amp;#039;./configure&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
 $ &amp;#039;&amp;#039;&amp;#039;make&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
 $ &amp;#039;&amp;#039;&amp;#039;sudo make install&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
==== Device access ====&lt;br /&gt;
&lt;br /&gt;
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.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style=&amp;quot;background-color:#ff6666&amp;quot;&amp;gt;&lt;br /&gt;
Please see [[Building#FAQ]] if you are sure that you installed all requirements properly but still encounter some issues.&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== libsigrokdecode ===&lt;br /&gt;
==== Installing the [[Building#Build_requirements|requirements]] ====&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Debian/Ubuntu&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
 $ &amp;#039;&amp;#039;&amp;#039;sudo apt-get install git-core gcc make autoconf automake libtool pkg-config libglib2.0-dev python3-dev&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Fedora (18, 19, 20)&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
 $ &amp;#039;&amp;#039;&amp;#039;sudo yum install git gcc make autoconf automake libtool pkgconfig glib2-devel python3-devel check-devel&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Arch&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
 # &amp;#039;&amp;#039;&amp;#039;pacman -S git gcc make autoconf automake libtool pkgconfig glib2 python check&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
==== Building ====&lt;br /&gt;
&lt;br /&gt;
 $ &amp;#039;&amp;#039;&amp;#039;git clone git://sigrok.org/libsigrokdecode&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
 $ &amp;#039;&amp;#039;&amp;#039;cd libsigrokdecode&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
 $ &amp;#039;&amp;#039;&amp;#039;./autogen.sh&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
 $ &amp;#039;&amp;#039;&amp;#039;./configure&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
 $ &amp;#039;&amp;#039;&amp;#039;make&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
 $ &amp;#039;&amp;#039;&amp;#039;sudo make install&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
=== sigrok-cli ===&lt;br /&gt;
&lt;br /&gt;
==== Installing the [[Building#Build_requirements|requirements]] ====&lt;br /&gt;
&lt;br /&gt;
Example on Debian/Ubuntu (please check your respective distro&amp;#039;s package manager tool if you use other distros):&lt;br /&gt;
&lt;br /&gt;
 $ &amp;#039;&amp;#039;&amp;#039;sudo apt-get install git-core gcc make autoconf automake libtool pkg-config libglib2.0-dev&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
Fedora (18, 19):&lt;br /&gt;
&lt;br /&gt;
 $ &amp;#039;&amp;#039;&amp;#039;sudo yum install git gcc make autoconf automake libtool pkgconfig glib2-devel&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
OpenSuse (13.1):&lt;br /&gt;
&lt;br /&gt;
 $ &amp;#039;&amp;#039;&amp;#039;zypper install git gcc make autoconf automake libtool pkgconfig glib2-devel&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
==== Building ====&lt;br /&gt;
&lt;br /&gt;
 $ &amp;#039;&amp;#039;&amp;#039;git clone git://sigrok.org/sigrok-cli&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
 $ &amp;#039;&amp;#039;&amp;#039;cd sigrok-cli&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
 $ &amp;#039;&amp;#039;&amp;#039;./autogen.sh&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
 $ &amp;#039;&amp;#039;&amp;#039;./configure&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
 $ &amp;#039;&amp;#039;&amp;#039;make&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
 $ &amp;#039;&amp;#039;&amp;#039;sudo make install&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
=== PulseView ===&lt;br /&gt;
==== Installing the [[Building#Build_requirements|requirements]] ====&lt;br /&gt;
&lt;br /&gt;
Example on Debian/Ubuntu (please check your respective distro&amp;#039;s package manager tool if you use other distros):&lt;br /&gt;
&lt;br /&gt;
 $ &amp;#039;&amp;#039;&amp;#039;sudo apt-get install git-core g++ make cmake libtool pkg-config \&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
   &amp;#039;&amp;#039;&amp;#039;libglib2.0-dev libqt4-dev libboost-test-dev libboost-thread-dev\&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
   &amp;#039;&amp;#039;&amp;#039;libboost-filesystem-dev libboost-system-dev&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
Fedora (18, 19):&lt;br /&gt;
&lt;br /&gt;
 $ &amp;#039;&amp;#039;&amp;#039;sudo yum install git gcc cmake libtool pkgconfig glib2-devel \&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
   &amp;#039;&amp;#039;&amp;#039;boost-devel qt-devel boost-devel&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
==== Building ====&lt;br /&gt;
&lt;br /&gt;
 $ &amp;#039;&amp;#039;&amp;#039;git clone git://sigrok.org/pulseview&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
 $ &amp;#039;&amp;#039;&amp;#039;cd pulseview&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
 $ &amp;#039;&amp;#039;&amp;#039;cmake .&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
 $ &amp;#039;&amp;#039;&amp;#039;make&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
 $ &amp;#039;&amp;#039;&amp;#039;sudo make install&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
== FAQ ==&lt;br /&gt;
&lt;br /&gt;
=== Warning: AX_CXX_COMPILE_STDCXX_11 macro not found ===&lt;br /&gt;
&lt;br /&gt;
See [[Building#Warning:_AX_CXX_COMPILE_STDCXX_11_macro_not_found|here]].&lt;br /&gt;
&lt;br /&gt;
=== Warning: AX_CXX_COMPILE_STDCXX_11 macro is too old ===&lt;br /&gt;
&lt;br /&gt;
See [[Building#Warning:_AX_CXX_COMPILE_STDCXX_11_macro_is_too_old|here]].&lt;br /&gt;
&lt;br /&gt;
=== Cannot open shared object file: No such file or directory ===&lt;br /&gt;
&lt;br /&gt;
See [[Building#Cannot_open_shared_object_file:_No_such_file_or_directory|here]].&lt;br /&gt;
&lt;br /&gt;
=== TEST FAILED: .../lib/python2.7/site-packages/ does NOT support .pth files ===&lt;br /&gt;
&lt;br /&gt;
See [[Building#TEST_FAILED:_....2Flib.2Fpython2.7.2Fsite-packages.2F_does_NOT_support_.pth_files|here]].&lt;br /&gt;
&lt;br /&gt;
=== Cannot access USB / serial / other device ===&lt;br /&gt;
&lt;br /&gt;
See [[Building#Cannot_access_USB_.2F_serial_.2F_other_device|here]].&lt;/div&gt;</summary>
		<author><name>Joelholdsworth</name></author>
	</entry>
	<entry>
		<id>https://sigrok.org/w/index.php?title=Linux&amp;diff=10498</id>
		<title>Linux</title>
		<link rel="alternate" type="text/html" href="https://sigrok.org/w/index.php?title=Linux&amp;diff=10498"/>
		<updated>2015-01-23T23:30:50Z</updated>

		<summary type="html">&lt;p&gt;Joelholdsworth: /* libsigrok */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;This page describes how to build/install the sigrok subprojects on Linux.&lt;br /&gt;
&lt;br /&gt;
== Distribution packages ==&lt;br /&gt;
&lt;br /&gt;
See [[Downloads#Binaries_and_distribution_packages|Downloads]].&lt;br /&gt;
&lt;br /&gt;
== Building ==&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style=&amp;quot;background-color:#ff6666&amp;quot;&amp;gt;&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;IMPORTANT&amp;#039;&amp;#039;&amp;#039;: 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 current [http://sigrok.org/gitweb/?p=libsigrok.git;a=blob;f=README libsigrok README] for the full list of requirements.&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== libserialport ===&lt;br /&gt;
==== Installing the [[Building#Build_requirements|requirements]] ====&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Debian/Ubuntu/Mint&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
 $ &amp;#039;&amp;#039;&amp;#039;sudo apt-get install git-core gcc make autoconf automake libtool&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Arch&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
 # &amp;#039;&amp;#039;&amp;#039;pacman -S git gcc make autoconf automake libtool&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
==== Building ====&lt;br /&gt;
&lt;br /&gt;
 $ &amp;#039;&amp;#039;&amp;#039;git clone git://sigrok.org/libserialport&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
 $ &amp;#039;&amp;#039;&amp;#039;cd libserialport&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
 $ &amp;#039;&amp;#039;&amp;#039;./autogen.sh&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
 $ &amp;#039;&amp;#039;&amp;#039;./configure&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
 $ &amp;#039;&amp;#039;&amp;#039;make&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
 $ &amp;#039;&amp;#039;&amp;#039;sudo make install&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
=== libsigrok ===&lt;br /&gt;
&lt;br /&gt;
==== Installing the [[Building#Build_requirements|requirements]] ====&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Debian/Ubuntu&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
 $ &amp;#039;&amp;#039;&amp;#039;sudo apt-get install git-core gcc g++ make autoconf autoconf-archive \&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
   &amp;#039;&amp;#039;&amp;#039;automake libtool pkg-config libglib2.0-dev libglibmm-2.4-dev libzip-dev \&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
   &amp;#039;&amp;#039;&amp;#039;libusb-1.0-0-dev libftdi-dev check doxygen python-numpy\&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
   &amp;#039;&amp;#039;&amp;#039;python-dev python-gi-dev python-setuptools swig default-jdk&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Fedora (18, 19)&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
 $ &amp;#039;&amp;#039;&amp;#039;sudo yum install git gcc make autoconf automake libtool pkgconfig glib2-devel \&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
   &amp;#039;&amp;#039;&amp;#039;libzip-devel libusb1-devel libftdi-devel check-devel&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Arch&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
 # &amp;#039;&amp;#039;&amp;#039;pacman -S git gcc make autoconf autoconf-archive automake libtool \&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
   &amp;#039;&amp;#039;&amp;#039;pkg-config glib2 glibmm libzip libusb libftdi check doxygen python-numpy \&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
   &amp;#039;&amp;#039;&amp;#039;python-setuptools swig jdk8-openjdk&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
==== Building ====&lt;br /&gt;
&lt;br /&gt;
 $ &amp;#039;&amp;#039;&amp;#039;git clone git://sigrok.org/libsigrok&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
 $ &amp;#039;&amp;#039;&amp;#039;cd libsigrok&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
 $ &amp;#039;&amp;#039;&amp;#039;./autogen.sh&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
 $ &amp;#039;&amp;#039;&amp;#039;./configure&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
 $ &amp;#039;&amp;#039;&amp;#039;make&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
 $ &amp;#039;&amp;#039;&amp;#039;sudo make install&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
==== Device access ====&lt;br /&gt;
&lt;br /&gt;
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.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style=&amp;quot;background-color:#ff6666&amp;quot;&amp;gt;&lt;br /&gt;
Please see [[Building#FAQ]] if you are sure that you installed all requirements properly but still encounter some issues.&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== libsigrokdecode ===&lt;br /&gt;
==== Installing the [[Building#Build_requirements|requirements]] ====&lt;br /&gt;
&lt;br /&gt;
Example on Debian/Ubuntu (please check your respective distro&amp;#039;s package manager tool if you use other distros):&lt;br /&gt;
&lt;br /&gt;
 $ &amp;#039;&amp;#039;&amp;#039;sudo apt-get install git-core gcc make autoconf automake libtool pkg-config libglib2.0-dev python3-dev&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
Fedora (18, 19, 20):&lt;br /&gt;
&lt;br /&gt;
 $ &amp;#039;&amp;#039;&amp;#039;sudo yum install git gcc make autoconf automake libtool pkgconfig glib2-devel python3-devel check-devel&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
==== Building ====&lt;br /&gt;
&lt;br /&gt;
 $ &amp;#039;&amp;#039;&amp;#039;git clone git://sigrok.org/libsigrokdecode&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
 $ &amp;#039;&amp;#039;&amp;#039;cd libsigrokdecode&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
 $ &amp;#039;&amp;#039;&amp;#039;./autogen.sh&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
 $ &amp;#039;&amp;#039;&amp;#039;./configure&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
 $ &amp;#039;&amp;#039;&amp;#039;make&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
 $ &amp;#039;&amp;#039;&amp;#039;sudo make install&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
=== sigrok-cli ===&lt;br /&gt;
&lt;br /&gt;
==== Installing the [[Building#Build_requirements|requirements]] ====&lt;br /&gt;
&lt;br /&gt;
Example on Debian/Ubuntu (please check your respective distro&amp;#039;s package manager tool if you use other distros):&lt;br /&gt;
&lt;br /&gt;
 $ &amp;#039;&amp;#039;&amp;#039;sudo apt-get install git-core gcc make autoconf automake libtool pkg-config libglib2.0-dev&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
Fedora (18, 19):&lt;br /&gt;
&lt;br /&gt;
 $ &amp;#039;&amp;#039;&amp;#039;sudo yum install git gcc make autoconf automake libtool pkgconfig glib2-devel&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
OpenSuse (13.1):&lt;br /&gt;
&lt;br /&gt;
 $ &amp;#039;&amp;#039;&amp;#039;zypper install git gcc make autoconf automake libtool pkgconfig glib2-devel&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
==== Building ====&lt;br /&gt;
&lt;br /&gt;
 $ &amp;#039;&amp;#039;&amp;#039;git clone git://sigrok.org/sigrok-cli&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
 $ &amp;#039;&amp;#039;&amp;#039;cd sigrok-cli&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
 $ &amp;#039;&amp;#039;&amp;#039;./autogen.sh&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
 $ &amp;#039;&amp;#039;&amp;#039;./configure&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
 $ &amp;#039;&amp;#039;&amp;#039;make&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
 $ &amp;#039;&amp;#039;&amp;#039;sudo make install&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
=== PulseView ===&lt;br /&gt;
==== Installing the [[Building#Build_requirements|requirements]] ====&lt;br /&gt;
&lt;br /&gt;
Example on Debian/Ubuntu (please check your respective distro&amp;#039;s package manager tool if you use other distros):&lt;br /&gt;
&lt;br /&gt;
 $ &amp;#039;&amp;#039;&amp;#039;sudo apt-get install git-core g++ make cmake libtool pkg-config \&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
   &amp;#039;&amp;#039;&amp;#039;libglib2.0-dev libqt4-dev libboost-test-dev libboost-thread-dev\&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
   &amp;#039;&amp;#039;&amp;#039;libboost-filesystem-dev libboost-system-dev&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
Fedora (18, 19):&lt;br /&gt;
&lt;br /&gt;
 $ &amp;#039;&amp;#039;&amp;#039;sudo yum install git gcc cmake libtool pkgconfig glib2-devel \&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
   &amp;#039;&amp;#039;&amp;#039;boost-devel qt-devel boost-devel&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
==== Building ====&lt;br /&gt;
&lt;br /&gt;
 $ &amp;#039;&amp;#039;&amp;#039;git clone git://sigrok.org/pulseview&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
 $ &amp;#039;&amp;#039;&amp;#039;cd pulseview&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
 $ &amp;#039;&amp;#039;&amp;#039;cmake .&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
 $ &amp;#039;&amp;#039;&amp;#039;make&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
 $ &amp;#039;&amp;#039;&amp;#039;sudo make install&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
== FAQ ==&lt;br /&gt;
&lt;br /&gt;
=== Warning: AX_CXX_COMPILE_STDCXX_11 macro not found ===&lt;br /&gt;
&lt;br /&gt;
See [[Building#Warning:_AX_CXX_COMPILE_STDCXX_11_macro_not_found|here]].&lt;br /&gt;
&lt;br /&gt;
=== Warning: AX_CXX_COMPILE_STDCXX_11 macro is too old ===&lt;br /&gt;
&lt;br /&gt;
See [[Building#Warning:_AX_CXX_COMPILE_STDCXX_11_macro_is_too_old|here]].&lt;br /&gt;
&lt;br /&gt;
=== Cannot open shared object file: No such file or directory ===&lt;br /&gt;
&lt;br /&gt;
See [[Building#Cannot_open_shared_object_file:_No_such_file_or_directory|here]].&lt;br /&gt;
&lt;br /&gt;
=== TEST FAILED: .../lib/python2.7/site-packages/ does NOT support .pth files ===&lt;br /&gt;
&lt;br /&gt;
See [[Building#TEST_FAILED:_....2Flib.2Fpython2.7.2Fsite-packages.2F_does_NOT_support_.pth_files|here]].&lt;br /&gt;
&lt;br /&gt;
=== Cannot access USB / serial / other device ===&lt;br /&gt;
&lt;br /&gt;
See [[Building#Cannot_access_USB_.2F_serial_.2F_other_device|here]].&lt;/div&gt;</summary>
		<author><name>Joelholdsworth</name></author>
	</entry>
	<entry>
		<id>https://sigrok.org/w/index.php?title=Linux&amp;diff=10497</id>
		<title>Linux</title>
		<link rel="alternate" type="text/html" href="https://sigrok.org/w/index.php?title=Linux&amp;diff=10497"/>
		<updated>2015-01-22T21:04:02Z</updated>

		<summary type="html">&lt;p&gt;Joelholdsworth: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;This page describes how to build/install the sigrok subprojects on Linux.&lt;br /&gt;
&lt;br /&gt;
== Distribution packages ==&lt;br /&gt;
&lt;br /&gt;
See [[Downloads#Binaries_and_distribution_packages|Downloads]].&lt;br /&gt;
&lt;br /&gt;
== Building ==&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style=&amp;quot;background-color:#ff6666&amp;quot;&amp;gt;&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;IMPORTANT&amp;#039;&amp;#039;&amp;#039;: 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 current [http://sigrok.org/gitweb/?p=libsigrok.git;a=blob;f=README libsigrok README] for the full list of requirements.&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== libserialport ===&lt;br /&gt;
==== Installing the [[Building#Build_requirements|requirements]] ====&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Debian/Ubuntu/Mint&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
 $ &amp;#039;&amp;#039;&amp;#039;sudo apt-get install git-core gcc make autoconf automake libtool&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Arch&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
 # &amp;#039;&amp;#039;&amp;#039;pacman -S git gcc make autoconf automake libtool&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
==== Building ====&lt;br /&gt;
&lt;br /&gt;
 $ &amp;#039;&amp;#039;&amp;#039;git clone git://sigrok.org/libserialport&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
 $ &amp;#039;&amp;#039;&amp;#039;cd libserialport&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
 $ &amp;#039;&amp;#039;&amp;#039;./autogen.sh&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
 $ &amp;#039;&amp;#039;&amp;#039;./configure&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
 $ &amp;#039;&amp;#039;&amp;#039;make&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
 $ &amp;#039;&amp;#039;&amp;#039;sudo make install&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
=== libsigrok ===&lt;br /&gt;
&lt;br /&gt;
==== Installing the [[Building#Build_requirements|requirements]] ====&lt;br /&gt;
&lt;br /&gt;
Example on Debian/Ubuntu (please check your respective distro&amp;#039;s package manager tool if you use other distros):&lt;br /&gt;
&lt;br /&gt;
 $ &amp;#039;&amp;#039;&amp;#039;sudo apt-get install git-core gcc g++ make autoconf autoconf-archive \&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
   &amp;#039;&amp;#039;&amp;#039;automake libtool pkg-config libglib2.0-dev libglibmm-2.4-dev libzip-dev \&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
   &amp;#039;&amp;#039;&amp;#039;libusb-1.0-0-dev libftdi-dev check doxygen python-numpy\&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
   &amp;#039;&amp;#039;&amp;#039;python-dev python-gi-dev python-setuptools swig default-jdk&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
Fedora (18, 19):&lt;br /&gt;
&lt;br /&gt;
 $ &amp;#039;&amp;#039;&amp;#039;sudo yum install git gcc make autoconf automake libtool pkgconfig glib2-devel \&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
   &amp;#039;&amp;#039;&amp;#039;libzip-devel libusb1-devel libftdi-devel check-devel&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
OpenSuSE (12.2):&lt;br /&gt;
&lt;br /&gt;
==== Building ====&lt;br /&gt;
&lt;br /&gt;
 $ &amp;#039;&amp;#039;&amp;#039;git clone git://sigrok.org/libsigrok&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
 $ &amp;#039;&amp;#039;&amp;#039;cd libsigrok&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
 $ &amp;#039;&amp;#039;&amp;#039;./autogen.sh&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
 $ &amp;#039;&amp;#039;&amp;#039;./configure&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
 $ &amp;#039;&amp;#039;&amp;#039;make&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
 $ &amp;#039;&amp;#039;&amp;#039;sudo make install&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
==== Device access ====&lt;br /&gt;
&lt;br /&gt;
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.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style=&amp;quot;background-color:#ff6666&amp;quot;&amp;gt;&lt;br /&gt;
Please see [[Building#FAQ]] if you are sure that you installed all requirements properly but still encounter some issues.&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== libsigrokdecode ===&lt;br /&gt;
==== Installing the [[Building#Build_requirements|requirements]] ====&lt;br /&gt;
&lt;br /&gt;
Example on Debian/Ubuntu (please check your respective distro&amp;#039;s package manager tool if you use other distros):&lt;br /&gt;
&lt;br /&gt;
 $ &amp;#039;&amp;#039;&amp;#039;sudo apt-get install git-core gcc make autoconf automake libtool pkg-config libglib2.0-dev python3-dev&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
Fedora (18, 19, 20):&lt;br /&gt;
&lt;br /&gt;
 $ &amp;#039;&amp;#039;&amp;#039;sudo yum install git gcc make autoconf automake libtool pkgconfig glib2-devel python3-devel check-devel&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
==== Building ====&lt;br /&gt;
&lt;br /&gt;
 $ &amp;#039;&amp;#039;&amp;#039;git clone git://sigrok.org/libsigrokdecode&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
 $ &amp;#039;&amp;#039;&amp;#039;cd libsigrokdecode&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
 $ &amp;#039;&amp;#039;&amp;#039;./autogen.sh&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
 $ &amp;#039;&amp;#039;&amp;#039;./configure&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
 $ &amp;#039;&amp;#039;&amp;#039;make&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
 $ &amp;#039;&amp;#039;&amp;#039;sudo make install&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
=== sigrok-cli ===&lt;br /&gt;
&lt;br /&gt;
==== Installing the [[Building#Build_requirements|requirements]] ====&lt;br /&gt;
&lt;br /&gt;
Example on Debian/Ubuntu (please check your respective distro&amp;#039;s package manager tool if you use other distros):&lt;br /&gt;
&lt;br /&gt;
 $ &amp;#039;&amp;#039;&amp;#039;sudo apt-get install git-core gcc make autoconf automake libtool pkg-config libglib2.0-dev&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
Fedora (18, 19):&lt;br /&gt;
&lt;br /&gt;
 $ &amp;#039;&amp;#039;&amp;#039;sudo yum install git gcc make autoconf automake libtool pkgconfig glib2-devel&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
OpenSuse (13.1):&lt;br /&gt;
&lt;br /&gt;
 $ &amp;#039;&amp;#039;&amp;#039;zypper install git gcc make autoconf automake libtool pkgconfig glib2-devel&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
==== Building ====&lt;br /&gt;
&lt;br /&gt;
 $ &amp;#039;&amp;#039;&amp;#039;git clone git://sigrok.org/sigrok-cli&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
 $ &amp;#039;&amp;#039;&amp;#039;cd sigrok-cli&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
 $ &amp;#039;&amp;#039;&amp;#039;./autogen.sh&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
 $ &amp;#039;&amp;#039;&amp;#039;./configure&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
 $ &amp;#039;&amp;#039;&amp;#039;make&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
 $ &amp;#039;&amp;#039;&amp;#039;sudo make install&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
=== PulseView ===&lt;br /&gt;
==== Installing the [[Building#Build_requirements|requirements]] ====&lt;br /&gt;
&lt;br /&gt;
Example on Debian/Ubuntu (please check your respective distro&amp;#039;s package manager tool if you use other distros):&lt;br /&gt;
&lt;br /&gt;
 $ &amp;#039;&amp;#039;&amp;#039;sudo apt-get install git-core g++ make cmake libtool pkg-config \&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
   &amp;#039;&amp;#039;&amp;#039;libglib2.0-dev libqt4-dev libboost-test-dev libboost-thread-dev\&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
   &amp;#039;&amp;#039;&amp;#039;libboost-filesystem-dev libboost-system-dev&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
Fedora (18, 19):&lt;br /&gt;
&lt;br /&gt;
 $ &amp;#039;&amp;#039;&amp;#039;sudo yum install git gcc cmake libtool pkgconfig glib2-devel \&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
   &amp;#039;&amp;#039;&amp;#039;boost-devel qt-devel boost-devel&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
==== Building ====&lt;br /&gt;
&lt;br /&gt;
 $ &amp;#039;&amp;#039;&amp;#039;git clone git://sigrok.org/pulseview&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
 $ &amp;#039;&amp;#039;&amp;#039;cd pulseview&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
 $ &amp;#039;&amp;#039;&amp;#039;cmake .&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
 $ &amp;#039;&amp;#039;&amp;#039;make&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
 $ &amp;#039;&amp;#039;&amp;#039;sudo make install&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
== FAQ ==&lt;br /&gt;
&lt;br /&gt;
=== Warning: AX_CXX_COMPILE_STDCXX_11 macro not found ===&lt;br /&gt;
&lt;br /&gt;
See [[Building#Warning:_AX_CXX_COMPILE_STDCXX_11_macro_not_found|here]].&lt;br /&gt;
&lt;br /&gt;
=== Warning: AX_CXX_COMPILE_STDCXX_11 macro is too old ===&lt;br /&gt;
&lt;br /&gt;
See [[Building#Warning:_AX_CXX_COMPILE_STDCXX_11_macro_is_too_old|here]].&lt;br /&gt;
&lt;br /&gt;
=== Cannot open shared object file: No such file or directory ===&lt;br /&gt;
&lt;br /&gt;
See [[Building#Cannot_open_shared_object_file:_No_such_file_or_directory|here]].&lt;br /&gt;
&lt;br /&gt;
=== TEST FAILED: .../lib/python2.7/site-packages/ does NOT support .pth files ===&lt;br /&gt;
&lt;br /&gt;
See [[Building#TEST_FAILED:_....2Flib.2Fpython2.7.2Fsite-packages.2F_does_NOT_support_.pth_files|here]].&lt;br /&gt;
&lt;br /&gt;
=== Cannot access USB / serial / other device ===&lt;br /&gt;
&lt;br /&gt;
See [[Building#Cannot_access_USB_.2F_serial_.2F_other_device|here]].&lt;/div&gt;</summary>
		<author><name>Joelholdsworth</name></author>
	</entry>
	<entry>
		<id>https://sigrok.org/w/index.php?title=Linux&amp;diff=10496</id>
		<title>Linux</title>
		<link rel="alternate" type="text/html" href="https://sigrok.org/w/index.php?title=Linux&amp;diff=10496"/>
		<updated>2015-01-22T20:59:37Z</updated>

		<summary type="html">&lt;p&gt;Joelholdsworth: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;This page describes how to build/install the sigrok subprojects on Linux.&lt;br /&gt;
&lt;br /&gt;
== Distribution packages ==&lt;br /&gt;
&lt;br /&gt;
See [[Downloads#Binaries_and_distribution_packages|Downloads]].&lt;br /&gt;
&lt;br /&gt;
== Building ==&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style=&amp;quot;background-color:#ff6666&amp;quot;&amp;gt;&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;IMPORTANT&amp;#039;&amp;#039;&amp;#039;: 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 current [http://sigrok.org/gitweb/?p=libsigrok.git;a=blob;f=README libsigrok README] for the full list of requirements.&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== libserialport ===&lt;br /&gt;
==== Installing the [[Building#Build_requirements|requirements]] ====&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Debian/Ubuntu/Mint&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
 $ &amp;#039;&amp;#039;&amp;#039;sudo apt-get install git-core gcc make autoconf automake libtool&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Arch&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
 # pacman -S git gcc make autoconf automake libtool&lt;br /&gt;
&lt;br /&gt;
==== Building ====&lt;br /&gt;
&lt;br /&gt;
 $ &amp;#039;&amp;#039;&amp;#039;git clone git://sigrok.org/libserialport&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
 $ &amp;#039;&amp;#039;&amp;#039;cd libserialport&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
 $ &amp;#039;&amp;#039;&amp;#039;./autogen.sh&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
 $ &amp;#039;&amp;#039;&amp;#039;./configure&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
 $ &amp;#039;&amp;#039;&amp;#039;make&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
 $ &amp;#039;&amp;#039;&amp;#039;sudo make install&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
=== libsigrok ===&lt;br /&gt;
&lt;br /&gt;
==== Installing the [[Building#Build_requirements|requirements]] ====&lt;br /&gt;
&lt;br /&gt;
Example on Debian/Ubuntu (please check your respective distro&amp;#039;s package manager tool if you use other distros):&lt;br /&gt;
&lt;br /&gt;
 $ &amp;#039;&amp;#039;&amp;#039;sudo apt-get install git-core gcc g++ make autoconf autoconf-archive \&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
   &amp;#039;&amp;#039;&amp;#039;automake libtool pkg-config libglib2.0-dev libglibmm-2.4-dev libzip-dev \&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
   &amp;#039;&amp;#039;&amp;#039;libusb-1.0-0-dev libftdi-dev check doxygen python-numpy\&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
   &amp;#039;&amp;#039;&amp;#039;python-dev python-gi-dev python-setuptools swig default-jdk&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
Fedora (18, 19):&lt;br /&gt;
&lt;br /&gt;
 $ &amp;#039;&amp;#039;&amp;#039;sudo yum install git gcc make autoconf automake libtool pkgconfig glib2-devel \&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
   &amp;#039;&amp;#039;&amp;#039;libzip-devel libusb1-devel libftdi-devel check-devel&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
OpenSuSE (12.2):&lt;br /&gt;
&lt;br /&gt;
==== Building ====&lt;br /&gt;
&lt;br /&gt;
 $ &amp;#039;&amp;#039;&amp;#039;git clone git://sigrok.org/libsigrok&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
 $ &amp;#039;&amp;#039;&amp;#039;cd libsigrok&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
 $ &amp;#039;&amp;#039;&amp;#039;./autogen.sh&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
 $ &amp;#039;&amp;#039;&amp;#039;./configure&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
 $ &amp;#039;&amp;#039;&amp;#039;make&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
 $ &amp;#039;&amp;#039;&amp;#039;sudo make install&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
==== Device access ====&lt;br /&gt;
&lt;br /&gt;
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.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style=&amp;quot;background-color:#ff6666&amp;quot;&amp;gt;&lt;br /&gt;
Please see [[Building#FAQ]] if you are sure that you installed all requirements properly but still encounter some issues.&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== libsigrokdecode ===&lt;br /&gt;
==== Installing the [[Building#Build_requirements|requirements]] ====&lt;br /&gt;
&lt;br /&gt;
Example on Debian/Ubuntu (please check your respective distro&amp;#039;s package manager tool if you use other distros):&lt;br /&gt;
&lt;br /&gt;
 $ &amp;#039;&amp;#039;&amp;#039;sudo apt-get install git-core gcc make autoconf automake libtool pkg-config libglib2.0-dev python3-dev&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
Fedora (18, 19, 20):&lt;br /&gt;
&lt;br /&gt;
 $ &amp;#039;&amp;#039;&amp;#039;sudo yum install git gcc make autoconf automake libtool pkgconfig glib2-devel python3-devel check-devel&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
==== Building ====&lt;br /&gt;
&lt;br /&gt;
 $ &amp;#039;&amp;#039;&amp;#039;git clone git://sigrok.org/libsigrokdecode&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
 $ &amp;#039;&amp;#039;&amp;#039;cd libsigrokdecode&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
 $ &amp;#039;&amp;#039;&amp;#039;./autogen.sh&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
 $ &amp;#039;&amp;#039;&amp;#039;./configure&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
 $ &amp;#039;&amp;#039;&amp;#039;make&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
 $ &amp;#039;&amp;#039;&amp;#039;sudo make install&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
=== sigrok-cli ===&lt;br /&gt;
&lt;br /&gt;
==== Installing the [[Building#Build_requirements|requirements]] ====&lt;br /&gt;
&lt;br /&gt;
Example on Debian/Ubuntu (please check your respective distro&amp;#039;s package manager tool if you use other distros):&lt;br /&gt;
&lt;br /&gt;
 $ &amp;#039;&amp;#039;&amp;#039;sudo apt-get install git-core gcc make autoconf automake libtool pkg-config libglib2.0-dev&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
Fedora (18, 19):&lt;br /&gt;
&lt;br /&gt;
 $ &amp;#039;&amp;#039;&amp;#039;sudo yum install git gcc make autoconf automake libtool pkgconfig glib2-devel&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
OpenSuse (13.1):&lt;br /&gt;
&lt;br /&gt;
 $ &amp;#039;&amp;#039;&amp;#039;zypper install git gcc make autoconf automake libtool pkgconfig glib2-devel&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
==== Building ====&lt;br /&gt;
&lt;br /&gt;
 $ &amp;#039;&amp;#039;&amp;#039;git clone git://sigrok.org/sigrok-cli&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
 $ &amp;#039;&amp;#039;&amp;#039;cd sigrok-cli&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
 $ &amp;#039;&amp;#039;&amp;#039;./autogen.sh&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
 $ &amp;#039;&amp;#039;&amp;#039;./configure&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
 $ &amp;#039;&amp;#039;&amp;#039;make&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
 $ &amp;#039;&amp;#039;&amp;#039;sudo make install&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
=== PulseView ===&lt;br /&gt;
==== Installing the [[Building#Build_requirements|requirements]] ====&lt;br /&gt;
&lt;br /&gt;
Example on Debian/Ubuntu (please check your respective distro&amp;#039;s package manager tool if you use other distros):&lt;br /&gt;
&lt;br /&gt;
 $ &amp;#039;&amp;#039;&amp;#039;sudo apt-get install git-core g++ make cmake libtool pkg-config \&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
   &amp;#039;&amp;#039;&amp;#039;libglib2.0-dev libqt4-dev libboost-test-dev libboost-thread-dev\&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
   &amp;#039;&amp;#039;&amp;#039;libboost-filesystem-dev libboost-system-dev&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
Fedora (18, 19):&lt;br /&gt;
&lt;br /&gt;
 $ &amp;#039;&amp;#039;&amp;#039;sudo yum install git gcc cmake libtool pkgconfig glib2-devel \&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
   &amp;#039;&amp;#039;&amp;#039;boost-devel qt-devel boost-devel&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
==== Building ====&lt;br /&gt;
&lt;br /&gt;
 $ &amp;#039;&amp;#039;&amp;#039;git clone git://sigrok.org/pulseview&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
 $ &amp;#039;&amp;#039;&amp;#039;cd pulseview&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
 $ &amp;#039;&amp;#039;&amp;#039;cmake .&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
 $ &amp;#039;&amp;#039;&amp;#039;make&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
 $ &amp;#039;&amp;#039;&amp;#039;sudo make install&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
== FAQ ==&lt;br /&gt;
&lt;br /&gt;
=== Warning: AX_CXX_COMPILE_STDCXX_11 macro not found ===&lt;br /&gt;
&lt;br /&gt;
See [[Building#Warning:_AX_CXX_COMPILE_STDCXX_11_macro_not_found|here]].&lt;br /&gt;
&lt;br /&gt;
=== Warning: AX_CXX_COMPILE_STDCXX_11 macro is too old ===&lt;br /&gt;
&lt;br /&gt;
See [[Building#Warning:_AX_CXX_COMPILE_STDCXX_11_macro_is_too_old|here]].&lt;br /&gt;
&lt;br /&gt;
=== Cannot open shared object file: No such file or directory ===&lt;br /&gt;
&lt;br /&gt;
See [[Building#Cannot_open_shared_object_file:_No_such_file_or_directory|here]].&lt;br /&gt;
&lt;br /&gt;
=== TEST FAILED: .../lib/python2.7/site-packages/ does NOT support .pth files ===&lt;br /&gt;
&lt;br /&gt;
See [[Building#TEST_FAILED:_....2Flib.2Fpython2.7.2Fsite-packages.2F_does_NOT_support_.pth_files|here]].&lt;br /&gt;
&lt;br /&gt;
=== Cannot access USB / serial / other device ===&lt;br /&gt;
&lt;br /&gt;
See [[Building#Cannot_access_USB_.2F_serial_.2F_other_device|here]].&lt;/div&gt;</summary>
		<author><name>Joelholdsworth</name></author>
	</entry>
	<entry>
		<id>https://sigrok.org/w/index.php?title=Linux&amp;diff=10495</id>
		<title>Linux</title>
		<link rel="alternate" type="text/html" href="https://sigrok.org/w/index.php?title=Linux&amp;diff=10495"/>
		<updated>2015-01-22T20:51:51Z</updated>

		<summary type="html">&lt;p&gt;Joelholdsworth: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;This page describes how to build/install the sigrok subprojects on Linux.&lt;br /&gt;
&lt;br /&gt;
== Distribution packages ==&lt;br /&gt;
&lt;br /&gt;
See [[Downloads#Binaries_and_distribution_packages|Downloads]].&lt;br /&gt;
&lt;br /&gt;
== Building ==&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style=&amp;quot;background-color:#ff6666&amp;quot;&amp;gt;&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;IMPORTANT&amp;#039;&amp;#039;&amp;#039;: 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 current [http://sigrok.org/gitweb/?p=libsigrok.git;a=blob;f=README libsigrok README] for the full list of requirements.&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== libserialport ===&lt;br /&gt;
&lt;br /&gt;
==== Installing the [[Building#Build_requirements|requirements]] ====&lt;br /&gt;
&lt;br /&gt;
Example on Debian/Ubuntu (please check your respective distro&amp;#039;s package manager tool if you use other distros):&lt;br /&gt;
&lt;br /&gt;
 $ &amp;#039;&amp;#039;&amp;#039;sudo apt-get install git-core gcc make autoconf automake libtool&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
==== Building ====&lt;br /&gt;
&lt;br /&gt;
 $ &amp;#039;&amp;#039;&amp;#039;git clone git://sigrok.org/libserialport&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
 $ &amp;#039;&amp;#039;&amp;#039;cd libserialport&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
 $ &amp;#039;&amp;#039;&amp;#039;./autogen.sh&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
 $ &amp;#039;&amp;#039;&amp;#039;./configure&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
 $ &amp;#039;&amp;#039;&amp;#039;make&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
 $ &amp;#039;&amp;#039;&amp;#039;sudo make install&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
=== libsigrok ===&lt;br /&gt;
&lt;br /&gt;
==== Installing the [[Building#Build_requirements|requirements]] ====&lt;br /&gt;
&lt;br /&gt;
Example on Debian/Ubuntu (please check your respective distro&amp;#039;s package manager tool if you use other distros):&lt;br /&gt;
&lt;br /&gt;
 $ &amp;#039;&amp;#039;&amp;#039;sudo apt-get install git-core gcc g++ make autoconf autoconf-archive \&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
   &amp;#039;&amp;#039;&amp;#039;automake libtool pkg-config libglib2.0-dev libglibmm-2.4-dev libzip-dev \&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
   &amp;#039;&amp;#039;&amp;#039;libusb-1.0-0-dev libftdi-dev check doxygen python-numpy\&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
   &amp;#039;&amp;#039;&amp;#039;python-dev python-gi-dev python-setuptools swig default-jdk&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
Fedora (18, 19):&lt;br /&gt;
&lt;br /&gt;
 $ &amp;#039;&amp;#039;&amp;#039;sudo yum install git gcc make autoconf automake libtool pkgconfig glib2-devel \&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
   &amp;#039;&amp;#039;&amp;#039;libzip-devel libusb1-devel libftdi-devel check-devel&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
OpenSuSE (12.2):&lt;br /&gt;
&lt;br /&gt;
==== Building ====&lt;br /&gt;
&lt;br /&gt;
 $ &amp;#039;&amp;#039;&amp;#039;git clone git://sigrok.org/libsigrok&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
 $ &amp;#039;&amp;#039;&amp;#039;cd libsigrok&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
 $ &amp;#039;&amp;#039;&amp;#039;./autogen.sh&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
 $ &amp;#039;&amp;#039;&amp;#039;./configure&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
 $ &amp;#039;&amp;#039;&amp;#039;make&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
 $ &amp;#039;&amp;#039;&amp;#039;sudo make install&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
==== Device access ====&lt;br /&gt;
&lt;br /&gt;
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.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style=&amp;quot;background-color:#ff6666&amp;quot;&amp;gt;&lt;br /&gt;
Please see [[Building#FAQ]] if you are sure that you installed all requirements properly but still encounter some issues.&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== libsigrokdecode ===&lt;br /&gt;
==== Installing the [[Building#Build_requirements|requirements]] ====&lt;br /&gt;
&lt;br /&gt;
Example on Debian/Ubuntu (please check your respective distro&amp;#039;s package manager tool if you use other distros):&lt;br /&gt;
&lt;br /&gt;
 $ &amp;#039;&amp;#039;&amp;#039;sudo apt-get install git-core gcc make autoconf automake libtool pkg-config libglib2.0-dev python3-dev&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
Fedora (18, 19, 20):&lt;br /&gt;
&lt;br /&gt;
 $ &amp;#039;&amp;#039;&amp;#039;sudo yum install git gcc make autoconf automake libtool pkgconfig glib2-devel python3-devel check-devel&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
==== Building ====&lt;br /&gt;
&lt;br /&gt;
 $ &amp;#039;&amp;#039;&amp;#039;git clone git://sigrok.org/libsigrokdecode&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
 $ &amp;#039;&amp;#039;&amp;#039;cd libsigrokdecode&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
 $ &amp;#039;&amp;#039;&amp;#039;./autogen.sh&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
 $ &amp;#039;&amp;#039;&amp;#039;./configure&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
 $ &amp;#039;&amp;#039;&amp;#039;make&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
 $ &amp;#039;&amp;#039;&amp;#039;sudo make install&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
=== sigrok-cli ===&lt;br /&gt;
&lt;br /&gt;
==== Installing the [[Building#Build_requirements|requirements]] ====&lt;br /&gt;
&lt;br /&gt;
Example on Debian/Ubuntu (please check your respective distro&amp;#039;s package manager tool if you use other distros):&lt;br /&gt;
&lt;br /&gt;
 $ &amp;#039;&amp;#039;&amp;#039;sudo apt-get install git-core gcc make autoconf automake libtool pkg-config libglib2.0-dev&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
Fedora (18, 19):&lt;br /&gt;
&lt;br /&gt;
 $ &amp;#039;&amp;#039;&amp;#039;sudo yum install git gcc make autoconf automake libtool pkgconfig glib2-devel&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
OpenSuse (13.1):&lt;br /&gt;
&lt;br /&gt;
 $ &amp;#039;&amp;#039;&amp;#039;zypper install git gcc make autoconf automake libtool pkgconfig glib2-devel&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
==== Building ====&lt;br /&gt;
&lt;br /&gt;
 $ &amp;#039;&amp;#039;&amp;#039;git clone git://sigrok.org/sigrok-cli&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
 $ &amp;#039;&amp;#039;&amp;#039;cd sigrok-cli&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
 $ &amp;#039;&amp;#039;&amp;#039;./autogen.sh&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
 $ &amp;#039;&amp;#039;&amp;#039;./configure&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
 $ &amp;#039;&amp;#039;&amp;#039;make&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
 $ &amp;#039;&amp;#039;&amp;#039;sudo make install&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
=== PulseView ===&lt;br /&gt;
==== Installing the [[Building#Build_requirements|requirements]] ====&lt;br /&gt;
&lt;br /&gt;
Example on Debian/Ubuntu (please check your respective distro&amp;#039;s package manager tool if you use other distros):&lt;br /&gt;
&lt;br /&gt;
 $ &amp;#039;&amp;#039;&amp;#039;sudo apt-get install git-core g++ make cmake libtool pkg-config \&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
   &amp;#039;&amp;#039;&amp;#039;libglib2.0-dev libqt4-dev libboost-test-dev libboost-thread-dev\&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
   &amp;#039;&amp;#039;&amp;#039;libboost-filesystem-dev libboost-system-dev&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
Fedora (18, 19):&lt;br /&gt;
&lt;br /&gt;
 $ &amp;#039;&amp;#039;&amp;#039;sudo yum install git gcc cmake libtool pkgconfig glib2-devel \&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
   &amp;#039;&amp;#039;&amp;#039;boost-devel qt-devel boost-devel&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
==== Building ====&lt;br /&gt;
&lt;br /&gt;
 $ &amp;#039;&amp;#039;&amp;#039;git clone git://sigrok.org/pulseview&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
 $ &amp;#039;&amp;#039;&amp;#039;cd pulseview&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
 $ &amp;#039;&amp;#039;&amp;#039;cmake .&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
 $ &amp;#039;&amp;#039;&amp;#039;make&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
 $ &amp;#039;&amp;#039;&amp;#039;sudo make install&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
== FAQ ==&lt;br /&gt;
&lt;br /&gt;
=== Warning: AX_CXX_COMPILE_STDCXX_11 macro not found ===&lt;br /&gt;
&lt;br /&gt;
See [[Building#Warning:_AX_CXX_COMPILE_STDCXX_11_macro_not_found|here]].&lt;br /&gt;
&lt;br /&gt;
=== Warning: AX_CXX_COMPILE_STDCXX_11 macro is too old ===&lt;br /&gt;
&lt;br /&gt;
See [[Building#Warning:_AX_CXX_COMPILE_STDCXX_11_macro_is_too_old|here]].&lt;br /&gt;
&lt;br /&gt;
=== Cannot open shared object file: No such file or directory ===&lt;br /&gt;
&lt;br /&gt;
See [[Building#Cannot_open_shared_object_file:_No_such_file_or_directory|here]].&lt;br /&gt;
&lt;br /&gt;
=== TEST FAILED: .../lib/python2.7/site-packages/ does NOT support .pth files ===&lt;br /&gt;
&lt;br /&gt;
See [[Building#TEST_FAILED:_....2Flib.2Fpython2.7.2Fsite-packages.2F_does_NOT_support_.pth_files|here]].&lt;br /&gt;
&lt;br /&gt;
=== Cannot access USB / serial / other device ===&lt;br /&gt;
&lt;br /&gt;
See [[Building#Cannot_access_USB_.2F_serial_.2F_other_device|here]].&lt;/div&gt;</summary>
		<author><name>Joelholdsworth</name></author>
	</entry>
	<entry>
		<id>https://sigrok.org/w/index.php?title=Linux&amp;diff=10450</id>
		<title>Linux</title>
		<link rel="alternate" type="text/html" href="https://sigrok.org/w/index.php?title=Linux&amp;diff=10450"/>
		<updated>2015-01-10T13:57:38Z</updated>

		<summary type="html">&lt;p&gt;Joelholdsworth: /* PulseView */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;This page describes how to build/install the sigrok subprojects on Linux.&lt;br /&gt;
&lt;br /&gt;
== Distribution packages ==&lt;br /&gt;
&lt;br /&gt;
See [[Downloads#Binaries_and_distribution_packages|Downloads]].&lt;br /&gt;
&lt;br /&gt;
== Building ==&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style=&amp;quot;background-color:#ff6666&amp;quot;&amp;gt;&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;IMPORTANT&amp;#039;&amp;#039;&amp;#039;: 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 current [http://sigrok.org/gitweb/?p=libsigrok.git;a=blob;f=README libsigrok README] for the full list of requirements.&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== libserialport ===&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Installing the [[Building#Build_requirements|requirements]]:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
Example on Debian/Ubuntu (please check your respective distro&amp;#039;s package manager tool if you use other distros):&lt;br /&gt;
&lt;br /&gt;
 $ &amp;#039;&amp;#039;&amp;#039;sudo apt-get install git-core gcc make autoconf automake libtool&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Building:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
 $ &amp;#039;&amp;#039;&amp;#039;git clone git://sigrok.org/libserialport&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
 $ &amp;#039;&amp;#039;&amp;#039;cd libserialport&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
 $ &amp;#039;&amp;#039;&amp;#039;./autogen.sh&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
 $ &amp;#039;&amp;#039;&amp;#039;./configure&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
 $ &amp;#039;&amp;#039;&amp;#039;make&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
 $ &amp;#039;&amp;#039;&amp;#039;sudo make install&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
=== libsigrok ===&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Installing the [[Building#Build_requirements|requirements]]:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
Example on Debian/Ubuntu (please check your respective distro&amp;#039;s package manager tool if you use other distros):&lt;br /&gt;
&lt;br /&gt;
 $ &amp;#039;&amp;#039;&amp;#039;sudo apt-get install git-core gcc g++ make autoconf autoconf-archive \&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
   &amp;#039;&amp;#039;&amp;#039;automake libtool pkg-config libglib2.0-dev libglibmm-2.4-dev libzip-dev \&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
   &amp;#039;&amp;#039;&amp;#039;libusb-1.0-0-dev libftdi-dev check doxygen python-numpy\&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
   &amp;#039;&amp;#039;&amp;#039;python-dev python-gi-dev python-setuptools swig default-jdk&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
Fedora (18, 19):&lt;br /&gt;
&lt;br /&gt;
 $ &amp;#039;&amp;#039;&amp;#039;sudo yum install git gcc make autoconf automake libtool pkgconfig glib2-devel \&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
   &amp;#039;&amp;#039;&amp;#039;libzip-devel libusb1-devel libftdi-devel check-devel&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
OpenSuSE (12.2):&lt;br /&gt;
&lt;br /&gt;
 $ &amp;#039;&amp;#039;&amp;#039;zypper install git gcc make autoconf automake libtool pkg-config glib2-devel \&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
   &amp;#039;&amp;#039;&amp;#039;libzip-devel libusb-1_0-devel libftdi1-devel check python3-devel&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Building:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
 $ &amp;#039;&amp;#039;&amp;#039;git clone git://sigrok.org/libsigrok&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
 $ &amp;#039;&amp;#039;&amp;#039;cd libsigrok&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
 $ &amp;#039;&amp;#039;&amp;#039;./autogen.sh&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
 $ &amp;#039;&amp;#039;&amp;#039;./configure&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
 $ &amp;#039;&amp;#039;&amp;#039;make&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
 $ &amp;#039;&amp;#039;&amp;#039;sudo make install&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Device access:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
Please read the readme.devices file in the libsigrok/ folder for any extra steps you may need to take to get your specific device working. This includes USB devices, which will not work on standard user priviledges unless you follow the instructions given in that file. These steps are not necessary if you are installing from a package.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style=&amp;quot;background-color:#ff6666&amp;quot;&amp;gt;&lt;br /&gt;
Please see [[Building#FAQ]] if you are sure that you installed all requirements properly but still encounter some issues.&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== libsigrokdecode ===&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Installing the [[Building#Build_requirements|requirements]]:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
Example on Debian/Ubuntu (please check your respective distro&amp;#039;s package manager tool if you use other distros):&lt;br /&gt;
&lt;br /&gt;
 $ &amp;#039;&amp;#039;&amp;#039;sudo apt-get install git-core gcc make autoconf automake libtool pkg-config libglib2.0-dev python3-dev&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
Fedora (18, 19, 20):&lt;br /&gt;
&lt;br /&gt;
 $ &amp;#039;&amp;#039;&amp;#039;sudo yum install git gcc make autoconf automake libtool pkgconfig glib2-devel python3-devel check-devel&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Building:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
 $ &amp;#039;&amp;#039;&amp;#039;git clone git://sigrok.org/libsigrokdecode&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
 $ &amp;#039;&amp;#039;&amp;#039;cd libsigrokdecode&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
 $ &amp;#039;&amp;#039;&amp;#039;./autogen.sh&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
 $ &amp;#039;&amp;#039;&amp;#039;./configure&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
 $ &amp;#039;&amp;#039;&amp;#039;make&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
 $ &amp;#039;&amp;#039;&amp;#039;sudo make install&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
=== sigrok-cli ===&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Installing the [[Building#Build_requirements|requirements]]:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
Example on Debian/Ubuntu (please check your respective distro&amp;#039;s package manager tool if you use other distros):&lt;br /&gt;
&lt;br /&gt;
 $ &amp;#039;&amp;#039;&amp;#039;sudo apt-get install git-core gcc make autoconf automake libtool pkg-config libglib2.0-dev&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
Fedora (18, 19):&lt;br /&gt;
&lt;br /&gt;
 $ &amp;#039;&amp;#039;&amp;#039;sudo yum install git gcc make autoconf automake libtool pkgconfig glib2-devel&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
OpenSuse (13.1):&lt;br /&gt;
&lt;br /&gt;
 $ &amp;#039;&amp;#039;&amp;#039;zypper install git gcc make autoconf automake libtool pkgconfig glib2-devel&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Building:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
 $ &amp;#039;&amp;#039;&amp;#039;git clone git://sigrok.org/sigrok-cli&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
 $ &amp;#039;&amp;#039;&amp;#039;cd sigrok-cli&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
 $ &amp;#039;&amp;#039;&amp;#039;./autogen.sh&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
 $ &amp;#039;&amp;#039;&amp;#039;./configure&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
 $ &amp;#039;&amp;#039;&amp;#039;make&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
 $ &amp;#039;&amp;#039;&amp;#039;sudo make install&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
=== PulseView ===&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Installing the [[Building#Build_requirements|requirements]]:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
Example on Debian/Ubuntu (please check your respective distro&amp;#039;s package manager tool if you use other distros):&lt;br /&gt;
&lt;br /&gt;
 $ &amp;#039;&amp;#039;&amp;#039;sudo apt-get install git-core g++ make cmake libtool pkg-config \&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
   &amp;#039;&amp;#039;&amp;#039;libglib2.0-dev libqt4-dev libboost-test-dev libboost-thread-dev\&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
   &amp;#039;&amp;#039;&amp;#039;libboost-filesystem-dev libboost-system-dev&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
Fedora (18, 19):&lt;br /&gt;
&lt;br /&gt;
 $ &amp;#039;&amp;#039;&amp;#039;sudo yum install git gcc cmake libtool pkgconfig glib2-devel \&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
   &amp;#039;&amp;#039;&amp;#039;boost-devel qt-devel boost-devel&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Building:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
 $ &amp;#039;&amp;#039;&amp;#039;git clone git://sigrok.org/pulseview&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
 $ &amp;#039;&amp;#039;&amp;#039;cd pulseview&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
 $ &amp;#039;&amp;#039;&amp;#039;cmake .&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
 $ &amp;#039;&amp;#039;&amp;#039;make&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
 $ &amp;#039;&amp;#039;&amp;#039;sudo make install&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
== FAQ ==&lt;br /&gt;
&lt;br /&gt;
=== Warning: AX_CXX_COMPILE_STDCXX_11 macro not found ===&lt;br /&gt;
&lt;br /&gt;
See [[Building#Warning:_AX_CXX_COMPILE_STDCXX_11_macro_not_found|here]].&lt;br /&gt;
&lt;br /&gt;
=== Warning: AX_CXX_COMPILE_STDCXX_11 macro is too old ===&lt;br /&gt;
&lt;br /&gt;
See [[Building#Warning:_AX_CXX_COMPILE_STDCXX_11_macro_is_too_old|here]].&lt;br /&gt;
&lt;br /&gt;
=== Cannot open shared object file: No such file or directory ===&lt;br /&gt;
&lt;br /&gt;
See [[Building#Cannot_open_shared_object_file:_No_such_file_or_directory|here]].&lt;br /&gt;
&lt;br /&gt;
=== TEST FAILED: .../lib/python2.7/site-packages/ does NOT support .pth files ===&lt;br /&gt;
&lt;br /&gt;
See [[Building#TEST_FAILED:_....2Flib.2Fpython2.7.2Fsite-packages.2F_does_NOT_support_.pth_files|here]].&lt;/div&gt;</summary>
		<author><name>Joelholdsworth</name></author>
	</entry>
	<entry>
		<id>https://sigrok.org/w/index.php?title=Linux&amp;diff=10449</id>
		<title>Linux</title>
		<link rel="alternate" type="text/html" href="https://sigrok.org/w/index.php?title=Linux&amp;diff=10449"/>
		<updated>2015-01-10T13:45:59Z</updated>

		<summary type="html">&lt;p&gt;Joelholdsworth: /* libsigrok */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;This page describes how to build/install the sigrok subprojects on Linux.&lt;br /&gt;
&lt;br /&gt;
== Distribution packages ==&lt;br /&gt;
&lt;br /&gt;
See [[Downloads#Binaries_and_distribution_packages|Downloads]].&lt;br /&gt;
&lt;br /&gt;
== Building ==&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style=&amp;quot;background-color:#ff6666&amp;quot;&amp;gt;&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;IMPORTANT&amp;#039;&amp;#039;&amp;#039;: 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 current [http://sigrok.org/gitweb/?p=libsigrok.git;a=blob;f=README libsigrok README] for the full list of requirements.&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== libserialport ===&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Installing the [[Building#Build_requirements|requirements]]:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
Example on Debian/Ubuntu (please check your respective distro&amp;#039;s package manager tool if you use other distros):&lt;br /&gt;
&lt;br /&gt;
 $ &amp;#039;&amp;#039;&amp;#039;sudo apt-get install git-core gcc make autoconf automake libtool&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Building:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
 $ &amp;#039;&amp;#039;&amp;#039;git clone git://sigrok.org/libserialport&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
 $ &amp;#039;&amp;#039;&amp;#039;cd libserialport&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
 $ &amp;#039;&amp;#039;&amp;#039;./autogen.sh&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
 $ &amp;#039;&amp;#039;&amp;#039;./configure&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
 $ &amp;#039;&amp;#039;&amp;#039;make&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
 $ &amp;#039;&amp;#039;&amp;#039;sudo make install&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
=== libsigrok ===&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Installing the [[Building#Build_requirements|requirements]]:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
Example on Debian/Ubuntu (please check your respective distro&amp;#039;s package manager tool if you use other distros):&lt;br /&gt;
&lt;br /&gt;
 $ &amp;#039;&amp;#039;&amp;#039;sudo apt-get install git-core gcc g++ make autoconf autoconf-archive \&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
   &amp;#039;&amp;#039;&amp;#039;automake libtool pkg-config libglib2.0-dev libglibmm-2.4-dev libzip-dev \&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
   &amp;#039;&amp;#039;&amp;#039;libusb-1.0-0-dev libftdi-dev check doxygen python-numpy\&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
   &amp;#039;&amp;#039;&amp;#039;python-dev python-gi-dev python-setuptools swig default-jdk&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
Fedora (18, 19):&lt;br /&gt;
&lt;br /&gt;
 $ &amp;#039;&amp;#039;&amp;#039;sudo yum install git gcc make autoconf automake libtool pkgconfig glib2-devel \&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
   &amp;#039;&amp;#039;&amp;#039;libzip-devel libusb1-devel libftdi-devel check-devel&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
OpenSuSE (12.2):&lt;br /&gt;
&lt;br /&gt;
 $ &amp;#039;&amp;#039;&amp;#039;zypper install git gcc make autoconf automake libtool pkg-config glib2-devel \&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
   &amp;#039;&amp;#039;&amp;#039;libzip-devel libusb-1_0-devel libftdi1-devel check python3-devel&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Building:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
 $ &amp;#039;&amp;#039;&amp;#039;git clone git://sigrok.org/libsigrok&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
 $ &amp;#039;&amp;#039;&amp;#039;cd libsigrok&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
 $ &amp;#039;&amp;#039;&amp;#039;./autogen.sh&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
 $ &amp;#039;&amp;#039;&amp;#039;./configure&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
 $ &amp;#039;&amp;#039;&amp;#039;make&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
 $ &amp;#039;&amp;#039;&amp;#039;sudo make install&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Device access:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
Please read the readme.devices file in the libsigrok/ folder for any extra steps you may need to take to get your specific device working. This includes USB devices, which will not work on standard user priviledges unless you follow the instructions given in that file. These steps are not necessary if you are installing from a package.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style=&amp;quot;background-color:#ff6666&amp;quot;&amp;gt;&lt;br /&gt;
Please see [[Building#FAQ]] if you are sure that you installed all requirements properly but still encounter some issues.&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== libsigrokdecode ===&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Installing the [[Building#Build_requirements|requirements]]:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
Example on Debian/Ubuntu (please check your respective distro&amp;#039;s package manager tool if you use other distros):&lt;br /&gt;
&lt;br /&gt;
 $ &amp;#039;&amp;#039;&amp;#039;sudo apt-get install git-core gcc make autoconf automake libtool pkg-config libglib2.0-dev python3-dev&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
Fedora (18, 19, 20):&lt;br /&gt;
&lt;br /&gt;
 $ &amp;#039;&amp;#039;&amp;#039;sudo yum install git gcc make autoconf automake libtool pkgconfig glib2-devel python3-devel check-devel&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Building:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
 $ &amp;#039;&amp;#039;&amp;#039;git clone git://sigrok.org/libsigrokdecode&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
 $ &amp;#039;&amp;#039;&amp;#039;cd libsigrokdecode&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
 $ &amp;#039;&amp;#039;&amp;#039;./autogen.sh&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
 $ &amp;#039;&amp;#039;&amp;#039;./configure&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
 $ &amp;#039;&amp;#039;&amp;#039;make&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
 $ &amp;#039;&amp;#039;&amp;#039;sudo make install&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
=== sigrok-cli ===&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Installing the [[Building#Build_requirements|requirements]]:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
Example on Debian/Ubuntu (please check your respective distro&amp;#039;s package manager tool if you use other distros):&lt;br /&gt;
&lt;br /&gt;
 $ &amp;#039;&amp;#039;&amp;#039;sudo apt-get install git-core gcc make autoconf automake libtool pkg-config libglib2.0-dev&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
Fedora (18, 19):&lt;br /&gt;
&lt;br /&gt;
 $ &amp;#039;&amp;#039;&amp;#039;sudo yum install git gcc make autoconf automake libtool pkgconfig glib2-devel&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
OpenSuse (13.1):&lt;br /&gt;
&lt;br /&gt;
 $ &amp;#039;&amp;#039;&amp;#039;zypper install git gcc make autoconf automake libtool pkgconfig glib2-devel&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Building:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
 $ &amp;#039;&amp;#039;&amp;#039;git clone git://sigrok.org/sigrok-cli&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
 $ &amp;#039;&amp;#039;&amp;#039;cd sigrok-cli&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
 $ &amp;#039;&amp;#039;&amp;#039;./autogen.sh&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
 $ &amp;#039;&amp;#039;&amp;#039;./configure&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
 $ &amp;#039;&amp;#039;&amp;#039;make&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
 $ &amp;#039;&amp;#039;&amp;#039;sudo make install&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
=== PulseView ===&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Installing the [[Building#Build_requirements|requirements]]:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
Example on Debian/Ubuntu (please check your respective distro&amp;#039;s package manager tool if you use other distros):&lt;br /&gt;
&lt;br /&gt;
 $ &amp;#039;&amp;#039;&amp;#039;sudo apt-get install git-core g++ make cmake libtool pkg-config \&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
   &amp;#039;&amp;#039;&amp;#039;libglib2.0-dev libqt4-dev libboost-test-dev \&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
   &amp;#039;&amp;#039;&amp;#039;libboost-filesystem-dev libboost-system-dev&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
Fedora (18, 19):&lt;br /&gt;
&lt;br /&gt;
 $ &amp;#039;&amp;#039;&amp;#039;sudo yum install git gcc cmake libtool pkgconfig glib2-devel \&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
   &amp;#039;&amp;#039;&amp;#039;boost-devel qt-devel boost-devel&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Building:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
 $ &amp;#039;&amp;#039;&amp;#039;git clone git://sigrok.org/pulseview&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
 $ &amp;#039;&amp;#039;&amp;#039;cd pulseview&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
 $ &amp;#039;&amp;#039;&amp;#039;cmake .&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
 $ &amp;#039;&amp;#039;&amp;#039;make&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
 $ &amp;#039;&amp;#039;&amp;#039;sudo make install&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
== FAQ ==&lt;br /&gt;
&lt;br /&gt;
=== Warning: AX_CXX_COMPILE_STDCXX_11 macro not found ===&lt;br /&gt;
&lt;br /&gt;
See [[Building#Warning:_AX_CXX_COMPILE_STDCXX_11_macro_not_found|here]].&lt;br /&gt;
&lt;br /&gt;
=== Warning: AX_CXX_COMPILE_STDCXX_11 macro is too old ===&lt;br /&gt;
&lt;br /&gt;
See [[Building#Warning:_AX_CXX_COMPILE_STDCXX_11_macro_is_too_old|here]].&lt;br /&gt;
&lt;br /&gt;
=== Cannot open shared object file: No such file or directory ===&lt;br /&gt;
&lt;br /&gt;
See [[Building#Cannot_open_shared_object_file:_No_such_file_or_directory|here]].&lt;br /&gt;
&lt;br /&gt;
=== TEST FAILED: .../lib/python2.7/site-packages/ does NOT support .pth files ===&lt;br /&gt;
&lt;br /&gt;
See [[Building#TEST_FAILED:_....2Flib.2Fpython2.7.2Fsite-packages.2F_does_NOT_support_.pth_files|here]].&lt;/div&gt;</summary>
		<author><name>Joelholdsworth</name></author>
	</entry>
	<entry>
		<id>https://sigrok.org/w/index.php?title=User:Joelholdsworth&amp;diff=10334</id>
		<title>User:Joelholdsworth</title>
		<link rel="alternate" type="text/html" href="https://sigrok.org/w/index.php?title=User:Joelholdsworth&amp;diff=10334"/>
		<updated>2014-12-19T13:34:47Z</updated>

		<summary type="html">&lt;p&gt;Joelholdsworth: Created page with &amp;quot;= Prototype Front Page = File:Front-page.png&amp;quot;&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;= [[User:Joelholdsworth/new main|Prototype Front Page]] =&lt;br /&gt;
[[File:Front-page.png]]&lt;/div&gt;</summary>
		<author><name>Joelholdsworth</name></author>
	</entry>
	<entry>
		<id>https://sigrok.org/w/index.php?title=User:Joelholdsworth/new_main&amp;diff=10333</id>
		<title>User:Joelholdsworth/new main</title>
		<link rel="alternate" type="text/html" href="https://sigrok.org/w/index.php?title=User:Joelholdsworth/new_main&amp;diff=10333"/>
		<updated>2014-12-19T13:16:15Z</updated>

		<summary type="html">&lt;p&gt;Joelholdsworth: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;table width=&amp;quot;100%&amp;quot; valign=&amp;quot;top&amp;quot;&amp;gt;&amp;lt;tr valign=&amp;quot;top&amp;quot;&amp;gt;&amp;lt;td width=&amp;quot;80%&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;div style=&amp;quot;margin-bottom:1.5em; padding:0.5em 0.5em 0.5em 0.5em; background-color:#eee; align:right; border:1px solid #aabbcc;&amp;quot;&amp;gt;&lt;br /&gt;
The &amp;#039;&amp;#039;&amp;#039;sigrok&amp;#039;&amp;#039;&amp;#039; project aims at creating a &amp;#039;&amp;#039;&amp;#039;portable, cross-platform, Free/Libre/Open-Source signal analysis software suite&amp;#039;&amp;#039;&amp;#039; that supports various device types, such as [[Supported_hardware#Logic_analyzers|logic analyzers]], [[Supported_hardware#Mixed-signal_devices|MSOs]], [[Supported_hardware#Oscilloscopes|oscilloscopes]], [[Supported_hardware#Multimeters|multimeters]], [[Supported_hardware#LCR meters|LCR meters]], [[Supported_hardware#Sound_level_meters|sound level meters]], [[Supported_hardware#Thermometers|thermometers]], [[Supported_hardware#Hygrometers|hygrometers]], [[Supported_hardware#Anemometers|anemometers]], [[Supported_hardware#Light meters|light meters]], [[Supported_hardware#Energy meters|Energy meters]], [[Supported_hardware#DAQs|DAQs]], [[Supported_hardware#Dataloggers|dataloggers]], [[Supported_hardware#Function_generators|function generators]], [[Supported_hardware#RF receivers|RF receivers]], [[Supported_hardware#Spectrum_analyzers|spectrum analyzers]], [[Supported_hardware#Power_supplies|power supplies]], [[Supported_hardware#GPIB_interfaces|GPIB interfaces]], and more.&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style=&amp;quot;float: left; width: 33%; margin-bottom: 1em; margin-right: 1%&amp;quot;&amp;gt;&lt;br /&gt;
=== Supported Devices ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style=&amp;quot;margin-bottom: 1em;&amp;quot;&amp;gt;&lt;br /&gt;
{{Box|&lt;br /&gt;
BORDER = #8898bf|&lt;br /&gt;
BACKGROUND = #d1adf6|&lt;br /&gt;
WIDTH = 100%|&lt;br /&gt;
ICON = |&lt;br /&gt;
HEADING = &amp;lt;span style=&amp;quot;font-variant:small-caps;&amp;quot;&amp;gt;[[Supported_hardware#Logic_analyzers|Logic analyzers]] &amp;lt;/span&amp;gt;|&lt;br /&gt;
CONTENT =&lt;br /&gt;
&amp;lt;small&amp;gt;&lt;br /&gt;
[[File:Zeroplus Logic Cube.png|60px]]&lt;br /&gt;
[[File:Saleae_Logic16_bottom.png|60px]]&lt;br /&gt;
[[File:Openbench_logic_sniffer_front.png|60px]]&lt;br /&gt;
&amp;lt;/small&amp;gt;&lt;br /&gt;
}}&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style=&amp;quot;margin-bottom: 1em;&amp;quot;&amp;gt;&lt;br /&gt;
{{Box|&lt;br /&gt;
BORDER = #8898bf|&lt;br /&gt;
BACKGROUND = #d1adf6|&lt;br /&gt;
WIDTH = 100%|&lt;br /&gt;
ICON = |&lt;br /&gt;
HEADING = &amp;lt;span style=&amp;quot;font-variant:small-caps;&amp;quot;&amp;gt;Oscilloscopes&amp;lt;/span&amp;gt;|&lt;br /&gt;
CONTENT =&lt;br /&gt;
&amp;lt;small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/small&amp;gt;&lt;br /&gt;
}}&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style=&amp;quot;margin-bottom: 1em;&amp;quot;&amp;gt;&lt;br /&gt;
{{Box|&lt;br /&gt;
BORDER = #8898bf|&lt;br /&gt;
BACKGROUND = #d1adf6|&lt;br /&gt;
WIDTH = 100%|&lt;br /&gt;
ICON = |&lt;br /&gt;
HEADING = &amp;lt;span style=&amp;quot;font-variant:small-caps;&amp;quot;&amp;gt;Multimeters&amp;lt;/span&amp;gt;|&lt;br /&gt;
CONTENT =&lt;br /&gt;
&amp;lt;small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/small&amp;gt;&lt;br /&gt;
}}&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style=&amp;quot;margin-bottom: 1em;&amp;quot;&amp;gt;&lt;br /&gt;
{{Box|&lt;br /&gt;
BORDER = #8898bf|&lt;br /&gt;
BACKGROUND = #d1adf6|&lt;br /&gt;
WIDTH = 100%|&lt;br /&gt;
ICON = |&lt;br /&gt;
HEADING = &amp;lt;span style=&amp;quot;font-variant:small-caps;&amp;quot;&amp;gt;Data Loggers&amp;lt;/span&amp;gt;|&lt;br /&gt;
CONTENT =&lt;br /&gt;
&amp;lt;small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/small&amp;gt;&lt;br /&gt;
}}&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style=&amp;quot;float: right; width: 32%; margin-bottom: 1em;&amp;quot;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Applications ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style=&amp;quot;margin-bottom: 1em;&amp;quot;&amp;gt;&lt;br /&gt;
{{Box|&lt;br /&gt;
BORDER = #8898bf|&lt;br /&gt;
BACKGROUND = #d1adf6|&lt;br /&gt;
WIDTH = 100%|&lt;br /&gt;
ICON = |&lt;br /&gt;
HEADING = &amp;lt;span style=&amp;quot;font-variant:small-caps;&amp;quot;&amp;gt;PulseView&amp;lt;/span&amp;gt;|&lt;br /&gt;
CONTENT =&lt;br /&gt;
&amp;lt;small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/small&amp;gt;&lt;br /&gt;
}}&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style=&amp;quot;margin-bottom: 1em;&amp;quot;&amp;gt;&lt;br /&gt;
{{Box|&lt;br /&gt;
BORDER = #8898bf|&lt;br /&gt;
BACKGROUND = #d1adf6|&lt;br /&gt;
WIDTH = 100%|&lt;br /&gt;
ICON = |&lt;br /&gt;
HEADING = &amp;lt;span style=&amp;quot;font-variant:small-caps;&amp;quot;&amp;gt;sigrok-cli&amp;lt;/span&amp;gt;|&lt;br /&gt;
CONTENT =&lt;br /&gt;
&amp;lt;small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/small&amp;gt;&lt;br /&gt;
}}&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style=&amp;quot;display: inline-block; width: 33%; margin-bottom: 1em;&amp;quot;&amp;gt;&lt;br /&gt;
=== Libraries ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style=&amp;quot;margin-bottom: 1em;&amp;quot;&amp;gt;&lt;br /&gt;
{{Box|&lt;br /&gt;
BORDER = #8898bf|&lt;br /&gt;
BACKGROUND = #d1adf6|&lt;br /&gt;
WIDTH = 100%|&lt;br /&gt;
ICON = |&lt;br /&gt;
HEADING = &amp;lt;span style=&amp;quot;font-variant:small-caps;&amp;quot;&amp;gt;libsigrok&amp;lt;/span&amp;gt;|&lt;br /&gt;
CONTENT =&lt;br /&gt;
&amp;lt;small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/small&amp;gt;&lt;br /&gt;
}}&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style=&amp;quot;margin-bottom: 1em;&amp;quot;&amp;gt;&lt;br /&gt;
{{Box|&lt;br /&gt;
BORDER = #8898bf|&lt;br /&gt;
BACKGROUND = #d1adf6|&lt;br /&gt;
WIDTH = 100%|&lt;br /&gt;
ICON = |&lt;br /&gt;
HEADING = &amp;lt;span style=&amp;quot;font-variant:small-caps;&amp;quot;&amp;gt;libsigrokdecode&amp;lt;/span&amp;gt;|&lt;br /&gt;
CONTENT =&lt;br /&gt;
&amp;lt;small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/small&amp;gt;&lt;br /&gt;
}}&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;div style=&amp;quot;clear: both;&amp;quot;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style=&amp;quot;clear: both;margin-top: 2em;&amp;quot;&amp;gt;&lt;br /&gt;
----&lt;br /&gt;
&amp;lt;small&amp;gt;&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;IMPORTANT: Unless explicitly specified otherwise, all contents in this wiki (including text and images) are released under the &amp;lt;span style=&amp;quot;color:red&amp;quot;&amp;gt;CC-BY-SA 3.0&amp;lt;/span&amp;gt; license. If you don&amp;#039;t want that, please explicitly specify another free-ish license when adding pages/images!&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&amp;lt;/small&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
__NOTOC__&lt;br /&gt;
__NOEDITSECTION__&lt;/div&gt;</summary>
		<author><name>Joelholdsworth</name></author>
	</entry>
	<entry>
		<id>https://sigrok.org/w/index.php?title=User:Joelholdsworth/new_main&amp;diff=10332</id>
		<title>User:Joelholdsworth/new main</title>
		<link rel="alternate" type="text/html" href="https://sigrok.org/w/index.php?title=User:Joelholdsworth/new_main&amp;diff=10332"/>
		<updated>2014-12-19T12:53:18Z</updated>

		<summary type="html">&lt;p&gt;Joelholdsworth: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;table width=&amp;quot;100%&amp;quot; valign=&amp;quot;top&amp;quot;&amp;gt;&amp;lt;tr valign=&amp;quot;top&amp;quot;&amp;gt;&amp;lt;td width=&amp;quot;80%&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;div style=&amp;quot;margin-bottom:1.5em; padding:0.5em 0.5em 0.5em 0.5em; background-color:#eee; align:right; border:1px solid #aabbcc;&amp;quot;&amp;gt;&lt;br /&gt;
The &amp;#039;&amp;#039;&amp;#039;sigrok&amp;#039;&amp;#039;&amp;#039; project aims at creating a &amp;#039;&amp;#039;&amp;#039;portable, cross-platform, Free/Libre/Open-Source signal analysis software suite&amp;#039;&amp;#039;&amp;#039; that supports various device types, such as [[Supported_hardware#Logic_analyzers|logic analyzers]], [[Supported_hardware#Mixed-signal_devices|MSOs]], [[Supported_hardware#Oscilloscopes|oscilloscopes]], [[Supported_hardware#Multimeters|multimeters]], [[Supported_hardware#LCR meters|LCR meters]], [[Supported_hardware#Sound_level_meters|sound level meters]], [[Supported_hardware#Thermometers|thermometers]], [[Supported_hardware#Hygrometers|hygrometers]], [[Supported_hardware#Anemometers|anemometers]], [[Supported_hardware#Light meters|light meters]], [[Supported_hardware#Energy meters|Energy meters]], [[Supported_hardware#DAQs|DAQs]], [[Supported_hardware#Dataloggers|dataloggers]], [[Supported_hardware#Function_generators|function generators]], [[Supported_hardware#RF receivers|RF receivers]], [[Supported_hardware#Spectrum_analyzers|spectrum analyzers]], [[Supported_hardware#Power_supplies|power supplies]], [[Supported_hardware#GPIB_interfaces|GPIB interfaces]], and more.&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style=&amp;quot;float: left; width: 33%; margin-bottom: 1em;&amp;quot;&amp;gt;&lt;br /&gt;
=== Supported Devices ===&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style=&amp;quot;display: inline-block; width: 33%; margin-bottom: 1em;&amp;quot;&amp;gt;&lt;br /&gt;
=== Applications ===&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style=&amp;quot;float: right; width: 33%; margin-bottom: 1em;&amp;quot;&amp;gt;&lt;br /&gt;
=== Libraries ===&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt;[[File:Front-page.png]]&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style=&amp;quot;margin-bottom:1.5em; padding:0.5em 0.5em 0.5em 0.5em; background-color:#eee; align:right; border:1px solid #aabbcc;&amp;quot;&amp;gt;&lt;br /&gt;
It is licensed under the terms of the &amp;#039;&amp;#039;&amp;#039;GNU GPL&amp;#039;&amp;#039;&amp;#039;. Design goals and features include:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;Broad hardware support&amp;#039;&amp;#039;&amp;#039;. Supports many different logic analyzers, oscilloscopes, multimeters, data loggers etc. from various vendors.&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;Cross-platform&amp;#039;&amp;#039;&amp;#039;. Works on [[Linux]], [[Mac OS X]], [[Windows]], [[FreeBSD]], [[OpenBSD]], [[NetBSD]] (and on x86, ARM, Sparc, PowerPC, ...).&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;Scriptable protocol decoding&amp;#039;&amp;#039;&amp;#039;. Extendable with stackable [[protocol decoders]] written in Python 3.&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;File format support&amp;#039;&amp;#039;&amp;#039;. Supports various [[Input output formats|input/output file formats]] (binary, ASCII, hex, CSV, gnuplot, [http://en.wikipedia.org/wiki/Value_change_dump VCD], ...).&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;Reusable code&amp;#039;&amp;#039;&amp;#039;. Consists of the [[libsigrok]] and [[libsigrokdecode]] shared libraries which can be used by various frontends/GUIs.&lt;br /&gt;
&amp;lt;/small&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style=&amp;quot;clear: both;&amp;quot;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style=&amp;quot;width: 50%; float: left; margin-bottom: 1em;&amp;quot;&amp;gt;&lt;br /&gt;
{{Box|&lt;br /&gt;
BORDER = #8898bf|&lt;br /&gt;
BACKGROUND = #d1adf6|&lt;br /&gt;
WIDTH = 100%|&lt;br /&gt;
ICON = |&lt;br /&gt;
HEADING = [[File:Sigrok_stone.png]] &amp;lt;span style=&amp;quot;font-variant:small-caps;&amp;quot;&amp;gt;[http://www.sigrok.org/blog News] / [http://www.sigrok.org/blog Blog]&amp;lt;/span&amp;gt;|&lt;br /&gt;
CONTENT =&lt;br /&gt;
&amp;lt;small&amp;gt;&lt;br /&gt;
&amp;lt;rss max=13 date=&amp;quot;Y-m-d&amp;quot;&amp;gt;http://sigrok.org/blog/rss.xml&amp;lt;/rss&amp;gt;&lt;br /&gt;
See also: [[Current events]].&lt;br /&gt;
&amp;lt;/small&amp;gt;&lt;br /&gt;
}}&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style=&amp;quot;width: 49%; float: right; margin-bottom: 1em;&amp;quot;&amp;gt;&lt;br /&gt;
{{Box|&lt;br /&gt;
BORDER = #8898bf|&lt;br /&gt;
BACKGROUND = lime|&lt;br /&gt;
WIDTH = 100%|&lt;br /&gt;
ICON = |&lt;br /&gt;
HEADING = [[File:Sigrok_stone.png]] &amp;lt;span style=&amp;quot;font-variant:small-caps;&amp;quot;&amp;gt;Supported hardware&amp;lt;/span&amp;gt; (&amp;lt;small&amp;gt;&amp;lt;span style=&amp;quot;font-variant:normal;&amp;quot;&amp;gt;[[:Category:Device|Browse by category...]]&amp;lt;/span&amp;gt;&amp;lt;/small&amp;gt;)|&lt;br /&gt;
CONTENT =&lt;br /&gt;
&amp;lt;small&amp;gt;&lt;br /&gt;
* [[Supported_hardware#Logic_analyzers|Logic analyzers]] ([[Logic analyzer comparison|comparison]])&lt;br /&gt;
* [[Supported_hardware#Mixed-signal_devices|Mixed-signal devices]] ([[Mixed-signal device comparison|comparison]])&lt;br /&gt;
* [[Supported_hardware#Oscilloscopes|Oscilloscopes]] ([[Oscilloscope comparison|comparison]])&lt;br /&gt;
* [[Supported_hardware#Multimeters|Multimeters]] ([[Multimeter comparison|comparison]], [[Device_cables#Multimeters|cables]], [[Multimeter ICs|ICs]])&lt;br /&gt;
* [[Supported_hardware#LCR meters|LCR meters]] ([[LCR meter comparison|comparison]])&lt;br /&gt;
* [[Supported_hardware#Sound_level_meters|Sound level meters]] ([[Sound level meter comparison|comparison]], [[Device_cables#Sound_level_meters|cables]])&lt;br /&gt;
* [[Supported_hardware#Thermometers|Thermometers]] ([[Thermometer comparison|comparison]])&lt;br /&gt;
* [[Supported_hardware#Hygrometers|Hygrometers]]&lt;br /&gt;
* [[Supported_hardware#Anemometers|Anemometers]] ([[Anemometer comparison|comparison]])&lt;br /&gt;
* [[Supported_hardware#Light meters|Light meters]] ([[Light meter comparison|comparison]])&lt;br /&gt;
* [[Supported_hardware#Energy meters|Energy meters]]&lt;br /&gt;
* [[Supported_hardware#DAQs|DAQs]] ([[DAQ comparison|comparison]])&lt;br /&gt;
* [[Supported_hardware#Dataloggers|Dataloggers]] ([[Datalogger comparison|comparison]])&lt;br /&gt;
* [[Supported_hardware#Function_generators|Function generators]] ([[Function generator comparison|comparison]])&lt;br /&gt;
* [[Supported_hardware#RF receivers|RF receivers]]&lt;br /&gt;
* [[Supported_hardware#Spectrum_analyzers|Spectrum analyzers]] ([[Spectrum analyzer comparison|comparison]])&lt;br /&gt;
* [[Supported_hardware#Power_supplies|Power supplies]] ([[Power supply comparison|comparison]])&lt;br /&gt;
* [[Supported_hardware#GPIB_interfaces|GPIB interfaces]] ([[GPIB interface comparison|comparison]])&lt;br /&gt;
&amp;lt;/small&amp;gt;&lt;br /&gt;
}}&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style=&amp;quot;clear: both;&amp;quot;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style=&amp;quot;width: 50%; float: left; margin-bottom: 1em;&amp;quot;&amp;gt;&lt;br /&gt;
{{Box|&lt;br /&gt;
BORDER = #8898bf|&lt;br /&gt;
BACKGROUND = cyan|&lt;br /&gt;
WIDTH = 100%|&lt;br /&gt;
ICON = |&lt;br /&gt;
HEADING = [[File:Sigrok_stone.png]] &amp;lt;span style=&amp;quot;font-variant:small-caps;&amp;quot;&amp;gt;Documentation&amp;lt;/span&amp;gt;|&lt;br /&gt;
CONTENT =&lt;br /&gt;
&amp;lt;small&amp;gt;&lt;br /&gt;
[[Building]] &amp;amp;middot; [[Linux]] &amp;amp;middot; [[Mac OS X]] &amp;amp;middot; [[Windows]] &amp;amp;middot; [[FreeBSD]] &amp;amp;middot; [[OpenBSD]] &amp;amp;middot; [[NetBSD]] &amp;amp;middot; [[Android]] &amp;amp;middot; [[Embedded]] &amp;amp;middot; [[Input output formats]] &amp;amp;middot; [[Protocol decoders]] &amp;amp;middot; [[Probe comparison]] &amp;amp;middot; [[GPIB]] &amp;amp;middot; [[Logo]] &amp;amp;middot; [[Press]]&lt;br /&gt;
&amp;lt;/small&amp;gt;&lt;br /&gt;
}}&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style=&amp;quot;width: 49%; float: right; margin-bottom: 1em;&amp;quot;&amp;gt;&lt;br /&gt;
{{Box|&lt;br /&gt;
BORDER = #8898bf|&lt;br /&gt;
BACKGROUND = #ff3333|&lt;br /&gt;
WIDTH = 100%|&lt;br /&gt;
ICON = |&lt;br /&gt;
HEADING = [[File:Sigrok_stone.png]] &amp;lt;span style=&amp;quot;font-variant:small-caps;&amp;quot;&amp;gt;Subprojects&amp;lt;/span&amp;gt;|&lt;br /&gt;
CONTENT =&lt;br /&gt;
&amp;lt;small&amp;gt;&lt;br /&gt;
[[libserialport]] &amp;amp;middot; [[libsigrok]] &amp;amp;middot; [[libsigrokdecode]] &amp;amp;middot; [[sigrok-cli]] &amp;amp;middot; [[PulseView]] &amp;amp;middot; [[sigrok-meter]] &amp;lt;!-- &amp;amp;middot; [[sigrok-qt]] &amp;amp;middot; [[sigrok-gtk]] --&amp;gt; &amp;amp;middot; [[fx2lafw]] &amp;amp;middot; [[gpibgrok]] &amp;amp;middot; [[fx2grok]] &amp;amp;middot; [[fpgalafw]] &amp;amp;middot; [[Firmware]] &amp;amp;middot; [[Example dumps]]&lt;br /&gt;
&amp;lt;/small&amp;gt;&lt;br /&gt;
}}&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style=&amp;quot;clear: both;&amp;quot;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style=&amp;quot;width: 50%; float: left; margin-bottom: 1em;&amp;quot;&amp;gt;&lt;br /&gt;
{{Box|&lt;br /&gt;
BORDER = #8898bf|&lt;br /&gt;
BACKGROUND = yellow|&lt;br /&gt;
WIDTH = 100%|&lt;br /&gt;
ICON = |&lt;br /&gt;
HEADING = [[File:Sigrok_stone.png]] &amp;lt;span style=&amp;quot;font-variant:small-caps;&amp;quot;&amp;gt;Getting in touch&amp;lt;/span&amp;gt;|&lt;br /&gt;
CONTENT = &lt;br /&gt;
&amp;lt;small&amp;gt;&lt;br /&gt;
Mailing lists: [https://lists.sourceforge.net/lists/listinfo/sigrok-devel sigrok-devel] ([http://news.gmane.org/gmane.comp.debugging.sigrok.devel archive]), [https://lists.sourceforge.net/lists/listinfo/sigrok-commits sigrok-commits] ([http://sourceforge.net/mailarchive/forum.php?forum_name=sigrok-commits archive]) &amp;amp;middot; IRC: [irc://chat.freenode.net/sigrok #sigrok]&lt;br /&gt;
&amp;lt;/small&amp;gt;&lt;br /&gt;
}}&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style=&amp;quot;width: 49%; float: right; margin-bottom: 1em;&amp;quot;&amp;gt;&lt;br /&gt;
{{Box|&lt;br /&gt;
BORDER = #8898bf|&lt;br /&gt;
BACKGROUND = lightblue|&lt;br /&gt;
WIDTH = 100%|&lt;br /&gt;
ICON = |&lt;br /&gt;
HEADING = [[File:Sigrok_stone.png]] &amp;lt;span style=&amp;quot;font-variant:small-caps;&amp;quot;&amp;gt;Development&amp;lt;/span&amp;gt;|&lt;br /&gt;
CONTENT =&lt;br /&gt;
&amp;lt;small&amp;gt;&lt;br /&gt;
[[Developers]] &amp;amp;middot; [http://sigrok.org/api/libsigrok/unstable/index.html libsigrok API] &amp;amp;middot; [http://sigrok.org/api/libsigrokdecode/unstable/index.html libsigrokdecode API] &amp;amp;middot; [http://sigrok.org/gitweb/ Browse source code] &amp;amp;middot; [http://sigrok.org/bugzilla/ Bug tracker] &amp;amp;middot; [[Protocol decoder HOWTO]] &amp;amp;middot; [[Protocol decoder API]] &amp;amp;middot; [[Formats and structures]] &amp;amp;middot; [[Hardware driver API]] &amp;amp;middot; [[Portability]] &amp;amp;middot; [[TODO]]&lt;br /&gt;
&amp;lt;/small&amp;gt;&lt;br /&gt;
}}&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style=&amp;quot;clear: both;margin-top: 2em;&amp;quot;&amp;gt;&lt;br /&gt;
----&lt;br /&gt;
&amp;lt;small&amp;gt;&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;IMPORTANT: Unless explicitly specified otherwise, all contents in this wiki (including text and images) are released under the &amp;lt;span style=&amp;quot;color:red&amp;quot;&amp;gt;CC-BY-SA 3.0&amp;lt;/span&amp;gt; license. If you don&amp;#039;t want that, please explicitly specify another free-ish license when adding pages/images!&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&amp;lt;/small&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
__NOTOC__&lt;br /&gt;
__NOEDITSECTION__&lt;/div&gt;</summary>
		<author><name>Joelholdsworth</name></author>
	</entry>
	<entry>
		<id>https://sigrok.org/w/index.php?title=File_format:Sigrok/v3&amp;diff=10217</id>
		<title>File format:Sigrok/v3</title>
		<link rel="alternate" type="text/html" href="https://sigrok.org/w/index.php?title=File_format:Sigrok/v3&amp;diff=10217"/>
		<updated>2014-11-26T09:44:39Z</updated>

		<summary type="html">&lt;p&gt;Joelholdsworth: /* List of known compression schemes */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{DISPLAYTITLE:File format:sigrok/v3}}&lt;br /&gt;
This page describes the proposed file/stream format (v3) for storing and transmitting sigrok related data.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style=&amp;quot;background-color:#ff6666&amp;quot;&amp;gt;&lt;br /&gt;
NOTE: This is work in progress and has not yet been implemented!&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Motivation ==&lt;br /&gt;
&lt;br /&gt;
The previous [[File format:sigrok/v2|sigrok session]] file format (version 2) is a ZIP file containing multiple files (some metadata files and data files containing the actual samples). This works fine, but it also has some issues:&lt;br /&gt;
&lt;br /&gt;
* In order to get to the data you want, you need to decompress the whole file.&lt;br /&gt;
* Appending to a file is not possible easily (and it&amp;#039;s not efficient).&lt;br /&gt;
* It doesn&amp;#039;t support storing analog data (e.g. from oscilloscopes or MSOs).&lt;br /&gt;
* It doesn&amp;#039;t support storing additional information for frontends (channel colors, and so on).&lt;br /&gt;
* ...&lt;br /&gt;
&lt;br /&gt;
== Goals ==&lt;br /&gt;
&lt;br /&gt;
The following list highlights some of the goals of the new file format (v3):&lt;br /&gt;
&lt;br /&gt;
* It must be able to store&lt;br /&gt;
** arbitrary data (logic samples, and/or analog samples, and/or protocol decoder data, and more), as well as&lt;br /&gt;
** arbitrary meta-/config-data and other extra information that may be useful to frontends (UI state data, user-configured probe colors, names, positions, and so on).&lt;br /&gt;
* It must support and facilitate stream-oriented processing (save, load, transmission, compression/decompression, and so on).&lt;br /&gt;
* It must support compression of the payload data.&lt;br /&gt;
* It must be usable independent of hardware architecture (x86, ARM, PowerPC, MIPS, and so on), operating system, endianness, float representation, and so on. All data fields must be properly specified (endianness, signedness, size, format).&lt;br /&gt;
* It must allow for sufficiently good performance for the common operations a frontend needs to perform on the data/file/stream (save, load, compress/uncompress, append, and so on) so that it doesn&amp;#039;t become the bottleneck. This is especially important for stream-oriented devices which could otherwise lose samples if the processing on the host side is not sufficiently fast ([[Saleae Logic]], [[Saleae Logic16]], [[IKALOGIC ScanaPLUS]], others).&lt;br /&gt;
* It should be able to handle run-time changes in the data streams (via meta packets on the session bus), e.g. changing samplerates, changing probes, etc. etc.&lt;br /&gt;
* It should have better compression properties than ZIP (e.g. using LZO or other algorithms, this is to be evaluated). What we ideally want out of the compression algorithm is:&lt;br /&gt;
** Good and relatively fast compression results at only moderate CPU usage.&lt;br /&gt;
** Very fast decompression (LZO is probably the best one here, as it&amp;#039;s specifically designed for this).&lt;br /&gt;
** Ideally, support for appending further data to already compressed data chunks (though this could be also implemented outside of the compression algorithm per se).&lt;br /&gt;
** Open-source license and OS portability. There should be an open-source library or code chunk for compression/uncompression and it should be widely available in Linux distros, and portable to Windows, Mac OS X, FreeBSD, Android, and so on.&lt;br /&gt;
&lt;br /&gt;
== Specification ==&lt;br /&gt;
&lt;br /&gt;
== UUIDs ==&lt;br /&gt;
&lt;br /&gt;
The format uses random [http://en.wikipedia.org/wiki/Universally_unique_identifier UUIDs] (version 4) as per [http://tools.ietf.org/html/rfc4122 RFC4122] in various places. These UUIDs are always 16 bytes long.&lt;br /&gt;
&lt;br /&gt;
A simple way to generate a random (version 4) UUID (ASCII and hex representation):&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&lt;br /&gt;
 $ &amp;#039;&amp;#039;&amp;#039;python3 -c &amp;#039;import uuid; u = uuid.uuid4(); print(u); print(u.hex)&amp;#039;&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
 14c49f22-f08a-4ef2-b3d7-82ee16c3d531&lt;br /&gt;
 14c49f22f08a4ef2b3d782ee16c3d531&lt;br /&gt;
&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== File/stream format ==&lt;br /&gt;
&lt;br /&gt;
The format consists entirely of a stream of packets of various types.&lt;br /&gt;
&lt;br /&gt;
These packets can be either written to or read from a file, buffer, pipe, socket, or any other source/destination.&lt;br /&gt;
&lt;br /&gt;
== Packet format ==&lt;br /&gt;
&lt;br /&gt;
Every packet consists of four fields:&lt;br /&gt;
&lt;br /&gt;
{| border=&amp;quot;0&amp;quot; style=&amp;quot;font-size: smaller;&amp;quot; class=&amp;quot;alternategrey sigroktable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
!Field&lt;br /&gt;
!Length&lt;br /&gt;
!Description&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| &amp;#039;&amp;#039;&amp;#039;Short-UUID&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
| 2&lt;br /&gt;
| An ID (2 bytes, little-endian) that maps to a previously defined 16-byte packet type UUID. The Short-UUID values can range from 0x0002 to 0xffff, which allows for 65535 different packet types in a single file/stream. The Short-UUIDs 0x0000 and 0x0001 are special and cannot be used for &amp;quot;normal&amp;quot; packets, see below. The reason for using a (Short-)UUID here instead of some simple index number is to allow for clients to define and use their own special-purpose packet types as they see fit, without having to fear any conflicts with existing packet types (or packet types that someone else might add later).&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| &amp;#039;&amp;#039;&amp;#039;Reference-ID&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
| 4&lt;br /&gt;
| An ID (4 bytes, little-endian) that is assigned to this packet, so that other packets can reference it. Valid values: 0x00000001 - 0xffffffff. A value of 0x00000000 means that this packet doesn&amp;#039;t have a Reference-ID. Note that a (Short-)UUID specifies a certain &amp;#039;&amp;#039;type&amp;#039;&amp;#039; of packet, whereas the Reference-ID identifies a specific &amp;#039;&amp;#039;individual&amp;#039;&amp;#039; packet. For example, there can be multiple different packets (different Reference-ID) that are of the same type (same Short-UUID).&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| &amp;#039;&amp;#039;&amp;#039;Length&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
| 4&lt;br /&gt;
| The length of the data in this packet (in number of bytes). The length does not include the length of the &amp;#039;&amp;#039;&amp;#039;Short-UUID&amp;#039;&amp;#039;&amp;#039;, &amp;#039;&amp;#039;&amp;#039;Reference-ID&amp;#039;&amp;#039;&amp;#039; or &amp;#039;&amp;#039;&amp;#039;Length&amp;#039;&amp;#039;&amp;#039; field, only the length of the &amp;#039;&amp;#039;&amp;#039;Data&amp;#039;&amp;#039;&amp;#039; field. The length is given as an uint32_t number (little-endian).&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| &amp;#039;&amp;#039;&amp;#039;Data&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
| 0..n&lt;br /&gt;
| The actual payload data, max. 2^32 bytes (4GiB). For some packet types the &amp;#039;&amp;#039;&amp;#039;Data&amp;#039;&amp;#039;&amp;#039; field is optional (in that case it is completely omitted and the &amp;#039;&amp;#039;&amp;#039;Length&amp;#039;&amp;#039;&amp;#039; field is set to 0). The contents of the &amp;#039;&amp;#039;&amp;#039;Data&amp;#039;&amp;#039;&amp;#039; field are entirely dependent on (and vary with) the type of packet.&lt;br /&gt;
&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
Using the common [http://en.wikipedia.org/wiki/Type-length-value type-length-value] idom for each packet allows clients to easily skip over (ignore) any packets they do not know how to handle, and instead continue on to checking/handling the next packet.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Example packet with a 7-byte data field (Short-UUID is 0x55aa, Reference-ID is 0x00008ab2):&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
{| border=&amp;quot;0&amp;quot; style=&amp;quot;font-size: smaller;&amp;quot; class=&amp;quot;alternategrey sigroktable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
!Short-UUID&lt;br /&gt;
!Reference-ID&lt;br /&gt;
!Length&lt;br /&gt;
!Data&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| 55 aa&lt;br /&gt;
| 00 00 8a b2&lt;br /&gt;
| 00 00 00 07&lt;br /&gt;
| 11 22 33 44 55 66 77&lt;br /&gt;
&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Example packet without a data field (Short-UUID is 0x55aa, Reference-ID is 0x00005f31):&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
{| border=&amp;quot;0&amp;quot; style=&amp;quot;font-size: smaller;&amp;quot; class=&amp;quot;alternategrey sigroktable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
!Short-UUID&lt;br /&gt;
!Reference-ID&lt;br /&gt;
!Length&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| 55 aa&lt;br /&gt;
| 00 00 5f 31&lt;br /&gt;
| 00 00 00 00&lt;br /&gt;
&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== PACKET_MAP_UUIDS packet ==&lt;br /&gt;
&lt;br /&gt;
This is a special packet that is used to map 16-byte UUIDs to 2-byte Short-UUIDs.&lt;br /&gt;
&lt;br /&gt;
Since every packet has a 2-byte Short-UUID, PACKET_MAP_UUIDS must be the first packet in a file/stream, otherwise the client will not be able to interpret any other packets.&lt;br /&gt;
&lt;br /&gt;
However, PACKET_MAP_UUIDS can occur multiple times in a stream. Every time PACKET_MAP_UUIDS is seen, mappings that were not yet defined are added to the list of mappings, and mappings that already existed will be overwritten with the respective new mapping.&lt;br /&gt;
&lt;br /&gt;
Since PACKET_MAP_UUIDS is a packet itself, it also consists of the four common fields Short-UUID/Reference-ID/Length/Data. The Short-UUID of PACKET_MAP_UUIDS is always &amp;#039;&amp;#039;&amp;#039;0x0000&amp;#039;&amp;#039;&amp;#039;.&lt;br /&gt;
&lt;br /&gt;
The &amp;#039;&amp;#039;&amp;#039;Data&amp;#039;&amp;#039;&amp;#039; field has the following contents:&lt;br /&gt;
&lt;br /&gt;
{| border=&amp;quot;0&amp;quot; style=&amp;quot;font-size: smaller;&amp;quot; class=&amp;quot;alternategrey sigroktable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
!Field&lt;br /&gt;
!Length&lt;br /&gt;
!Description&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| &amp;#039;&amp;#039;&amp;#039;Special Short-UUID for magic marker&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
| 2&lt;br /&gt;
| A reserved special Short-UUID (2 bytes, little-endian) for the magic marker. Value: &amp;#039;&amp;#039;&amp;#039;0x0001&amp;#039;&amp;#039;&amp;#039;.&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| &amp;#039;&amp;#039;&amp;#039;Special UUID for magic marker&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
| 16&lt;br /&gt;
| This is a special marker that can be used by the &amp;#039;&amp;#039;&amp;#039;file&amp;#039;&amp;#039;&amp;#039; utility (and other tools) to detect the file format easily. Contents: &amp;#039;&amp;#039;&amp;#039;$sIgRoK$$sIgRoK$&amp;#039;&amp;#039;&amp;#039;.&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| &amp;#039;&amp;#039;&amp;#039;Short-UUID 1&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
| 2&lt;br /&gt;
| The 2-byte Short-UUID with index 1 (valid values: 0x0002 to 0xffff) that will, from now on, map to the UUID specified below.&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| &amp;#039;&amp;#039;&amp;#039;UUID 1&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
| 16&lt;br /&gt;
| The UUID with index 1 (binary representation, 16 bytes, little-endian) which identifies the type of packet (globally unique).&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| &amp;#039;&amp;#039;&amp;#039;Short-UUID 2&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
| 2&lt;br /&gt;
| The 2-byte Short-UUID with index 2 (valid values: 0x0002 to 0xffff) that will, from now on, map to the UUID specified below.&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| &amp;#039;&amp;#039;&amp;#039;UUID 2&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
| 16&lt;br /&gt;
| The UUID with index 2 (binary representation, 16 bytes, little-endian) which identifies the type of packet (globally unique).&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| ...&lt;br /&gt;
| ...&lt;br /&gt;
| ...&lt;br /&gt;
&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
Important notes:&lt;br /&gt;
&lt;br /&gt;
* The &amp;#039;&amp;#039;&amp;#039;Data&amp;#039;&amp;#039;&amp;#039; field contains a list of Short-UUID to UUID mappings. Since every such pair is 18 bytes in size, the &amp;#039;&amp;#039;&amp;#039;Length&amp;#039;&amp;#039;&amp;#039; field of PACKET_MAP_UUIDS can be used to deduce how many such mappings are contained in the &amp;#039;&amp;#039;&amp;#039;Data&amp;#039;&amp;#039;&amp;#039; field.&lt;br /&gt;
* The special &amp;quot;magic marker&amp;quot; fields (2 + 16 bytes) are required to be in every PACKET_MAP_UUIDS and are required to always be the first entries of PACKET_MAP_UUIDS. The file format can thus easily be detected by looking at the unique bytes 10-27 in the file (additionally, the file also always starts with the two bytes 0x00 0x00).&lt;br /&gt;
* The special Short-UUID 0x0000 must not be used in any mapping, it is reserved for PACKET_MAP_UUIDS itself.&lt;br /&gt;
* The special Short-UUID 0x0001 must not be used in any mapping, it is reserved for the special &amp;quot;magic marker&amp;quot;, see above.&lt;br /&gt;
* There is no guarantee of any kind about which Short-UUIDs will be mapped (and to what). Specifically, a client can &amp;#039;&amp;#039;&amp;#039;not&amp;#039;&amp;#039;&amp;#039; assume that Short-UUIDs start at 0x0002, and it can &amp;#039;&amp;#039;&amp;#039;not&amp;#039;&amp;#039;&amp;#039; assume that Short-UUIDs are ordered in any way. The Short-UUIDs can have a completely random order and they can also have gaps.&lt;br /&gt;
* Mappings are generally not static in nature. Every additional PACKET_MAP_UUIDS that occurs can dynamically add or overwrite/change mappings, for example.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Example packet:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
{| border=&amp;quot;0&amp;quot; style=&amp;quot;font-size: smaller;&amp;quot; class=&amp;quot;alternategrey sigroktable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
!Short-UUID&lt;br /&gt;
!Reference-ID&lt;br /&gt;
!Length&lt;br /&gt;
!Data&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| 00&amp;amp;nbsp;00&lt;br /&gt;
| &amp;#039;&amp;#039;xx&amp;amp;nbsp;xx&amp;amp;nbsp;xx&amp;amp;nbsp;xx&amp;#039;&amp;#039;&lt;br /&gt;
| 00&amp;amp;nbsp;00&amp;amp;nbsp;00&amp;amp;nbsp;48&lt;br /&gt;
| &amp;lt;tt&amp;gt;&amp;lt;span style=&amp;quot;background-color: lightblue&amp;quot;&amp;gt;00 01&amp;lt;/span&amp;gt; &amp;lt;span style=&amp;quot;background-color: yellow&amp;quot;&amp;gt;24 73 49 67 52 6f 4b 24 24 73 49 67 52 6f 4b 24&amp;lt;/span&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;span style=&amp;quot;background-color: lightblue&amp;quot;&amp;gt;77 a1&amp;lt;/span&amp;gt; &amp;lt;span style=&amp;quot;background-color: cyan&amp;quot;&amp;gt;5a 17 72 eb 28 54 48 a8 a4 1c 73 97 d7 e9 22 3d&amp;lt;/span&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;span style=&amp;quot;background-color: lightblue&amp;quot;&amp;gt;00 06&amp;lt;/span&amp;gt; &amp;lt;span style=&amp;quot;background-color: cyan&amp;quot;&amp;gt;59 de f3 30 53 6a 46 b1 8e dd 62 f2 19 5d 1c 95&amp;lt;/span&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;span style=&amp;quot;background-color: lightblue&amp;quot;&amp;gt;a3 9f&amp;lt;/span&amp;gt; &amp;lt;span style=&amp;quot;background-color: cyan&amp;quot;&amp;gt;ec 6b d7 63 c8 79 4a a7 a9 7a 7e df 0e 68 af c7&amp;lt;/span&amp;gt;&amp;lt;/tt&amp;gt;&lt;br /&gt;
&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
The above PACKET_MAP_UUIDS maps three different UUIDs to the Short-UUIDs 0x77a1, 0x0006 and 0xa39f.&lt;br /&gt;
&lt;br /&gt;
== sigrok packets ==&lt;br /&gt;
&lt;br /&gt;
The following packets are currently defined for use in projects hosted on [http://sigrok.org sigrok.org].&lt;br /&gt;
&lt;br /&gt;
The &amp;quot;names&amp;quot; (e.g. &amp;quot;SIGROK_PACKET_LOGIC&amp;quot;) are for documentation purposes only, the (Short-)UUIDs are what actually matters. The names are prefixed with SIGROK_ to make it clear that other 3rd-party software may define their own additional packet types with arbitrary contents and for arbitrary purposes.&lt;br /&gt;
&lt;br /&gt;
=== SIGROK_PACKET_DEVICE ===&lt;br /&gt;
&lt;br /&gt;
This is a packet type used to define a device.&lt;br /&gt;
&lt;br /&gt;
This packet uses the fixed UUID &amp;#039;&amp;#039;&amp;#039;94aa863d-bb58-4d79-b944-ab9dd30eecdf&amp;#039;&amp;#039;&amp;#039;.&lt;br /&gt;
&lt;br /&gt;
Details yet to be defined.&lt;br /&gt;
&lt;br /&gt;
=== SIGROK_PACKET_CHANNEL ===&lt;br /&gt;
&lt;br /&gt;
This is a packet type used to define a channel.&lt;br /&gt;
&lt;br /&gt;
This packet uses the fixed UUID &amp;#039;&amp;#039;&amp;#039;1325b595-0d5e-40a4-ac4d-36e89224dcb9&amp;#039;&amp;#039;&amp;#039;.&lt;br /&gt;
&lt;br /&gt;
The &amp;#039;&amp;#039;&amp;#039;Data&amp;#039;&amp;#039;&amp;#039; field has the following contents:&lt;br /&gt;
&lt;br /&gt;
{| border=&amp;quot;0&amp;quot; style=&amp;quot;font-size: smaller;&amp;quot; class=&amp;quot;alternategrey sigroktable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
!Field&lt;br /&gt;
!Length&lt;br /&gt;
!Description&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| &amp;#039;&amp;#039;&amp;#039;Backreference-ID&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
| 4&lt;br /&gt;
| A Reference-ID (4 bytes, little-endian) referencing a previously defined device (SIGROK_PACKET_DEVICE) that the channel belongs to.&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| &amp;#039;&amp;#039;&amp;#039;Channel type&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
| 1&lt;br /&gt;
| The type of this channel. &amp;#039;&amp;#039;&amp;#039;0x01&amp;#039;&amp;#039;&amp;#039;: Logic, &amp;#039;&amp;#039;&amp;#039;0x02&amp;#039;&amp;#039;&amp;#039;: Analog.&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| &amp;#039;&amp;#039;&amp;#039;Channel name length&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
| 2&lt;br /&gt;
| The length in number of bytes of the channel name (2 bytes, little-endian).&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| &amp;#039;&amp;#039;&amp;#039;Channel name&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
| n&lt;br /&gt;
| The channel name (UTF-8 string).&lt;br /&gt;
&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Example packet:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
The following packet defines a logic channel named &amp;quot;CH1&amp;quot; with the Reference-ID &amp;#039;&amp;#039;tt tt tt tt&amp;#039;&amp;#039; (which identifies this specific channel) and the Backreference-ID &amp;#039;&amp;#039;bb bb bb bb&amp;#039;&amp;#039; which references a previously defined device the channel belongs to.&lt;br /&gt;
&lt;br /&gt;
{| border=&amp;quot;0&amp;quot; style=&amp;quot;font-size: smaller;&amp;quot; class=&amp;quot;alternategrey sigroktable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
!Short-UUID&lt;br /&gt;
!Reference-ID&lt;br /&gt;
!Length&lt;br /&gt;
!Data&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| &amp;#039;&amp;#039;uu uu&amp;#039;&amp;#039;&lt;br /&gt;
| &amp;#039;&amp;#039;tt tt tt tt&amp;#039;&amp;#039;&lt;br /&gt;
| 00 00 00 0a&lt;br /&gt;
| &amp;lt;tt&amp;gt;&amp;lt;span style=&amp;quot;background-color: lightblue&amp;quot;&amp;gt;&amp;#039;&amp;#039;bb bb bb bb&amp;#039;&amp;#039;&amp;lt;/span&amp;gt; &amp;lt;span style=&amp;quot;background-color: cyan&amp;quot;&amp;gt;01&amp;lt;/span&amp;gt; &amp;lt;span style=&amp;quot;background-color: lightblue&amp;quot;&amp;gt;00 03&amp;lt;/span&amp;gt; &amp;lt;span style=&amp;quot;background-color: cyan&amp;quot;&amp;gt;CH1&amp;lt;/span&amp;gt;&amp;lt;/tt&amp;gt;&lt;br /&gt;
&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
Further details yet to be defined.&lt;br /&gt;
&lt;br /&gt;
=== SIGROK_PACKET_LOGIC ===&lt;br /&gt;
&lt;br /&gt;
This is a packet type used to store/transmit (only) digital samples, usually from a logic analyzer.&lt;br /&gt;
&lt;br /&gt;
This packet uses the fixed UUID &amp;#039;&amp;#039;&amp;#039;2236202e-9ee7-4bc6-81f6-56b4e6e029ba&amp;#039;&amp;#039;&amp;#039;.&lt;br /&gt;
&lt;br /&gt;
The &amp;#039;&amp;#039;&amp;#039;Data&amp;#039;&amp;#039;&amp;#039; field has the following contents:&lt;br /&gt;
&lt;br /&gt;
{| border=&amp;quot;0&amp;quot; style=&amp;quot;font-size: smaller;&amp;quot; class=&amp;quot;alternategrey sigroktable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
!Field&lt;br /&gt;
!Length&lt;br /&gt;
!Description&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| &amp;#039;&amp;#039;&amp;#039;Version&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
| 2&lt;br /&gt;
| The version of the SIGROK_PACKET_LOGIC format in binary format (little-endian). Current version: &amp;#039;&amp;#039;&amp;#039;0x0001&amp;#039;&amp;#039;&amp;#039;.&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| &amp;#039;&amp;#039;&amp;#039;Payload format Short-UUID&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
| 2&lt;br /&gt;
| A Short-UUID (2 bytes, little-endian) which identifies a certain payload format.&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| &amp;#039;&amp;#039;&amp;#039;Compression scheme Short-UUID&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
| 2&lt;br /&gt;
| A Short-UUID (2 bytes, little-endian) which identifies a certain compression scheme that is applied to the payload data.&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| &amp;#039;&amp;#039;&amp;#039;Payload length&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
| 4&lt;br /&gt;
| The length of the actual payload data in this SIGROK_PACKET_LOGIC packet (in number of bytes). The length only includes the &amp;#039;&amp;#039;&amp;#039;Payload&amp;#039;&amp;#039;&amp;#039; field. The length is given as an uint32_t number (little-endian).&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| &amp;#039;&amp;#039;&amp;#039;Payload&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
| 0..n&lt;br /&gt;
| The actual payload data, i.e. logic analyzer samples in the specified payload format, using the specified compression scheme.&lt;br /&gt;
&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Example packet:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
(Packet type SIGROK_PACKET_LOGIC Short-UUID &amp;#039;&amp;#039;0xuuuu&amp;#039;&amp;#039;, Reference-ID &amp;#039;&amp;#039;0xtttttttt&amp;#039;&amp;#039;, 0x12 bytes packet data, SIGROK_PACKET_LOGIC version 0x0001, SIGROK_PAYLOAD_FORMAT_LOGIC_V1 payload format Short-UUID &amp;#039;&amp;#039;0xvvvv&amp;#039;&amp;#039;, SIGROK_COMPRESSION_NONE compression scheme Short-UUID &amp;#039;&amp;#039;0xwwww&amp;#039;&amp;#039;, 8 bytes of logic analyzer payload (uncompressed))&lt;br /&gt;
&lt;br /&gt;
{| border=&amp;quot;0&amp;quot; style=&amp;quot;font-size: smaller;&amp;quot; class=&amp;quot;alternategrey sigroktable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
!Short-UUID&lt;br /&gt;
!Reference-ID&lt;br /&gt;
!Length&lt;br /&gt;
!Data&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| &amp;#039;&amp;#039;uu uu&amp;#039;&amp;#039;&lt;br /&gt;
| &amp;#039;&amp;#039;tt tt tt tt&amp;#039;&amp;#039;&lt;br /&gt;
| 00 00 00 12&lt;br /&gt;
| &amp;lt;span style=&amp;quot;background-color: cyan&amp;quot;&amp;gt;00 01&amp;lt;/span&amp;gt; &amp;lt;span style=&amp;quot;background-color: lightblue&amp;quot;&amp;gt;&amp;#039;&amp;#039;vv vv&amp;#039;&amp;#039;&amp;lt;/span&amp;gt; &amp;lt;span style=&amp;quot;background-color: cyan&amp;quot;&amp;gt;&amp;#039;&amp;#039;ww ww&amp;#039;&amp;#039;&amp;lt;/span&amp;gt; &amp;lt;span style=&amp;quot;background-color: lightblue&amp;quot;&amp;gt;00 00 00 08&amp;lt;/span&amp;gt; &amp;lt;span style=&amp;quot;background-color: cyan&amp;quot;&amp;gt;11 22 33 44 55 66 77 88&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== SIGROK_PACKET_ANALOG ===&lt;br /&gt;
&lt;br /&gt;
This is a packet type used to store/transmit (only) analog samples, e.g. from a multimeter, oscilloscope, sound level meter, or any other source for analog data.&lt;br /&gt;
&lt;br /&gt;
This packet uses the fixed UUID &amp;#039;&amp;#039;&amp;#039;59def330-536a-46b1-8edd-62f2195d1c95&amp;#039;&amp;#039;&amp;#039;.&lt;br /&gt;
&lt;br /&gt;
Details yet to be defined.&lt;br /&gt;
&lt;br /&gt;
== List of known packet types ==&lt;br /&gt;
&lt;br /&gt;
This is a short overview of known packet types that are in use. This includes the packet types used in projects hosted at [http://sigrok.org sigrok.org], as well as pointers to packet types that other (3rd-party) software is known to use.&lt;br /&gt;
&lt;br /&gt;
{| border=&amp;quot;0&amp;quot; style=&amp;quot;font-size: smaller;&amp;quot; class=&amp;quot;alternategrey sigroktable sortable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
!UUID&lt;br /&gt;
!Packet type&lt;br /&gt;
!Description&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| 94aa863d-bb58-4d79-b944-ab9dd30eecdf&lt;br /&gt;
| SIGROK_PACKET_DEVICE&lt;br /&gt;
| [[File format:sigrok#SIGROK_PACKET_DEVICE|See above]].&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| 1325b595-0d5e-40a4-ac4d-36e89224dcb9&lt;br /&gt;
| SIGROK_PACKET_CHANNEL&lt;br /&gt;
| [[File format:sigrok#SIGROK_PACKET_CHANNEL|See above]].&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| 5a1772eb-2854-48a8-a41c-7397d7e9223d&lt;br /&gt;
| SIGROK_PACKET_LOGIC&lt;br /&gt;
| [[File format:sigrok#SIGROK_PACKET_LOGIC|See above]].&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| 59def330-536a-46b1-8edd-62f2195d1c95&lt;br /&gt;
| SIGROK_PACKET_ANALOG&lt;br /&gt;
| [[File format:sigrok#SIGROK_PACKET_ANALOG|See above]].&lt;br /&gt;
&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== List of known payload formats ==&lt;br /&gt;
&lt;br /&gt;
This is a short overview of known payload formats that are in use. This includes the payload formats used in projects hosted at [http://sigrok.org sigrok.org], as well as pointers to payload formats that other (3rd-party) software is known to use.&lt;br /&gt;
&lt;br /&gt;
{| border=&amp;quot;0&amp;quot; style=&amp;quot;font-size: smaller;&amp;quot; class=&amp;quot;alternategrey sigroktable sortable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
!UUID&lt;br /&gt;
!Payload format&lt;br /&gt;
!Description&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;white-space: nowrap;&amp;quot; | d2964f38-8b13-4570-9add-add5678a0394&lt;br /&gt;
| SIGROK_PAYLOAD_FORMAT_LOGIC_V1&lt;br /&gt;
| This payload format can only store digital samples from a logic analyzer (0/1 values for a certain channel/probe/pin). It is basically identical to the format that was used in the previous ZIP-based file format versions. Details are yet to be defined.&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| 79e7cfd1-0f56-4d5e-968a-b66fdbdff624&lt;br /&gt;
| SIGROK_PAYLOAD_FORMAT_ANALOG_V1&lt;br /&gt;
| A certain type of payload format that can store (only) analog samples of a certain number of analog channels. Details are yet to be defined.&lt;br /&gt;
&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== List of known compression schemes ==&lt;br /&gt;
&lt;br /&gt;
This is a short overview of known compression schemes that are in use. This includes the schemes used in projects hosted at [http://sigrok.org sigrok.org], as well as pointers to schemes that other (3rd-party) software is known to use.&lt;br /&gt;
&lt;br /&gt;
{| border=&amp;quot;0&amp;quot; style=&amp;quot;font-size: smaller;&amp;quot; class=&amp;quot;alternategrey sigroktable sortable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
!UUID&lt;br /&gt;
!Compression scheme&lt;br /&gt;
!Description&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| ec6bd763-c879-4aa7-a97a-7edf0e68afc7&lt;br /&gt;
| SIGROK_COMPRESSION_NONE&lt;br /&gt;
| No compression whatsoever is used.&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| acd2e249-5c4d-426d-96ae-ded5b6020e6f&lt;br /&gt;
| SIGROK_COMPRESSION_RLE_V1&lt;br /&gt;
| A certain type of RLE-based compression is used. Details are yet to be defined.&lt;br /&gt;
&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
* JH: Do we need info about interleaving here? We could insist that all channels be de-intereleaved, or add support for interleaved streams.&lt;br /&gt;
* JH: Would could add support for device compression schemes. It may sometimes be desirable to be able to pass the device stream straight into the file.&lt;br /&gt;
&lt;br /&gt;
== Futher notes and ideas to consider ==&lt;br /&gt;
&lt;br /&gt;
* Data should be encoded in a data aware way. This would give greater compression:&lt;br /&gt;
** Logic Data is most efficient stored in RLE+Huffman or Golomb coding. e.g. a clock signal may compress to one bit per edge.&lt;br /&gt;
*** JH: I wonder if we can do even better by XOR-ing the data with some kind of frequency tracking oscillator. This would convert a square wave into mostly continuous 0s or 1s, with occasional pulses where jitter occurs.&lt;br /&gt;
*** JH: This kind of thing is best prototyped with a script e.g python + the bitset library.&lt;br /&gt;
** FLAC (libflac) or a FLAC inspired codec (linear predicition) is probably as good as it gets for lossless analog data encoding.&lt;br /&gt;
* If data is stored in a format specific way, it would be best to store it as a series of stream-blocks, similar to how video containers work. Would it be possible to simply leverage a video container such as OGG? IIRC this contains headers to declare metadata about each stream, then a series of timestamped stream blocks interleaved together. The time stamp is a format specific number... for audio: the sample number, for video: the frame number, so sigrok formats can easily leverage this.&lt;br /&gt;
** Similarly RTP is a rather natural protocol for sigrok network streaming.&lt;/div&gt;</summary>
		<author><name>Joelholdsworth</name></author>
	</entry>
	<entry>
		<id>https://sigrok.org/w/index.php?title=File_format:Sigrok/v3&amp;diff=10216</id>
		<title>File format:Sigrok/v3</title>
		<link rel="alternate" type="text/html" href="https://sigrok.org/w/index.php?title=File_format:Sigrok/v3&amp;diff=10216"/>
		<updated>2014-11-26T09:35:32Z</updated>

		<summary type="html">&lt;p&gt;Joelholdsworth: /* Futher notes and ideas to consider */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{DISPLAYTITLE:File format:sigrok/v3}}&lt;br /&gt;
This page describes the proposed file/stream format (v3) for storing and transmitting sigrok related data.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style=&amp;quot;background-color:#ff6666&amp;quot;&amp;gt;&lt;br /&gt;
NOTE: This is work in progress and has not yet been implemented!&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Motivation ==&lt;br /&gt;
&lt;br /&gt;
The previous [[File format:sigrok/v2|sigrok session]] file format (version 2) is a ZIP file containing multiple files (some metadata files and data files containing the actual samples). This works fine, but it also has some issues:&lt;br /&gt;
&lt;br /&gt;
* In order to get to the data you want, you need to decompress the whole file.&lt;br /&gt;
* Appending to a file is not possible easily (and it&amp;#039;s not efficient).&lt;br /&gt;
* It doesn&amp;#039;t support storing analog data (e.g. from oscilloscopes or MSOs).&lt;br /&gt;
* It doesn&amp;#039;t support storing additional information for frontends (channel colors, and so on).&lt;br /&gt;
* ...&lt;br /&gt;
&lt;br /&gt;
== Goals ==&lt;br /&gt;
&lt;br /&gt;
The following list highlights some of the goals of the new file format (v3):&lt;br /&gt;
&lt;br /&gt;
* It must be able to store&lt;br /&gt;
** arbitrary data (logic samples, and/or analog samples, and/or protocol decoder data, and more), as well as&lt;br /&gt;
** arbitrary meta-/config-data and other extra information that may be useful to frontends (UI state data, user-configured probe colors, names, positions, and so on).&lt;br /&gt;
* It must support and facilitate stream-oriented processing (save, load, transmission, compression/decompression, and so on).&lt;br /&gt;
* It must support compression of the payload data.&lt;br /&gt;
* It must be usable independent of hardware architecture (x86, ARM, PowerPC, MIPS, and so on), operating system, endianness, float representation, and so on. All data fields must be properly specified (endianness, signedness, size, format).&lt;br /&gt;
* It must allow for sufficiently good performance for the common operations a frontend needs to perform on the data/file/stream (save, load, compress/uncompress, append, and so on) so that it doesn&amp;#039;t become the bottleneck. This is especially important for stream-oriented devices which could otherwise lose samples if the processing on the host side is not sufficiently fast ([[Saleae Logic]], [[Saleae Logic16]], [[IKALOGIC ScanaPLUS]], others).&lt;br /&gt;
* It should be able to handle run-time changes in the data streams (via meta packets on the session bus), e.g. changing samplerates, changing probes, etc. etc.&lt;br /&gt;
* It should have better compression properties than ZIP (e.g. using LZO or other algorithms, this is to be evaluated). What we ideally want out of the compression algorithm is:&lt;br /&gt;
** Good and relatively fast compression results at only moderate CPU usage.&lt;br /&gt;
** Very fast decompression (LZO is probably the best one here, as it&amp;#039;s specifically designed for this).&lt;br /&gt;
** Ideally, support for appending further data to already compressed data chunks (though this could be also implemented outside of the compression algorithm per se).&lt;br /&gt;
** Open-source license and OS portability. There should be an open-source library or code chunk for compression/uncompression and it should be widely available in Linux distros, and portable to Windows, Mac OS X, FreeBSD, Android, and so on.&lt;br /&gt;
&lt;br /&gt;
== Specification ==&lt;br /&gt;
&lt;br /&gt;
== UUIDs ==&lt;br /&gt;
&lt;br /&gt;
The format uses random [http://en.wikipedia.org/wiki/Universally_unique_identifier UUIDs] (version 4) as per [http://tools.ietf.org/html/rfc4122 RFC4122] in various places. These UUIDs are always 16 bytes long.&lt;br /&gt;
&lt;br /&gt;
A simple way to generate a random (version 4) UUID (ASCII and hex representation):&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&lt;br /&gt;
 $ &amp;#039;&amp;#039;&amp;#039;python3 -c &amp;#039;import uuid; u = uuid.uuid4(); print(u); print(u.hex)&amp;#039;&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
 14c49f22-f08a-4ef2-b3d7-82ee16c3d531&lt;br /&gt;
 14c49f22f08a4ef2b3d782ee16c3d531&lt;br /&gt;
&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== File/stream format ==&lt;br /&gt;
&lt;br /&gt;
The format consists entirely of a stream of packets of various types.&lt;br /&gt;
&lt;br /&gt;
These packets can be either written to or read from a file, buffer, pipe, socket, or any other source/destination.&lt;br /&gt;
&lt;br /&gt;
== Packet format ==&lt;br /&gt;
&lt;br /&gt;
Every packet consists of four fields:&lt;br /&gt;
&lt;br /&gt;
{| border=&amp;quot;0&amp;quot; style=&amp;quot;font-size: smaller;&amp;quot; class=&amp;quot;alternategrey sigroktable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
!Field&lt;br /&gt;
!Length&lt;br /&gt;
!Description&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| &amp;#039;&amp;#039;&amp;#039;Short-UUID&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
| 2&lt;br /&gt;
| An ID (2 bytes, little-endian) that maps to a previously defined 16-byte packet type UUID. The Short-UUID values can range from 0x0002 to 0xffff, which allows for 65535 different packet types in a single file/stream. The Short-UUIDs 0x0000 and 0x0001 are special and cannot be used for &amp;quot;normal&amp;quot; packets, see below. The reason for using a (Short-)UUID here instead of some simple index number is to allow for clients to define and use their own special-purpose packet types as they see fit, without having to fear any conflicts with existing packet types (or packet types that someone else might add later).&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| &amp;#039;&amp;#039;&amp;#039;Reference-ID&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
| 4&lt;br /&gt;
| An ID (4 bytes, little-endian) that is assigned to this packet, so that other packets can reference it. Valid values: 0x00000001 - 0xffffffff. A value of 0x00000000 means that this packet doesn&amp;#039;t have a Reference-ID. Note that a (Short-)UUID specifies a certain &amp;#039;&amp;#039;type&amp;#039;&amp;#039; of packet, whereas the Reference-ID identifies a specific &amp;#039;&amp;#039;individual&amp;#039;&amp;#039; packet. For example, there can be multiple different packets (different Reference-ID) that are of the same type (same Short-UUID).&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| &amp;#039;&amp;#039;&amp;#039;Length&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
| 4&lt;br /&gt;
| The length of the data in this packet (in number of bytes). The length does not include the length of the &amp;#039;&amp;#039;&amp;#039;Short-UUID&amp;#039;&amp;#039;&amp;#039;, &amp;#039;&amp;#039;&amp;#039;Reference-ID&amp;#039;&amp;#039;&amp;#039; or &amp;#039;&amp;#039;&amp;#039;Length&amp;#039;&amp;#039;&amp;#039; field, only the length of the &amp;#039;&amp;#039;&amp;#039;Data&amp;#039;&amp;#039;&amp;#039; field. The length is given as an uint32_t number (little-endian).&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| &amp;#039;&amp;#039;&amp;#039;Data&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
| 0..n&lt;br /&gt;
| The actual payload data, max. 2^32 bytes (4GiB). For some packet types the &amp;#039;&amp;#039;&amp;#039;Data&amp;#039;&amp;#039;&amp;#039; field is optional (in that case it is completely omitted and the &amp;#039;&amp;#039;&amp;#039;Length&amp;#039;&amp;#039;&amp;#039; field is set to 0). The contents of the &amp;#039;&amp;#039;&amp;#039;Data&amp;#039;&amp;#039;&amp;#039; field are entirely dependent on (and vary with) the type of packet.&lt;br /&gt;
&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
Using the common [http://en.wikipedia.org/wiki/Type-length-value type-length-value] idom for each packet allows clients to easily skip over (ignore) any packets they do not know how to handle, and instead continue on to checking/handling the next packet.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Example packet with a 7-byte data field (Short-UUID is 0x55aa, Reference-ID is 0x00008ab2):&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
{| border=&amp;quot;0&amp;quot; style=&amp;quot;font-size: smaller;&amp;quot; class=&amp;quot;alternategrey sigroktable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
!Short-UUID&lt;br /&gt;
!Reference-ID&lt;br /&gt;
!Length&lt;br /&gt;
!Data&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| 55 aa&lt;br /&gt;
| 00 00 8a b2&lt;br /&gt;
| 00 00 00 07&lt;br /&gt;
| 11 22 33 44 55 66 77&lt;br /&gt;
&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Example packet without a data field (Short-UUID is 0x55aa, Reference-ID is 0x00005f31):&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
{| border=&amp;quot;0&amp;quot; style=&amp;quot;font-size: smaller;&amp;quot; class=&amp;quot;alternategrey sigroktable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
!Short-UUID&lt;br /&gt;
!Reference-ID&lt;br /&gt;
!Length&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| 55 aa&lt;br /&gt;
| 00 00 5f 31&lt;br /&gt;
| 00 00 00 00&lt;br /&gt;
&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== PACKET_MAP_UUIDS packet ==&lt;br /&gt;
&lt;br /&gt;
This is a special packet that is used to map 16-byte UUIDs to 2-byte Short-UUIDs.&lt;br /&gt;
&lt;br /&gt;
Since every packet has a 2-byte Short-UUID, PACKET_MAP_UUIDS must be the first packet in a file/stream, otherwise the client will not be able to interpret any other packets.&lt;br /&gt;
&lt;br /&gt;
However, PACKET_MAP_UUIDS can occur multiple times in a stream. Every time PACKET_MAP_UUIDS is seen, mappings that were not yet defined are added to the list of mappings, and mappings that already existed will be overwritten with the respective new mapping.&lt;br /&gt;
&lt;br /&gt;
Since PACKET_MAP_UUIDS is a packet itself, it also consists of the four common fields Short-UUID/Reference-ID/Length/Data. The Short-UUID of PACKET_MAP_UUIDS is always &amp;#039;&amp;#039;&amp;#039;0x0000&amp;#039;&amp;#039;&amp;#039;.&lt;br /&gt;
&lt;br /&gt;
The &amp;#039;&amp;#039;&amp;#039;Data&amp;#039;&amp;#039;&amp;#039; field has the following contents:&lt;br /&gt;
&lt;br /&gt;
{| border=&amp;quot;0&amp;quot; style=&amp;quot;font-size: smaller;&amp;quot; class=&amp;quot;alternategrey sigroktable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
!Field&lt;br /&gt;
!Length&lt;br /&gt;
!Description&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| &amp;#039;&amp;#039;&amp;#039;Special Short-UUID for magic marker&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
| 2&lt;br /&gt;
| A reserved special Short-UUID (2 bytes, little-endian) for the magic marker. Value: &amp;#039;&amp;#039;&amp;#039;0x0001&amp;#039;&amp;#039;&amp;#039;.&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| &amp;#039;&amp;#039;&amp;#039;Special UUID for magic marker&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
| 16&lt;br /&gt;
| This is a special marker that can be used by the &amp;#039;&amp;#039;&amp;#039;file&amp;#039;&amp;#039;&amp;#039; utility (and other tools) to detect the file format easily. Contents: &amp;#039;&amp;#039;&amp;#039;$sIgRoK$$sIgRoK$&amp;#039;&amp;#039;&amp;#039;.&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| &amp;#039;&amp;#039;&amp;#039;Short-UUID 1&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
| 2&lt;br /&gt;
| The 2-byte Short-UUID with index 1 (valid values: 0x0002 to 0xffff) that will, from now on, map to the UUID specified below.&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| &amp;#039;&amp;#039;&amp;#039;UUID 1&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
| 16&lt;br /&gt;
| The UUID with index 1 (binary representation, 16 bytes, little-endian) which identifies the type of packet (globally unique).&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| &amp;#039;&amp;#039;&amp;#039;Short-UUID 2&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
| 2&lt;br /&gt;
| The 2-byte Short-UUID with index 2 (valid values: 0x0002 to 0xffff) that will, from now on, map to the UUID specified below.&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| &amp;#039;&amp;#039;&amp;#039;UUID 2&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
| 16&lt;br /&gt;
| The UUID with index 2 (binary representation, 16 bytes, little-endian) which identifies the type of packet (globally unique).&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| ...&lt;br /&gt;
| ...&lt;br /&gt;
| ...&lt;br /&gt;
&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
Important notes:&lt;br /&gt;
&lt;br /&gt;
* The &amp;#039;&amp;#039;&amp;#039;Data&amp;#039;&amp;#039;&amp;#039; field contains a list of Short-UUID to UUID mappings. Since every such pair is 18 bytes in size, the &amp;#039;&amp;#039;&amp;#039;Length&amp;#039;&amp;#039;&amp;#039; field of PACKET_MAP_UUIDS can be used to deduce how many such mappings are contained in the &amp;#039;&amp;#039;&amp;#039;Data&amp;#039;&amp;#039;&amp;#039; field.&lt;br /&gt;
* The special &amp;quot;magic marker&amp;quot; fields (2 + 16 bytes) are required to be in every PACKET_MAP_UUIDS and are required to always be the first entries of PACKET_MAP_UUIDS. The file format can thus easily be detected by looking at the unique bytes 10-27 in the file (additionally, the file also always starts with the two bytes 0x00 0x00).&lt;br /&gt;
* The special Short-UUID 0x0000 must not be used in any mapping, it is reserved for PACKET_MAP_UUIDS itself.&lt;br /&gt;
* The special Short-UUID 0x0001 must not be used in any mapping, it is reserved for the special &amp;quot;magic marker&amp;quot;, see above.&lt;br /&gt;
* There is no guarantee of any kind about which Short-UUIDs will be mapped (and to what). Specifically, a client can &amp;#039;&amp;#039;&amp;#039;not&amp;#039;&amp;#039;&amp;#039; assume that Short-UUIDs start at 0x0002, and it can &amp;#039;&amp;#039;&amp;#039;not&amp;#039;&amp;#039;&amp;#039; assume that Short-UUIDs are ordered in any way. The Short-UUIDs can have a completely random order and they can also have gaps.&lt;br /&gt;
* Mappings are generally not static in nature. Every additional PACKET_MAP_UUIDS that occurs can dynamically add or overwrite/change mappings, for example.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Example packet:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
{| border=&amp;quot;0&amp;quot; style=&amp;quot;font-size: smaller;&amp;quot; class=&amp;quot;alternategrey sigroktable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
!Short-UUID&lt;br /&gt;
!Reference-ID&lt;br /&gt;
!Length&lt;br /&gt;
!Data&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| 00&amp;amp;nbsp;00&lt;br /&gt;
| &amp;#039;&amp;#039;xx&amp;amp;nbsp;xx&amp;amp;nbsp;xx&amp;amp;nbsp;xx&amp;#039;&amp;#039;&lt;br /&gt;
| 00&amp;amp;nbsp;00&amp;amp;nbsp;00&amp;amp;nbsp;48&lt;br /&gt;
| &amp;lt;tt&amp;gt;&amp;lt;span style=&amp;quot;background-color: lightblue&amp;quot;&amp;gt;00 01&amp;lt;/span&amp;gt; &amp;lt;span style=&amp;quot;background-color: yellow&amp;quot;&amp;gt;24 73 49 67 52 6f 4b 24 24 73 49 67 52 6f 4b 24&amp;lt;/span&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;span style=&amp;quot;background-color: lightblue&amp;quot;&amp;gt;77 a1&amp;lt;/span&amp;gt; &amp;lt;span style=&amp;quot;background-color: cyan&amp;quot;&amp;gt;5a 17 72 eb 28 54 48 a8 a4 1c 73 97 d7 e9 22 3d&amp;lt;/span&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;span style=&amp;quot;background-color: lightblue&amp;quot;&amp;gt;00 06&amp;lt;/span&amp;gt; &amp;lt;span style=&amp;quot;background-color: cyan&amp;quot;&amp;gt;59 de f3 30 53 6a 46 b1 8e dd 62 f2 19 5d 1c 95&amp;lt;/span&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;span style=&amp;quot;background-color: lightblue&amp;quot;&amp;gt;a3 9f&amp;lt;/span&amp;gt; &amp;lt;span style=&amp;quot;background-color: cyan&amp;quot;&amp;gt;ec 6b d7 63 c8 79 4a a7 a9 7a 7e df 0e 68 af c7&amp;lt;/span&amp;gt;&amp;lt;/tt&amp;gt;&lt;br /&gt;
&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
The above PACKET_MAP_UUIDS maps three different UUIDs to the Short-UUIDs 0x77a1, 0x0006 and 0xa39f.&lt;br /&gt;
&lt;br /&gt;
== sigrok packets ==&lt;br /&gt;
&lt;br /&gt;
The following packets are currently defined for use in projects hosted on [http://sigrok.org sigrok.org].&lt;br /&gt;
&lt;br /&gt;
The &amp;quot;names&amp;quot; (e.g. &amp;quot;SIGROK_PACKET_LOGIC&amp;quot;) are for documentation purposes only, the (Short-)UUIDs are what actually matters. The names are prefixed with SIGROK_ to make it clear that other 3rd-party software may define their own additional packet types with arbitrary contents and for arbitrary purposes.&lt;br /&gt;
&lt;br /&gt;
=== SIGROK_PACKET_DEVICE ===&lt;br /&gt;
&lt;br /&gt;
This is a packet type used to define a device.&lt;br /&gt;
&lt;br /&gt;
This packet uses the fixed UUID &amp;#039;&amp;#039;&amp;#039;94aa863d-bb58-4d79-b944-ab9dd30eecdf&amp;#039;&amp;#039;&amp;#039;.&lt;br /&gt;
&lt;br /&gt;
Details yet to be defined.&lt;br /&gt;
&lt;br /&gt;
=== SIGROK_PACKET_CHANNEL ===&lt;br /&gt;
&lt;br /&gt;
This is a packet type used to define a channel.&lt;br /&gt;
&lt;br /&gt;
This packet uses the fixed UUID &amp;#039;&amp;#039;&amp;#039;1325b595-0d5e-40a4-ac4d-36e89224dcb9&amp;#039;&amp;#039;&amp;#039;.&lt;br /&gt;
&lt;br /&gt;
The &amp;#039;&amp;#039;&amp;#039;Data&amp;#039;&amp;#039;&amp;#039; field has the following contents:&lt;br /&gt;
&lt;br /&gt;
{| border=&amp;quot;0&amp;quot; style=&amp;quot;font-size: smaller;&amp;quot; class=&amp;quot;alternategrey sigroktable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
!Field&lt;br /&gt;
!Length&lt;br /&gt;
!Description&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| &amp;#039;&amp;#039;&amp;#039;Backreference-ID&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
| 4&lt;br /&gt;
| A Reference-ID (4 bytes, little-endian) referencing a previously defined device (SIGROK_PACKET_DEVICE) that the channel belongs to.&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| &amp;#039;&amp;#039;&amp;#039;Channel type&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
| 1&lt;br /&gt;
| The type of this channel. &amp;#039;&amp;#039;&amp;#039;0x01&amp;#039;&amp;#039;&amp;#039;: Logic, &amp;#039;&amp;#039;&amp;#039;0x02&amp;#039;&amp;#039;&amp;#039;: Analog.&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| &amp;#039;&amp;#039;&amp;#039;Channel name length&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
| 2&lt;br /&gt;
| The length in number of bytes of the channel name (2 bytes, little-endian).&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| &amp;#039;&amp;#039;&amp;#039;Channel name&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
| n&lt;br /&gt;
| The channel name (UTF-8 string).&lt;br /&gt;
&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Example packet:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
The following packet defines a logic channel named &amp;quot;CH1&amp;quot; with the Reference-ID &amp;#039;&amp;#039;tt tt tt tt&amp;#039;&amp;#039; (which identifies this specific channel) and the Backreference-ID &amp;#039;&amp;#039;bb bb bb bb&amp;#039;&amp;#039; which references a previously defined device the channel belongs to.&lt;br /&gt;
&lt;br /&gt;
{| border=&amp;quot;0&amp;quot; style=&amp;quot;font-size: smaller;&amp;quot; class=&amp;quot;alternategrey sigroktable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
!Short-UUID&lt;br /&gt;
!Reference-ID&lt;br /&gt;
!Length&lt;br /&gt;
!Data&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| &amp;#039;&amp;#039;uu uu&amp;#039;&amp;#039;&lt;br /&gt;
| &amp;#039;&amp;#039;tt tt tt tt&amp;#039;&amp;#039;&lt;br /&gt;
| 00 00 00 0a&lt;br /&gt;
| &amp;lt;tt&amp;gt;&amp;lt;span style=&amp;quot;background-color: lightblue&amp;quot;&amp;gt;&amp;#039;&amp;#039;bb bb bb bb&amp;#039;&amp;#039;&amp;lt;/span&amp;gt; &amp;lt;span style=&amp;quot;background-color: cyan&amp;quot;&amp;gt;01&amp;lt;/span&amp;gt; &amp;lt;span style=&amp;quot;background-color: lightblue&amp;quot;&amp;gt;00 03&amp;lt;/span&amp;gt; &amp;lt;span style=&amp;quot;background-color: cyan&amp;quot;&amp;gt;CH1&amp;lt;/span&amp;gt;&amp;lt;/tt&amp;gt;&lt;br /&gt;
&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
Further details yet to be defined.&lt;br /&gt;
&lt;br /&gt;
=== SIGROK_PACKET_LOGIC ===&lt;br /&gt;
&lt;br /&gt;
This is a packet type used to store/transmit (only) digital samples, usually from a logic analyzer.&lt;br /&gt;
&lt;br /&gt;
This packet uses the fixed UUID &amp;#039;&amp;#039;&amp;#039;2236202e-9ee7-4bc6-81f6-56b4e6e029ba&amp;#039;&amp;#039;&amp;#039;.&lt;br /&gt;
&lt;br /&gt;
The &amp;#039;&amp;#039;&amp;#039;Data&amp;#039;&amp;#039;&amp;#039; field has the following contents:&lt;br /&gt;
&lt;br /&gt;
{| border=&amp;quot;0&amp;quot; style=&amp;quot;font-size: smaller;&amp;quot; class=&amp;quot;alternategrey sigroktable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
!Field&lt;br /&gt;
!Length&lt;br /&gt;
!Description&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| &amp;#039;&amp;#039;&amp;#039;Version&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
| 2&lt;br /&gt;
| The version of the SIGROK_PACKET_LOGIC format in binary format (little-endian). Current version: &amp;#039;&amp;#039;&amp;#039;0x0001&amp;#039;&amp;#039;&amp;#039;.&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| &amp;#039;&amp;#039;&amp;#039;Payload format Short-UUID&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
| 2&lt;br /&gt;
| A Short-UUID (2 bytes, little-endian) which identifies a certain payload format.&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| &amp;#039;&amp;#039;&amp;#039;Compression scheme Short-UUID&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
| 2&lt;br /&gt;
| A Short-UUID (2 bytes, little-endian) which identifies a certain compression scheme that is applied to the payload data.&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| &amp;#039;&amp;#039;&amp;#039;Payload length&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
| 4&lt;br /&gt;
| The length of the actual payload data in this SIGROK_PACKET_LOGIC packet (in number of bytes). The length only includes the &amp;#039;&amp;#039;&amp;#039;Payload&amp;#039;&amp;#039;&amp;#039; field. The length is given as an uint32_t number (little-endian).&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| &amp;#039;&amp;#039;&amp;#039;Payload&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
| 0..n&lt;br /&gt;
| The actual payload data, i.e. logic analyzer samples in the specified payload format, using the specified compression scheme.&lt;br /&gt;
&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Example packet:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
(Packet type SIGROK_PACKET_LOGIC Short-UUID &amp;#039;&amp;#039;0xuuuu&amp;#039;&amp;#039;, Reference-ID &amp;#039;&amp;#039;0xtttttttt&amp;#039;&amp;#039;, 0x12 bytes packet data, SIGROK_PACKET_LOGIC version 0x0001, SIGROK_PAYLOAD_FORMAT_LOGIC_V1 payload format Short-UUID &amp;#039;&amp;#039;0xvvvv&amp;#039;&amp;#039;, SIGROK_COMPRESSION_NONE compression scheme Short-UUID &amp;#039;&amp;#039;0xwwww&amp;#039;&amp;#039;, 8 bytes of logic analyzer payload (uncompressed))&lt;br /&gt;
&lt;br /&gt;
{| border=&amp;quot;0&amp;quot; style=&amp;quot;font-size: smaller;&amp;quot; class=&amp;quot;alternategrey sigroktable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
!Short-UUID&lt;br /&gt;
!Reference-ID&lt;br /&gt;
!Length&lt;br /&gt;
!Data&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| &amp;#039;&amp;#039;uu uu&amp;#039;&amp;#039;&lt;br /&gt;
| &amp;#039;&amp;#039;tt tt tt tt&amp;#039;&amp;#039;&lt;br /&gt;
| 00 00 00 12&lt;br /&gt;
| &amp;lt;span style=&amp;quot;background-color: cyan&amp;quot;&amp;gt;00 01&amp;lt;/span&amp;gt; &amp;lt;span style=&amp;quot;background-color: lightblue&amp;quot;&amp;gt;&amp;#039;&amp;#039;vv vv&amp;#039;&amp;#039;&amp;lt;/span&amp;gt; &amp;lt;span style=&amp;quot;background-color: cyan&amp;quot;&amp;gt;&amp;#039;&amp;#039;ww ww&amp;#039;&amp;#039;&amp;lt;/span&amp;gt; &amp;lt;span style=&amp;quot;background-color: lightblue&amp;quot;&amp;gt;00 00 00 08&amp;lt;/span&amp;gt; &amp;lt;span style=&amp;quot;background-color: cyan&amp;quot;&amp;gt;11 22 33 44 55 66 77 88&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== SIGROK_PACKET_ANALOG ===&lt;br /&gt;
&lt;br /&gt;
This is a packet type used to store/transmit (only) analog samples, e.g. from a multimeter, oscilloscope, sound level meter, or any other source for analog data.&lt;br /&gt;
&lt;br /&gt;
This packet uses the fixed UUID &amp;#039;&amp;#039;&amp;#039;59def330-536a-46b1-8edd-62f2195d1c95&amp;#039;&amp;#039;&amp;#039;.&lt;br /&gt;
&lt;br /&gt;
Details yet to be defined.&lt;br /&gt;
&lt;br /&gt;
== List of known packet types ==&lt;br /&gt;
&lt;br /&gt;
This is a short overview of known packet types that are in use. This includes the packet types used in projects hosted at [http://sigrok.org sigrok.org], as well as pointers to packet types that other (3rd-party) software is known to use.&lt;br /&gt;
&lt;br /&gt;
{| border=&amp;quot;0&amp;quot; style=&amp;quot;font-size: smaller;&amp;quot; class=&amp;quot;alternategrey sigroktable sortable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
!UUID&lt;br /&gt;
!Packet type&lt;br /&gt;
!Description&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| 94aa863d-bb58-4d79-b944-ab9dd30eecdf&lt;br /&gt;
| SIGROK_PACKET_DEVICE&lt;br /&gt;
| [[File format:sigrok#SIGROK_PACKET_DEVICE|See above]].&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| 1325b595-0d5e-40a4-ac4d-36e89224dcb9&lt;br /&gt;
| SIGROK_PACKET_CHANNEL&lt;br /&gt;
| [[File format:sigrok#SIGROK_PACKET_CHANNEL|See above]].&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| 5a1772eb-2854-48a8-a41c-7397d7e9223d&lt;br /&gt;
| SIGROK_PACKET_LOGIC&lt;br /&gt;
| [[File format:sigrok#SIGROK_PACKET_LOGIC|See above]].&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| 59def330-536a-46b1-8edd-62f2195d1c95&lt;br /&gt;
| SIGROK_PACKET_ANALOG&lt;br /&gt;
| [[File format:sigrok#SIGROK_PACKET_ANALOG|See above]].&lt;br /&gt;
&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== List of known payload formats ==&lt;br /&gt;
&lt;br /&gt;
This is a short overview of known payload formats that are in use. This includes the payload formats used in projects hosted at [http://sigrok.org sigrok.org], as well as pointers to payload formats that other (3rd-party) software is known to use.&lt;br /&gt;
&lt;br /&gt;
{| border=&amp;quot;0&amp;quot; style=&amp;quot;font-size: smaller;&amp;quot; class=&amp;quot;alternategrey sigroktable sortable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
!UUID&lt;br /&gt;
!Payload format&lt;br /&gt;
!Description&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;white-space: nowrap;&amp;quot; | d2964f38-8b13-4570-9add-add5678a0394&lt;br /&gt;
| SIGROK_PAYLOAD_FORMAT_LOGIC_V1&lt;br /&gt;
| This payload format can only store digital samples from a logic analyzer (0/1 values for a certain channel/probe/pin). It is basically identical to the format that was used in the previous ZIP-based file format versions. Details are yet to be defined.&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| 79e7cfd1-0f56-4d5e-968a-b66fdbdff624&lt;br /&gt;
| SIGROK_PAYLOAD_FORMAT_ANALOG_V1&lt;br /&gt;
| A certain type of payload format that can store (only) analog samples of a certain number of analog channels. Details are yet to be defined.&lt;br /&gt;
&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== List of known compression schemes ==&lt;br /&gt;
&lt;br /&gt;
This is a short overview of known compression schemes that are in use. This includes the schemes used in projects hosted at [http://sigrok.org sigrok.org], as well as pointers to schemes that other (3rd-party) software is known to use.&lt;br /&gt;
&lt;br /&gt;
{| border=&amp;quot;0&amp;quot; style=&amp;quot;font-size: smaller;&amp;quot; class=&amp;quot;alternategrey sigroktable sortable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
!UUID&lt;br /&gt;
!Compression scheme&lt;br /&gt;
!Description&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| ec6bd763-c879-4aa7-a97a-7edf0e68afc7&lt;br /&gt;
| SIGROK_COMPRESSION_NONE&lt;br /&gt;
| No compression whatsoever is used.&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| acd2e249-5c4d-426d-96ae-ded5b6020e6f&lt;br /&gt;
| SIGROK_COMPRESSION_RLE_V1&lt;br /&gt;
| A certain type of RLE-based compression is used. Details are yet to be defined.&lt;br /&gt;
&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== Futher notes and ideas to consider ==&lt;br /&gt;
&lt;br /&gt;
* Data should be encoded in a data aware way. This would give greater compression:&lt;br /&gt;
** Logic Data is most efficient stored in RLE+Huffman or Golomb coding. e.g. a clock signal may compress to one bit per edge.&lt;br /&gt;
*** JH: I wonder if we can do even better by XOR-ing the data with some kind of frequency tracking oscillator. This would convert a square wave into mostly continuous 0s or 1s, with occasional pulses where jitter occurs.&lt;br /&gt;
*** JH: This kind of thing is best prototyped with a script e.g python + the bitset library.&lt;br /&gt;
** FLAC (libflac) or a FLAC inspired codec (linear predicition) is probably as good as it gets for lossless analog data encoding.&lt;br /&gt;
* If data is stored in a format specific way, it would be best to store it as a series of stream-blocks, similar to how video containers work. Would it be possible to simply leverage a video container such as OGG? IIRC this contains headers to declare metadata about each stream, then a series of timestamped stream blocks interleaved together. The time stamp is a format specific number... for audio: the sample number, for video: the frame number, so sigrok formats can easily leverage this.&lt;br /&gt;
** Similarly RTP is a rather natural protocol for sigrok network streaming.&lt;/div&gt;</summary>
		<author><name>Joelholdsworth</name></author>
	</entry>
	<entry>
		<id>https://sigrok.org/w/index.php?title=File_format:Sigrok/v3&amp;diff=10215</id>
		<title>File format:Sigrok/v3</title>
		<link rel="alternate" type="text/html" href="https://sigrok.org/w/index.php?title=File_format:Sigrok/v3&amp;diff=10215"/>
		<updated>2014-11-26T09:34:26Z</updated>

		<summary type="html">&lt;p&gt;Joelholdsworth: /* Futher notes and ideas to consider */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{DISPLAYTITLE:File format:sigrok/v3}}&lt;br /&gt;
This page describes the proposed file/stream format (v3) for storing and transmitting sigrok related data.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style=&amp;quot;background-color:#ff6666&amp;quot;&amp;gt;&lt;br /&gt;
NOTE: This is work in progress and has not yet been implemented!&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Motivation ==&lt;br /&gt;
&lt;br /&gt;
The previous [[File format:sigrok/v2|sigrok session]] file format (version 2) is a ZIP file containing multiple files (some metadata files and data files containing the actual samples). This works fine, but it also has some issues:&lt;br /&gt;
&lt;br /&gt;
* In order to get to the data you want, you need to decompress the whole file.&lt;br /&gt;
* Appending to a file is not possible easily (and it&amp;#039;s not efficient).&lt;br /&gt;
* It doesn&amp;#039;t support storing analog data (e.g. from oscilloscopes or MSOs).&lt;br /&gt;
* It doesn&amp;#039;t support storing additional information for frontends (channel colors, and so on).&lt;br /&gt;
* ...&lt;br /&gt;
&lt;br /&gt;
== Goals ==&lt;br /&gt;
&lt;br /&gt;
The following list highlights some of the goals of the new file format (v3):&lt;br /&gt;
&lt;br /&gt;
* It must be able to store&lt;br /&gt;
** arbitrary data (logic samples, and/or analog samples, and/or protocol decoder data, and more), as well as&lt;br /&gt;
** arbitrary meta-/config-data and other extra information that may be useful to frontends (UI state data, user-configured probe colors, names, positions, and so on).&lt;br /&gt;
* It must support and facilitate stream-oriented processing (save, load, transmission, compression/decompression, and so on).&lt;br /&gt;
* It must support compression of the payload data.&lt;br /&gt;
* It must be usable independent of hardware architecture (x86, ARM, PowerPC, MIPS, and so on), operating system, endianness, float representation, and so on. All data fields must be properly specified (endianness, signedness, size, format).&lt;br /&gt;
* It must allow for sufficiently good performance for the common operations a frontend needs to perform on the data/file/stream (save, load, compress/uncompress, append, and so on) so that it doesn&amp;#039;t become the bottleneck. This is especially important for stream-oriented devices which could otherwise lose samples if the processing on the host side is not sufficiently fast ([[Saleae Logic]], [[Saleae Logic16]], [[IKALOGIC ScanaPLUS]], others).&lt;br /&gt;
* It should be able to handle run-time changes in the data streams (via meta packets on the session bus), e.g. changing samplerates, changing probes, etc. etc.&lt;br /&gt;
* It should have better compression properties than ZIP (e.g. using LZO or other algorithms, this is to be evaluated). What we ideally want out of the compression algorithm is:&lt;br /&gt;
** Good and relatively fast compression results at only moderate CPU usage.&lt;br /&gt;
** Very fast decompression (LZO is probably the best one here, as it&amp;#039;s specifically designed for this).&lt;br /&gt;
** Ideally, support for appending further data to already compressed data chunks (though this could be also implemented outside of the compression algorithm per se).&lt;br /&gt;
** Open-source license and OS portability. There should be an open-source library or code chunk for compression/uncompression and it should be widely available in Linux distros, and portable to Windows, Mac OS X, FreeBSD, Android, and so on.&lt;br /&gt;
&lt;br /&gt;
== Specification ==&lt;br /&gt;
&lt;br /&gt;
== UUIDs ==&lt;br /&gt;
&lt;br /&gt;
The format uses random [http://en.wikipedia.org/wiki/Universally_unique_identifier UUIDs] (version 4) as per [http://tools.ietf.org/html/rfc4122 RFC4122] in various places. These UUIDs are always 16 bytes long.&lt;br /&gt;
&lt;br /&gt;
A simple way to generate a random (version 4) UUID (ASCII and hex representation):&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&lt;br /&gt;
 $ &amp;#039;&amp;#039;&amp;#039;python3 -c &amp;#039;import uuid; u = uuid.uuid4(); print(u); print(u.hex)&amp;#039;&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
 14c49f22-f08a-4ef2-b3d7-82ee16c3d531&lt;br /&gt;
 14c49f22f08a4ef2b3d782ee16c3d531&lt;br /&gt;
&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== File/stream format ==&lt;br /&gt;
&lt;br /&gt;
The format consists entirely of a stream of packets of various types.&lt;br /&gt;
&lt;br /&gt;
These packets can be either written to or read from a file, buffer, pipe, socket, or any other source/destination.&lt;br /&gt;
&lt;br /&gt;
== Packet format ==&lt;br /&gt;
&lt;br /&gt;
Every packet consists of four fields:&lt;br /&gt;
&lt;br /&gt;
{| border=&amp;quot;0&amp;quot; style=&amp;quot;font-size: smaller;&amp;quot; class=&amp;quot;alternategrey sigroktable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
!Field&lt;br /&gt;
!Length&lt;br /&gt;
!Description&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| &amp;#039;&amp;#039;&amp;#039;Short-UUID&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
| 2&lt;br /&gt;
| An ID (2 bytes, little-endian) that maps to a previously defined 16-byte packet type UUID. The Short-UUID values can range from 0x0002 to 0xffff, which allows for 65535 different packet types in a single file/stream. The Short-UUIDs 0x0000 and 0x0001 are special and cannot be used for &amp;quot;normal&amp;quot; packets, see below. The reason for using a (Short-)UUID here instead of some simple index number is to allow for clients to define and use their own special-purpose packet types as they see fit, without having to fear any conflicts with existing packet types (or packet types that someone else might add later).&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| &amp;#039;&amp;#039;&amp;#039;Reference-ID&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
| 4&lt;br /&gt;
| An ID (4 bytes, little-endian) that is assigned to this packet, so that other packets can reference it. Valid values: 0x00000001 - 0xffffffff. A value of 0x00000000 means that this packet doesn&amp;#039;t have a Reference-ID. Note that a (Short-)UUID specifies a certain &amp;#039;&amp;#039;type&amp;#039;&amp;#039; of packet, whereas the Reference-ID identifies a specific &amp;#039;&amp;#039;individual&amp;#039;&amp;#039; packet. For example, there can be multiple different packets (different Reference-ID) that are of the same type (same Short-UUID).&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| &amp;#039;&amp;#039;&amp;#039;Length&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
| 4&lt;br /&gt;
| The length of the data in this packet (in number of bytes). The length does not include the length of the &amp;#039;&amp;#039;&amp;#039;Short-UUID&amp;#039;&amp;#039;&amp;#039;, &amp;#039;&amp;#039;&amp;#039;Reference-ID&amp;#039;&amp;#039;&amp;#039; or &amp;#039;&amp;#039;&amp;#039;Length&amp;#039;&amp;#039;&amp;#039; field, only the length of the &amp;#039;&amp;#039;&amp;#039;Data&amp;#039;&amp;#039;&amp;#039; field. The length is given as an uint32_t number (little-endian).&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| &amp;#039;&amp;#039;&amp;#039;Data&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
| 0..n&lt;br /&gt;
| The actual payload data, max. 2^32 bytes (4GiB). For some packet types the &amp;#039;&amp;#039;&amp;#039;Data&amp;#039;&amp;#039;&amp;#039; field is optional (in that case it is completely omitted and the &amp;#039;&amp;#039;&amp;#039;Length&amp;#039;&amp;#039;&amp;#039; field is set to 0). The contents of the &amp;#039;&amp;#039;&amp;#039;Data&amp;#039;&amp;#039;&amp;#039; field are entirely dependent on (and vary with) the type of packet.&lt;br /&gt;
&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
Using the common [http://en.wikipedia.org/wiki/Type-length-value type-length-value] idom for each packet allows clients to easily skip over (ignore) any packets they do not know how to handle, and instead continue on to checking/handling the next packet.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Example packet with a 7-byte data field (Short-UUID is 0x55aa, Reference-ID is 0x00008ab2):&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
{| border=&amp;quot;0&amp;quot; style=&amp;quot;font-size: smaller;&amp;quot; class=&amp;quot;alternategrey sigroktable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
!Short-UUID&lt;br /&gt;
!Reference-ID&lt;br /&gt;
!Length&lt;br /&gt;
!Data&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| 55 aa&lt;br /&gt;
| 00 00 8a b2&lt;br /&gt;
| 00 00 00 07&lt;br /&gt;
| 11 22 33 44 55 66 77&lt;br /&gt;
&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Example packet without a data field (Short-UUID is 0x55aa, Reference-ID is 0x00005f31):&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
{| border=&amp;quot;0&amp;quot; style=&amp;quot;font-size: smaller;&amp;quot; class=&amp;quot;alternategrey sigroktable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
!Short-UUID&lt;br /&gt;
!Reference-ID&lt;br /&gt;
!Length&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| 55 aa&lt;br /&gt;
| 00 00 5f 31&lt;br /&gt;
| 00 00 00 00&lt;br /&gt;
&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== PACKET_MAP_UUIDS packet ==&lt;br /&gt;
&lt;br /&gt;
This is a special packet that is used to map 16-byte UUIDs to 2-byte Short-UUIDs.&lt;br /&gt;
&lt;br /&gt;
Since every packet has a 2-byte Short-UUID, PACKET_MAP_UUIDS must be the first packet in a file/stream, otherwise the client will not be able to interpret any other packets.&lt;br /&gt;
&lt;br /&gt;
However, PACKET_MAP_UUIDS can occur multiple times in a stream. Every time PACKET_MAP_UUIDS is seen, mappings that were not yet defined are added to the list of mappings, and mappings that already existed will be overwritten with the respective new mapping.&lt;br /&gt;
&lt;br /&gt;
Since PACKET_MAP_UUIDS is a packet itself, it also consists of the four common fields Short-UUID/Reference-ID/Length/Data. The Short-UUID of PACKET_MAP_UUIDS is always &amp;#039;&amp;#039;&amp;#039;0x0000&amp;#039;&amp;#039;&amp;#039;.&lt;br /&gt;
&lt;br /&gt;
The &amp;#039;&amp;#039;&amp;#039;Data&amp;#039;&amp;#039;&amp;#039; field has the following contents:&lt;br /&gt;
&lt;br /&gt;
{| border=&amp;quot;0&amp;quot; style=&amp;quot;font-size: smaller;&amp;quot; class=&amp;quot;alternategrey sigroktable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
!Field&lt;br /&gt;
!Length&lt;br /&gt;
!Description&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| &amp;#039;&amp;#039;&amp;#039;Special Short-UUID for magic marker&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
| 2&lt;br /&gt;
| A reserved special Short-UUID (2 bytes, little-endian) for the magic marker. Value: &amp;#039;&amp;#039;&amp;#039;0x0001&amp;#039;&amp;#039;&amp;#039;.&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| &amp;#039;&amp;#039;&amp;#039;Special UUID for magic marker&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
| 16&lt;br /&gt;
| This is a special marker that can be used by the &amp;#039;&amp;#039;&amp;#039;file&amp;#039;&amp;#039;&amp;#039; utility (and other tools) to detect the file format easily. Contents: &amp;#039;&amp;#039;&amp;#039;$sIgRoK$$sIgRoK$&amp;#039;&amp;#039;&amp;#039;.&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| &amp;#039;&amp;#039;&amp;#039;Short-UUID 1&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
| 2&lt;br /&gt;
| The 2-byte Short-UUID with index 1 (valid values: 0x0002 to 0xffff) that will, from now on, map to the UUID specified below.&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| &amp;#039;&amp;#039;&amp;#039;UUID 1&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
| 16&lt;br /&gt;
| The UUID with index 1 (binary representation, 16 bytes, little-endian) which identifies the type of packet (globally unique).&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| &amp;#039;&amp;#039;&amp;#039;Short-UUID 2&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
| 2&lt;br /&gt;
| The 2-byte Short-UUID with index 2 (valid values: 0x0002 to 0xffff) that will, from now on, map to the UUID specified below.&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| &amp;#039;&amp;#039;&amp;#039;UUID 2&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
| 16&lt;br /&gt;
| The UUID with index 2 (binary representation, 16 bytes, little-endian) which identifies the type of packet (globally unique).&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| ...&lt;br /&gt;
| ...&lt;br /&gt;
| ...&lt;br /&gt;
&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
Important notes:&lt;br /&gt;
&lt;br /&gt;
* The &amp;#039;&amp;#039;&amp;#039;Data&amp;#039;&amp;#039;&amp;#039; field contains a list of Short-UUID to UUID mappings. Since every such pair is 18 bytes in size, the &amp;#039;&amp;#039;&amp;#039;Length&amp;#039;&amp;#039;&amp;#039; field of PACKET_MAP_UUIDS can be used to deduce how many such mappings are contained in the &amp;#039;&amp;#039;&amp;#039;Data&amp;#039;&amp;#039;&amp;#039; field.&lt;br /&gt;
* The special &amp;quot;magic marker&amp;quot; fields (2 + 16 bytes) are required to be in every PACKET_MAP_UUIDS and are required to always be the first entries of PACKET_MAP_UUIDS. The file format can thus easily be detected by looking at the unique bytes 10-27 in the file (additionally, the file also always starts with the two bytes 0x00 0x00).&lt;br /&gt;
* The special Short-UUID 0x0000 must not be used in any mapping, it is reserved for PACKET_MAP_UUIDS itself.&lt;br /&gt;
* The special Short-UUID 0x0001 must not be used in any mapping, it is reserved for the special &amp;quot;magic marker&amp;quot;, see above.&lt;br /&gt;
* There is no guarantee of any kind about which Short-UUIDs will be mapped (and to what). Specifically, a client can &amp;#039;&amp;#039;&amp;#039;not&amp;#039;&amp;#039;&amp;#039; assume that Short-UUIDs start at 0x0002, and it can &amp;#039;&amp;#039;&amp;#039;not&amp;#039;&amp;#039;&amp;#039; assume that Short-UUIDs are ordered in any way. The Short-UUIDs can have a completely random order and they can also have gaps.&lt;br /&gt;
* Mappings are generally not static in nature. Every additional PACKET_MAP_UUIDS that occurs can dynamically add or overwrite/change mappings, for example.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Example packet:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
{| border=&amp;quot;0&amp;quot; style=&amp;quot;font-size: smaller;&amp;quot; class=&amp;quot;alternategrey sigroktable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
!Short-UUID&lt;br /&gt;
!Reference-ID&lt;br /&gt;
!Length&lt;br /&gt;
!Data&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| 00&amp;amp;nbsp;00&lt;br /&gt;
| &amp;#039;&amp;#039;xx&amp;amp;nbsp;xx&amp;amp;nbsp;xx&amp;amp;nbsp;xx&amp;#039;&amp;#039;&lt;br /&gt;
| 00&amp;amp;nbsp;00&amp;amp;nbsp;00&amp;amp;nbsp;48&lt;br /&gt;
| &amp;lt;tt&amp;gt;&amp;lt;span style=&amp;quot;background-color: lightblue&amp;quot;&amp;gt;00 01&amp;lt;/span&amp;gt; &amp;lt;span style=&amp;quot;background-color: yellow&amp;quot;&amp;gt;24 73 49 67 52 6f 4b 24 24 73 49 67 52 6f 4b 24&amp;lt;/span&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;span style=&amp;quot;background-color: lightblue&amp;quot;&amp;gt;77 a1&amp;lt;/span&amp;gt; &amp;lt;span style=&amp;quot;background-color: cyan&amp;quot;&amp;gt;5a 17 72 eb 28 54 48 a8 a4 1c 73 97 d7 e9 22 3d&amp;lt;/span&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;span style=&amp;quot;background-color: lightblue&amp;quot;&amp;gt;00 06&amp;lt;/span&amp;gt; &amp;lt;span style=&amp;quot;background-color: cyan&amp;quot;&amp;gt;59 de f3 30 53 6a 46 b1 8e dd 62 f2 19 5d 1c 95&amp;lt;/span&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;span style=&amp;quot;background-color: lightblue&amp;quot;&amp;gt;a3 9f&amp;lt;/span&amp;gt; &amp;lt;span style=&amp;quot;background-color: cyan&amp;quot;&amp;gt;ec 6b d7 63 c8 79 4a a7 a9 7a 7e df 0e 68 af c7&amp;lt;/span&amp;gt;&amp;lt;/tt&amp;gt;&lt;br /&gt;
&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
The above PACKET_MAP_UUIDS maps three different UUIDs to the Short-UUIDs 0x77a1, 0x0006 and 0xa39f.&lt;br /&gt;
&lt;br /&gt;
== sigrok packets ==&lt;br /&gt;
&lt;br /&gt;
The following packets are currently defined for use in projects hosted on [http://sigrok.org sigrok.org].&lt;br /&gt;
&lt;br /&gt;
The &amp;quot;names&amp;quot; (e.g. &amp;quot;SIGROK_PACKET_LOGIC&amp;quot;) are for documentation purposes only, the (Short-)UUIDs are what actually matters. The names are prefixed with SIGROK_ to make it clear that other 3rd-party software may define their own additional packet types with arbitrary contents and for arbitrary purposes.&lt;br /&gt;
&lt;br /&gt;
=== SIGROK_PACKET_DEVICE ===&lt;br /&gt;
&lt;br /&gt;
This is a packet type used to define a device.&lt;br /&gt;
&lt;br /&gt;
This packet uses the fixed UUID &amp;#039;&amp;#039;&amp;#039;94aa863d-bb58-4d79-b944-ab9dd30eecdf&amp;#039;&amp;#039;&amp;#039;.&lt;br /&gt;
&lt;br /&gt;
Details yet to be defined.&lt;br /&gt;
&lt;br /&gt;
=== SIGROK_PACKET_CHANNEL ===&lt;br /&gt;
&lt;br /&gt;
This is a packet type used to define a channel.&lt;br /&gt;
&lt;br /&gt;
This packet uses the fixed UUID &amp;#039;&amp;#039;&amp;#039;1325b595-0d5e-40a4-ac4d-36e89224dcb9&amp;#039;&amp;#039;&amp;#039;.&lt;br /&gt;
&lt;br /&gt;
The &amp;#039;&amp;#039;&amp;#039;Data&amp;#039;&amp;#039;&amp;#039; field has the following contents:&lt;br /&gt;
&lt;br /&gt;
{| border=&amp;quot;0&amp;quot; style=&amp;quot;font-size: smaller;&amp;quot; class=&amp;quot;alternategrey sigroktable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
!Field&lt;br /&gt;
!Length&lt;br /&gt;
!Description&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| &amp;#039;&amp;#039;&amp;#039;Backreference-ID&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
| 4&lt;br /&gt;
| A Reference-ID (4 bytes, little-endian) referencing a previously defined device (SIGROK_PACKET_DEVICE) that the channel belongs to.&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| &amp;#039;&amp;#039;&amp;#039;Channel type&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
| 1&lt;br /&gt;
| The type of this channel. &amp;#039;&amp;#039;&amp;#039;0x01&amp;#039;&amp;#039;&amp;#039;: Logic, &amp;#039;&amp;#039;&amp;#039;0x02&amp;#039;&amp;#039;&amp;#039;: Analog.&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| &amp;#039;&amp;#039;&amp;#039;Channel name length&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
| 2&lt;br /&gt;
| The length in number of bytes of the channel name (2 bytes, little-endian).&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| &amp;#039;&amp;#039;&amp;#039;Channel name&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
| n&lt;br /&gt;
| The channel name (UTF-8 string).&lt;br /&gt;
&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Example packet:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
The following packet defines a logic channel named &amp;quot;CH1&amp;quot; with the Reference-ID &amp;#039;&amp;#039;tt tt tt tt&amp;#039;&amp;#039; (which identifies this specific channel) and the Backreference-ID &amp;#039;&amp;#039;bb bb bb bb&amp;#039;&amp;#039; which references a previously defined device the channel belongs to.&lt;br /&gt;
&lt;br /&gt;
{| border=&amp;quot;0&amp;quot; style=&amp;quot;font-size: smaller;&amp;quot; class=&amp;quot;alternategrey sigroktable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
!Short-UUID&lt;br /&gt;
!Reference-ID&lt;br /&gt;
!Length&lt;br /&gt;
!Data&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| &amp;#039;&amp;#039;uu uu&amp;#039;&amp;#039;&lt;br /&gt;
| &amp;#039;&amp;#039;tt tt tt tt&amp;#039;&amp;#039;&lt;br /&gt;
| 00 00 00 0a&lt;br /&gt;
| &amp;lt;tt&amp;gt;&amp;lt;span style=&amp;quot;background-color: lightblue&amp;quot;&amp;gt;&amp;#039;&amp;#039;bb bb bb bb&amp;#039;&amp;#039;&amp;lt;/span&amp;gt; &amp;lt;span style=&amp;quot;background-color: cyan&amp;quot;&amp;gt;01&amp;lt;/span&amp;gt; &amp;lt;span style=&amp;quot;background-color: lightblue&amp;quot;&amp;gt;00 03&amp;lt;/span&amp;gt; &amp;lt;span style=&amp;quot;background-color: cyan&amp;quot;&amp;gt;CH1&amp;lt;/span&amp;gt;&amp;lt;/tt&amp;gt;&lt;br /&gt;
&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
Further details yet to be defined.&lt;br /&gt;
&lt;br /&gt;
=== SIGROK_PACKET_LOGIC ===&lt;br /&gt;
&lt;br /&gt;
This is a packet type used to store/transmit (only) digital samples, usually from a logic analyzer.&lt;br /&gt;
&lt;br /&gt;
This packet uses the fixed UUID &amp;#039;&amp;#039;&amp;#039;2236202e-9ee7-4bc6-81f6-56b4e6e029ba&amp;#039;&amp;#039;&amp;#039;.&lt;br /&gt;
&lt;br /&gt;
The &amp;#039;&amp;#039;&amp;#039;Data&amp;#039;&amp;#039;&amp;#039; field has the following contents:&lt;br /&gt;
&lt;br /&gt;
{| border=&amp;quot;0&amp;quot; style=&amp;quot;font-size: smaller;&amp;quot; class=&amp;quot;alternategrey sigroktable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
!Field&lt;br /&gt;
!Length&lt;br /&gt;
!Description&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| &amp;#039;&amp;#039;&amp;#039;Version&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
| 2&lt;br /&gt;
| The version of the SIGROK_PACKET_LOGIC format in binary format (little-endian). Current version: &amp;#039;&amp;#039;&amp;#039;0x0001&amp;#039;&amp;#039;&amp;#039;.&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| &amp;#039;&amp;#039;&amp;#039;Payload format Short-UUID&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
| 2&lt;br /&gt;
| A Short-UUID (2 bytes, little-endian) which identifies a certain payload format.&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| &amp;#039;&amp;#039;&amp;#039;Compression scheme Short-UUID&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
| 2&lt;br /&gt;
| A Short-UUID (2 bytes, little-endian) which identifies a certain compression scheme that is applied to the payload data.&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| &amp;#039;&amp;#039;&amp;#039;Payload length&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
| 4&lt;br /&gt;
| The length of the actual payload data in this SIGROK_PACKET_LOGIC packet (in number of bytes). The length only includes the &amp;#039;&amp;#039;&amp;#039;Payload&amp;#039;&amp;#039;&amp;#039; field. The length is given as an uint32_t number (little-endian).&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| &amp;#039;&amp;#039;&amp;#039;Payload&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
| 0..n&lt;br /&gt;
| The actual payload data, i.e. logic analyzer samples in the specified payload format, using the specified compression scheme.&lt;br /&gt;
&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Example packet:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
(Packet type SIGROK_PACKET_LOGIC Short-UUID &amp;#039;&amp;#039;0xuuuu&amp;#039;&amp;#039;, Reference-ID &amp;#039;&amp;#039;0xtttttttt&amp;#039;&amp;#039;, 0x12 bytes packet data, SIGROK_PACKET_LOGIC version 0x0001, SIGROK_PAYLOAD_FORMAT_LOGIC_V1 payload format Short-UUID &amp;#039;&amp;#039;0xvvvv&amp;#039;&amp;#039;, SIGROK_COMPRESSION_NONE compression scheme Short-UUID &amp;#039;&amp;#039;0xwwww&amp;#039;&amp;#039;, 8 bytes of logic analyzer payload (uncompressed))&lt;br /&gt;
&lt;br /&gt;
{| border=&amp;quot;0&amp;quot; style=&amp;quot;font-size: smaller;&amp;quot; class=&amp;quot;alternategrey sigroktable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
!Short-UUID&lt;br /&gt;
!Reference-ID&lt;br /&gt;
!Length&lt;br /&gt;
!Data&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| &amp;#039;&amp;#039;uu uu&amp;#039;&amp;#039;&lt;br /&gt;
| &amp;#039;&amp;#039;tt tt tt tt&amp;#039;&amp;#039;&lt;br /&gt;
| 00 00 00 12&lt;br /&gt;
| &amp;lt;span style=&amp;quot;background-color: cyan&amp;quot;&amp;gt;00 01&amp;lt;/span&amp;gt; &amp;lt;span style=&amp;quot;background-color: lightblue&amp;quot;&amp;gt;&amp;#039;&amp;#039;vv vv&amp;#039;&amp;#039;&amp;lt;/span&amp;gt; &amp;lt;span style=&amp;quot;background-color: cyan&amp;quot;&amp;gt;&amp;#039;&amp;#039;ww ww&amp;#039;&amp;#039;&amp;lt;/span&amp;gt; &amp;lt;span style=&amp;quot;background-color: lightblue&amp;quot;&amp;gt;00 00 00 08&amp;lt;/span&amp;gt; &amp;lt;span style=&amp;quot;background-color: cyan&amp;quot;&amp;gt;11 22 33 44 55 66 77 88&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== SIGROK_PACKET_ANALOG ===&lt;br /&gt;
&lt;br /&gt;
This is a packet type used to store/transmit (only) analog samples, e.g. from a multimeter, oscilloscope, sound level meter, or any other source for analog data.&lt;br /&gt;
&lt;br /&gt;
This packet uses the fixed UUID &amp;#039;&amp;#039;&amp;#039;59def330-536a-46b1-8edd-62f2195d1c95&amp;#039;&amp;#039;&amp;#039;.&lt;br /&gt;
&lt;br /&gt;
Details yet to be defined.&lt;br /&gt;
&lt;br /&gt;
== List of known packet types ==&lt;br /&gt;
&lt;br /&gt;
This is a short overview of known packet types that are in use. This includes the packet types used in projects hosted at [http://sigrok.org sigrok.org], as well as pointers to packet types that other (3rd-party) software is known to use.&lt;br /&gt;
&lt;br /&gt;
{| border=&amp;quot;0&amp;quot; style=&amp;quot;font-size: smaller;&amp;quot; class=&amp;quot;alternategrey sigroktable sortable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
!UUID&lt;br /&gt;
!Packet type&lt;br /&gt;
!Description&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| 94aa863d-bb58-4d79-b944-ab9dd30eecdf&lt;br /&gt;
| SIGROK_PACKET_DEVICE&lt;br /&gt;
| [[File format:sigrok#SIGROK_PACKET_DEVICE|See above]].&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| 1325b595-0d5e-40a4-ac4d-36e89224dcb9&lt;br /&gt;
| SIGROK_PACKET_CHANNEL&lt;br /&gt;
| [[File format:sigrok#SIGROK_PACKET_CHANNEL|See above]].&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| 5a1772eb-2854-48a8-a41c-7397d7e9223d&lt;br /&gt;
| SIGROK_PACKET_LOGIC&lt;br /&gt;
| [[File format:sigrok#SIGROK_PACKET_LOGIC|See above]].&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| 59def330-536a-46b1-8edd-62f2195d1c95&lt;br /&gt;
| SIGROK_PACKET_ANALOG&lt;br /&gt;
| [[File format:sigrok#SIGROK_PACKET_ANALOG|See above]].&lt;br /&gt;
&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== List of known payload formats ==&lt;br /&gt;
&lt;br /&gt;
This is a short overview of known payload formats that are in use. This includes the payload formats used in projects hosted at [http://sigrok.org sigrok.org], as well as pointers to payload formats that other (3rd-party) software is known to use.&lt;br /&gt;
&lt;br /&gt;
{| border=&amp;quot;0&amp;quot; style=&amp;quot;font-size: smaller;&amp;quot; class=&amp;quot;alternategrey sigroktable sortable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
!UUID&lt;br /&gt;
!Payload format&lt;br /&gt;
!Description&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;white-space: nowrap;&amp;quot; | d2964f38-8b13-4570-9add-add5678a0394&lt;br /&gt;
| SIGROK_PAYLOAD_FORMAT_LOGIC_V1&lt;br /&gt;
| This payload format can only store digital samples from a logic analyzer (0/1 values for a certain channel/probe/pin). It is basically identical to the format that was used in the previous ZIP-based file format versions. Details are yet to be defined.&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| 79e7cfd1-0f56-4d5e-968a-b66fdbdff624&lt;br /&gt;
| SIGROK_PAYLOAD_FORMAT_ANALOG_V1&lt;br /&gt;
| A certain type of payload format that can store (only) analog samples of a certain number of analog channels. Details are yet to be defined.&lt;br /&gt;
&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== List of known compression schemes ==&lt;br /&gt;
&lt;br /&gt;
This is a short overview of known compression schemes that are in use. This includes the schemes used in projects hosted at [http://sigrok.org sigrok.org], as well as pointers to schemes that other (3rd-party) software is known to use.&lt;br /&gt;
&lt;br /&gt;
{| border=&amp;quot;0&amp;quot; style=&amp;quot;font-size: smaller;&amp;quot; class=&amp;quot;alternategrey sigroktable sortable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
!UUID&lt;br /&gt;
!Compression scheme&lt;br /&gt;
!Description&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| ec6bd763-c879-4aa7-a97a-7edf0e68afc7&lt;br /&gt;
| SIGROK_COMPRESSION_NONE&lt;br /&gt;
| No compression whatsoever is used.&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| acd2e249-5c4d-426d-96ae-ded5b6020e6f&lt;br /&gt;
| SIGROK_COMPRESSION_RLE_V1&lt;br /&gt;
| A certain type of RLE-based compression is used. Details are yet to be defined.&lt;br /&gt;
&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== Futher notes and ideas to consider ==&lt;br /&gt;
&lt;br /&gt;
* Data should be encoded in a data aware way. This would give greater compression:&lt;br /&gt;
** Logic Data is most efficient stored in RLE+Huffman or Golomb coding. e.g. a clock signal may compress to one bit per edge.&lt;br /&gt;
*** JH: I wonder if we can do even better by XOR-ing the data with some kind of frequency tracking oscillator. This would convert a square wave into mostly continuous 0s or 1s, with occasional pulses where jitter occurs.&lt;br /&gt;
** FLAC (libflac) or a FLAC inspired codec (linear predicition) is probably as good as it gets for lossless analog data encoding.&lt;br /&gt;
* If data is stored in a format specific way, it would be best to store it as a series of stream-blocks, similar to how video containers work. Would it be possible to simply leverage a video container such as OGG? IIRC this contains headers to declare metadata about each stream, then a series of timestamped stream blocks interleaved together. The time stamp is a format specific number... for audio: the sample number, for video: the frame number, so sigrok formats can easily leverage this.&lt;br /&gt;
** Similarly RTP is a rather natural protocol for sigrok network streaming.&lt;/div&gt;</summary>
		<author><name>Joelholdsworth</name></author>
	</entry>
	<entry>
		<id>https://sigrok.org/w/index.php?title=File_format:Sigrok/v3&amp;diff=10214</id>
		<title>File format:Sigrok/v3</title>
		<link rel="alternate" type="text/html" href="https://sigrok.org/w/index.php?title=File_format:Sigrok/v3&amp;diff=10214"/>
		<updated>2014-11-26T09:29:52Z</updated>

		<summary type="html">&lt;p&gt;Joelholdsworth: /* Goals */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{DISPLAYTITLE:File format:sigrok/v3}}&lt;br /&gt;
This page describes the proposed file/stream format (v3) for storing and transmitting sigrok related data.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style=&amp;quot;background-color:#ff6666&amp;quot;&amp;gt;&lt;br /&gt;
NOTE: This is work in progress and has not yet been implemented!&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Motivation ==&lt;br /&gt;
&lt;br /&gt;
The previous [[File format:sigrok/v2|sigrok session]] file format (version 2) is a ZIP file containing multiple files (some metadata files and data files containing the actual samples). This works fine, but it also has some issues:&lt;br /&gt;
&lt;br /&gt;
* In order to get to the data you want, you need to decompress the whole file.&lt;br /&gt;
* Appending to a file is not possible easily (and it&amp;#039;s not efficient).&lt;br /&gt;
* It doesn&amp;#039;t support storing analog data (e.g. from oscilloscopes or MSOs).&lt;br /&gt;
* It doesn&amp;#039;t support storing additional information for frontends (channel colors, and so on).&lt;br /&gt;
* ...&lt;br /&gt;
&lt;br /&gt;
== Goals ==&lt;br /&gt;
&lt;br /&gt;
The following list highlights some of the goals of the new file format (v3):&lt;br /&gt;
&lt;br /&gt;
* It must be able to store&lt;br /&gt;
** arbitrary data (logic samples, and/or analog samples, and/or protocol decoder data, and more), as well as&lt;br /&gt;
** arbitrary meta-/config-data and other extra information that may be useful to frontends (UI state data, user-configured probe colors, names, positions, and so on).&lt;br /&gt;
* It must support and facilitate stream-oriented processing (save, load, transmission, compression/decompression, and so on).&lt;br /&gt;
* It must support compression of the payload data.&lt;br /&gt;
* It must be usable independent of hardware architecture (x86, ARM, PowerPC, MIPS, and so on), operating system, endianness, float representation, and so on. All data fields must be properly specified (endianness, signedness, size, format).&lt;br /&gt;
* It must allow for sufficiently good performance for the common operations a frontend needs to perform on the data/file/stream (save, load, compress/uncompress, append, and so on) so that it doesn&amp;#039;t become the bottleneck. This is especially important for stream-oriented devices which could otherwise lose samples if the processing on the host side is not sufficiently fast ([[Saleae Logic]], [[Saleae Logic16]], [[IKALOGIC ScanaPLUS]], others).&lt;br /&gt;
* It should be able to handle run-time changes in the data streams (via meta packets on the session bus), e.g. changing samplerates, changing probes, etc. etc.&lt;br /&gt;
* It should have better compression properties than ZIP (e.g. using LZO or other algorithms, this is to be evaluated). What we ideally want out of the compression algorithm is:&lt;br /&gt;
** Good and relatively fast compression results at only moderate CPU usage.&lt;br /&gt;
** Very fast decompression (LZO is probably the best one here, as it&amp;#039;s specifically designed for this).&lt;br /&gt;
** Ideally, support for appending further data to already compressed data chunks (though this could be also implemented outside of the compression algorithm per se).&lt;br /&gt;
** Open-source license and OS portability. There should be an open-source library or code chunk for compression/uncompression and it should be widely available in Linux distros, and portable to Windows, Mac OS X, FreeBSD, Android, and so on.&lt;br /&gt;
&lt;br /&gt;
== Specification ==&lt;br /&gt;
&lt;br /&gt;
== UUIDs ==&lt;br /&gt;
&lt;br /&gt;
The format uses random [http://en.wikipedia.org/wiki/Universally_unique_identifier UUIDs] (version 4) as per [http://tools.ietf.org/html/rfc4122 RFC4122] in various places. These UUIDs are always 16 bytes long.&lt;br /&gt;
&lt;br /&gt;
A simple way to generate a random (version 4) UUID (ASCII and hex representation):&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&lt;br /&gt;
 $ &amp;#039;&amp;#039;&amp;#039;python3 -c &amp;#039;import uuid; u = uuid.uuid4(); print(u); print(u.hex)&amp;#039;&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
 14c49f22-f08a-4ef2-b3d7-82ee16c3d531&lt;br /&gt;
 14c49f22f08a4ef2b3d782ee16c3d531&lt;br /&gt;
&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== File/stream format ==&lt;br /&gt;
&lt;br /&gt;
The format consists entirely of a stream of packets of various types.&lt;br /&gt;
&lt;br /&gt;
These packets can be either written to or read from a file, buffer, pipe, socket, or any other source/destination.&lt;br /&gt;
&lt;br /&gt;
== Packet format ==&lt;br /&gt;
&lt;br /&gt;
Every packet consists of four fields:&lt;br /&gt;
&lt;br /&gt;
{| border=&amp;quot;0&amp;quot; style=&amp;quot;font-size: smaller;&amp;quot; class=&amp;quot;alternategrey sigroktable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
!Field&lt;br /&gt;
!Length&lt;br /&gt;
!Description&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| &amp;#039;&amp;#039;&amp;#039;Short-UUID&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
| 2&lt;br /&gt;
| An ID (2 bytes, little-endian) that maps to a previously defined 16-byte packet type UUID. The Short-UUID values can range from 0x0002 to 0xffff, which allows for 65535 different packet types in a single file/stream. The Short-UUIDs 0x0000 and 0x0001 are special and cannot be used for &amp;quot;normal&amp;quot; packets, see below. The reason for using a (Short-)UUID here instead of some simple index number is to allow for clients to define and use their own special-purpose packet types as they see fit, without having to fear any conflicts with existing packet types (or packet types that someone else might add later).&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| &amp;#039;&amp;#039;&amp;#039;Reference-ID&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
| 4&lt;br /&gt;
| An ID (4 bytes, little-endian) that is assigned to this packet, so that other packets can reference it. Valid values: 0x00000001 - 0xffffffff. A value of 0x00000000 means that this packet doesn&amp;#039;t have a Reference-ID. Note that a (Short-)UUID specifies a certain &amp;#039;&amp;#039;type&amp;#039;&amp;#039; of packet, whereas the Reference-ID identifies a specific &amp;#039;&amp;#039;individual&amp;#039;&amp;#039; packet. For example, there can be multiple different packets (different Reference-ID) that are of the same type (same Short-UUID).&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| &amp;#039;&amp;#039;&amp;#039;Length&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
| 4&lt;br /&gt;
| The length of the data in this packet (in number of bytes). The length does not include the length of the &amp;#039;&amp;#039;&amp;#039;Short-UUID&amp;#039;&amp;#039;&amp;#039;, &amp;#039;&amp;#039;&amp;#039;Reference-ID&amp;#039;&amp;#039;&amp;#039; or &amp;#039;&amp;#039;&amp;#039;Length&amp;#039;&amp;#039;&amp;#039; field, only the length of the &amp;#039;&amp;#039;&amp;#039;Data&amp;#039;&amp;#039;&amp;#039; field. The length is given as an uint32_t number (little-endian).&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| &amp;#039;&amp;#039;&amp;#039;Data&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
| 0..n&lt;br /&gt;
| The actual payload data, max. 2^32 bytes (4GiB). For some packet types the &amp;#039;&amp;#039;&amp;#039;Data&amp;#039;&amp;#039;&amp;#039; field is optional (in that case it is completely omitted and the &amp;#039;&amp;#039;&amp;#039;Length&amp;#039;&amp;#039;&amp;#039; field is set to 0). The contents of the &amp;#039;&amp;#039;&amp;#039;Data&amp;#039;&amp;#039;&amp;#039; field are entirely dependent on (and vary with) the type of packet.&lt;br /&gt;
&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
Using the common [http://en.wikipedia.org/wiki/Type-length-value type-length-value] idom for each packet allows clients to easily skip over (ignore) any packets they do not know how to handle, and instead continue on to checking/handling the next packet.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Example packet with a 7-byte data field (Short-UUID is 0x55aa, Reference-ID is 0x00008ab2):&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
{| border=&amp;quot;0&amp;quot; style=&amp;quot;font-size: smaller;&amp;quot; class=&amp;quot;alternategrey sigroktable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
!Short-UUID&lt;br /&gt;
!Reference-ID&lt;br /&gt;
!Length&lt;br /&gt;
!Data&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| 55 aa&lt;br /&gt;
| 00 00 8a b2&lt;br /&gt;
| 00 00 00 07&lt;br /&gt;
| 11 22 33 44 55 66 77&lt;br /&gt;
&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Example packet without a data field (Short-UUID is 0x55aa, Reference-ID is 0x00005f31):&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
{| border=&amp;quot;0&amp;quot; style=&amp;quot;font-size: smaller;&amp;quot; class=&amp;quot;alternategrey sigroktable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
!Short-UUID&lt;br /&gt;
!Reference-ID&lt;br /&gt;
!Length&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| 55 aa&lt;br /&gt;
| 00 00 5f 31&lt;br /&gt;
| 00 00 00 00&lt;br /&gt;
&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== PACKET_MAP_UUIDS packet ==&lt;br /&gt;
&lt;br /&gt;
This is a special packet that is used to map 16-byte UUIDs to 2-byte Short-UUIDs.&lt;br /&gt;
&lt;br /&gt;
Since every packet has a 2-byte Short-UUID, PACKET_MAP_UUIDS must be the first packet in a file/stream, otherwise the client will not be able to interpret any other packets.&lt;br /&gt;
&lt;br /&gt;
However, PACKET_MAP_UUIDS can occur multiple times in a stream. Every time PACKET_MAP_UUIDS is seen, mappings that were not yet defined are added to the list of mappings, and mappings that already existed will be overwritten with the respective new mapping.&lt;br /&gt;
&lt;br /&gt;
Since PACKET_MAP_UUIDS is a packet itself, it also consists of the four common fields Short-UUID/Reference-ID/Length/Data. The Short-UUID of PACKET_MAP_UUIDS is always &amp;#039;&amp;#039;&amp;#039;0x0000&amp;#039;&amp;#039;&amp;#039;.&lt;br /&gt;
&lt;br /&gt;
The &amp;#039;&amp;#039;&amp;#039;Data&amp;#039;&amp;#039;&amp;#039; field has the following contents:&lt;br /&gt;
&lt;br /&gt;
{| border=&amp;quot;0&amp;quot; style=&amp;quot;font-size: smaller;&amp;quot; class=&amp;quot;alternategrey sigroktable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
!Field&lt;br /&gt;
!Length&lt;br /&gt;
!Description&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| &amp;#039;&amp;#039;&amp;#039;Special Short-UUID for magic marker&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
| 2&lt;br /&gt;
| A reserved special Short-UUID (2 bytes, little-endian) for the magic marker. Value: &amp;#039;&amp;#039;&amp;#039;0x0001&amp;#039;&amp;#039;&amp;#039;.&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| &amp;#039;&amp;#039;&amp;#039;Special UUID for magic marker&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
| 16&lt;br /&gt;
| This is a special marker that can be used by the &amp;#039;&amp;#039;&amp;#039;file&amp;#039;&amp;#039;&amp;#039; utility (and other tools) to detect the file format easily. Contents: &amp;#039;&amp;#039;&amp;#039;$sIgRoK$$sIgRoK$&amp;#039;&amp;#039;&amp;#039;.&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| &amp;#039;&amp;#039;&amp;#039;Short-UUID 1&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
| 2&lt;br /&gt;
| The 2-byte Short-UUID with index 1 (valid values: 0x0002 to 0xffff) that will, from now on, map to the UUID specified below.&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| &amp;#039;&amp;#039;&amp;#039;UUID 1&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
| 16&lt;br /&gt;
| The UUID with index 1 (binary representation, 16 bytes, little-endian) which identifies the type of packet (globally unique).&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| &amp;#039;&amp;#039;&amp;#039;Short-UUID 2&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
| 2&lt;br /&gt;
| The 2-byte Short-UUID with index 2 (valid values: 0x0002 to 0xffff) that will, from now on, map to the UUID specified below.&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| &amp;#039;&amp;#039;&amp;#039;UUID 2&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
| 16&lt;br /&gt;
| The UUID with index 2 (binary representation, 16 bytes, little-endian) which identifies the type of packet (globally unique).&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| ...&lt;br /&gt;
| ...&lt;br /&gt;
| ...&lt;br /&gt;
&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
Important notes:&lt;br /&gt;
&lt;br /&gt;
* The &amp;#039;&amp;#039;&amp;#039;Data&amp;#039;&amp;#039;&amp;#039; field contains a list of Short-UUID to UUID mappings. Since every such pair is 18 bytes in size, the &amp;#039;&amp;#039;&amp;#039;Length&amp;#039;&amp;#039;&amp;#039; field of PACKET_MAP_UUIDS can be used to deduce how many such mappings are contained in the &amp;#039;&amp;#039;&amp;#039;Data&amp;#039;&amp;#039;&amp;#039; field.&lt;br /&gt;
* The special &amp;quot;magic marker&amp;quot; fields (2 + 16 bytes) are required to be in every PACKET_MAP_UUIDS and are required to always be the first entries of PACKET_MAP_UUIDS. The file format can thus easily be detected by looking at the unique bytes 10-27 in the file (additionally, the file also always starts with the two bytes 0x00 0x00).&lt;br /&gt;
* The special Short-UUID 0x0000 must not be used in any mapping, it is reserved for PACKET_MAP_UUIDS itself.&lt;br /&gt;
* The special Short-UUID 0x0001 must not be used in any mapping, it is reserved for the special &amp;quot;magic marker&amp;quot;, see above.&lt;br /&gt;
* There is no guarantee of any kind about which Short-UUIDs will be mapped (and to what). Specifically, a client can &amp;#039;&amp;#039;&amp;#039;not&amp;#039;&amp;#039;&amp;#039; assume that Short-UUIDs start at 0x0002, and it can &amp;#039;&amp;#039;&amp;#039;not&amp;#039;&amp;#039;&amp;#039; assume that Short-UUIDs are ordered in any way. The Short-UUIDs can have a completely random order and they can also have gaps.&lt;br /&gt;
* Mappings are generally not static in nature. Every additional PACKET_MAP_UUIDS that occurs can dynamically add or overwrite/change mappings, for example.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Example packet:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
{| border=&amp;quot;0&amp;quot; style=&amp;quot;font-size: smaller;&amp;quot; class=&amp;quot;alternategrey sigroktable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
!Short-UUID&lt;br /&gt;
!Reference-ID&lt;br /&gt;
!Length&lt;br /&gt;
!Data&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| 00&amp;amp;nbsp;00&lt;br /&gt;
| &amp;#039;&amp;#039;xx&amp;amp;nbsp;xx&amp;amp;nbsp;xx&amp;amp;nbsp;xx&amp;#039;&amp;#039;&lt;br /&gt;
| 00&amp;amp;nbsp;00&amp;amp;nbsp;00&amp;amp;nbsp;48&lt;br /&gt;
| &amp;lt;tt&amp;gt;&amp;lt;span style=&amp;quot;background-color: lightblue&amp;quot;&amp;gt;00 01&amp;lt;/span&amp;gt; &amp;lt;span style=&amp;quot;background-color: yellow&amp;quot;&amp;gt;24 73 49 67 52 6f 4b 24 24 73 49 67 52 6f 4b 24&amp;lt;/span&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;span style=&amp;quot;background-color: lightblue&amp;quot;&amp;gt;77 a1&amp;lt;/span&amp;gt; &amp;lt;span style=&amp;quot;background-color: cyan&amp;quot;&amp;gt;5a 17 72 eb 28 54 48 a8 a4 1c 73 97 d7 e9 22 3d&amp;lt;/span&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;span style=&amp;quot;background-color: lightblue&amp;quot;&amp;gt;00 06&amp;lt;/span&amp;gt; &amp;lt;span style=&amp;quot;background-color: cyan&amp;quot;&amp;gt;59 de f3 30 53 6a 46 b1 8e dd 62 f2 19 5d 1c 95&amp;lt;/span&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;span style=&amp;quot;background-color: lightblue&amp;quot;&amp;gt;a3 9f&amp;lt;/span&amp;gt; &amp;lt;span style=&amp;quot;background-color: cyan&amp;quot;&amp;gt;ec 6b d7 63 c8 79 4a a7 a9 7a 7e df 0e 68 af c7&amp;lt;/span&amp;gt;&amp;lt;/tt&amp;gt;&lt;br /&gt;
&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
The above PACKET_MAP_UUIDS maps three different UUIDs to the Short-UUIDs 0x77a1, 0x0006 and 0xa39f.&lt;br /&gt;
&lt;br /&gt;
== sigrok packets ==&lt;br /&gt;
&lt;br /&gt;
The following packets are currently defined for use in projects hosted on [http://sigrok.org sigrok.org].&lt;br /&gt;
&lt;br /&gt;
The &amp;quot;names&amp;quot; (e.g. &amp;quot;SIGROK_PACKET_LOGIC&amp;quot;) are for documentation purposes only, the (Short-)UUIDs are what actually matters. The names are prefixed with SIGROK_ to make it clear that other 3rd-party software may define their own additional packet types with arbitrary contents and for arbitrary purposes.&lt;br /&gt;
&lt;br /&gt;
=== SIGROK_PACKET_DEVICE ===&lt;br /&gt;
&lt;br /&gt;
This is a packet type used to define a device.&lt;br /&gt;
&lt;br /&gt;
This packet uses the fixed UUID &amp;#039;&amp;#039;&amp;#039;94aa863d-bb58-4d79-b944-ab9dd30eecdf&amp;#039;&amp;#039;&amp;#039;.&lt;br /&gt;
&lt;br /&gt;
Details yet to be defined.&lt;br /&gt;
&lt;br /&gt;
=== SIGROK_PACKET_CHANNEL ===&lt;br /&gt;
&lt;br /&gt;
This is a packet type used to define a channel.&lt;br /&gt;
&lt;br /&gt;
This packet uses the fixed UUID &amp;#039;&amp;#039;&amp;#039;1325b595-0d5e-40a4-ac4d-36e89224dcb9&amp;#039;&amp;#039;&amp;#039;.&lt;br /&gt;
&lt;br /&gt;
The &amp;#039;&amp;#039;&amp;#039;Data&amp;#039;&amp;#039;&amp;#039; field has the following contents:&lt;br /&gt;
&lt;br /&gt;
{| border=&amp;quot;0&amp;quot; style=&amp;quot;font-size: smaller;&amp;quot; class=&amp;quot;alternategrey sigroktable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
!Field&lt;br /&gt;
!Length&lt;br /&gt;
!Description&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| &amp;#039;&amp;#039;&amp;#039;Backreference-ID&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
| 4&lt;br /&gt;
| A Reference-ID (4 bytes, little-endian) referencing a previously defined device (SIGROK_PACKET_DEVICE) that the channel belongs to.&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| &amp;#039;&amp;#039;&amp;#039;Channel type&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
| 1&lt;br /&gt;
| The type of this channel. &amp;#039;&amp;#039;&amp;#039;0x01&amp;#039;&amp;#039;&amp;#039;: Logic, &amp;#039;&amp;#039;&amp;#039;0x02&amp;#039;&amp;#039;&amp;#039;: Analog.&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| &amp;#039;&amp;#039;&amp;#039;Channel name length&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
| 2&lt;br /&gt;
| The length in number of bytes of the channel name (2 bytes, little-endian).&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| &amp;#039;&amp;#039;&amp;#039;Channel name&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
| n&lt;br /&gt;
| The channel name (UTF-8 string).&lt;br /&gt;
&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Example packet:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
The following packet defines a logic channel named &amp;quot;CH1&amp;quot; with the Reference-ID &amp;#039;&amp;#039;tt tt tt tt&amp;#039;&amp;#039; (which identifies this specific channel) and the Backreference-ID &amp;#039;&amp;#039;bb bb bb bb&amp;#039;&amp;#039; which references a previously defined device the channel belongs to.&lt;br /&gt;
&lt;br /&gt;
{| border=&amp;quot;0&amp;quot; style=&amp;quot;font-size: smaller;&amp;quot; class=&amp;quot;alternategrey sigroktable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
!Short-UUID&lt;br /&gt;
!Reference-ID&lt;br /&gt;
!Length&lt;br /&gt;
!Data&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| &amp;#039;&amp;#039;uu uu&amp;#039;&amp;#039;&lt;br /&gt;
| &amp;#039;&amp;#039;tt tt tt tt&amp;#039;&amp;#039;&lt;br /&gt;
| 00 00 00 0a&lt;br /&gt;
| &amp;lt;tt&amp;gt;&amp;lt;span style=&amp;quot;background-color: lightblue&amp;quot;&amp;gt;&amp;#039;&amp;#039;bb bb bb bb&amp;#039;&amp;#039;&amp;lt;/span&amp;gt; &amp;lt;span style=&amp;quot;background-color: cyan&amp;quot;&amp;gt;01&amp;lt;/span&amp;gt; &amp;lt;span style=&amp;quot;background-color: lightblue&amp;quot;&amp;gt;00 03&amp;lt;/span&amp;gt; &amp;lt;span style=&amp;quot;background-color: cyan&amp;quot;&amp;gt;CH1&amp;lt;/span&amp;gt;&amp;lt;/tt&amp;gt;&lt;br /&gt;
&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
Further details yet to be defined.&lt;br /&gt;
&lt;br /&gt;
=== SIGROK_PACKET_LOGIC ===&lt;br /&gt;
&lt;br /&gt;
This is a packet type used to store/transmit (only) digital samples, usually from a logic analyzer.&lt;br /&gt;
&lt;br /&gt;
This packet uses the fixed UUID &amp;#039;&amp;#039;&amp;#039;2236202e-9ee7-4bc6-81f6-56b4e6e029ba&amp;#039;&amp;#039;&amp;#039;.&lt;br /&gt;
&lt;br /&gt;
The &amp;#039;&amp;#039;&amp;#039;Data&amp;#039;&amp;#039;&amp;#039; field has the following contents:&lt;br /&gt;
&lt;br /&gt;
{| border=&amp;quot;0&amp;quot; style=&amp;quot;font-size: smaller;&amp;quot; class=&amp;quot;alternategrey sigroktable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
!Field&lt;br /&gt;
!Length&lt;br /&gt;
!Description&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| &amp;#039;&amp;#039;&amp;#039;Version&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
| 2&lt;br /&gt;
| The version of the SIGROK_PACKET_LOGIC format in binary format (little-endian). Current version: &amp;#039;&amp;#039;&amp;#039;0x0001&amp;#039;&amp;#039;&amp;#039;.&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| &amp;#039;&amp;#039;&amp;#039;Payload format Short-UUID&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
| 2&lt;br /&gt;
| A Short-UUID (2 bytes, little-endian) which identifies a certain payload format.&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| &amp;#039;&amp;#039;&amp;#039;Compression scheme Short-UUID&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
| 2&lt;br /&gt;
| A Short-UUID (2 bytes, little-endian) which identifies a certain compression scheme that is applied to the payload data.&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| &amp;#039;&amp;#039;&amp;#039;Payload length&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
| 4&lt;br /&gt;
| The length of the actual payload data in this SIGROK_PACKET_LOGIC packet (in number of bytes). The length only includes the &amp;#039;&amp;#039;&amp;#039;Payload&amp;#039;&amp;#039;&amp;#039; field. The length is given as an uint32_t number (little-endian).&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| &amp;#039;&amp;#039;&amp;#039;Payload&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
| 0..n&lt;br /&gt;
| The actual payload data, i.e. logic analyzer samples in the specified payload format, using the specified compression scheme.&lt;br /&gt;
&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Example packet:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
(Packet type SIGROK_PACKET_LOGIC Short-UUID &amp;#039;&amp;#039;0xuuuu&amp;#039;&amp;#039;, Reference-ID &amp;#039;&amp;#039;0xtttttttt&amp;#039;&amp;#039;, 0x12 bytes packet data, SIGROK_PACKET_LOGIC version 0x0001, SIGROK_PAYLOAD_FORMAT_LOGIC_V1 payload format Short-UUID &amp;#039;&amp;#039;0xvvvv&amp;#039;&amp;#039;, SIGROK_COMPRESSION_NONE compression scheme Short-UUID &amp;#039;&amp;#039;0xwwww&amp;#039;&amp;#039;, 8 bytes of logic analyzer payload (uncompressed))&lt;br /&gt;
&lt;br /&gt;
{| border=&amp;quot;0&amp;quot; style=&amp;quot;font-size: smaller;&amp;quot; class=&amp;quot;alternategrey sigroktable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
!Short-UUID&lt;br /&gt;
!Reference-ID&lt;br /&gt;
!Length&lt;br /&gt;
!Data&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| &amp;#039;&amp;#039;uu uu&amp;#039;&amp;#039;&lt;br /&gt;
| &amp;#039;&amp;#039;tt tt tt tt&amp;#039;&amp;#039;&lt;br /&gt;
| 00 00 00 12&lt;br /&gt;
| &amp;lt;span style=&amp;quot;background-color: cyan&amp;quot;&amp;gt;00 01&amp;lt;/span&amp;gt; &amp;lt;span style=&amp;quot;background-color: lightblue&amp;quot;&amp;gt;&amp;#039;&amp;#039;vv vv&amp;#039;&amp;#039;&amp;lt;/span&amp;gt; &amp;lt;span style=&amp;quot;background-color: cyan&amp;quot;&amp;gt;&amp;#039;&amp;#039;ww ww&amp;#039;&amp;#039;&amp;lt;/span&amp;gt; &amp;lt;span style=&amp;quot;background-color: lightblue&amp;quot;&amp;gt;00 00 00 08&amp;lt;/span&amp;gt; &amp;lt;span style=&amp;quot;background-color: cyan&amp;quot;&amp;gt;11 22 33 44 55 66 77 88&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== SIGROK_PACKET_ANALOG ===&lt;br /&gt;
&lt;br /&gt;
This is a packet type used to store/transmit (only) analog samples, e.g. from a multimeter, oscilloscope, sound level meter, or any other source for analog data.&lt;br /&gt;
&lt;br /&gt;
This packet uses the fixed UUID &amp;#039;&amp;#039;&amp;#039;59def330-536a-46b1-8edd-62f2195d1c95&amp;#039;&amp;#039;&amp;#039;.&lt;br /&gt;
&lt;br /&gt;
Details yet to be defined.&lt;br /&gt;
&lt;br /&gt;
== List of known packet types ==&lt;br /&gt;
&lt;br /&gt;
This is a short overview of known packet types that are in use. This includes the packet types used in projects hosted at [http://sigrok.org sigrok.org], as well as pointers to packet types that other (3rd-party) software is known to use.&lt;br /&gt;
&lt;br /&gt;
{| border=&amp;quot;0&amp;quot; style=&amp;quot;font-size: smaller;&amp;quot; class=&amp;quot;alternategrey sigroktable sortable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
!UUID&lt;br /&gt;
!Packet type&lt;br /&gt;
!Description&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| 94aa863d-bb58-4d79-b944-ab9dd30eecdf&lt;br /&gt;
| SIGROK_PACKET_DEVICE&lt;br /&gt;
| [[File format:sigrok#SIGROK_PACKET_DEVICE|See above]].&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| 1325b595-0d5e-40a4-ac4d-36e89224dcb9&lt;br /&gt;
| SIGROK_PACKET_CHANNEL&lt;br /&gt;
| [[File format:sigrok#SIGROK_PACKET_CHANNEL|See above]].&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| 5a1772eb-2854-48a8-a41c-7397d7e9223d&lt;br /&gt;
| SIGROK_PACKET_LOGIC&lt;br /&gt;
| [[File format:sigrok#SIGROK_PACKET_LOGIC|See above]].&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| 59def330-536a-46b1-8edd-62f2195d1c95&lt;br /&gt;
| SIGROK_PACKET_ANALOG&lt;br /&gt;
| [[File format:sigrok#SIGROK_PACKET_ANALOG|See above]].&lt;br /&gt;
&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== List of known payload formats ==&lt;br /&gt;
&lt;br /&gt;
This is a short overview of known payload formats that are in use. This includes the payload formats used in projects hosted at [http://sigrok.org sigrok.org], as well as pointers to payload formats that other (3rd-party) software is known to use.&lt;br /&gt;
&lt;br /&gt;
{| border=&amp;quot;0&amp;quot; style=&amp;quot;font-size: smaller;&amp;quot; class=&amp;quot;alternategrey sigroktable sortable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
!UUID&lt;br /&gt;
!Payload format&lt;br /&gt;
!Description&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;white-space: nowrap;&amp;quot; | d2964f38-8b13-4570-9add-add5678a0394&lt;br /&gt;
| SIGROK_PAYLOAD_FORMAT_LOGIC_V1&lt;br /&gt;
| This payload format can only store digital samples from a logic analyzer (0/1 values for a certain channel/probe/pin). It is basically identical to the format that was used in the previous ZIP-based file format versions. Details are yet to be defined.&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| 79e7cfd1-0f56-4d5e-968a-b66fdbdff624&lt;br /&gt;
| SIGROK_PAYLOAD_FORMAT_ANALOG_V1&lt;br /&gt;
| A certain type of payload format that can store (only) analog samples of a certain number of analog channels. Details are yet to be defined.&lt;br /&gt;
&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== List of known compression schemes ==&lt;br /&gt;
&lt;br /&gt;
This is a short overview of known compression schemes that are in use. This includes the schemes used in projects hosted at [http://sigrok.org sigrok.org], as well as pointers to schemes that other (3rd-party) software is known to use.&lt;br /&gt;
&lt;br /&gt;
{| border=&amp;quot;0&amp;quot; style=&amp;quot;font-size: smaller;&amp;quot; class=&amp;quot;alternategrey sigroktable sortable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
!UUID&lt;br /&gt;
!Compression scheme&lt;br /&gt;
!Description&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| ec6bd763-c879-4aa7-a97a-7edf0e68afc7&lt;br /&gt;
| SIGROK_COMPRESSION_NONE&lt;br /&gt;
| No compression whatsoever is used.&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| acd2e249-5c4d-426d-96ae-ded5b6020e6f&lt;br /&gt;
| SIGROK_COMPRESSION_RLE_V1&lt;br /&gt;
| A certain type of RLE-based compression is used. Details are yet to be defined.&lt;br /&gt;
&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== Futher notes and ideas to consider ==&lt;br /&gt;
&lt;br /&gt;
* Data should be encoded in a data aware way. This would give greater compression:&lt;br /&gt;
** Logic Data is most efficient stored in RLE+Huffman or Golomb coding. e.g. a clock signal may compress to one bit per edge.&lt;br /&gt;
** FLAC (libflac) or a FLAC inspired codec (linear predicition) is probably as good as it gets for lossless analog data encoding.&lt;br /&gt;
* If data is stored in a format specific way, it would be best to store it as a series of stream-blocks, similar to how video containers work. Would it be possible to simply leverage a video container such as OGG? IIRC this contains headers to declare metadata about each stream, then a series of timestamped stream blocks interleaved together. The time stamp is a format specific number... for audio: the sample number, for video: the frame number, so sigrok formats can easily leverage this.&lt;br /&gt;
** Similarly RTP is a rather natural protocol for sigrok network streaming.&lt;/div&gt;</summary>
		<author><name>Joelholdsworth</name></author>
	</entry>
	<entry>
		<id>https://sigrok.org/w/index.php?title=File_format:Sigrok/v3&amp;diff=10213</id>
		<title>File format:Sigrok/v3</title>
		<link rel="alternate" type="text/html" href="https://sigrok.org/w/index.php?title=File_format:Sigrok/v3&amp;diff=10213"/>
		<updated>2014-11-26T09:28:16Z</updated>

		<summary type="html">&lt;p&gt;Joelholdsworth: /* Goals */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{DISPLAYTITLE:File format:sigrok/v3}}&lt;br /&gt;
This page describes the proposed file/stream format (v3) for storing and transmitting sigrok related data.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style=&amp;quot;background-color:#ff6666&amp;quot;&amp;gt;&lt;br /&gt;
NOTE: This is work in progress and has not yet been implemented!&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Motivation ==&lt;br /&gt;
&lt;br /&gt;
The previous [[File format:sigrok/v2|sigrok session]] file format (version 2) is a ZIP file containing multiple files (some metadata files and data files containing the actual samples). This works fine, but it also has some issues:&lt;br /&gt;
&lt;br /&gt;
* In order to get to the data you want, you need to decompress the whole file.&lt;br /&gt;
* Appending to a file is not possible easily (and it&amp;#039;s not efficient).&lt;br /&gt;
* It doesn&amp;#039;t support storing analog data (e.g. from oscilloscopes or MSOs).&lt;br /&gt;
* It doesn&amp;#039;t support storing additional information for frontends (channel colors, and so on).&lt;br /&gt;
* ...&lt;br /&gt;
&lt;br /&gt;
== Goals ==&lt;br /&gt;
&lt;br /&gt;
The following list highlights some of the goals of the new file format (v3):&lt;br /&gt;
&lt;br /&gt;
* It must be able to store&lt;br /&gt;
** arbitrary data (logic samples, and/or analog samples, and/or protocol decoder data, and more), as well as&lt;br /&gt;
** arbitrary meta-/config-data and other extra information that may be useful to frontends (UI state data, user-configured probe colors, names, positions, and so on).&lt;br /&gt;
* It must support and facilitate stream-oriented processing (save, load, transmission, compression/decompression, and so on).&lt;br /&gt;
* It must support compression of the payload data.&lt;br /&gt;
* It must be usable independent of hardware architecture (x86, ARM, PowerPC, MIPS, and so on), operating system, endianness, float representation, and so on. All data fields must be properly specified (endianness, signedness, size, format).&lt;br /&gt;
* It must allow for sufficiently good performance for the common operations a frontend needs to perform on the data/file/stream (save, load, compress/uncompress, append, and so on) so that it doesn&amp;#039;t become the bottleneck. This is especially important for stream-oriented devices which could otherwise lose samples if the processing on the host side is not sufficiently fast ([[Saleae Logic]], [[Saleae Logic16]], [[IKALOGIC ScanaPLUS]], others).&lt;br /&gt;
* It should be able to handle run-time changes in the data streams (via meta packets on the session bus), e.g. changing samplerates, changing probes, etc. etc.&lt;br /&gt;
* It should have better compression properties than ZIP (e.g. using LZO or other algorithms, this is to be evaluated). What we ideally want out of the compression algorithm is:&lt;br /&gt;
** Good and relatively fast compression results at only moderate CPU usage.&lt;br /&gt;
** Very fast decompression (LZO is probably the best one here, as it&amp;#039;s specifically designed for this).&lt;br /&gt;
** Ideally, support for appending further data to already compressed data chunks (though this could be also implemented outside of the compression algorithm per se).&lt;br /&gt;
** Open-source license and OS portability. There should be an open-source library or code chunk for compression/uncompression and it should be widely available in Linux distros, and portable to Windows, Mac OS X, FreeBSD, Android, and so on.&lt;br /&gt;
** JH: Compression works best when it is tailored to the data type being compressed. For example for logic, I think the ideal compression scheme would be deinterleave -&amp;gt; RLE -&amp;gt; canical huffman. For analog data, a linear prediction scheme - FLAC, or something like it will probably suit best.&lt;br /&gt;
&lt;br /&gt;
== Specification ==&lt;br /&gt;
&lt;br /&gt;
== UUIDs ==&lt;br /&gt;
&lt;br /&gt;
The format uses random [http://en.wikipedia.org/wiki/Universally_unique_identifier UUIDs] (version 4) as per [http://tools.ietf.org/html/rfc4122 RFC4122] in various places. These UUIDs are always 16 bytes long.&lt;br /&gt;
&lt;br /&gt;
A simple way to generate a random (version 4) UUID (ASCII and hex representation):&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&lt;br /&gt;
 $ &amp;#039;&amp;#039;&amp;#039;python3 -c &amp;#039;import uuid; u = uuid.uuid4(); print(u); print(u.hex)&amp;#039;&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
 14c49f22-f08a-4ef2-b3d7-82ee16c3d531&lt;br /&gt;
 14c49f22f08a4ef2b3d782ee16c3d531&lt;br /&gt;
&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== File/stream format ==&lt;br /&gt;
&lt;br /&gt;
The format consists entirely of a stream of packets of various types.&lt;br /&gt;
&lt;br /&gt;
These packets can be either written to or read from a file, buffer, pipe, socket, or any other source/destination.&lt;br /&gt;
&lt;br /&gt;
== Packet format ==&lt;br /&gt;
&lt;br /&gt;
Every packet consists of four fields:&lt;br /&gt;
&lt;br /&gt;
{| border=&amp;quot;0&amp;quot; style=&amp;quot;font-size: smaller;&amp;quot; class=&amp;quot;alternategrey sigroktable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
!Field&lt;br /&gt;
!Length&lt;br /&gt;
!Description&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| &amp;#039;&amp;#039;&amp;#039;Short-UUID&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
| 2&lt;br /&gt;
| An ID (2 bytes, little-endian) that maps to a previously defined 16-byte packet type UUID. The Short-UUID values can range from 0x0002 to 0xffff, which allows for 65535 different packet types in a single file/stream. The Short-UUIDs 0x0000 and 0x0001 are special and cannot be used for &amp;quot;normal&amp;quot; packets, see below. The reason for using a (Short-)UUID here instead of some simple index number is to allow for clients to define and use their own special-purpose packet types as they see fit, without having to fear any conflicts with existing packet types (or packet types that someone else might add later).&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| &amp;#039;&amp;#039;&amp;#039;Reference-ID&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
| 4&lt;br /&gt;
| An ID (4 bytes, little-endian) that is assigned to this packet, so that other packets can reference it. Valid values: 0x00000001 - 0xffffffff. A value of 0x00000000 means that this packet doesn&amp;#039;t have a Reference-ID. Note that a (Short-)UUID specifies a certain &amp;#039;&amp;#039;type&amp;#039;&amp;#039; of packet, whereas the Reference-ID identifies a specific &amp;#039;&amp;#039;individual&amp;#039;&amp;#039; packet. For example, there can be multiple different packets (different Reference-ID) that are of the same type (same Short-UUID).&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| &amp;#039;&amp;#039;&amp;#039;Length&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
| 4&lt;br /&gt;
| The length of the data in this packet (in number of bytes). The length does not include the length of the &amp;#039;&amp;#039;&amp;#039;Short-UUID&amp;#039;&amp;#039;&amp;#039;, &amp;#039;&amp;#039;&amp;#039;Reference-ID&amp;#039;&amp;#039;&amp;#039; or &amp;#039;&amp;#039;&amp;#039;Length&amp;#039;&amp;#039;&amp;#039; field, only the length of the &amp;#039;&amp;#039;&amp;#039;Data&amp;#039;&amp;#039;&amp;#039; field. The length is given as an uint32_t number (little-endian).&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| &amp;#039;&amp;#039;&amp;#039;Data&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
| 0..n&lt;br /&gt;
| The actual payload data, max. 2^32 bytes (4GiB). For some packet types the &amp;#039;&amp;#039;&amp;#039;Data&amp;#039;&amp;#039;&amp;#039; field is optional (in that case it is completely omitted and the &amp;#039;&amp;#039;&amp;#039;Length&amp;#039;&amp;#039;&amp;#039; field is set to 0). The contents of the &amp;#039;&amp;#039;&amp;#039;Data&amp;#039;&amp;#039;&amp;#039; field are entirely dependent on (and vary with) the type of packet.&lt;br /&gt;
&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
Using the common [http://en.wikipedia.org/wiki/Type-length-value type-length-value] idom for each packet allows clients to easily skip over (ignore) any packets they do not know how to handle, and instead continue on to checking/handling the next packet.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Example packet with a 7-byte data field (Short-UUID is 0x55aa, Reference-ID is 0x00008ab2):&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
{| border=&amp;quot;0&amp;quot; style=&amp;quot;font-size: smaller;&amp;quot; class=&amp;quot;alternategrey sigroktable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
!Short-UUID&lt;br /&gt;
!Reference-ID&lt;br /&gt;
!Length&lt;br /&gt;
!Data&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| 55 aa&lt;br /&gt;
| 00 00 8a b2&lt;br /&gt;
| 00 00 00 07&lt;br /&gt;
| 11 22 33 44 55 66 77&lt;br /&gt;
&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Example packet without a data field (Short-UUID is 0x55aa, Reference-ID is 0x00005f31):&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
{| border=&amp;quot;0&amp;quot; style=&amp;quot;font-size: smaller;&amp;quot; class=&amp;quot;alternategrey sigroktable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
!Short-UUID&lt;br /&gt;
!Reference-ID&lt;br /&gt;
!Length&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| 55 aa&lt;br /&gt;
| 00 00 5f 31&lt;br /&gt;
| 00 00 00 00&lt;br /&gt;
&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== PACKET_MAP_UUIDS packet ==&lt;br /&gt;
&lt;br /&gt;
This is a special packet that is used to map 16-byte UUIDs to 2-byte Short-UUIDs.&lt;br /&gt;
&lt;br /&gt;
Since every packet has a 2-byte Short-UUID, PACKET_MAP_UUIDS must be the first packet in a file/stream, otherwise the client will not be able to interpret any other packets.&lt;br /&gt;
&lt;br /&gt;
However, PACKET_MAP_UUIDS can occur multiple times in a stream. Every time PACKET_MAP_UUIDS is seen, mappings that were not yet defined are added to the list of mappings, and mappings that already existed will be overwritten with the respective new mapping.&lt;br /&gt;
&lt;br /&gt;
Since PACKET_MAP_UUIDS is a packet itself, it also consists of the four common fields Short-UUID/Reference-ID/Length/Data. The Short-UUID of PACKET_MAP_UUIDS is always &amp;#039;&amp;#039;&amp;#039;0x0000&amp;#039;&amp;#039;&amp;#039;.&lt;br /&gt;
&lt;br /&gt;
The &amp;#039;&amp;#039;&amp;#039;Data&amp;#039;&amp;#039;&amp;#039; field has the following contents:&lt;br /&gt;
&lt;br /&gt;
{| border=&amp;quot;0&amp;quot; style=&amp;quot;font-size: smaller;&amp;quot; class=&amp;quot;alternategrey sigroktable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
!Field&lt;br /&gt;
!Length&lt;br /&gt;
!Description&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| &amp;#039;&amp;#039;&amp;#039;Special Short-UUID for magic marker&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
| 2&lt;br /&gt;
| A reserved special Short-UUID (2 bytes, little-endian) for the magic marker. Value: &amp;#039;&amp;#039;&amp;#039;0x0001&amp;#039;&amp;#039;&amp;#039;.&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| &amp;#039;&amp;#039;&amp;#039;Special UUID for magic marker&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
| 16&lt;br /&gt;
| This is a special marker that can be used by the &amp;#039;&amp;#039;&amp;#039;file&amp;#039;&amp;#039;&amp;#039; utility (and other tools) to detect the file format easily. Contents: &amp;#039;&amp;#039;&amp;#039;$sIgRoK$$sIgRoK$&amp;#039;&amp;#039;&amp;#039;.&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| &amp;#039;&amp;#039;&amp;#039;Short-UUID 1&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
| 2&lt;br /&gt;
| The 2-byte Short-UUID with index 1 (valid values: 0x0002 to 0xffff) that will, from now on, map to the UUID specified below.&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| &amp;#039;&amp;#039;&amp;#039;UUID 1&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
| 16&lt;br /&gt;
| The UUID with index 1 (binary representation, 16 bytes, little-endian) which identifies the type of packet (globally unique).&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| &amp;#039;&amp;#039;&amp;#039;Short-UUID 2&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
| 2&lt;br /&gt;
| The 2-byte Short-UUID with index 2 (valid values: 0x0002 to 0xffff) that will, from now on, map to the UUID specified below.&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| &amp;#039;&amp;#039;&amp;#039;UUID 2&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
| 16&lt;br /&gt;
| The UUID with index 2 (binary representation, 16 bytes, little-endian) which identifies the type of packet (globally unique).&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| ...&lt;br /&gt;
| ...&lt;br /&gt;
| ...&lt;br /&gt;
&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
Important notes:&lt;br /&gt;
&lt;br /&gt;
* The &amp;#039;&amp;#039;&amp;#039;Data&amp;#039;&amp;#039;&amp;#039; field contains a list of Short-UUID to UUID mappings. Since every such pair is 18 bytes in size, the &amp;#039;&amp;#039;&amp;#039;Length&amp;#039;&amp;#039;&amp;#039; field of PACKET_MAP_UUIDS can be used to deduce how many such mappings are contained in the &amp;#039;&amp;#039;&amp;#039;Data&amp;#039;&amp;#039;&amp;#039; field.&lt;br /&gt;
* The special &amp;quot;magic marker&amp;quot; fields (2 + 16 bytes) are required to be in every PACKET_MAP_UUIDS and are required to always be the first entries of PACKET_MAP_UUIDS. The file format can thus easily be detected by looking at the unique bytes 10-27 in the file (additionally, the file also always starts with the two bytes 0x00 0x00).&lt;br /&gt;
* The special Short-UUID 0x0000 must not be used in any mapping, it is reserved for PACKET_MAP_UUIDS itself.&lt;br /&gt;
* The special Short-UUID 0x0001 must not be used in any mapping, it is reserved for the special &amp;quot;magic marker&amp;quot;, see above.&lt;br /&gt;
* There is no guarantee of any kind about which Short-UUIDs will be mapped (and to what). Specifically, a client can &amp;#039;&amp;#039;&amp;#039;not&amp;#039;&amp;#039;&amp;#039; assume that Short-UUIDs start at 0x0002, and it can &amp;#039;&amp;#039;&amp;#039;not&amp;#039;&amp;#039;&amp;#039; assume that Short-UUIDs are ordered in any way. The Short-UUIDs can have a completely random order and they can also have gaps.&lt;br /&gt;
* Mappings are generally not static in nature. Every additional PACKET_MAP_UUIDS that occurs can dynamically add or overwrite/change mappings, for example.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Example packet:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
{| border=&amp;quot;0&amp;quot; style=&amp;quot;font-size: smaller;&amp;quot; class=&amp;quot;alternategrey sigroktable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
!Short-UUID&lt;br /&gt;
!Reference-ID&lt;br /&gt;
!Length&lt;br /&gt;
!Data&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| 00&amp;amp;nbsp;00&lt;br /&gt;
| &amp;#039;&amp;#039;xx&amp;amp;nbsp;xx&amp;amp;nbsp;xx&amp;amp;nbsp;xx&amp;#039;&amp;#039;&lt;br /&gt;
| 00&amp;amp;nbsp;00&amp;amp;nbsp;00&amp;amp;nbsp;48&lt;br /&gt;
| &amp;lt;tt&amp;gt;&amp;lt;span style=&amp;quot;background-color: lightblue&amp;quot;&amp;gt;00 01&amp;lt;/span&amp;gt; &amp;lt;span style=&amp;quot;background-color: yellow&amp;quot;&amp;gt;24 73 49 67 52 6f 4b 24 24 73 49 67 52 6f 4b 24&amp;lt;/span&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;span style=&amp;quot;background-color: lightblue&amp;quot;&amp;gt;77 a1&amp;lt;/span&amp;gt; &amp;lt;span style=&amp;quot;background-color: cyan&amp;quot;&amp;gt;5a 17 72 eb 28 54 48 a8 a4 1c 73 97 d7 e9 22 3d&amp;lt;/span&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;span style=&amp;quot;background-color: lightblue&amp;quot;&amp;gt;00 06&amp;lt;/span&amp;gt; &amp;lt;span style=&amp;quot;background-color: cyan&amp;quot;&amp;gt;59 de f3 30 53 6a 46 b1 8e dd 62 f2 19 5d 1c 95&amp;lt;/span&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;span style=&amp;quot;background-color: lightblue&amp;quot;&amp;gt;a3 9f&amp;lt;/span&amp;gt; &amp;lt;span style=&amp;quot;background-color: cyan&amp;quot;&amp;gt;ec 6b d7 63 c8 79 4a a7 a9 7a 7e df 0e 68 af c7&amp;lt;/span&amp;gt;&amp;lt;/tt&amp;gt;&lt;br /&gt;
&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
The above PACKET_MAP_UUIDS maps three different UUIDs to the Short-UUIDs 0x77a1, 0x0006 and 0xa39f.&lt;br /&gt;
&lt;br /&gt;
== sigrok packets ==&lt;br /&gt;
&lt;br /&gt;
The following packets are currently defined for use in projects hosted on [http://sigrok.org sigrok.org].&lt;br /&gt;
&lt;br /&gt;
The &amp;quot;names&amp;quot; (e.g. &amp;quot;SIGROK_PACKET_LOGIC&amp;quot;) are for documentation purposes only, the (Short-)UUIDs are what actually matters. The names are prefixed with SIGROK_ to make it clear that other 3rd-party software may define their own additional packet types with arbitrary contents and for arbitrary purposes.&lt;br /&gt;
&lt;br /&gt;
=== SIGROK_PACKET_DEVICE ===&lt;br /&gt;
&lt;br /&gt;
This is a packet type used to define a device.&lt;br /&gt;
&lt;br /&gt;
This packet uses the fixed UUID &amp;#039;&amp;#039;&amp;#039;94aa863d-bb58-4d79-b944-ab9dd30eecdf&amp;#039;&amp;#039;&amp;#039;.&lt;br /&gt;
&lt;br /&gt;
Details yet to be defined.&lt;br /&gt;
&lt;br /&gt;
=== SIGROK_PACKET_CHANNEL ===&lt;br /&gt;
&lt;br /&gt;
This is a packet type used to define a channel.&lt;br /&gt;
&lt;br /&gt;
This packet uses the fixed UUID &amp;#039;&amp;#039;&amp;#039;1325b595-0d5e-40a4-ac4d-36e89224dcb9&amp;#039;&amp;#039;&amp;#039;.&lt;br /&gt;
&lt;br /&gt;
The &amp;#039;&amp;#039;&amp;#039;Data&amp;#039;&amp;#039;&amp;#039; field has the following contents:&lt;br /&gt;
&lt;br /&gt;
{| border=&amp;quot;0&amp;quot; style=&amp;quot;font-size: smaller;&amp;quot; class=&amp;quot;alternategrey sigroktable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
!Field&lt;br /&gt;
!Length&lt;br /&gt;
!Description&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| &amp;#039;&amp;#039;&amp;#039;Backreference-ID&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
| 4&lt;br /&gt;
| A Reference-ID (4 bytes, little-endian) referencing a previously defined device (SIGROK_PACKET_DEVICE) that the channel belongs to.&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| &amp;#039;&amp;#039;&amp;#039;Channel type&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
| 1&lt;br /&gt;
| The type of this channel. &amp;#039;&amp;#039;&amp;#039;0x01&amp;#039;&amp;#039;&amp;#039;: Logic, &amp;#039;&amp;#039;&amp;#039;0x02&amp;#039;&amp;#039;&amp;#039;: Analog.&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| &amp;#039;&amp;#039;&amp;#039;Channel name length&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
| 2&lt;br /&gt;
| The length in number of bytes of the channel name (2 bytes, little-endian).&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| &amp;#039;&amp;#039;&amp;#039;Channel name&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
| n&lt;br /&gt;
| The channel name (UTF-8 string).&lt;br /&gt;
&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Example packet:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
The following packet defines a logic channel named &amp;quot;CH1&amp;quot; with the Reference-ID &amp;#039;&amp;#039;tt tt tt tt&amp;#039;&amp;#039; (which identifies this specific channel) and the Backreference-ID &amp;#039;&amp;#039;bb bb bb bb&amp;#039;&amp;#039; which references a previously defined device the channel belongs to.&lt;br /&gt;
&lt;br /&gt;
{| border=&amp;quot;0&amp;quot; style=&amp;quot;font-size: smaller;&amp;quot; class=&amp;quot;alternategrey sigroktable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
!Short-UUID&lt;br /&gt;
!Reference-ID&lt;br /&gt;
!Length&lt;br /&gt;
!Data&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| &amp;#039;&amp;#039;uu uu&amp;#039;&amp;#039;&lt;br /&gt;
| &amp;#039;&amp;#039;tt tt tt tt&amp;#039;&amp;#039;&lt;br /&gt;
| 00 00 00 0a&lt;br /&gt;
| &amp;lt;tt&amp;gt;&amp;lt;span style=&amp;quot;background-color: lightblue&amp;quot;&amp;gt;&amp;#039;&amp;#039;bb bb bb bb&amp;#039;&amp;#039;&amp;lt;/span&amp;gt; &amp;lt;span style=&amp;quot;background-color: cyan&amp;quot;&amp;gt;01&amp;lt;/span&amp;gt; &amp;lt;span style=&amp;quot;background-color: lightblue&amp;quot;&amp;gt;00 03&amp;lt;/span&amp;gt; &amp;lt;span style=&amp;quot;background-color: cyan&amp;quot;&amp;gt;CH1&amp;lt;/span&amp;gt;&amp;lt;/tt&amp;gt;&lt;br /&gt;
&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
Further details yet to be defined.&lt;br /&gt;
&lt;br /&gt;
=== SIGROK_PACKET_LOGIC ===&lt;br /&gt;
&lt;br /&gt;
This is a packet type used to store/transmit (only) digital samples, usually from a logic analyzer.&lt;br /&gt;
&lt;br /&gt;
This packet uses the fixed UUID &amp;#039;&amp;#039;&amp;#039;2236202e-9ee7-4bc6-81f6-56b4e6e029ba&amp;#039;&amp;#039;&amp;#039;.&lt;br /&gt;
&lt;br /&gt;
The &amp;#039;&amp;#039;&amp;#039;Data&amp;#039;&amp;#039;&amp;#039; field has the following contents:&lt;br /&gt;
&lt;br /&gt;
{| border=&amp;quot;0&amp;quot; style=&amp;quot;font-size: smaller;&amp;quot; class=&amp;quot;alternategrey sigroktable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
!Field&lt;br /&gt;
!Length&lt;br /&gt;
!Description&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| &amp;#039;&amp;#039;&amp;#039;Version&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
| 2&lt;br /&gt;
| The version of the SIGROK_PACKET_LOGIC format in binary format (little-endian). Current version: &amp;#039;&amp;#039;&amp;#039;0x0001&amp;#039;&amp;#039;&amp;#039;.&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| &amp;#039;&amp;#039;&amp;#039;Payload format Short-UUID&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
| 2&lt;br /&gt;
| A Short-UUID (2 bytes, little-endian) which identifies a certain payload format.&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| &amp;#039;&amp;#039;&amp;#039;Compression scheme Short-UUID&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
| 2&lt;br /&gt;
| A Short-UUID (2 bytes, little-endian) which identifies a certain compression scheme that is applied to the payload data.&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| &amp;#039;&amp;#039;&amp;#039;Payload length&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
| 4&lt;br /&gt;
| The length of the actual payload data in this SIGROK_PACKET_LOGIC packet (in number of bytes). The length only includes the &amp;#039;&amp;#039;&amp;#039;Payload&amp;#039;&amp;#039;&amp;#039; field. The length is given as an uint32_t number (little-endian).&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| &amp;#039;&amp;#039;&amp;#039;Payload&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
| 0..n&lt;br /&gt;
| The actual payload data, i.e. logic analyzer samples in the specified payload format, using the specified compression scheme.&lt;br /&gt;
&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Example packet:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
(Packet type SIGROK_PACKET_LOGIC Short-UUID &amp;#039;&amp;#039;0xuuuu&amp;#039;&amp;#039;, Reference-ID &amp;#039;&amp;#039;0xtttttttt&amp;#039;&amp;#039;, 0x12 bytes packet data, SIGROK_PACKET_LOGIC version 0x0001, SIGROK_PAYLOAD_FORMAT_LOGIC_V1 payload format Short-UUID &amp;#039;&amp;#039;0xvvvv&amp;#039;&amp;#039;, SIGROK_COMPRESSION_NONE compression scheme Short-UUID &amp;#039;&amp;#039;0xwwww&amp;#039;&amp;#039;, 8 bytes of logic analyzer payload (uncompressed))&lt;br /&gt;
&lt;br /&gt;
{| border=&amp;quot;0&amp;quot; style=&amp;quot;font-size: smaller;&amp;quot; class=&amp;quot;alternategrey sigroktable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
!Short-UUID&lt;br /&gt;
!Reference-ID&lt;br /&gt;
!Length&lt;br /&gt;
!Data&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| &amp;#039;&amp;#039;uu uu&amp;#039;&amp;#039;&lt;br /&gt;
| &amp;#039;&amp;#039;tt tt tt tt&amp;#039;&amp;#039;&lt;br /&gt;
| 00 00 00 12&lt;br /&gt;
| &amp;lt;span style=&amp;quot;background-color: cyan&amp;quot;&amp;gt;00 01&amp;lt;/span&amp;gt; &amp;lt;span style=&amp;quot;background-color: lightblue&amp;quot;&amp;gt;&amp;#039;&amp;#039;vv vv&amp;#039;&amp;#039;&amp;lt;/span&amp;gt; &amp;lt;span style=&amp;quot;background-color: cyan&amp;quot;&amp;gt;&amp;#039;&amp;#039;ww ww&amp;#039;&amp;#039;&amp;lt;/span&amp;gt; &amp;lt;span style=&amp;quot;background-color: lightblue&amp;quot;&amp;gt;00 00 00 08&amp;lt;/span&amp;gt; &amp;lt;span style=&amp;quot;background-color: cyan&amp;quot;&amp;gt;11 22 33 44 55 66 77 88&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== SIGROK_PACKET_ANALOG ===&lt;br /&gt;
&lt;br /&gt;
This is a packet type used to store/transmit (only) analog samples, e.g. from a multimeter, oscilloscope, sound level meter, or any other source for analog data.&lt;br /&gt;
&lt;br /&gt;
This packet uses the fixed UUID &amp;#039;&amp;#039;&amp;#039;59def330-536a-46b1-8edd-62f2195d1c95&amp;#039;&amp;#039;&amp;#039;.&lt;br /&gt;
&lt;br /&gt;
Details yet to be defined.&lt;br /&gt;
&lt;br /&gt;
== List of known packet types ==&lt;br /&gt;
&lt;br /&gt;
This is a short overview of known packet types that are in use. This includes the packet types used in projects hosted at [http://sigrok.org sigrok.org], as well as pointers to packet types that other (3rd-party) software is known to use.&lt;br /&gt;
&lt;br /&gt;
{| border=&amp;quot;0&amp;quot; style=&amp;quot;font-size: smaller;&amp;quot; class=&amp;quot;alternategrey sigroktable sortable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
!UUID&lt;br /&gt;
!Packet type&lt;br /&gt;
!Description&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| 94aa863d-bb58-4d79-b944-ab9dd30eecdf&lt;br /&gt;
| SIGROK_PACKET_DEVICE&lt;br /&gt;
| [[File format:sigrok#SIGROK_PACKET_DEVICE|See above]].&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| 1325b595-0d5e-40a4-ac4d-36e89224dcb9&lt;br /&gt;
| SIGROK_PACKET_CHANNEL&lt;br /&gt;
| [[File format:sigrok#SIGROK_PACKET_CHANNEL|See above]].&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| 5a1772eb-2854-48a8-a41c-7397d7e9223d&lt;br /&gt;
| SIGROK_PACKET_LOGIC&lt;br /&gt;
| [[File format:sigrok#SIGROK_PACKET_LOGIC|See above]].&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| 59def330-536a-46b1-8edd-62f2195d1c95&lt;br /&gt;
| SIGROK_PACKET_ANALOG&lt;br /&gt;
| [[File format:sigrok#SIGROK_PACKET_ANALOG|See above]].&lt;br /&gt;
&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== List of known payload formats ==&lt;br /&gt;
&lt;br /&gt;
This is a short overview of known payload formats that are in use. This includes the payload formats used in projects hosted at [http://sigrok.org sigrok.org], as well as pointers to payload formats that other (3rd-party) software is known to use.&lt;br /&gt;
&lt;br /&gt;
{| border=&amp;quot;0&amp;quot; style=&amp;quot;font-size: smaller;&amp;quot; class=&amp;quot;alternategrey sigroktable sortable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
!UUID&lt;br /&gt;
!Payload format&lt;br /&gt;
!Description&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;white-space: nowrap;&amp;quot; | d2964f38-8b13-4570-9add-add5678a0394&lt;br /&gt;
| SIGROK_PAYLOAD_FORMAT_LOGIC_V1&lt;br /&gt;
| This payload format can only store digital samples from a logic analyzer (0/1 values for a certain channel/probe/pin). It is basically identical to the format that was used in the previous ZIP-based file format versions. Details are yet to be defined.&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| 79e7cfd1-0f56-4d5e-968a-b66fdbdff624&lt;br /&gt;
| SIGROK_PAYLOAD_FORMAT_ANALOG_V1&lt;br /&gt;
| A certain type of payload format that can store (only) analog samples of a certain number of analog channels. Details are yet to be defined.&lt;br /&gt;
&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== List of known compression schemes ==&lt;br /&gt;
&lt;br /&gt;
This is a short overview of known compression schemes that are in use. This includes the schemes used in projects hosted at [http://sigrok.org sigrok.org], as well as pointers to schemes that other (3rd-party) software is known to use.&lt;br /&gt;
&lt;br /&gt;
{| border=&amp;quot;0&amp;quot; style=&amp;quot;font-size: smaller;&amp;quot; class=&amp;quot;alternategrey sigroktable sortable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
!UUID&lt;br /&gt;
!Compression scheme&lt;br /&gt;
!Description&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| ec6bd763-c879-4aa7-a97a-7edf0e68afc7&lt;br /&gt;
| SIGROK_COMPRESSION_NONE&lt;br /&gt;
| No compression whatsoever is used.&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| acd2e249-5c4d-426d-96ae-ded5b6020e6f&lt;br /&gt;
| SIGROK_COMPRESSION_RLE_V1&lt;br /&gt;
| A certain type of RLE-based compression is used. Details are yet to be defined.&lt;br /&gt;
&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== Futher notes and ideas to consider ==&lt;br /&gt;
&lt;br /&gt;
* Data should be encoded in a data aware way. This would give greater compression:&lt;br /&gt;
** Logic Data is most efficient stored in RLE+Huffman or Golomb coding. e.g. a clock signal may compress to one bit per edge.&lt;br /&gt;
** FLAC (libflac) or a FLAC inspired codec (linear predicition) is probably as good as it gets for lossless analog data encoding.&lt;br /&gt;
* If data is stored in a format specific way, it would be best to store it as a series of stream-blocks, similar to how video containers work. Would it be possible to simply leverage a video container such as OGG? IIRC this contains headers to declare metadata about each stream, then a series of timestamped stream blocks interleaved together. The time stamp is a format specific number... for audio: the sample number, for video: the frame number, so sigrok formats can easily leverage this.&lt;br /&gt;
** Similarly RTP is a rather natural protocol for sigrok network streaming.&lt;/div&gt;</summary>
		<author><name>Joelholdsworth</name></author>
	</entry>
	<entry>
		<id>https://sigrok.org/w/index.php?title=File_format:Sigrok/v3&amp;diff=10212</id>
		<title>File format:Sigrok/v3</title>
		<link rel="alternate" type="text/html" href="https://sigrok.org/w/index.php?title=File_format:Sigrok/v3&amp;diff=10212"/>
		<updated>2014-11-26T09:27:53Z</updated>

		<summary type="html">&lt;p&gt;Joelholdsworth: /* Goals */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{DISPLAYTITLE:File format:sigrok/v3}}&lt;br /&gt;
This page describes the proposed file/stream format (v3) for storing and transmitting sigrok related data.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style=&amp;quot;background-color:#ff6666&amp;quot;&amp;gt;&lt;br /&gt;
NOTE: This is work in progress and has not yet been implemented!&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Motivation ==&lt;br /&gt;
&lt;br /&gt;
The previous [[File format:sigrok/v2|sigrok session]] file format (version 2) is a ZIP file containing multiple files (some metadata files and data files containing the actual samples). This works fine, but it also has some issues:&lt;br /&gt;
&lt;br /&gt;
* In order to get to the data you want, you need to decompress the whole file.&lt;br /&gt;
* Appending to a file is not possible easily (and it&amp;#039;s not efficient).&lt;br /&gt;
* It doesn&amp;#039;t support storing analog data (e.g. from oscilloscopes or MSOs).&lt;br /&gt;
* It doesn&amp;#039;t support storing additional information for frontends (channel colors, and so on).&lt;br /&gt;
* ...&lt;br /&gt;
&lt;br /&gt;
== Goals ==&lt;br /&gt;
&lt;br /&gt;
The following list highlights some of the goals of the new file format (v3):&lt;br /&gt;
&lt;br /&gt;
* It must be able to store&lt;br /&gt;
** arbitrary data (logic samples, and/or analog samples, and/or protocol decoder data, and more), as well as&lt;br /&gt;
** arbitrary meta-/config-data and other extra information that may be useful to frontends (UI state data, user-configured probe colors, names, positions, and so on).&lt;br /&gt;
* It must support and facilitate stream-oriented processing (save, load, transmission, compression/decompression, and so on).&lt;br /&gt;
* It must support compression of the payload data.&lt;br /&gt;
* It must be usable independent of hardware architecture (x86, ARM, PowerPC, MIPS, and so on), operating system, endianness, float representation, and so on. All data fields must be properly specified (endianness, signedness, size, format).&lt;br /&gt;
* It must allow for sufficiently good performance for the common operations a frontend needs to perform on the data/file/stream (save, load, compress/uncompress, append, and so on) so that it doesn&amp;#039;t become the bottleneck. This is especially important for stream-oriented devices which could otherwise lose samples if the processing on the host side is not sufficiently fast ([[Saleae Logic]], [[Saleae Logic16]], [[IKALOGIC ScanaPLUS]], others).&lt;br /&gt;
* It should be able to handle run-time changes in the data streams (via meta packets on the session bus), e.g. changing samplerates, changing probes, etc. etc.&lt;br /&gt;
* It should have better compression properties than ZIP (e.g. using LZO or other algorithms, this is to be evaluated). What we ideally want out of the compression algorithm is:&lt;br /&gt;
** Good and relatively fast compression results at only moderate CPU usage.&lt;br /&gt;
** Very fast decompression (LZO is probably the best one here, as it&amp;#039;s specifically designed for this).&lt;br /&gt;
** Ideally, support for appending further data to already compressed data chunks (though this could be also implemented outside of the compression algorithm per se).&lt;br /&gt;
** Open-source license and OS portability. There should be an open-source library or code chunk for compression/uncompression and it should be widely available in Linux distros, and portable to Windows, Mac OS X, FreeBSD, Android, and so on.&lt;br /&gt;
** JH: Compression works best when it is tailored to the data type being comppressed. For example for logic, I think the ideal compression scheme would be deinterleave -&amp;gt; RLE -&amp;gt; huffman. For analog data, a linear prediction scheme - FLAC, or something like it will probably suit best.&lt;br /&gt;
&lt;br /&gt;
== Specification ==&lt;br /&gt;
&lt;br /&gt;
== UUIDs ==&lt;br /&gt;
&lt;br /&gt;
The format uses random [http://en.wikipedia.org/wiki/Universally_unique_identifier UUIDs] (version 4) as per [http://tools.ietf.org/html/rfc4122 RFC4122] in various places. These UUIDs are always 16 bytes long.&lt;br /&gt;
&lt;br /&gt;
A simple way to generate a random (version 4) UUID (ASCII and hex representation):&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&lt;br /&gt;
 $ &amp;#039;&amp;#039;&amp;#039;python3 -c &amp;#039;import uuid; u = uuid.uuid4(); print(u); print(u.hex)&amp;#039;&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
 14c49f22-f08a-4ef2-b3d7-82ee16c3d531&lt;br /&gt;
 14c49f22f08a4ef2b3d782ee16c3d531&lt;br /&gt;
&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== File/stream format ==&lt;br /&gt;
&lt;br /&gt;
The format consists entirely of a stream of packets of various types.&lt;br /&gt;
&lt;br /&gt;
These packets can be either written to or read from a file, buffer, pipe, socket, or any other source/destination.&lt;br /&gt;
&lt;br /&gt;
== Packet format ==&lt;br /&gt;
&lt;br /&gt;
Every packet consists of four fields:&lt;br /&gt;
&lt;br /&gt;
{| border=&amp;quot;0&amp;quot; style=&amp;quot;font-size: smaller;&amp;quot; class=&amp;quot;alternategrey sigroktable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
!Field&lt;br /&gt;
!Length&lt;br /&gt;
!Description&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| &amp;#039;&amp;#039;&amp;#039;Short-UUID&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
| 2&lt;br /&gt;
| An ID (2 bytes, little-endian) that maps to a previously defined 16-byte packet type UUID. The Short-UUID values can range from 0x0002 to 0xffff, which allows for 65535 different packet types in a single file/stream. The Short-UUIDs 0x0000 and 0x0001 are special and cannot be used for &amp;quot;normal&amp;quot; packets, see below. The reason for using a (Short-)UUID here instead of some simple index number is to allow for clients to define and use their own special-purpose packet types as they see fit, without having to fear any conflicts with existing packet types (or packet types that someone else might add later).&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| &amp;#039;&amp;#039;&amp;#039;Reference-ID&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
| 4&lt;br /&gt;
| An ID (4 bytes, little-endian) that is assigned to this packet, so that other packets can reference it. Valid values: 0x00000001 - 0xffffffff. A value of 0x00000000 means that this packet doesn&amp;#039;t have a Reference-ID. Note that a (Short-)UUID specifies a certain &amp;#039;&amp;#039;type&amp;#039;&amp;#039; of packet, whereas the Reference-ID identifies a specific &amp;#039;&amp;#039;individual&amp;#039;&amp;#039; packet. For example, there can be multiple different packets (different Reference-ID) that are of the same type (same Short-UUID).&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| &amp;#039;&amp;#039;&amp;#039;Length&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
| 4&lt;br /&gt;
| The length of the data in this packet (in number of bytes). The length does not include the length of the &amp;#039;&amp;#039;&amp;#039;Short-UUID&amp;#039;&amp;#039;&amp;#039;, &amp;#039;&amp;#039;&amp;#039;Reference-ID&amp;#039;&amp;#039;&amp;#039; or &amp;#039;&amp;#039;&amp;#039;Length&amp;#039;&amp;#039;&amp;#039; field, only the length of the &amp;#039;&amp;#039;&amp;#039;Data&amp;#039;&amp;#039;&amp;#039; field. The length is given as an uint32_t number (little-endian).&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| &amp;#039;&amp;#039;&amp;#039;Data&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
| 0..n&lt;br /&gt;
| The actual payload data, max. 2^32 bytes (4GiB). For some packet types the &amp;#039;&amp;#039;&amp;#039;Data&amp;#039;&amp;#039;&amp;#039; field is optional (in that case it is completely omitted and the &amp;#039;&amp;#039;&amp;#039;Length&amp;#039;&amp;#039;&amp;#039; field is set to 0). The contents of the &amp;#039;&amp;#039;&amp;#039;Data&amp;#039;&amp;#039;&amp;#039; field are entirely dependent on (and vary with) the type of packet.&lt;br /&gt;
&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
Using the common [http://en.wikipedia.org/wiki/Type-length-value type-length-value] idom for each packet allows clients to easily skip over (ignore) any packets they do not know how to handle, and instead continue on to checking/handling the next packet.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Example packet with a 7-byte data field (Short-UUID is 0x55aa, Reference-ID is 0x00008ab2):&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
{| border=&amp;quot;0&amp;quot; style=&amp;quot;font-size: smaller;&amp;quot; class=&amp;quot;alternategrey sigroktable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
!Short-UUID&lt;br /&gt;
!Reference-ID&lt;br /&gt;
!Length&lt;br /&gt;
!Data&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| 55 aa&lt;br /&gt;
| 00 00 8a b2&lt;br /&gt;
| 00 00 00 07&lt;br /&gt;
| 11 22 33 44 55 66 77&lt;br /&gt;
&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Example packet without a data field (Short-UUID is 0x55aa, Reference-ID is 0x00005f31):&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
{| border=&amp;quot;0&amp;quot; style=&amp;quot;font-size: smaller;&amp;quot; class=&amp;quot;alternategrey sigroktable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
!Short-UUID&lt;br /&gt;
!Reference-ID&lt;br /&gt;
!Length&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| 55 aa&lt;br /&gt;
| 00 00 5f 31&lt;br /&gt;
| 00 00 00 00&lt;br /&gt;
&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== PACKET_MAP_UUIDS packet ==&lt;br /&gt;
&lt;br /&gt;
This is a special packet that is used to map 16-byte UUIDs to 2-byte Short-UUIDs.&lt;br /&gt;
&lt;br /&gt;
Since every packet has a 2-byte Short-UUID, PACKET_MAP_UUIDS must be the first packet in a file/stream, otherwise the client will not be able to interpret any other packets.&lt;br /&gt;
&lt;br /&gt;
However, PACKET_MAP_UUIDS can occur multiple times in a stream. Every time PACKET_MAP_UUIDS is seen, mappings that were not yet defined are added to the list of mappings, and mappings that already existed will be overwritten with the respective new mapping.&lt;br /&gt;
&lt;br /&gt;
Since PACKET_MAP_UUIDS is a packet itself, it also consists of the four common fields Short-UUID/Reference-ID/Length/Data. The Short-UUID of PACKET_MAP_UUIDS is always &amp;#039;&amp;#039;&amp;#039;0x0000&amp;#039;&amp;#039;&amp;#039;.&lt;br /&gt;
&lt;br /&gt;
The &amp;#039;&amp;#039;&amp;#039;Data&amp;#039;&amp;#039;&amp;#039; field has the following contents:&lt;br /&gt;
&lt;br /&gt;
{| border=&amp;quot;0&amp;quot; style=&amp;quot;font-size: smaller;&amp;quot; class=&amp;quot;alternategrey sigroktable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
!Field&lt;br /&gt;
!Length&lt;br /&gt;
!Description&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| &amp;#039;&amp;#039;&amp;#039;Special Short-UUID for magic marker&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
| 2&lt;br /&gt;
| A reserved special Short-UUID (2 bytes, little-endian) for the magic marker. Value: &amp;#039;&amp;#039;&amp;#039;0x0001&amp;#039;&amp;#039;&amp;#039;.&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| &amp;#039;&amp;#039;&amp;#039;Special UUID for magic marker&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
| 16&lt;br /&gt;
| This is a special marker that can be used by the &amp;#039;&amp;#039;&amp;#039;file&amp;#039;&amp;#039;&amp;#039; utility (and other tools) to detect the file format easily. Contents: &amp;#039;&amp;#039;&amp;#039;$sIgRoK$$sIgRoK$&amp;#039;&amp;#039;&amp;#039;.&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| &amp;#039;&amp;#039;&amp;#039;Short-UUID 1&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
| 2&lt;br /&gt;
| The 2-byte Short-UUID with index 1 (valid values: 0x0002 to 0xffff) that will, from now on, map to the UUID specified below.&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| &amp;#039;&amp;#039;&amp;#039;UUID 1&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
| 16&lt;br /&gt;
| The UUID with index 1 (binary representation, 16 bytes, little-endian) which identifies the type of packet (globally unique).&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| &amp;#039;&amp;#039;&amp;#039;Short-UUID 2&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
| 2&lt;br /&gt;
| The 2-byte Short-UUID with index 2 (valid values: 0x0002 to 0xffff) that will, from now on, map to the UUID specified below.&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| &amp;#039;&amp;#039;&amp;#039;UUID 2&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
| 16&lt;br /&gt;
| The UUID with index 2 (binary representation, 16 bytes, little-endian) which identifies the type of packet (globally unique).&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| ...&lt;br /&gt;
| ...&lt;br /&gt;
| ...&lt;br /&gt;
&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
Important notes:&lt;br /&gt;
&lt;br /&gt;
* The &amp;#039;&amp;#039;&amp;#039;Data&amp;#039;&amp;#039;&amp;#039; field contains a list of Short-UUID to UUID mappings. Since every such pair is 18 bytes in size, the &amp;#039;&amp;#039;&amp;#039;Length&amp;#039;&amp;#039;&amp;#039; field of PACKET_MAP_UUIDS can be used to deduce how many such mappings are contained in the &amp;#039;&amp;#039;&amp;#039;Data&amp;#039;&amp;#039;&amp;#039; field.&lt;br /&gt;
* The special &amp;quot;magic marker&amp;quot; fields (2 + 16 bytes) are required to be in every PACKET_MAP_UUIDS and are required to always be the first entries of PACKET_MAP_UUIDS. The file format can thus easily be detected by looking at the unique bytes 10-27 in the file (additionally, the file also always starts with the two bytes 0x00 0x00).&lt;br /&gt;
* The special Short-UUID 0x0000 must not be used in any mapping, it is reserved for PACKET_MAP_UUIDS itself.&lt;br /&gt;
* The special Short-UUID 0x0001 must not be used in any mapping, it is reserved for the special &amp;quot;magic marker&amp;quot;, see above.&lt;br /&gt;
* There is no guarantee of any kind about which Short-UUIDs will be mapped (and to what). Specifically, a client can &amp;#039;&amp;#039;&amp;#039;not&amp;#039;&amp;#039;&amp;#039; assume that Short-UUIDs start at 0x0002, and it can &amp;#039;&amp;#039;&amp;#039;not&amp;#039;&amp;#039;&amp;#039; assume that Short-UUIDs are ordered in any way. The Short-UUIDs can have a completely random order and they can also have gaps.&lt;br /&gt;
* Mappings are generally not static in nature. Every additional PACKET_MAP_UUIDS that occurs can dynamically add or overwrite/change mappings, for example.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Example packet:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
{| border=&amp;quot;0&amp;quot; style=&amp;quot;font-size: smaller;&amp;quot; class=&amp;quot;alternategrey sigroktable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
!Short-UUID&lt;br /&gt;
!Reference-ID&lt;br /&gt;
!Length&lt;br /&gt;
!Data&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| 00&amp;amp;nbsp;00&lt;br /&gt;
| &amp;#039;&amp;#039;xx&amp;amp;nbsp;xx&amp;amp;nbsp;xx&amp;amp;nbsp;xx&amp;#039;&amp;#039;&lt;br /&gt;
| 00&amp;amp;nbsp;00&amp;amp;nbsp;00&amp;amp;nbsp;48&lt;br /&gt;
| &amp;lt;tt&amp;gt;&amp;lt;span style=&amp;quot;background-color: lightblue&amp;quot;&amp;gt;00 01&amp;lt;/span&amp;gt; &amp;lt;span style=&amp;quot;background-color: yellow&amp;quot;&amp;gt;24 73 49 67 52 6f 4b 24 24 73 49 67 52 6f 4b 24&amp;lt;/span&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;span style=&amp;quot;background-color: lightblue&amp;quot;&amp;gt;77 a1&amp;lt;/span&amp;gt; &amp;lt;span style=&amp;quot;background-color: cyan&amp;quot;&amp;gt;5a 17 72 eb 28 54 48 a8 a4 1c 73 97 d7 e9 22 3d&amp;lt;/span&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;span style=&amp;quot;background-color: lightblue&amp;quot;&amp;gt;00 06&amp;lt;/span&amp;gt; &amp;lt;span style=&amp;quot;background-color: cyan&amp;quot;&amp;gt;59 de f3 30 53 6a 46 b1 8e dd 62 f2 19 5d 1c 95&amp;lt;/span&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;span style=&amp;quot;background-color: lightblue&amp;quot;&amp;gt;a3 9f&amp;lt;/span&amp;gt; &amp;lt;span style=&amp;quot;background-color: cyan&amp;quot;&amp;gt;ec 6b d7 63 c8 79 4a a7 a9 7a 7e df 0e 68 af c7&amp;lt;/span&amp;gt;&amp;lt;/tt&amp;gt;&lt;br /&gt;
&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
The above PACKET_MAP_UUIDS maps three different UUIDs to the Short-UUIDs 0x77a1, 0x0006 and 0xa39f.&lt;br /&gt;
&lt;br /&gt;
== sigrok packets ==&lt;br /&gt;
&lt;br /&gt;
The following packets are currently defined for use in projects hosted on [http://sigrok.org sigrok.org].&lt;br /&gt;
&lt;br /&gt;
The &amp;quot;names&amp;quot; (e.g. &amp;quot;SIGROK_PACKET_LOGIC&amp;quot;) are for documentation purposes only, the (Short-)UUIDs are what actually matters. The names are prefixed with SIGROK_ to make it clear that other 3rd-party software may define their own additional packet types with arbitrary contents and for arbitrary purposes.&lt;br /&gt;
&lt;br /&gt;
=== SIGROK_PACKET_DEVICE ===&lt;br /&gt;
&lt;br /&gt;
This is a packet type used to define a device.&lt;br /&gt;
&lt;br /&gt;
This packet uses the fixed UUID &amp;#039;&amp;#039;&amp;#039;94aa863d-bb58-4d79-b944-ab9dd30eecdf&amp;#039;&amp;#039;&amp;#039;.&lt;br /&gt;
&lt;br /&gt;
Details yet to be defined.&lt;br /&gt;
&lt;br /&gt;
=== SIGROK_PACKET_CHANNEL ===&lt;br /&gt;
&lt;br /&gt;
This is a packet type used to define a channel.&lt;br /&gt;
&lt;br /&gt;
This packet uses the fixed UUID &amp;#039;&amp;#039;&amp;#039;1325b595-0d5e-40a4-ac4d-36e89224dcb9&amp;#039;&amp;#039;&amp;#039;.&lt;br /&gt;
&lt;br /&gt;
The &amp;#039;&amp;#039;&amp;#039;Data&amp;#039;&amp;#039;&amp;#039; field has the following contents:&lt;br /&gt;
&lt;br /&gt;
{| border=&amp;quot;0&amp;quot; style=&amp;quot;font-size: smaller;&amp;quot; class=&amp;quot;alternategrey sigroktable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
!Field&lt;br /&gt;
!Length&lt;br /&gt;
!Description&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| &amp;#039;&amp;#039;&amp;#039;Backreference-ID&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
| 4&lt;br /&gt;
| A Reference-ID (4 bytes, little-endian) referencing a previously defined device (SIGROK_PACKET_DEVICE) that the channel belongs to.&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| &amp;#039;&amp;#039;&amp;#039;Channel type&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
| 1&lt;br /&gt;
| The type of this channel. &amp;#039;&amp;#039;&amp;#039;0x01&amp;#039;&amp;#039;&amp;#039;: Logic, &amp;#039;&amp;#039;&amp;#039;0x02&amp;#039;&amp;#039;&amp;#039;: Analog.&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| &amp;#039;&amp;#039;&amp;#039;Channel name length&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
| 2&lt;br /&gt;
| The length in number of bytes of the channel name (2 bytes, little-endian).&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| &amp;#039;&amp;#039;&amp;#039;Channel name&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
| n&lt;br /&gt;
| The channel name (UTF-8 string).&lt;br /&gt;
&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Example packet:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
The following packet defines a logic channel named &amp;quot;CH1&amp;quot; with the Reference-ID &amp;#039;&amp;#039;tt tt tt tt&amp;#039;&amp;#039; (which identifies this specific channel) and the Backreference-ID &amp;#039;&amp;#039;bb bb bb bb&amp;#039;&amp;#039; which references a previously defined device the channel belongs to.&lt;br /&gt;
&lt;br /&gt;
{| border=&amp;quot;0&amp;quot; style=&amp;quot;font-size: smaller;&amp;quot; class=&amp;quot;alternategrey sigroktable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
!Short-UUID&lt;br /&gt;
!Reference-ID&lt;br /&gt;
!Length&lt;br /&gt;
!Data&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| &amp;#039;&amp;#039;uu uu&amp;#039;&amp;#039;&lt;br /&gt;
| &amp;#039;&amp;#039;tt tt tt tt&amp;#039;&amp;#039;&lt;br /&gt;
| 00 00 00 0a&lt;br /&gt;
| &amp;lt;tt&amp;gt;&amp;lt;span style=&amp;quot;background-color: lightblue&amp;quot;&amp;gt;&amp;#039;&amp;#039;bb bb bb bb&amp;#039;&amp;#039;&amp;lt;/span&amp;gt; &amp;lt;span style=&amp;quot;background-color: cyan&amp;quot;&amp;gt;01&amp;lt;/span&amp;gt; &amp;lt;span style=&amp;quot;background-color: lightblue&amp;quot;&amp;gt;00 03&amp;lt;/span&amp;gt; &amp;lt;span style=&amp;quot;background-color: cyan&amp;quot;&amp;gt;CH1&amp;lt;/span&amp;gt;&amp;lt;/tt&amp;gt;&lt;br /&gt;
&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
Further details yet to be defined.&lt;br /&gt;
&lt;br /&gt;
=== SIGROK_PACKET_LOGIC ===&lt;br /&gt;
&lt;br /&gt;
This is a packet type used to store/transmit (only) digital samples, usually from a logic analyzer.&lt;br /&gt;
&lt;br /&gt;
This packet uses the fixed UUID &amp;#039;&amp;#039;&amp;#039;2236202e-9ee7-4bc6-81f6-56b4e6e029ba&amp;#039;&amp;#039;&amp;#039;.&lt;br /&gt;
&lt;br /&gt;
The &amp;#039;&amp;#039;&amp;#039;Data&amp;#039;&amp;#039;&amp;#039; field has the following contents:&lt;br /&gt;
&lt;br /&gt;
{| border=&amp;quot;0&amp;quot; style=&amp;quot;font-size: smaller;&amp;quot; class=&amp;quot;alternategrey sigroktable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
!Field&lt;br /&gt;
!Length&lt;br /&gt;
!Description&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| &amp;#039;&amp;#039;&amp;#039;Version&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
| 2&lt;br /&gt;
| The version of the SIGROK_PACKET_LOGIC format in binary format (little-endian). Current version: &amp;#039;&amp;#039;&amp;#039;0x0001&amp;#039;&amp;#039;&amp;#039;.&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| &amp;#039;&amp;#039;&amp;#039;Payload format Short-UUID&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
| 2&lt;br /&gt;
| A Short-UUID (2 bytes, little-endian) which identifies a certain payload format.&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| &amp;#039;&amp;#039;&amp;#039;Compression scheme Short-UUID&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
| 2&lt;br /&gt;
| A Short-UUID (2 bytes, little-endian) which identifies a certain compression scheme that is applied to the payload data.&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| &amp;#039;&amp;#039;&amp;#039;Payload length&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
| 4&lt;br /&gt;
| The length of the actual payload data in this SIGROK_PACKET_LOGIC packet (in number of bytes). The length only includes the &amp;#039;&amp;#039;&amp;#039;Payload&amp;#039;&amp;#039;&amp;#039; field. The length is given as an uint32_t number (little-endian).&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| &amp;#039;&amp;#039;&amp;#039;Payload&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
| 0..n&lt;br /&gt;
| The actual payload data, i.e. logic analyzer samples in the specified payload format, using the specified compression scheme.&lt;br /&gt;
&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Example packet:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
(Packet type SIGROK_PACKET_LOGIC Short-UUID &amp;#039;&amp;#039;0xuuuu&amp;#039;&amp;#039;, Reference-ID &amp;#039;&amp;#039;0xtttttttt&amp;#039;&amp;#039;, 0x12 bytes packet data, SIGROK_PACKET_LOGIC version 0x0001, SIGROK_PAYLOAD_FORMAT_LOGIC_V1 payload format Short-UUID &amp;#039;&amp;#039;0xvvvv&amp;#039;&amp;#039;, SIGROK_COMPRESSION_NONE compression scheme Short-UUID &amp;#039;&amp;#039;0xwwww&amp;#039;&amp;#039;, 8 bytes of logic analyzer payload (uncompressed))&lt;br /&gt;
&lt;br /&gt;
{| border=&amp;quot;0&amp;quot; style=&amp;quot;font-size: smaller;&amp;quot; class=&amp;quot;alternategrey sigroktable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
!Short-UUID&lt;br /&gt;
!Reference-ID&lt;br /&gt;
!Length&lt;br /&gt;
!Data&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| &amp;#039;&amp;#039;uu uu&amp;#039;&amp;#039;&lt;br /&gt;
| &amp;#039;&amp;#039;tt tt tt tt&amp;#039;&amp;#039;&lt;br /&gt;
| 00 00 00 12&lt;br /&gt;
| &amp;lt;span style=&amp;quot;background-color: cyan&amp;quot;&amp;gt;00 01&amp;lt;/span&amp;gt; &amp;lt;span style=&amp;quot;background-color: lightblue&amp;quot;&amp;gt;&amp;#039;&amp;#039;vv vv&amp;#039;&amp;#039;&amp;lt;/span&amp;gt; &amp;lt;span style=&amp;quot;background-color: cyan&amp;quot;&amp;gt;&amp;#039;&amp;#039;ww ww&amp;#039;&amp;#039;&amp;lt;/span&amp;gt; &amp;lt;span style=&amp;quot;background-color: lightblue&amp;quot;&amp;gt;00 00 00 08&amp;lt;/span&amp;gt; &amp;lt;span style=&amp;quot;background-color: cyan&amp;quot;&amp;gt;11 22 33 44 55 66 77 88&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== SIGROK_PACKET_ANALOG ===&lt;br /&gt;
&lt;br /&gt;
This is a packet type used to store/transmit (only) analog samples, e.g. from a multimeter, oscilloscope, sound level meter, or any other source for analog data.&lt;br /&gt;
&lt;br /&gt;
This packet uses the fixed UUID &amp;#039;&amp;#039;&amp;#039;59def330-536a-46b1-8edd-62f2195d1c95&amp;#039;&amp;#039;&amp;#039;.&lt;br /&gt;
&lt;br /&gt;
Details yet to be defined.&lt;br /&gt;
&lt;br /&gt;
== List of known packet types ==&lt;br /&gt;
&lt;br /&gt;
This is a short overview of known packet types that are in use. This includes the packet types used in projects hosted at [http://sigrok.org sigrok.org], as well as pointers to packet types that other (3rd-party) software is known to use.&lt;br /&gt;
&lt;br /&gt;
{| border=&amp;quot;0&amp;quot; style=&amp;quot;font-size: smaller;&amp;quot; class=&amp;quot;alternategrey sigroktable sortable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
!UUID&lt;br /&gt;
!Packet type&lt;br /&gt;
!Description&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| 94aa863d-bb58-4d79-b944-ab9dd30eecdf&lt;br /&gt;
| SIGROK_PACKET_DEVICE&lt;br /&gt;
| [[File format:sigrok#SIGROK_PACKET_DEVICE|See above]].&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| 1325b595-0d5e-40a4-ac4d-36e89224dcb9&lt;br /&gt;
| SIGROK_PACKET_CHANNEL&lt;br /&gt;
| [[File format:sigrok#SIGROK_PACKET_CHANNEL|See above]].&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| 5a1772eb-2854-48a8-a41c-7397d7e9223d&lt;br /&gt;
| SIGROK_PACKET_LOGIC&lt;br /&gt;
| [[File format:sigrok#SIGROK_PACKET_LOGIC|See above]].&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| 59def330-536a-46b1-8edd-62f2195d1c95&lt;br /&gt;
| SIGROK_PACKET_ANALOG&lt;br /&gt;
| [[File format:sigrok#SIGROK_PACKET_ANALOG|See above]].&lt;br /&gt;
&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== List of known payload formats ==&lt;br /&gt;
&lt;br /&gt;
This is a short overview of known payload formats that are in use. This includes the payload formats used in projects hosted at [http://sigrok.org sigrok.org], as well as pointers to payload formats that other (3rd-party) software is known to use.&lt;br /&gt;
&lt;br /&gt;
{| border=&amp;quot;0&amp;quot; style=&amp;quot;font-size: smaller;&amp;quot; class=&amp;quot;alternategrey sigroktable sortable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
!UUID&lt;br /&gt;
!Payload format&lt;br /&gt;
!Description&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;white-space: nowrap;&amp;quot; | d2964f38-8b13-4570-9add-add5678a0394&lt;br /&gt;
| SIGROK_PAYLOAD_FORMAT_LOGIC_V1&lt;br /&gt;
| This payload format can only store digital samples from a logic analyzer (0/1 values for a certain channel/probe/pin). It is basically identical to the format that was used in the previous ZIP-based file format versions. Details are yet to be defined.&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| 79e7cfd1-0f56-4d5e-968a-b66fdbdff624&lt;br /&gt;
| SIGROK_PAYLOAD_FORMAT_ANALOG_V1&lt;br /&gt;
| A certain type of payload format that can store (only) analog samples of a certain number of analog channels. Details are yet to be defined.&lt;br /&gt;
&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== List of known compression schemes ==&lt;br /&gt;
&lt;br /&gt;
This is a short overview of known compression schemes that are in use. This includes the schemes used in projects hosted at [http://sigrok.org sigrok.org], as well as pointers to schemes that other (3rd-party) software is known to use.&lt;br /&gt;
&lt;br /&gt;
{| border=&amp;quot;0&amp;quot; style=&amp;quot;font-size: smaller;&amp;quot; class=&amp;quot;alternategrey sigroktable sortable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
!UUID&lt;br /&gt;
!Compression scheme&lt;br /&gt;
!Description&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| ec6bd763-c879-4aa7-a97a-7edf0e68afc7&lt;br /&gt;
| SIGROK_COMPRESSION_NONE&lt;br /&gt;
| No compression whatsoever is used.&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| acd2e249-5c4d-426d-96ae-ded5b6020e6f&lt;br /&gt;
| SIGROK_COMPRESSION_RLE_V1&lt;br /&gt;
| A certain type of RLE-based compression is used. Details are yet to be defined.&lt;br /&gt;
&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== Futher notes and ideas to consider ==&lt;br /&gt;
&lt;br /&gt;
* Data should be encoded in a data aware way. This would give greater compression:&lt;br /&gt;
** Logic Data is most efficient stored in RLE+Huffman or Golomb coding. e.g. a clock signal may compress to one bit per edge.&lt;br /&gt;
** FLAC (libflac) or a FLAC inspired codec (linear predicition) is probably as good as it gets for lossless analog data encoding.&lt;br /&gt;
* If data is stored in a format specific way, it would be best to store it as a series of stream-blocks, similar to how video containers work. Would it be possible to simply leverage a video container such as OGG? IIRC this contains headers to declare metadata about each stream, then a series of timestamped stream blocks interleaved together. The time stamp is a format specific number... for audio: the sample number, for video: the frame number, so sigrok formats can easily leverage this.&lt;br /&gt;
** Similarly RTP is a rather natural protocol for sigrok network streaming.&lt;/div&gt;</summary>
		<author><name>Joelholdsworth</name></author>
	</entry>
	<entry>
		<id>https://sigrok.org/w/index.php?title=File_format:Sigrok/v3&amp;diff=10211</id>
		<title>File format:Sigrok/v3</title>
		<link rel="alternate" type="text/html" href="https://sigrok.org/w/index.php?title=File_format:Sigrok/v3&amp;diff=10211"/>
		<updated>2014-11-26T09:27:09Z</updated>

		<summary type="html">&lt;p&gt;Joelholdsworth: /* Goals */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{DISPLAYTITLE:File format:sigrok/v3}}&lt;br /&gt;
This page describes the proposed file/stream format (v3) for storing and transmitting sigrok related data.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style=&amp;quot;background-color:#ff6666&amp;quot;&amp;gt;&lt;br /&gt;
NOTE: This is work in progress and has not yet been implemented!&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Motivation ==&lt;br /&gt;
&lt;br /&gt;
The previous [[File format:sigrok/v2|sigrok session]] file format (version 2) is a ZIP file containing multiple files (some metadata files and data files containing the actual samples). This works fine, but it also has some issues:&lt;br /&gt;
&lt;br /&gt;
* In order to get to the data you want, you need to decompress the whole file.&lt;br /&gt;
* Appending to a file is not possible easily (and it&amp;#039;s not efficient).&lt;br /&gt;
* It doesn&amp;#039;t support storing analog data (e.g. from oscilloscopes or MSOs).&lt;br /&gt;
* It doesn&amp;#039;t support storing additional information for frontends (channel colors, and so on).&lt;br /&gt;
* ...&lt;br /&gt;
&lt;br /&gt;
== Goals ==&lt;br /&gt;
&lt;br /&gt;
The following list highlights some of the goals of the new file format (v3):&lt;br /&gt;
&lt;br /&gt;
* It must be able to store&lt;br /&gt;
** arbitrary data (logic samples, and/or analog samples, and/or protocol decoder data, and more), as well as&lt;br /&gt;
** arbitrary meta-/config-data and other extra information that may be useful to frontends (UI state data, user-configured probe colors, names, positions, and so on).&lt;br /&gt;
* It must support and facilitate stream-oriented processing (save, load, transmission, compression/decompression, and so on).&lt;br /&gt;
* It must support compression of the payload data.&lt;br /&gt;
* It must be usable independent of hardware architecture (x86, ARM, PowerPC, MIPS, and so on), operating system, endianness, float representation, and so on. All data fields must be properly specified (endianness, signedness, size, format).&lt;br /&gt;
* It must allow for sufficiently good performance for the common operations a frontend needs to perform on the data/file/stream (save, load, compress/uncompress, append, and so on) so that it doesn&amp;#039;t become the bottleneck. This is especially important for stream-oriented devices which could otherwise lose samples if the processing on the host side is not sufficiently fast ([[Saleae Logic]], [[Saleae Logic16]], [[IKALOGIC ScanaPLUS]], others).&lt;br /&gt;
* It should be able to handle run-time changes in the data streams (via meta packets on the session bus), e.g. changing samplerates, changing probes, etc. etc.&lt;br /&gt;
* It should have better compression properties than ZIP (e.g. using LZO or other algorithms, this is to be evaluated). What we ideally want out of the compression algorithm is:&lt;br /&gt;
** Good and relatively fast compression results at only moderate CPU usage.&lt;br /&gt;
** Very fast decompression (LZO is probably the best one here, as it&amp;#039;s specifically designed for this).&lt;br /&gt;
** Ideally, support for appending further data to already compressed data chunks (though this could be also implemented outside of the compression algorithm per se).&lt;br /&gt;
** Open-source license and OS portability. There should be an open-source library or code chunk for compression/uncompression and it should be widely available in Linux distros, and portable to Windows, Mac OS X, FreeBSD, Android, and so on.&lt;br /&gt;
** JH: Compression works best when it is tailored to the data type being comppressed. For example for logic, I think the ideal compression scheme would be deinterleave -&amp;gt; RLE -&amp;gt; huffman. For analog data, a linear prediction scheme - FLAC, or something like it will probably suit best.&lt;br /&gt;
** JH: Compression algorithms should be selectable, and should allow direct pass-through from devices that support hardware compression.&lt;br /&gt;
&lt;br /&gt;
== Specification ==&lt;br /&gt;
&lt;br /&gt;
== UUIDs ==&lt;br /&gt;
&lt;br /&gt;
The format uses random [http://en.wikipedia.org/wiki/Universally_unique_identifier UUIDs] (version 4) as per [http://tools.ietf.org/html/rfc4122 RFC4122] in various places. These UUIDs are always 16 bytes long.&lt;br /&gt;
&lt;br /&gt;
A simple way to generate a random (version 4) UUID (ASCII and hex representation):&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&lt;br /&gt;
 $ &amp;#039;&amp;#039;&amp;#039;python3 -c &amp;#039;import uuid; u = uuid.uuid4(); print(u); print(u.hex)&amp;#039;&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
 14c49f22-f08a-4ef2-b3d7-82ee16c3d531&lt;br /&gt;
 14c49f22f08a4ef2b3d782ee16c3d531&lt;br /&gt;
&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== File/stream format ==&lt;br /&gt;
&lt;br /&gt;
The format consists entirely of a stream of packets of various types.&lt;br /&gt;
&lt;br /&gt;
These packets can be either written to or read from a file, buffer, pipe, socket, or any other source/destination.&lt;br /&gt;
&lt;br /&gt;
== Packet format ==&lt;br /&gt;
&lt;br /&gt;
Every packet consists of four fields:&lt;br /&gt;
&lt;br /&gt;
{| border=&amp;quot;0&amp;quot; style=&amp;quot;font-size: smaller;&amp;quot; class=&amp;quot;alternategrey sigroktable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
!Field&lt;br /&gt;
!Length&lt;br /&gt;
!Description&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| &amp;#039;&amp;#039;&amp;#039;Short-UUID&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
| 2&lt;br /&gt;
| An ID (2 bytes, little-endian) that maps to a previously defined 16-byte packet type UUID. The Short-UUID values can range from 0x0002 to 0xffff, which allows for 65535 different packet types in a single file/stream. The Short-UUIDs 0x0000 and 0x0001 are special and cannot be used for &amp;quot;normal&amp;quot; packets, see below. The reason for using a (Short-)UUID here instead of some simple index number is to allow for clients to define and use their own special-purpose packet types as they see fit, without having to fear any conflicts with existing packet types (or packet types that someone else might add later).&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| &amp;#039;&amp;#039;&amp;#039;Reference-ID&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
| 4&lt;br /&gt;
| An ID (4 bytes, little-endian) that is assigned to this packet, so that other packets can reference it. Valid values: 0x00000001 - 0xffffffff. A value of 0x00000000 means that this packet doesn&amp;#039;t have a Reference-ID. Note that a (Short-)UUID specifies a certain &amp;#039;&amp;#039;type&amp;#039;&amp;#039; of packet, whereas the Reference-ID identifies a specific &amp;#039;&amp;#039;individual&amp;#039;&amp;#039; packet. For example, there can be multiple different packets (different Reference-ID) that are of the same type (same Short-UUID).&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| &amp;#039;&amp;#039;&amp;#039;Length&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
| 4&lt;br /&gt;
| The length of the data in this packet (in number of bytes). The length does not include the length of the &amp;#039;&amp;#039;&amp;#039;Short-UUID&amp;#039;&amp;#039;&amp;#039;, &amp;#039;&amp;#039;&amp;#039;Reference-ID&amp;#039;&amp;#039;&amp;#039; or &amp;#039;&amp;#039;&amp;#039;Length&amp;#039;&amp;#039;&amp;#039; field, only the length of the &amp;#039;&amp;#039;&amp;#039;Data&amp;#039;&amp;#039;&amp;#039; field. The length is given as an uint32_t number (little-endian).&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| &amp;#039;&amp;#039;&amp;#039;Data&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
| 0..n&lt;br /&gt;
| The actual payload data, max. 2^32 bytes (4GiB). For some packet types the &amp;#039;&amp;#039;&amp;#039;Data&amp;#039;&amp;#039;&amp;#039; field is optional (in that case it is completely omitted and the &amp;#039;&amp;#039;&amp;#039;Length&amp;#039;&amp;#039;&amp;#039; field is set to 0). The contents of the &amp;#039;&amp;#039;&amp;#039;Data&amp;#039;&amp;#039;&amp;#039; field are entirely dependent on (and vary with) the type of packet.&lt;br /&gt;
&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
Using the common [http://en.wikipedia.org/wiki/Type-length-value type-length-value] idom for each packet allows clients to easily skip over (ignore) any packets they do not know how to handle, and instead continue on to checking/handling the next packet.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Example packet with a 7-byte data field (Short-UUID is 0x55aa, Reference-ID is 0x00008ab2):&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
{| border=&amp;quot;0&amp;quot; style=&amp;quot;font-size: smaller;&amp;quot; class=&amp;quot;alternategrey sigroktable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
!Short-UUID&lt;br /&gt;
!Reference-ID&lt;br /&gt;
!Length&lt;br /&gt;
!Data&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| 55 aa&lt;br /&gt;
| 00 00 8a b2&lt;br /&gt;
| 00 00 00 07&lt;br /&gt;
| 11 22 33 44 55 66 77&lt;br /&gt;
&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Example packet without a data field (Short-UUID is 0x55aa, Reference-ID is 0x00005f31):&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
{| border=&amp;quot;0&amp;quot; style=&amp;quot;font-size: smaller;&amp;quot; class=&amp;quot;alternategrey sigroktable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
!Short-UUID&lt;br /&gt;
!Reference-ID&lt;br /&gt;
!Length&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| 55 aa&lt;br /&gt;
| 00 00 5f 31&lt;br /&gt;
| 00 00 00 00&lt;br /&gt;
&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== PACKET_MAP_UUIDS packet ==&lt;br /&gt;
&lt;br /&gt;
This is a special packet that is used to map 16-byte UUIDs to 2-byte Short-UUIDs.&lt;br /&gt;
&lt;br /&gt;
Since every packet has a 2-byte Short-UUID, PACKET_MAP_UUIDS must be the first packet in a file/stream, otherwise the client will not be able to interpret any other packets.&lt;br /&gt;
&lt;br /&gt;
However, PACKET_MAP_UUIDS can occur multiple times in a stream. Every time PACKET_MAP_UUIDS is seen, mappings that were not yet defined are added to the list of mappings, and mappings that already existed will be overwritten with the respective new mapping.&lt;br /&gt;
&lt;br /&gt;
Since PACKET_MAP_UUIDS is a packet itself, it also consists of the four common fields Short-UUID/Reference-ID/Length/Data. The Short-UUID of PACKET_MAP_UUIDS is always &amp;#039;&amp;#039;&amp;#039;0x0000&amp;#039;&amp;#039;&amp;#039;.&lt;br /&gt;
&lt;br /&gt;
The &amp;#039;&amp;#039;&amp;#039;Data&amp;#039;&amp;#039;&amp;#039; field has the following contents:&lt;br /&gt;
&lt;br /&gt;
{| border=&amp;quot;0&amp;quot; style=&amp;quot;font-size: smaller;&amp;quot; class=&amp;quot;alternategrey sigroktable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
!Field&lt;br /&gt;
!Length&lt;br /&gt;
!Description&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| &amp;#039;&amp;#039;&amp;#039;Special Short-UUID for magic marker&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
| 2&lt;br /&gt;
| A reserved special Short-UUID (2 bytes, little-endian) for the magic marker. Value: &amp;#039;&amp;#039;&amp;#039;0x0001&amp;#039;&amp;#039;&amp;#039;.&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| &amp;#039;&amp;#039;&amp;#039;Special UUID for magic marker&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
| 16&lt;br /&gt;
| This is a special marker that can be used by the &amp;#039;&amp;#039;&amp;#039;file&amp;#039;&amp;#039;&amp;#039; utility (and other tools) to detect the file format easily. Contents: &amp;#039;&amp;#039;&amp;#039;$sIgRoK$$sIgRoK$&amp;#039;&amp;#039;&amp;#039;.&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| &amp;#039;&amp;#039;&amp;#039;Short-UUID 1&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
| 2&lt;br /&gt;
| The 2-byte Short-UUID with index 1 (valid values: 0x0002 to 0xffff) that will, from now on, map to the UUID specified below.&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| &amp;#039;&amp;#039;&amp;#039;UUID 1&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
| 16&lt;br /&gt;
| The UUID with index 1 (binary representation, 16 bytes, little-endian) which identifies the type of packet (globally unique).&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| &amp;#039;&amp;#039;&amp;#039;Short-UUID 2&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
| 2&lt;br /&gt;
| The 2-byte Short-UUID with index 2 (valid values: 0x0002 to 0xffff) that will, from now on, map to the UUID specified below.&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| &amp;#039;&amp;#039;&amp;#039;UUID 2&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
| 16&lt;br /&gt;
| The UUID with index 2 (binary representation, 16 bytes, little-endian) which identifies the type of packet (globally unique).&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| ...&lt;br /&gt;
| ...&lt;br /&gt;
| ...&lt;br /&gt;
&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
Important notes:&lt;br /&gt;
&lt;br /&gt;
* The &amp;#039;&amp;#039;&amp;#039;Data&amp;#039;&amp;#039;&amp;#039; field contains a list of Short-UUID to UUID mappings. Since every such pair is 18 bytes in size, the &amp;#039;&amp;#039;&amp;#039;Length&amp;#039;&amp;#039;&amp;#039; field of PACKET_MAP_UUIDS can be used to deduce how many such mappings are contained in the &amp;#039;&amp;#039;&amp;#039;Data&amp;#039;&amp;#039;&amp;#039; field.&lt;br /&gt;
* The special &amp;quot;magic marker&amp;quot; fields (2 + 16 bytes) are required to be in every PACKET_MAP_UUIDS and are required to always be the first entries of PACKET_MAP_UUIDS. The file format can thus easily be detected by looking at the unique bytes 10-27 in the file (additionally, the file also always starts with the two bytes 0x00 0x00).&lt;br /&gt;
* The special Short-UUID 0x0000 must not be used in any mapping, it is reserved for PACKET_MAP_UUIDS itself.&lt;br /&gt;
* The special Short-UUID 0x0001 must not be used in any mapping, it is reserved for the special &amp;quot;magic marker&amp;quot;, see above.&lt;br /&gt;
* There is no guarantee of any kind about which Short-UUIDs will be mapped (and to what). Specifically, a client can &amp;#039;&amp;#039;&amp;#039;not&amp;#039;&amp;#039;&amp;#039; assume that Short-UUIDs start at 0x0002, and it can &amp;#039;&amp;#039;&amp;#039;not&amp;#039;&amp;#039;&amp;#039; assume that Short-UUIDs are ordered in any way. The Short-UUIDs can have a completely random order and they can also have gaps.&lt;br /&gt;
* Mappings are generally not static in nature. Every additional PACKET_MAP_UUIDS that occurs can dynamically add or overwrite/change mappings, for example.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Example packet:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
{| border=&amp;quot;0&amp;quot; style=&amp;quot;font-size: smaller;&amp;quot; class=&amp;quot;alternategrey sigroktable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
!Short-UUID&lt;br /&gt;
!Reference-ID&lt;br /&gt;
!Length&lt;br /&gt;
!Data&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| 00&amp;amp;nbsp;00&lt;br /&gt;
| &amp;#039;&amp;#039;xx&amp;amp;nbsp;xx&amp;amp;nbsp;xx&amp;amp;nbsp;xx&amp;#039;&amp;#039;&lt;br /&gt;
| 00&amp;amp;nbsp;00&amp;amp;nbsp;00&amp;amp;nbsp;48&lt;br /&gt;
| &amp;lt;tt&amp;gt;&amp;lt;span style=&amp;quot;background-color: lightblue&amp;quot;&amp;gt;00 01&amp;lt;/span&amp;gt; &amp;lt;span style=&amp;quot;background-color: yellow&amp;quot;&amp;gt;24 73 49 67 52 6f 4b 24 24 73 49 67 52 6f 4b 24&amp;lt;/span&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;span style=&amp;quot;background-color: lightblue&amp;quot;&amp;gt;77 a1&amp;lt;/span&amp;gt; &amp;lt;span style=&amp;quot;background-color: cyan&amp;quot;&amp;gt;5a 17 72 eb 28 54 48 a8 a4 1c 73 97 d7 e9 22 3d&amp;lt;/span&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;span style=&amp;quot;background-color: lightblue&amp;quot;&amp;gt;00 06&amp;lt;/span&amp;gt; &amp;lt;span style=&amp;quot;background-color: cyan&amp;quot;&amp;gt;59 de f3 30 53 6a 46 b1 8e dd 62 f2 19 5d 1c 95&amp;lt;/span&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;span style=&amp;quot;background-color: lightblue&amp;quot;&amp;gt;a3 9f&amp;lt;/span&amp;gt; &amp;lt;span style=&amp;quot;background-color: cyan&amp;quot;&amp;gt;ec 6b d7 63 c8 79 4a a7 a9 7a 7e df 0e 68 af c7&amp;lt;/span&amp;gt;&amp;lt;/tt&amp;gt;&lt;br /&gt;
&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
The above PACKET_MAP_UUIDS maps three different UUIDs to the Short-UUIDs 0x77a1, 0x0006 and 0xa39f.&lt;br /&gt;
&lt;br /&gt;
== sigrok packets ==&lt;br /&gt;
&lt;br /&gt;
The following packets are currently defined for use in projects hosted on [http://sigrok.org sigrok.org].&lt;br /&gt;
&lt;br /&gt;
The &amp;quot;names&amp;quot; (e.g. &amp;quot;SIGROK_PACKET_LOGIC&amp;quot;) are for documentation purposes only, the (Short-)UUIDs are what actually matters. The names are prefixed with SIGROK_ to make it clear that other 3rd-party software may define their own additional packet types with arbitrary contents and for arbitrary purposes.&lt;br /&gt;
&lt;br /&gt;
=== SIGROK_PACKET_DEVICE ===&lt;br /&gt;
&lt;br /&gt;
This is a packet type used to define a device.&lt;br /&gt;
&lt;br /&gt;
This packet uses the fixed UUID &amp;#039;&amp;#039;&amp;#039;94aa863d-bb58-4d79-b944-ab9dd30eecdf&amp;#039;&amp;#039;&amp;#039;.&lt;br /&gt;
&lt;br /&gt;
Details yet to be defined.&lt;br /&gt;
&lt;br /&gt;
=== SIGROK_PACKET_CHANNEL ===&lt;br /&gt;
&lt;br /&gt;
This is a packet type used to define a channel.&lt;br /&gt;
&lt;br /&gt;
This packet uses the fixed UUID &amp;#039;&amp;#039;&amp;#039;1325b595-0d5e-40a4-ac4d-36e89224dcb9&amp;#039;&amp;#039;&amp;#039;.&lt;br /&gt;
&lt;br /&gt;
The &amp;#039;&amp;#039;&amp;#039;Data&amp;#039;&amp;#039;&amp;#039; field has the following contents:&lt;br /&gt;
&lt;br /&gt;
{| border=&amp;quot;0&amp;quot; style=&amp;quot;font-size: smaller;&amp;quot; class=&amp;quot;alternategrey sigroktable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
!Field&lt;br /&gt;
!Length&lt;br /&gt;
!Description&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| &amp;#039;&amp;#039;&amp;#039;Backreference-ID&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
| 4&lt;br /&gt;
| A Reference-ID (4 bytes, little-endian) referencing a previously defined device (SIGROK_PACKET_DEVICE) that the channel belongs to.&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| &amp;#039;&amp;#039;&amp;#039;Channel type&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
| 1&lt;br /&gt;
| The type of this channel. &amp;#039;&amp;#039;&amp;#039;0x01&amp;#039;&amp;#039;&amp;#039;: Logic, &amp;#039;&amp;#039;&amp;#039;0x02&amp;#039;&amp;#039;&amp;#039;: Analog.&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| &amp;#039;&amp;#039;&amp;#039;Channel name length&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
| 2&lt;br /&gt;
| The length in number of bytes of the channel name (2 bytes, little-endian).&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| &amp;#039;&amp;#039;&amp;#039;Channel name&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
| n&lt;br /&gt;
| The channel name (UTF-8 string).&lt;br /&gt;
&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Example packet:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
The following packet defines a logic channel named &amp;quot;CH1&amp;quot; with the Reference-ID &amp;#039;&amp;#039;tt tt tt tt&amp;#039;&amp;#039; (which identifies this specific channel) and the Backreference-ID &amp;#039;&amp;#039;bb bb bb bb&amp;#039;&amp;#039; which references a previously defined device the channel belongs to.&lt;br /&gt;
&lt;br /&gt;
{| border=&amp;quot;0&amp;quot; style=&amp;quot;font-size: smaller;&amp;quot; class=&amp;quot;alternategrey sigroktable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
!Short-UUID&lt;br /&gt;
!Reference-ID&lt;br /&gt;
!Length&lt;br /&gt;
!Data&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| &amp;#039;&amp;#039;uu uu&amp;#039;&amp;#039;&lt;br /&gt;
| &amp;#039;&amp;#039;tt tt tt tt&amp;#039;&amp;#039;&lt;br /&gt;
| 00 00 00 0a&lt;br /&gt;
| &amp;lt;tt&amp;gt;&amp;lt;span style=&amp;quot;background-color: lightblue&amp;quot;&amp;gt;&amp;#039;&amp;#039;bb bb bb bb&amp;#039;&amp;#039;&amp;lt;/span&amp;gt; &amp;lt;span style=&amp;quot;background-color: cyan&amp;quot;&amp;gt;01&amp;lt;/span&amp;gt; &amp;lt;span style=&amp;quot;background-color: lightblue&amp;quot;&amp;gt;00 03&amp;lt;/span&amp;gt; &amp;lt;span style=&amp;quot;background-color: cyan&amp;quot;&amp;gt;CH1&amp;lt;/span&amp;gt;&amp;lt;/tt&amp;gt;&lt;br /&gt;
&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
Further details yet to be defined.&lt;br /&gt;
&lt;br /&gt;
=== SIGROK_PACKET_LOGIC ===&lt;br /&gt;
&lt;br /&gt;
This is a packet type used to store/transmit (only) digital samples, usually from a logic analyzer.&lt;br /&gt;
&lt;br /&gt;
This packet uses the fixed UUID &amp;#039;&amp;#039;&amp;#039;2236202e-9ee7-4bc6-81f6-56b4e6e029ba&amp;#039;&amp;#039;&amp;#039;.&lt;br /&gt;
&lt;br /&gt;
The &amp;#039;&amp;#039;&amp;#039;Data&amp;#039;&amp;#039;&amp;#039; field has the following contents:&lt;br /&gt;
&lt;br /&gt;
{| border=&amp;quot;0&amp;quot; style=&amp;quot;font-size: smaller;&amp;quot; class=&amp;quot;alternategrey sigroktable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
!Field&lt;br /&gt;
!Length&lt;br /&gt;
!Description&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| &amp;#039;&amp;#039;&amp;#039;Version&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
| 2&lt;br /&gt;
| The version of the SIGROK_PACKET_LOGIC format in binary format (little-endian). Current version: &amp;#039;&amp;#039;&amp;#039;0x0001&amp;#039;&amp;#039;&amp;#039;.&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| &amp;#039;&amp;#039;&amp;#039;Payload format Short-UUID&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
| 2&lt;br /&gt;
| A Short-UUID (2 bytes, little-endian) which identifies a certain payload format.&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| &amp;#039;&amp;#039;&amp;#039;Compression scheme Short-UUID&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
| 2&lt;br /&gt;
| A Short-UUID (2 bytes, little-endian) which identifies a certain compression scheme that is applied to the payload data.&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| &amp;#039;&amp;#039;&amp;#039;Payload length&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
| 4&lt;br /&gt;
| The length of the actual payload data in this SIGROK_PACKET_LOGIC packet (in number of bytes). The length only includes the &amp;#039;&amp;#039;&amp;#039;Payload&amp;#039;&amp;#039;&amp;#039; field. The length is given as an uint32_t number (little-endian).&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| &amp;#039;&amp;#039;&amp;#039;Payload&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
| 0..n&lt;br /&gt;
| The actual payload data, i.e. logic analyzer samples in the specified payload format, using the specified compression scheme.&lt;br /&gt;
&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Example packet:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
(Packet type SIGROK_PACKET_LOGIC Short-UUID &amp;#039;&amp;#039;0xuuuu&amp;#039;&amp;#039;, Reference-ID &amp;#039;&amp;#039;0xtttttttt&amp;#039;&amp;#039;, 0x12 bytes packet data, SIGROK_PACKET_LOGIC version 0x0001, SIGROK_PAYLOAD_FORMAT_LOGIC_V1 payload format Short-UUID &amp;#039;&amp;#039;0xvvvv&amp;#039;&amp;#039;, SIGROK_COMPRESSION_NONE compression scheme Short-UUID &amp;#039;&amp;#039;0xwwww&amp;#039;&amp;#039;, 8 bytes of logic analyzer payload (uncompressed))&lt;br /&gt;
&lt;br /&gt;
{| border=&amp;quot;0&amp;quot; style=&amp;quot;font-size: smaller;&amp;quot; class=&amp;quot;alternategrey sigroktable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
!Short-UUID&lt;br /&gt;
!Reference-ID&lt;br /&gt;
!Length&lt;br /&gt;
!Data&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| &amp;#039;&amp;#039;uu uu&amp;#039;&amp;#039;&lt;br /&gt;
| &amp;#039;&amp;#039;tt tt tt tt&amp;#039;&amp;#039;&lt;br /&gt;
| 00 00 00 12&lt;br /&gt;
| &amp;lt;span style=&amp;quot;background-color: cyan&amp;quot;&amp;gt;00 01&amp;lt;/span&amp;gt; &amp;lt;span style=&amp;quot;background-color: lightblue&amp;quot;&amp;gt;&amp;#039;&amp;#039;vv vv&amp;#039;&amp;#039;&amp;lt;/span&amp;gt; &amp;lt;span style=&amp;quot;background-color: cyan&amp;quot;&amp;gt;&amp;#039;&amp;#039;ww ww&amp;#039;&amp;#039;&amp;lt;/span&amp;gt; &amp;lt;span style=&amp;quot;background-color: lightblue&amp;quot;&amp;gt;00 00 00 08&amp;lt;/span&amp;gt; &amp;lt;span style=&amp;quot;background-color: cyan&amp;quot;&amp;gt;11 22 33 44 55 66 77 88&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== SIGROK_PACKET_ANALOG ===&lt;br /&gt;
&lt;br /&gt;
This is a packet type used to store/transmit (only) analog samples, e.g. from a multimeter, oscilloscope, sound level meter, or any other source for analog data.&lt;br /&gt;
&lt;br /&gt;
This packet uses the fixed UUID &amp;#039;&amp;#039;&amp;#039;59def330-536a-46b1-8edd-62f2195d1c95&amp;#039;&amp;#039;&amp;#039;.&lt;br /&gt;
&lt;br /&gt;
Details yet to be defined.&lt;br /&gt;
&lt;br /&gt;
== List of known packet types ==&lt;br /&gt;
&lt;br /&gt;
This is a short overview of known packet types that are in use. This includes the packet types used in projects hosted at [http://sigrok.org sigrok.org], as well as pointers to packet types that other (3rd-party) software is known to use.&lt;br /&gt;
&lt;br /&gt;
{| border=&amp;quot;0&amp;quot; style=&amp;quot;font-size: smaller;&amp;quot; class=&amp;quot;alternategrey sigroktable sortable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
!UUID&lt;br /&gt;
!Packet type&lt;br /&gt;
!Description&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| 94aa863d-bb58-4d79-b944-ab9dd30eecdf&lt;br /&gt;
| SIGROK_PACKET_DEVICE&lt;br /&gt;
| [[File format:sigrok#SIGROK_PACKET_DEVICE|See above]].&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| 1325b595-0d5e-40a4-ac4d-36e89224dcb9&lt;br /&gt;
| SIGROK_PACKET_CHANNEL&lt;br /&gt;
| [[File format:sigrok#SIGROK_PACKET_CHANNEL|See above]].&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| 5a1772eb-2854-48a8-a41c-7397d7e9223d&lt;br /&gt;
| SIGROK_PACKET_LOGIC&lt;br /&gt;
| [[File format:sigrok#SIGROK_PACKET_LOGIC|See above]].&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| 59def330-536a-46b1-8edd-62f2195d1c95&lt;br /&gt;
| SIGROK_PACKET_ANALOG&lt;br /&gt;
| [[File format:sigrok#SIGROK_PACKET_ANALOG|See above]].&lt;br /&gt;
&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== List of known payload formats ==&lt;br /&gt;
&lt;br /&gt;
This is a short overview of known payload formats that are in use. This includes the payload formats used in projects hosted at [http://sigrok.org sigrok.org], as well as pointers to payload formats that other (3rd-party) software is known to use.&lt;br /&gt;
&lt;br /&gt;
{| border=&amp;quot;0&amp;quot; style=&amp;quot;font-size: smaller;&amp;quot; class=&amp;quot;alternategrey sigroktable sortable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
!UUID&lt;br /&gt;
!Payload format&lt;br /&gt;
!Description&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;white-space: nowrap;&amp;quot; | d2964f38-8b13-4570-9add-add5678a0394&lt;br /&gt;
| SIGROK_PAYLOAD_FORMAT_LOGIC_V1&lt;br /&gt;
| This payload format can only store digital samples from a logic analyzer (0/1 values for a certain channel/probe/pin). It is basically identical to the format that was used in the previous ZIP-based file format versions. Details are yet to be defined.&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| 79e7cfd1-0f56-4d5e-968a-b66fdbdff624&lt;br /&gt;
| SIGROK_PAYLOAD_FORMAT_ANALOG_V1&lt;br /&gt;
| A certain type of payload format that can store (only) analog samples of a certain number of analog channels. Details are yet to be defined.&lt;br /&gt;
&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== List of known compression schemes ==&lt;br /&gt;
&lt;br /&gt;
This is a short overview of known compression schemes that are in use. This includes the schemes used in projects hosted at [http://sigrok.org sigrok.org], as well as pointers to schemes that other (3rd-party) software is known to use.&lt;br /&gt;
&lt;br /&gt;
{| border=&amp;quot;0&amp;quot; style=&amp;quot;font-size: smaller;&amp;quot; class=&amp;quot;alternategrey sigroktable sortable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
!UUID&lt;br /&gt;
!Compression scheme&lt;br /&gt;
!Description&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| ec6bd763-c879-4aa7-a97a-7edf0e68afc7&lt;br /&gt;
| SIGROK_COMPRESSION_NONE&lt;br /&gt;
| No compression whatsoever is used.&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| acd2e249-5c4d-426d-96ae-ded5b6020e6f&lt;br /&gt;
| SIGROK_COMPRESSION_RLE_V1&lt;br /&gt;
| A certain type of RLE-based compression is used. Details are yet to be defined.&lt;br /&gt;
&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== Futher notes and ideas to consider ==&lt;br /&gt;
&lt;br /&gt;
* Data should be encoded in a data aware way. This would give greater compression:&lt;br /&gt;
** Logic Data is most efficient stored in RLE+Huffman or Golomb coding. e.g. a clock signal may compress to one bit per edge.&lt;br /&gt;
** FLAC (libflac) or a FLAC inspired codec (linear predicition) is probably as good as it gets for lossless analog data encoding.&lt;br /&gt;
* If data is stored in a format specific way, it would be best to store it as a series of stream-blocks, similar to how video containers work. Would it be possible to simply leverage a video container such as OGG? IIRC this contains headers to declare metadata about each stream, then a series of timestamped stream blocks interleaved together. The time stamp is a format specific number... for audio: the sample number, for video: the frame number, so sigrok formats can easily leverage this.&lt;br /&gt;
** Similarly RTP is a rather natural protocol for sigrok network streaming.&lt;/div&gt;</summary>
		<author><name>Joelholdsworth</name></author>
	</entry>
	<entry>
		<id>https://sigrok.org/w/index.php?title=Linux&amp;diff=9604</id>
		<title>Linux</title>
		<link rel="alternate" type="text/html" href="https://sigrok.org/w/index.php?title=Linux&amp;diff=9604"/>
		<updated>2014-08-31T16:04:49Z</updated>

		<summary type="html">&lt;p&gt;Joelholdsworth: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;This page describes how to build/install the sigrok subprojects on Linux.&lt;br /&gt;
&lt;br /&gt;
== Distribution packages ==&lt;br /&gt;
&lt;br /&gt;
See [[Downloads#Binaries_and_distribution_packages|Downloads]].&lt;br /&gt;
&lt;br /&gt;
== Building ==&lt;br /&gt;
&lt;br /&gt;
=== libserialport ===&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Installing the [[Building#Build_requirements|requirements]]:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
Example on Debian/Ubuntu (please check your respective distro&amp;#039;s package manager tool if you use other distros):&lt;br /&gt;
&lt;br /&gt;
 $ &amp;#039;&amp;#039;&amp;#039;sudo apt-get install git-core gcc make autoconf automake libtool&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Building:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
 $ &amp;#039;&amp;#039;&amp;#039;git clone git://sigrok.org/libserialport&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
 $ &amp;#039;&amp;#039;&amp;#039;cd libserialport&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
 $ &amp;#039;&amp;#039;&amp;#039;./autogen.sh&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
 $ &amp;#039;&amp;#039;&amp;#039;./configure&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
 $ &amp;#039;&amp;#039;&amp;#039;make&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
 $ &amp;#039;&amp;#039;&amp;#039;sudo make install&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
=== libsigrok ===&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Installing the [[Building#Build_requirements|requirements]]:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
Example on Debian/Ubuntu (please check your respective distro&amp;#039;s package manager tool if you use other distros):&lt;br /&gt;
&lt;br /&gt;
 $ &amp;#039;&amp;#039;&amp;#039;sudo apt-get install git-core gcc g++ make autoconf autoconf-archive \&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
   &amp;#039;&amp;#039;&amp;#039;automake libtool pkg-config libglib2.0-dev libglibmm-2.4-dev libzip-dev \&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
   &amp;#039;&amp;#039;&amp;#039;libusb-1.0-0-dev libftdi-dev libudev-dev libasound2-dev check doxygen \&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
   &amp;#039;&amp;#039;&amp;#039;python-dev python-gi-dev python-setuptools swig default-jdk&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
Fedora (18, 19):&lt;br /&gt;
&lt;br /&gt;
 $ &amp;#039;&amp;#039;&amp;#039;sudo yum install git gcc make autoconf automake libtool pkgconfig glib2-devel \&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
   &amp;#039;&amp;#039;&amp;#039;libzip-devel libusb1-devel libftdi-devel libudev-devel alsa-lib-devel check-devel&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
Fedora 20:&lt;br /&gt;
As above, but replace &amp;#039;&amp;#039;&amp;#039;libudev-devel&amp;#039;&amp;#039;&amp;#039; with &amp;#039;&amp;#039;&amp;#039;systemd-devel&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
OpenSuSE (12.2):&lt;br /&gt;
&lt;br /&gt;
 $ &amp;#039;&amp;#039;&amp;#039;zypper install git gcc make autoconf automake libtool pkg-config glib2-devel \&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
   &amp;#039;&amp;#039;&amp;#039;libzip-devel libusb-1_0-devel libftdi1-devel libudev-devel alsa-devel check \&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
   &amp;#039;&amp;#039;&amp;#039;python3-devel&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Building:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
 $ &amp;#039;&amp;#039;&amp;#039;git clone git://sigrok.org/libsigrok&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
 $ &amp;#039;&amp;#039;&amp;#039;cd libsigrok&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
 $ &amp;#039;&amp;#039;&amp;#039;./autogen.sh&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
 $ &amp;#039;&amp;#039;&amp;#039;./configure&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
 $ &amp;#039;&amp;#039;&amp;#039;make&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
 $ &amp;#039;&amp;#039;&amp;#039;sudo make install&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
=== libsigrokdecode ===&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Installing the [[Building#Build_requirements|requirements]]:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
Example on Debian/Ubuntu (please check your respective distro&amp;#039;s package manager tool if you use other distros):&lt;br /&gt;
&lt;br /&gt;
 $ &amp;#039;&amp;#039;&amp;#039;sudo apt-get install git-core gcc make autoconf automake libtool pkg-config libglib2.0-dev python3-dev&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
Fedora (18, 19, 20):&lt;br /&gt;
&lt;br /&gt;
 $ &amp;#039;&amp;#039;&amp;#039;sudo yum install git gcc make autoconf automake libtool pkgconfig glib2-devel python3-devel check-devel&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Building:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
 $ &amp;#039;&amp;#039;&amp;#039;git clone git://sigrok.org/libsigrokdecode&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
 $ &amp;#039;&amp;#039;&amp;#039;cd libsigrokdecode&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
 $ &amp;#039;&amp;#039;&amp;#039;./autogen.sh&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
 $ &amp;#039;&amp;#039;&amp;#039;./configure&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
 $ &amp;#039;&amp;#039;&amp;#039;make&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
 $ &amp;#039;&amp;#039;&amp;#039;sudo make install&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
=== sigrok-cli ===&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Installing the [[Building#Build_requirements|requirements]]:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
Example on Debian/Ubuntu (please check your respective distro&amp;#039;s package manager tool if you use other distros):&lt;br /&gt;
&lt;br /&gt;
 $ &amp;#039;&amp;#039;&amp;#039;sudo apt-get install git-core gcc make autoconf automake libtool pkg-config libglib2.0-dev&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
Fedora (18, 19):&lt;br /&gt;
&lt;br /&gt;
 $ &amp;#039;&amp;#039;&amp;#039;sudo yum install git gcc make autoconf automake libtool pkgconfig glib2-devel&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
OpenSuse (13.1):&lt;br /&gt;
&lt;br /&gt;
 $ &amp;#039;&amp;#039;&amp;#039;zypper install git gcc make autoconf automake libtool pkgconfig glib2-devel&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Building:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
 $ &amp;#039;&amp;#039;&amp;#039;git clone git://sigrok.org/sigrok-cli&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
 $ &amp;#039;&amp;#039;&amp;#039;cd sigrok-cli&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
 $ &amp;#039;&amp;#039;&amp;#039;./autogen.sh&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
 $ &amp;#039;&amp;#039;&amp;#039;./configure&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
 $ &amp;#039;&amp;#039;&amp;#039;make&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
 $ &amp;#039;&amp;#039;&amp;#039;sudo make install&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
=== PulseView ===&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Installing the [[Building#Build_requirements|requirements]]:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
Example on Debian/Ubuntu (please check your respective distro&amp;#039;s package manager tool if you use other distros):&lt;br /&gt;
&lt;br /&gt;
 $ &amp;#039;&amp;#039;&amp;#039;sudo apt-get install git-core g++ make cmake libtool pkg-config \&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
   &amp;#039;&amp;#039;&amp;#039;libglib2.0-dev libqt4-dev libboost-dev libboost-test-dev \&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
   &amp;#039;&amp;#039;&amp;#039;libboost-filesystem-dev libboost-system-dev&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
Fedora (18, 19):&lt;br /&gt;
&lt;br /&gt;
 $ &amp;#039;&amp;#039;&amp;#039;sudo yum install git gcc cmake libtool pkgconfig glib2-devel \&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
   &amp;#039;&amp;#039;&amp;#039;boost-devel qt-devel boost-devel&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Building:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
 $ &amp;#039;&amp;#039;&amp;#039;git clone git://sigrok.org/pulseview&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
 $ &amp;#039;&amp;#039;&amp;#039;cd pulseview&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
 $ &amp;#039;&amp;#039;&amp;#039;cmake .&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
 $ &amp;#039;&amp;#039;&amp;#039;make&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
 $ &amp;#039;&amp;#039;&amp;#039;sudo make install&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&amp;lt;!--&lt;br /&gt;
=== sigrok-gtk ===&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Note:&amp;#039;&amp;#039;&amp;#039; [[sigrok-gtk]] is not yet usable!&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Installing the [[Building#Build_requirements|requirements]]:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
 TODO.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Building:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
 $ &amp;#039;&amp;#039;&amp;#039;git clone git://sigrok.org/sigrok-gtk&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
 $ &amp;#039;&amp;#039;&amp;#039;cd sigrok-gtk&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
 $ &amp;#039;&amp;#039;&amp;#039;./autogen.sh&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
 $ &amp;#039;&amp;#039;&amp;#039;./configure&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
 $ &amp;#039;&amp;#039;&amp;#039;make&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
 $ &amp;#039;&amp;#039;&amp;#039;sudo make install&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
=== sigrok-qt ===&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Note:&amp;#039;&amp;#039;&amp;#039; [[sigrok-qt]] is not yet usable!&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Installing the [[Building#Build_requirements|requirements]]:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
 TODO.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Building:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
 $ &amp;#039;&amp;#039;&amp;#039;git clone git://sigrok.org/sigrok-qt&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
 $ &amp;#039;&amp;#039;&amp;#039;cd sigrok-qt&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
 $ &amp;#039;&amp;#039;&amp;#039;qmake-qt4&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
 $ &amp;#039;&amp;#039;&amp;#039;make&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
 $ &amp;#039;&amp;#039;&amp;#039;sudo make install&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
If you get warnings claiming potential symbol conflicts when running qmake, you are likely not invoking &amp;#039;&amp;#039;&amp;#039;qmake-qt4&amp;#039;&amp;#039;&amp;#039;. Try running &amp;#039;&amp;#039;&amp;#039;qmake-qt4&amp;#039;&amp;#039;&amp;#039; to force the correct version.&lt;br /&gt;
--&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Common problems ==&lt;br /&gt;
&lt;br /&gt;
If you get this error:&lt;br /&gt;
&lt;br /&gt;
 sigrok-cli: error while loading shared libraries: libsigrok.so.0: cannot open shared object file: No such file or directory&lt;br /&gt;
&lt;br /&gt;
Then you have to rebuild the links to your shared libraries:&lt;br /&gt;
&lt;br /&gt;
 $ &amp;#039;&amp;#039;&amp;#039;sudo ldconfig /usr/local/lib&amp;#039;&amp;#039;&amp;#039;&lt;/div&gt;</summary>
		<author><name>Joelholdsworth</name></author>
	</entry>
	<entry>
		<id>https://sigrok.org/w/index.php?title=Linux&amp;diff=9603</id>
		<title>Linux</title>
		<link rel="alternate" type="text/html" href="https://sigrok.org/w/index.php?title=Linux&amp;diff=9603"/>
		<updated>2014-08-31T16:03:54Z</updated>

		<summary type="html">&lt;p&gt;Joelholdsworth: /* PulseView */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[File:Sigrok-gtk-0.1.png|thumb|320px|right|sigrok-gtk 0.1.0 on Linux]]&lt;br /&gt;
&lt;br /&gt;
This page describes how to build/install the sigrok subprojects on Linux.&lt;br /&gt;
&lt;br /&gt;
== Distribution packages ==&lt;br /&gt;
&lt;br /&gt;
See [[Downloads#Binaries_and_distribution_packages|Downloads]].&lt;br /&gt;
&lt;br /&gt;
== Building ==&lt;br /&gt;
&lt;br /&gt;
=== libserialport ===&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Installing the [[Building#Build_requirements|requirements]]:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
Example on Debian/Ubuntu (please check your respective distro&amp;#039;s package manager tool if you use other distros):&lt;br /&gt;
&lt;br /&gt;
 $ &amp;#039;&amp;#039;&amp;#039;sudo apt-get install git-core gcc make autoconf automake libtool&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Building:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
 $ &amp;#039;&amp;#039;&amp;#039;git clone git://sigrok.org/libserialport&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
 $ &amp;#039;&amp;#039;&amp;#039;cd libserialport&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
 $ &amp;#039;&amp;#039;&amp;#039;./autogen.sh&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
 $ &amp;#039;&amp;#039;&amp;#039;./configure&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
 $ &amp;#039;&amp;#039;&amp;#039;make&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
 $ &amp;#039;&amp;#039;&amp;#039;sudo make install&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
=== libsigrok ===&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Installing the [[Building#Build_requirements|requirements]]:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
Example on Debian/Ubuntu (please check your respective distro&amp;#039;s package manager tool if you use other distros):&lt;br /&gt;
&lt;br /&gt;
 $ &amp;#039;&amp;#039;&amp;#039;sudo apt-get install git-core gcc g++ make autoconf autoconf-archive \&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
   &amp;#039;&amp;#039;&amp;#039;automake libtool pkg-config libglib2.0-dev libglibmm-2.4-dev libzip-dev \&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
   &amp;#039;&amp;#039;&amp;#039;libusb-1.0-0-dev libftdi-dev libudev-dev libasound2-dev check doxygen \&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
   &amp;#039;&amp;#039;&amp;#039;python-dev python-gi-dev python-setuptools swig default-jdk&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
Fedora (18, 19):&lt;br /&gt;
&lt;br /&gt;
 $ &amp;#039;&amp;#039;&amp;#039;sudo yum install git gcc make autoconf automake libtool pkgconfig glib2-devel \&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
   &amp;#039;&amp;#039;&amp;#039;libzip-devel libusb1-devel libftdi-devel libudev-devel alsa-lib-devel check-devel&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
Fedora 20:&lt;br /&gt;
As above, but replace &amp;#039;&amp;#039;&amp;#039;libudev-devel&amp;#039;&amp;#039;&amp;#039; with &amp;#039;&amp;#039;&amp;#039;systemd-devel&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
OpenSuSE (12.2):&lt;br /&gt;
&lt;br /&gt;
 $ &amp;#039;&amp;#039;&amp;#039;zypper install git gcc make autoconf automake libtool pkg-config glib2-devel \&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
   &amp;#039;&amp;#039;&amp;#039;libzip-devel libusb-1_0-devel libftdi1-devel libudev-devel alsa-devel check \&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
   &amp;#039;&amp;#039;&amp;#039;python3-devel&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Building:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
 $ &amp;#039;&amp;#039;&amp;#039;git clone git://sigrok.org/libsigrok&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
 $ &amp;#039;&amp;#039;&amp;#039;cd libsigrok&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
 $ &amp;#039;&amp;#039;&amp;#039;./autogen.sh&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
 $ &amp;#039;&amp;#039;&amp;#039;./configure&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
 $ &amp;#039;&amp;#039;&amp;#039;make&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
 $ &amp;#039;&amp;#039;&amp;#039;sudo make install&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
=== libsigrokdecode ===&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Installing the [[Building#Build_requirements|requirements]]:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
Example on Debian/Ubuntu (please check your respective distro&amp;#039;s package manager tool if you use other distros):&lt;br /&gt;
&lt;br /&gt;
 $ &amp;#039;&amp;#039;&amp;#039;sudo apt-get install git-core gcc make autoconf automake libtool pkg-config libglib2.0-dev python3-dev&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
Fedora (18, 19, 20):&lt;br /&gt;
&lt;br /&gt;
 $ &amp;#039;&amp;#039;&amp;#039;sudo yum install git gcc make autoconf automake libtool pkgconfig glib2-devel python3-devel check-devel&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Building:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
 $ &amp;#039;&amp;#039;&amp;#039;git clone git://sigrok.org/libsigrokdecode&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
 $ &amp;#039;&amp;#039;&amp;#039;cd libsigrokdecode&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
 $ &amp;#039;&amp;#039;&amp;#039;./autogen.sh&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
 $ &amp;#039;&amp;#039;&amp;#039;./configure&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
 $ &amp;#039;&amp;#039;&amp;#039;make&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
 $ &amp;#039;&amp;#039;&amp;#039;sudo make install&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
=== sigrok-cli ===&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Installing the [[Building#Build_requirements|requirements]]:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
Example on Debian/Ubuntu (please check your respective distro&amp;#039;s package manager tool if you use other distros):&lt;br /&gt;
&lt;br /&gt;
 $ &amp;#039;&amp;#039;&amp;#039;sudo apt-get install git-core gcc make autoconf automake libtool pkg-config libglib2.0-dev&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
Fedora (18, 19):&lt;br /&gt;
&lt;br /&gt;
 $ &amp;#039;&amp;#039;&amp;#039;sudo yum install git gcc make autoconf automake libtool pkgconfig glib2-devel&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
OpenSuse (13.1):&lt;br /&gt;
&lt;br /&gt;
 $ &amp;#039;&amp;#039;&amp;#039;zypper install git gcc make autoconf automake libtool pkgconfig glib2-devel&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Building:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
 $ &amp;#039;&amp;#039;&amp;#039;git clone git://sigrok.org/sigrok-cli&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
 $ &amp;#039;&amp;#039;&amp;#039;cd sigrok-cli&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
 $ &amp;#039;&amp;#039;&amp;#039;./autogen.sh&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
 $ &amp;#039;&amp;#039;&amp;#039;./configure&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
 $ &amp;#039;&amp;#039;&amp;#039;make&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
 $ &amp;#039;&amp;#039;&amp;#039;sudo make install&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
=== PulseView ===&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Installing the [[Building#Build_requirements|requirements]]:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
Example on Debian/Ubuntu (please check your respective distro&amp;#039;s package manager tool if you use other distros):&lt;br /&gt;
&lt;br /&gt;
 $ &amp;#039;&amp;#039;&amp;#039;sudo apt-get install git-core g++ make cmake libtool pkg-config \&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
   &amp;#039;&amp;#039;&amp;#039;libglib2.0-dev libqt4-dev libboost-dev libboost-test-dev \&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
   &amp;#039;&amp;#039;&amp;#039;libboost-filesystem-dev libboost-system-dev&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
Fedora (18, 19):&lt;br /&gt;
&lt;br /&gt;
 $ &amp;#039;&amp;#039;&amp;#039;sudo yum install git gcc cmake libtool pkgconfig glib2-devel \&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
   &amp;#039;&amp;#039;&amp;#039;boost-devel qt-devel boost-devel&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Building:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
 $ &amp;#039;&amp;#039;&amp;#039;git clone git://sigrok.org/pulseview&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
 $ &amp;#039;&amp;#039;&amp;#039;cd pulseview&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
 $ &amp;#039;&amp;#039;&amp;#039;cmake .&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
 $ &amp;#039;&amp;#039;&amp;#039;make&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
 $ &amp;#039;&amp;#039;&amp;#039;sudo make install&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&amp;lt;!--&lt;br /&gt;
=== sigrok-gtk ===&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Note:&amp;#039;&amp;#039;&amp;#039; [[sigrok-gtk]] is not yet usable!&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Installing the [[Building#Build_requirements|requirements]]:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
 TODO.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Building:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
 $ &amp;#039;&amp;#039;&amp;#039;git clone git://sigrok.org/sigrok-gtk&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
 $ &amp;#039;&amp;#039;&amp;#039;cd sigrok-gtk&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
 $ &amp;#039;&amp;#039;&amp;#039;./autogen.sh&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
 $ &amp;#039;&amp;#039;&amp;#039;./configure&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
 $ &amp;#039;&amp;#039;&amp;#039;make&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
 $ &amp;#039;&amp;#039;&amp;#039;sudo make install&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
=== sigrok-qt ===&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Note:&amp;#039;&amp;#039;&amp;#039; [[sigrok-qt]] is not yet usable!&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Installing the [[Building#Build_requirements|requirements]]:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
 TODO.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Building:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
 $ &amp;#039;&amp;#039;&amp;#039;git clone git://sigrok.org/sigrok-qt&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
 $ &amp;#039;&amp;#039;&amp;#039;cd sigrok-qt&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
 $ &amp;#039;&amp;#039;&amp;#039;qmake-qt4&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
 $ &amp;#039;&amp;#039;&amp;#039;make&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
 $ &amp;#039;&amp;#039;&amp;#039;sudo make install&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
If you get warnings claiming potential symbol conflicts when running qmake, you are likely not invoking &amp;#039;&amp;#039;&amp;#039;qmake-qt4&amp;#039;&amp;#039;&amp;#039;. Try running &amp;#039;&amp;#039;&amp;#039;qmake-qt4&amp;#039;&amp;#039;&amp;#039; to force the correct version.&lt;br /&gt;
--&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Common problems ==&lt;br /&gt;
&lt;br /&gt;
If you get this error:&lt;br /&gt;
&lt;br /&gt;
 sigrok-cli: error while loading shared libraries: libsigrok.so.0: cannot open shared object file: No such file or directory&lt;br /&gt;
&lt;br /&gt;
Then you have to rebuild the links to your shared libraries:&lt;br /&gt;
&lt;br /&gt;
 $ &amp;#039;&amp;#039;&amp;#039;sudo ldconfig /usr/local/lib&amp;#039;&amp;#039;&amp;#039;&lt;/div&gt;</summary>
		<author><name>Joelholdsworth</name></author>
	</entry>
	<entry>
		<id>https://sigrok.org/w/index.php?title=Linux&amp;diff=9602</id>
		<title>Linux</title>
		<link rel="alternate" type="text/html" href="https://sigrok.org/w/index.php?title=Linux&amp;diff=9602"/>
		<updated>2014-08-31T15:51:01Z</updated>

		<summary type="html">&lt;p&gt;Joelholdsworth: /* libsigrok */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[File:Sigrok-gtk-0.1.png|thumb|320px|right|sigrok-gtk 0.1.0 on Linux]]&lt;br /&gt;
&lt;br /&gt;
This page describes how to build/install the sigrok subprojects on Linux.&lt;br /&gt;
&lt;br /&gt;
== Distribution packages ==&lt;br /&gt;
&lt;br /&gt;
See [[Downloads#Binaries_and_distribution_packages|Downloads]].&lt;br /&gt;
&lt;br /&gt;
== Building ==&lt;br /&gt;
&lt;br /&gt;
=== libserialport ===&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Installing the [[Building#Build_requirements|requirements]]:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
Example on Debian/Ubuntu (please check your respective distro&amp;#039;s package manager tool if you use other distros):&lt;br /&gt;
&lt;br /&gt;
 $ &amp;#039;&amp;#039;&amp;#039;sudo apt-get install git-core gcc make autoconf automake libtool&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Building:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
 $ &amp;#039;&amp;#039;&amp;#039;git clone git://sigrok.org/libserialport&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
 $ &amp;#039;&amp;#039;&amp;#039;cd libserialport&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
 $ &amp;#039;&amp;#039;&amp;#039;./autogen.sh&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
 $ &amp;#039;&amp;#039;&amp;#039;./configure&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
 $ &amp;#039;&amp;#039;&amp;#039;make&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
 $ &amp;#039;&amp;#039;&amp;#039;sudo make install&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
=== libsigrok ===&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Installing the [[Building#Build_requirements|requirements]]:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
Example on Debian/Ubuntu (please check your respective distro&amp;#039;s package manager tool if you use other distros):&lt;br /&gt;
&lt;br /&gt;
 $ &amp;#039;&amp;#039;&amp;#039;sudo apt-get install git-core gcc g++ make autoconf autoconf-archive \&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
   &amp;#039;&amp;#039;&amp;#039;automake libtool pkg-config libglib2.0-dev libglibmm-2.4-dev libzip-dev \&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
   &amp;#039;&amp;#039;&amp;#039;libusb-1.0-0-dev libftdi-dev libudev-dev libasound2-dev check doxygen \&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
   &amp;#039;&amp;#039;&amp;#039;python-dev python-gi-dev python-setuptools swig default-jdk&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
Fedora (18, 19):&lt;br /&gt;
&lt;br /&gt;
 $ &amp;#039;&amp;#039;&amp;#039;sudo yum install git gcc make autoconf automake libtool pkgconfig glib2-devel \&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
   &amp;#039;&amp;#039;&amp;#039;libzip-devel libusb1-devel libftdi-devel libudev-devel alsa-lib-devel check-devel&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
Fedora 20:&lt;br /&gt;
As above, but replace &amp;#039;&amp;#039;&amp;#039;libudev-devel&amp;#039;&amp;#039;&amp;#039; with &amp;#039;&amp;#039;&amp;#039;systemd-devel&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
OpenSuSE (12.2):&lt;br /&gt;
&lt;br /&gt;
 $ &amp;#039;&amp;#039;&amp;#039;zypper install git gcc make autoconf automake libtool pkg-config glib2-devel \&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
   &amp;#039;&amp;#039;&amp;#039;libzip-devel libusb-1_0-devel libftdi1-devel libudev-devel alsa-devel check \&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
   &amp;#039;&amp;#039;&amp;#039;python3-devel&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Building:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
 $ &amp;#039;&amp;#039;&amp;#039;git clone git://sigrok.org/libsigrok&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
 $ &amp;#039;&amp;#039;&amp;#039;cd libsigrok&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
 $ &amp;#039;&amp;#039;&amp;#039;./autogen.sh&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
 $ &amp;#039;&amp;#039;&amp;#039;./configure&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
 $ &amp;#039;&amp;#039;&amp;#039;make&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
 $ &amp;#039;&amp;#039;&amp;#039;sudo make install&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
=== libsigrokdecode ===&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Installing the [[Building#Build_requirements|requirements]]:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
Example on Debian/Ubuntu (please check your respective distro&amp;#039;s package manager tool if you use other distros):&lt;br /&gt;
&lt;br /&gt;
 $ &amp;#039;&amp;#039;&amp;#039;sudo apt-get install git-core gcc make autoconf automake libtool pkg-config libglib2.0-dev python3-dev&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
Fedora (18, 19, 20):&lt;br /&gt;
&lt;br /&gt;
 $ &amp;#039;&amp;#039;&amp;#039;sudo yum install git gcc make autoconf automake libtool pkgconfig glib2-devel python3-devel check-devel&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Building:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
 $ &amp;#039;&amp;#039;&amp;#039;git clone git://sigrok.org/libsigrokdecode&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
 $ &amp;#039;&amp;#039;&amp;#039;cd libsigrokdecode&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
 $ &amp;#039;&amp;#039;&amp;#039;./autogen.sh&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
 $ &amp;#039;&amp;#039;&amp;#039;./configure&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
 $ &amp;#039;&amp;#039;&amp;#039;make&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
 $ &amp;#039;&amp;#039;&amp;#039;sudo make install&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
=== sigrok-cli ===&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Installing the [[Building#Build_requirements|requirements]]:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
Example on Debian/Ubuntu (please check your respective distro&amp;#039;s package manager tool if you use other distros):&lt;br /&gt;
&lt;br /&gt;
 $ &amp;#039;&amp;#039;&amp;#039;sudo apt-get install git-core gcc make autoconf automake libtool pkg-config libglib2.0-dev&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
Fedora (18, 19):&lt;br /&gt;
&lt;br /&gt;
 $ &amp;#039;&amp;#039;&amp;#039;sudo yum install git gcc make autoconf automake libtool pkgconfig glib2-devel&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
OpenSuse (13.1):&lt;br /&gt;
&lt;br /&gt;
 $ &amp;#039;&amp;#039;&amp;#039;zypper install git gcc make autoconf automake libtool pkgconfig glib2-devel&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Building:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
 $ &amp;#039;&amp;#039;&amp;#039;git clone git://sigrok.org/sigrok-cli&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
 $ &amp;#039;&amp;#039;&amp;#039;cd sigrok-cli&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
 $ &amp;#039;&amp;#039;&amp;#039;./autogen.sh&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
 $ &amp;#039;&amp;#039;&amp;#039;./configure&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
 $ &amp;#039;&amp;#039;&amp;#039;make&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
 $ &amp;#039;&amp;#039;&amp;#039;sudo make install&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
=== PulseView ===&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Installing the [[Building#Build_requirements|requirements]]:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
Example on Debian/Ubuntu (please check your respective distro&amp;#039;s package manager tool if you use other distros):&lt;br /&gt;
&lt;br /&gt;
 $ &amp;#039;&amp;#039;&amp;#039;sudo apt-get install git-core g++ make cmake libtool pkg-config \&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
   &amp;#039;&amp;#039;&amp;#039;libglib2.0-dev libqt4-dev libboost-dev libboost-test-dev libboost-thread-dev libboost-filesystem-dev libboost-system-dev&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
Fedora (18, 19):&lt;br /&gt;
&lt;br /&gt;
 $ &amp;#039;&amp;#039;&amp;#039;sudo yum install git gcc cmake libtool pkgconfig glib2-devel \&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
   &amp;#039;&amp;#039;&amp;#039;boost-devel qt-devel boost-devel&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Building:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
 $ &amp;#039;&amp;#039;&amp;#039;git clone git://sigrok.org/pulseview&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
 $ &amp;#039;&amp;#039;&amp;#039;cd pulseview&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
 $ &amp;#039;&amp;#039;&amp;#039;cmake .&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
 $ &amp;#039;&amp;#039;&amp;#039;make&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
 $ &amp;#039;&amp;#039;&amp;#039;sudo make install&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&amp;lt;!--&lt;br /&gt;
=== sigrok-gtk ===&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Note:&amp;#039;&amp;#039;&amp;#039; [[sigrok-gtk]] is not yet usable!&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Installing the [[Building#Build_requirements|requirements]]:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
 TODO.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Building:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
 $ &amp;#039;&amp;#039;&amp;#039;git clone git://sigrok.org/sigrok-gtk&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
 $ &amp;#039;&amp;#039;&amp;#039;cd sigrok-gtk&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
 $ &amp;#039;&amp;#039;&amp;#039;./autogen.sh&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
 $ &amp;#039;&amp;#039;&amp;#039;./configure&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
 $ &amp;#039;&amp;#039;&amp;#039;make&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
 $ &amp;#039;&amp;#039;&amp;#039;sudo make install&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
=== sigrok-qt ===&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Note:&amp;#039;&amp;#039;&amp;#039; [[sigrok-qt]] is not yet usable!&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Installing the [[Building#Build_requirements|requirements]]:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
 TODO.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Building:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
 $ &amp;#039;&amp;#039;&amp;#039;git clone git://sigrok.org/sigrok-qt&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
 $ &amp;#039;&amp;#039;&amp;#039;cd sigrok-qt&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
 $ &amp;#039;&amp;#039;&amp;#039;qmake-qt4&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
 $ &amp;#039;&amp;#039;&amp;#039;make&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
 $ &amp;#039;&amp;#039;&amp;#039;sudo make install&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
If you get warnings claiming potential symbol conflicts when running qmake, you are likely not invoking &amp;#039;&amp;#039;&amp;#039;qmake-qt4&amp;#039;&amp;#039;&amp;#039;. Try running &amp;#039;&amp;#039;&amp;#039;qmake-qt4&amp;#039;&amp;#039;&amp;#039; to force the correct version.&lt;br /&gt;
--&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Common problems ==&lt;br /&gt;
&lt;br /&gt;
If you get this error:&lt;br /&gt;
&lt;br /&gt;
 sigrok-cli: error while loading shared libraries: libsigrok.so.0: cannot open shared object file: No such file or directory&lt;br /&gt;
&lt;br /&gt;
Then you have to rebuild the links to your shared libraries:&lt;br /&gt;
&lt;br /&gt;
 $ &amp;#039;&amp;#039;&amp;#039;sudo ldconfig /usr/local/lib&amp;#039;&amp;#039;&amp;#039;&lt;/div&gt;</summary>
		<author><name>Joelholdsworth</name></author>
	</entry>
	<entry>
		<id>https://sigrok.org/w/index.php?title=Linux&amp;diff=9601</id>
		<title>Linux</title>
		<link rel="alternate" type="text/html" href="https://sigrok.org/w/index.php?title=Linux&amp;diff=9601"/>
		<updated>2014-08-31T15:42:36Z</updated>

		<summary type="html">&lt;p&gt;Joelholdsworth: /* libsigrok */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[File:Sigrok-gtk-0.1.png|thumb|320px|right|sigrok-gtk 0.1.0 on Linux]]&lt;br /&gt;
&lt;br /&gt;
This page describes how to build/install the sigrok subprojects on Linux.&lt;br /&gt;
&lt;br /&gt;
== Distribution packages ==&lt;br /&gt;
&lt;br /&gt;
See [[Downloads#Binaries_and_distribution_packages|Downloads]].&lt;br /&gt;
&lt;br /&gt;
== Building ==&lt;br /&gt;
&lt;br /&gt;
=== libserialport ===&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Installing the [[Building#Build_requirements|requirements]]:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
Example on Debian/Ubuntu (please check your respective distro&amp;#039;s package manager tool if you use other distros):&lt;br /&gt;
&lt;br /&gt;
 $ &amp;#039;&amp;#039;&amp;#039;sudo apt-get install git-core gcc make autoconf automake libtool&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Building:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
 $ &amp;#039;&amp;#039;&amp;#039;git clone git://sigrok.org/libserialport&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
 $ &amp;#039;&amp;#039;&amp;#039;cd libserialport&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
 $ &amp;#039;&amp;#039;&amp;#039;./autogen.sh&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
 $ &amp;#039;&amp;#039;&amp;#039;./configure&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
 $ &amp;#039;&amp;#039;&amp;#039;make&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
 $ &amp;#039;&amp;#039;&amp;#039;sudo make install&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
=== libsigrok ===&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Installing the [[Building#Build_requirements|requirements]]:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
Example on Debian/Ubuntu (please check your respective distro&amp;#039;s package manager tool if you use other distros):&lt;br /&gt;
&lt;br /&gt;
 $ &amp;#039;&amp;#039;&amp;#039;sudo apt-get install git-core gcc g++ make autoconf automake libtool \&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
   &amp;#039;&amp;#039;&amp;#039;pkg-config libglib2.0-dev libglibmm-2.4-dev libzip-dev libusb-1.0-0-dev \&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
   &amp;#039;&amp;#039;&amp;#039;libftdi-dev libudev-dev libasound2-dev check doxygen&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
Fedora (18, 19):&lt;br /&gt;
&lt;br /&gt;
 $ &amp;#039;&amp;#039;&amp;#039;sudo yum install git gcc make autoconf automake libtool pkgconfig glib2-devel \&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
   &amp;#039;&amp;#039;&amp;#039;libzip-devel libusb1-devel libftdi-devel libudev-devel alsa-lib-devel check-devel&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
Fedora 20:&lt;br /&gt;
As above, but replace &amp;#039;&amp;#039;&amp;#039;libudev-devel&amp;#039;&amp;#039;&amp;#039; with &amp;#039;&amp;#039;&amp;#039;systemd-devel&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
OpenSuSE (12.2):&lt;br /&gt;
&lt;br /&gt;
 $ &amp;#039;&amp;#039;&amp;#039;zypper install git gcc make autoconf automake libtool pkg-config glib2-devel \&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
   &amp;#039;&amp;#039;&amp;#039;libzip-devel libusb-1_0-devel libftdi1-devel libudev-devel alsa-devel check \&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
   &amp;#039;&amp;#039;&amp;#039;python3-devel&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Building:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
 $ &amp;#039;&amp;#039;&amp;#039;git clone git://sigrok.org/libsigrok&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
 $ &amp;#039;&amp;#039;&amp;#039;cd libsigrok&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
 $ &amp;#039;&amp;#039;&amp;#039;./autogen.sh&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
 $ &amp;#039;&amp;#039;&amp;#039;./configure&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
 $ &amp;#039;&amp;#039;&amp;#039;make&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
 $ &amp;#039;&amp;#039;&amp;#039;sudo make install&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
=== libsigrokdecode ===&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Installing the [[Building#Build_requirements|requirements]]:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
Example on Debian/Ubuntu (please check your respective distro&amp;#039;s package manager tool if you use other distros):&lt;br /&gt;
&lt;br /&gt;
 $ &amp;#039;&amp;#039;&amp;#039;sudo apt-get install git-core gcc make autoconf automake libtool pkg-config libglib2.0-dev python3-dev&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
Fedora (18, 19, 20):&lt;br /&gt;
&lt;br /&gt;
 $ &amp;#039;&amp;#039;&amp;#039;sudo yum install git gcc make autoconf automake libtool pkgconfig glib2-devel python3-devel check-devel&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Building:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
 $ &amp;#039;&amp;#039;&amp;#039;git clone git://sigrok.org/libsigrokdecode&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
 $ &amp;#039;&amp;#039;&amp;#039;cd libsigrokdecode&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
 $ &amp;#039;&amp;#039;&amp;#039;./autogen.sh&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
 $ &amp;#039;&amp;#039;&amp;#039;./configure&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
 $ &amp;#039;&amp;#039;&amp;#039;make&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
 $ &amp;#039;&amp;#039;&amp;#039;sudo make install&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
=== sigrok-cli ===&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Installing the [[Building#Build_requirements|requirements]]:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
Example on Debian/Ubuntu (please check your respective distro&amp;#039;s package manager tool if you use other distros):&lt;br /&gt;
&lt;br /&gt;
 $ &amp;#039;&amp;#039;&amp;#039;sudo apt-get install git-core gcc make autoconf automake libtool pkg-config libglib2.0-dev&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
Fedora (18, 19):&lt;br /&gt;
&lt;br /&gt;
 $ &amp;#039;&amp;#039;&amp;#039;sudo yum install git gcc make autoconf automake libtool pkgconfig glib2-devel&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
OpenSuse (13.1):&lt;br /&gt;
&lt;br /&gt;
 $ &amp;#039;&amp;#039;&amp;#039;zypper install git gcc make autoconf automake libtool pkgconfig glib2-devel&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Building:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
 $ &amp;#039;&amp;#039;&amp;#039;git clone git://sigrok.org/sigrok-cli&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
 $ &amp;#039;&amp;#039;&amp;#039;cd sigrok-cli&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
 $ &amp;#039;&amp;#039;&amp;#039;./autogen.sh&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
 $ &amp;#039;&amp;#039;&amp;#039;./configure&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
 $ &amp;#039;&amp;#039;&amp;#039;make&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
 $ &amp;#039;&amp;#039;&amp;#039;sudo make install&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
=== PulseView ===&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Installing the [[Building#Build_requirements|requirements]]:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
Example on Debian/Ubuntu (please check your respective distro&amp;#039;s package manager tool if you use other distros):&lt;br /&gt;
&lt;br /&gt;
 $ &amp;#039;&amp;#039;&amp;#039;sudo apt-get install git-core g++ make cmake libtool pkg-config \&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
   &amp;#039;&amp;#039;&amp;#039;libglib2.0-dev libqt4-dev libboost-dev libboost-test-dev libboost-thread-dev libboost-filesystem-dev libboost-system-dev&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
Fedora (18, 19):&lt;br /&gt;
&lt;br /&gt;
 $ &amp;#039;&amp;#039;&amp;#039;sudo yum install git gcc cmake libtool pkgconfig glib2-devel \&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
   &amp;#039;&amp;#039;&amp;#039;boost-devel qt-devel boost-devel&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Building:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
 $ &amp;#039;&amp;#039;&amp;#039;git clone git://sigrok.org/pulseview&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
 $ &amp;#039;&amp;#039;&amp;#039;cd pulseview&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
 $ &amp;#039;&amp;#039;&amp;#039;cmake .&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
 $ &amp;#039;&amp;#039;&amp;#039;make&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
 $ &amp;#039;&amp;#039;&amp;#039;sudo make install&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&amp;lt;!--&lt;br /&gt;
=== sigrok-gtk ===&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Note:&amp;#039;&amp;#039;&amp;#039; [[sigrok-gtk]] is not yet usable!&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Installing the [[Building#Build_requirements|requirements]]:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
 TODO.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Building:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
 $ &amp;#039;&amp;#039;&amp;#039;git clone git://sigrok.org/sigrok-gtk&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
 $ &amp;#039;&amp;#039;&amp;#039;cd sigrok-gtk&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
 $ &amp;#039;&amp;#039;&amp;#039;./autogen.sh&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
 $ &amp;#039;&amp;#039;&amp;#039;./configure&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
 $ &amp;#039;&amp;#039;&amp;#039;make&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
 $ &amp;#039;&amp;#039;&amp;#039;sudo make install&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
=== sigrok-qt ===&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Note:&amp;#039;&amp;#039;&amp;#039; [[sigrok-qt]] is not yet usable!&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Installing the [[Building#Build_requirements|requirements]]:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
 TODO.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Building:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
 $ &amp;#039;&amp;#039;&amp;#039;git clone git://sigrok.org/sigrok-qt&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
 $ &amp;#039;&amp;#039;&amp;#039;cd sigrok-qt&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
 $ &amp;#039;&amp;#039;&amp;#039;qmake-qt4&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
 $ &amp;#039;&amp;#039;&amp;#039;make&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
 $ &amp;#039;&amp;#039;&amp;#039;sudo make install&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
If you get warnings claiming potential symbol conflicts when running qmake, you are likely not invoking &amp;#039;&amp;#039;&amp;#039;qmake-qt4&amp;#039;&amp;#039;&amp;#039;. Try running &amp;#039;&amp;#039;&amp;#039;qmake-qt4&amp;#039;&amp;#039;&amp;#039; to force the correct version.&lt;br /&gt;
--&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Common problems ==&lt;br /&gt;
&lt;br /&gt;
If you get this error:&lt;br /&gt;
&lt;br /&gt;
 sigrok-cli: error while loading shared libraries: libsigrok.so.0: cannot open shared object file: No such file or directory&lt;br /&gt;
&lt;br /&gt;
Then you have to rebuild the links to your shared libraries:&lt;br /&gt;
&lt;br /&gt;
 $ &amp;#039;&amp;#039;&amp;#039;sudo ldconfig /usr/local/lib&amp;#039;&amp;#039;&amp;#039;&lt;/div&gt;</summary>
		<author><name>Joelholdsworth</name></author>
	</entry>
	<entry>
		<id>https://sigrok.org/w/index.php?title=Linux&amp;diff=9600</id>
		<title>Linux</title>
		<link rel="alternate" type="text/html" href="https://sigrok.org/w/index.php?title=Linux&amp;diff=9600"/>
		<updated>2014-08-31T15:42:14Z</updated>

		<summary type="html">&lt;p&gt;Joelholdsworth: /* libsigrok */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[File:Sigrok-gtk-0.1.png|thumb|320px|right|sigrok-gtk 0.1.0 on Linux]]&lt;br /&gt;
&lt;br /&gt;
This page describes how to build/install the sigrok subprojects on Linux.&lt;br /&gt;
&lt;br /&gt;
== Distribution packages ==&lt;br /&gt;
&lt;br /&gt;
See [[Downloads#Binaries_and_distribution_packages|Downloads]].&lt;br /&gt;
&lt;br /&gt;
== Building ==&lt;br /&gt;
&lt;br /&gt;
=== libserialport ===&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Installing the [[Building#Build_requirements|requirements]]:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
Example on Debian/Ubuntu (please check your respective distro&amp;#039;s package manager tool if you use other distros):&lt;br /&gt;
&lt;br /&gt;
 $ &amp;#039;&amp;#039;&amp;#039;sudo apt-get install git-core gcc make autoconf automake libtool&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Building:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
 $ &amp;#039;&amp;#039;&amp;#039;git clone git://sigrok.org/libserialport&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
 $ &amp;#039;&amp;#039;&amp;#039;cd libserialport&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
 $ &amp;#039;&amp;#039;&amp;#039;./autogen.sh&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
 $ &amp;#039;&amp;#039;&amp;#039;./configure&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
 $ &amp;#039;&amp;#039;&amp;#039;make&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
 $ &amp;#039;&amp;#039;&amp;#039;sudo make install&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
=== libsigrok ===&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Installing the [[Building#Build_requirements|requirements]]:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
Example on Debian/Ubuntu (please check your respective distro&amp;#039;s package manager tool if you use other distros):&lt;br /&gt;
&lt;br /&gt;
 $ &amp;#039;&amp;#039;&amp;#039;sudo apt-get install git-core gcc g++ make autoconf automake libtool pkg-config \&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
   &amp;#039;&amp;#039;&amp;#039;libglib2.0-dev libglibmm-2.4-dev libzip-dev libusb-1.0-0-dev libftdi-dev \&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
   &amp;#039;&amp;#039;&amp;#039;libudev-dev libasound2-dev check doxygen&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
Fedora (18, 19):&lt;br /&gt;
&lt;br /&gt;
 $ &amp;#039;&amp;#039;&amp;#039;sudo yum install git gcc make autoconf automake libtool pkgconfig glib2-devel \&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
   &amp;#039;&amp;#039;&amp;#039;libzip-devel libusb1-devel libftdi-devel libudev-devel alsa-lib-devel check-devel&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
Fedora 20:&lt;br /&gt;
As above, but replace &amp;#039;&amp;#039;&amp;#039;libudev-devel&amp;#039;&amp;#039;&amp;#039; with &amp;#039;&amp;#039;&amp;#039;systemd-devel&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
OpenSuSE (12.2):&lt;br /&gt;
&lt;br /&gt;
 $ &amp;#039;&amp;#039;&amp;#039;zypper install git gcc make autoconf automake libtool pkg-config glib2-devel \&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
   &amp;#039;&amp;#039;&amp;#039;libzip-devel libusb-1_0-devel libftdi1-devel libudev-devel alsa-devel check \&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
   &amp;#039;&amp;#039;&amp;#039;python3-devel&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Building:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
 $ &amp;#039;&amp;#039;&amp;#039;git clone git://sigrok.org/libsigrok&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
 $ &amp;#039;&amp;#039;&amp;#039;cd libsigrok&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
 $ &amp;#039;&amp;#039;&amp;#039;./autogen.sh&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
 $ &amp;#039;&amp;#039;&amp;#039;./configure&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
 $ &amp;#039;&amp;#039;&amp;#039;make&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
 $ &amp;#039;&amp;#039;&amp;#039;sudo make install&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
=== libsigrokdecode ===&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Installing the [[Building#Build_requirements|requirements]]:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
Example on Debian/Ubuntu (please check your respective distro&amp;#039;s package manager tool if you use other distros):&lt;br /&gt;
&lt;br /&gt;
 $ &amp;#039;&amp;#039;&amp;#039;sudo apt-get install git-core gcc make autoconf automake libtool pkg-config libglib2.0-dev python3-dev&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
Fedora (18, 19, 20):&lt;br /&gt;
&lt;br /&gt;
 $ &amp;#039;&amp;#039;&amp;#039;sudo yum install git gcc make autoconf automake libtool pkgconfig glib2-devel python3-devel check-devel&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Building:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
 $ &amp;#039;&amp;#039;&amp;#039;git clone git://sigrok.org/libsigrokdecode&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
 $ &amp;#039;&amp;#039;&amp;#039;cd libsigrokdecode&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
 $ &amp;#039;&amp;#039;&amp;#039;./autogen.sh&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
 $ &amp;#039;&amp;#039;&amp;#039;./configure&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
 $ &amp;#039;&amp;#039;&amp;#039;make&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
 $ &amp;#039;&amp;#039;&amp;#039;sudo make install&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
=== sigrok-cli ===&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Installing the [[Building#Build_requirements|requirements]]:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
Example on Debian/Ubuntu (please check your respective distro&amp;#039;s package manager tool if you use other distros):&lt;br /&gt;
&lt;br /&gt;
 $ &amp;#039;&amp;#039;&amp;#039;sudo apt-get install git-core gcc make autoconf automake libtool pkg-config libglib2.0-dev&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
Fedora (18, 19):&lt;br /&gt;
&lt;br /&gt;
 $ &amp;#039;&amp;#039;&amp;#039;sudo yum install git gcc make autoconf automake libtool pkgconfig glib2-devel&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
OpenSuse (13.1):&lt;br /&gt;
&lt;br /&gt;
 $ &amp;#039;&amp;#039;&amp;#039;zypper install git gcc make autoconf automake libtool pkgconfig glib2-devel&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Building:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
 $ &amp;#039;&amp;#039;&amp;#039;git clone git://sigrok.org/sigrok-cli&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
 $ &amp;#039;&amp;#039;&amp;#039;cd sigrok-cli&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
 $ &amp;#039;&amp;#039;&amp;#039;./autogen.sh&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
 $ &amp;#039;&amp;#039;&amp;#039;./configure&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
 $ &amp;#039;&amp;#039;&amp;#039;make&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
 $ &amp;#039;&amp;#039;&amp;#039;sudo make install&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
=== PulseView ===&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Installing the [[Building#Build_requirements|requirements]]:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
Example on Debian/Ubuntu (please check your respective distro&amp;#039;s package manager tool if you use other distros):&lt;br /&gt;
&lt;br /&gt;
 $ &amp;#039;&amp;#039;&amp;#039;sudo apt-get install git-core g++ make cmake libtool pkg-config \&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
   &amp;#039;&amp;#039;&amp;#039;libglib2.0-dev libqt4-dev libboost-dev libboost-test-dev libboost-thread-dev libboost-filesystem-dev libboost-system-dev&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
Fedora (18, 19):&lt;br /&gt;
&lt;br /&gt;
 $ &amp;#039;&amp;#039;&amp;#039;sudo yum install git gcc cmake libtool pkgconfig glib2-devel \&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
   &amp;#039;&amp;#039;&amp;#039;boost-devel qt-devel boost-devel&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Building:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
 $ &amp;#039;&amp;#039;&amp;#039;git clone git://sigrok.org/pulseview&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
 $ &amp;#039;&amp;#039;&amp;#039;cd pulseview&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
 $ &amp;#039;&amp;#039;&amp;#039;cmake .&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
 $ &amp;#039;&amp;#039;&amp;#039;make&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
 $ &amp;#039;&amp;#039;&amp;#039;sudo make install&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&amp;lt;!--&lt;br /&gt;
=== sigrok-gtk ===&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Note:&amp;#039;&amp;#039;&amp;#039; [[sigrok-gtk]] is not yet usable!&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Installing the [[Building#Build_requirements|requirements]]:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
 TODO.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Building:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
 $ &amp;#039;&amp;#039;&amp;#039;git clone git://sigrok.org/sigrok-gtk&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
 $ &amp;#039;&amp;#039;&amp;#039;cd sigrok-gtk&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
 $ &amp;#039;&amp;#039;&amp;#039;./autogen.sh&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
 $ &amp;#039;&amp;#039;&amp;#039;./configure&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
 $ &amp;#039;&amp;#039;&amp;#039;make&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
 $ &amp;#039;&amp;#039;&amp;#039;sudo make install&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
=== sigrok-qt ===&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Note:&amp;#039;&amp;#039;&amp;#039; [[sigrok-qt]] is not yet usable!&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Installing the [[Building#Build_requirements|requirements]]:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
 TODO.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Building:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
 $ &amp;#039;&amp;#039;&amp;#039;git clone git://sigrok.org/sigrok-qt&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
 $ &amp;#039;&amp;#039;&amp;#039;cd sigrok-qt&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
 $ &amp;#039;&amp;#039;&amp;#039;qmake-qt4&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
 $ &amp;#039;&amp;#039;&amp;#039;make&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
 $ &amp;#039;&amp;#039;&amp;#039;sudo make install&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
If you get warnings claiming potential symbol conflicts when running qmake, you are likely not invoking &amp;#039;&amp;#039;&amp;#039;qmake-qt4&amp;#039;&amp;#039;&amp;#039;. Try running &amp;#039;&amp;#039;&amp;#039;qmake-qt4&amp;#039;&amp;#039;&amp;#039; to force the correct version.&lt;br /&gt;
--&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Common problems ==&lt;br /&gt;
&lt;br /&gt;
If you get this error:&lt;br /&gt;
&lt;br /&gt;
 sigrok-cli: error while loading shared libraries: libsigrok.so.0: cannot open shared object file: No such file or directory&lt;br /&gt;
&lt;br /&gt;
Then you have to rebuild the links to your shared libraries:&lt;br /&gt;
&lt;br /&gt;
 $ &amp;#039;&amp;#039;&amp;#039;sudo ldconfig /usr/local/lib&amp;#039;&amp;#039;&amp;#039;&lt;/div&gt;</summary>
		<author><name>Joelholdsworth</name></author>
	</entry>
	<entry>
		<id>https://sigrok.org/w/index.php?title=Linux&amp;diff=9599</id>
		<title>Linux</title>
		<link rel="alternate" type="text/html" href="https://sigrok.org/w/index.php?title=Linux&amp;diff=9599"/>
		<updated>2014-08-31T15:41:56Z</updated>

		<summary type="html">&lt;p&gt;Joelholdsworth: /* libsigrok */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[File:Sigrok-gtk-0.1.png|thumb|320px|right|sigrok-gtk 0.1.0 on Linux]]&lt;br /&gt;
&lt;br /&gt;
This page describes how to build/install the sigrok subprojects on Linux.&lt;br /&gt;
&lt;br /&gt;
== Distribution packages ==&lt;br /&gt;
&lt;br /&gt;
See [[Downloads#Binaries_and_distribution_packages|Downloads]].&lt;br /&gt;
&lt;br /&gt;
== Building ==&lt;br /&gt;
&lt;br /&gt;
=== libserialport ===&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Installing the [[Building#Build_requirements|requirements]]:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
Example on Debian/Ubuntu (please check your respective distro&amp;#039;s package manager tool if you use other distros):&lt;br /&gt;
&lt;br /&gt;
 $ &amp;#039;&amp;#039;&amp;#039;sudo apt-get install git-core gcc make autoconf automake libtool&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Building:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
 $ &amp;#039;&amp;#039;&amp;#039;git clone git://sigrok.org/libserialport&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
 $ &amp;#039;&amp;#039;&amp;#039;cd libserialport&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
 $ &amp;#039;&amp;#039;&amp;#039;./autogen.sh&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
 $ &amp;#039;&amp;#039;&amp;#039;./configure&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
 $ &amp;#039;&amp;#039;&amp;#039;make&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
 $ &amp;#039;&amp;#039;&amp;#039;sudo make install&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
=== libsigrok ===&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Installing the [[Building#Build_requirements|requirements]]:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
Example on Debian/Ubuntu (please check your respective distro&amp;#039;s package manager tool if you use other distros):&lt;br /&gt;
&lt;br /&gt;
 $ &amp;#039;&amp;#039;&amp;#039;sudo apt-get install git-core gcc make autoconf automake libtool pkg-config \&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
   &amp;#039;&amp;#039;&amp;#039;libglib2.0-dev libglibmm-2.4-dev libzip-dev libusb-1.0-0-dev libftdi-dev \&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
   &amp;#039;&amp;#039;&amp;#039;libudev-dev libasound2-dev check doxygen&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
Fedora (18, 19):&lt;br /&gt;
&lt;br /&gt;
 $ &amp;#039;&amp;#039;&amp;#039;sudo yum install git gcc make autoconf automake libtool pkgconfig glib2-devel \&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
   &amp;#039;&amp;#039;&amp;#039;libzip-devel libusb1-devel libftdi-devel libudev-devel alsa-lib-devel check-devel&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
Fedora 20:&lt;br /&gt;
As above, but replace &amp;#039;&amp;#039;&amp;#039;libudev-devel&amp;#039;&amp;#039;&amp;#039; with &amp;#039;&amp;#039;&amp;#039;systemd-devel&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
OpenSuSE (12.2):&lt;br /&gt;
&lt;br /&gt;
 $ &amp;#039;&amp;#039;&amp;#039;zypper install git gcc make autoconf automake libtool pkg-config glib2-devel \&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
   &amp;#039;&amp;#039;&amp;#039;libzip-devel libusb-1_0-devel libftdi1-devel libudev-devel alsa-devel check \&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
   &amp;#039;&amp;#039;&amp;#039;python3-devel&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Building:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
 $ &amp;#039;&amp;#039;&amp;#039;git clone git://sigrok.org/libsigrok&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
 $ &amp;#039;&amp;#039;&amp;#039;cd libsigrok&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
 $ &amp;#039;&amp;#039;&amp;#039;./autogen.sh&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
 $ &amp;#039;&amp;#039;&amp;#039;./configure&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
 $ &amp;#039;&amp;#039;&amp;#039;make&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
 $ &amp;#039;&amp;#039;&amp;#039;sudo make install&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
=== libsigrokdecode ===&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Installing the [[Building#Build_requirements|requirements]]:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
Example on Debian/Ubuntu (please check your respective distro&amp;#039;s package manager tool if you use other distros):&lt;br /&gt;
&lt;br /&gt;
 $ &amp;#039;&amp;#039;&amp;#039;sudo apt-get install git-core gcc make autoconf automake libtool pkg-config libglib2.0-dev python3-dev&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
Fedora (18, 19, 20):&lt;br /&gt;
&lt;br /&gt;
 $ &amp;#039;&amp;#039;&amp;#039;sudo yum install git gcc make autoconf automake libtool pkgconfig glib2-devel python3-devel check-devel&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Building:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
 $ &amp;#039;&amp;#039;&amp;#039;git clone git://sigrok.org/libsigrokdecode&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
 $ &amp;#039;&amp;#039;&amp;#039;cd libsigrokdecode&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
 $ &amp;#039;&amp;#039;&amp;#039;./autogen.sh&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
 $ &amp;#039;&amp;#039;&amp;#039;./configure&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
 $ &amp;#039;&amp;#039;&amp;#039;make&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
 $ &amp;#039;&amp;#039;&amp;#039;sudo make install&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
=== sigrok-cli ===&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Installing the [[Building#Build_requirements|requirements]]:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
Example on Debian/Ubuntu (please check your respective distro&amp;#039;s package manager tool if you use other distros):&lt;br /&gt;
&lt;br /&gt;
 $ &amp;#039;&amp;#039;&amp;#039;sudo apt-get install git-core gcc make autoconf automake libtool pkg-config libglib2.0-dev&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
Fedora (18, 19):&lt;br /&gt;
&lt;br /&gt;
 $ &amp;#039;&amp;#039;&amp;#039;sudo yum install git gcc make autoconf automake libtool pkgconfig glib2-devel&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
OpenSuse (13.1):&lt;br /&gt;
&lt;br /&gt;
 $ &amp;#039;&amp;#039;&amp;#039;zypper install git gcc make autoconf automake libtool pkgconfig glib2-devel&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Building:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
 $ &amp;#039;&amp;#039;&amp;#039;git clone git://sigrok.org/sigrok-cli&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
 $ &amp;#039;&amp;#039;&amp;#039;cd sigrok-cli&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
 $ &amp;#039;&amp;#039;&amp;#039;./autogen.sh&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
 $ &amp;#039;&amp;#039;&amp;#039;./configure&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
 $ &amp;#039;&amp;#039;&amp;#039;make&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
 $ &amp;#039;&amp;#039;&amp;#039;sudo make install&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
=== PulseView ===&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Installing the [[Building#Build_requirements|requirements]]:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
Example on Debian/Ubuntu (please check your respective distro&amp;#039;s package manager tool if you use other distros):&lt;br /&gt;
&lt;br /&gt;
 $ &amp;#039;&amp;#039;&amp;#039;sudo apt-get install git-core g++ make cmake libtool pkg-config \&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
   &amp;#039;&amp;#039;&amp;#039;libglib2.0-dev libqt4-dev libboost-dev libboost-test-dev libboost-thread-dev libboost-filesystem-dev libboost-system-dev&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
Fedora (18, 19):&lt;br /&gt;
&lt;br /&gt;
 $ &amp;#039;&amp;#039;&amp;#039;sudo yum install git gcc cmake libtool pkgconfig glib2-devel \&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
   &amp;#039;&amp;#039;&amp;#039;boost-devel qt-devel boost-devel&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Building:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
 $ &amp;#039;&amp;#039;&amp;#039;git clone git://sigrok.org/pulseview&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
 $ &amp;#039;&amp;#039;&amp;#039;cd pulseview&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
 $ &amp;#039;&amp;#039;&amp;#039;cmake .&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
 $ &amp;#039;&amp;#039;&amp;#039;make&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
 $ &amp;#039;&amp;#039;&amp;#039;sudo make install&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&amp;lt;!--&lt;br /&gt;
=== sigrok-gtk ===&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Note:&amp;#039;&amp;#039;&amp;#039; [[sigrok-gtk]] is not yet usable!&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Installing the [[Building#Build_requirements|requirements]]:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
 TODO.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Building:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
 $ &amp;#039;&amp;#039;&amp;#039;git clone git://sigrok.org/sigrok-gtk&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
 $ &amp;#039;&amp;#039;&amp;#039;cd sigrok-gtk&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
 $ &amp;#039;&amp;#039;&amp;#039;./autogen.sh&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
 $ &amp;#039;&amp;#039;&amp;#039;./configure&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
 $ &amp;#039;&amp;#039;&amp;#039;make&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
 $ &amp;#039;&amp;#039;&amp;#039;sudo make install&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
=== sigrok-qt ===&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Note:&amp;#039;&amp;#039;&amp;#039; [[sigrok-qt]] is not yet usable!&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Installing the [[Building#Build_requirements|requirements]]:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
 TODO.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Building:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
 $ &amp;#039;&amp;#039;&amp;#039;git clone git://sigrok.org/sigrok-qt&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
 $ &amp;#039;&amp;#039;&amp;#039;cd sigrok-qt&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
 $ &amp;#039;&amp;#039;&amp;#039;qmake-qt4&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
 $ &amp;#039;&amp;#039;&amp;#039;make&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
 $ &amp;#039;&amp;#039;&amp;#039;sudo make install&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
If you get warnings claiming potential symbol conflicts when running qmake, you are likely not invoking &amp;#039;&amp;#039;&amp;#039;qmake-qt4&amp;#039;&amp;#039;&amp;#039;. Try running &amp;#039;&amp;#039;&amp;#039;qmake-qt4&amp;#039;&amp;#039;&amp;#039; to force the correct version.&lt;br /&gt;
--&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Common problems ==&lt;br /&gt;
&lt;br /&gt;
If you get this error:&lt;br /&gt;
&lt;br /&gt;
 sigrok-cli: error while loading shared libraries: libsigrok.so.0: cannot open shared object file: No such file or directory&lt;br /&gt;
&lt;br /&gt;
Then you have to rebuild the links to your shared libraries:&lt;br /&gt;
&lt;br /&gt;
 $ &amp;#039;&amp;#039;&amp;#039;sudo ldconfig /usr/local/lib&amp;#039;&amp;#039;&amp;#039;&lt;/div&gt;</summary>
		<author><name>Joelholdsworth</name></author>
	</entry>
	<entry>
		<id>https://sigrok.org/w/index.php?title=Linux&amp;diff=9598</id>
		<title>Linux</title>
		<link rel="alternate" type="text/html" href="https://sigrok.org/w/index.php?title=Linux&amp;diff=9598"/>
		<updated>2014-08-31T15:40:54Z</updated>

		<summary type="html">&lt;p&gt;Joelholdsworth: /* libsigrok */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[File:Sigrok-gtk-0.1.png|thumb|320px|right|sigrok-gtk 0.1.0 on Linux]]&lt;br /&gt;
&lt;br /&gt;
This page describes how to build/install the sigrok subprojects on Linux.&lt;br /&gt;
&lt;br /&gt;
== Distribution packages ==&lt;br /&gt;
&lt;br /&gt;
See [[Downloads#Binaries_and_distribution_packages|Downloads]].&lt;br /&gt;
&lt;br /&gt;
== Building ==&lt;br /&gt;
&lt;br /&gt;
=== libserialport ===&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Installing the [[Building#Build_requirements|requirements]]:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
Example on Debian/Ubuntu (please check your respective distro&amp;#039;s package manager tool if you use other distros):&lt;br /&gt;
&lt;br /&gt;
 $ &amp;#039;&amp;#039;&amp;#039;sudo apt-get install git-core gcc make autoconf automake libtool&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Building:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
 $ &amp;#039;&amp;#039;&amp;#039;git clone git://sigrok.org/libserialport&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
 $ &amp;#039;&amp;#039;&amp;#039;cd libserialport&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
 $ &amp;#039;&amp;#039;&amp;#039;./autogen.sh&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
 $ &amp;#039;&amp;#039;&amp;#039;./configure&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
 $ &amp;#039;&amp;#039;&amp;#039;make&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
 $ &amp;#039;&amp;#039;&amp;#039;sudo make install&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
=== libsigrok ===&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Installing the [[Building#Build_requirements|requirements]]:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
Example on Debian/Ubuntu (please check your respective distro&amp;#039;s package manager tool if you use other distros):&lt;br /&gt;
&lt;br /&gt;
 $ &amp;#039;&amp;#039;&amp;#039;sudo apt-get install git-core gcc make autoconf automake libtool pkg-config \&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
   &amp;#039;&amp;#039;&amp;#039;libglib2.0-dev libglibmm-2.4-dev libzip-dev libusb-1.0-0-dev libftdi-dev \&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
   &amp;#039;&amp;#039;&amp;#039;libudev-dev libasound2-dev check&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
Fedora (18, 19):&lt;br /&gt;
&lt;br /&gt;
 $ &amp;#039;&amp;#039;&amp;#039;sudo yum install git gcc make autoconf automake libtool pkgconfig glib2-devel \&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
   &amp;#039;&amp;#039;&amp;#039;libzip-devel libusb1-devel libftdi-devel libudev-devel alsa-lib-devel check-devel&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
Fedora 20:&lt;br /&gt;
As above, but replace &amp;#039;&amp;#039;&amp;#039;libudev-devel&amp;#039;&amp;#039;&amp;#039; with &amp;#039;&amp;#039;&amp;#039;systemd-devel&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
OpenSuSE (12.2):&lt;br /&gt;
&lt;br /&gt;
 $ &amp;#039;&amp;#039;&amp;#039;zypper install git gcc make autoconf automake libtool pkg-config glib2-devel \&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
   &amp;#039;&amp;#039;&amp;#039;libzip-devel libusb-1_0-devel libftdi1-devel libudev-devel alsa-devel check \&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
   &amp;#039;&amp;#039;&amp;#039;python3-devel&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Building:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
 $ &amp;#039;&amp;#039;&amp;#039;git clone git://sigrok.org/libsigrok&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
 $ &amp;#039;&amp;#039;&amp;#039;cd libsigrok&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
 $ &amp;#039;&amp;#039;&amp;#039;./autogen.sh&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
 $ &amp;#039;&amp;#039;&amp;#039;./configure&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
 $ &amp;#039;&amp;#039;&amp;#039;make&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
 $ &amp;#039;&amp;#039;&amp;#039;sudo make install&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
=== libsigrokdecode ===&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Installing the [[Building#Build_requirements|requirements]]:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
Example on Debian/Ubuntu (please check your respective distro&amp;#039;s package manager tool if you use other distros):&lt;br /&gt;
&lt;br /&gt;
 $ &amp;#039;&amp;#039;&amp;#039;sudo apt-get install git-core gcc make autoconf automake libtool pkg-config libglib2.0-dev python3-dev&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
Fedora (18, 19, 20):&lt;br /&gt;
&lt;br /&gt;
 $ &amp;#039;&amp;#039;&amp;#039;sudo yum install git gcc make autoconf automake libtool pkgconfig glib2-devel python3-devel check-devel&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Building:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
 $ &amp;#039;&amp;#039;&amp;#039;git clone git://sigrok.org/libsigrokdecode&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
 $ &amp;#039;&amp;#039;&amp;#039;cd libsigrokdecode&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
 $ &amp;#039;&amp;#039;&amp;#039;./autogen.sh&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
 $ &amp;#039;&amp;#039;&amp;#039;./configure&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
 $ &amp;#039;&amp;#039;&amp;#039;make&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
 $ &amp;#039;&amp;#039;&amp;#039;sudo make install&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
=== sigrok-cli ===&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Installing the [[Building#Build_requirements|requirements]]:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
Example on Debian/Ubuntu (please check your respective distro&amp;#039;s package manager tool if you use other distros):&lt;br /&gt;
&lt;br /&gt;
 $ &amp;#039;&amp;#039;&amp;#039;sudo apt-get install git-core gcc make autoconf automake libtool pkg-config libglib2.0-dev&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
Fedora (18, 19):&lt;br /&gt;
&lt;br /&gt;
 $ &amp;#039;&amp;#039;&amp;#039;sudo yum install git gcc make autoconf automake libtool pkgconfig glib2-devel&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
OpenSuse (13.1):&lt;br /&gt;
&lt;br /&gt;
 $ &amp;#039;&amp;#039;&amp;#039;zypper install git gcc make autoconf automake libtool pkgconfig glib2-devel&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Building:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
 $ &amp;#039;&amp;#039;&amp;#039;git clone git://sigrok.org/sigrok-cli&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
 $ &amp;#039;&amp;#039;&amp;#039;cd sigrok-cli&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
 $ &amp;#039;&amp;#039;&amp;#039;./autogen.sh&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
 $ &amp;#039;&amp;#039;&amp;#039;./configure&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
 $ &amp;#039;&amp;#039;&amp;#039;make&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
 $ &amp;#039;&amp;#039;&amp;#039;sudo make install&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
=== PulseView ===&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Installing the [[Building#Build_requirements|requirements]]:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
Example on Debian/Ubuntu (please check your respective distro&amp;#039;s package manager tool if you use other distros):&lt;br /&gt;
&lt;br /&gt;
 $ &amp;#039;&amp;#039;&amp;#039;sudo apt-get install git-core g++ make cmake libtool pkg-config \&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
   &amp;#039;&amp;#039;&amp;#039;libglib2.0-dev libqt4-dev libboost-dev libboost-test-dev libboost-thread-dev libboost-filesystem-dev libboost-system-dev&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
Fedora (18, 19):&lt;br /&gt;
&lt;br /&gt;
 $ &amp;#039;&amp;#039;&amp;#039;sudo yum install git gcc cmake libtool pkgconfig glib2-devel \&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
   &amp;#039;&amp;#039;&amp;#039;boost-devel qt-devel boost-devel&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Building:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
 $ &amp;#039;&amp;#039;&amp;#039;git clone git://sigrok.org/pulseview&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
 $ &amp;#039;&amp;#039;&amp;#039;cd pulseview&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
 $ &amp;#039;&amp;#039;&amp;#039;cmake .&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
 $ &amp;#039;&amp;#039;&amp;#039;make&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
 $ &amp;#039;&amp;#039;&amp;#039;sudo make install&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&amp;lt;!--&lt;br /&gt;
=== sigrok-gtk ===&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Note:&amp;#039;&amp;#039;&amp;#039; [[sigrok-gtk]] is not yet usable!&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Installing the [[Building#Build_requirements|requirements]]:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
 TODO.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Building:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
 $ &amp;#039;&amp;#039;&amp;#039;git clone git://sigrok.org/sigrok-gtk&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
 $ &amp;#039;&amp;#039;&amp;#039;cd sigrok-gtk&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
 $ &amp;#039;&amp;#039;&amp;#039;./autogen.sh&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
 $ &amp;#039;&amp;#039;&amp;#039;./configure&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
 $ &amp;#039;&amp;#039;&amp;#039;make&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
 $ &amp;#039;&amp;#039;&amp;#039;sudo make install&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
=== sigrok-qt ===&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Note:&amp;#039;&amp;#039;&amp;#039; [[sigrok-qt]] is not yet usable!&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Installing the [[Building#Build_requirements|requirements]]:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
 TODO.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Building:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
 $ &amp;#039;&amp;#039;&amp;#039;git clone git://sigrok.org/sigrok-qt&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
 $ &amp;#039;&amp;#039;&amp;#039;cd sigrok-qt&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
 $ &amp;#039;&amp;#039;&amp;#039;qmake-qt4&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
 $ &amp;#039;&amp;#039;&amp;#039;make&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
 $ &amp;#039;&amp;#039;&amp;#039;sudo make install&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
If you get warnings claiming potential symbol conflicts when running qmake, you are likely not invoking &amp;#039;&amp;#039;&amp;#039;qmake-qt4&amp;#039;&amp;#039;&amp;#039;. Try running &amp;#039;&amp;#039;&amp;#039;qmake-qt4&amp;#039;&amp;#039;&amp;#039; to force the correct version.&lt;br /&gt;
--&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Common problems ==&lt;br /&gt;
&lt;br /&gt;
If you get this error:&lt;br /&gt;
&lt;br /&gt;
 sigrok-cli: error while loading shared libraries: libsigrok.so.0: cannot open shared object file: No such file or directory&lt;br /&gt;
&lt;br /&gt;
Then you have to rebuild the links to your shared libraries:&lt;br /&gt;
&lt;br /&gt;
 $ &amp;#039;&amp;#039;&amp;#039;sudo ldconfig /usr/local/lib&amp;#039;&amp;#039;&amp;#039;&lt;/div&gt;</summary>
		<author><name>Joelholdsworth</name></author>
	</entry>
	<entry>
		<id>https://sigrok.org/w/index.php?title=Linux&amp;diff=9597</id>
		<title>Linux</title>
		<link rel="alternate" type="text/html" href="https://sigrok.org/w/index.php?title=Linux&amp;diff=9597"/>
		<updated>2014-08-31T15:37:21Z</updated>

		<summary type="html">&lt;p&gt;Joelholdsworth: /* libserialport */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[File:Sigrok-gtk-0.1.png|thumb|320px|right|sigrok-gtk 0.1.0 on Linux]]&lt;br /&gt;
&lt;br /&gt;
This page describes how to build/install the sigrok subprojects on Linux.&lt;br /&gt;
&lt;br /&gt;
== Distribution packages ==&lt;br /&gt;
&lt;br /&gt;
See [[Downloads#Binaries_and_distribution_packages|Downloads]].&lt;br /&gt;
&lt;br /&gt;
== Building ==&lt;br /&gt;
&lt;br /&gt;
=== libserialport ===&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Installing the [[Building#Build_requirements|requirements]]:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
Example on Debian/Ubuntu (please check your respective distro&amp;#039;s package manager tool if you use other distros):&lt;br /&gt;
&lt;br /&gt;
 $ &amp;#039;&amp;#039;&amp;#039;sudo apt-get install git-core gcc make autoconf automake libtool&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Building:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
 $ &amp;#039;&amp;#039;&amp;#039;git clone git://sigrok.org/libserialport&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
 $ &amp;#039;&amp;#039;&amp;#039;cd libserialport&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
 $ &amp;#039;&amp;#039;&amp;#039;./autogen.sh&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
 $ &amp;#039;&amp;#039;&amp;#039;./configure&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
 $ &amp;#039;&amp;#039;&amp;#039;make&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
 $ &amp;#039;&amp;#039;&amp;#039;sudo make install&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
=== libsigrok ===&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Installing the [[Building#Build_requirements|requirements]]:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
Example on Debian/Ubuntu (please check your respective distro&amp;#039;s package manager tool if you use other distros):&lt;br /&gt;
&lt;br /&gt;
 $ &amp;#039;&amp;#039;&amp;#039;sudo apt-get install git-core gcc make autoconf automake libtool pkg-config \&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
   &amp;#039;&amp;#039;&amp;#039;libglib2.0-dev libzip-dev libusb-1.0-0-dev libftdi-dev libudev-dev libasound2-dev check&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
Fedora (18, 19):&lt;br /&gt;
&lt;br /&gt;
 $ &amp;#039;&amp;#039;&amp;#039;sudo yum install git gcc make autoconf automake libtool pkgconfig glib2-devel \&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
   &amp;#039;&amp;#039;&amp;#039;libzip-devel libusb1-devel libftdi-devel libudev-devel alsa-lib-devel check-devel&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
Fedora 20:&lt;br /&gt;
As above, but replace &amp;#039;&amp;#039;&amp;#039;libudev-devel&amp;#039;&amp;#039;&amp;#039; with &amp;#039;&amp;#039;&amp;#039;systemd-devel&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
OpenSuSE (12.2):&lt;br /&gt;
&lt;br /&gt;
 $ &amp;#039;&amp;#039;&amp;#039;zypper install git gcc make autoconf automake libtool pkg-config glib2-devel \&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
   &amp;#039;&amp;#039;&amp;#039;libzip-devel libusb-1_0-devel libftdi1-devel libudev-devel alsa-devel check \&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
   &amp;#039;&amp;#039;&amp;#039;python3-devel&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Building:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
 $ &amp;#039;&amp;#039;&amp;#039;git clone git://sigrok.org/libsigrok&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
 $ &amp;#039;&amp;#039;&amp;#039;cd libsigrok&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
 $ &amp;#039;&amp;#039;&amp;#039;./autogen.sh&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
 $ &amp;#039;&amp;#039;&amp;#039;./configure&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
 $ &amp;#039;&amp;#039;&amp;#039;make&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
 $ &amp;#039;&amp;#039;&amp;#039;sudo make install&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
=== libsigrokdecode ===&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Installing the [[Building#Build_requirements|requirements]]:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
Example on Debian/Ubuntu (please check your respective distro&amp;#039;s package manager tool if you use other distros):&lt;br /&gt;
&lt;br /&gt;
 $ &amp;#039;&amp;#039;&amp;#039;sudo apt-get install git-core gcc make autoconf automake libtool pkg-config libglib2.0-dev python3-dev&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
Fedora (18, 19, 20):&lt;br /&gt;
&lt;br /&gt;
 $ &amp;#039;&amp;#039;&amp;#039;sudo yum install git gcc make autoconf automake libtool pkgconfig glib2-devel python3-devel check-devel&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Building:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
 $ &amp;#039;&amp;#039;&amp;#039;git clone git://sigrok.org/libsigrokdecode&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
 $ &amp;#039;&amp;#039;&amp;#039;cd libsigrokdecode&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
 $ &amp;#039;&amp;#039;&amp;#039;./autogen.sh&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
 $ &amp;#039;&amp;#039;&amp;#039;./configure&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
 $ &amp;#039;&amp;#039;&amp;#039;make&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
 $ &amp;#039;&amp;#039;&amp;#039;sudo make install&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
=== sigrok-cli ===&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Installing the [[Building#Build_requirements|requirements]]:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
Example on Debian/Ubuntu (please check your respective distro&amp;#039;s package manager tool if you use other distros):&lt;br /&gt;
&lt;br /&gt;
 $ &amp;#039;&amp;#039;&amp;#039;sudo apt-get install git-core gcc make autoconf automake libtool pkg-config libglib2.0-dev&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
Fedora (18, 19):&lt;br /&gt;
&lt;br /&gt;
 $ &amp;#039;&amp;#039;&amp;#039;sudo yum install git gcc make autoconf automake libtool pkgconfig glib2-devel&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
OpenSuse (13.1):&lt;br /&gt;
&lt;br /&gt;
 $ &amp;#039;&amp;#039;&amp;#039;zypper install git gcc make autoconf automake libtool pkgconfig glib2-devel&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Building:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
 $ &amp;#039;&amp;#039;&amp;#039;git clone git://sigrok.org/sigrok-cli&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
 $ &amp;#039;&amp;#039;&amp;#039;cd sigrok-cli&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
 $ &amp;#039;&amp;#039;&amp;#039;./autogen.sh&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
 $ &amp;#039;&amp;#039;&amp;#039;./configure&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
 $ &amp;#039;&amp;#039;&amp;#039;make&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
 $ &amp;#039;&amp;#039;&amp;#039;sudo make install&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
=== PulseView ===&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Installing the [[Building#Build_requirements|requirements]]:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
Example on Debian/Ubuntu (please check your respective distro&amp;#039;s package manager tool if you use other distros):&lt;br /&gt;
&lt;br /&gt;
 $ &amp;#039;&amp;#039;&amp;#039;sudo apt-get install git-core g++ make cmake libtool pkg-config \&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
   &amp;#039;&amp;#039;&amp;#039;libglib2.0-dev libqt4-dev libboost-dev libboost-test-dev libboost-thread-dev libboost-filesystem-dev libboost-system-dev&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
Fedora (18, 19):&lt;br /&gt;
&lt;br /&gt;
 $ &amp;#039;&amp;#039;&amp;#039;sudo yum install git gcc cmake libtool pkgconfig glib2-devel \&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
   &amp;#039;&amp;#039;&amp;#039;boost-devel qt-devel boost-devel&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Building:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
 $ &amp;#039;&amp;#039;&amp;#039;git clone git://sigrok.org/pulseview&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
 $ &amp;#039;&amp;#039;&amp;#039;cd pulseview&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
 $ &amp;#039;&amp;#039;&amp;#039;cmake .&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
 $ &amp;#039;&amp;#039;&amp;#039;make&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
 $ &amp;#039;&amp;#039;&amp;#039;sudo make install&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&amp;lt;!--&lt;br /&gt;
=== sigrok-gtk ===&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Note:&amp;#039;&amp;#039;&amp;#039; [[sigrok-gtk]] is not yet usable!&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Installing the [[Building#Build_requirements|requirements]]:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
 TODO.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Building:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
 $ &amp;#039;&amp;#039;&amp;#039;git clone git://sigrok.org/sigrok-gtk&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
 $ &amp;#039;&amp;#039;&amp;#039;cd sigrok-gtk&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
 $ &amp;#039;&amp;#039;&amp;#039;./autogen.sh&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
 $ &amp;#039;&amp;#039;&amp;#039;./configure&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
 $ &amp;#039;&amp;#039;&amp;#039;make&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
 $ &amp;#039;&amp;#039;&amp;#039;sudo make install&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
=== sigrok-qt ===&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Note:&amp;#039;&amp;#039;&amp;#039; [[sigrok-qt]] is not yet usable!&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Installing the [[Building#Build_requirements|requirements]]:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
 TODO.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Building:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
 $ &amp;#039;&amp;#039;&amp;#039;git clone git://sigrok.org/sigrok-qt&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
 $ &amp;#039;&amp;#039;&amp;#039;cd sigrok-qt&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
 $ &amp;#039;&amp;#039;&amp;#039;qmake-qt4&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
 $ &amp;#039;&amp;#039;&amp;#039;make&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
 $ &amp;#039;&amp;#039;&amp;#039;sudo make install&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
If you get warnings claiming potential symbol conflicts when running qmake, you are likely not invoking &amp;#039;&amp;#039;&amp;#039;qmake-qt4&amp;#039;&amp;#039;&amp;#039;. Try running &amp;#039;&amp;#039;&amp;#039;qmake-qt4&amp;#039;&amp;#039;&amp;#039; to force the correct version.&lt;br /&gt;
--&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Common problems ==&lt;br /&gt;
&lt;br /&gt;
If you get this error:&lt;br /&gt;
&lt;br /&gt;
 sigrok-cli: error while loading shared libraries: libsigrok.so.0: cannot open shared object file: No such file or directory&lt;br /&gt;
&lt;br /&gt;
Then you have to rebuild the links to your shared libraries:&lt;br /&gt;
&lt;br /&gt;
 $ &amp;#039;&amp;#039;&amp;#039;sudo ldconfig /usr/local/lib&amp;#039;&amp;#039;&amp;#039;&lt;/div&gt;</summary>
		<author><name>Joelholdsworth</name></author>
	</entry>
	<entry>
		<id>https://sigrok.org/w/index.php?title=Linux&amp;diff=9596</id>
		<title>Linux</title>
		<link rel="alternate" type="text/html" href="https://sigrok.org/w/index.php?title=Linux&amp;diff=9596"/>
		<updated>2014-08-31T15:37:06Z</updated>

		<summary type="html">&lt;p&gt;Joelholdsworth: /* libserialport */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[File:Sigrok-gtk-0.1.png|thumb|320px|right|sigrok-gtk 0.1.0 on Linux]]&lt;br /&gt;
&lt;br /&gt;
This page describes how to build/install the sigrok subprojects on Linux.&lt;br /&gt;
&lt;br /&gt;
== Distribution packages ==&lt;br /&gt;
&lt;br /&gt;
See [[Downloads#Binaries_and_distribution_packages|Downloads]].&lt;br /&gt;
&lt;br /&gt;
== Building ==&lt;br /&gt;
&lt;br /&gt;
=== libserialport ===&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Installing the [[Building#Build_requirements|requirements]]:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
Example on Debian/Ubuntu (please check your respective distro&amp;#039;s package manager tool if you use other distros):&lt;br /&gt;
&lt;br /&gt;
 $ &amp;#039;&amp;#039;&amp;#039;sudo apt-get install git-core gcc make autoconf automake libtool pkg-config&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Building:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
 $ &amp;#039;&amp;#039;&amp;#039;git clone git://sigrok.org/libserialport&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
 $ &amp;#039;&amp;#039;&amp;#039;cd libserialport&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
 $ &amp;#039;&amp;#039;&amp;#039;./autogen.sh&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
 $ &amp;#039;&amp;#039;&amp;#039;./configure&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
 $ &amp;#039;&amp;#039;&amp;#039;make&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
 $ &amp;#039;&amp;#039;&amp;#039;sudo make install&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
=== libsigrok ===&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Installing the [[Building#Build_requirements|requirements]]:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
Example on Debian/Ubuntu (please check your respective distro&amp;#039;s package manager tool if you use other distros):&lt;br /&gt;
&lt;br /&gt;
 $ &amp;#039;&amp;#039;&amp;#039;sudo apt-get install git-core gcc make autoconf automake libtool pkg-config \&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
   &amp;#039;&amp;#039;&amp;#039;libglib2.0-dev libzip-dev libusb-1.0-0-dev libftdi-dev libudev-dev libasound2-dev check&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
Fedora (18, 19):&lt;br /&gt;
&lt;br /&gt;
 $ &amp;#039;&amp;#039;&amp;#039;sudo yum install git gcc make autoconf automake libtool pkgconfig glib2-devel \&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
   &amp;#039;&amp;#039;&amp;#039;libzip-devel libusb1-devel libftdi-devel libudev-devel alsa-lib-devel check-devel&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
Fedora 20:&lt;br /&gt;
As above, but replace &amp;#039;&amp;#039;&amp;#039;libudev-devel&amp;#039;&amp;#039;&amp;#039; with &amp;#039;&amp;#039;&amp;#039;systemd-devel&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
OpenSuSE (12.2):&lt;br /&gt;
&lt;br /&gt;
 $ &amp;#039;&amp;#039;&amp;#039;zypper install git gcc make autoconf automake libtool pkg-config glib2-devel \&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
   &amp;#039;&amp;#039;&amp;#039;libzip-devel libusb-1_0-devel libftdi1-devel libudev-devel alsa-devel check \&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
   &amp;#039;&amp;#039;&amp;#039;python3-devel&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Building:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
 $ &amp;#039;&amp;#039;&amp;#039;git clone git://sigrok.org/libsigrok&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
 $ &amp;#039;&amp;#039;&amp;#039;cd libsigrok&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
 $ &amp;#039;&amp;#039;&amp;#039;./autogen.sh&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
 $ &amp;#039;&amp;#039;&amp;#039;./configure&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
 $ &amp;#039;&amp;#039;&amp;#039;make&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
 $ &amp;#039;&amp;#039;&amp;#039;sudo make install&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
=== libsigrokdecode ===&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Installing the [[Building#Build_requirements|requirements]]:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
Example on Debian/Ubuntu (please check your respective distro&amp;#039;s package manager tool if you use other distros):&lt;br /&gt;
&lt;br /&gt;
 $ &amp;#039;&amp;#039;&amp;#039;sudo apt-get install git-core gcc make autoconf automake libtool pkg-config libglib2.0-dev python3-dev&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
Fedora (18, 19, 20):&lt;br /&gt;
&lt;br /&gt;
 $ &amp;#039;&amp;#039;&amp;#039;sudo yum install git gcc make autoconf automake libtool pkgconfig glib2-devel python3-devel check-devel&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Building:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
 $ &amp;#039;&amp;#039;&amp;#039;git clone git://sigrok.org/libsigrokdecode&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
 $ &amp;#039;&amp;#039;&amp;#039;cd libsigrokdecode&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
 $ &amp;#039;&amp;#039;&amp;#039;./autogen.sh&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
 $ &amp;#039;&amp;#039;&amp;#039;./configure&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
 $ &amp;#039;&amp;#039;&amp;#039;make&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
 $ &amp;#039;&amp;#039;&amp;#039;sudo make install&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
=== sigrok-cli ===&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Installing the [[Building#Build_requirements|requirements]]:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
Example on Debian/Ubuntu (please check your respective distro&amp;#039;s package manager tool if you use other distros):&lt;br /&gt;
&lt;br /&gt;
 $ &amp;#039;&amp;#039;&amp;#039;sudo apt-get install git-core gcc make autoconf automake libtool pkg-config libglib2.0-dev&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
Fedora (18, 19):&lt;br /&gt;
&lt;br /&gt;
 $ &amp;#039;&amp;#039;&amp;#039;sudo yum install git gcc make autoconf automake libtool pkgconfig glib2-devel&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
OpenSuse (13.1):&lt;br /&gt;
&lt;br /&gt;
 $ &amp;#039;&amp;#039;&amp;#039;zypper install git gcc make autoconf automake libtool pkgconfig glib2-devel&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Building:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
 $ &amp;#039;&amp;#039;&amp;#039;git clone git://sigrok.org/sigrok-cli&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
 $ &amp;#039;&amp;#039;&amp;#039;cd sigrok-cli&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
 $ &amp;#039;&amp;#039;&amp;#039;./autogen.sh&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
 $ &amp;#039;&amp;#039;&amp;#039;./configure&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
 $ &amp;#039;&amp;#039;&amp;#039;make&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
 $ &amp;#039;&amp;#039;&amp;#039;sudo make install&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
=== PulseView ===&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Installing the [[Building#Build_requirements|requirements]]:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
Example on Debian/Ubuntu (please check your respective distro&amp;#039;s package manager tool if you use other distros):&lt;br /&gt;
&lt;br /&gt;
 $ &amp;#039;&amp;#039;&amp;#039;sudo apt-get install git-core g++ make cmake libtool pkg-config \&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
   &amp;#039;&amp;#039;&amp;#039;libglib2.0-dev libqt4-dev libboost-dev libboost-test-dev libboost-thread-dev libboost-filesystem-dev libboost-system-dev&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
Fedora (18, 19):&lt;br /&gt;
&lt;br /&gt;
 $ &amp;#039;&amp;#039;&amp;#039;sudo yum install git gcc cmake libtool pkgconfig glib2-devel \&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
   &amp;#039;&amp;#039;&amp;#039;boost-devel qt-devel boost-devel&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Building:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
 $ &amp;#039;&amp;#039;&amp;#039;git clone git://sigrok.org/pulseview&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
 $ &amp;#039;&amp;#039;&amp;#039;cd pulseview&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
 $ &amp;#039;&amp;#039;&amp;#039;cmake .&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
 $ &amp;#039;&amp;#039;&amp;#039;make&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
 $ &amp;#039;&amp;#039;&amp;#039;sudo make install&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&amp;lt;!--&lt;br /&gt;
=== sigrok-gtk ===&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Note:&amp;#039;&amp;#039;&amp;#039; [[sigrok-gtk]] is not yet usable!&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Installing the [[Building#Build_requirements|requirements]]:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
 TODO.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Building:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
 $ &amp;#039;&amp;#039;&amp;#039;git clone git://sigrok.org/sigrok-gtk&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
 $ &amp;#039;&amp;#039;&amp;#039;cd sigrok-gtk&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
 $ &amp;#039;&amp;#039;&amp;#039;./autogen.sh&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
 $ &amp;#039;&amp;#039;&amp;#039;./configure&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
 $ &amp;#039;&amp;#039;&amp;#039;make&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
 $ &amp;#039;&amp;#039;&amp;#039;sudo make install&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
=== sigrok-qt ===&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Note:&amp;#039;&amp;#039;&amp;#039; [[sigrok-qt]] is not yet usable!&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Installing the [[Building#Build_requirements|requirements]]:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
 TODO.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Building:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
 $ &amp;#039;&amp;#039;&amp;#039;git clone git://sigrok.org/sigrok-qt&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
 $ &amp;#039;&amp;#039;&amp;#039;cd sigrok-qt&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
 $ &amp;#039;&amp;#039;&amp;#039;qmake-qt4&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
 $ &amp;#039;&amp;#039;&amp;#039;make&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
 $ &amp;#039;&amp;#039;&amp;#039;sudo make install&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
If you get warnings claiming potential symbol conflicts when running qmake, you are likely not invoking &amp;#039;&amp;#039;&amp;#039;qmake-qt4&amp;#039;&amp;#039;&amp;#039;. Try running &amp;#039;&amp;#039;&amp;#039;qmake-qt4&amp;#039;&amp;#039;&amp;#039; to force the correct version.&lt;br /&gt;
--&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Common problems ==&lt;br /&gt;
&lt;br /&gt;
If you get this error:&lt;br /&gt;
&lt;br /&gt;
 sigrok-cli: error while loading shared libraries: libsigrok.so.0: cannot open shared object file: No such file or directory&lt;br /&gt;
&lt;br /&gt;
Then you have to rebuild the links to your shared libraries:&lt;br /&gt;
&lt;br /&gt;
 $ &amp;#039;&amp;#039;&amp;#039;sudo ldconfig /usr/local/lib&amp;#039;&amp;#039;&amp;#039;&lt;/div&gt;</summary>
		<author><name>Joelholdsworth</name></author>
	</entry>
	<entry>
		<id>https://sigrok.org/w/index.php?title=PulseView&amp;diff=9453</id>
		<title>PulseView</title>
		<link rel="alternate" type="text/html" href="https://sigrok.org/w/index.php?title=PulseView&amp;diff=9453"/>
		<updated>2014-08-18T08:37:57Z</updated>

		<summary type="html">&lt;p&gt;Joelholdsworth: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[File:PulseView I2C DS1307 Decode.png|thumb|320px|right|PulseView (10-Aug-2014)]]&lt;br /&gt;
[[File:Pulseview rigol 2 analog channels.png|thumb|320px|PulseView + scope]]&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;PulseView&amp;#039;&amp;#039;&amp;#039; is a Qt based logic analyzer GUI for sigrok.&lt;br /&gt;
&lt;br /&gt;
== Features ==&lt;br /&gt;
&lt;br /&gt;
* Fast O(log N) signal rendering at all zoom levels.&lt;br /&gt;
* [[Protocol decoders|Protocol decoder]] support&lt;br /&gt;
&lt;br /&gt;
== Download ==&lt;br /&gt;
&lt;br /&gt;
[[http://sigrok.org/gitweb/?p=pulseview.git;a=summary Browse Source]]&lt;br /&gt;
&lt;br /&gt;
 $ &amp;#039;&amp;#039;&amp;#039;git clone git://sigrok.org/pulseview.git&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
== Requirements ==&lt;br /&gt;
&lt;br /&gt;
See [[Building#PulseView]].&lt;br /&gt;
&lt;br /&gt;
== Building ==&lt;br /&gt;
&lt;br /&gt;
See [[Linux#PulseView]] (or any other of the [[Building#Building_from_source|OS-specific instruction pages]]).&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Additional notes:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
* Use &amp;lt;code&amp;gt;PKG_CONFIG_PATH=/&amp;#039;&amp;#039;&amp;lt;prefix-of-libsigrok-installation&amp;gt;&amp;#039;&amp;#039;/lib/pkgconfig/&amp;lt;/code&amp;gt; if [[libsigrok]] and [[libsigrokdecode]] are installed to a non-standard prefix.&lt;br /&gt;
* To change the install prefix: &amp;lt;code&amp;gt;cmake -DCMAKE_INSTALL_PREFIX=&amp;#039;&amp;#039;&amp;lt;prefix-dir&amp;gt;&amp;#039;&amp;#039;/ ..&amp;lt;/code&amp;gt;&lt;br /&gt;
* To show compiler arguments during the build: &amp;lt;code&amp;gt;make VERBOSE=1&amp;lt;/code&amp;gt;&lt;br /&gt;
* To make a non-stripped debug build &amp;lt;code&amp;gt;cmake -DCMAKE_BUILD_TYPE=Debug ..&amp;lt;/code&amp;gt;&lt;br /&gt;
* To enable unit tests: &amp;lt;code&amp;gt;cmake -DENABLE_TESTS=y ..&amp;lt;/code&amp;gt;&lt;br /&gt;
* To enable decoders: &amp;lt;code&amp;gt;cmake -DENABLE_DECODE=y ..&amp;lt;/code&amp;gt;&lt;br /&gt;
* To disable -Werror: &amp;lt;code&amp;gt;cmake -DDISABLE_WERROR=y ..&amp;lt;/code&amp;gt;&lt;br /&gt;
* To build with clang: &amp;lt;code&amp;gt;CXX=clang++ cmake ..&amp;lt;/code&amp;gt;&lt;br /&gt;
* If cmake complains that it can only find Qt5, even though you have Qt4 installed: &amp;lt;code&amp;gt;cmake&amp;amp;nbsp;-DQT_QMAKE_EXECUTABLE:string=qmake-qt4&amp;amp;nbsp;..&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Resources ==&lt;br /&gt;
&lt;br /&gt;
* [[PulseView/Architecture|PulseView Architecture Overview]]&lt;br /&gt;
* [[TODO#pulseview|TODO List]]&lt;br /&gt;
* [https://www.ohloh.net/p/pulseview PulseView on ohloh]&lt;br /&gt;
* [http://airwebreathe.org.uk/w/doku.php?id=pulseview Joel Holdsworth&amp;#039;s personal PulseView project page]&lt;/div&gt;</summary>
		<author><name>Joelholdsworth</name></author>
	</entry>
	<entry>
		<id>https://sigrok.org/w/index.php?title=PulseView&amp;diff=9452</id>
		<title>PulseView</title>
		<link rel="alternate" type="text/html" href="https://sigrok.org/w/index.php?title=PulseView&amp;diff=9452"/>
		<updated>2014-08-18T08:37:31Z</updated>

		<summary type="html">&lt;p&gt;Joelholdsworth: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[File:PulseView I2C DS1307 Decode.png|320px|right|PulseView (10-Aug-2014)]]&lt;br /&gt;
[[File:Pulseview rigol 2 analog channels.png|thumb|320px|PulseView + scope]]&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;PulseView&amp;#039;&amp;#039;&amp;#039; is a Qt based logic analyzer GUI for sigrok.&lt;br /&gt;
&lt;br /&gt;
== Features ==&lt;br /&gt;
&lt;br /&gt;
* Fast O(log N) signal rendering at all zoom levels.&lt;br /&gt;
* [[Protocol decoders|Protocol decoder]] support&lt;br /&gt;
&lt;br /&gt;
== Download ==&lt;br /&gt;
&lt;br /&gt;
[[http://sigrok.org/gitweb/?p=pulseview.git;a=summary Browse Source]]&lt;br /&gt;
&lt;br /&gt;
 $ &amp;#039;&amp;#039;&amp;#039;git clone git://sigrok.org/pulseview.git&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
== Requirements ==&lt;br /&gt;
&lt;br /&gt;
See [[Building#PulseView]].&lt;br /&gt;
&lt;br /&gt;
== Building ==&lt;br /&gt;
&lt;br /&gt;
See [[Linux#PulseView]] (or any other of the [[Building#Building_from_source|OS-specific instruction pages]]).&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Additional notes:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
* Use &amp;lt;code&amp;gt;PKG_CONFIG_PATH=/&amp;#039;&amp;#039;&amp;lt;prefix-of-libsigrok-installation&amp;gt;&amp;#039;&amp;#039;/lib/pkgconfig/&amp;lt;/code&amp;gt; if [[libsigrok]] and [[libsigrokdecode]] are installed to a non-standard prefix.&lt;br /&gt;
* To change the install prefix: &amp;lt;code&amp;gt;cmake -DCMAKE_INSTALL_PREFIX=&amp;#039;&amp;#039;&amp;lt;prefix-dir&amp;gt;&amp;#039;&amp;#039;/ ..&amp;lt;/code&amp;gt;&lt;br /&gt;
* To show compiler arguments during the build: &amp;lt;code&amp;gt;make VERBOSE=1&amp;lt;/code&amp;gt;&lt;br /&gt;
* To make a non-stripped debug build &amp;lt;code&amp;gt;cmake -DCMAKE_BUILD_TYPE=Debug ..&amp;lt;/code&amp;gt;&lt;br /&gt;
* To enable unit tests: &amp;lt;code&amp;gt;cmake -DENABLE_TESTS=y ..&amp;lt;/code&amp;gt;&lt;br /&gt;
* To enable decoders: &amp;lt;code&amp;gt;cmake -DENABLE_DECODE=y ..&amp;lt;/code&amp;gt;&lt;br /&gt;
* To disable -Werror: &amp;lt;code&amp;gt;cmake -DDISABLE_WERROR=y ..&amp;lt;/code&amp;gt;&lt;br /&gt;
* To build with clang: &amp;lt;code&amp;gt;CXX=clang++ cmake ..&amp;lt;/code&amp;gt;&lt;br /&gt;
* If cmake complains that it can only find Qt5, even though you have Qt4 installed: &amp;lt;code&amp;gt;cmake&amp;amp;nbsp;-DQT_QMAKE_EXECUTABLE:string=qmake-qt4&amp;amp;nbsp;..&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Resources ==&lt;br /&gt;
&lt;br /&gt;
* [[PulseView/Architecture|PulseView Architecture Overview]]&lt;br /&gt;
* [[TODO#pulseview|TODO List]]&lt;br /&gt;
* [https://www.ohloh.net/p/pulseview PulseView on ohloh]&lt;br /&gt;
* [http://airwebreathe.org.uk/w/doku.php?id=pulseview Joel Holdsworth&amp;#039;s personal PulseView project page]&lt;/div&gt;</summary>
		<author><name>Joelholdsworth</name></author>
	</entry>
	<entry>
		<id>https://sigrok.org/w/index.php?title=File:PulseView_I2C_DS1307_Decode.png&amp;diff=9451</id>
		<title>File:PulseView I2C DS1307 Decode.png</title>
		<link rel="alternate" type="text/html" href="https://sigrok.org/w/index.php?title=File:PulseView_I2C_DS1307_Decode.png&amp;diff=9451"/>
		<updated>2014-08-18T08:36:58Z</updated>

		<summary type="html">&lt;p&gt;Joelholdsworth: PulseView showing decoded I²C data from a DS1307&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Summary ==&lt;br /&gt;
PulseView showing decoded I²C data from a DS1307&lt;br /&gt;
== Licensing ==&lt;br /&gt;
{{CC-BY-SA-3.0}}&lt;/div&gt;</summary>
		<author><name>Joelholdsworth</name></author>
	</entry>
	<entry>
		<id>https://sigrok.org/w/index.php?title=Linux&amp;diff=9043</id>
		<title>Linux</title>
		<link rel="alternate" type="text/html" href="https://sigrok.org/w/index.php?title=Linux&amp;diff=9043"/>
		<updated>2014-05-20T20:15:42Z</updated>

		<summary type="html">&lt;p&gt;Joelholdsworth: /* sigrok-cli */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[File:Sigrok-gtk-0.1.png|thumb|320px|right|sigrok-gtk 0.1.0 on Linux]]&lt;br /&gt;
&lt;br /&gt;
This page describes how to build/install the sigrok subprojects on Linux.&lt;br /&gt;
&lt;br /&gt;
== Distribution packages ==&lt;br /&gt;
&lt;br /&gt;
See [[Downloads#Binaries_and_distribution_packages|Downloads]].&lt;br /&gt;
&lt;br /&gt;
== Building ==&lt;br /&gt;
&lt;br /&gt;
=== libserialport ===&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Building:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
 $ &amp;#039;&amp;#039;&amp;#039;git clone git://sigrok.org/libserialport&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
 $ &amp;#039;&amp;#039;&amp;#039;cd libserialport&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
 $ &amp;#039;&amp;#039;&amp;#039;./autogen.sh&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
 $ &amp;#039;&amp;#039;&amp;#039;./configure&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
 $ &amp;#039;&amp;#039;&amp;#039;make&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
 $ &amp;#039;&amp;#039;&amp;#039;sudo make install&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
=== libsigrok ===&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Installing the [[Building#Build_requirements|requirements]]:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
Example on Debian/Ubuntu (please check your respective distro&amp;#039;s package manager tool if you use other distros):&lt;br /&gt;
&lt;br /&gt;
 $ &amp;#039;&amp;#039;&amp;#039;sudo apt-get install git-core gcc make autoconf automake libtool pkg-config \&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
   &amp;#039;&amp;#039;&amp;#039;libglib2.0-dev libzip-dev libusb-1.0-0-dev libftdi-dev libudev-dev libasound2-dev check&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
Fedora (18, 19):&lt;br /&gt;
&lt;br /&gt;
 $ &amp;#039;&amp;#039;&amp;#039;sudo yum install git gcc make autoconf automake libtool pkgconfig glib2-devel \&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
   &amp;#039;&amp;#039;&amp;#039;libzip-devel libusb1-devel libftdi-devel libudev-devel alsa-lib-devel check&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
OpenSuSE (12.2):&lt;br /&gt;
&lt;br /&gt;
 $ &amp;#039;&amp;#039;&amp;#039;zypper install git gcc make autoconf automake libtool pkg-config glib2-devel \&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
   &amp;#039;&amp;#039;&amp;#039;libzip-devel libusb-1_0-devel libftdi1-devel libudev-devel alsa-devel check \&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
   &amp;#039;&amp;#039;&amp;#039;python3-devel&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Building:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
 $ &amp;#039;&amp;#039;&amp;#039;git clone git://sigrok.org/libsigrok&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
 $ &amp;#039;&amp;#039;&amp;#039;cd libsigrok&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
 $ &amp;#039;&amp;#039;&amp;#039;./autogen.sh&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
 $ &amp;#039;&amp;#039;&amp;#039;./configure&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
 $ &amp;#039;&amp;#039;&amp;#039;make&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
 $ &amp;#039;&amp;#039;&amp;#039;sudo make install&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
=== libsigrokdecode ===&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Installing the [[Building#Build_requirements|requirements]]:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
Example on Debian/Ubuntu (please check your respective distro&amp;#039;s package manager tool if you use other distros):&lt;br /&gt;
&lt;br /&gt;
 $ &amp;#039;&amp;#039;&amp;#039;sudo apt-get install git-core gcc make autoconf automake libtool pkg-config libglib2.0-dev python3-dev&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
Fedora (18, 19):&lt;br /&gt;
&lt;br /&gt;
 $ &amp;#039;&amp;#039;&amp;#039;sudo yum install git gcc make autoconf automake libtool pkgconfig glib2-devel python3-devel&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Building:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
 $ &amp;#039;&amp;#039;&amp;#039;git clone git://sigrok.org/libsigrokdecode&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
 $ &amp;#039;&amp;#039;&amp;#039;cd libsigrokdecode&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
 $ &amp;#039;&amp;#039;&amp;#039;./autogen.sh&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
 $ &amp;#039;&amp;#039;&amp;#039;./configure&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
 $ &amp;#039;&amp;#039;&amp;#039;make&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
 $ &amp;#039;&amp;#039;&amp;#039;sudo make install&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
=== sigrok-cli ===&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Installing the [[Building#Build_requirements|requirements]]:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
Example on Debian/Ubuntu (please check your respective distro&amp;#039;s package manager tool if you use other distros):&lt;br /&gt;
&lt;br /&gt;
 $ &amp;#039;&amp;#039;&amp;#039;sudo apt-get install git-core gcc make autoconf automake libtool pkg-config libglib2.0-dev&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
Fedora (18, 19):&lt;br /&gt;
&lt;br /&gt;
 $ &amp;#039;&amp;#039;&amp;#039;sudo yum install git gcc make autoconf automake libtool pkgconfig glib2-devel&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
OpenSuse (13.1):&lt;br /&gt;
&lt;br /&gt;
 $ &amp;#039;&amp;#039;&amp;#039;zypper install git gcc make autoconf automake libtool pkgconfig glib2-devel&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Building:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
 $ &amp;#039;&amp;#039;&amp;#039;git clone git://sigrok.org/sigrok-cli&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
 $ &amp;#039;&amp;#039;&amp;#039;cd sigrok-cli&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
 $ &amp;#039;&amp;#039;&amp;#039;./autogen.sh&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
 $ &amp;#039;&amp;#039;&amp;#039;./configure&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
 $ &amp;#039;&amp;#039;&amp;#039;make&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
 $ &amp;#039;&amp;#039;&amp;#039;sudo make install&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
=== PulseView ===&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Installing the [[Building#Build_requirements|requirements]]:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
Example on Debian/Ubuntu (please check your respective distro&amp;#039;s package manager tool if you use other distros):&lt;br /&gt;
&lt;br /&gt;
 $ &amp;#039;&amp;#039;&amp;#039;sudo apt-get install git-core g++ make cmake libtool pkg-config \&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
   &amp;#039;&amp;#039;&amp;#039;libglib2.0-dev libqt4-dev libboost-dev libboost-test-dev libboost-thread-dev libboost-filesystem-dev libboost-system-dev&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
Fedora (18, 19):&lt;br /&gt;
&lt;br /&gt;
 $ &amp;#039;&amp;#039;&amp;#039;sudo yum install git gcc cmake libtool pkgconfig glib2-devel \&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
   &amp;#039;&amp;#039;&amp;#039;boost-devel qt-devel boost-devel&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Building:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
 $ &amp;#039;&amp;#039;&amp;#039;git clone git://sigrok.org/pulseview&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
 $ &amp;#039;&amp;#039;&amp;#039;cd pulseview&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
 $ &amp;#039;&amp;#039;&amp;#039;cmake .&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
 $ &amp;#039;&amp;#039;&amp;#039;make&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
 $ &amp;#039;&amp;#039;&amp;#039;sudo make install&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&amp;lt;!--&lt;br /&gt;
=== sigrok-gtk ===&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Note:&amp;#039;&amp;#039;&amp;#039; [[sigrok-gtk]] is not yet usable!&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Installing the [[Building#Build_requirements|requirements]]:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
 TODO.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Building:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
 $ &amp;#039;&amp;#039;&amp;#039;git clone git://sigrok.org/sigrok-gtk&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
 $ &amp;#039;&amp;#039;&amp;#039;cd sigrok-gtk&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
 $ &amp;#039;&amp;#039;&amp;#039;./autogen.sh&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
 $ &amp;#039;&amp;#039;&amp;#039;./configure&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
 $ &amp;#039;&amp;#039;&amp;#039;make&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
 $ &amp;#039;&amp;#039;&amp;#039;sudo make install&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
=== sigrok-qt ===&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Note:&amp;#039;&amp;#039;&amp;#039; [[sigrok-qt]] is not yet usable!&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Installing the [[Building#Build_requirements|requirements]]:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
 TODO.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Building:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
 $ &amp;#039;&amp;#039;&amp;#039;git clone git://sigrok.org/sigrok-qt&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
 $ &amp;#039;&amp;#039;&amp;#039;cd sigrok-qt&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
 $ &amp;#039;&amp;#039;&amp;#039;qmake-qt4&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
 $ &amp;#039;&amp;#039;&amp;#039;make&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
 $ &amp;#039;&amp;#039;&amp;#039;sudo make install&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
If you get warnings claiming potential symbol conflicts when running qmake, you are likely not invoking &amp;#039;&amp;#039;&amp;#039;qmake-qt4&amp;#039;&amp;#039;&amp;#039;. Try running &amp;#039;&amp;#039;&amp;#039;qmake-qt4&amp;#039;&amp;#039;&amp;#039; to force the correct version.&lt;br /&gt;
--&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Common problems ==&lt;br /&gt;
&lt;br /&gt;
If you get this error:&lt;br /&gt;
&lt;br /&gt;
 sigrok-cli: error while loading shared libraries: libsigrok.so.0: cannot open shared object file: No such file or directory&lt;br /&gt;
&lt;br /&gt;
Then you have to rebuild the links to your shared libraries:&lt;br /&gt;
&lt;br /&gt;
 $ &amp;#039;&amp;#039;&amp;#039;sudo ldconfig /usr/local/lib&amp;#039;&amp;#039;&amp;#039;&lt;/div&gt;</summary>
		<author><name>Joelholdsworth</name></author>
	</entry>
	<entry>
		<id>https://sigrok.org/w/index.php?title=Linux&amp;diff=9042</id>
		<title>Linux</title>
		<link rel="alternate" type="text/html" href="https://sigrok.org/w/index.php?title=Linux&amp;diff=9042"/>
		<updated>2014-05-20T20:11:57Z</updated>

		<summary type="html">&lt;p&gt;Joelholdsworth: /* libsigrok */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[File:Sigrok-gtk-0.1.png|thumb|320px|right|sigrok-gtk 0.1.0 on Linux]]&lt;br /&gt;
&lt;br /&gt;
This page describes how to build/install the sigrok subprojects on Linux.&lt;br /&gt;
&lt;br /&gt;
== Distribution packages ==&lt;br /&gt;
&lt;br /&gt;
See [[Downloads#Binaries_and_distribution_packages|Downloads]].&lt;br /&gt;
&lt;br /&gt;
== Building ==&lt;br /&gt;
&lt;br /&gt;
=== libserialport ===&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Building:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
 $ &amp;#039;&amp;#039;&amp;#039;git clone git://sigrok.org/libserialport&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
 $ &amp;#039;&amp;#039;&amp;#039;cd libserialport&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
 $ &amp;#039;&amp;#039;&amp;#039;./autogen.sh&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
 $ &amp;#039;&amp;#039;&amp;#039;./configure&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
 $ &amp;#039;&amp;#039;&amp;#039;make&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
 $ &amp;#039;&amp;#039;&amp;#039;sudo make install&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
=== libsigrok ===&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Installing the [[Building#Build_requirements|requirements]]:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
Example on Debian/Ubuntu (please check your respective distro&amp;#039;s package manager tool if you use other distros):&lt;br /&gt;
&lt;br /&gt;
 $ &amp;#039;&amp;#039;&amp;#039;sudo apt-get install git-core gcc make autoconf automake libtool pkg-config \&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
   &amp;#039;&amp;#039;&amp;#039;libglib2.0-dev libzip-dev libusb-1.0-0-dev libftdi-dev libudev-dev libasound2-dev check&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
Fedora (18, 19):&lt;br /&gt;
&lt;br /&gt;
 $ &amp;#039;&amp;#039;&amp;#039;sudo yum install git gcc make autoconf automake libtool pkgconfig glib2-devel \&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
   &amp;#039;&amp;#039;&amp;#039;libzip-devel libusb1-devel libftdi-devel libudev-devel alsa-lib-devel check&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
OpenSuSE (12.2):&lt;br /&gt;
&lt;br /&gt;
 $ &amp;#039;&amp;#039;&amp;#039;zypper install git gcc make autoconf automake libtool pkg-config glib2-devel \&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
   &amp;#039;&amp;#039;&amp;#039;libzip-devel libusb-1_0-devel libftdi1-devel libudev-devel alsa-devel check \&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
   &amp;#039;&amp;#039;&amp;#039;python3-devel&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Building:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
 $ &amp;#039;&amp;#039;&amp;#039;git clone git://sigrok.org/libsigrok&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
 $ &amp;#039;&amp;#039;&amp;#039;cd libsigrok&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
 $ &amp;#039;&amp;#039;&amp;#039;./autogen.sh&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
 $ &amp;#039;&amp;#039;&amp;#039;./configure&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
 $ &amp;#039;&amp;#039;&amp;#039;make&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
 $ &amp;#039;&amp;#039;&amp;#039;sudo make install&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
=== libsigrokdecode ===&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Installing the [[Building#Build_requirements|requirements]]:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
Example on Debian/Ubuntu (please check your respective distro&amp;#039;s package manager tool if you use other distros):&lt;br /&gt;
&lt;br /&gt;
 $ &amp;#039;&amp;#039;&amp;#039;sudo apt-get install git-core gcc make autoconf automake libtool pkg-config libglib2.0-dev python3-dev&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
Fedora (18, 19):&lt;br /&gt;
&lt;br /&gt;
 $ &amp;#039;&amp;#039;&amp;#039;sudo yum install git gcc make autoconf automake libtool pkgconfig glib2-devel python3-devel&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Building:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
 $ &amp;#039;&amp;#039;&amp;#039;git clone git://sigrok.org/libsigrokdecode&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
 $ &amp;#039;&amp;#039;&amp;#039;cd libsigrokdecode&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
 $ &amp;#039;&amp;#039;&amp;#039;./autogen.sh&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
 $ &amp;#039;&amp;#039;&amp;#039;./configure&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
 $ &amp;#039;&amp;#039;&amp;#039;make&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
 $ &amp;#039;&amp;#039;&amp;#039;sudo make install&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
=== sigrok-cli ===&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Installing the [[Building#Build_requirements|requirements]]:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
Example on Debian/Ubuntu (please check your respective distro&amp;#039;s package manager tool if you use other distros):&lt;br /&gt;
&lt;br /&gt;
 $ &amp;#039;&amp;#039;&amp;#039;sudo apt-get install git-core gcc make autoconf automake libtool pkg-config libglib2.0-dev&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
Fedora (18, 19):&lt;br /&gt;
&lt;br /&gt;
 $ &amp;#039;&amp;#039;&amp;#039;sudo yum install git gcc make autoconf automake libtool pkgconfig glib2-devel&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Building:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
 $ &amp;#039;&amp;#039;&amp;#039;git clone git://sigrok.org/sigrok-cli&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
 $ &amp;#039;&amp;#039;&amp;#039;cd sigrok-cli&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
 $ &amp;#039;&amp;#039;&amp;#039;./autogen.sh&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
 $ &amp;#039;&amp;#039;&amp;#039;./configure&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
 $ &amp;#039;&amp;#039;&amp;#039;make&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
 $ &amp;#039;&amp;#039;&amp;#039;sudo make install&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
=== PulseView ===&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Installing the [[Building#Build_requirements|requirements]]:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
Example on Debian/Ubuntu (please check your respective distro&amp;#039;s package manager tool if you use other distros):&lt;br /&gt;
&lt;br /&gt;
 $ &amp;#039;&amp;#039;&amp;#039;sudo apt-get install git-core g++ make cmake libtool pkg-config \&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
   &amp;#039;&amp;#039;&amp;#039;libglib2.0-dev libqt4-dev libboost-dev libboost-test-dev libboost-thread-dev libboost-filesystem-dev libboost-system-dev&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
Fedora (18, 19):&lt;br /&gt;
&lt;br /&gt;
 $ &amp;#039;&amp;#039;&amp;#039;sudo yum install git gcc cmake libtool pkgconfig glib2-devel \&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
   &amp;#039;&amp;#039;&amp;#039;boost-devel qt-devel boost-devel&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Building:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
 $ &amp;#039;&amp;#039;&amp;#039;git clone git://sigrok.org/pulseview&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
 $ &amp;#039;&amp;#039;&amp;#039;cd pulseview&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
 $ &amp;#039;&amp;#039;&amp;#039;cmake .&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
 $ &amp;#039;&amp;#039;&amp;#039;make&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
 $ &amp;#039;&amp;#039;&amp;#039;sudo make install&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&amp;lt;!--&lt;br /&gt;
=== sigrok-gtk ===&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Note:&amp;#039;&amp;#039;&amp;#039; [[sigrok-gtk]] is not yet usable!&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Installing the [[Building#Build_requirements|requirements]]:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
 TODO.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Building:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
 $ &amp;#039;&amp;#039;&amp;#039;git clone git://sigrok.org/sigrok-gtk&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
 $ &amp;#039;&amp;#039;&amp;#039;cd sigrok-gtk&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
 $ &amp;#039;&amp;#039;&amp;#039;./autogen.sh&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
 $ &amp;#039;&amp;#039;&amp;#039;./configure&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
 $ &amp;#039;&amp;#039;&amp;#039;make&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
 $ &amp;#039;&amp;#039;&amp;#039;sudo make install&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
=== sigrok-qt ===&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Note:&amp;#039;&amp;#039;&amp;#039; [[sigrok-qt]] is not yet usable!&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Installing the [[Building#Build_requirements|requirements]]:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
 TODO.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Building:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
 $ &amp;#039;&amp;#039;&amp;#039;git clone git://sigrok.org/sigrok-qt&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
 $ &amp;#039;&amp;#039;&amp;#039;cd sigrok-qt&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
 $ &amp;#039;&amp;#039;&amp;#039;qmake-qt4&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
 $ &amp;#039;&amp;#039;&amp;#039;make&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
 $ &amp;#039;&amp;#039;&amp;#039;sudo make install&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
If you get warnings claiming potential symbol conflicts when running qmake, you are likely not invoking &amp;#039;&amp;#039;&amp;#039;qmake-qt4&amp;#039;&amp;#039;&amp;#039;. Try running &amp;#039;&amp;#039;&amp;#039;qmake-qt4&amp;#039;&amp;#039;&amp;#039; to force the correct version.&lt;br /&gt;
--&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Common problems ==&lt;br /&gt;
&lt;br /&gt;
If you get this error:&lt;br /&gt;
&lt;br /&gt;
 sigrok-cli: error while loading shared libraries: libsigrok.so.0: cannot open shared object file: No such file or directory&lt;br /&gt;
&lt;br /&gt;
Then you have to rebuild the links to your shared libraries:&lt;br /&gt;
&lt;br /&gt;
 $ &amp;#039;&amp;#039;&amp;#039;sudo ldconfig /usr/local/lib&amp;#039;&amp;#039;&amp;#039;&lt;/div&gt;</summary>
		<author><name>Joelholdsworth</name></author>
	</entry>
	<entry>
		<id>https://sigrok.org/w/index.php?title=Logo&amp;diff=8950</id>
		<title>Logo</title>
		<link rel="alternate" type="text/html" href="https://sigrok.org/w/index.php?title=Logo&amp;diff=8950"/>
		<updated>2014-05-02T15:11:19Z</updated>

		<summary type="html">&lt;p&gt;Joelholdsworth: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;The &amp;#039;&amp;#039;&amp;#039;sigrok logo&amp;#039;&amp;#039;&amp;#039; is available for download in various formats here:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;gallery&amp;gt;&lt;br /&gt;
File:Sigrok_logo_no_text_transparent_512.png|&amp;lt;small&amp;gt;Logo without text (PNG), transparent background&amp;lt;small&amp;gt;&lt;br /&gt;
File:Sigrok_logo.svg|&amp;lt;small&amp;gt;Logo with text (SVG), transparent background&amp;lt;small&amp;gt;&lt;br /&gt;
File:Sigrok_logo.png|&amp;lt;small&amp;gt;Logo with text (PNG), white background&amp;lt;small&amp;gt;&lt;br /&gt;
&amp;lt;/gallery&amp;gt;&lt;br /&gt;
&lt;br /&gt;
The logo was created by [http://benbois.posterous.com/ Benjamin &amp;quot;wooz&amp;quot; Bois] (thanks!) and is licensed under the [http://creativecommons.org/licenses/by-sa/3.0/ CC-BY-SA 3.0] license.&lt;br /&gt;
&lt;br /&gt;
The font used is [http://www.dafont.com/days.font Days]&lt;/div&gt;</summary>
		<author><name>Joelholdsworth</name></author>
	</entry>
	<entry>
		<id>https://sigrok.org/w/index.php?title=Logo&amp;diff=8949</id>
		<title>Logo</title>
		<link rel="alternate" type="text/html" href="https://sigrok.org/w/index.php?title=Logo&amp;diff=8949"/>
		<updated>2014-05-02T15:10:55Z</updated>

		<summary type="html">&lt;p&gt;Joelholdsworth: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;The &amp;#039;&amp;#039;&amp;#039;sigrok logo&amp;#039;&amp;#039;&amp;#039; is available for download in various formats here:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;gallery&amp;gt;&lt;br /&gt;
File:Sigrok_logo_no_text_transparent_512.png|&amp;lt;small&amp;gt;Logo without text (PNG), transparent background&amp;lt;small&amp;gt;&lt;br /&gt;
File:Sigrok_logo.svg|&amp;lt;small&amp;gt;Logo with text (SVG), transparent background&amp;lt;small&amp;gt;&lt;br /&gt;
File:Sigrok_logo.png|&amp;lt;small&amp;gt;Logo with text (PNG), white background&amp;lt;small&amp;gt;&lt;br /&gt;
&amp;lt;/gallery&amp;gt;&lt;br /&gt;
&lt;br /&gt;
The logo was created by [http://benbois.posterous.com/ Benjamin &amp;quot;wooz&amp;quot; Bois] (thanks!) and is licensed under the [http://creativecommons.org/licenses/by-sa/3.0/ CC-BY-SA 3.0] license.&lt;br /&gt;
&lt;br /&gt;
The font used is &amp;quot;[http://www.dafont.com/days.font Days]&amp;quot;&lt;/div&gt;</summary>
		<author><name>Joelholdsworth</name></author>
	</entry>
	<entry>
		<id>https://sigrok.org/w/index.php?title=User:Joelholdsworth/new_main&amp;diff=8566</id>
		<title>User:Joelholdsworth/new main</title>
		<link rel="alternate" type="text/html" href="https://sigrok.org/w/index.php?title=User:Joelholdsworth/new_main&amp;diff=8566"/>
		<updated>2014-01-26T12:54:20Z</updated>

		<summary type="html">&lt;p&gt;Joelholdsworth: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;table width=&amp;quot;100%&amp;quot; valign=&amp;quot;top&amp;quot;&amp;gt;&amp;lt;tr valign=&amp;quot;top&amp;quot;&amp;gt;&amp;lt;td width=&amp;quot;80%&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;div style=&amp;quot;margin-bottom:1.5em; padding:0.5em 0.5em 0.5em 0.5em; background-color:#eee; align:right; border:1px solid #aabbcc;&amp;quot;&amp;gt;&lt;br /&gt;
The &amp;#039;&amp;#039;&amp;#039;sigrok&amp;#039;&amp;#039;&amp;#039; project aims at creating a &amp;#039;&amp;#039;&amp;#039;portable, cross-platform, Free/Libre/Open-Source signal analysis software suite&amp;#039;&amp;#039;&amp;#039; that supports various device types, such as [[Supported_hardware#Logic_analyzers|logic analyzers]], [[Supported_hardware#Mixed-signal_devices|MSOs]], [[Supported_hardware#Oscilloscopes|oscilloscopes]], [[Supported_hardware#Multimeters|multimeters]], [[Supported_hardware#LCR meters|LCR meters]], [[Supported_hardware#Sound_level_meters|sound level meters]], [[Supported_hardware#Thermometers|thermometers]], [[Supported_hardware#Hygrometers|hygrometers]], [[Supported_hardware#Anemometers|anemometers]], [[Supported_hardware#Light meters|light meters]], [[Supported_hardware#Energy meters|Energy meters]], [[Supported_hardware#DAQs|DAQs]], [[Supported_hardware#Dataloggers|dataloggers]], [[Supported_hardware#Function_generators|function generators]], [[Supported_hardware#RF receivers|RF receivers]], [[Supported_hardware#Spectrum_analyzers|spectrum analyzers]], [[Supported_hardware#Power_supplies|power supplies]], [[Supported_hardware#GPIB_interfaces|GPIB interfaces]], and more.&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt;[[File:Front-page.png]]&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style=&amp;quot;margin-bottom:1.5em; padding:0.5em 0.5em 0.5em 0.5em; background-color:#eee; align:right; border:1px solid #aabbcc;&amp;quot;&amp;gt;&lt;br /&gt;
It is licensed under the terms of the &amp;#039;&amp;#039;&amp;#039;GNU GPL&amp;#039;&amp;#039;&amp;#039;. Design goals and features include:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;Broad hardware support&amp;#039;&amp;#039;&amp;#039;. Supports many different logic analyzers, oscilloscopes, multimeters, data loggers etc. from various vendors.&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;Cross-platform&amp;#039;&amp;#039;&amp;#039;. Works on [[Linux]], [[Mac OS X]], [[Windows]], [[FreeBSD]], [[OpenBSD]], [[NetBSD]] (and on x86, ARM, Sparc, PowerPC, ...).&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;Scriptable protocol decoding&amp;#039;&amp;#039;&amp;#039;. Extendable with stackable [[protocol decoders]] written in Python 3.&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;File format support&amp;#039;&amp;#039;&amp;#039;. Supports various [[Input output formats|input/output file formats]] (binary, ASCII, hex, CSV, gnuplot, [http://en.wikipedia.org/wiki/Value_change_dump VCD], ...).&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;Reusable code&amp;#039;&amp;#039;&amp;#039;. Consists of the [[libsigrok]] and [[libsigrokdecode]] shared libraries which can be used by various frontends/GUIs.&lt;br /&gt;
&amp;lt;/small&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style=&amp;quot;clear: both;&amp;quot;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style=&amp;quot;width: 50%; float: left; margin-bottom: 1em;&amp;quot;&amp;gt;&lt;br /&gt;
{{Box|&lt;br /&gt;
BORDER = #8898bf|&lt;br /&gt;
BACKGROUND = #d1adf6|&lt;br /&gt;
WIDTH = 100%|&lt;br /&gt;
ICON = |&lt;br /&gt;
HEADING = [[File:Sigrok_stone.png]] &amp;lt;span style=&amp;quot;font-variant:small-caps;&amp;quot;&amp;gt;[http://www.sigrok.org/blog News] / [http://www.sigrok.org/blog Blog]&amp;lt;/span&amp;gt;|&lt;br /&gt;
CONTENT =&lt;br /&gt;
&amp;lt;small&amp;gt;&lt;br /&gt;
&amp;lt;rss max=13 date=&amp;quot;Y-m-d&amp;quot;&amp;gt;http://sigrok.org/blog/rss.xml&amp;lt;/rss&amp;gt;&lt;br /&gt;
See also: [[Current events]].&lt;br /&gt;
&amp;lt;/small&amp;gt;&lt;br /&gt;
}}&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style=&amp;quot;width: 49%; float: right; margin-bottom: 1em;&amp;quot;&amp;gt;&lt;br /&gt;
{{Box|&lt;br /&gt;
BORDER = #8898bf|&lt;br /&gt;
BACKGROUND = lime|&lt;br /&gt;
WIDTH = 100%|&lt;br /&gt;
ICON = |&lt;br /&gt;
HEADING = [[File:Sigrok_stone.png]] &amp;lt;span style=&amp;quot;font-variant:small-caps;&amp;quot;&amp;gt;Supported hardware&amp;lt;/span&amp;gt; (&amp;lt;small&amp;gt;&amp;lt;span style=&amp;quot;font-variant:normal;&amp;quot;&amp;gt;[[:Category:Device|Browse by category...]]&amp;lt;/span&amp;gt;&amp;lt;/small&amp;gt;)|&lt;br /&gt;
CONTENT =&lt;br /&gt;
&amp;lt;small&amp;gt;&lt;br /&gt;
* [[Supported_hardware#Logic_analyzers|Logic analyzers]] ([[Logic analyzer comparison|comparison]])&lt;br /&gt;
* [[Supported_hardware#Mixed-signal_devices|Mixed-signal devices]] ([[Mixed-signal device comparison|comparison]])&lt;br /&gt;
* [[Supported_hardware#Oscilloscopes|Oscilloscopes]] ([[Oscilloscope comparison|comparison]])&lt;br /&gt;
* [[Supported_hardware#Multimeters|Multimeters]] ([[Multimeter comparison|comparison]], [[Device_cables#Multimeters|cables]], [[Multimeter ICs|ICs]])&lt;br /&gt;
* [[Supported_hardware#LCR meters|LCR meters]] ([[LCR meter comparison|comparison]])&lt;br /&gt;
* [[Supported_hardware#Sound_level_meters|Sound level meters]] ([[Sound level meter comparison|comparison]], [[Device_cables#Sound_level_meters|cables]])&lt;br /&gt;
* [[Supported_hardware#Thermometers|Thermometers]] ([[Thermometer comparison|comparison]])&lt;br /&gt;
* [[Supported_hardware#Hygrometers|Hygrometers]]&lt;br /&gt;
* [[Supported_hardware#Anemometers|Anemometers]] ([[Anemometer comparison|comparison]])&lt;br /&gt;
* [[Supported_hardware#Light meters|Light meters]] ([[Light meter comparison|comparison]])&lt;br /&gt;
* [[Supported_hardware#Energy meters|Energy meters]]&lt;br /&gt;
* [[Supported_hardware#DAQs|DAQs]] ([[DAQ comparison|comparison]])&lt;br /&gt;
* [[Supported_hardware#Dataloggers|Dataloggers]] ([[Datalogger comparison|comparison]])&lt;br /&gt;
* [[Supported_hardware#Function_generators|Function generators]] ([[Function generator comparison|comparison]])&lt;br /&gt;
* [[Supported_hardware#RF receivers|RF receivers]]&lt;br /&gt;
* [[Supported_hardware#Spectrum_analyzers|Spectrum analyzers]] ([[Spectrum analyzer comparison|comparison]])&lt;br /&gt;
* [[Supported_hardware#Power_supplies|Power supplies]] ([[Power supply comparison|comparison]])&lt;br /&gt;
* [[Supported_hardware#GPIB_interfaces|GPIB interfaces]] ([[GPIB interface comparison|comparison]])&lt;br /&gt;
&amp;lt;/small&amp;gt;&lt;br /&gt;
}}&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style=&amp;quot;clear: both;&amp;quot;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style=&amp;quot;width: 50%; float: left; margin-bottom: 1em;&amp;quot;&amp;gt;&lt;br /&gt;
{{Box|&lt;br /&gt;
BORDER = #8898bf|&lt;br /&gt;
BACKGROUND = cyan|&lt;br /&gt;
WIDTH = 100%|&lt;br /&gt;
ICON = |&lt;br /&gt;
HEADING = [[File:Sigrok_stone.png]] &amp;lt;span style=&amp;quot;font-variant:small-caps;&amp;quot;&amp;gt;Documentation&amp;lt;/span&amp;gt;|&lt;br /&gt;
CONTENT =&lt;br /&gt;
&amp;lt;small&amp;gt;&lt;br /&gt;
[[Building]] &amp;amp;middot; [[Linux]] &amp;amp;middot; [[Mac OS X]] &amp;amp;middot; [[Windows]] &amp;amp;middot; [[FreeBSD]] &amp;amp;middot; [[OpenBSD]] &amp;amp;middot; [[NetBSD]] &amp;amp;middot; [[Android]] &amp;amp;middot; [[Embedded]] &amp;amp;middot; [[Input output formats]] &amp;amp;middot; [[Protocol decoders]] &amp;amp;middot; [[Probe comparison]] &amp;amp;middot; [[GPIB]] &amp;amp;middot; [[Logo]] &amp;amp;middot; [[Press]]&lt;br /&gt;
&amp;lt;/small&amp;gt;&lt;br /&gt;
}}&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style=&amp;quot;width: 49%; float: right; margin-bottom: 1em;&amp;quot;&amp;gt;&lt;br /&gt;
{{Box|&lt;br /&gt;
BORDER = #8898bf|&lt;br /&gt;
BACKGROUND = #ff3333|&lt;br /&gt;
WIDTH = 100%|&lt;br /&gt;
ICON = |&lt;br /&gt;
HEADING = [[File:Sigrok_stone.png]] &amp;lt;span style=&amp;quot;font-variant:small-caps;&amp;quot;&amp;gt;Subprojects&amp;lt;/span&amp;gt;|&lt;br /&gt;
CONTENT =&lt;br /&gt;
&amp;lt;small&amp;gt;&lt;br /&gt;
[[libserialport]] &amp;amp;middot; [[libsigrok]] &amp;amp;middot; [[libsigrokdecode]] &amp;amp;middot; [[sigrok-cli]] &amp;amp;middot; [[PulseView]] &amp;amp;middot; [[sigrok-meter]] &amp;lt;!-- &amp;amp;middot; [[sigrok-qt]] &amp;amp;middot; [[sigrok-gtk]] --&amp;gt; &amp;amp;middot; [[fx2lafw]] &amp;amp;middot; [[gpibgrok]] &amp;amp;middot; [[fx2grok]] &amp;amp;middot; [[fpgalafw]] &amp;amp;middot; [[Firmware]] &amp;amp;middot; [[Example dumps]]&lt;br /&gt;
&amp;lt;/small&amp;gt;&lt;br /&gt;
}}&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style=&amp;quot;clear: both;&amp;quot;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style=&amp;quot;width: 50%; float: left; margin-bottom: 1em;&amp;quot;&amp;gt;&lt;br /&gt;
{{Box|&lt;br /&gt;
BORDER = #8898bf|&lt;br /&gt;
BACKGROUND = yellow|&lt;br /&gt;
WIDTH = 100%|&lt;br /&gt;
ICON = |&lt;br /&gt;
HEADING = [[File:Sigrok_stone.png]] &amp;lt;span style=&amp;quot;font-variant:small-caps;&amp;quot;&amp;gt;Getting in touch&amp;lt;/span&amp;gt;|&lt;br /&gt;
CONTENT = &lt;br /&gt;
&amp;lt;small&amp;gt;&lt;br /&gt;
Mailing lists: [https://lists.sourceforge.net/lists/listinfo/sigrok-devel sigrok-devel] ([http://news.gmane.org/gmane.comp.debugging.sigrok.devel archive]), [https://lists.sourceforge.net/lists/listinfo/sigrok-commits sigrok-commits] ([http://sourceforge.net/mailarchive/forum.php?forum_name=sigrok-commits archive]) &amp;amp;middot; IRC: [irc://chat.freenode.net/sigrok #sigrok]&lt;br /&gt;
&amp;lt;/small&amp;gt;&lt;br /&gt;
}}&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style=&amp;quot;width: 49%; float: right; margin-bottom: 1em;&amp;quot;&amp;gt;&lt;br /&gt;
{{Box|&lt;br /&gt;
BORDER = #8898bf|&lt;br /&gt;
BACKGROUND = lightblue|&lt;br /&gt;
WIDTH = 100%|&lt;br /&gt;
ICON = |&lt;br /&gt;
HEADING = [[File:Sigrok_stone.png]] &amp;lt;span style=&amp;quot;font-variant:small-caps;&amp;quot;&amp;gt;Development&amp;lt;/span&amp;gt;|&lt;br /&gt;
CONTENT =&lt;br /&gt;
&amp;lt;small&amp;gt;&lt;br /&gt;
[[Developers]] &amp;amp;middot; [http://sigrok.org/api/libsigrok/unstable/index.html libsigrok API] &amp;amp;middot; [http://sigrok.org/api/libsigrokdecode/unstable/index.html libsigrokdecode API] &amp;amp;middot; [http://sigrok.org/gitweb/ Browse source code] &amp;amp;middot; [http://sigrok.org/bugzilla/ Bug tracker] &amp;amp;middot; [[Protocol decoder HOWTO]] &amp;amp;middot; [[Protocol decoder API]] &amp;amp;middot; [[Formats and structures]] &amp;amp;middot; [[Hardware driver API]] &amp;amp;middot; [[Portability]] &amp;amp;middot; [[TODO]]&lt;br /&gt;
&amp;lt;/small&amp;gt;&lt;br /&gt;
}}&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style=&amp;quot;clear: both;margin-top: 2em;&amp;quot;&amp;gt;&lt;br /&gt;
----&lt;br /&gt;
&amp;lt;small&amp;gt;&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;IMPORTANT: Unless explicitly specified otherwise, all contents in this wiki (including text and images) are released under the &amp;lt;span style=&amp;quot;color:red&amp;quot;&amp;gt;CC-BY-SA 3.0&amp;lt;/span&amp;gt; license. If you don&amp;#039;t want that, please explicitly specify another free-ish license when adding pages/images!&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&amp;lt;/small&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
__NOTOC__&lt;br /&gt;
__NOEDITSECTION__&lt;/div&gt;</summary>
		<author><name>Joelholdsworth</name></author>
	</entry>
	<entry>
		<id>https://sigrok.org/w/index.php?title=User:Joelholdsworth/new_main&amp;diff=8565</id>
		<title>User:Joelholdsworth/new main</title>
		<link rel="alternate" type="text/html" href="https://sigrok.org/w/index.php?title=User:Joelholdsworth/new_main&amp;diff=8565"/>
		<updated>2014-01-26T12:52:46Z</updated>

		<summary type="html">&lt;p&gt;Joelholdsworth: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;center&amp;gt;[[File:Front-page.png]]&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;table width=&amp;quot;100%&amp;quot; valign=&amp;quot;top&amp;quot;&amp;gt;&amp;lt;tr valign=&amp;quot;top&amp;quot;&amp;gt;&amp;lt;td width=&amp;quot;80%&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;div style=&amp;quot;margin-bottom:1.5em; padding:0.5em 0.5em 0.5em 0.5em; background-color:#eee; align:right; border:1px solid #aabbcc;&amp;quot;&amp;gt;&lt;br /&gt;
The &amp;#039;&amp;#039;&amp;#039;sigrok&amp;#039;&amp;#039;&amp;#039; project aims at creating a &amp;#039;&amp;#039;&amp;#039;portable, cross-platform, Free/Libre/Open-Source signal analysis software suite&amp;#039;&amp;#039;&amp;#039; that supports various device types, such as [[Supported_hardware#Logic_analyzers|logic analyzers]], [[Supported_hardware#Mixed-signal_devices|MSOs]], [[Supported_hardware#Oscilloscopes|oscilloscopes]], [[Supported_hardware#Multimeters|multimeters]], [[Supported_hardware#LCR meters|LCR meters]], [[Supported_hardware#Sound_level_meters|sound level meters]], [[Supported_hardware#Thermometers|thermometers]], [[Supported_hardware#Hygrometers|hygrometers]], [[Supported_hardware#Anemometers|anemometers]], [[Supported_hardware#Light meters|light meters]], [[Supported_hardware#Energy meters|Energy meters]], [[Supported_hardware#DAQs|DAQs]], [[Supported_hardware#Dataloggers|dataloggers]], [[Supported_hardware#Function_generators|function generators]], [[Supported_hardware#RF receivers|RF receivers]], [[Supported_hardware#Spectrum_analyzers|spectrum analyzers]], [[Supported_hardware#Power_supplies|power supplies]], [[Supported_hardware#GPIB_interfaces|GPIB interfaces]], and more.&lt;br /&gt;
&lt;br /&gt;
It is licensed under the terms of the &amp;#039;&amp;#039;&amp;#039;GNU GPL&amp;#039;&amp;#039;&amp;#039;. Design goals and features include:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;Broad hardware support&amp;#039;&amp;#039;&amp;#039;. Supports many different logic analyzers, oscilloscopes, multimeters, data loggers etc. from various vendors.&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;Cross-platform&amp;#039;&amp;#039;&amp;#039;. Works on [[Linux]], [[Mac OS X]], [[Windows]], [[FreeBSD]], [[OpenBSD]], [[NetBSD]] (and on x86, ARM, Sparc, PowerPC, ...).&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;Scriptable protocol decoding&amp;#039;&amp;#039;&amp;#039;. Extendable with stackable [[protocol decoders]] written in Python 3.&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;File format support&amp;#039;&amp;#039;&amp;#039;. Supports various [[Input output formats|input/output file formats]] (binary, ASCII, hex, CSV, gnuplot, [http://en.wikipedia.org/wiki/Value_change_dump VCD], ...).&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;Reusable code&amp;#039;&amp;#039;&amp;#039;. Consists of the [[libsigrok]] and [[libsigrokdecode]] shared libraries which can be used by various frontends/GUIs.&lt;br /&gt;
&amp;lt;/small&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style=&amp;quot;clear: both;&amp;quot;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style=&amp;quot;width: 50%; float: left; margin-bottom: 1em;&amp;quot;&amp;gt;&lt;br /&gt;
{{Box|&lt;br /&gt;
BORDER = #8898bf|&lt;br /&gt;
BACKGROUND = #d1adf6|&lt;br /&gt;
WIDTH = 100%|&lt;br /&gt;
ICON = |&lt;br /&gt;
HEADING = [[File:Sigrok_stone.png]] &amp;lt;span style=&amp;quot;font-variant:small-caps;&amp;quot;&amp;gt;[http://www.sigrok.org/blog News] / [http://www.sigrok.org/blog Blog]&amp;lt;/span&amp;gt;|&lt;br /&gt;
CONTENT =&lt;br /&gt;
&amp;lt;small&amp;gt;&lt;br /&gt;
&amp;lt;rss max=13 date=&amp;quot;Y-m-d&amp;quot;&amp;gt;http://sigrok.org/blog/rss.xml&amp;lt;/rss&amp;gt;&lt;br /&gt;
See also: [[Current events]].&lt;br /&gt;
&amp;lt;/small&amp;gt;&lt;br /&gt;
}}&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style=&amp;quot;width: 49%; float: right; margin-bottom: 1em;&amp;quot;&amp;gt;&lt;br /&gt;
{{Box|&lt;br /&gt;
BORDER = #8898bf|&lt;br /&gt;
BACKGROUND = lime|&lt;br /&gt;
WIDTH = 100%|&lt;br /&gt;
ICON = |&lt;br /&gt;
HEADING = [[File:Sigrok_stone.png]] &amp;lt;span style=&amp;quot;font-variant:small-caps;&amp;quot;&amp;gt;Supported hardware&amp;lt;/span&amp;gt; (&amp;lt;small&amp;gt;&amp;lt;span style=&amp;quot;font-variant:normal;&amp;quot;&amp;gt;[[:Category:Device|Browse by category...]]&amp;lt;/span&amp;gt;&amp;lt;/small&amp;gt;)|&lt;br /&gt;
CONTENT =&lt;br /&gt;
&amp;lt;small&amp;gt;&lt;br /&gt;
* [[Supported_hardware#Logic_analyzers|Logic analyzers]] ([[Logic analyzer comparison|comparison]])&lt;br /&gt;
* [[Supported_hardware#Mixed-signal_devices|Mixed-signal devices]] ([[Mixed-signal device comparison|comparison]])&lt;br /&gt;
* [[Supported_hardware#Oscilloscopes|Oscilloscopes]] ([[Oscilloscope comparison|comparison]])&lt;br /&gt;
* [[Supported_hardware#Multimeters|Multimeters]] ([[Multimeter comparison|comparison]], [[Device_cables#Multimeters|cables]], [[Multimeter ICs|ICs]])&lt;br /&gt;
* [[Supported_hardware#LCR meters|LCR meters]] ([[LCR meter comparison|comparison]])&lt;br /&gt;
* [[Supported_hardware#Sound_level_meters|Sound level meters]] ([[Sound level meter comparison|comparison]], [[Device_cables#Sound_level_meters|cables]])&lt;br /&gt;
* [[Supported_hardware#Thermometers|Thermometers]] ([[Thermometer comparison|comparison]])&lt;br /&gt;
* [[Supported_hardware#Hygrometers|Hygrometers]]&lt;br /&gt;
* [[Supported_hardware#Anemometers|Anemometers]] ([[Anemometer comparison|comparison]])&lt;br /&gt;
* [[Supported_hardware#Light meters|Light meters]] ([[Light meter comparison|comparison]])&lt;br /&gt;
* [[Supported_hardware#Energy meters|Energy meters]]&lt;br /&gt;
* [[Supported_hardware#DAQs|DAQs]] ([[DAQ comparison|comparison]])&lt;br /&gt;
* [[Supported_hardware#Dataloggers|Dataloggers]] ([[Datalogger comparison|comparison]])&lt;br /&gt;
* [[Supported_hardware#Function_generators|Function generators]] ([[Function generator comparison|comparison]])&lt;br /&gt;
* [[Supported_hardware#RF receivers|RF receivers]]&lt;br /&gt;
* [[Supported_hardware#Spectrum_analyzers|Spectrum analyzers]] ([[Spectrum analyzer comparison|comparison]])&lt;br /&gt;
* [[Supported_hardware#Power_supplies|Power supplies]] ([[Power supply comparison|comparison]])&lt;br /&gt;
* [[Supported_hardware#GPIB_interfaces|GPIB interfaces]] ([[GPIB interface comparison|comparison]])&lt;br /&gt;
&amp;lt;/small&amp;gt;&lt;br /&gt;
}}&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style=&amp;quot;clear: both;&amp;quot;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style=&amp;quot;width: 50%; float: left; margin-bottom: 1em;&amp;quot;&amp;gt;&lt;br /&gt;
{{Box|&lt;br /&gt;
BORDER = #8898bf|&lt;br /&gt;
BACKGROUND = cyan|&lt;br /&gt;
WIDTH = 100%|&lt;br /&gt;
ICON = |&lt;br /&gt;
HEADING = [[File:Sigrok_stone.png]] &amp;lt;span style=&amp;quot;font-variant:small-caps;&amp;quot;&amp;gt;Documentation&amp;lt;/span&amp;gt;|&lt;br /&gt;
CONTENT =&lt;br /&gt;
&amp;lt;small&amp;gt;&lt;br /&gt;
[[Building]] &amp;amp;middot; [[Linux]] &amp;amp;middot; [[Mac OS X]] &amp;amp;middot; [[Windows]] &amp;amp;middot; [[FreeBSD]] &amp;amp;middot; [[OpenBSD]] &amp;amp;middot; [[NetBSD]] &amp;amp;middot; [[Android]] &amp;amp;middot; [[Embedded]] &amp;amp;middot; [[Input output formats]] &amp;amp;middot; [[Protocol decoders]] &amp;amp;middot; [[Probe comparison]] &amp;amp;middot; [[GPIB]] &amp;amp;middot; [[Logo]] &amp;amp;middot; [[Press]]&lt;br /&gt;
&amp;lt;/small&amp;gt;&lt;br /&gt;
}}&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style=&amp;quot;width: 49%; float: right; margin-bottom: 1em;&amp;quot;&amp;gt;&lt;br /&gt;
{{Box|&lt;br /&gt;
BORDER = #8898bf|&lt;br /&gt;
BACKGROUND = #ff3333|&lt;br /&gt;
WIDTH = 100%|&lt;br /&gt;
ICON = |&lt;br /&gt;
HEADING = [[File:Sigrok_stone.png]] &amp;lt;span style=&amp;quot;font-variant:small-caps;&amp;quot;&amp;gt;Subprojects&amp;lt;/span&amp;gt;|&lt;br /&gt;
CONTENT =&lt;br /&gt;
&amp;lt;small&amp;gt;&lt;br /&gt;
[[libserialport]] &amp;amp;middot; [[libsigrok]] &amp;amp;middot; [[libsigrokdecode]] &amp;amp;middot; [[sigrok-cli]] &amp;amp;middot; [[PulseView]] &amp;amp;middot; [[sigrok-meter]] &amp;lt;!-- &amp;amp;middot; [[sigrok-qt]] &amp;amp;middot; [[sigrok-gtk]] --&amp;gt; &amp;amp;middot; [[fx2lafw]] &amp;amp;middot; [[gpibgrok]] &amp;amp;middot; [[fx2grok]] &amp;amp;middot; [[fpgalafw]] &amp;amp;middot; [[Firmware]] &amp;amp;middot; [[Example dumps]]&lt;br /&gt;
&amp;lt;/small&amp;gt;&lt;br /&gt;
}}&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style=&amp;quot;clear: both;&amp;quot;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style=&amp;quot;width: 50%; float: left; margin-bottom: 1em;&amp;quot;&amp;gt;&lt;br /&gt;
{{Box|&lt;br /&gt;
BORDER = #8898bf|&lt;br /&gt;
BACKGROUND = yellow|&lt;br /&gt;
WIDTH = 100%|&lt;br /&gt;
ICON = |&lt;br /&gt;
HEADING = [[File:Sigrok_stone.png]] &amp;lt;span style=&amp;quot;font-variant:small-caps;&amp;quot;&amp;gt;Getting in touch&amp;lt;/span&amp;gt;|&lt;br /&gt;
CONTENT = &lt;br /&gt;
&amp;lt;small&amp;gt;&lt;br /&gt;
Mailing lists: [https://lists.sourceforge.net/lists/listinfo/sigrok-devel sigrok-devel] ([http://news.gmane.org/gmane.comp.debugging.sigrok.devel archive]), [https://lists.sourceforge.net/lists/listinfo/sigrok-commits sigrok-commits] ([http://sourceforge.net/mailarchive/forum.php?forum_name=sigrok-commits archive]) &amp;amp;middot; IRC: [irc://chat.freenode.net/sigrok #sigrok]&lt;br /&gt;
&amp;lt;/small&amp;gt;&lt;br /&gt;
}}&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style=&amp;quot;width: 49%; float: right; margin-bottom: 1em;&amp;quot;&amp;gt;&lt;br /&gt;
{{Box|&lt;br /&gt;
BORDER = #8898bf|&lt;br /&gt;
BACKGROUND = lightblue|&lt;br /&gt;
WIDTH = 100%|&lt;br /&gt;
ICON = |&lt;br /&gt;
HEADING = [[File:Sigrok_stone.png]] &amp;lt;span style=&amp;quot;font-variant:small-caps;&amp;quot;&amp;gt;Development&amp;lt;/span&amp;gt;|&lt;br /&gt;
CONTENT =&lt;br /&gt;
&amp;lt;small&amp;gt;&lt;br /&gt;
[[Developers]] &amp;amp;middot; [http://sigrok.org/api/libsigrok/unstable/index.html libsigrok API] &amp;amp;middot; [http://sigrok.org/api/libsigrokdecode/unstable/index.html libsigrokdecode API] &amp;amp;middot; [http://sigrok.org/gitweb/ Browse source code] &amp;amp;middot; [http://sigrok.org/bugzilla/ Bug tracker] &amp;amp;middot; [[Protocol decoder HOWTO]] &amp;amp;middot; [[Protocol decoder API]] &amp;amp;middot; [[Formats and structures]] &amp;amp;middot; [[Hardware driver API]] &amp;amp;middot; [[Portability]] &amp;amp;middot; [[TODO]]&lt;br /&gt;
&amp;lt;/small&amp;gt;&lt;br /&gt;
}}&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style=&amp;quot;clear: both;margin-top: 2em;&amp;quot;&amp;gt;&lt;br /&gt;
----&lt;br /&gt;
&amp;lt;small&amp;gt;&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;IMPORTANT: Unless explicitly specified otherwise, all contents in this wiki (including text and images) are released under the &amp;lt;span style=&amp;quot;color:red&amp;quot;&amp;gt;CC-BY-SA 3.0&amp;lt;/span&amp;gt; license. If you don&amp;#039;t want that, please explicitly specify another free-ish license when adding pages/images!&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&amp;lt;/small&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
__NOTOC__&lt;br /&gt;
__NOEDITSECTION__&lt;/div&gt;</summary>
		<author><name>Joelholdsworth</name></author>
	</entry>
	<entry>
		<id>https://sigrok.org/w/index.php?title=User:Joelholdsworth/new_main&amp;diff=8564</id>
		<title>User:Joelholdsworth/new main</title>
		<link rel="alternate" type="text/html" href="https://sigrok.org/w/index.php?title=User:Joelholdsworth/new_main&amp;diff=8564"/>
		<updated>2014-01-26T12:52:06Z</updated>

		<summary type="html">&lt;p&gt;Joelholdsworth: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;center&amp;gt;[[File:Front-page.png]]&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;table width=&amp;quot;100%&amp;quot; valign=&amp;quot;top&amp;quot;&amp;gt;&amp;lt;tr valign=&amp;quot;top&amp;quot;&amp;gt;&amp;lt;td width=&amp;quot;80%&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;div style=&amp;quot;margin-bottom:1.5em; padding:0.5em 0.5em 0.5em 0.5em; background-color:#cfdfff; align:right; border:1px solid #aabbcc;&amp;quot;&amp;gt;&lt;br /&gt;
The &amp;#039;&amp;#039;&amp;#039;sigrok&amp;#039;&amp;#039;&amp;#039; project aims at creating a &amp;#039;&amp;#039;&amp;#039;portable, cross-platform, Free/Libre/Open-Source signal analysis software suite&amp;#039;&amp;#039;&amp;#039; that supports various device types, such as [[Supported_hardware#Logic_analyzers|logic analyzers]], [[Supported_hardware#Mixed-signal_devices|MSOs]], [[Supported_hardware#Oscilloscopes|oscilloscopes]], [[Supported_hardware#Multimeters|multimeters]], [[Supported_hardware#LCR meters|LCR meters]], [[Supported_hardware#Sound_level_meters|sound level meters]], [[Supported_hardware#Thermometers|thermometers]], [[Supported_hardware#Hygrometers|hygrometers]], [[Supported_hardware#Anemometers|anemometers]], [[Supported_hardware#Light meters|light meters]], [[Supported_hardware#Energy meters|Energy meters]], [[Supported_hardware#DAQs|DAQs]], [[Supported_hardware#Dataloggers|dataloggers]], [[Supported_hardware#Function_generators|function generators]], [[Supported_hardware#RF receivers|RF receivers]], [[Supported_hardware#Spectrum_analyzers|spectrum analyzers]], [[Supported_hardware#Power_supplies|power supplies]], [[Supported_hardware#GPIB_interfaces|GPIB interfaces]], and more.&lt;br /&gt;
&lt;br /&gt;
It is licensed under the terms of the &amp;#039;&amp;#039;&amp;#039;GNU GPL&amp;#039;&amp;#039;&amp;#039;. Design goals and features include:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;Broad hardware support&amp;#039;&amp;#039;&amp;#039;. Supports many different logic analyzers, oscilloscopes, multimeters, data loggers etc. from various vendors.&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;Cross-platform&amp;#039;&amp;#039;&amp;#039;. Works on [[Linux]], [[Mac OS X]], [[Windows]], [[FreeBSD]], [[OpenBSD]], [[NetBSD]] (and on x86, ARM, Sparc, PowerPC, ...).&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;Scriptable protocol decoding&amp;#039;&amp;#039;&amp;#039;. Extendable with stackable [[protocol decoders]] written in Python 3.&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;File format support&amp;#039;&amp;#039;&amp;#039;. Supports various [[Input output formats|input/output file formats]] (binary, ASCII, hex, CSV, gnuplot, [http://en.wikipedia.org/wiki/Value_change_dump VCD], ...).&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;Reusable code&amp;#039;&amp;#039;&amp;#039;. Consists of the [[libsigrok]] and [[libsigrokdecode]] shared libraries which can be used by various frontends/GUIs.&lt;br /&gt;
&amp;lt;/small&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style=&amp;quot;clear: both;&amp;quot;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style=&amp;quot;width: 50%; float: left; margin-bottom: 1em;&amp;quot;&amp;gt;&lt;br /&gt;
{{Box|&lt;br /&gt;
BORDER = #8898bf|&lt;br /&gt;
BACKGROUND = #d1adf6|&lt;br /&gt;
WIDTH = 100%|&lt;br /&gt;
ICON = |&lt;br /&gt;
HEADING = [[File:Sigrok_stone.png]] &amp;lt;span style=&amp;quot;font-variant:small-caps;&amp;quot;&amp;gt;[http://www.sigrok.org/blog News] / [http://www.sigrok.org/blog Blog]&amp;lt;/span&amp;gt;|&lt;br /&gt;
CONTENT =&lt;br /&gt;
&amp;lt;small&amp;gt;&lt;br /&gt;
&amp;lt;rss max=13 date=&amp;quot;Y-m-d&amp;quot;&amp;gt;http://sigrok.org/blog/rss.xml&amp;lt;/rss&amp;gt;&lt;br /&gt;
See also: [[Current events]].&lt;br /&gt;
&amp;lt;/small&amp;gt;&lt;br /&gt;
}}&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style=&amp;quot;width: 49%; float: right; margin-bottom: 1em;&amp;quot;&amp;gt;&lt;br /&gt;
{{Box|&lt;br /&gt;
BORDER = #8898bf|&lt;br /&gt;
BACKGROUND = lime|&lt;br /&gt;
WIDTH = 100%|&lt;br /&gt;
ICON = |&lt;br /&gt;
HEADING = [[File:Sigrok_stone.png]] &amp;lt;span style=&amp;quot;font-variant:small-caps;&amp;quot;&amp;gt;Supported hardware&amp;lt;/span&amp;gt; (&amp;lt;small&amp;gt;&amp;lt;span style=&amp;quot;font-variant:normal;&amp;quot;&amp;gt;[[:Category:Device|Browse by category...]]&amp;lt;/span&amp;gt;&amp;lt;/small&amp;gt;)|&lt;br /&gt;
CONTENT =&lt;br /&gt;
&amp;lt;small&amp;gt;&lt;br /&gt;
* [[Supported_hardware#Logic_analyzers|Logic analyzers]] ([[Logic analyzer comparison|comparison]])&lt;br /&gt;
* [[Supported_hardware#Mixed-signal_devices|Mixed-signal devices]] ([[Mixed-signal device comparison|comparison]])&lt;br /&gt;
* [[Supported_hardware#Oscilloscopes|Oscilloscopes]] ([[Oscilloscope comparison|comparison]])&lt;br /&gt;
* [[Supported_hardware#Multimeters|Multimeters]] ([[Multimeter comparison|comparison]], [[Device_cables#Multimeters|cables]], [[Multimeter ICs|ICs]])&lt;br /&gt;
* [[Supported_hardware#LCR meters|LCR meters]] ([[LCR meter comparison|comparison]])&lt;br /&gt;
* [[Supported_hardware#Sound_level_meters|Sound level meters]] ([[Sound level meter comparison|comparison]], [[Device_cables#Sound_level_meters|cables]])&lt;br /&gt;
* [[Supported_hardware#Thermometers|Thermometers]] ([[Thermometer comparison|comparison]])&lt;br /&gt;
* [[Supported_hardware#Hygrometers|Hygrometers]]&lt;br /&gt;
* [[Supported_hardware#Anemometers|Anemometers]] ([[Anemometer comparison|comparison]])&lt;br /&gt;
* [[Supported_hardware#Light meters|Light meters]] ([[Light meter comparison|comparison]])&lt;br /&gt;
* [[Supported_hardware#Energy meters|Energy meters]]&lt;br /&gt;
* [[Supported_hardware#DAQs|DAQs]] ([[DAQ comparison|comparison]])&lt;br /&gt;
* [[Supported_hardware#Dataloggers|Dataloggers]] ([[Datalogger comparison|comparison]])&lt;br /&gt;
* [[Supported_hardware#Function_generators|Function generators]] ([[Function generator comparison|comparison]])&lt;br /&gt;
* [[Supported_hardware#RF receivers|RF receivers]]&lt;br /&gt;
* [[Supported_hardware#Spectrum_analyzers|Spectrum analyzers]] ([[Spectrum analyzer comparison|comparison]])&lt;br /&gt;
* [[Supported_hardware#Power_supplies|Power supplies]] ([[Power supply comparison|comparison]])&lt;br /&gt;
* [[Supported_hardware#GPIB_interfaces|GPIB interfaces]] ([[GPIB interface comparison|comparison]])&lt;br /&gt;
&amp;lt;/small&amp;gt;&lt;br /&gt;
}}&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style=&amp;quot;clear: both;&amp;quot;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style=&amp;quot;width: 50%; float: left; margin-bottom: 1em;&amp;quot;&amp;gt;&lt;br /&gt;
{{Box|&lt;br /&gt;
BORDER = #8898bf|&lt;br /&gt;
BACKGROUND = cyan|&lt;br /&gt;
WIDTH = 100%|&lt;br /&gt;
ICON = |&lt;br /&gt;
HEADING = [[File:Sigrok_stone.png]] &amp;lt;span style=&amp;quot;font-variant:small-caps;&amp;quot;&amp;gt;Documentation&amp;lt;/span&amp;gt;|&lt;br /&gt;
CONTENT =&lt;br /&gt;
&amp;lt;small&amp;gt;&lt;br /&gt;
[[Building]] &amp;amp;middot; [[Linux]] &amp;amp;middot; [[Mac OS X]] &amp;amp;middot; [[Windows]] &amp;amp;middot; [[FreeBSD]] &amp;amp;middot; [[OpenBSD]] &amp;amp;middot; [[NetBSD]] &amp;amp;middot; [[Android]] &amp;amp;middot; [[Embedded]] &amp;amp;middot; [[Input output formats]] &amp;amp;middot; [[Protocol decoders]] &amp;amp;middot; [[Probe comparison]] &amp;amp;middot; [[GPIB]] &amp;amp;middot; [[Logo]] &amp;amp;middot; [[Press]]&lt;br /&gt;
&amp;lt;/small&amp;gt;&lt;br /&gt;
}}&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style=&amp;quot;width: 49%; float: right; margin-bottom: 1em;&amp;quot;&amp;gt;&lt;br /&gt;
{{Box|&lt;br /&gt;
BORDER = #8898bf|&lt;br /&gt;
BACKGROUND = #ff3333|&lt;br /&gt;
WIDTH = 100%|&lt;br /&gt;
ICON = |&lt;br /&gt;
HEADING = [[File:Sigrok_stone.png]] &amp;lt;span style=&amp;quot;font-variant:small-caps;&amp;quot;&amp;gt;Subprojects&amp;lt;/span&amp;gt;|&lt;br /&gt;
CONTENT =&lt;br /&gt;
&amp;lt;small&amp;gt;&lt;br /&gt;
[[libserialport]] &amp;amp;middot; [[libsigrok]] &amp;amp;middot; [[libsigrokdecode]] &amp;amp;middot; [[sigrok-cli]] &amp;amp;middot; [[PulseView]] &amp;amp;middot; [[sigrok-meter]] &amp;lt;!-- &amp;amp;middot; [[sigrok-qt]] &amp;amp;middot; [[sigrok-gtk]] --&amp;gt; &amp;amp;middot; [[fx2lafw]] &amp;amp;middot; [[gpibgrok]] &amp;amp;middot; [[fx2grok]] &amp;amp;middot; [[fpgalafw]] &amp;amp;middot; [[Firmware]] &amp;amp;middot; [[Example dumps]]&lt;br /&gt;
&amp;lt;/small&amp;gt;&lt;br /&gt;
}}&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style=&amp;quot;clear: both;&amp;quot;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style=&amp;quot;width: 50%; float: left; margin-bottom: 1em;&amp;quot;&amp;gt;&lt;br /&gt;
{{Box|&lt;br /&gt;
BORDER = #8898bf|&lt;br /&gt;
BACKGROUND = yellow|&lt;br /&gt;
WIDTH = 100%|&lt;br /&gt;
ICON = |&lt;br /&gt;
HEADING = [[File:Sigrok_stone.png]] &amp;lt;span style=&amp;quot;font-variant:small-caps;&amp;quot;&amp;gt;Getting in touch&amp;lt;/span&amp;gt;|&lt;br /&gt;
CONTENT = &lt;br /&gt;
&amp;lt;small&amp;gt;&lt;br /&gt;
Mailing lists: [https://lists.sourceforge.net/lists/listinfo/sigrok-devel sigrok-devel] ([http://news.gmane.org/gmane.comp.debugging.sigrok.devel archive]), [https://lists.sourceforge.net/lists/listinfo/sigrok-commits sigrok-commits] ([http://sourceforge.net/mailarchive/forum.php?forum_name=sigrok-commits archive]) &amp;amp;middot; IRC: [irc://chat.freenode.net/sigrok #sigrok]&lt;br /&gt;
&amp;lt;/small&amp;gt;&lt;br /&gt;
}}&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style=&amp;quot;width: 49%; float: right; margin-bottom: 1em;&amp;quot;&amp;gt;&lt;br /&gt;
{{Box|&lt;br /&gt;
BORDER = #8898bf|&lt;br /&gt;
BACKGROUND = lightblue|&lt;br /&gt;
WIDTH = 100%|&lt;br /&gt;
ICON = |&lt;br /&gt;
HEADING = [[File:Sigrok_stone.png]] &amp;lt;span style=&amp;quot;font-variant:small-caps;&amp;quot;&amp;gt;Development&amp;lt;/span&amp;gt;|&lt;br /&gt;
CONTENT =&lt;br /&gt;
&amp;lt;small&amp;gt;&lt;br /&gt;
[[Developers]] &amp;amp;middot; [http://sigrok.org/api/libsigrok/unstable/index.html libsigrok API] &amp;amp;middot; [http://sigrok.org/api/libsigrokdecode/unstable/index.html libsigrokdecode API] &amp;amp;middot; [http://sigrok.org/gitweb/ Browse source code] &amp;amp;middot; [http://sigrok.org/bugzilla/ Bug tracker] &amp;amp;middot; [[Protocol decoder HOWTO]] &amp;amp;middot; [[Protocol decoder API]] &amp;amp;middot; [[Formats and structures]] &amp;amp;middot; [[Hardware driver API]] &amp;amp;middot; [[Portability]] &amp;amp;middot; [[TODO]]&lt;br /&gt;
&amp;lt;/small&amp;gt;&lt;br /&gt;
}}&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style=&amp;quot;clear: both;margin-top: 2em;&amp;quot;&amp;gt;&lt;br /&gt;
----&lt;br /&gt;
&amp;lt;small&amp;gt;&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;IMPORTANT: Unless explicitly specified otherwise, all contents in this wiki (including text and images) are released under the &amp;lt;span style=&amp;quot;color:red&amp;quot;&amp;gt;CC-BY-SA 3.0&amp;lt;/span&amp;gt; license. If you don&amp;#039;t want that, please explicitly specify another free-ish license when adding pages/images!&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&amp;lt;/small&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
__NOTOC__&lt;br /&gt;
__NOEDITSECTION__&lt;/div&gt;</summary>
		<author><name>Joelholdsworth</name></author>
	</entry>
	<entry>
		<id>https://sigrok.org/w/index.php?title=File:Front-page.png&amp;diff=8563</id>
		<title>File:Front-page.png</title>
		<link rel="alternate" type="text/html" href="https://sigrok.org/w/index.php?title=File:Front-page.png&amp;diff=8563"/>
		<updated>2014-01-26T12:51:28Z</updated>

		<summary type="html">&lt;p&gt;Joelholdsworth: Joelholdsworth uploaded a new version of &amp;amp;quot;File:Front-page.png&amp;amp;quot;&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Licensing ==&lt;br /&gt;
{{CC-BY-SA-3.0}}&lt;/div&gt;</summary>
		<author><name>Joelholdsworth</name></author>
	</entry>
	<entry>
		<id>https://sigrok.org/w/index.php?title=User:Joelholdsworth/new_main&amp;diff=8562</id>
		<title>User:Joelholdsworth/new main</title>
		<link rel="alternate" type="text/html" href="https://sigrok.org/w/index.php?title=User:Joelholdsworth/new_main&amp;diff=8562"/>
		<updated>2014-01-26T12:47:08Z</updated>

		<summary type="html">&lt;p&gt;Joelholdsworth: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;table width=&amp;quot;100%&amp;quot; valign=&amp;quot;top&amp;quot;&amp;gt;&amp;lt;tr valign=&amp;quot;top&amp;quot;&amp;gt;&amp;lt;td width=&amp;quot;80%&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;div style=&amp;quot;margin-bottom:1.5em; padding:0.5em 0.5em 0.5em 0.5em; background-color:#cfdfff; align:right; border:1px solid #aabbcc;&amp;quot;&amp;gt;&lt;br /&gt;
The &amp;#039;&amp;#039;&amp;#039;sigrok&amp;#039;&amp;#039;&amp;#039; project aims at creating a &amp;#039;&amp;#039;&amp;#039;portable, cross-platform, Free/Libre/Open-Source signal analysis software suite&amp;#039;&amp;#039;&amp;#039; that supports various device types, such as [[Supported_hardware#Logic_analyzers|logic analyzers]], [[Supported_hardware#Mixed-signal_devices|MSOs]], [[Supported_hardware#Oscilloscopes|oscilloscopes]], [[Supported_hardware#Multimeters|multimeters]], [[Supported_hardware#LCR meters|LCR meters]], [[Supported_hardware#Sound_level_meters|sound level meters]], [[Supported_hardware#Thermometers|thermometers]], [[Supported_hardware#Hygrometers|hygrometers]], [[Supported_hardware#Anemometers|anemometers]], [[Supported_hardware#Light meters|light meters]], [[Supported_hardware#Energy meters|Energy meters]], [[Supported_hardware#DAQs|DAQs]], [[Supported_hardware#Dataloggers|dataloggers]], [[Supported_hardware#Function_generators|function generators]], [[Supported_hardware#RF receivers|RF receivers]], [[Supported_hardware#Spectrum_analyzers|spectrum analyzers]], [[Supported_hardware#Power_supplies|power supplies]], [[Supported_hardware#GPIB_interfaces|GPIB interfaces]], and more.&lt;br /&gt;
&lt;br /&gt;
It is licensed under the terms of the &amp;#039;&amp;#039;&amp;#039;GNU GPL&amp;#039;&amp;#039;&amp;#039;. Design goals and features include:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;Broad hardware support&amp;#039;&amp;#039;&amp;#039;. Supports many different logic analyzers, oscilloscopes, multimeters, data loggers etc. from various vendors.&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;Cross-platform&amp;#039;&amp;#039;&amp;#039;. Works on [[Linux]], [[Mac OS X]], [[Windows]], [[FreeBSD]], [[OpenBSD]], [[NetBSD]] (and on x86, ARM, Sparc, PowerPC, ...).&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;Scriptable protocol decoding&amp;#039;&amp;#039;&amp;#039;. Extendable with stackable [[protocol decoders]] written in Python 3.&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;File format support&amp;#039;&amp;#039;&amp;#039;. Supports various [[Input output formats|input/output file formats]] (binary, ASCII, hex, CSV, gnuplot, [http://en.wikipedia.org/wiki/Value_change_dump VCD], ...).&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;Reusable code&amp;#039;&amp;#039;&amp;#039;. Consists of the [[libsigrok]] and [[libsigrokdecode]] shared libraries which can be used by various frontends/GUIs.&lt;br /&gt;
&amp;lt;/small&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt;[[File:Front-page.png]]&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style=&amp;quot;clear: both;&amp;quot;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style=&amp;quot;width: 50%; float: left; margin-bottom: 1em;&amp;quot;&amp;gt;&lt;br /&gt;
{{Box|&lt;br /&gt;
BORDER = #8898bf|&lt;br /&gt;
BACKGROUND = #d1adf6|&lt;br /&gt;
WIDTH = 100%|&lt;br /&gt;
ICON = |&lt;br /&gt;
HEADING = [[File:Sigrok_stone.png]] &amp;lt;span style=&amp;quot;font-variant:small-caps;&amp;quot;&amp;gt;[http://www.sigrok.org/blog News] / [http://www.sigrok.org/blog Blog]&amp;lt;/span&amp;gt;|&lt;br /&gt;
CONTENT =&lt;br /&gt;
&amp;lt;small&amp;gt;&lt;br /&gt;
&amp;lt;rss max=13 date=&amp;quot;Y-m-d&amp;quot;&amp;gt;http://sigrok.org/blog/rss.xml&amp;lt;/rss&amp;gt;&lt;br /&gt;
See also: [[Current events]].&lt;br /&gt;
&amp;lt;/small&amp;gt;&lt;br /&gt;
}}&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style=&amp;quot;width: 49%; float: right; margin-bottom: 1em;&amp;quot;&amp;gt;&lt;br /&gt;
{{Box|&lt;br /&gt;
BORDER = #8898bf|&lt;br /&gt;
BACKGROUND = lime|&lt;br /&gt;
WIDTH = 100%|&lt;br /&gt;
ICON = |&lt;br /&gt;
HEADING = [[File:Sigrok_stone.png]] &amp;lt;span style=&amp;quot;font-variant:small-caps;&amp;quot;&amp;gt;Supported hardware&amp;lt;/span&amp;gt; (&amp;lt;small&amp;gt;&amp;lt;span style=&amp;quot;font-variant:normal;&amp;quot;&amp;gt;[[:Category:Device|Browse by category...]]&amp;lt;/span&amp;gt;&amp;lt;/small&amp;gt;)|&lt;br /&gt;
CONTENT =&lt;br /&gt;
&amp;lt;small&amp;gt;&lt;br /&gt;
* [[Supported_hardware#Logic_analyzers|Logic analyzers]] ([[Logic analyzer comparison|comparison]])&lt;br /&gt;
* [[Supported_hardware#Mixed-signal_devices|Mixed-signal devices]] ([[Mixed-signal device comparison|comparison]])&lt;br /&gt;
* [[Supported_hardware#Oscilloscopes|Oscilloscopes]] ([[Oscilloscope comparison|comparison]])&lt;br /&gt;
* [[Supported_hardware#Multimeters|Multimeters]] ([[Multimeter comparison|comparison]], [[Device_cables#Multimeters|cables]], [[Multimeter ICs|ICs]])&lt;br /&gt;
* [[Supported_hardware#LCR meters|LCR meters]] ([[LCR meter comparison|comparison]])&lt;br /&gt;
* [[Supported_hardware#Sound_level_meters|Sound level meters]] ([[Sound level meter comparison|comparison]], [[Device_cables#Sound_level_meters|cables]])&lt;br /&gt;
* [[Supported_hardware#Thermometers|Thermometers]] ([[Thermometer comparison|comparison]])&lt;br /&gt;
* [[Supported_hardware#Hygrometers|Hygrometers]]&lt;br /&gt;
* [[Supported_hardware#Anemometers|Anemometers]] ([[Anemometer comparison|comparison]])&lt;br /&gt;
* [[Supported_hardware#Light meters|Light meters]] ([[Light meter comparison|comparison]])&lt;br /&gt;
* [[Supported_hardware#Energy meters|Energy meters]]&lt;br /&gt;
* [[Supported_hardware#DAQs|DAQs]] ([[DAQ comparison|comparison]])&lt;br /&gt;
* [[Supported_hardware#Dataloggers|Dataloggers]] ([[Datalogger comparison|comparison]])&lt;br /&gt;
* [[Supported_hardware#Function_generators|Function generators]] ([[Function generator comparison|comparison]])&lt;br /&gt;
* [[Supported_hardware#RF receivers|RF receivers]]&lt;br /&gt;
* [[Supported_hardware#Spectrum_analyzers|Spectrum analyzers]] ([[Spectrum analyzer comparison|comparison]])&lt;br /&gt;
* [[Supported_hardware#Power_supplies|Power supplies]] ([[Power supply comparison|comparison]])&lt;br /&gt;
* [[Supported_hardware#GPIB_interfaces|GPIB interfaces]] ([[GPIB interface comparison|comparison]])&lt;br /&gt;
&amp;lt;/small&amp;gt;&lt;br /&gt;
}}&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style=&amp;quot;clear: both;&amp;quot;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style=&amp;quot;width: 50%; float: left; margin-bottom: 1em;&amp;quot;&amp;gt;&lt;br /&gt;
{{Box|&lt;br /&gt;
BORDER = #8898bf|&lt;br /&gt;
BACKGROUND = cyan|&lt;br /&gt;
WIDTH = 100%|&lt;br /&gt;
ICON = |&lt;br /&gt;
HEADING = [[File:Sigrok_stone.png]] &amp;lt;span style=&amp;quot;font-variant:small-caps;&amp;quot;&amp;gt;Documentation&amp;lt;/span&amp;gt;|&lt;br /&gt;
CONTENT =&lt;br /&gt;
&amp;lt;small&amp;gt;&lt;br /&gt;
[[Building]] &amp;amp;middot; [[Linux]] &amp;amp;middot; [[Mac OS X]] &amp;amp;middot; [[Windows]] &amp;amp;middot; [[FreeBSD]] &amp;amp;middot; [[OpenBSD]] &amp;amp;middot; [[NetBSD]] &amp;amp;middot; [[Android]] &amp;amp;middot; [[Embedded]] &amp;amp;middot; [[Input output formats]] &amp;amp;middot; [[Protocol decoders]] &amp;amp;middot; [[Probe comparison]] &amp;amp;middot; [[GPIB]] &amp;amp;middot; [[Logo]] &amp;amp;middot; [[Press]]&lt;br /&gt;
&amp;lt;/small&amp;gt;&lt;br /&gt;
}}&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style=&amp;quot;width: 49%; float: right; margin-bottom: 1em;&amp;quot;&amp;gt;&lt;br /&gt;
{{Box|&lt;br /&gt;
BORDER = #8898bf|&lt;br /&gt;
BACKGROUND = #ff3333|&lt;br /&gt;
WIDTH = 100%|&lt;br /&gt;
ICON = |&lt;br /&gt;
HEADING = [[File:Sigrok_stone.png]] &amp;lt;span style=&amp;quot;font-variant:small-caps;&amp;quot;&amp;gt;Subprojects&amp;lt;/span&amp;gt;|&lt;br /&gt;
CONTENT =&lt;br /&gt;
&amp;lt;small&amp;gt;&lt;br /&gt;
[[libserialport]] &amp;amp;middot; [[libsigrok]] &amp;amp;middot; [[libsigrokdecode]] &amp;amp;middot; [[sigrok-cli]] &amp;amp;middot; [[PulseView]] &amp;amp;middot; [[sigrok-meter]] &amp;lt;!-- &amp;amp;middot; [[sigrok-qt]] &amp;amp;middot; [[sigrok-gtk]] --&amp;gt; &amp;amp;middot; [[fx2lafw]] &amp;amp;middot; [[gpibgrok]] &amp;amp;middot; [[fx2grok]] &amp;amp;middot; [[fpgalafw]] &amp;amp;middot; [[Firmware]] &amp;amp;middot; [[Example dumps]]&lt;br /&gt;
&amp;lt;/small&amp;gt;&lt;br /&gt;
}}&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style=&amp;quot;clear: both;&amp;quot;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style=&amp;quot;width: 50%; float: left; margin-bottom: 1em;&amp;quot;&amp;gt;&lt;br /&gt;
{{Box|&lt;br /&gt;
BORDER = #8898bf|&lt;br /&gt;
BACKGROUND = yellow|&lt;br /&gt;
WIDTH = 100%|&lt;br /&gt;
ICON = |&lt;br /&gt;
HEADING = [[File:Sigrok_stone.png]] &amp;lt;span style=&amp;quot;font-variant:small-caps;&amp;quot;&amp;gt;Getting in touch&amp;lt;/span&amp;gt;|&lt;br /&gt;
CONTENT = &lt;br /&gt;
&amp;lt;small&amp;gt;&lt;br /&gt;
Mailing lists: [https://lists.sourceforge.net/lists/listinfo/sigrok-devel sigrok-devel] ([http://news.gmane.org/gmane.comp.debugging.sigrok.devel archive]), [https://lists.sourceforge.net/lists/listinfo/sigrok-commits sigrok-commits] ([http://sourceforge.net/mailarchive/forum.php?forum_name=sigrok-commits archive]) &amp;amp;middot; IRC: [irc://chat.freenode.net/sigrok #sigrok]&lt;br /&gt;
&amp;lt;/small&amp;gt;&lt;br /&gt;
}}&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style=&amp;quot;width: 49%; float: right; margin-bottom: 1em;&amp;quot;&amp;gt;&lt;br /&gt;
{{Box|&lt;br /&gt;
BORDER = #8898bf|&lt;br /&gt;
BACKGROUND = lightblue|&lt;br /&gt;
WIDTH = 100%|&lt;br /&gt;
ICON = |&lt;br /&gt;
HEADING = [[File:Sigrok_stone.png]] &amp;lt;span style=&amp;quot;font-variant:small-caps;&amp;quot;&amp;gt;Development&amp;lt;/span&amp;gt;|&lt;br /&gt;
CONTENT =&lt;br /&gt;
&amp;lt;small&amp;gt;&lt;br /&gt;
[[Developers]] &amp;amp;middot; [http://sigrok.org/api/libsigrok/unstable/index.html libsigrok API] &amp;amp;middot; [http://sigrok.org/api/libsigrokdecode/unstable/index.html libsigrokdecode API] &amp;amp;middot; [http://sigrok.org/gitweb/ Browse source code] &amp;amp;middot; [http://sigrok.org/bugzilla/ Bug tracker] &amp;amp;middot; [[Protocol decoder HOWTO]] &amp;amp;middot; [[Protocol decoder API]] &amp;amp;middot; [[Formats and structures]] &amp;amp;middot; [[Hardware driver API]] &amp;amp;middot; [[Portability]] &amp;amp;middot; [[TODO]]&lt;br /&gt;
&amp;lt;/small&amp;gt;&lt;br /&gt;
}}&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style=&amp;quot;clear: both;margin-top: 2em;&amp;quot;&amp;gt;&lt;br /&gt;
----&lt;br /&gt;
&amp;lt;small&amp;gt;&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;IMPORTANT: Unless explicitly specified otherwise, all contents in this wiki (including text and images) are released under the &amp;lt;span style=&amp;quot;color:red&amp;quot;&amp;gt;CC-BY-SA 3.0&amp;lt;/span&amp;gt; license. If you don&amp;#039;t want that, please explicitly specify another free-ish license when adding pages/images!&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&amp;lt;/small&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
__NOTOC__&lt;br /&gt;
__NOEDITSECTION__&lt;/div&gt;</summary>
		<author><name>Joelholdsworth</name></author>
	</entry>
	<entry>
		<id>https://sigrok.org/w/index.php?title=File:Front-page.png&amp;diff=8561</id>
		<title>File:Front-page.png</title>
		<link rel="alternate" type="text/html" href="https://sigrok.org/w/index.php?title=File:Front-page.png&amp;diff=8561"/>
		<updated>2014-01-26T12:44:33Z</updated>

		<summary type="html">&lt;p&gt;Joelholdsworth: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Licensing ==&lt;br /&gt;
{{CC-BY-SA-3.0}}&lt;/div&gt;</summary>
		<author><name>Joelholdsworth</name></author>
	</entry>
	<entry>
		<id>https://sigrok.org/w/index.php?title=File:Floor-right.png&amp;diff=8560</id>
		<title>File:Floor-right.png</title>
		<link rel="alternate" type="text/html" href="https://sigrok.org/w/index.php?title=File:Floor-right.png&amp;diff=8560"/>
		<updated>2014-01-26T12:36:14Z</updated>

		<summary type="html">&lt;p&gt;Joelholdsworth: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Licensing ==&lt;br /&gt;
{{CC-BY-SA-3.0}}&lt;/div&gt;</summary>
		<author><name>Joelholdsworth</name></author>
	</entry>
	<entry>
		<id>https://sigrok.org/w/index.php?title=File:Floor-mid.png&amp;diff=8559</id>
		<title>File:Floor-mid.png</title>
		<link rel="alternate" type="text/html" href="https://sigrok.org/w/index.php?title=File:Floor-mid.png&amp;diff=8559"/>
		<updated>2014-01-26T12:35:58Z</updated>

		<summary type="html">&lt;p&gt;Joelholdsworth: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Licensing ==&lt;br /&gt;
{{CC-BY-SA-3.0}}&lt;/div&gt;</summary>
		<author><name>Joelholdsworth</name></author>
	</entry>
	<entry>
		<id>https://sigrok.org/w/index.php?title=File:Floor-left.png&amp;diff=8558</id>
		<title>File:Floor-left.png</title>
		<link rel="alternate" type="text/html" href="https://sigrok.org/w/index.php?title=File:Floor-left.png&amp;diff=8558"/>
		<updated>2014-01-26T12:35:10Z</updated>

		<summary type="html">&lt;p&gt;Joelholdsworth: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Licensing ==&lt;br /&gt;
{{CC-BY-SA-3.0}}&lt;/div&gt;</summary>
		<author><name>Joelholdsworth</name></author>
	</entry>
	<entry>
		<id>https://sigrok.org/w/index.php?title=User:Joelholdsworth/new_main&amp;diff=8557</id>
		<title>User:Joelholdsworth/new main</title>
		<link rel="alternate" type="text/html" href="https://sigrok.org/w/index.php?title=User:Joelholdsworth/new_main&amp;diff=8557"/>
		<updated>2014-01-26T12:15:26Z</updated>

		<summary type="html">&lt;p&gt;Joelholdsworth: Created page with &amp;quot;&amp;lt;table width=&amp;quot;100%&amp;quot; valign=&amp;quot;top&amp;quot;&amp;gt;&amp;lt;tr valign=&amp;quot;top&amp;quot;&amp;gt;&amp;lt;td width=&amp;quot;80%&amp;quot;&amp;gt; &amp;lt;div style=&amp;quot;margin-bottom:1.5em; padding:0.5em 0.5em 0.5em 0.5em; background-color:#cfdfff; align:right; bor...&amp;quot;&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;table width=&amp;quot;100%&amp;quot; valign=&amp;quot;top&amp;quot;&amp;gt;&amp;lt;tr valign=&amp;quot;top&amp;quot;&amp;gt;&amp;lt;td width=&amp;quot;80%&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;div style=&amp;quot;margin-bottom:1.5em; padding:0.5em 0.5em 0.5em 0.5em; background-color:#cfdfff; align:right; border:1px solid #aabbcc;&amp;quot;&amp;gt;&lt;br /&gt;
The &amp;#039;&amp;#039;&amp;#039;sigrok&amp;#039;&amp;#039;&amp;#039; project aims at creating a &amp;#039;&amp;#039;&amp;#039;portable, cross-platform, Free/Libre/Open-Source signal analysis software suite&amp;#039;&amp;#039;&amp;#039; that supports various device types, such as [[Supported_hardware#Logic_analyzers|logic analyzers]], [[Supported_hardware#Mixed-signal_devices|MSOs]], [[Supported_hardware#Oscilloscopes|oscilloscopes]], [[Supported_hardware#Multimeters|multimeters]], [[Supported_hardware#LCR meters|LCR meters]], [[Supported_hardware#Sound_level_meters|sound level meters]], [[Supported_hardware#Thermometers|thermometers]], [[Supported_hardware#Hygrometers|hygrometers]], [[Supported_hardware#Anemometers|anemometers]], [[Supported_hardware#Light meters|light meters]], [[Supported_hardware#Energy meters|Energy meters]], [[Supported_hardware#DAQs|DAQs]], [[Supported_hardware#Dataloggers|dataloggers]], [[Supported_hardware#Function_generators|function generators]], [[Supported_hardware#RF receivers|RF receivers]], [[Supported_hardware#Spectrum_analyzers|spectrum analyzers]], [[Supported_hardware#Power_supplies|power supplies]], [[Supported_hardware#GPIB_interfaces|GPIB interfaces]], and more.&lt;br /&gt;
&lt;br /&gt;
It is licensed under the terms of the &amp;#039;&amp;#039;&amp;#039;GNU GPL&amp;#039;&amp;#039;&amp;#039;. Design goals and features include:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;Broad hardware support&amp;#039;&amp;#039;&amp;#039;. Supports many different logic analyzers, oscilloscopes, multimeters, data loggers etc. from various vendors.&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;Cross-platform&amp;#039;&amp;#039;&amp;#039;. Works on [[Linux]], [[Mac OS X]], [[Windows]], [[FreeBSD]], [[OpenBSD]], [[NetBSD]] (and on x86, ARM, Sparc, PowerPC, ...).&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;Scriptable protocol decoding&amp;#039;&amp;#039;&amp;#039;. Extendable with stackable [[protocol decoders]] written in Python 3.&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;File format support&amp;#039;&amp;#039;&amp;#039;. Supports various [[Input output formats|input/output file formats]] (binary, ASCII, hex, CSV, gnuplot, [http://en.wikipedia.org/wiki/Value_change_dump VCD], ...).&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;Reusable code&amp;#039;&amp;#039;&amp;#039;. Consists of the [[libsigrok]] and [[libsigrokdecode]] shared libraries which can be used by various frontends/GUIs.&lt;br /&gt;
&amp;lt;/small&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style=&amp;quot;clear: both;&amp;quot;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style=&amp;quot;width: 50%; float: left; margin-bottom: 1em;&amp;quot;&amp;gt;&lt;br /&gt;
{{Box|&lt;br /&gt;
BORDER = #8898bf|&lt;br /&gt;
BACKGROUND = #d1adf6|&lt;br /&gt;
WIDTH = 100%|&lt;br /&gt;
ICON = |&lt;br /&gt;
HEADING = [[File:Sigrok_stone.png]] &amp;lt;span style=&amp;quot;font-variant:small-caps;&amp;quot;&amp;gt;[http://www.sigrok.org/blog News] / [http://www.sigrok.org/blog Blog]&amp;lt;/span&amp;gt;|&lt;br /&gt;
CONTENT =&lt;br /&gt;
&amp;lt;small&amp;gt;&lt;br /&gt;
&amp;lt;rss max=13 date=&amp;quot;Y-m-d&amp;quot;&amp;gt;http://sigrok.org/blog/rss.xml&amp;lt;/rss&amp;gt;&lt;br /&gt;
See also: [[Current events]].&lt;br /&gt;
&amp;lt;/small&amp;gt;&lt;br /&gt;
}}&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style=&amp;quot;width: 49%; float: right; margin-bottom: 1em;&amp;quot;&amp;gt;&lt;br /&gt;
{{Box|&lt;br /&gt;
BORDER = #8898bf|&lt;br /&gt;
BACKGROUND = lime|&lt;br /&gt;
WIDTH = 100%|&lt;br /&gt;
ICON = |&lt;br /&gt;
HEADING = [[File:Sigrok_stone.png]] &amp;lt;span style=&amp;quot;font-variant:small-caps;&amp;quot;&amp;gt;Supported hardware&amp;lt;/span&amp;gt; (&amp;lt;small&amp;gt;&amp;lt;span style=&amp;quot;font-variant:normal;&amp;quot;&amp;gt;[[:Category:Device|Browse by category...]]&amp;lt;/span&amp;gt;&amp;lt;/small&amp;gt;)|&lt;br /&gt;
CONTENT =&lt;br /&gt;
&amp;lt;small&amp;gt;&lt;br /&gt;
* [[Supported_hardware#Logic_analyzers|Logic analyzers]] ([[Logic analyzer comparison|comparison]])&lt;br /&gt;
* [[Supported_hardware#Mixed-signal_devices|Mixed-signal devices]] ([[Mixed-signal device comparison|comparison]])&lt;br /&gt;
* [[Supported_hardware#Oscilloscopes|Oscilloscopes]] ([[Oscilloscope comparison|comparison]])&lt;br /&gt;
* [[Supported_hardware#Multimeters|Multimeters]] ([[Multimeter comparison|comparison]], [[Device_cables#Multimeters|cables]], [[Multimeter ICs|ICs]])&lt;br /&gt;
* [[Supported_hardware#LCR meters|LCR meters]] ([[LCR meter comparison|comparison]])&lt;br /&gt;
* [[Supported_hardware#Sound_level_meters|Sound level meters]] ([[Sound level meter comparison|comparison]], [[Device_cables#Sound_level_meters|cables]])&lt;br /&gt;
* [[Supported_hardware#Thermometers|Thermometers]] ([[Thermometer comparison|comparison]])&lt;br /&gt;
* [[Supported_hardware#Hygrometers|Hygrometers]]&lt;br /&gt;
* [[Supported_hardware#Anemometers|Anemometers]] ([[Anemometer comparison|comparison]])&lt;br /&gt;
* [[Supported_hardware#Light meters|Light meters]] ([[Light meter comparison|comparison]])&lt;br /&gt;
* [[Supported_hardware#Energy meters|Energy meters]]&lt;br /&gt;
* [[Supported_hardware#DAQs|DAQs]] ([[DAQ comparison|comparison]])&lt;br /&gt;
* [[Supported_hardware#Dataloggers|Dataloggers]] ([[Datalogger comparison|comparison]])&lt;br /&gt;
* [[Supported_hardware#Function_generators|Function generators]] ([[Function generator comparison|comparison]])&lt;br /&gt;
* [[Supported_hardware#RF receivers|RF receivers]]&lt;br /&gt;
* [[Supported_hardware#Spectrum_analyzers|Spectrum analyzers]] ([[Spectrum analyzer comparison|comparison]])&lt;br /&gt;
* [[Supported_hardware#Power_supplies|Power supplies]] ([[Power supply comparison|comparison]])&lt;br /&gt;
* [[Supported_hardware#GPIB_interfaces|GPIB interfaces]] ([[GPIB interface comparison|comparison]])&lt;br /&gt;
&amp;lt;/small&amp;gt;&lt;br /&gt;
}}&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style=&amp;quot;clear: both;&amp;quot;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style=&amp;quot;width: 50%; float: left; margin-bottom: 1em;&amp;quot;&amp;gt;&lt;br /&gt;
{{Box|&lt;br /&gt;
BORDER = #8898bf|&lt;br /&gt;
BACKGROUND = cyan|&lt;br /&gt;
WIDTH = 100%|&lt;br /&gt;
ICON = |&lt;br /&gt;
HEADING = [[File:Sigrok_stone.png]] &amp;lt;span style=&amp;quot;font-variant:small-caps;&amp;quot;&amp;gt;Documentation&amp;lt;/span&amp;gt;|&lt;br /&gt;
CONTENT =&lt;br /&gt;
&amp;lt;small&amp;gt;&lt;br /&gt;
[[Building]] &amp;amp;middot; [[Linux]] &amp;amp;middot; [[Mac OS X]] &amp;amp;middot; [[Windows]] &amp;amp;middot; [[FreeBSD]] &amp;amp;middot; [[OpenBSD]] &amp;amp;middot; [[NetBSD]] &amp;amp;middot; [[Android]] &amp;amp;middot; [[Embedded]] &amp;amp;middot; [[Input output formats]] &amp;amp;middot; [[Protocol decoders]] &amp;amp;middot; [[Probe comparison]] &amp;amp;middot; [[GPIB]] &amp;amp;middot; [[Logo]] &amp;amp;middot; [[Press]]&lt;br /&gt;
&amp;lt;/small&amp;gt;&lt;br /&gt;
}}&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style=&amp;quot;width: 49%; float: right; margin-bottom: 1em;&amp;quot;&amp;gt;&lt;br /&gt;
{{Box|&lt;br /&gt;
BORDER = #8898bf|&lt;br /&gt;
BACKGROUND = #ff3333|&lt;br /&gt;
WIDTH = 100%|&lt;br /&gt;
ICON = |&lt;br /&gt;
HEADING = [[File:Sigrok_stone.png]] &amp;lt;span style=&amp;quot;font-variant:small-caps;&amp;quot;&amp;gt;Subprojects&amp;lt;/span&amp;gt;|&lt;br /&gt;
CONTENT =&lt;br /&gt;
&amp;lt;small&amp;gt;&lt;br /&gt;
[[libserialport]] &amp;amp;middot; [[libsigrok]] &amp;amp;middot; [[libsigrokdecode]] &amp;amp;middot; [[sigrok-cli]] &amp;amp;middot; [[PulseView]] &amp;amp;middot; [[sigrok-meter]] &amp;lt;!-- &amp;amp;middot; [[sigrok-qt]] &amp;amp;middot; [[sigrok-gtk]] --&amp;gt; &amp;amp;middot; [[fx2lafw]] &amp;amp;middot; [[gpibgrok]] &amp;amp;middot; [[fx2grok]] &amp;amp;middot; [[fpgalafw]] &amp;amp;middot; [[Firmware]] &amp;amp;middot; [[Example dumps]]&lt;br /&gt;
&amp;lt;/small&amp;gt;&lt;br /&gt;
}}&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style=&amp;quot;clear: both;&amp;quot;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style=&amp;quot;width: 50%; float: left; margin-bottom: 1em;&amp;quot;&amp;gt;&lt;br /&gt;
{{Box|&lt;br /&gt;
BORDER = #8898bf|&lt;br /&gt;
BACKGROUND = yellow|&lt;br /&gt;
WIDTH = 100%|&lt;br /&gt;
ICON = |&lt;br /&gt;
HEADING = [[File:Sigrok_stone.png]] &amp;lt;span style=&amp;quot;font-variant:small-caps;&amp;quot;&amp;gt;Getting in touch&amp;lt;/span&amp;gt;|&lt;br /&gt;
CONTENT = &lt;br /&gt;
&amp;lt;small&amp;gt;&lt;br /&gt;
Mailing lists: [https://lists.sourceforge.net/lists/listinfo/sigrok-devel sigrok-devel] ([http://news.gmane.org/gmane.comp.debugging.sigrok.devel archive]), [https://lists.sourceforge.net/lists/listinfo/sigrok-commits sigrok-commits] ([http://sourceforge.net/mailarchive/forum.php?forum_name=sigrok-commits archive]) &amp;amp;middot; IRC: [irc://chat.freenode.net/sigrok #sigrok]&lt;br /&gt;
&amp;lt;/small&amp;gt;&lt;br /&gt;
}}&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style=&amp;quot;width: 49%; float: right; margin-bottom: 1em;&amp;quot;&amp;gt;&lt;br /&gt;
{{Box|&lt;br /&gt;
BORDER = #8898bf|&lt;br /&gt;
BACKGROUND = lightblue|&lt;br /&gt;
WIDTH = 100%|&lt;br /&gt;
ICON = |&lt;br /&gt;
HEADING = [[File:Sigrok_stone.png]] &amp;lt;span style=&amp;quot;font-variant:small-caps;&amp;quot;&amp;gt;Development&amp;lt;/span&amp;gt;|&lt;br /&gt;
CONTENT =&lt;br /&gt;
&amp;lt;small&amp;gt;&lt;br /&gt;
[[Developers]] &amp;amp;middot; [http://sigrok.org/api/libsigrok/unstable/index.html libsigrok API] &amp;amp;middot; [http://sigrok.org/api/libsigrokdecode/unstable/index.html libsigrokdecode API] &amp;amp;middot; [http://sigrok.org/gitweb/ Browse source code] &amp;amp;middot; [http://sigrok.org/bugzilla/ Bug tracker] &amp;amp;middot; [[Protocol decoder HOWTO]] &amp;amp;middot; [[Protocol decoder API]] &amp;amp;middot; [[Formats and structures]] &amp;amp;middot; [[Hardware driver API]] &amp;amp;middot; [[Portability]] &amp;amp;middot; [[TODO]]&lt;br /&gt;
&amp;lt;/small&amp;gt;&lt;br /&gt;
}}&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style=&amp;quot;clear: both;margin-top: 2em;&amp;quot;&amp;gt;&lt;br /&gt;
----&lt;br /&gt;
&amp;lt;small&amp;gt;&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;IMPORTANT: Unless explicitly specified otherwise, all contents in this wiki (including text and images) are released under the &amp;lt;span style=&amp;quot;color:red&amp;quot;&amp;gt;CC-BY-SA 3.0&amp;lt;/span&amp;gt; license. If you don&amp;#039;t want that, please explicitly specify another free-ish license when adding pages/images!&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&amp;lt;/small&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
__NOTOC__&lt;br /&gt;
__NOEDITSECTION__&lt;/div&gt;</summary>
		<author><name>Joelholdsworth</name></author>
	</entry>
	<entry>
		<id>https://sigrok.org/w/index.php?title=Fpgalafw&amp;diff=7791</id>
		<title>Fpgalafw</title>
		<link rel="alternate" type="text/html" href="https://sigrok.org/w/index.php?title=Fpgalafw&amp;diff=7791"/>
		<updated>2013-12-06T09:09:24Z</updated>

		<summary type="html">&lt;p&gt;Joelholdsworth: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{DISPLAYTITLE:fpgalafw}}&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;This is a preliminary design&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;fpgalafw&amp;#039;&amp;#039;&amp;#039; is a proposal for a project to implement a universal logic analyser firmware for use as a firmware for commercial logic analysers that we wish to support, on FPGA development boards and for use as an in-circuit, or even in-FPGA debugging tool.&lt;br /&gt;
&lt;br /&gt;
== Benefits ==&lt;br /&gt;
&lt;br /&gt;
* Would simplify the implementation of libsigrok.&lt;br /&gt;
** Reduced repetition.&lt;br /&gt;
** Advanced triggering becomes hard when every manufacturer has a different trigger model. We can implement one to cover a variety of devices.&lt;br /&gt;
* Unlock previously unsupported device features. If a feature is added to one LA, it is added to all.&lt;br /&gt;
* Would enable support for more analysers such as the [[RockyLogic Ant8]], the [[RockyLogic Ant18e]], the [[ChronoVu LA8]] etc.&lt;br /&gt;
&lt;br /&gt;
== Goals ==&lt;br /&gt;
&lt;br /&gt;
* 100% open-source Verilog implementation (written from scratch or based off of other open-source projects).&lt;br /&gt;
* Portable Verilog implementation that works (as much as possible) in a generic way.&lt;br /&gt;
** Should work across all common FPGA/CPLD families from various vendors, including Xilinx, Altera, Microsemi/Actel, Lattice, etc.&lt;br /&gt;
** Should work for any suitable FPGA/CPLD based logic analyzer board (existing devices or future ones than can be built specifically for use with this project), and any suitable CPLD/FPGA eval boards.&lt;br /&gt;
** This means that the use of vendor-/family-specific constructs are discouraged in the &amp;quot;core&amp;quot; of the code. There might be optional per-device or per-vendor constructs that are not portable, but those should be moved outside the &amp;quot;core&amp;quot; so that as much functionality as possible works for any device.&lt;br /&gt;
&lt;br /&gt;
== Previous Projects ==&lt;br /&gt;
&lt;br /&gt;
There are various pre-existing open source firmware projects that can be drawn upon:&lt;br /&gt;
&lt;br /&gt;
* 2004 - [http://www.freepcb.com/eebit/ eebit]&lt;br /&gt;
* 2006 - [http://www.sump.org/projects/analyzer/ SUMP] (written in VHDL)&lt;br /&gt;
* 2008 - [http://opencores.org/project,openverifla openVeriFLA]&lt;br /&gt;
* 2009 - [http://minila.sourceforge.net/index.php miniLA]&lt;br /&gt;
* 2009 - [http://lekernel.net/blog/2009/01/usb-logic-analyzer/ LeKernel&amp;#039;s Logic Analyser]&lt;br /&gt;
* 2010 - [http://www.bastli.ethz.ch/index.php?page=BitHoundEn BitHound] (Derived from SUMP but with Ethernet interface)&lt;br /&gt;
* 2011 - [http://dangerousprototypes.com/docs/Open_Bench_Logic_Sniffer OpenBench Logic Sniffer] (Derived from SUMP, ported to Verilog)&lt;br /&gt;
** [http://gadgetforge.gadgetfactory.net/gf/project/butterflylogic/scmsvn/?action=browse&amp;amp;path=%2Ftrunk%2FVerilog_Core%2F Demon Core Verilog Source Code SVN]&lt;br /&gt;
&lt;br /&gt;
== Status ==&lt;br /&gt;
Some intitial work has been done, but the project is not really started yet. The current best branches are&lt;br /&gt;
* Joel Holdsworth&amp;#039;s work on the demon core: https://github.com/jhol/butterflylogic&lt;br /&gt;
* Iztok Jeras&amp;#039;s work on the demone core: https://github.com/jeras/butterflylogic&lt;br /&gt;
&lt;br /&gt;
== Components ==&lt;br /&gt;
&lt;br /&gt;
fpgalafw will not work as a monolithic single firmware. Rather it is a library/framework of components that can be assembled together depending on the capabilities of the device, and the mode of operation.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style=&amp;quot;clear: both;&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;div style=&amp;quot;width: 31%; float: left; margin-right: 2%; margin-bottom: 1em;&amp;quot;&amp;gt;&lt;br /&gt;
{{Box|&lt;br /&gt;
BORDER = #8898bf|&lt;br /&gt;
BACKGROUND = #cc0000|&lt;br /&gt;
WIDTH = 100%|&lt;br /&gt;
ICON = |&lt;br /&gt;
HEADING = &amp;lt;span style=&amp;quot;font-variant:small-caps;&amp;quot;&amp;gt;Host Interface&amp;lt;/span&amp;gt;|&lt;br /&gt;
CONTENT =&lt;br /&gt;
* [http://www.cypress.com/?id=193 Cypress FX2]&lt;br /&gt;
* [http://www.ftdichip.com/Products/ICs/FT245BM.htm FTDI FT245] USB Fifo&lt;br /&gt;
* RS232 (SUMP)&lt;br /&gt;
* Ethernet&lt;br /&gt;
* USB-MCU&lt;br /&gt;
* JTAG - for ChipScope-like in-circuit use cases.&lt;br /&gt;
* PCIe?&lt;br /&gt;
* Parallel Port?&lt;br /&gt;
* Cypress FX3?&lt;br /&gt;
}}&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;div style=&amp;quot;width: 31%; float: left; margin-right: 2%; margin-bottom: 1em;&amp;quot;&amp;gt;&lt;br /&gt;
{{Box|&lt;br /&gt;
BORDER = #8898bf|&lt;br /&gt;
BACKGROUND = #f57900|&lt;br /&gt;
WIDTH = 100%|&lt;br /&gt;
ICON = |&lt;br /&gt;
HEADING = &amp;lt;span style=&amp;quot;font-variant:small-caps;&amp;quot;&amp;gt;Storage&amp;lt;/span&amp;gt;|&lt;br /&gt;
CONTENT =&lt;br /&gt;
* Internal Block-RAM (BRAM)&lt;br /&gt;
* External DRAM&lt;br /&gt;
* External SDRAM (DDR2, DDR3)&lt;br /&gt;
* Burst RAM&lt;br /&gt;
* Internal Soft-RAM? (Shift Registers)&lt;br /&gt;
* Streaming Pass-through&lt;br /&gt;
}}&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;div style=&amp;quot;width: 31%; float: left; margin-bottom: 1em;&amp;quot;&amp;gt;&lt;br /&gt;
{{Box|&lt;br /&gt;
BORDER = #8898bf|&lt;br /&gt;
BACKGROUND = #edd400|&lt;br /&gt;
WIDTH = 100%|&lt;br /&gt;
ICON = |&lt;br /&gt;
HEADING = &amp;lt;span style=&amp;quot;font-variant:small-caps;&amp;quot;&amp;gt;Data Packer&amp;lt;/span&amp;gt;|&lt;br /&gt;
CONTENT =&lt;br /&gt;
* N-probes to M-data Lines Muxer&lt;br /&gt;
* RLE Encoder&lt;br /&gt;
* RLE + Golomb/Huffman/... Encoder?&lt;br /&gt;
}}&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style=&amp;quot;clear: both;&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;div style=&amp;quot;width: 31%; float: left; margin-right: 2%; margin-bottom: 1em;&amp;quot;&amp;gt;&lt;br /&gt;
{{Box|&lt;br /&gt;
BORDER = #8898bf|&lt;br /&gt;
BACKGROUND = #73d216|&lt;br /&gt;
WIDTH = 100%|&lt;br /&gt;
ICON = |&lt;br /&gt;
HEADING = &amp;lt;span style=&amp;quot;font-variant:small-caps;&amp;quot;&amp;gt;Indicator LEDs&amp;lt;/span&amp;gt;|&lt;br /&gt;
CONTENT =&lt;br /&gt;
* None&lt;br /&gt;
* Tri-colour&lt;br /&gt;
* Multiple LEDs&lt;br /&gt;
}}&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;div style=&amp;quot;width: 31%; float: left; margin-right: 2%; margin-bottom: 1em;&amp;quot;&amp;gt;&lt;br /&gt;
{{Box|&lt;br /&gt;
BORDER = #8898bf|&lt;br /&gt;
BACKGROUND = #3465a4|&lt;br /&gt;
WIDTH = 100%|&lt;br /&gt;
ICON = |&lt;br /&gt;
HEADING = &amp;lt;span style=&amp;quot;font-variant:small-caps;&amp;quot;&amp;gt;Operating Modes&amp;lt;/span&amp;gt;|&lt;br /&gt;
CONTENT =&lt;br /&gt;
* Storage Sampling&lt;br /&gt;
** Asynchronous Mode&lt;br /&gt;
** Externally Clocked Synchronous (State Analysis) Mode&lt;br /&gt;
* Continuous Sampling&lt;br /&gt;
* Pulse Counter&lt;br /&gt;
* Time-to-digital Conversion&lt;br /&gt;
* Signal Generation&lt;br /&gt;
}}&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;div style=&amp;quot;width: 31%; float: left; margin-bottom: 1em;&amp;quot;&amp;gt;&lt;br /&gt;
{{Box|&lt;br /&gt;
BORDER = #8898bf|&lt;br /&gt;
BACKGROUND = #75507b|&lt;br /&gt;
WIDTH = 100%|&lt;br /&gt;
ICON = |&lt;br /&gt;
HEADING = &amp;lt;span style=&amp;quot;font-variant:small-caps;&amp;quot;&amp;gt;Triggering&amp;lt;/span&amp;gt;|&lt;br /&gt;
CONTENT =&lt;br /&gt;
* External&lt;br /&gt;
* Simple (Edge/Level)&lt;br /&gt;
* Time Delayed&lt;br /&gt;
* Advanced Triggers (the Demon Core replicates the behaviour of the HP16550)&lt;br /&gt;
}}&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style=&amp;quot;clear: both;&amp;quot;&amp;gt;&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Project Folder Structure ==&lt;br /&gt;
&lt;br /&gt;
Proposed project folder structure...&lt;br /&gt;
&lt;br /&gt;
* /&lt;br /&gt;
** README&lt;br /&gt;
** NEWS&lt;br /&gt;
** Makefile&lt;br /&gt;
** /boards&lt;br /&gt;
*** /openbench-logic-sniffer&lt;br /&gt;
*** /nexys2&lt;br /&gt;
*** /papilio ...&lt;br /&gt;
** /rtl&lt;br /&gt;
*** /verilog&lt;br /&gt;
**** /host-interface&lt;br /&gt;
***** /cypress-fx2&lt;br /&gt;
****** /software&lt;br /&gt;
****** /firmware&lt;br /&gt;
***** /sump&lt;br /&gt;
****** /firmware&lt;br /&gt;
****** ....&lt;br /&gt;
**** /storage&lt;br /&gt;
***** /ddr2&lt;br /&gt;
****** /firmware&lt;br /&gt;
***** /bram&lt;br /&gt;
****** /firmware&lt;br /&gt;
** /tools&lt;br /&gt;
*** # Scripts etc in here&lt;br /&gt;
** /sw&lt;br /&gt;
*** # Embedded sofware here&lt;br /&gt;
&lt;br /&gt;
== Firmware Packaging ==&lt;br /&gt;
&lt;br /&gt;
Each device class will be given a firmware package that the driver can load. This package will be ZIP-file containing multiple firmware .bit files for the different permutations of modes and options that can be selected on this device. It is undesirable to have a single universal hardware file for each device, because multiple features will compete for use the limited number of logic units and internal storage.&lt;br /&gt;
&lt;br /&gt;
The firmware package will contain a text index file that indicates the capabilities of the device, its Bus ID, and a list of the firmware files available.&lt;br /&gt;
&lt;br /&gt;
== Firmware Build Environment ==&lt;br /&gt;
&lt;br /&gt;
The firmware will be built using a GNU Make driven build environment, which will be compatible with Altera, Xilinx, Microsemi/Actel, Lattice tools, and FreeHDL etc.&lt;br /&gt;
&lt;br /&gt;
== Protocol ==&lt;br /&gt;
&lt;br /&gt;
We will implement a common command protocol, common among all the host interfaces. (With the possible exception of SUMP if we plan to support that).&lt;/div&gt;</summary>
		<author><name>Joelholdsworth</name></author>
	</entry>
	<entry>
		<id>https://sigrok.org/w/index.php?title=File_format:Sigrok/v3&amp;diff=7783</id>
		<title>File format:Sigrok/v3</title>
		<link rel="alternate" type="text/html" href="https://sigrok.org/w/index.php?title=File_format:Sigrok/v3&amp;diff=7783"/>
		<updated>2013-12-04T14:45:37Z</updated>

		<summary type="html">&lt;p&gt;Joelholdsworth: /* jhol&amp;#039;s Musings */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Problem ==&lt;br /&gt;
&lt;br /&gt;
The current .sr file format is a ZIP file containing multiple files (some metadata files and actual sampling data files). This works fine, but it also has some issues:&lt;br /&gt;
&lt;br /&gt;
* In order to get to the data you want, you need to decompress the whole file.&lt;br /&gt;
* Appending to a file is not possible easily (and it&amp;#039;s not efficient).&lt;br /&gt;
* ...&lt;br /&gt;
&lt;br /&gt;
== Wish list ==&lt;br /&gt;
&lt;br /&gt;
* It should be able to store metadata and arbitrary data (logic samples, and/or analog samples, and so on).&lt;br /&gt;
* It must support compression.&lt;br /&gt;
* It should be able to handle run-time changes in the data streams (via meta packets on the session bus), e.g. changing samplerates, changing probes, etc. etc.&lt;br /&gt;
* Better compression properties (e.g. using LZO or other algorithms, this is to be evaluated). What we ideally want out of the compression algorithm is:&lt;br /&gt;
** Good and relatively fast compression results at only moderate CPU usage.&lt;br /&gt;
** Very fast decompression (LZO is probably the best one here, as it&amp;#039;s specifically designed for this).&lt;br /&gt;
** Ideally, support for appending further data to already compressed data chunks (though this could be also implemented outside of the compression algorithm per se).&lt;br /&gt;
** Open-source license and OS portability. There should be an open-source library or code chunk for compression/uncompression and it should be widely available in Linux distros, and portable to Windows, Mac OS X, FreeBSD, and so on.&lt;br /&gt;
* Independent of hardware architecture (x86, ARM, PowerPC, MIPS, and so on), OS, endianness, float representation, and so on. All data fields must be properly specified (endianness, signedness, size, format).&lt;br /&gt;
&amp;lt;div style=&amp;quot;color: green&amp;quot;&amp;gt;&lt;br /&gt;
* Must be (optionally) possible to store extra UI state data. E.g User configured probe colours, names, positions.&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
We were planning [[Input output formats/sigrok session|a new file format]] and a full spec for it for other reasons already, but this will probably be obsolete anyway and solved differently (see above).&lt;br /&gt;
&lt;br /&gt;
== jhol&amp;#039;s Musings ==&lt;br /&gt;
&lt;br /&gt;
* Data should be encoded in a data aware way. This would give greater compression:&lt;br /&gt;
** Logic Data is most efficient stored in RLE+Huffman or Golomb coding. e.g. a clock signal may compress to one bit per edge.&lt;br /&gt;
** FLAC (libflac) or a FLAC inspired codec (linear predicition) is probably as good as it gets for lossless analog data encoding.&lt;br /&gt;
* If data is stored in a format specific way, it would be best to store it as a series of stream-blocks, similar to how video containers work. Would it be possible to simply leverage a video container such as OGG? IIRC this contains headers to declare metadata about each stream, then a series of timestamped stream blocks interleaved together. The time stamp is a format specific number... for audio: the sample number, for video: the frame number, so sigrok formats can easily leverage this.&lt;br /&gt;
** Similarly RTP is a rather natural protocol for sigrok network streaming.&lt;br /&gt;
* PulseView needs some means to save state: Probe names/colours/positions etc. Probably best to store this in an INI file (- JSON?). In ZIP this is easy - just add an extra file to the archive.&lt;/div&gt;</summary>
		<author><name>Joelholdsworth</name></author>
	</entry>
	<entry>
		<id>https://sigrok.org/w/index.php?title=File_format:Sigrok/v3&amp;diff=7782</id>
		<title>File format:Sigrok/v3</title>
		<link rel="alternate" type="text/html" href="https://sigrok.org/w/index.php?title=File_format:Sigrok/v3&amp;diff=7782"/>
		<updated>2013-12-04T14:42:33Z</updated>

		<summary type="html">&lt;p&gt;Joelholdsworth: /* jhol&amp;#039;s Musings */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Problem ==&lt;br /&gt;
&lt;br /&gt;
The current .sr file format is a ZIP file containing multiple files (some metadata files and actual sampling data files). This works fine, but it also has some issues:&lt;br /&gt;
&lt;br /&gt;
* In order to get to the data you want, you need to decompress the whole file.&lt;br /&gt;
* Appending to a file is not possible easily (and it&amp;#039;s not efficient).&lt;br /&gt;
* ...&lt;br /&gt;
&lt;br /&gt;
== Wish list ==&lt;br /&gt;
&lt;br /&gt;
* It should be able to store metadata and arbitrary data (logic samples, and/or analog samples, and so on).&lt;br /&gt;
* It must support compression.&lt;br /&gt;
* It should be able to handle run-time changes in the data streams (via meta packets on the session bus), e.g. changing samplerates, changing probes, etc. etc.&lt;br /&gt;
* Better compression properties (e.g. using LZO or other algorithms, this is to be evaluated). What we ideally want out of the compression algorithm is:&lt;br /&gt;
** Good and relatively fast compression results at only moderate CPU usage.&lt;br /&gt;
** Very fast decompression (LZO is probably the best one here, as it&amp;#039;s specifically designed for this).&lt;br /&gt;
** Ideally, support for appending further data to already compressed data chunks (though this could be also implemented outside of the compression algorithm per se).&lt;br /&gt;
** Open-source license and OS portability. There should be an open-source library or code chunk for compression/uncompression and it should be widely available in Linux distros, and portable to Windows, Mac OS X, FreeBSD, and so on.&lt;br /&gt;
* Independent of hardware architecture (x86, ARM, PowerPC, MIPS, and so on), OS, endianness, float representation, and so on. All data fields must be properly specified (endianness, signedness, size, format).&lt;br /&gt;
&amp;lt;div style=&amp;quot;color: green&amp;quot;&amp;gt;&lt;br /&gt;
* Must be (optionally) possible to store extra UI state data. E.g User configured probe colours, names, positions.&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
We were planning [[Input output formats/sigrok session|a new file format]] and a full spec for it for other reasons already, but this will probably be obsolete anyway and solved differently (see above).&lt;br /&gt;
&lt;br /&gt;
== jhol&amp;#039;s Musings ==&lt;br /&gt;
&lt;br /&gt;
* Data should be encoded in a data aware way. This would give greater compression:&lt;br /&gt;
** Logic Data is most efficient stored in RLE+Huffman or Golomb coding. e.g. a clock signal may compress to one bit per edge.&lt;br /&gt;
** FLAC (libflac) or a FLAC inspired codec (linear predicition) is probably as good as it gets for lossless analog data encoding.&lt;br /&gt;
* If data is stored in a format specific way, it would be best to store it as a series of stream-blocks, similar to how video containers work. Would it be possible to simply leverage a video container such as OGG? IIRC this contains headers to declare metadata about each stream, then a series of timestamped stream blocks interleaved together. The time stamp is a format specific number... for audio: the sample number, for video: the frame number, so sigrok formats can easily leverage this.&lt;br /&gt;
* PulseView needs some means to save state: Probe names/colours/positions etc. Probably best to store this in an INI file (- JSON?). In ZIP this is easy - just add an extra file to the archive.&lt;/div&gt;</summary>
		<author><name>Joelholdsworth</name></author>
	</entry>
	<entry>
		<id>https://sigrok.org/w/index.php?title=File_format:Sigrok/v3&amp;diff=7781</id>
		<title>File format:Sigrok/v3</title>
		<link rel="alternate" type="text/html" href="https://sigrok.org/w/index.php?title=File_format:Sigrok/v3&amp;diff=7781"/>
		<updated>2013-12-04T14:42:17Z</updated>

		<summary type="html">&lt;p&gt;Joelholdsworth: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Problem ==&lt;br /&gt;
&lt;br /&gt;
The current .sr file format is a ZIP file containing multiple files (some metadata files and actual sampling data files). This works fine, but it also has some issues:&lt;br /&gt;
&lt;br /&gt;
* In order to get to the data you want, you need to decompress the whole file.&lt;br /&gt;
* Appending to a file is not possible easily (and it&amp;#039;s not efficient).&lt;br /&gt;
* ...&lt;br /&gt;
&lt;br /&gt;
== Wish list ==&lt;br /&gt;
&lt;br /&gt;
* It should be able to store metadata and arbitrary data (logic samples, and/or analog samples, and so on).&lt;br /&gt;
* It must support compression.&lt;br /&gt;
* It should be able to handle run-time changes in the data streams (via meta packets on the session bus), e.g. changing samplerates, changing probes, etc. etc.&lt;br /&gt;
* Better compression properties (e.g. using LZO or other algorithms, this is to be evaluated). What we ideally want out of the compression algorithm is:&lt;br /&gt;
** Good and relatively fast compression results at only moderate CPU usage.&lt;br /&gt;
** Very fast decompression (LZO is probably the best one here, as it&amp;#039;s specifically designed for this).&lt;br /&gt;
** Ideally, support for appending further data to already compressed data chunks (though this could be also implemented outside of the compression algorithm per se).&lt;br /&gt;
** Open-source license and OS portability. There should be an open-source library or code chunk for compression/uncompression and it should be widely available in Linux distros, and portable to Windows, Mac OS X, FreeBSD, and so on.&lt;br /&gt;
* Independent of hardware architecture (x86, ARM, PowerPC, MIPS, and so on), OS, endianness, float representation, and so on. All data fields must be properly specified (endianness, signedness, size, format).&lt;br /&gt;
&amp;lt;div style=&amp;quot;color: green&amp;quot;&amp;gt;&lt;br /&gt;
* Must be (optionally) possible to store extra UI state data. E.g User configured probe colours, names, positions.&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
We were planning [[Input output formats/sigrok session|a new file format]] and a full spec for it for other reasons already, but this will probably be obsolete anyway and solved differently (see above).&lt;br /&gt;
&lt;br /&gt;
== jhol&amp;#039;s Musings ==&lt;br /&gt;
&lt;br /&gt;
* Data should be encoded in a data aware way. This would give greater compression:&lt;br /&gt;
** Logic Data is most efficient stored in RLE+Huffman or Golomb coding. e.g. a clock signal may compress to one bit per edge.&lt;br /&gt;
** FLAC (libflac) or a FLAC inspired codec (linear predicition) is probably as good as it gets for analog data encoding.&lt;br /&gt;
* If data is stored in a format specific way, it would be best to store it as a series of stream-blocks, similar to how video containers work. Would it be possible to simply leverage a video container such as OGG? IIRC this contains headers to declare metadata about each stream, then a series of timestamped stream blocks interleaved together. The time stamp is a format specific number... for audio: the sample number, for video: the frame number, so sigrok formats can easily leverage this.&lt;br /&gt;
* PulseView needs some means to save state: Probe names/colours/positions etc. Probably best to store this in an INI file (- JSON?). In ZIP this is easy - just add an extra file to the archive.&lt;/div&gt;</summary>
		<author><name>Joelholdsworth</name></author>
	</entry>
</feed>