Difference between revisions of "PulseView"

From sigrok
Jump to navigation Jump to search
(add link to online 0.4.2 manual page)
 
(52 intermediate revisions by 8 users not shown)
Line 1: Line 1:
'''PulseView''' is a Qt/OpenGL based logic analyzer GUI for sigrok.
[[File:PulseView I2C DS1307 Decode.png|thumb|320px|right|PulseView (10-Aug-2014)]]
[[File:Pulseview rigol 2 analog channels.png|thumb|320px|PulseView + scope]]
 
'''PulseView''' (sometimes abbreviated as "PV") is a Qt based logic analyzer, oscilloscope and MSO GUI for sigrok.
 
It is licensed under the terms of the '''GNU GPL, version 3 or later'''.


== Features ==
== Features ==


TODO.
* Fast O(log N) signal rendering at all zoom levels.
* [[Protocol decoders|Protocol decoder]] support
* Trace groups support
 
== Manual ==
 
Please refer to the [https://sigrok.org/doc/pulseview/unstable/manual.html PulseView manual] for a lot more information. Previous versions for released software also exist: [https://sigrok.org/doc/pulseview/0.4.2/manual.html 0.4.2].
 
If you are updating the manual and want to check what your changes look like, you can use "make manual" to build it.
 
There's also a video made by the original author of PulseView on YouTube that explains the basics of logic analyzers in general, how to use them and how they work with PulseView: ''[https://www.youtube.com/watch?v=dobU-b0_L1I 001 Sigrok and Logic Analyzers]''


== Download ==
== Download ==


TODO.
Binaries, distro packages and source code tarballs are available from [[Downloads]].
 
Git:
 
$ '''git clone git://sigrok.org/pulseview.git'''
 
You can also [http://sigrok.org/gitweb/?p=pulseview.git;a=summary browse the source code] via GitWeb.


== Requirements ==
== Requirements ==


* git
See [[Building#PulseView|build requirements for PulseView]].
* g++
* make
* cmake >= 2.6
* libtool
* pkg-config >= 0.22
* libglib >= 2.28.0
* Qt >= 4.x
* libsigrok >= 0.2.0
* libboost >= 1.4.6
* libboost-test >= 1.4.6 (Boost unit test lib)


== Building ==
== Building ==
=== Ubuntu ===
==== Prerequisites ====
* You first need to build and install the libsigrok and libsigrokdecode from my git resposity. The last release of sigrok will not work, nor will the mainline head build.
* You will also need to install boost and cmake with the following command:
$ sudo apt-get install cmake libboost-dev libboost-test-dev


==== Bootstrap ====
See [[Linux#PulseView|building PulseView on Linux]] (or any other of the [[Building#Building_from_source|OS-specific instruction pages]]).
$  cmake .
 
* Use <code>PKG_CONFIG_PATH=/''<prefix-of-libsigrok-installation>''/lib/pkgconfig/</code> if libsigrok and libsigrokdecode are installed to a non-standard prefix.
'''Additional notes:'''
* To make a non-stripped debug build <code>cmake -DCMAKE_BUILD_TYPE=Debug .</code>
 
==== Build ====
* Use <code>PKG_CONFIG_PATH=/''<prefix-of-libsigrok-installation>''/lib/pkgconfig/</code> if [[libsigrok]] and [[libsigrokdecode]] are installed to a non-standard prefix. See also [[Building#Installing_to_a_non-standard_directory_using_LD_LIBRARY_PATH]] for more details.
$ make
* To change the install prefix: <code>cmake -DCMAKE_INSTALL_PREFIX=''<prefix-dir>''/ ..</code>
* <code>make VERBOSE=1</code> to show compiler arguments.
* To show compiler arguments during the build: <code>make VERBOSE=1</code>
==== Test ====
* To make a non-stripped debug build <code>cmake -DCMAKE_BUILD_TYPE=Debug ..</code>
$ ./pulseview
* To enable unit tests: <code>cmake -DENABLE_TESTS=y ..</code>
* To enable decoders: <code>cmake -DENABLE_DECODE=y ..</code>
* To disable -Werror: <code>cmake -DDISABLE_WERROR=y ..</code>
* To build with Clang: <code>CXX=clang++ cmake ..</code>
 
== Translations ==
 
PulseView supports translations and so it would be nice if users like you would contribute translations of the user interface that we can include. All you need is a clone of the PulseView repository (either using our Git repo or the GitHub repo), lupdate and Qt Linguist - on Ubuntu, the last two are included in the qttools5-dev and qttools5-dev-tools packages.
 
After obtaining a copy of the repository, look up the [https://en.wikipedia.org/wiki/List_of_ISO_639-1_codes ISO 639-1 code] for the language you want to translate to and create an untranslated language file. Using Germany (DE) as an example, you'd do
 
cd where/you/unpacked/the/PulseView/repo
lupdate -recursive . -ts l10n/de.ts
 
or, if the language has a regional flavor, additionally with a [https://en.wikipedia.org/wiki/List_of_ISO_3166_country_codes Alpha-2 ISO code] (here for Mexican Spanish):
 
cd where/you/unpacked/the/PulseView/repo
lupdate -recursive . -ts l10n/es_mx.ts
 
Then, open the newly created .ts file in Qt Lingust and go through the translations just like its [https://doc.qt.io/qt-5/linguist-translators.html manual] describes. We are aware that some terms are unique to sigrok/PulseView and thus hard to translate, but please try to preserve the spirit of the word, even if there isn't any literal translation. Sometimes, this is however not possible, and that's okay. For the German translation, for example, the words "annotation" and "decode trace row" have no suitable equivalents, so we had to make use of translations in spirit ("decoded values" for annotations and "category" for decode trace row), as unfortunate as this is.
 
When you're done with your translations, set the language of the translations in Qt Linguist (menu ''Edit'' &rarr; ''Translation File Settings'') and put it somewhere where we can access it - e.g., the [https://sigrok.org/bugzilla/ bug tracker] or the mailing list. We'll then take the file and incorporate it into the build. Either way, we'll add your name to the application credits and keep your email on file, so that we can contact you when additional translations are needed - there isn't any obligation, but we'd appreciate if you'd then update the translation for the language you chose to submit to us.
 
== Resources ==
 
* [[PulseView/Architecture|PulseView architecture overview]]
* [[TODO#PulseView|PulseView TODO list]]
* [[PulseView/Concepts|PulseView GUI concepts]]
* [https://www.ohloh.net/p/pulseview PulseView on ohloh]
* [http://airwebreathe.org.uk/doku.php?id=pulseview Joel Holdsworth's personal PulseView project page]

Latest revision as of 07:06, 17 April 2023

PulseView (10-Aug-2014)
PulseView + scope

PulseView (sometimes abbreviated as "PV") is a Qt based logic analyzer, oscilloscope and MSO GUI for sigrok.

It is licensed under the terms of the GNU GPL, version 3 or later.

Features

  • Fast O(log N) signal rendering at all zoom levels.
  • Protocol decoder support
  • Trace groups support

Manual

Please refer to the PulseView manual for a lot more information. Previous versions for released software also exist: 0.4.2.

If you are updating the manual and want to check what your changes look like, you can use "make manual" to build it.

There's also a video made by the original author of PulseView on YouTube that explains the basics of logic analyzers in general, how to use them and how they work with PulseView: 001 Sigrok and Logic Analyzers

Download

Binaries, distro packages and source code tarballs are available from Downloads.

Git:

$ git clone git://sigrok.org/pulseview.git

You can also browse the source code via GitWeb.

Requirements

See build requirements for PulseView.

Building

See building PulseView on Linux (or any other of the OS-specific instruction pages).

Additional notes:

  • Use PKG_CONFIG_PATH=/<prefix-of-libsigrok-installation>/lib/pkgconfig/ if libsigrok and libsigrokdecode are installed to a non-standard prefix. See also Building#Installing_to_a_non-standard_directory_using_LD_LIBRARY_PATH for more details.
  • To change the install prefix: cmake -DCMAKE_INSTALL_PREFIX=<prefix-dir>/ ..
  • To show compiler arguments during the build: make VERBOSE=1
  • To make a non-stripped debug build cmake -DCMAKE_BUILD_TYPE=Debug ..
  • To enable unit tests: cmake -DENABLE_TESTS=y ..
  • To enable decoders: cmake -DENABLE_DECODE=y ..
  • To disable -Werror: cmake -DDISABLE_WERROR=y ..
  • To build with Clang: CXX=clang++ cmake ..

Translations

PulseView supports translations and so it would be nice if users like you would contribute translations of the user interface that we can include. All you need is a clone of the PulseView repository (either using our Git repo or the GitHub repo), lupdate and Qt Linguist - on Ubuntu, the last two are included in the qttools5-dev and qttools5-dev-tools packages.

After obtaining a copy of the repository, look up the ISO 639-1 code for the language you want to translate to and create an untranslated language file. Using Germany (DE) as an example, you'd do

cd where/you/unpacked/the/PulseView/repo
lupdate -recursive . -ts l10n/de.ts

or, if the language has a regional flavor, additionally with a Alpha-2 ISO code (here for Mexican Spanish):

cd where/you/unpacked/the/PulseView/repo
lupdate -recursive . -ts l10n/es_mx.ts

Then, open the newly created .ts file in Qt Lingust and go through the translations just like its manual describes. We are aware that some terms are unique to sigrok/PulseView and thus hard to translate, but please try to preserve the spirit of the word, even if there isn't any literal translation. Sometimes, this is however not possible, and that's okay. For the German translation, for example, the words "annotation" and "decode trace row" have no suitable equivalents, so we had to make use of translations in spirit ("decoded values" for annotations and "category" for decode trace row), as unfortunate as this is.

When you're done with your translations, set the language of the translations in Qt Linguist (menu EditTranslation File Settings) and put it somewhere where we can access it - e.g., the bug tracker or the mailing list. We'll then take the file and incorporate it into the build. Either way, we'll add your name to the application credits and keep your email on file, so that we can contact you when additional translations are needed - there isn't any obligation, but we'd appreciate if you'd then update the translation for the language you chose to submit to us.

Resources