<?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=PeterMortensen</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=PeterMortensen"/>
	<link rel="alternate" type="text/html" href="https://sigrok.org/wiki/Special:Contributions/PeterMortensen"/>
	<updated>2026-05-11T12:27:59Z</updated>
	<subtitle>User contributions</subtitle>
	<generator>MediaWiki 1.37.1</generator>
	<entry>
		<id>https://sigrok.org/w/index.php?title=Talk:Libsigrok&amp;diff=16379</id>
		<title>Talk:Libsigrok</title>
		<link rel="alternate" type="text/html" href="https://sigrok.org/w/index.php?title=Talk:Libsigrok&amp;diff=16379"/>
		<updated>2022-12-28T19:22:24Z</updated>

		<summary type="html">&lt;p&gt;PeterMortensen: /* Broken links */ new section&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Broken links ==&lt;br /&gt;
&lt;br /&gt;
The three links ending with &amp;#039;&amp;#039;&amp;quot;... API documentation&amp;quot;&amp;#039;&amp;#039; (e.g., &amp;#039;&amp;#039;&amp;quot;C++ bindings API documentation&amp;quot;&amp;#039;&amp;#039; ) are broken (IRC &lt;br /&gt;
2022-12-23T171629Z+0).&lt;br /&gt;
&lt;br /&gt;
--[[User:PeterMortensen|PeterMortensen]] ([[User talk:PeterMortensen|talk]]) 20:22, 28 December 2022 (CET)&lt;/div&gt;</summary>
		<author><name>PeterMortensen</name></author>
	</entry>
	<entry>
		<id>https://sigrok.org/w/index.php?title=User:PeterMortensen&amp;diff=16377</id>
		<title>User:PeterMortensen</title>
		<link rel="alternate" type="text/html" href="https://sigrok.org/w/index.php?title=User:PeterMortensen&amp;diff=16377"/>
		<updated>2022-12-16T22:51:49Z</updated>

		<summary type="html">&lt;p&gt;PeterMortensen: /* Shortcuts */ Added an item.&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;==Recent activity==&lt;br /&gt;
&lt;br /&gt;
===2020-01===&lt;br /&gt;
&lt;br /&gt;
Getting insight into what happens with PC keyboards on the signal level and on higher levels (related to repurposing an old PS/2 keyboard (BTC 5349) as a macro keyboard, with the help of an [https://store.arduino.cc/arduino-leonardo-with-headers Arduino Leonardo]):&lt;br /&gt;
&lt;br /&gt;
#For the keyboards listed below: Verify that all keys work (by capturing in PulseView and observe there is actually a signal. Note that the accent and umlaut key requires pressing a letter after).&lt;br /&gt;
#For the keyboards listed below: Capturing and submitting information for PS/2 PC keyboards (CLK and DATA), including during pressing and releasing  and bidirectional traffic (PC initialising the keyboard, e.g. at connect and/or PC startup). Submit to Git repository &amp;quot;[https://sigrok.org/gitweb/ sigrok-dumps]&amp;quot;: Keyboards (all European layout):&lt;br /&gt;
##BTC 5349 (102 keys IBM/AT type, corresponding to IBM Model M (Enhanced)). 100 mA (measured). Mechanical keyboard?&lt;br /&gt;
##Fujitsu/Siemens ([https://en.wikipedia.org/wiki/File:ISO_keyboard_%28105%29_QWERTY_UK.svg 105 keys] + 10 media keys (sleep, mail, play, stop, speaker controls, etc.). IBM/AT type. ?? mA.&lt;br /&gt;
##Microsoft &amp;#039;&amp;#039;&amp;quot;Natural Keyboard Elite&amp;quot;&amp;#039;&amp;#039;. [https://en.wikipedia.org/wiki/File:ISO_keyboard_%28105%29_QWERTY_UK.svg 105 keys]. 500 mA (nominal).&lt;br /&gt;
##[https://en.wikipedia.org/wiki/Apple_Extended_Keyboard Apple Extended Keyboard II]. [https://en.wikipedia.org/wiki/File:ISO_keyboard_%28105%29_QWERTY_UK.svg 105 keys] + one power key. ??? mA. Mechanical keyboard. Uses [https://en.wikipedia.org/wiki/Apple_Desktop_Bus#Physical ADB], not PS/2 (physically similar, but 4-pin mini-DIN connector). A single pin for data and &amp;#039;PSW&amp;#039; connected directly to the power switch. All communication is host initiated (polling).&lt;br /&gt;
#Consider adding regression tests for the PS/2 decoder. It will include if it handles the 2-3% clock frequency offset for the BTC 5349 (probably, as there is CLK, but that is not the case if decoding as the UART protocol decoder).&lt;br /&gt;
#Some higher-level protocol decoder work for PC keyboards (not decided on yet), e.g. identifying scan code sequences as the corresponding keys.&lt;br /&gt;
#Some hardware to allow an Arduino Leonardo to pose as a PC ([https://en.wikipedia.org/wiki/Open_collector open collector] outputs). To explore what commands various keyboards responds to and what modes they might enter (for example, Linux allegedly tries put keyboards into &amp;quot;Set 3&amp;quot; (the powerup default is usually &amp;quot;Set 2&amp;quot;)). The three LEDs on the keyboard can also be used for user feedback for the macro keyboard.&lt;br /&gt;
#Existing content on the wiki, etc. regarding PC keyboards, etc.:&lt;br /&gt;
##Keyboards (none found, but are probably not supposed to exist, only actual capturing hardware(?)).&lt;br /&gt;
##[[Protocol_decoder:Ps2|PS/2 decoder page]]. Does not exist??&lt;br /&gt;
##&amp;#039;&amp;#039;&amp;quot;The decode of some PS/2 (or USB) keyboard/mouse traffic could yield an ASCII text file of all the keys that were pressed on the keyboard.&amp;quot;&amp;#039;&amp;#039; (on [[Protocol decoder output|a planning page]])&lt;br /&gt;
##Look in bug tracker for PS/2, keyboards, etc.&lt;br /&gt;
###Bug #1460 - [https://sigrok.org/gitweb/?p=libsigrokdecode.git;a=commitdiff;h=4370348c4fcdbd708715c35a38fdf06c9364d518 ps2: end data byte at rising clock edge of the stop bit]&lt;br /&gt;
##Look in Git log&lt;br /&gt;
### [https://sigrok.org/gitweb/?p=sigrok-dumps.git;a=commit;h=16931eb480ba5df923c1508f3d83719eddcc5ab3 PS/2 keyboard data submitted on 2019-12-21] (discovered on [https://sigrok.org/gitweb/?p=sigrok-dumps.git;a=log projects / sigrok-dumps.git / commit ])&lt;br /&gt;
##Look in IRC log&lt;br /&gt;
##Look in blog posts for info on PS/2, etc.&lt;br /&gt;
#Updating the wiki&lt;br /&gt;
##Add PS/2 low-level reference (details about the CLK signal) to the PS/2 protocol decoder page. IRC ref. [2020-01-07 01:49:07] and [2020-01-07 18:09:02] (UTC+1)). Add to the resources section. Is: http://www.nerdkits.com/videos/interrupts_and_ps2_keyboard/&lt;br /&gt;
##Add keyboard documentation, pictures (not decided on yet).&lt;br /&gt;
#Ideas:&lt;br /&gt;
##Deliberately send data to the keyboard with a parity error.&lt;br /&gt;
##Deliberately add noise to the signals (say, wide-band white noise by electronics means), forcing parity errors. This should force the receiver (keyboard or host PC) to respond.&lt;br /&gt;
##Send unknown commands to the keyboard. It should respond with 0xFE (in contrast to the normal 0xFA).&lt;br /&gt;
##Try all the keyboard commands in &amp;#039;&amp;#039;[https://www.win.tue.nl/~aeb/linux/kbd/scancodes-12.html Keyboard commands]&amp;#039;&amp;#039;.&lt;br /&gt;
##For a keyboard that is &amp;#039;&amp;#039;both&amp;#039;&amp;#039; capable of USB and PS/2: Record the startup sequence when connected via PS/2 to a PC host. To see if there is any indication on the signal level of such capability.&lt;br /&gt;
&lt;br /&gt;
Other:&lt;br /&gt;
&lt;br /&gt;
#Updating broken links here. For example, for the CAN protocol decoder.&lt;br /&gt;
&lt;br /&gt;
===2019-04===&lt;br /&gt;
&lt;br /&gt;
#Building a Docker container for compiling sigrok-cli and PulseView. It is supposed to both run under Linux and Windows (x64).&lt;br /&gt;
#Testing a new driver by user &amp;#039;&amp;#039;droghio&amp;#039;&amp;#039; that should work for the [[Tektronix TDS2024B|TDS2024C Tektronix  oscilloscope]]. Some placeholding:&lt;br /&gt;
#*Part of &amp;quot;lsusb -v&amp;quot; output: &amp;quot;Bus 008 Device 005: ID 0699:03a6 Tektronix, Inc.&amp;quot;&lt;br /&gt;
#*Notes to self: the &amp;#039;&amp;#039;&amp;quot;[git://sigrok.org/sigrok-util util]&amp;quot;&amp;#039;&amp;#039; repository (for building and stuff) - [https://github.com/sigrokproject/sigrok-util read-only mirror at GitHub]. [https://github.com/sigrokproject/sigrok-util/blob/master/cross-compile/linux/sigrok-cross-linux Cross-built script].&lt;br /&gt;
&lt;br /&gt;
===2018-04===&lt;br /&gt;
&lt;br /&gt;
Submitting comprehensive sample data for CAN bus, both 11-bit and 29-bit messages, and corresponding test cases (mostly for regression test - especially regression for [https://sigrok.org/bugzilla/show_bug.cgi?id=1085 the 2018-04-12 fix to the decoding at the end of the CRC part]).&lt;br /&gt;
&lt;br /&gt;
Notes to self:&lt;br /&gt;
&lt;br /&gt;
# Original acquired analog data: C:\temp2\2017-12-23\CAN decoder, new stuff bit handling at the end of the CRC segment\Data67\In\ACQ000009_Tektronix.txt&lt;br /&gt;
&lt;br /&gt;
===2017-12===&lt;br /&gt;
&lt;br /&gt;
Recording 22483 traces for the purpose of evaluating [https://sigrok.org/bugzilla/show_bug.cgi?id=1085 a proposed fix to the CAN protocol decoder] (actually only changing a single number from 16 to 17), stuff bit at the very end of the CRC segment, with a modified trigger scheme: &lt;br /&gt;
&lt;br /&gt;
* Change the position of the trigger point to the end (right) so there is always a CAN message in the trace (for the previous), but still 26&amp;amp;nbsp;µs recessive.&lt;br /&gt;
&lt;br /&gt;
The time division was 100&amp;amp;nbsp;µs / division (about 225 bit times max) to always record whole CAN messages - at 10 samples per bit time.&lt;br /&gt;
&lt;br /&gt;
===2017-07===&lt;br /&gt;
&lt;br /&gt;
Using the sigrok command-line (&amp;quot;sigrok-cli&amp;quot;) to bulk process data derived from Tektronix oscilloscope data of 250&amp;amp;nbsp;kbit/s CAN traffic on a real-world system (mobile cranes). The first sample data set is 5335 oscilloscope traces obtained with the trigger set to a negative pulse on CAN-H (to start off at the end of a CAN message) - corresponding to 6.5 recessive bits, 26&amp;amp;nbsp;µsec (detecting the space in-between CAN messages). Sometimes there is a CAN message right after this, sometimes it is a bit delayed, and sometimes it is completely empty.&lt;br /&gt;
&lt;br /&gt;
A sample command line (on Windows) is:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;sigrok-cli -P can:bitrate=250000:can_rx=&amp;quot;CAN RX&amp;quot; -P timing:data=&amp;quot;CAN RX&amp;quot; -I csv:header=true:samplerate=5000000 -i &amp;quot;T:\stdHMF\UserData\scripts\Tektronix2PulseView\_PulseView_AllChannels_ACQ000001_Tektronix_f5000000.txt&amp;quot;&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===2017-04===&lt;br /&gt;
&lt;br /&gt;
Using [[PulseView]] to decode data from a Tektronix oscilloscope of SPI communication to a CAN controller, [http://www.microchip.com/wwwproducts/Devices.aspx?dDocName=en010406 MCP2515].&lt;br /&gt;
&lt;br /&gt;
==Task list==&lt;br /&gt;
&lt;br /&gt;
Currently not in priority order.&lt;br /&gt;
&lt;br /&gt;
* Allow import of analog data through CSV files. (Related: fixed  [https://sigrok.org/bugzilla/show_bug.cgi?id=1064 bug 1064] - &amp;#039;&amp;#039;locale&amp;#039;&amp;#039; issue, decimal point, &amp;quot;,&amp;quot; vs. &amp;quot;.&amp;quot;.).&lt;br /&gt;
&lt;br /&gt;
* Add detection of error frames to the CAN protocol decoder&lt;br /&gt;
&lt;br /&gt;
* Add support for the gigga watt EEVBlog multimeter (Bluetooth, etc.)&lt;br /&gt;
&lt;br /&gt;
* Add a snap feature to the &amp;quot;cursor&amp;quot; (blue) in PulveView&lt;br /&gt;
&lt;br /&gt;
* Change number of significant digits for the time display in the &amp;quot;cursor&amp;quot; (blue) in PulveView&lt;br /&gt;
&lt;br /&gt;
* Submit selected sample traces for CAN decoder change (for CRC segment) validation. With and without stuff bits in various places. With and without timing deviations. (Related: [https://sigrok.org/bugzilla/show_bug.cgi?id=1085 bug 1085], celeron55&amp;#039;s fix, &amp;#039;&amp;#039;&amp;#039;&amp;#039;&amp;#039;if len(self.bits) &amp;gt; self.last_databit + 16&amp;#039;&amp;#039;&amp;#039;&amp;#039;&amp;#039; → &amp;#039;&amp;#039;&amp;#039;&amp;#039;&amp;#039;if len(self.bits) &amp;gt; self.last_databit + 17&amp;#039;&amp;#039;&amp;#039;&amp;#039;&amp;#039; (16 → 17)).&lt;br /&gt;
&lt;br /&gt;
* Add support for the [[Tektronix TDS2000B series|TDS2000]] series in libsigrok, and thus, by extension, use by the new shiny stuff in PulveView.&lt;br /&gt;
&lt;br /&gt;
===On wiki===&lt;br /&gt;
&lt;br /&gt;
* Change recommended procedure for submitting sample Sigrok files (traces), on &amp;#039;&amp;#039;[[Example dumps#Contributing dumps|Example dumps]]&amp;#039;&amp;#039;.&lt;br /&gt;
&lt;br /&gt;
==Glossary==&lt;br /&gt;
&lt;br /&gt;
*&amp;#039;&amp;#039;BBB&amp;#039;&amp;#039; [https://en.wikipedia.org/wiki/BeagleBoard#BeagleBone_Black BeagleBone Black]&lt;br /&gt;
*&amp;#039;&amp;#039;GH&amp;#039;&amp;#039; [http://en.wikipedia.org/wiki/GitHub GitHub]&lt;br /&gt;
*&amp;#039;&amp;#039;ISTR&amp;#039;&amp;#039; ????&lt;br /&gt;
*&amp;#039;&amp;#039;LA&amp;#039;&amp;#039; Logic analyser&lt;br /&gt;
*&amp;#039;&amp;#039;ML&amp;#039;&amp;#039; Mailing list&lt;br /&gt;
*&amp;#039;&amp;#039;OLS&amp;#039;&amp;#039; ????&lt;br /&gt;
*&amp;#039;&amp;#039;PR&amp;#039;&amp;#039; Pull request (a Git term). &amp;#039;&amp;#039;Not&amp;#039;&amp;#039; &amp;quot;problem report&amp;quot;.&lt;br /&gt;
*&amp;#039;&amp;#039;SR&amp;#039;&amp;#039; Sigrok&lt;br /&gt;
*&amp;#039;&amp;#039;srd&amp;#039;&amp;#039; ????&lt;br /&gt;
*&amp;#039;&amp;#039;WIP&amp;#039;&amp;#039; Work in progress. Mostly related to particular Git commits.&lt;br /&gt;
*&amp;#039;&amp;#039;PD&amp;#039;&amp;#039; protocol decoder. Non-standard spellings are &amp;#039;&amp;#039;Pd&amp;#039;&amp;#039; and &amp;#039;&amp;#039;pd&amp;#039;&amp;#039;.&lt;br /&gt;
*&amp;#039;&amp;#039;PV&amp;#039;&amp;#039; PulseView. Non-standard spellings are &amp;#039;&amp;#039;Pv&amp;#039;&amp;#039; and &amp;#039;&amp;#039;pv&amp;#039;&amp;#039;.&lt;br /&gt;
&lt;br /&gt;
==Some bug reports==&lt;br /&gt;
&lt;br /&gt;
* [https://sigrok.org/bug/1155 Possible problem with the MSO-19 USB driver on Windows]. PulveView crashes at startup if the MSO-19 is connected.&lt;br /&gt;
&lt;br /&gt;
==Interests==&lt;br /&gt;
&lt;br /&gt;
I am mostly interested in:&lt;br /&gt;
&lt;br /&gt;
* The [[CAN|CAN protocol decoder]] (that page is currently empty, but it is listed on [[Protocol decoders|the protocol decoders page]])&lt;br /&gt;
* CAN bus loggers, like IXXAT&amp;#039;s (now acquired by HMS) &amp;#039;&amp;#039;USB-to-CAN compact&amp;#039;&amp;#039;/&amp;#039;&amp;#039;USB-to-CAN V2&amp;#039;&amp;#039; and Kvaser&amp;#039;s &amp;#039;&amp;#039;Memorator&amp;#039;&amp;#039;.&lt;br /&gt;
* The higher-level [http://en.wikipedia.org/wiki/CANopen CANopen] protocol (on top of CAN)&lt;br /&gt;
&lt;br /&gt;
==Protocol decoders==&lt;br /&gt;
&lt;br /&gt;
===Non-empty wiki pages===&lt;br /&gt;
&lt;br /&gt;
Currently (2017-07-08), 28 &lt;br /&gt;
of 77 [[Protocol_decoders#Supported protocol decoders|protocol decoders]] (36%) have non-empty pages here on the wiki:&lt;br /&gt;
&lt;br /&gt;
*[[Protocol decoder:Adns5020|ADNS5020]] &lt;br /&gt;
*[[Protocol decoder:Am230x|AM230X]]&lt;br /&gt;
*[[Protocol decoder:Arm etmv3|ARM ETMV3]]&lt;br /&gt;
*[[Protocol decoder:Arm itm|ARM ITM]]&lt;br /&gt;
*[[Protocol decoder:Arm tpiu|ARM TPIU]]&lt;br /&gt;
*[[Protocol decoder:Aud|AUD]]&lt;br /&gt;
*[[Protocol decoder:Avr pdi|AVR PDI]]&lt;br /&gt;
*[[Protocol decoder:Dcf77|DCF77]]&lt;br /&gt;
*[[Protocol decoder:I2c|I²C]]&lt;br /&gt;
*[[Protocol decoder:Ir nec|IR NEC]]&lt;br /&gt;
*[[Protocol decoder:Modbus|Modbus]]&lt;br /&gt;
*[[Protocol decoder:Mrf24j40|MRF24J40]]&lt;br /&gt;
*[[Protocol decoder:Nrf24l01|NRF24L01]]&lt;br /&gt;
*[[Protocol decoder:Nunchuk|Nunchuk]]&lt;br /&gt;
*[[Protocol decoder:Pan1321|PAN1321]]&lt;br /&gt;
*[[Protocol decoder:Parallel|Parallel]]&lt;br /&gt;
*[[Protocol decoder:Pwm|PWM]]&lt;br /&gt;
*[[Protocol decoder:Qi|Qi]]&lt;br /&gt;
*[[Protocol decoder:Rfm12|RFM12]]&lt;br /&gt;
*[[Protocol decoder:Rgb led spi|RGB LED SPI]]&lt;br /&gt;
*[[Protocol decoder:Rtc8564|RTC8564]]&lt;br /&gt;
*[[Protocol decoder:Spdif|SPDIF]]&lt;br /&gt;
*[[Protocol decoder:Spi|SPI]]&lt;br /&gt;
*[[Protocol decoder:Spiflash|SPI flash]]&lt;br /&gt;
*[[Protocol decoder:Stepper motor|Stepper motor]]&lt;br /&gt;
*[[Protocol decoder:Tlc5620|TLC5620]]&lt;br /&gt;
*[[Protocol decoder:Uart|UART]]&lt;br /&gt;
*[[Protocol decoder:Z80|Z80]]&lt;br /&gt;
&lt;br /&gt;
==Meta==&lt;br /&gt;
&lt;br /&gt;
===Creating sub pages for proposals===&lt;br /&gt;
&lt;br /&gt;
E.g., to work on drafts and proposals for new or old wiki entries, without affecting the main wiki (this is not specific for this project). Add this non-existent link (&amp;quot;IRC shenanigans&amp;quot; is an example) somewhere on the user page (it can be deleted later if the reference is not needed):&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;none&amp;quot;&amp;gt;&lt;br /&gt;
[[User:PeterMortensen/IRC shenanigans]]&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Rendered:&lt;br /&gt;
&lt;br /&gt;
[[User:PeterMortensen/IRC shenanigans]]&lt;br /&gt;
&lt;br /&gt;
Open that page and add some content.&lt;br /&gt;
&lt;br /&gt;
==Profile==&lt;br /&gt;
&lt;br /&gt;
Profile: see [http://en.wikipedia.org/wiki/User:Mortense my Wikipedia user page].&lt;br /&gt;
&lt;br /&gt;
Credentials: more than 5000 edits on the English Wikipedia.&lt;br /&gt;
&lt;br /&gt;
==Shortcuts==&lt;br /&gt;
&lt;br /&gt;
* [https://sigrok.org/doc/pulseview/0.4.1/manual.html PulseView manual]&lt;br /&gt;
* [[Sigrok-cli|sigrok-cli man page]]&lt;br /&gt;
* [https://plus.google.com/communities/109843678338531936878 Google+ group for sigrok] (now defunc as Google+ closed down)&lt;br /&gt;
* [[PulseView]]. Includes the command line to get the source code using Git.&lt;br /&gt;
* [[Downloads#Windows_Download|PulseView, Windows binaries]] (nightly - development). [[Windows#Windows_installers|Alternative location]] (but it seems redundant).&lt;br /&gt;
* [[Downloads#Linux_AppImage_binaries|PulseView, Linux binaries]] (nightly - development).&lt;br /&gt;
* [[Example dumps|Example data dumps]] - sample data in .sr format. Also includes instructions on how to contribute new ones. Includes the command line to get the whole thing using Git (as of 2017-11-26, 2286 &amp;quot;objects&amp;quot;, 724 .sr files, about 65&amp;amp;nbsp;MB in download size, 192&amp;amp;nbsp;MB on disk).&lt;br /&gt;
* [[Special:Random|Random page]]&lt;br /&gt;
* [https://sigrok.org/jenkins/job/sigrok-native-appimage/ Native app image] (not official yet). Is for Linux and x86 only. See also [https://en.wikipedia.org/wiki/AppImage AppImage] (Wikipedia).&lt;br /&gt;
* [[Press]]. List of annotated links, mostly blog posts.&lt;br /&gt;
* [[Probe comparison]]&lt;br /&gt;
* [[Link Instruments MSO-19|MSO-19]]. Mixed oscilloscope and logic analyser by Link Instruments that (or rather its driver) crashes PulveView at startup when connected (until some time in mid 2018(?)). Some reverse engineering has been done in 2012, but it is not supported (has status &amp;quot;Planned&amp;quot;). [https://sigrok.org/bugzilla/show_bug.cgi?id=1155 Sigrok bug report for the crash]. [http://www.linkinstruments.com/doupdate_mso19.htm Software download page for it.]&lt;br /&gt;
* [[Windows|sigrok, Microsoft Windows page]]&lt;br /&gt;
** [[Windows#Device specific USB driver|Device specific USB driver - WinUSB - Zadig]]&lt;br /&gt;
* [[AR488]], an Arduino-based [https://en.wikipedia.org/wiki/IEEE-488 GPIB]-to-serial port adapter. That is, serial over USB. And serial on the host side.&lt;br /&gt;
&lt;br /&gt;
===Protocol decoders===&lt;br /&gt;
&lt;br /&gt;
* The [[CAN|CAN bus protocol decoder]]&lt;br /&gt;
* [[Protocol decoder HOWTO]]&lt;br /&gt;
* [[Protocol decoder API]]&lt;br /&gt;
* [[Protocol decoders#Supported protocol decoders|Supported protocol decoders]]&lt;br /&gt;
&lt;br /&gt;
===Building sigrok===&lt;br /&gt;
&lt;br /&gt;
* On Debian (e.g. Raspberry Pi): [[Linux#Installing the requirements 2|Installing required software]]&lt;br /&gt;
* On Debian (e.g. Raspberry Pi): [[Linux#Building 3|Actual build]]&lt;br /&gt;
* Alternative to following the wiki pages: [https://sigrok.org/gitweb/?p=sigrok-util.git;a=blob;f=cross-compile/linux/sigrok-cross-linux;h=2c8e559efde8cf6ae9a365bf1a4324a33600fae7;hb=HEAD a script that will do most of it]. (&amp;#039;&amp;#039;[sigrok-util.git] / cross-compile / linux / sigrok-cross-linux&amp;#039;&amp;#039;)&lt;br /&gt;
* Windows:&lt;br /&gt;
**On Windows: [[Windows#Native_build_using_MSYS2|Native build using MSYS2]] (but may not really work - sigrok-cli and PulseView are listed as not working).&lt;br /&gt;
**[[Windows#Cross-compile_using_MXE|Cross compile on Linux]] (using [http://mxe.cc/ MXE]). The script is [https://sigrok.org/gitweb/?p=sigrok-util.git;a=blob;f=cross-compile/mingw/sigrok-cross-mingw;h=8330406ecd28969d8d29c8ad23df8968a4b9ec68;hb=HEAD /sigrok-util/cross-compile/mingw/sigrok-cross-mingw]. Used for nightlies? [https://sigrok.org/jenkins/job/sigrok-cross-mingw/buildtype=static,debugtype=debug,platform=cross-i686-w64-mingw32/ Jenkins page for the debug version].&lt;br /&gt;
* The Jenkins thingy - automatic build, e.g. nightlies for PulseView and &amp;quot;AppImage&amp;quot; (self-contained executable for x86 Linux). Sample: [https://sigrok.org/jenkins/job/sigrok-cli/ sigrok-cli] with 44 configurations (43 cross-compiles), e.g. cross-x86_64-w64-mingw32 (for Windows 64-bit?).&lt;br /&gt;
* The [[Building#Installing_to_a_non-standard_directory_using_LD_LIBRARY_PATH|LD_LIBRARY_PATH trick]]&lt;/div&gt;</summary>
		<author><name>PeterMortensen</name></author>
	</entry>
	<entry>
		<id>https://sigrok.org/w/index.php?title=AR488&amp;diff=16376</id>
		<title>AR488</title>
		<link rel="alternate" type="text/html" href="https://sigrok.org/w/index.php?title=AR488&amp;diff=16376"/>
		<updated>2022-12-16T22:44:43Z</updated>

		<summary type="html">&lt;p&gt;PeterMortensen: Some copy editing (e.g. ref. &amp;lt;https://en.wiktionary.org/wiki/adapter#Noun&amp;gt;, &amp;lt;https://docs.arduino.cc/hardware/uno-rev3&amp;gt;, &amp;lt;https://en.wikipedia.org/wiki/RS-232&amp;gt;, &amp;lt;https://en.wiktionary.org/wiki/out-of-band#Adjective&amp;gt;, &amp;lt;https://en.wikipedia.org/wiki/ATmega328#Family&amp;gt;, &amp;lt;https://www.microchip.com/wwwproducts/en/ATmega32U4&amp;gt;, and &amp;lt;https://en.wikipedia.org/wiki/GitHub&amp;gt;).&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;= AR488 GPIB to UART/USB =&lt;br /&gt;
&lt;br /&gt;
The [https://github.com/Twilight-Logic/AR488 AR488] is an Arduino-based [[Protocol_decoder:Ieee488 | GPIB]] to serial port adapter.  The firmware runs on Uno (and thus Nano), Mega as well as Leonardo boards.  The PC sees a USB or RS-232 attached COM port, transmit data is sent to the device, and the device&amp;#039;s response is seen as receive data.  Out-of-band commands prefixed by &amp;#039;&amp;#039;++&amp;#039;&amp;#039; can control the adapter&amp;#039;s behaviour.  The AR488 is accessible to interactive sessions in a terminal program, as well as can serve as a SCPI-over-serial &amp;quot;cable&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
With &amp;#039;&amp;#039;&amp;#039;one device per adapter&amp;#039;&amp;#039;&amp;#039; (specific GPIB address and communication parameters stored in the &amp;#039;&amp;#039;&amp;#039;AR488&amp;#039;&amp;#039;&amp;#039; adapter) &amp;#039;&amp;#039;&amp;#039;support is transparent&amp;#039;&amp;#039;&amp;#039;. When the adapter is connected to multiple devices at the same time, then &amp;quot;out-of-band&amp;quot; communication is required (the above mentioned ++ commands), which sigrok does not provide.&lt;br /&gt;
&lt;br /&gt;
== Hardware ==&lt;br /&gt;
&lt;br /&gt;
* Arduino Uno or Nano (ATmega328P based), or Mega (ATmega2560 based), or Leonardo or Pro Micro (ATmega32U4 based)&lt;br /&gt;
* Centronics 24-pin connector&lt;br /&gt;
&lt;br /&gt;
See the AR488-manual.pdf in the firmware source tree for schematics.  Wires run from the Arduino board to the Centronics connector, and driver chips are not involved.  This keeps the component count low, the wiring simple, and the mechanical construction compact (especially with Nano boards which can execute the Uno firmware).  In theory, any bare serially attached ATmega chip would do, but the firmware happens to be written in the Arduino IDE&amp;#039;s language (it uses libraries and build support, and won&amp;#039;t work outside of the IDE without modifications).&lt;br /&gt;
&lt;br /&gt;
The primary goal of the project is to enable quick access to GPIB attached devices.  Typical use is to have one adapter per device (it&amp;#039;s rather low cost, so that&amp;#039;s not an issue).  The lack of proper drivers means that the adapter cannot handle a full bus. The limit is said to be somewhere around three or four devices, before signals go out of spec and communication need not work reliably any longer.  For larger setups with many devices, a proper full-blown adapter with appropriate driving capabilities is recommended.&lt;br /&gt;
&lt;br /&gt;
== Photos ==&lt;br /&gt;
&lt;br /&gt;
&amp;lt;gallery&amp;gt;&lt;br /&gt;
File:Ar488-artag-pcb-top.png|&amp;lt;small&amp;gt;AR488 on PCB with Pro Micro&amp;lt;/small&amp;gt;&lt;br /&gt;
File:Ar488-artag-pcb-conn.png|&amp;lt;small&amp;gt;AR488 on PCB with Pro Micro&amp;lt;/small&amp;gt;&lt;br /&gt;
File:ar488-diy-sniff-top.png|&amp;lt;small&amp;gt;AR488 wire wrap with Nano, top, GPIB and UART signals accessible for recording&amp;lt;/small&amp;gt;&lt;br /&gt;
File:ar488-diy-sniff-bot.png|&amp;lt;small&amp;gt;AR488 wire wrap with Nano, bottom&amp;lt;/small&amp;gt;&lt;br /&gt;
&amp;lt;/gallery&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Protocol ==&lt;br /&gt;
&lt;br /&gt;
See the AR488-manual.pdf document for a protocol description.  The AR488 firmware passes the PC&amp;#039;s outgoing data to the GPIB instrument, and the GPIB instrument&amp;#039;s data to the PC.  Commands start with the &amp;#039;&amp;#039;++&amp;#039;&amp;#039; prefix and affect the adapter&amp;#039;s operation.  The AR488 firmware implements most of the Prologix commands, and a few more.  Macros (both executed at runtime as well as at firmware start) are supported.&lt;br /&gt;
&lt;br /&gt;
How to use the AR488 adapter:&lt;br /&gt;
&lt;br /&gt;
* (Optional, see below) Modify the firmware to enable the macro feature and especially the startup macro (remove comment leaders from disabled defines).&lt;br /&gt;
&lt;br /&gt;
  #define MACROS&lt;br /&gt;
  #define STARTUP&lt;br /&gt;
&lt;br /&gt;
* (Optional, see below) Locate the startup_macro[] definition and adjust it to match your use case.  Here is an example.&lt;br /&gt;
&lt;br /&gt;
  ++addr 20&lt;br /&gt;
  ++auto 2&lt;br /&gt;
&lt;br /&gt;
* (Optional, see below) Compile and upload the firmware into the adapter.&lt;br /&gt;
&lt;br /&gt;
* (See above for custom firmware) Regular common firmware can interactively get configured and that configuration can get stored in the adapter. Which eliminates the necessity for custom builds, and ++ commands at the start of a session. See the AR488 manual which parameter values get stored and applied upon firmware startup.&lt;br /&gt;
&lt;br /&gt;
  ++ addr 20&lt;br /&gt;
  ++ auto 2&lt;br /&gt;
  ++ &amp;#039;&amp;#039;&amp;#039;savecfg&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
  ++ rst&lt;br /&gt;
&lt;br /&gt;
* Open a terminal program and run a few commands.&lt;br /&gt;
&lt;br /&gt;
  $ screen /dev/ttyUSB0 115200&lt;br /&gt;
  *idn?&lt;br /&gt;
  conf?&lt;br /&gt;
  read?&lt;br /&gt;
  ++repeat 15 4000 read?&lt;br /&gt;
&lt;br /&gt;
* Use the adapter with GPIB aware applications, like sigrok&amp;#039;s SCPI over serial.&lt;br /&gt;
&lt;br /&gt;
  $ sigrok-cli -d scpi-dmm&amp;#039;&amp;#039;&amp;#039;:conn=/dev/ttyUSB0&amp;#039;&amp;#039;&amp;#039;:serialcomm=115200 --scan&lt;br /&gt;
&lt;br /&gt;
* Alternative mix of interactive and programmatic use.&lt;br /&gt;
&lt;br /&gt;
  $ screen /dev/ttyUSB0 115200&lt;br /&gt;
  ++ addr 22&lt;br /&gt;
  ++ auto 2&lt;br /&gt;
  (close terminal session)&lt;br /&gt;
  $ sigrok-cli -d scpi-dmm:conn=/dev/ttyUSB0:serialcomm=115200&lt;br /&gt;
&lt;br /&gt;
BEWARE! Depending on the specific implementation of the Arduino board, the adapter may restart when the serial port gets opened, and the volatile configuration may not take effect at all. This is an implementation detail of deriving a RESET signal from the DTR handshake, motivated by automatically entering bootloaders without the user&amp;#039;s intervention. Consider the ++savecfg approach outlined above instead.&lt;br /&gt;
&lt;br /&gt;
== Resources ==&lt;br /&gt;
&lt;br /&gt;
* Twilight Logic&amp;#039;s [https://github.com/Twilight-Logic/AR488 GitHub repo], contains firmware sources and documentation&lt;br /&gt;
* EEVBlog [https://www.eevblog.com/forum/projects/ar488-arduino-based-gpib-adapter/ forum thread]&lt;br /&gt;
&lt;br /&gt;
[[Category:GPIB interface]]&lt;br /&gt;
[[Category:Supported]]&lt;/div&gt;</summary>
		<author><name>PeterMortensen</name></author>
	</entry>
	<entry>
		<id>https://sigrok.org/w/index.php?title=User:PeterMortensen/IRC_shenanigans&amp;diff=16372</id>
		<title>User:PeterMortensen/IRC shenanigans</title>
		<link rel="alternate" type="text/html" href="https://sigrok.org/w/index.php?title=User:PeterMortensen/IRC_shenanigans&amp;diff=16372"/>
		<updated>2022-12-02T19:32:30Z</updated>

		<summary type="html">&lt;p&gt;PeterMortensen: Copy edited.&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Using IRC with the sigrok project ==&lt;br /&gt;
&lt;br /&gt;
The easiest is using [https://web.libera.chat/#sigrok the web interface], but it also times out after a relatively short time, about one hour.&lt;br /&gt;
&lt;br /&gt;
The expected response time can be up to 24 hours if posting at certain times of the day. Thus be sure somebody is actually active at the time you post. About 1900 hours UTC is usually a good time.&lt;br /&gt;
&lt;br /&gt;
A better solution is to download and configure an IRC client, for instance [https://en.wikipedia.org/wiki/Irssi Irssi] (on Unix-like systems) and [https://en.wikipedia.org/wiki/ChatZilla ChatZilla] on Windows (though it is on its way out due to the move by Firefox/Mozilla to &amp;quot;[https://en.wikipedia.org/wiki/Firefox#Firefox_Quantum Quantum]&amp;quot; in 2017). This can also, if configured for it, log all traffic so you don&amp;#039;t miss out on anything. For instance, a [https://en.wikipedia.org/wiki/Raspberry_Pi Raspberry Pi] (even a first generation one, with low power consumption), can be set up with Irssi to log all traffic 24x7. It can also be logged into by SSH.&lt;br /&gt;
 &lt;br /&gt;
There are also commercial offerings which can log all traffic (by being persistently connected) and which is guaranteed to always be up.&lt;/div&gt;</summary>
		<author><name>PeterMortensen</name></author>
	</entry>
	<entry>
		<id>https://sigrok.org/w/index.php?title=User_talk:PeterMortensen/IRC_shenanigans&amp;diff=16371</id>
		<title>User talk:PeterMortensen/IRC shenanigans</title>
		<link rel="alternate" type="text/html" href="https://sigrok.org/w/index.php?title=User_talk:PeterMortensen/IRC_shenanigans&amp;diff=16371"/>
		<updated>2022-12-02T19:25:56Z</updated>

		<summary type="html">&lt;p&gt;PeterMortensen: /* ChatZilla */ Signed...&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== This is not to stay...==&lt;br /&gt;
&lt;br /&gt;
Note: This is a draft, meant as a proposal for the main wiki. It will be removed in due time.&lt;br /&gt;
&lt;br /&gt;
--[[User:PeterMortensen|PeterMortensen]] ([[User talk:PeterMortensen|talk]]) 19:53, 2 December 2022 (CET)&lt;br /&gt;
&lt;br /&gt;
== ChatZilla ==&lt;br /&gt;
&lt;br /&gt;
Note: The information about ChatZilla may be out of date (for instance, it may no longer be possible to download the installer from a trusted source). I used it successfully for logging on Windows until the end of 2019.&lt;br /&gt;
&lt;br /&gt;
--[[User:PeterMortensen|PeterMortensen]] ([[User talk:PeterMortensen|talk]]) 20:25, 2 December 2022 (CET)&lt;/div&gt;</summary>
		<author><name>PeterMortensen</name></author>
	</entry>
	<entry>
		<id>https://sigrok.org/w/index.php?title=User_talk:PeterMortensen/IRC_shenanigans&amp;diff=16370</id>
		<title>User talk:PeterMortensen/IRC shenanigans</title>
		<link rel="alternate" type="text/html" href="https://sigrok.org/w/index.php?title=User_talk:PeterMortensen/IRC_shenanigans&amp;diff=16370"/>
		<updated>2022-12-02T19:25:27Z</updated>

		<summary type="html">&lt;p&gt;PeterMortensen: It may not be possible any longer.&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== This is not to stay...==&lt;br /&gt;
&lt;br /&gt;
Note: This is a draft, meant as a proposal for the main wiki. It will be removed in due time.&lt;br /&gt;
&lt;br /&gt;
--[[User:PeterMortensen|PeterMortensen]] ([[User talk:PeterMortensen|talk]]) 19:53, 2 December 2022 (CET)&lt;br /&gt;
&lt;br /&gt;
== ChatZilla ==&lt;br /&gt;
&lt;br /&gt;
Note: The information about ChatZilla may be out of date (for instance, it may no longer be possible to download the installer from a trusted source). I used it successfully for logging on Windows until the end of 2019.&lt;/div&gt;</summary>
		<author><name>PeterMortensen</name></author>
	</entry>
	<entry>
		<id>https://sigrok.org/w/index.php?title=User_talk:PeterMortensen/IRC_shenanigans&amp;diff=16369</id>
		<title>User talk:PeterMortensen/IRC shenanigans</title>
		<link rel="alternate" type="text/html" href="https://sigrok.org/w/index.php?title=User_talk:PeterMortensen/IRC_shenanigans&amp;diff=16369"/>
		<updated>2022-12-02T19:22:16Z</updated>

		<summary type="html">&lt;p&gt;PeterMortensen: /* ChatZilla */ new section&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== This is not to stay...==&lt;br /&gt;
&lt;br /&gt;
Note: This is a draft, meant as a proposal for the main wiki. It will be removed in due time.&lt;br /&gt;
&lt;br /&gt;
--[[User:PeterMortensen|PeterMortensen]] ([[User talk:PeterMortensen|talk]]) 19:53, 2 December 2022 (CET)&lt;br /&gt;
&lt;br /&gt;
== ChatZilla ==&lt;br /&gt;
&lt;br /&gt;
Note: The information about ChatZilla may be out of date. I used it successfully for logging on Windows until the end of 2019.&lt;/div&gt;</summary>
		<author><name>PeterMortensen</name></author>
	</entry>
	<entry>
		<id>https://sigrok.org/w/index.php?title=User:PeterMortensen/IRC_shenanigans&amp;diff=16368</id>
		<title>User:PeterMortensen/IRC shenanigans</title>
		<link rel="alternate" type="text/html" href="https://sigrok.org/w/index.php?title=User:PeterMortensen/IRC_shenanigans&amp;diff=16368"/>
		<updated>2022-12-02T18:56:02Z</updated>

		<summary type="html">&lt;p&gt;PeterMortensen: /* Using IRC with the sigrok project */ Add some missing content.&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Using IRC with the sigrok project ==&lt;br /&gt;
&lt;br /&gt;
The easiest is using [https://web.libera.chat/#sigrok the web interface], but it also times out after a relatively short time, about one hour.&lt;br /&gt;
&lt;br /&gt;
The expected response time can be up to 24 hours if posting at certain times of the day. Thus be sure somebody is actually active at the time you post. About 1900 hours UTC is usually a good time.&lt;br /&gt;
&lt;br /&gt;
A better solution is to download and configure an IRC client, for instance [https://en.wikipedia.org/wiki/Irssi Irssi] (on Unix-like systems) and [https://en.wikipedia.org/wiki/ChatZilla ChatZilla] on Windows (though it is on its way out due to the move by Firefox/Mozilla to &amp;quot;[https://en.wikipedia.org/wiki/Firefox#Firefox_Quantum Quantum]&amp;quot;) in 2017. This can also, if configured for it, log all traffic so you don&amp;#039;t miss out on anything. For instance, a [https://en.wikipedia.org/wiki/Raspberry_Pi Raspberry Pi], even a first generation with low power consumption, can be set up with Irssi to log all traffic. It can also be logged into by SSH.&lt;br /&gt;
 &lt;br /&gt;
There are also commercial offerings that can log all traffic and that is guaranteed to be always up.&lt;/div&gt;</summary>
		<author><name>PeterMortensen</name></author>
	</entry>
	<entry>
		<id>https://sigrok.org/w/index.php?title=User_talk:PeterMortensen/IRC_shenanigans&amp;diff=16367</id>
		<title>User talk:PeterMortensen/IRC shenanigans</title>
		<link rel="alternate" type="text/html" href="https://sigrok.org/w/index.php?title=User_talk:PeterMortensen/IRC_shenanigans&amp;diff=16367"/>
		<updated>2022-12-02T18:53:45Z</updated>

		<summary type="html">&lt;p&gt;PeterMortensen: Meta information about the page goes here on the talk page.&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== This is not to stay...==&lt;br /&gt;
&lt;br /&gt;
Note: This is a draft, meant as a proposal for the main wiki. It will be removed in due time.&lt;br /&gt;
&lt;br /&gt;
--[[User:PeterMortensen|PeterMortensen]] ([[User talk:PeterMortensen|talk]]) 19:53, 2 December 2022 (CET)&lt;/div&gt;</summary>
		<author><name>PeterMortensen</name></author>
	</entry>
	<entry>
		<id>https://sigrok.org/w/index.php?title=User:PeterMortensen/IRC_shenanigans&amp;diff=16366</id>
		<title>User:PeterMortensen/IRC shenanigans</title>
		<link rel="alternate" type="text/html" href="https://sigrok.org/w/index.php?title=User:PeterMortensen/IRC_shenanigans&amp;diff=16366"/>
		<updated>2022-12-02T18:51:49Z</updated>

		<summary type="html">&lt;p&gt;PeterMortensen: Some initial content. It is way too verbose, but it is a start.&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Using IRC with the sigrok project ==&lt;br /&gt;
&lt;br /&gt;
The easiest is using [https://web.libera.chat/#sigrok the web interface], but it also times out after a relatively short time, about one hour.&lt;br /&gt;
&lt;br /&gt;
The expected response time can be up to 24 hours if posting at certain times of the day. Thus be sure somebody is actually active at the time you post. About 1900 hours UTC is usually a good time.&lt;br /&gt;
&lt;br /&gt;
A better solution is to download and configure an IRC client, for instance [https://en.wikipedia.org/wiki/Irssi Irssi] (on Unix-like systems) and [https://en.wikipedia.org/wiki/ChatZilla ChatZilla] on Windows (though it is on its way out due to the move by Firefox/ to &amp;quot;[https://en.wikipedia.org/wiki/Firefox#Firefox_Quantum Quantum]&amp;quot;). This can also, if configured for it, log all traffic so you don&amp;#039;t miss out on anything. For instance, a [https://en.wikipedia.org/wiki/Raspberry_Pi Raspberry Pi], even a first generation with low power consumption, can be set up with Irssi to log all traffic. It can also be logged into by SSH.&lt;br /&gt;
 &lt;br /&gt;
There are also commercial offerings that can log all traffic and that is guaranteed to be always up.&lt;/div&gt;</summary>
		<author><name>PeterMortensen</name></author>
	</entry>
	<entry>
		<id>https://sigrok.org/w/index.php?title=User:PeterMortensen&amp;diff=16365</id>
		<title>User:PeterMortensen</title>
		<link rel="alternate" type="text/html" href="https://sigrok.org/w/index.php?title=User:PeterMortensen&amp;diff=16365"/>
		<updated>2022-12-02T18:33:02Z</updated>

		<summary type="html">&lt;p&gt;PeterMortensen: /* Creating sub pages for proposals */ Added some meat.&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;==Recent activity==&lt;br /&gt;
&lt;br /&gt;
===2020-01===&lt;br /&gt;
&lt;br /&gt;
Getting insight into what happens with PC keyboards on the signal level and on higher levels (related to repurposing an old PS/2 keyboard (BTC 5349) as a macro keyboard, with the help of an [https://store.arduino.cc/arduino-leonardo-with-headers Arduino Leonardo]):&lt;br /&gt;
&lt;br /&gt;
#For the keyboards listed below: Verify that all keys work (by capturing in PulseView and observe there is actually a signal. Note that the accent and umlaut key requires pressing a letter after).&lt;br /&gt;
#For the keyboards listed below: Capturing and submitting information for PS/2 PC keyboards (CLK and DATA), including during pressing and releasing  and bidirectional traffic (PC initialising the keyboard, e.g. at connect and/or PC startup). Submit to Git repository &amp;quot;[https://sigrok.org/gitweb/ sigrok-dumps]&amp;quot;: Keyboards (all European layout):&lt;br /&gt;
##BTC 5349 (102 keys IBM/AT type, corresponding to IBM Model M (Enhanced)). 100 mA (measured). Mechanical keyboard?&lt;br /&gt;
##Fujitsu/Siemens ([https://en.wikipedia.org/wiki/File:ISO_keyboard_%28105%29_QWERTY_UK.svg 105 keys] + 10 media keys (sleep, mail, play, stop, speaker controls, etc.). IBM/AT type. ?? mA.&lt;br /&gt;
##Microsoft &amp;#039;&amp;#039;&amp;quot;Natural Keyboard Elite&amp;quot;&amp;#039;&amp;#039;. [https://en.wikipedia.org/wiki/File:ISO_keyboard_%28105%29_QWERTY_UK.svg 105 keys]. 500 mA (nominal).&lt;br /&gt;
##[https://en.wikipedia.org/wiki/Apple_Extended_Keyboard Apple Extended Keyboard II]. [https://en.wikipedia.org/wiki/File:ISO_keyboard_%28105%29_QWERTY_UK.svg 105 keys] + one power key. ??? mA. Mechanical keyboard. Uses [https://en.wikipedia.org/wiki/Apple_Desktop_Bus#Physical ADB], not PS/2 (physically similar, but 4-pin mini-DIN connector). A single pin for data and &amp;#039;PSW&amp;#039; connected directly to the power switch. All communication is host initiated (polling).&lt;br /&gt;
#Consider adding regression tests for the PS/2 decoder. It will include if it handles the 2-3% clock frequency offset for the BTC 5349 (probably, as there is CLK, but that is not the case if decoding as the UART protocol decoder).&lt;br /&gt;
#Some higher-level protocol decoder work for PC keyboards (not decided on yet), e.g. identifying scan code sequences as the corresponding keys.&lt;br /&gt;
#Some hardware to allow an Arduino Leonardo to pose as a PC ([https://en.wikipedia.org/wiki/Open_collector open collector] outputs). To explore what commands various keyboards responds to and what modes they might enter (for example, Linux allegedly tries put keyboards into &amp;quot;Set 3&amp;quot; (the powerup default is usually &amp;quot;Set 2&amp;quot;)). The three LEDs on the keyboard can also be used for user feedback for the macro keyboard.&lt;br /&gt;
#Existing content on the wiki, etc. regarding PC keyboards, etc.:&lt;br /&gt;
##Keyboards (none found, but are probably not supposed to exist, only actual capturing hardware(?)).&lt;br /&gt;
##[[Protocol_decoder:Ps2|PS/2 decoder page]]. Does not exist??&lt;br /&gt;
##&amp;#039;&amp;#039;&amp;quot;The decode of some PS/2 (or USB) keyboard/mouse traffic could yield an ASCII text file of all the keys that were pressed on the keyboard.&amp;quot;&amp;#039;&amp;#039; (on [[Protocol decoder output|a planning page]])&lt;br /&gt;
##Look in bug tracker for PS/2, keyboards, etc.&lt;br /&gt;
###Bug #1460 - [https://sigrok.org/gitweb/?p=libsigrokdecode.git;a=commitdiff;h=4370348c4fcdbd708715c35a38fdf06c9364d518 ps2: end data byte at rising clock edge of the stop bit]&lt;br /&gt;
##Look in Git log&lt;br /&gt;
### [https://sigrok.org/gitweb/?p=sigrok-dumps.git;a=commit;h=16931eb480ba5df923c1508f3d83719eddcc5ab3 PS/2 keyboard data submitted on 2019-12-21] (discovered on [https://sigrok.org/gitweb/?p=sigrok-dumps.git;a=log projects / sigrok-dumps.git / commit ])&lt;br /&gt;
##Look in IRC log&lt;br /&gt;
##Look in blog posts for info on PS/2, etc.&lt;br /&gt;
#Updating the wiki&lt;br /&gt;
##Add PS/2 low-level reference (details about the CLK signal) to the PS/2 protocol decoder page. IRC ref. [2020-01-07 01:49:07] and [2020-01-07 18:09:02] (UTC+1)). Add to the resources section. Is: http://www.nerdkits.com/videos/interrupts_and_ps2_keyboard/&lt;br /&gt;
##Add keyboard documentation, pictures (not decided on yet).&lt;br /&gt;
#Ideas:&lt;br /&gt;
##Deliberately send data to the keyboard with a parity error.&lt;br /&gt;
##Deliberately add noise to the signals (say, wide-band white noise by electronics means), forcing parity errors. This should force the receiver (keyboard or host PC) to respond.&lt;br /&gt;
##Send unknown commands to the keyboard. It should respond with 0xFE (in contrast to the normal 0xFA).&lt;br /&gt;
##Try all the keyboard commands in &amp;#039;&amp;#039;[https://www.win.tue.nl/~aeb/linux/kbd/scancodes-12.html Keyboard commands]&amp;#039;&amp;#039;.&lt;br /&gt;
##For a keyboard that is &amp;#039;&amp;#039;both&amp;#039;&amp;#039; capable of USB and PS/2: Record the startup sequence when connected via PS/2 to a PC host. To see if there is any indication on the signal level of such capability.&lt;br /&gt;
&lt;br /&gt;
Other:&lt;br /&gt;
&lt;br /&gt;
#Updating broken links here. For example, for the CAN protocol decoder.&lt;br /&gt;
&lt;br /&gt;
===2019-04===&lt;br /&gt;
&lt;br /&gt;
#Building a Docker container for compiling sigrok-cli and PulseView. It is supposed to both run under Linux and Windows (x64).&lt;br /&gt;
#Testing a new driver by user &amp;#039;&amp;#039;droghio&amp;#039;&amp;#039; that should work for the [[Tektronix TDS2024B|TDS2024C Tektronix  oscilloscope]]. Some placeholding:&lt;br /&gt;
#*Part of &amp;quot;lsusb -v&amp;quot; output: &amp;quot;Bus 008 Device 005: ID 0699:03a6 Tektronix, Inc.&amp;quot;&lt;br /&gt;
#*Notes to self: the &amp;#039;&amp;#039;&amp;quot;[git://sigrok.org/sigrok-util util]&amp;quot;&amp;#039;&amp;#039; repository (for building and stuff) - [https://github.com/sigrokproject/sigrok-util read-only mirror at GitHub]. [https://github.com/sigrokproject/sigrok-util/blob/master/cross-compile/linux/sigrok-cross-linux Cross-built script].&lt;br /&gt;
&lt;br /&gt;
===2018-04===&lt;br /&gt;
&lt;br /&gt;
Submitting comprehensive sample data for CAN bus, both 11-bit and 29-bit messages, and corresponding test cases (mostly for regression test - especially regression for [https://sigrok.org/bugzilla/show_bug.cgi?id=1085 the 2018-04-12 fix to the decoding at the end of the CRC part]).&lt;br /&gt;
&lt;br /&gt;
Notes to self:&lt;br /&gt;
&lt;br /&gt;
# Original acquired analog data: C:\temp2\2017-12-23\CAN decoder, new stuff bit handling at the end of the CRC segment\Data67\In\ACQ000009_Tektronix.txt&lt;br /&gt;
&lt;br /&gt;
===2017-12===&lt;br /&gt;
&lt;br /&gt;
Recording 22483 traces for the purpose of evaluating [https://sigrok.org/bugzilla/show_bug.cgi?id=1085 a proposed fix to the CAN protocol decoder] (actually only changing a single number from 16 to 17), stuff bit at the very end of the CRC segment, with a modified trigger scheme: &lt;br /&gt;
&lt;br /&gt;
* Change the position of the trigger point to the end (right) so there is always a CAN message in the trace (for the previous), but still 26&amp;amp;nbsp;µs recessive.&lt;br /&gt;
&lt;br /&gt;
The time division was 100&amp;amp;nbsp;µs / division (about 225 bit times max) to always record whole CAN messages - at 10 samples per bit time.&lt;br /&gt;
&lt;br /&gt;
===2017-07===&lt;br /&gt;
&lt;br /&gt;
Using the sigrok command-line (&amp;quot;sigrok-cli&amp;quot;) to bulk process data derived from Tektronix oscilloscope data of 250&amp;amp;nbsp;kbit/s CAN traffic on a real-world system (mobile cranes). The first sample data set is 5335 oscilloscope traces obtained with the trigger set to a negative pulse on CAN-H (to start off at the end of a CAN message) - corresponding to 6.5 recessive bits, 26&amp;amp;nbsp;µsec (detecting the space in-between CAN messages). Sometimes there is a CAN message right after this, sometimes it is a bit delayed, and sometimes it is completely empty.&lt;br /&gt;
&lt;br /&gt;
A sample command line (on Windows) is:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;sigrok-cli -P can:bitrate=250000:can_rx=&amp;quot;CAN RX&amp;quot; -P timing:data=&amp;quot;CAN RX&amp;quot; -I csv:header=true:samplerate=5000000 -i &amp;quot;T:\stdHMF\UserData\scripts\Tektronix2PulseView\_PulseView_AllChannels_ACQ000001_Tektronix_f5000000.txt&amp;quot;&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===2017-04===&lt;br /&gt;
&lt;br /&gt;
Using [[PulseView]] to decode data from a Tektronix oscilloscope of SPI communication to a CAN controller, [http://www.microchip.com/wwwproducts/Devices.aspx?dDocName=en010406 MCP2515].&lt;br /&gt;
&lt;br /&gt;
==Task list==&lt;br /&gt;
&lt;br /&gt;
Currently not in priority order.&lt;br /&gt;
&lt;br /&gt;
* Allow import of analog data through CSV files. (Related: fixed  [https://sigrok.org/bugzilla/show_bug.cgi?id=1064 bug 1064] - &amp;#039;&amp;#039;locale&amp;#039;&amp;#039; issue, decimal point, &amp;quot;,&amp;quot; vs. &amp;quot;.&amp;quot;.).&lt;br /&gt;
&lt;br /&gt;
* Add detection of error frames to the CAN protocol decoder&lt;br /&gt;
&lt;br /&gt;
* Add support for the gigga watt EEVBlog multimeter (Bluetooth, etc.)&lt;br /&gt;
&lt;br /&gt;
* Add a snap feature to the &amp;quot;cursor&amp;quot; (blue) in PulveView&lt;br /&gt;
&lt;br /&gt;
* Change number of significant digits for the time display in the &amp;quot;cursor&amp;quot; (blue) in PulveView&lt;br /&gt;
&lt;br /&gt;
* Submit selected sample traces for CAN decoder change (for CRC segment) validation. With and without stuff bits in various places. With and without timing deviations. (Related: [https://sigrok.org/bugzilla/show_bug.cgi?id=1085 bug 1085], celeron55&amp;#039;s fix, &amp;#039;&amp;#039;&amp;#039;&amp;#039;&amp;#039;if len(self.bits) &amp;gt; self.last_databit + 16&amp;#039;&amp;#039;&amp;#039;&amp;#039;&amp;#039; → &amp;#039;&amp;#039;&amp;#039;&amp;#039;&amp;#039;if len(self.bits) &amp;gt; self.last_databit + 17&amp;#039;&amp;#039;&amp;#039;&amp;#039;&amp;#039; (16 → 17)).&lt;br /&gt;
&lt;br /&gt;
* Add support for the [[Tektronix TDS2000B series|TDS2000]] series in libsigrok, and thus, by extension, use by the new shiny stuff in PulveView.&lt;br /&gt;
&lt;br /&gt;
===On wiki===&lt;br /&gt;
&lt;br /&gt;
* Change recommended procedure for submitting sample Sigrok files (traces), on &amp;#039;&amp;#039;[[Example dumps#Contributing dumps|Example dumps]]&amp;#039;&amp;#039;.&lt;br /&gt;
&lt;br /&gt;
==Glossary==&lt;br /&gt;
&lt;br /&gt;
*&amp;#039;&amp;#039;BBB&amp;#039;&amp;#039; [https://en.wikipedia.org/wiki/BeagleBoard#BeagleBone_Black BeagleBone Black]&lt;br /&gt;
*&amp;#039;&amp;#039;GH&amp;#039;&amp;#039; [http://en.wikipedia.org/wiki/GitHub GitHub]&lt;br /&gt;
*&amp;#039;&amp;#039;ISTR&amp;#039;&amp;#039; ????&lt;br /&gt;
*&amp;#039;&amp;#039;LA&amp;#039;&amp;#039; Logic analyser&lt;br /&gt;
*&amp;#039;&amp;#039;ML&amp;#039;&amp;#039; Mailing list&lt;br /&gt;
*&amp;#039;&amp;#039;OLS&amp;#039;&amp;#039; ????&lt;br /&gt;
*&amp;#039;&amp;#039;PR&amp;#039;&amp;#039; Pull request (a Git term). &amp;#039;&amp;#039;Not&amp;#039;&amp;#039; &amp;quot;problem report&amp;quot;.&lt;br /&gt;
*&amp;#039;&amp;#039;SR&amp;#039;&amp;#039; Sigrok&lt;br /&gt;
*&amp;#039;&amp;#039;srd&amp;#039;&amp;#039; ????&lt;br /&gt;
*&amp;#039;&amp;#039;WIP&amp;#039;&amp;#039; Work in progress. Mostly related to particular Git commits.&lt;br /&gt;
*&amp;#039;&amp;#039;PD&amp;#039;&amp;#039; protocol decoder. Non-standard spellings are &amp;#039;&amp;#039;Pd&amp;#039;&amp;#039; and &amp;#039;&amp;#039;pd&amp;#039;&amp;#039;.&lt;br /&gt;
*&amp;#039;&amp;#039;PV&amp;#039;&amp;#039; PulseView. Non-standard spellings are &amp;#039;&amp;#039;Pv&amp;#039;&amp;#039; and &amp;#039;&amp;#039;pv&amp;#039;&amp;#039;.&lt;br /&gt;
&lt;br /&gt;
==Some bug reports==&lt;br /&gt;
&lt;br /&gt;
* [https://sigrok.org/bug/1155 Possible problem with the MSO-19 USB driver on Windows]. PulveView crashes at startup if the MSO-19 is connected.&lt;br /&gt;
&lt;br /&gt;
==Interests==&lt;br /&gt;
&lt;br /&gt;
I am mostly interested in:&lt;br /&gt;
&lt;br /&gt;
* The [[CAN|CAN protocol decoder]] (that page is currently empty, but it is listed on [[Protocol decoders|the protocol decoders page]])&lt;br /&gt;
* CAN bus loggers, like IXXAT&amp;#039;s (now acquired by HMS) &amp;#039;&amp;#039;USB-to-CAN compact&amp;#039;&amp;#039;/&amp;#039;&amp;#039;USB-to-CAN V2&amp;#039;&amp;#039; and Kvaser&amp;#039;s &amp;#039;&amp;#039;Memorator&amp;#039;&amp;#039;.&lt;br /&gt;
* The higher-level [http://en.wikipedia.org/wiki/CANopen CANopen] protocol (on top of CAN)&lt;br /&gt;
&lt;br /&gt;
==Protocol decoders==&lt;br /&gt;
&lt;br /&gt;
===Non-empty wiki pages===&lt;br /&gt;
&lt;br /&gt;
Currently (2017-07-08), 28 &lt;br /&gt;
of 77 [[Protocol_decoders#Supported protocol decoders|protocol decoders]] (36%) have non-empty pages here on the wiki:&lt;br /&gt;
&lt;br /&gt;
*[[Protocol decoder:Adns5020|ADNS5020]] &lt;br /&gt;
*[[Protocol decoder:Am230x|AM230X]]&lt;br /&gt;
*[[Protocol decoder:Arm etmv3|ARM ETMV3]]&lt;br /&gt;
*[[Protocol decoder:Arm itm|ARM ITM]]&lt;br /&gt;
*[[Protocol decoder:Arm tpiu|ARM TPIU]]&lt;br /&gt;
*[[Protocol decoder:Aud|AUD]]&lt;br /&gt;
*[[Protocol decoder:Avr pdi|AVR PDI]]&lt;br /&gt;
*[[Protocol decoder:Dcf77|DCF77]]&lt;br /&gt;
*[[Protocol decoder:I2c|I²C]]&lt;br /&gt;
*[[Protocol decoder:Ir nec|IR NEC]]&lt;br /&gt;
*[[Protocol decoder:Modbus|Modbus]]&lt;br /&gt;
*[[Protocol decoder:Mrf24j40|MRF24J40]]&lt;br /&gt;
*[[Protocol decoder:Nrf24l01|NRF24L01]]&lt;br /&gt;
*[[Protocol decoder:Nunchuk|Nunchuk]]&lt;br /&gt;
*[[Protocol decoder:Pan1321|PAN1321]]&lt;br /&gt;
*[[Protocol decoder:Parallel|Parallel]]&lt;br /&gt;
*[[Protocol decoder:Pwm|PWM]]&lt;br /&gt;
*[[Protocol decoder:Qi|Qi]]&lt;br /&gt;
*[[Protocol decoder:Rfm12|RFM12]]&lt;br /&gt;
*[[Protocol decoder:Rgb led spi|RGB LED SPI]]&lt;br /&gt;
*[[Protocol decoder:Rtc8564|RTC8564]]&lt;br /&gt;
*[[Protocol decoder:Spdif|SPDIF]]&lt;br /&gt;
*[[Protocol decoder:Spi|SPI]]&lt;br /&gt;
*[[Protocol decoder:Spiflash|SPI flash]]&lt;br /&gt;
*[[Protocol decoder:Stepper motor|Stepper motor]]&lt;br /&gt;
*[[Protocol decoder:Tlc5620|TLC5620]]&lt;br /&gt;
*[[Protocol decoder:Uart|UART]]&lt;br /&gt;
*[[Protocol decoder:Z80|Z80]]&lt;br /&gt;
&lt;br /&gt;
==Meta==&lt;br /&gt;
&lt;br /&gt;
===Creating sub pages for proposals===&lt;br /&gt;
&lt;br /&gt;
E.g., to work on drafts and proposals for new or old wiki entries, without affecting the main wiki (this is not specific for this project). Add this non-existent link (&amp;quot;IRC shenanigans&amp;quot; is an example) somewhere on the user page (it can be deleted later if the reference is not needed):&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;none&amp;quot;&amp;gt;&lt;br /&gt;
[[User:PeterMortensen/IRC shenanigans]]&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Rendered:&lt;br /&gt;
&lt;br /&gt;
[[User:PeterMortensen/IRC shenanigans]]&lt;br /&gt;
&lt;br /&gt;
Open that page and add some content.&lt;br /&gt;
&lt;br /&gt;
==Profile==&lt;br /&gt;
&lt;br /&gt;
Profile: see [http://en.wikipedia.org/wiki/User:Mortense my Wikipedia user page].&lt;br /&gt;
&lt;br /&gt;
Credentials: more than 5000 edits on the English Wikipedia.&lt;br /&gt;
&lt;br /&gt;
==Shortcuts==&lt;br /&gt;
&lt;br /&gt;
* [https://sigrok.org/doc/pulseview/0.4.1/manual.html PulseView manual]&lt;br /&gt;
* [[Sigrok-cli|sigrok-cli man page]]&lt;br /&gt;
* [https://plus.google.com/communities/109843678338531936878 Google+ group for sigrok] (now defunc as Google+ closed down)&lt;br /&gt;
* [[PulseView]]. Includes the command line to get the source code using Git.&lt;br /&gt;
* [[Downloads#Windows_Download|PulseView, Windows binaries]] (nightly - development). [[Windows#Windows_installers|Alternative location]] (but it seems redundant).&lt;br /&gt;
* [[Downloads#Linux_AppImage_binaries|PulseView, Linux binaries]] (nightly - development).&lt;br /&gt;
* [[Example dumps|Example data dumps]] - sample data in .sr format. Also includes instructions on how to contribute new ones. Includes the command line to get the whole thing using Git (as of 2017-11-26, 2286 &amp;quot;objects&amp;quot;, 724 .sr files, about 65&amp;amp;nbsp;MB in download size, 192&amp;amp;nbsp;MB on disk).&lt;br /&gt;
* [[Special:Random|Random page]]&lt;br /&gt;
* [https://sigrok.org/jenkins/job/sigrok-native-appimage/ Native app image] (not official yet). Is for Linux and x86 only. See also [https://en.wikipedia.org/wiki/AppImage AppImage] (Wikipedia).&lt;br /&gt;
* [[Press]]. List of annotated links, mostly blog posts.&lt;br /&gt;
* [[Probe comparison]]&lt;br /&gt;
* [[Link Instruments MSO-19|MSO-19]]. Mixed oscilloscope and logic analyser by Link Instruments that (or rather its driver) crashes PulveView at startup when connected (until some time in mid 2018(?)). Some reverse engineering has been done in 2012, but it is not supported (has status &amp;quot;Planned&amp;quot;). [https://sigrok.org/bugzilla/show_bug.cgi?id=1155 Sigrok bug report for the crash]. [http://www.linkinstruments.com/doupdate_mso19.htm Software download page for it.]&lt;br /&gt;
* [[Windows|sigrok, Microsoft Windows page]]&lt;br /&gt;
** [[Windows#Device specific USB driver|Device specific USB driver - WinUSB - Zadig]]&lt;br /&gt;
&lt;br /&gt;
===Protocol decoders===&lt;br /&gt;
&lt;br /&gt;
* The [[CAN|CAN bus protocol decoder]]&lt;br /&gt;
* [[Protocol decoder HOWTO]]&lt;br /&gt;
* [[Protocol decoder API]]&lt;br /&gt;
* [[Protocol decoders#Supported protocol decoders|Supported protocol decoders]]&lt;br /&gt;
&lt;br /&gt;
===Building sigrok===&lt;br /&gt;
&lt;br /&gt;
* On Debian (e.g. Raspberry Pi): [[Linux#Installing the requirements 2|Installing required software]]&lt;br /&gt;
* On Debian (e.g. Raspberry Pi): [[Linux#Building 3|Actual build]]&lt;br /&gt;
* Alternative to following the wiki pages: [https://sigrok.org/gitweb/?p=sigrok-util.git;a=blob;f=cross-compile/linux/sigrok-cross-linux;h=2c8e559efde8cf6ae9a365bf1a4324a33600fae7;hb=HEAD a script that will do most of it]. (&amp;#039;&amp;#039;[sigrok-util.git] / cross-compile / linux / sigrok-cross-linux&amp;#039;&amp;#039;)&lt;br /&gt;
* Windows:&lt;br /&gt;
**On Windows: [[Windows#Native_build_using_MSYS2|Native build using MSYS2]] (but may not really work - sigrok-cli and PulseView are listed as not working).&lt;br /&gt;
**[[Windows#Cross-compile_using_MXE|Cross compile on Linux]] (using [http://mxe.cc/ MXE]). The script is [https://sigrok.org/gitweb/?p=sigrok-util.git;a=blob;f=cross-compile/mingw/sigrok-cross-mingw;h=8330406ecd28969d8d29c8ad23df8968a4b9ec68;hb=HEAD /sigrok-util/cross-compile/mingw/sigrok-cross-mingw]. Used for nightlies? [https://sigrok.org/jenkins/job/sigrok-cross-mingw/buildtype=static,debugtype=debug,platform=cross-i686-w64-mingw32/ Jenkins page for the debug version].&lt;br /&gt;
* The Jenkins thingy - automatic build, e.g. nightlies for PulseView and &amp;quot;AppImage&amp;quot; (self-contained executable for x86 Linux). Sample: [https://sigrok.org/jenkins/job/sigrok-cli/ sigrok-cli] with 44 configurations (43 cross-compiles), e.g. cross-x86_64-w64-mingw32 (for Windows 64-bit?).&lt;br /&gt;
* The [[Building#Installing_to_a_non-standard_directory_using_LD_LIBRARY_PATH|LD_LIBRARY_PATH trick]]&lt;/div&gt;</summary>
		<author><name>PeterMortensen</name></author>
	</entry>
	<entry>
		<id>https://sigrok.org/w/index.php?title=User:PeterMortensen&amp;diff=16364</id>
		<title>User:PeterMortensen</title>
		<link rel="alternate" type="text/html" href="https://sigrok.org/w/index.php?title=User:PeterMortensen&amp;diff=16364"/>
		<updated>2022-12-02T17:58:41Z</updated>

		<summary type="html">&lt;p&gt;PeterMortensen: /* Meta */ Created a stub for a subsection of a subsection&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;==Recent activity==&lt;br /&gt;
&lt;br /&gt;
===2020-01===&lt;br /&gt;
&lt;br /&gt;
Getting insight into what happens with PC keyboards on the signal level and on higher levels (related to repurposing an old PS/2 keyboard (BTC 5349) as a macro keyboard, with the help of an [https://store.arduino.cc/arduino-leonardo-with-headers Arduino Leonardo]):&lt;br /&gt;
&lt;br /&gt;
#For the keyboards listed below: Verify that all keys work (by capturing in PulseView and observe there is actually a signal. Note that the accent and umlaut key requires pressing a letter after).&lt;br /&gt;
#For the keyboards listed below: Capturing and submitting information for PS/2 PC keyboards (CLK and DATA), including during pressing and releasing  and bidirectional traffic (PC initialising the keyboard, e.g. at connect and/or PC startup). Submit to Git repository &amp;quot;[https://sigrok.org/gitweb/ sigrok-dumps]&amp;quot;: Keyboards (all European layout):&lt;br /&gt;
##BTC 5349 (102 keys IBM/AT type, corresponding to IBM Model M (Enhanced)). 100 mA (measured). Mechanical keyboard?&lt;br /&gt;
##Fujitsu/Siemens ([https://en.wikipedia.org/wiki/File:ISO_keyboard_%28105%29_QWERTY_UK.svg 105 keys] + 10 media keys (sleep, mail, play, stop, speaker controls, etc.). IBM/AT type. ?? mA.&lt;br /&gt;
##Microsoft &amp;#039;&amp;#039;&amp;quot;Natural Keyboard Elite&amp;quot;&amp;#039;&amp;#039;. [https://en.wikipedia.org/wiki/File:ISO_keyboard_%28105%29_QWERTY_UK.svg 105 keys]. 500 mA (nominal).&lt;br /&gt;
##[https://en.wikipedia.org/wiki/Apple_Extended_Keyboard Apple Extended Keyboard II]. [https://en.wikipedia.org/wiki/File:ISO_keyboard_%28105%29_QWERTY_UK.svg 105 keys] + one power key. ??? mA. Mechanical keyboard. Uses [https://en.wikipedia.org/wiki/Apple_Desktop_Bus#Physical ADB], not PS/2 (physically similar, but 4-pin mini-DIN connector). A single pin for data and &amp;#039;PSW&amp;#039; connected directly to the power switch. All communication is host initiated (polling).&lt;br /&gt;
#Consider adding regression tests for the PS/2 decoder. It will include if it handles the 2-3% clock frequency offset for the BTC 5349 (probably, as there is CLK, but that is not the case if decoding as the UART protocol decoder).&lt;br /&gt;
#Some higher-level protocol decoder work for PC keyboards (not decided on yet), e.g. identifying scan code sequences as the corresponding keys.&lt;br /&gt;
#Some hardware to allow an Arduino Leonardo to pose as a PC ([https://en.wikipedia.org/wiki/Open_collector open collector] outputs). To explore what commands various keyboards responds to and what modes they might enter (for example, Linux allegedly tries put keyboards into &amp;quot;Set 3&amp;quot; (the powerup default is usually &amp;quot;Set 2&amp;quot;)). The three LEDs on the keyboard can also be used for user feedback for the macro keyboard.&lt;br /&gt;
#Existing content on the wiki, etc. regarding PC keyboards, etc.:&lt;br /&gt;
##Keyboards (none found, but are probably not supposed to exist, only actual capturing hardware(?)).&lt;br /&gt;
##[[Protocol_decoder:Ps2|PS/2 decoder page]]. Does not exist??&lt;br /&gt;
##&amp;#039;&amp;#039;&amp;quot;The decode of some PS/2 (or USB) keyboard/mouse traffic could yield an ASCII text file of all the keys that were pressed on the keyboard.&amp;quot;&amp;#039;&amp;#039; (on [[Protocol decoder output|a planning page]])&lt;br /&gt;
##Look in bug tracker for PS/2, keyboards, etc.&lt;br /&gt;
###Bug #1460 - [https://sigrok.org/gitweb/?p=libsigrokdecode.git;a=commitdiff;h=4370348c4fcdbd708715c35a38fdf06c9364d518 ps2: end data byte at rising clock edge of the stop bit]&lt;br /&gt;
##Look in Git log&lt;br /&gt;
### [https://sigrok.org/gitweb/?p=sigrok-dumps.git;a=commit;h=16931eb480ba5df923c1508f3d83719eddcc5ab3 PS/2 keyboard data submitted on 2019-12-21] (discovered on [https://sigrok.org/gitweb/?p=sigrok-dumps.git;a=log projects / sigrok-dumps.git / commit ])&lt;br /&gt;
##Look in IRC log&lt;br /&gt;
##Look in blog posts for info on PS/2, etc.&lt;br /&gt;
#Updating the wiki&lt;br /&gt;
##Add PS/2 low-level reference (details about the CLK signal) to the PS/2 protocol decoder page. IRC ref. [2020-01-07 01:49:07] and [2020-01-07 18:09:02] (UTC+1)). Add to the resources section. Is: http://www.nerdkits.com/videos/interrupts_and_ps2_keyboard/&lt;br /&gt;
##Add keyboard documentation, pictures (not decided on yet).&lt;br /&gt;
#Ideas:&lt;br /&gt;
##Deliberately send data to the keyboard with a parity error.&lt;br /&gt;
##Deliberately add noise to the signals (say, wide-band white noise by electronics means), forcing parity errors. This should force the receiver (keyboard or host PC) to respond.&lt;br /&gt;
##Send unknown commands to the keyboard. It should respond with 0xFE (in contrast to the normal 0xFA).&lt;br /&gt;
##Try all the keyboard commands in &amp;#039;&amp;#039;[https://www.win.tue.nl/~aeb/linux/kbd/scancodes-12.html Keyboard commands]&amp;#039;&amp;#039;.&lt;br /&gt;
##For a keyboard that is &amp;#039;&amp;#039;both&amp;#039;&amp;#039; capable of USB and PS/2: Record the startup sequence when connected via PS/2 to a PC host. To see if there is any indication on the signal level of such capability.&lt;br /&gt;
&lt;br /&gt;
Other:&lt;br /&gt;
&lt;br /&gt;
#Updating broken links here. For example, for the CAN protocol decoder.&lt;br /&gt;
&lt;br /&gt;
===2019-04===&lt;br /&gt;
&lt;br /&gt;
#Building a Docker container for compiling sigrok-cli and PulseView. It is supposed to both run under Linux and Windows (x64).&lt;br /&gt;
#Testing a new driver by user &amp;#039;&amp;#039;droghio&amp;#039;&amp;#039; that should work for the [[Tektronix TDS2024B|TDS2024C Tektronix  oscilloscope]]. Some placeholding:&lt;br /&gt;
#*Part of &amp;quot;lsusb -v&amp;quot; output: &amp;quot;Bus 008 Device 005: ID 0699:03a6 Tektronix, Inc.&amp;quot;&lt;br /&gt;
#*Notes to self: the &amp;#039;&amp;#039;&amp;quot;[git://sigrok.org/sigrok-util util]&amp;quot;&amp;#039;&amp;#039; repository (for building and stuff) - [https://github.com/sigrokproject/sigrok-util read-only mirror at GitHub]. [https://github.com/sigrokproject/sigrok-util/blob/master/cross-compile/linux/sigrok-cross-linux Cross-built script].&lt;br /&gt;
&lt;br /&gt;
===2018-04===&lt;br /&gt;
&lt;br /&gt;
Submitting comprehensive sample data for CAN bus, both 11-bit and 29-bit messages, and corresponding test cases (mostly for regression test - especially regression for [https://sigrok.org/bugzilla/show_bug.cgi?id=1085 the 2018-04-12 fix to the decoding at the end of the CRC part]).&lt;br /&gt;
&lt;br /&gt;
Notes to self:&lt;br /&gt;
&lt;br /&gt;
# Original acquired analog data: C:\temp2\2017-12-23\CAN decoder, new stuff bit handling at the end of the CRC segment\Data67\In\ACQ000009_Tektronix.txt&lt;br /&gt;
&lt;br /&gt;
===2017-12===&lt;br /&gt;
&lt;br /&gt;
Recording 22483 traces for the purpose of evaluating [https://sigrok.org/bugzilla/show_bug.cgi?id=1085 a proposed fix to the CAN protocol decoder] (actually only changing a single number from 16 to 17), stuff bit at the very end of the CRC segment, with a modified trigger scheme: &lt;br /&gt;
&lt;br /&gt;
* Change the position of the trigger point to the end (right) so there is always a CAN message in the trace (for the previous), but still 26&amp;amp;nbsp;µs recessive.&lt;br /&gt;
&lt;br /&gt;
The time division was 100&amp;amp;nbsp;µs / division (about 225 bit times max) to always record whole CAN messages - at 10 samples per bit time.&lt;br /&gt;
&lt;br /&gt;
===2017-07===&lt;br /&gt;
&lt;br /&gt;
Using the sigrok command-line (&amp;quot;sigrok-cli&amp;quot;) to bulk process data derived from Tektronix oscilloscope data of 250&amp;amp;nbsp;kbit/s CAN traffic on a real-world system (mobile cranes). The first sample data set is 5335 oscilloscope traces obtained with the trigger set to a negative pulse on CAN-H (to start off at the end of a CAN message) - corresponding to 6.5 recessive bits, 26&amp;amp;nbsp;µsec (detecting the space in-between CAN messages). Sometimes there is a CAN message right after this, sometimes it is a bit delayed, and sometimes it is completely empty.&lt;br /&gt;
&lt;br /&gt;
A sample command line (on Windows) is:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;sigrok-cli -P can:bitrate=250000:can_rx=&amp;quot;CAN RX&amp;quot; -P timing:data=&amp;quot;CAN RX&amp;quot; -I csv:header=true:samplerate=5000000 -i &amp;quot;T:\stdHMF\UserData\scripts\Tektronix2PulseView\_PulseView_AllChannels_ACQ000001_Tektronix_f5000000.txt&amp;quot;&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===2017-04===&lt;br /&gt;
&lt;br /&gt;
Using [[PulseView]] to decode data from a Tektronix oscilloscope of SPI communication to a CAN controller, [http://www.microchip.com/wwwproducts/Devices.aspx?dDocName=en010406 MCP2515].&lt;br /&gt;
&lt;br /&gt;
==Task list==&lt;br /&gt;
&lt;br /&gt;
Currently not in priority order.&lt;br /&gt;
&lt;br /&gt;
* Allow import of analog data through CSV files. (Related: fixed  [https://sigrok.org/bugzilla/show_bug.cgi?id=1064 bug 1064] - &amp;#039;&amp;#039;locale&amp;#039;&amp;#039; issue, decimal point, &amp;quot;,&amp;quot; vs. &amp;quot;.&amp;quot;.).&lt;br /&gt;
&lt;br /&gt;
* Add detection of error frames to the CAN protocol decoder&lt;br /&gt;
&lt;br /&gt;
* Add support for the gigga watt EEVBlog multimeter (Bluetooth, etc.)&lt;br /&gt;
&lt;br /&gt;
* Add a snap feature to the &amp;quot;cursor&amp;quot; (blue) in PulveView&lt;br /&gt;
&lt;br /&gt;
* Change number of significant digits for the time display in the &amp;quot;cursor&amp;quot; (blue) in PulveView&lt;br /&gt;
&lt;br /&gt;
* Submit selected sample traces for CAN decoder change (for CRC segment) validation. With and without stuff bits in various places. With and without timing deviations. (Related: [https://sigrok.org/bugzilla/show_bug.cgi?id=1085 bug 1085], celeron55&amp;#039;s fix, &amp;#039;&amp;#039;&amp;#039;&amp;#039;&amp;#039;if len(self.bits) &amp;gt; self.last_databit + 16&amp;#039;&amp;#039;&amp;#039;&amp;#039;&amp;#039; → &amp;#039;&amp;#039;&amp;#039;&amp;#039;&amp;#039;if len(self.bits) &amp;gt; self.last_databit + 17&amp;#039;&amp;#039;&amp;#039;&amp;#039;&amp;#039; (16 → 17)).&lt;br /&gt;
&lt;br /&gt;
* Add support for the [[Tektronix TDS2000B series|TDS2000]] series in libsigrok, and thus, by extension, use by the new shiny stuff in PulveView.&lt;br /&gt;
&lt;br /&gt;
===On wiki===&lt;br /&gt;
&lt;br /&gt;
* Change recommended procedure for submitting sample Sigrok files (traces), on &amp;#039;&amp;#039;[[Example dumps#Contributing dumps|Example dumps]]&amp;#039;&amp;#039;.&lt;br /&gt;
&lt;br /&gt;
==Glossary==&lt;br /&gt;
&lt;br /&gt;
*&amp;#039;&amp;#039;BBB&amp;#039;&amp;#039; [https://en.wikipedia.org/wiki/BeagleBoard#BeagleBone_Black BeagleBone Black]&lt;br /&gt;
*&amp;#039;&amp;#039;GH&amp;#039;&amp;#039; [http://en.wikipedia.org/wiki/GitHub GitHub]&lt;br /&gt;
*&amp;#039;&amp;#039;ISTR&amp;#039;&amp;#039; ????&lt;br /&gt;
*&amp;#039;&amp;#039;LA&amp;#039;&amp;#039; Logic analyser&lt;br /&gt;
*&amp;#039;&amp;#039;ML&amp;#039;&amp;#039; Mailing list&lt;br /&gt;
*&amp;#039;&amp;#039;OLS&amp;#039;&amp;#039; ????&lt;br /&gt;
*&amp;#039;&amp;#039;PR&amp;#039;&amp;#039; Pull request (a Git term). &amp;#039;&amp;#039;Not&amp;#039;&amp;#039; &amp;quot;problem report&amp;quot;.&lt;br /&gt;
*&amp;#039;&amp;#039;SR&amp;#039;&amp;#039; Sigrok&lt;br /&gt;
*&amp;#039;&amp;#039;srd&amp;#039;&amp;#039; ????&lt;br /&gt;
*&amp;#039;&amp;#039;WIP&amp;#039;&amp;#039; Work in progress. Mostly related to particular Git commits.&lt;br /&gt;
*&amp;#039;&amp;#039;PD&amp;#039;&amp;#039; protocol decoder. Non-standard spellings are &amp;#039;&amp;#039;Pd&amp;#039;&amp;#039; and &amp;#039;&amp;#039;pd&amp;#039;&amp;#039;.&lt;br /&gt;
*&amp;#039;&amp;#039;PV&amp;#039;&amp;#039; PulseView. Non-standard spellings are &amp;#039;&amp;#039;Pv&amp;#039;&amp;#039; and &amp;#039;&amp;#039;pv&amp;#039;&amp;#039;.&lt;br /&gt;
&lt;br /&gt;
==Some bug reports==&lt;br /&gt;
&lt;br /&gt;
* [https://sigrok.org/bug/1155 Possible problem with the MSO-19 USB driver on Windows]. PulveView crashes at startup if the MSO-19 is connected.&lt;br /&gt;
&lt;br /&gt;
==Interests==&lt;br /&gt;
&lt;br /&gt;
I am mostly interested in:&lt;br /&gt;
&lt;br /&gt;
* The [[CAN|CAN protocol decoder]] (that page is currently empty, but it is listed on [[Protocol decoders|the protocol decoders page]])&lt;br /&gt;
* CAN bus loggers, like IXXAT&amp;#039;s (now acquired by HMS) &amp;#039;&amp;#039;USB-to-CAN compact&amp;#039;&amp;#039;/&amp;#039;&amp;#039;USB-to-CAN V2&amp;#039;&amp;#039; and Kvaser&amp;#039;s &amp;#039;&amp;#039;Memorator&amp;#039;&amp;#039;.&lt;br /&gt;
* The higher-level [http://en.wikipedia.org/wiki/CANopen CANopen] protocol (on top of CAN)&lt;br /&gt;
&lt;br /&gt;
==Protocol decoders==&lt;br /&gt;
&lt;br /&gt;
===Non-empty wiki pages===&lt;br /&gt;
&lt;br /&gt;
Currently (2017-07-08), 28 &lt;br /&gt;
of 77 [[Protocol_decoders#Supported protocol decoders|protocol decoders]] (36%) have non-empty pages here on the wiki:&lt;br /&gt;
&lt;br /&gt;
*[[Protocol decoder:Adns5020|ADNS5020]] &lt;br /&gt;
*[[Protocol decoder:Am230x|AM230X]]&lt;br /&gt;
*[[Protocol decoder:Arm etmv3|ARM ETMV3]]&lt;br /&gt;
*[[Protocol decoder:Arm itm|ARM ITM]]&lt;br /&gt;
*[[Protocol decoder:Arm tpiu|ARM TPIU]]&lt;br /&gt;
*[[Protocol decoder:Aud|AUD]]&lt;br /&gt;
*[[Protocol decoder:Avr pdi|AVR PDI]]&lt;br /&gt;
*[[Protocol decoder:Dcf77|DCF77]]&lt;br /&gt;
*[[Protocol decoder:I2c|I²C]]&lt;br /&gt;
*[[Protocol decoder:Ir nec|IR NEC]]&lt;br /&gt;
*[[Protocol decoder:Modbus|Modbus]]&lt;br /&gt;
*[[Protocol decoder:Mrf24j40|MRF24J40]]&lt;br /&gt;
*[[Protocol decoder:Nrf24l01|NRF24L01]]&lt;br /&gt;
*[[Protocol decoder:Nunchuk|Nunchuk]]&lt;br /&gt;
*[[Protocol decoder:Pan1321|PAN1321]]&lt;br /&gt;
*[[Protocol decoder:Parallel|Parallel]]&lt;br /&gt;
*[[Protocol decoder:Pwm|PWM]]&lt;br /&gt;
*[[Protocol decoder:Qi|Qi]]&lt;br /&gt;
*[[Protocol decoder:Rfm12|RFM12]]&lt;br /&gt;
*[[Protocol decoder:Rgb led spi|RGB LED SPI]]&lt;br /&gt;
*[[Protocol decoder:Rtc8564|RTC8564]]&lt;br /&gt;
*[[Protocol decoder:Spdif|SPDIF]]&lt;br /&gt;
*[[Protocol decoder:Spi|SPI]]&lt;br /&gt;
*[[Protocol decoder:Spiflash|SPI flash]]&lt;br /&gt;
*[[Protocol decoder:Stepper motor|Stepper motor]]&lt;br /&gt;
*[[Protocol decoder:Tlc5620|TLC5620]]&lt;br /&gt;
*[[Protocol decoder:Uart|UART]]&lt;br /&gt;
*[[Protocol decoder:Z80|Z80]]&lt;br /&gt;
&lt;br /&gt;
==Meta==&lt;br /&gt;
&lt;br /&gt;
===Creating sub pages for proposals===&lt;br /&gt;
&lt;br /&gt;
==Profile==&lt;br /&gt;
&lt;br /&gt;
Profile: see [http://en.wikipedia.org/wiki/User:Mortense my Wikipedia user page].&lt;br /&gt;
&lt;br /&gt;
Credentials: more than 5000 edits on the English Wikipedia.&lt;br /&gt;
&lt;br /&gt;
==Shortcuts==&lt;br /&gt;
&lt;br /&gt;
* [https://sigrok.org/doc/pulseview/0.4.1/manual.html PulseView manual]&lt;br /&gt;
* [[Sigrok-cli|sigrok-cli man page]]&lt;br /&gt;
* [https://plus.google.com/communities/109843678338531936878 Google+ group for sigrok] (now defunc as Google+ closed down)&lt;br /&gt;
* [[PulseView]]. Includes the command line to get the source code using Git.&lt;br /&gt;
* [[Downloads#Windows_Download|PulseView, Windows binaries]] (nightly - development). [[Windows#Windows_installers|Alternative location]] (but it seems redundant).&lt;br /&gt;
* [[Downloads#Linux_AppImage_binaries|PulseView, Linux binaries]] (nightly - development).&lt;br /&gt;
* [[Example dumps|Example data dumps]] - sample data in .sr format. Also includes instructions on how to contribute new ones. Includes the command line to get the whole thing using Git (as of 2017-11-26, 2286 &amp;quot;objects&amp;quot;, 724 .sr files, about 65&amp;amp;nbsp;MB in download size, 192&amp;amp;nbsp;MB on disk).&lt;br /&gt;
* [[Special:Random|Random page]]&lt;br /&gt;
* [https://sigrok.org/jenkins/job/sigrok-native-appimage/ Native app image] (not official yet). Is for Linux and x86 only. See also [https://en.wikipedia.org/wiki/AppImage AppImage] (Wikipedia).&lt;br /&gt;
* [[Press]]. List of annotated links, mostly blog posts.&lt;br /&gt;
* [[Probe comparison]]&lt;br /&gt;
* [[Link Instruments MSO-19|MSO-19]]. Mixed oscilloscope and logic analyser by Link Instruments that (or rather its driver) crashes PulveView at startup when connected (until some time in mid 2018(?)). Some reverse engineering has been done in 2012, but it is not supported (has status &amp;quot;Planned&amp;quot;). [https://sigrok.org/bugzilla/show_bug.cgi?id=1155 Sigrok bug report for the crash]. [http://www.linkinstruments.com/doupdate_mso19.htm Software download page for it.]&lt;br /&gt;
* [[Windows|sigrok, Microsoft Windows page]]&lt;br /&gt;
** [[Windows#Device specific USB driver|Device specific USB driver - WinUSB - Zadig]]&lt;br /&gt;
&lt;br /&gt;
===Protocol decoders===&lt;br /&gt;
&lt;br /&gt;
* The [[CAN|CAN bus protocol decoder]]&lt;br /&gt;
* [[Protocol decoder HOWTO]]&lt;br /&gt;
* [[Protocol decoder API]]&lt;br /&gt;
* [[Protocol decoders#Supported protocol decoders|Supported protocol decoders]]&lt;br /&gt;
&lt;br /&gt;
===Building sigrok===&lt;br /&gt;
&lt;br /&gt;
* On Debian (e.g. Raspberry Pi): [[Linux#Installing the requirements 2|Installing required software]]&lt;br /&gt;
* On Debian (e.g. Raspberry Pi): [[Linux#Building 3|Actual build]]&lt;br /&gt;
* Alternative to following the wiki pages: [https://sigrok.org/gitweb/?p=sigrok-util.git;a=blob;f=cross-compile/linux/sigrok-cross-linux;h=2c8e559efde8cf6ae9a365bf1a4324a33600fae7;hb=HEAD a script that will do most of it]. (&amp;#039;&amp;#039;[sigrok-util.git] / cross-compile / linux / sigrok-cross-linux&amp;#039;&amp;#039;)&lt;br /&gt;
* Windows:&lt;br /&gt;
**On Windows: [[Windows#Native_build_using_MSYS2|Native build using MSYS2]] (but may not really work - sigrok-cli and PulseView are listed as not working).&lt;br /&gt;
**[[Windows#Cross-compile_using_MXE|Cross compile on Linux]] (using [http://mxe.cc/ MXE]). The script is [https://sigrok.org/gitweb/?p=sigrok-util.git;a=blob;f=cross-compile/mingw/sigrok-cross-mingw;h=8330406ecd28969d8d29c8ad23df8968a4b9ec68;hb=HEAD /sigrok-util/cross-compile/mingw/sigrok-cross-mingw]. Used for nightlies? [https://sigrok.org/jenkins/job/sigrok-cross-mingw/buildtype=static,debugtype=debug,platform=cross-i686-w64-mingw32/ Jenkins page for the debug version].&lt;br /&gt;
* The Jenkins thingy - automatic build, e.g. nightlies for PulseView and &amp;quot;AppImage&amp;quot; (self-contained executable for x86 Linux). Sample: [https://sigrok.org/jenkins/job/sigrok-cli/ sigrok-cli] with 44 configurations (43 cross-compiles), e.g. cross-x86_64-w64-mingw32 (for Windows 64-bit?).&lt;br /&gt;
* The [[Building#Installing_to_a_non-standard_directory_using_LD_LIBRARY_PATH|LD_LIBRARY_PATH trick]]&lt;/div&gt;</summary>
		<author><name>PeterMortensen</name></author>
	</entry>
	<entry>
		<id>https://sigrok.org/w/index.php?title=User:PeterMortensen&amp;diff=16363</id>
		<title>User:PeterMortensen</title>
		<link rel="alternate" type="text/html" href="https://sigrok.org/w/index.php?title=User:PeterMortensen&amp;diff=16363"/>
		<updated>2022-12-02T17:57:10Z</updated>

		<summary type="html">&lt;p&gt;PeterMortensen: Added a stub for a new sub section.&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;==Recent activity==&lt;br /&gt;
&lt;br /&gt;
===2020-01===&lt;br /&gt;
&lt;br /&gt;
Getting insight into what happens with PC keyboards on the signal level and on higher levels (related to repurposing an old PS/2 keyboard (BTC 5349) as a macro keyboard, with the help of an [https://store.arduino.cc/arduino-leonardo-with-headers Arduino Leonardo]):&lt;br /&gt;
&lt;br /&gt;
#For the keyboards listed below: Verify that all keys work (by capturing in PulseView and observe there is actually a signal. Note that the accent and umlaut key requires pressing a letter after).&lt;br /&gt;
#For the keyboards listed below: Capturing and submitting information for PS/2 PC keyboards (CLK and DATA), including during pressing and releasing  and bidirectional traffic (PC initialising the keyboard, e.g. at connect and/or PC startup). Submit to Git repository &amp;quot;[https://sigrok.org/gitweb/ sigrok-dumps]&amp;quot;: Keyboards (all European layout):&lt;br /&gt;
##BTC 5349 (102 keys IBM/AT type, corresponding to IBM Model M (Enhanced)). 100 mA (measured). Mechanical keyboard?&lt;br /&gt;
##Fujitsu/Siemens ([https://en.wikipedia.org/wiki/File:ISO_keyboard_%28105%29_QWERTY_UK.svg 105 keys] + 10 media keys (sleep, mail, play, stop, speaker controls, etc.). IBM/AT type. ?? mA.&lt;br /&gt;
##Microsoft &amp;#039;&amp;#039;&amp;quot;Natural Keyboard Elite&amp;quot;&amp;#039;&amp;#039;. [https://en.wikipedia.org/wiki/File:ISO_keyboard_%28105%29_QWERTY_UK.svg 105 keys]. 500 mA (nominal).&lt;br /&gt;
##[https://en.wikipedia.org/wiki/Apple_Extended_Keyboard Apple Extended Keyboard II]. [https://en.wikipedia.org/wiki/File:ISO_keyboard_%28105%29_QWERTY_UK.svg 105 keys] + one power key. ??? mA. Mechanical keyboard. Uses [https://en.wikipedia.org/wiki/Apple_Desktop_Bus#Physical ADB], not PS/2 (physically similar, but 4-pin mini-DIN connector). A single pin for data and &amp;#039;PSW&amp;#039; connected directly to the power switch. All communication is host initiated (polling).&lt;br /&gt;
#Consider adding regression tests for the PS/2 decoder. It will include if it handles the 2-3% clock frequency offset for the BTC 5349 (probably, as there is CLK, but that is not the case if decoding as the UART protocol decoder).&lt;br /&gt;
#Some higher-level protocol decoder work for PC keyboards (not decided on yet), e.g. identifying scan code sequences as the corresponding keys.&lt;br /&gt;
#Some hardware to allow an Arduino Leonardo to pose as a PC ([https://en.wikipedia.org/wiki/Open_collector open collector] outputs). To explore what commands various keyboards responds to and what modes they might enter (for example, Linux allegedly tries put keyboards into &amp;quot;Set 3&amp;quot; (the powerup default is usually &amp;quot;Set 2&amp;quot;)). The three LEDs on the keyboard can also be used for user feedback for the macro keyboard.&lt;br /&gt;
#Existing content on the wiki, etc. regarding PC keyboards, etc.:&lt;br /&gt;
##Keyboards (none found, but are probably not supposed to exist, only actual capturing hardware(?)).&lt;br /&gt;
##[[Protocol_decoder:Ps2|PS/2 decoder page]]. Does not exist??&lt;br /&gt;
##&amp;#039;&amp;#039;&amp;quot;The decode of some PS/2 (or USB) keyboard/mouse traffic could yield an ASCII text file of all the keys that were pressed on the keyboard.&amp;quot;&amp;#039;&amp;#039; (on [[Protocol decoder output|a planning page]])&lt;br /&gt;
##Look in bug tracker for PS/2, keyboards, etc.&lt;br /&gt;
###Bug #1460 - [https://sigrok.org/gitweb/?p=libsigrokdecode.git;a=commitdiff;h=4370348c4fcdbd708715c35a38fdf06c9364d518 ps2: end data byte at rising clock edge of the stop bit]&lt;br /&gt;
##Look in Git log&lt;br /&gt;
### [https://sigrok.org/gitweb/?p=sigrok-dumps.git;a=commit;h=16931eb480ba5df923c1508f3d83719eddcc5ab3 PS/2 keyboard data submitted on 2019-12-21] (discovered on [https://sigrok.org/gitweb/?p=sigrok-dumps.git;a=log projects / sigrok-dumps.git / commit ])&lt;br /&gt;
##Look in IRC log&lt;br /&gt;
##Look in blog posts for info on PS/2, etc.&lt;br /&gt;
#Updating the wiki&lt;br /&gt;
##Add PS/2 low-level reference (details about the CLK signal) to the PS/2 protocol decoder page. IRC ref. [2020-01-07 01:49:07] and [2020-01-07 18:09:02] (UTC+1)). Add to the resources section. Is: http://www.nerdkits.com/videos/interrupts_and_ps2_keyboard/&lt;br /&gt;
##Add keyboard documentation, pictures (not decided on yet).&lt;br /&gt;
#Ideas:&lt;br /&gt;
##Deliberately send data to the keyboard with a parity error.&lt;br /&gt;
##Deliberately add noise to the signals (say, wide-band white noise by electronics means), forcing parity errors. This should force the receiver (keyboard or host PC) to respond.&lt;br /&gt;
##Send unknown commands to the keyboard. It should respond with 0xFE (in contrast to the normal 0xFA).&lt;br /&gt;
##Try all the keyboard commands in &amp;#039;&amp;#039;[https://www.win.tue.nl/~aeb/linux/kbd/scancodes-12.html Keyboard commands]&amp;#039;&amp;#039;.&lt;br /&gt;
##For a keyboard that is &amp;#039;&amp;#039;both&amp;#039;&amp;#039; capable of USB and PS/2: Record the startup sequence when connected via PS/2 to a PC host. To see if there is any indication on the signal level of such capability.&lt;br /&gt;
&lt;br /&gt;
Other:&lt;br /&gt;
&lt;br /&gt;
#Updating broken links here. For example, for the CAN protocol decoder.&lt;br /&gt;
&lt;br /&gt;
===2019-04===&lt;br /&gt;
&lt;br /&gt;
#Building a Docker container for compiling sigrok-cli and PulseView. It is supposed to both run under Linux and Windows (x64).&lt;br /&gt;
#Testing a new driver by user &amp;#039;&amp;#039;droghio&amp;#039;&amp;#039; that should work for the [[Tektronix TDS2024B|TDS2024C Tektronix  oscilloscope]]. Some placeholding:&lt;br /&gt;
#*Part of &amp;quot;lsusb -v&amp;quot; output: &amp;quot;Bus 008 Device 005: ID 0699:03a6 Tektronix, Inc.&amp;quot;&lt;br /&gt;
#*Notes to self: the &amp;#039;&amp;#039;&amp;quot;[git://sigrok.org/sigrok-util util]&amp;quot;&amp;#039;&amp;#039; repository (for building and stuff) - [https://github.com/sigrokproject/sigrok-util read-only mirror at GitHub]. [https://github.com/sigrokproject/sigrok-util/blob/master/cross-compile/linux/sigrok-cross-linux Cross-built script].&lt;br /&gt;
&lt;br /&gt;
===2018-04===&lt;br /&gt;
&lt;br /&gt;
Submitting comprehensive sample data for CAN bus, both 11-bit and 29-bit messages, and corresponding test cases (mostly for regression test - especially regression for [https://sigrok.org/bugzilla/show_bug.cgi?id=1085 the 2018-04-12 fix to the decoding at the end of the CRC part]).&lt;br /&gt;
&lt;br /&gt;
Notes to self:&lt;br /&gt;
&lt;br /&gt;
# Original acquired analog data: C:\temp2\2017-12-23\CAN decoder, new stuff bit handling at the end of the CRC segment\Data67\In\ACQ000009_Tektronix.txt&lt;br /&gt;
&lt;br /&gt;
===2017-12===&lt;br /&gt;
&lt;br /&gt;
Recording 22483 traces for the purpose of evaluating [https://sigrok.org/bugzilla/show_bug.cgi?id=1085 a proposed fix to the CAN protocol decoder] (actually only changing a single number from 16 to 17), stuff bit at the very end of the CRC segment, with a modified trigger scheme: &lt;br /&gt;
&lt;br /&gt;
* Change the position of the trigger point to the end (right) so there is always a CAN message in the trace (for the previous), but still 26&amp;amp;nbsp;µs recessive.&lt;br /&gt;
&lt;br /&gt;
The time division was 100&amp;amp;nbsp;µs / division (about 225 bit times max) to always record whole CAN messages - at 10 samples per bit time.&lt;br /&gt;
&lt;br /&gt;
===2017-07===&lt;br /&gt;
&lt;br /&gt;
Using the sigrok command-line (&amp;quot;sigrok-cli&amp;quot;) to bulk process data derived from Tektronix oscilloscope data of 250&amp;amp;nbsp;kbit/s CAN traffic on a real-world system (mobile cranes). The first sample data set is 5335 oscilloscope traces obtained with the trigger set to a negative pulse on CAN-H (to start off at the end of a CAN message) - corresponding to 6.5 recessive bits, 26&amp;amp;nbsp;µsec (detecting the space in-between CAN messages). Sometimes there is a CAN message right after this, sometimes it is a bit delayed, and sometimes it is completely empty.&lt;br /&gt;
&lt;br /&gt;
A sample command line (on Windows) is:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;sigrok-cli -P can:bitrate=250000:can_rx=&amp;quot;CAN RX&amp;quot; -P timing:data=&amp;quot;CAN RX&amp;quot; -I csv:header=true:samplerate=5000000 -i &amp;quot;T:\stdHMF\UserData\scripts\Tektronix2PulseView\_PulseView_AllChannels_ACQ000001_Tektronix_f5000000.txt&amp;quot;&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===2017-04===&lt;br /&gt;
&lt;br /&gt;
Using [[PulseView]] to decode data from a Tektronix oscilloscope of SPI communication to a CAN controller, [http://www.microchip.com/wwwproducts/Devices.aspx?dDocName=en010406 MCP2515].&lt;br /&gt;
&lt;br /&gt;
==Task list==&lt;br /&gt;
&lt;br /&gt;
Currently not in priority order.&lt;br /&gt;
&lt;br /&gt;
* Allow import of analog data through CSV files. (Related: fixed  [https://sigrok.org/bugzilla/show_bug.cgi?id=1064 bug 1064] - &amp;#039;&amp;#039;locale&amp;#039;&amp;#039; issue, decimal point, &amp;quot;,&amp;quot; vs. &amp;quot;.&amp;quot;.).&lt;br /&gt;
&lt;br /&gt;
* Add detection of error frames to the CAN protocol decoder&lt;br /&gt;
&lt;br /&gt;
* Add support for the gigga watt EEVBlog multimeter (Bluetooth, etc.)&lt;br /&gt;
&lt;br /&gt;
* Add a snap feature to the &amp;quot;cursor&amp;quot; (blue) in PulveView&lt;br /&gt;
&lt;br /&gt;
* Change number of significant digits for the time display in the &amp;quot;cursor&amp;quot; (blue) in PulveView&lt;br /&gt;
&lt;br /&gt;
* Submit selected sample traces for CAN decoder change (for CRC segment) validation. With and without stuff bits in various places. With and without timing deviations. (Related: [https://sigrok.org/bugzilla/show_bug.cgi?id=1085 bug 1085], celeron55&amp;#039;s fix, &amp;#039;&amp;#039;&amp;#039;&amp;#039;&amp;#039;if len(self.bits) &amp;gt; self.last_databit + 16&amp;#039;&amp;#039;&amp;#039;&amp;#039;&amp;#039; → &amp;#039;&amp;#039;&amp;#039;&amp;#039;&amp;#039;if len(self.bits) &amp;gt; self.last_databit + 17&amp;#039;&amp;#039;&amp;#039;&amp;#039;&amp;#039; (16 → 17)).&lt;br /&gt;
&lt;br /&gt;
* Add support for the [[Tektronix TDS2000B series|TDS2000]] series in libsigrok, and thus, by extension, use by the new shiny stuff in PulveView.&lt;br /&gt;
&lt;br /&gt;
===On wiki===&lt;br /&gt;
&lt;br /&gt;
* Change recommended procedure for submitting sample Sigrok files (traces), on &amp;#039;&amp;#039;[[Example dumps#Contributing dumps|Example dumps]]&amp;#039;&amp;#039;.&lt;br /&gt;
&lt;br /&gt;
==Glossary==&lt;br /&gt;
&lt;br /&gt;
*&amp;#039;&amp;#039;BBB&amp;#039;&amp;#039; [https://en.wikipedia.org/wiki/BeagleBoard#BeagleBone_Black BeagleBone Black]&lt;br /&gt;
*&amp;#039;&amp;#039;GH&amp;#039;&amp;#039; [http://en.wikipedia.org/wiki/GitHub GitHub]&lt;br /&gt;
*&amp;#039;&amp;#039;ISTR&amp;#039;&amp;#039; ????&lt;br /&gt;
*&amp;#039;&amp;#039;LA&amp;#039;&amp;#039; Logic analyser&lt;br /&gt;
*&amp;#039;&amp;#039;ML&amp;#039;&amp;#039; Mailing list&lt;br /&gt;
*&amp;#039;&amp;#039;OLS&amp;#039;&amp;#039; ????&lt;br /&gt;
*&amp;#039;&amp;#039;PR&amp;#039;&amp;#039; Pull request (a Git term). &amp;#039;&amp;#039;Not&amp;#039;&amp;#039; &amp;quot;problem report&amp;quot;.&lt;br /&gt;
*&amp;#039;&amp;#039;SR&amp;#039;&amp;#039; Sigrok&lt;br /&gt;
*&amp;#039;&amp;#039;srd&amp;#039;&amp;#039; ????&lt;br /&gt;
*&amp;#039;&amp;#039;WIP&amp;#039;&amp;#039; Work in progress. Mostly related to particular Git commits.&lt;br /&gt;
*&amp;#039;&amp;#039;PD&amp;#039;&amp;#039; protocol decoder. Non-standard spellings are &amp;#039;&amp;#039;Pd&amp;#039;&amp;#039; and &amp;#039;&amp;#039;pd&amp;#039;&amp;#039;.&lt;br /&gt;
*&amp;#039;&amp;#039;PV&amp;#039;&amp;#039; PulseView. Non-standard spellings are &amp;#039;&amp;#039;Pv&amp;#039;&amp;#039; and &amp;#039;&amp;#039;pv&amp;#039;&amp;#039;.&lt;br /&gt;
&lt;br /&gt;
==Some bug reports==&lt;br /&gt;
&lt;br /&gt;
* [https://sigrok.org/bug/1155 Possible problem with the MSO-19 USB driver on Windows]. PulveView crashes at startup if the MSO-19 is connected.&lt;br /&gt;
&lt;br /&gt;
==Interests==&lt;br /&gt;
&lt;br /&gt;
I am mostly interested in:&lt;br /&gt;
&lt;br /&gt;
* The [[CAN|CAN protocol decoder]] (that page is currently empty, but it is listed on [[Protocol decoders|the protocol decoders page]])&lt;br /&gt;
* CAN bus loggers, like IXXAT&amp;#039;s (now acquired by HMS) &amp;#039;&amp;#039;USB-to-CAN compact&amp;#039;&amp;#039;/&amp;#039;&amp;#039;USB-to-CAN V2&amp;#039;&amp;#039; and Kvaser&amp;#039;s &amp;#039;&amp;#039;Memorator&amp;#039;&amp;#039;.&lt;br /&gt;
* The higher-level [http://en.wikipedia.org/wiki/CANopen CANopen] protocol (on top of CAN)&lt;br /&gt;
&lt;br /&gt;
==Protocol decoders==&lt;br /&gt;
&lt;br /&gt;
===Non-empty wiki pages===&lt;br /&gt;
&lt;br /&gt;
Currently (2017-07-08), 28 &lt;br /&gt;
of 77 [[Protocol_decoders#Supported protocol decoders|protocol decoders]] (36%) have non-empty pages here on the wiki:&lt;br /&gt;
&lt;br /&gt;
*[[Protocol decoder:Adns5020|ADNS5020]] &lt;br /&gt;
*[[Protocol decoder:Am230x|AM230X]]&lt;br /&gt;
*[[Protocol decoder:Arm etmv3|ARM ETMV3]]&lt;br /&gt;
*[[Protocol decoder:Arm itm|ARM ITM]]&lt;br /&gt;
*[[Protocol decoder:Arm tpiu|ARM TPIU]]&lt;br /&gt;
*[[Protocol decoder:Aud|AUD]]&lt;br /&gt;
*[[Protocol decoder:Avr pdi|AVR PDI]]&lt;br /&gt;
*[[Protocol decoder:Dcf77|DCF77]]&lt;br /&gt;
*[[Protocol decoder:I2c|I²C]]&lt;br /&gt;
*[[Protocol decoder:Ir nec|IR NEC]]&lt;br /&gt;
*[[Protocol decoder:Modbus|Modbus]]&lt;br /&gt;
*[[Protocol decoder:Mrf24j40|MRF24J40]]&lt;br /&gt;
*[[Protocol decoder:Nrf24l01|NRF24L01]]&lt;br /&gt;
*[[Protocol decoder:Nunchuk|Nunchuk]]&lt;br /&gt;
*[[Protocol decoder:Pan1321|PAN1321]]&lt;br /&gt;
*[[Protocol decoder:Parallel|Parallel]]&lt;br /&gt;
*[[Protocol decoder:Pwm|PWM]]&lt;br /&gt;
*[[Protocol decoder:Qi|Qi]]&lt;br /&gt;
*[[Protocol decoder:Rfm12|RFM12]]&lt;br /&gt;
*[[Protocol decoder:Rgb led spi|RGB LED SPI]]&lt;br /&gt;
*[[Protocol decoder:Rtc8564|RTC8564]]&lt;br /&gt;
*[[Protocol decoder:Spdif|SPDIF]]&lt;br /&gt;
*[[Protocol decoder:Spi|SPI]]&lt;br /&gt;
*[[Protocol decoder:Spiflash|SPI flash]]&lt;br /&gt;
*[[Protocol decoder:Stepper motor|Stepper motor]]&lt;br /&gt;
*[[Protocol decoder:Tlc5620|TLC5620]]&lt;br /&gt;
*[[Protocol decoder:Uart|UART]]&lt;br /&gt;
*[[Protocol decoder:Z80|Z80]]&lt;br /&gt;
&lt;br /&gt;
==Meta==&lt;br /&gt;
&lt;br /&gt;
==Profile==&lt;br /&gt;
&lt;br /&gt;
Profile: see [http://en.wikipedia.org/wiki/User:Mortense my Wikipedia user page].&lt;br /&gt;
&lt;br /&gt;
Credentials: more than 5000 edits on the English Wikipedia.&lt;br /&gt;
&lt;br /&gt;
==Shortcuts==&lt;br /&gt;
&lt;br /&gt;
* [https://sigrok.org/doc/pulseview/0.4.1/manual.html PulseView manual]&lt;br /&gt;
* [[Sigrok-cli|sigrok-cli man page]]&lt;br /&gt;
* [https://plus.google.com/communities/109843678338531936878 Google+ group for sigrok] (now defunc as Google+ closed down)&lt;br /&gt;
* [[PulseView]]. Includes the command line to get the source code using Git.&lt;br /&gt;
* [[Downloads#Windows_Download|PulseView, Windows binaries]] (nightly - development). [[Windows#Windows_installers|Alternative location]] (but it seems redundant).&lt;br /&gt;
* [[Downloads#Linux_AppImage_binaries|PulseView, Linux binaries]] (nightly - development).&lt;br /&gt;
* [[Example dumps|Example data dumps]] - sample data in .sr format. Also includes instructions on how to contribute new ones. Includes the command line to get the whole thing using Git (as of 2017-11-26, 2286 &amp;quot;objects&amp;quot;, 724 .sr files, about 65&amp;amp;nbsp;MB in download size, 192&amp;amp;nbsp;MB on disk).&lt;br /&gt;
* [[Special:Random|Random page]]&lt;br /&gt;
* [https://sigrok.org/jenkins/job/sigrok-native-appimage/ Native app image] (not official yet). Is for Linux and x86 only. See also [https://en.wikipedia.org/wiki/AppImage AppImage] (Wikipedia).&lt;br /&gt;
* [[Press]]. List of annotated links, mostly blog posts.&lt;br /&gt;
* [[Probe comparison]]&lt;br /&gt;
* [[Link Instruments MSO-19|MSO-19]]. Mixed oscilloscope and logic analyser by Link Instruments that (or rather its driver) crashes PulveView at startup when connected (until some time in mid 2018(?)). Some reverse engineering has been done in 2012, but it is not supported (has status &amp;quot;Planned&amp;quot;). [https://sigrok.org/bugzilla/show_bug.cgi?id=1155 Sigrok bug report for the crash]. [http://www.linkinstruments.com/doupdate_mso19.htm Software download page for it.]&lt;br /&gt;
* [[Windows|sigrok, Microsoft Windows page]]&lt;br /&gt;
** [[Windows#Device specific USB driver|Device specific USB driver - WinUSB - Zadig]]&lt;br /&gt;
&lt;br /&gt;
===Protocol decoders===&lt;br /&gt;
&lt;br /&gt;
* The [[CAN|CAN bus protocol decoder]]&lt;br /&gt;
* [[Protocol decoder HOWTO]]&lt;br /&gt;
* [[Protocol decoder API]]&lt;br /&gt;
* [[Protocol decoders#Supported protocol decoders|Supported protocol decoders]]&lt;br /&gt;
&lt;br /&gt;
===Building sigrok===&lt;br /&gt;
&lt;br /&gt;
* On Debian (e.g. Raspberry Pi): [[Linux#Installing the requirements 2|Installing required software]]&lt;br /&gt;
* On Debian (e.g. Raspberry Pi): [[Linux#Building 3|Actual build]]&lt;br /&gt;
* Alternative to following the wiki pages: [https://sigrok.org/gitweb/?p=sigrok-util.git;a=blob;f=cross-compile/linux/sigrok-cross-linux;h=2c8e559efde8cf6ae9a365bf1a4324a33600fae7;hb=HEAD a script that will do most of it]. (&amp;#039;&amp;#039;[sigrok-util.git] / cross-compile / linux / sigrok-cross-linux&amp;#039;&amp;#039;)&lt;br /&gt;
* Windows:&lt;br /&gt;
**On Windows: [[Windows#Native_build_using_MSYS2|Native build using MSYS2]] (but may not really work - sigrok-cli and PulseView are listed as not working).&lt;br /&gt;
**[[Windows#Cross-compile_using_MXE|Cross compile on Linux]] (using [http://mxe.cc/ MXE]). The script is [https://sigrok.org/gitweb/?p=sigrok-util.git;a=blob;f=cross-compile/mingw/sigrok-cross-mingw;h=8330406ecd28969d8d29c8ad23df8968a4b9ec68;hb=HEAD /sigrok-util/cross-compile/mingw/sigrok-cross-mingw]. Used for nightlies? [https://sigrok.org/jenkins/job/sigrok-cross-mingw/buildtype=static,debugtype=debug,platform=cross-i686-w64-mingw32/ Jenkins page for the debug version].&lt;br /&gt;
* The Jenkins thingy - automatic build, e.g. nightlies for PulseView and &amp;quot;AppImage&amp;quot; (self-contained executable for x86 Linux). Sample: [https://sigrok.org/jenkins/job/sigrok-cli/ sigrok-cli] with 44 configurations (43 cross-compiles), e.g. cross-x86_64-w64-mingw32 (for Windows 64-bit?).&lt;br /&gt;
* The [[Building#Installing_to_a_non-standard_directory_using_LD_LIBRARY_PATH|LD_LIBRARY_PATH trick]]&lt;/div&gt;</summary>
		<author><name>PeterMortensen</name></author>
	</entry>
	<entry>
		<id>https://sigrok.org/w/index.php?title=KERN_scale_series&amp;diff=16346</id>
		<title>KERN scale series</title>
		<link rel="alternate" type="text/html" href="https://sigrok.org/w/index.php?title=KERN_scale_series&amp;diff=16346"/>
		<updated>2022-11-05T22:57:58Z</updated>

		<summary type="html">&lt;p&gt;PeterMortensen: Copy edited (e.g. ref. &amp;lt;https://en.wikipedia.org/wiki/RS-232&amp;gt;, &amp;lt;https://en.wikipedia.org/wiki/Symbol_rate&amp;gt;, and &amp;lt;http://english.stackexchange.com/questions/15953&amp;gt;).&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{Infobox multimeter&lt;br /&gt;
| image           = [[File:Kern ew-6200-2nm mugshot.png|180px]]&lt;br /&gt;
| name            = KERN scale&lt;br /&gt;
| status          = supported&lt;br /&gt;
| source_code_dir = kern-scale&lt;br /&gt;
| counts          = &lt;br /&gt;
| categories      = &lt;br /&gt;
| connectivity    = [[Device_cables#KERN_EW_6200-2NM_cable|RS-232]]&lt;br /&gt;
| measurements    = mass&lt;br /&gt;
| features        = &lt;br /&gt;
| website         = [http://www.kern-sohn.com/shop/en/laboratory-balances/precision-balances/ kern-sohn.com]&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
The &amp;#039;&amp;#039;&amp;#039;KERN scale&amp;#039;&amp;#039;&amp;#039; is a series of weighing scales with RS-232 connectivity.&lt;br /&gt;
&lt;br /&gt;
== Devices ==&lt;br /&gt;
&lt;br /&gt;
{| border=&amp;quot;0&amp;quot; style=&amp;quot;font-size: smaller&amp;quot; class=&amp;quot;alternategrey sortable sigroktable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
!Device&lt;br /&gt;
!Max. weight&lt;br /&gt;
!Readout&lt;br /&gt;
!Protocol&lt;br /&gt;
!Comments&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| KERN EW 220-3NM&lt;br /&gt;
| 220 g&lt;br /&gt;
| 0.001 g&lt;br /&gt;
| 14/15-byte ASCII&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| KERN EW 420-3NM&lt;br /&gt;
| 420 g&lt;br /&gt;
| 0.001 g&lt;br /&gt;
| 14/15-byte ASCII&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| KERN EW 620-3NM&lt;br /&gt;
| 620 g&lt;br /&gt;
| 0.001 g&lt;br /&gt;
| 14/15-byte ASCII&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| KERN EW 820-2NM&lt;br /&gt;
| 820 g&lt;br /&gt;
| 0.01 g&lt;br /&gt;
| 14/15-byte ASCII&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| KERN EW 2200-2NM&lt;br /&gt;
| 2200 g&lt;br /&gt;
| 0.01 g&lt;br /&gt;
| 14/15-byte ASCII&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| KERN EW 4200-2NM&lt;br /&gt;
| 4200 g&lt;br /&gt;
| 0.01 g&lt;br /&gt;
| 14/15-byte ASCII&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| [[KERN EW 6200-2NM]]&lt;br /&gt;
| 6200 g&lt;br /&gt;
| 0.01 g&lt;br /&gt;
| 14/15-byte ASCII&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| KERN EW 12000-1NM&lt;br /&gt;
| 12000 g&lt;br /&gt;
| 0.1 g&lt;br /&gt;
| 14/15-byte ASCII&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| KERN EG 220-3NM&lt;br /&gt;
| 220 g&lt;br /&gt;
| 0.001 g&lt;br /&gt;
| 14/15-byte ASCII&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| KERN EG 420-3NM&lt;br /&gt;
| 420 g&lt;br /&gt;
| 0.001 g&lt;br /&gt;
| 14/15-byte ASCII&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| KERN EG 620-3NM&lt;br /&gt;
| 620 g&lt;br /&gt;
| 0.001 g&lt;br /&gt;
| 14/15-byte ASCII&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| KERN EG 2200-2NM&lt;br /&gt;
| 2200 g&lt;br /&gt;
| 0.01 g&lt;br /&gt;
| 14/15-byte ASCII&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| KERN EG 4200-2NM&lt;br /&gt;
| 4200 g&lt;br /&gt;
| 0.01 g&lt;br /&gt;
| 14/15-byte ASCII&lt;br /&gt;
|&lt;br /&gt;
&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== Protocol ==&lt;br /&gt;
&lt;br /&gt;
The devices use a simple ASCII-based protocol over an [[Device_cables#KERN_EW_6200-2NM_cable|RS-232 cable]].&lt;br /&gt;
&lt;br /&gt;
The default settings are (device-dependent), e.g., 1200 8N2, but the devices usually have a menu where the user can change the baud rate, parity settings, and so on.&lt;br /&gt;
&lt;br /&gt;
There are two different packet lengths (also user-configurable via the menu): 14-byte packets and 15-byte packets.&lt;br /&gt;
&lt;br /&gt;
See e.g. the [http://dok.kern-sohn.com/downloads/de/EW%206200-2NM/file/EW_EG-(N)-EWB-BA-e-1226.pdf KERN EW/EG-N/EWB series user manual] for more protocol details.&lt;br /&gt;
&lt;br /&gt;
== Resources ==&lt;br /&gt;
&lt;br /&gt;
* [http://www.kern-sohn.com/shop/en/laboratory-balances/precision-balances/ Device list]&lt;/div&gt;</summary>
		<author><name>PeterMortensen</name></author>
	</entry>
	<entry>
		<id>https://sigrok.org/w/index.php?title=Talk:PulseView&amp;diff=16337</id>
		<title>Talk:PulseView</title>
		<link rel="alternate" type="text/html" href="https://sigrok.org/w/index.php?title=Talk:PulseView&amp;diff=16337"/>
		<updated>2022-09-23T12:57:45Z</updated>

		<summary type="html">&lt;p&gt;PeterMortensen: /* Broken link */ Refinement (for easier navigation).&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Broken link ==&lt;br /&gt;
&lt;br /&gt;
The link &amp;quot;PulseView manual&amp;quot; in sub section &amp;#039;&amp;#039;[[PulseView#Manual|Manual]]&amp;#039;&amp;#039; is broken:&lt;br /&gt;
&lt;br /&gt;
: &amp;#039;&amp;#039;&amp;quot;Not Found. The requested URL was not found on this server&amp;quot;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
--[[User:PeterMortensen|PeterMortensen]] ([[User talk:PeterMortensen|talk]]) 17:25, 31 March 2022 (CEST)&lt;br /&gt;
&lt;br /&gt;
:: Some alternatives are:&lt;br /&gt;
:: &lt;br /&gt;
::#[https://sigrok.org/doc/pulseview/0.4.1/manual.pdf https://sigrok.org/doc/pulseview/0.4.1/manual.pdf] ([https://www.sigrok.org/blog/libsigrokdecode-041-released 2016-12-27 release]) &lt;br /&gt;
::#[https://sigrok.org/doc/pulseview/0.4.2/manual.pdf https://sigrok.org/doc/pulseview/0.4.2/manual.pdf] ([https://sigrok.org/blog/pulseview-042-released 2020-04-01 release])&lt;br /&gt;
::#[http://sigrok.org/gitweb/?p=pulseview.git;a=tree;f=manual;h=03eded2ba33f8df0238b3ea519866cff01d41805;hb=HEAD Manual &amp;#039;&amp;#039;source&amp;#039;&amp;#039;] ([https://en.wikipedia.org/wiki/Markdown Markdown format]), one file per chapter, for the current development version (&amp;quot;unstable&amp;quot;), presumably for the version linked to in the article. The order of chapters is defined by file [http://sigrok.org/gitweb/?p=pulseview.git;a=blob;f=manual/manual.txt;h=19baff63157442dddefa605b8a7600a0225601d1;hb=HEAD manual.txt] (file &amp;#039;license.txt&amp;#039; is chapter 1). [http://sigrok.org/gitweb/?p=pulseview.git;a=log;h=HEAD Log].&lt;br /&gt;
::&lt;br /&gt;
:: --[[User:PeterMortensen|PeterMortensen]] ([[User talk:PeterMortensen|talk]]) 17:17, 18 August 2022 (CEST)&lt;/div&gt;</summary>
		<author><name>PeterMortensen</name></author>
	</entry>
	<entry>
		<id>https://sigrok.org/w/index.php?title=Talk:Main_Page&amp;diff=16333</id>
		<title>Talk:Main Page</title>
		<link rel="alternate" type="text/html" href="https://sigrok.org/w/index.php?title=Talk:Main_Page&amp;diff=16333"/>
		<updated>2022-09-08T14:45:51Z</updated>

		<summary type="html">&lt;p&gt;PeterMortensen: /* Broken link (Gmane) */ It isn&amp;#039;t a local problem.&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;==Questions regarding the wiki==&lt;br /&gt;
&lt;br /&gt;
If anybody has questions regarding the wiki, like the ones below, where is the place? --[[User:Manorainjan|Manorainjan]] ([[User talk:Manorainjan|talk]]) 20:12, 5 March 2017 (CET)&lt;br /&gt;
&lt;br /&gt;
:: It&amp;#039;s probably best to discuss any non-trivial changes on the [http://webchat.freenode.net/?channels=%23sigrok&amp;amp;uio=MT1mYWxzZQ9a #sigrok IRC channel on Freenode], that&amp;#039;s where most of the active development discussions take place. --[[User:Uwe Hermann|Uwe Hermann]] ([[User talk:Uwe Hermann|talk]]) 00:55, 7 March 2017 (CET)&lt;br /&gt;
&lt;br /&gt;
==Frequency counters==&lt;br /&gt;
&lt;br /&gt;
I added [[:Category:Frequency counter]]. A comparison list seems to be there not yet.&lt;br /&gt;
Should I create one, or does anyone more experienced like to do it? --[[User:Manorainjan|Manorainjan]] ([[User talk:Manorainjan|talk]]) 20:12, 5 March 2017 (CET)&lt;br /&gt;
&lt;br /&gt;
:: I&amp;#039;ve added a basic page with the usual info, feel free to extend and add more (PC-attachable) devices, if any. --[[User:Uwe Hermann|Uwe Hermann]] ([[User talk:Uwe Hermann|talk]]) 00:55, 7 March 2017 (CET)&lt;br /&gt;
&lt;br /&gt;
==Category Device==&lt;br /&gt;
I tend to remove the category device from pages that belong to a more specific category as well, like multimeter or counter. &lt;br /&gt;
But maybe someone sees a specific reason for keeping this redundancy? --[[User:Manorainjan|Manorainjan]] ([[User talk:Manorainjan|talk]]) 20:12, 5 March 2017 (CET)&lt;br /&gt;
&lt;br /&gt;
:: Yes, that&amp;#039;s intentional and is done on all current pages. Please don&amp;#039;t remove those categories. All devices should be in as many categories as required to describe all the hardware facilities (e.g. and MSO will be in the following categories: Device, Logic analyzer, Oscilloscope, Mixed-signal oscilloscope). The redundancy is not a problem, and it&amp;#039;s intentional. --[[User:Uwe Hermann|Uwe Hermann]] ([[User talk:Uwe Hermann|talk]]) 00:55, 7 March 2017 (CET)&lt;br /&gt;
&lt;br /&gt;
== Broken link (Gmane) ==&lt;br /&gt;
&lt;br /&gt;
In section &amp;#039;&amp;#039;&amp;quot;Getting in touch&amp;quot;&amp;#039;&amp;#039;: the &amp;#039;&amp;#039;&amp;#039;&amp;#039;&amp;#039;news.gmane.org&amp;#039;&amp;#039;&amp;#039;&amp;#039;&amp;#039; link times out.&lt;br /&gt;
&lt;br /&gt;
The first two worked fine.&lt;br /&gt;
&lt;br /&gt;
--[[User:PeterMortensen|PeterMortensen]] ([[User talk:PeterMortensen|talk]]) 16:44, 8 September 2022 (CEST)&lt;/div&gt;</summary>
		<author><name>PeterMortensen</name></author>
	</entry>
	<entry>
		<id>https://sigrok.org/w/index.php?title=Talk:Main_Page&amp;diff=16332</id>
		<title>Talk:Main Page</title>
		<link rel="alternate" type="text/html" href="https://sigrok.org/w/index.php?title=Talk:Main_Page&amp;diff=16332"/>
		<updated>2022-09-08T14:44:22Z</updated>

		<summary type="html">&lt;p&gt;PeterMortensen: /* Broken link (Gmane) */ new section&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;==Questions regarding the wiki==&lt;br /&gt;
&lt;br /&gt;
If anybody has questions regarding the wiki, like the ones below, where is the place? --[[User:Manorainjan|Manorainjan]] ([[User talk:Manorainjan|talk]]) 20:12, 5 March 2017 (CET)&lt;br /&gt;
&lt;br /&gt;
:: It&amp;#039;s probably best to discuss any non-trivial changes on the [http://webchat.freenode.net/?channels=%23sigrok&amp;amp;uio=MT1mYWxzZQ9a #sigrok IRC channel on Freenode], that&amp;#039;s where most of the active development discussions take place. --[[User:Uwe Hermann|Uwe Hermann]] ([[User talk:Uwe Hermann|talk]]) 00:55, 7 March 2017 (CET)&lt;br /&gt;
&lt;br /&gt;
==Frequency counters==&lt;br /&gt;
&lt;br /&gt;
I added [[:Category:Frequency counter]]. A comparison list seems to be there not yet.&lt;br /&gt;
Should I create one, or does anyone more experienced like to do it? --[[User:Manorainjan|Manorainjan]] ([[User talk:Manorainjan|talk]]) 20:12, 5 March 2017 (CET)&lt;br /&gt;
&lt;br /&gt;
:: I&amp;#039;ve added a basic page with the usual info, feel free to extend and add more (PC-attachable) devices, if any. --[[User:Uwe Hermann|Uwe Hermann]] ([[User talk:Uwe Hermann|talk]]) 00:55, 7 March 2017 (CET)&lt;br /&gt;
&lt;br /&gt;
==Category Device==&lt;br /&gt;
I tend to remove the category device from pages that belong to a more specific category as well, like multimeter or counter. &lt;br /&gt;
But maybe someone sees a specific reason for keeping this redundancy? --[[User:Manorainjan|Manorainjan]] ([[User talk:Manorainjan|talk]]) 20:12, 5 March 2017 (CET)&lt;br /&gt;
&lt;br /&gt;
:: Yes, that&amp;#039;s intentional and is done on all current pages. Please don&amp;#039;t remove those categories. All devices should be in as many categories as required to describe all the hardware facilities (e.g. and MSO will be in the following categories: Device, Logic analyzer, Oscilloscope, Mixed-signal oscilloscope). The redundancy is not a problem, and it&amp;#039;s intentional. --[[User:Uwe Hermann|Uwe Hermann]] ([[User talk:Uwe Hermann|talk]]) 00:55, 7 March 2017 (CET)&lt;br /&gt;
&lt;br /&gt;
== Broken link (Gmane) ==&lt;br /&gt;
&lt;br /&gt;
In section &amp;#039;&amp;#039;&amp;quot;Getting in touch&amp;quot;&amp;#039;&amp;#039;: the &amp;#039;&amp;#039;&amp;#039;&amp;#039;&amp;#039;news.gmane.org&amp;#039;&amp;#039;&amp;#039;&amp;#039;&amp;#039; link times out.&lt;br /&gt;
&lt;br /&gt;
--[[User:PeterMortensen|PeterMortensen]] ([[User talk:PeterMortensen|talk]]) 16:44, 8 September 2022 (CEST)&lt;/div&gt;</summary>
		<author><name>PeterMortensen</name></author>
	</entry>
	<entry>
		<id>https://sigrok.org/w/index.php?title=Link_Instruments_MSO-19&amp;diff=16330</id>
		<title>Link Instruments MSO-19</title>
		<link rel="alternate" type="text/html" href="https://sigrok.org/w/index.php?title=Link_Instruments_MSO-19&amp;diff=16330"/>
		<updated>2022-08-18T19:49:09Z</updated>

		<summary type="html">&lt;p&gt;PeterMortensen: /* Resources */ Some copy editing (ref. &amp;lt;https://en.wikipedia.org/wiki/GitHub&amp;gt;).&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[File:Link Instruments MSO-19 front.png|thumb|right|Link Instruments MSO-19]]&lt;br /&gt;
&lt;br /&gt;
The [http://www.linkinstruments.com/mso19.htm Link Instruments MSO-19] is a 2GSa/s (repetitive) or 200MSa/s (one-shot) one-channel oscilloscope, 200MSa/s eight-channel logic analyzer, 100MSa/s pattern generator and a TDR. Acquisition is done to local memory (1Ksa depth per channel) before samples get sent to the PC. It is small and USB powered, thus portable. Price is $249 (including probe, clips, wires and software). The MSO-28 specs are similar but this device provides two analog channels ($325).&lt;br /&gt;
&lt;br /&gt;
See [[Link Instruments MSO-19/Info]] for more details (such as &amp;#039;&amp;#039;&amp;#039;lsusb -vvv&amp;#039;&amp;#039;&amp;#039; output) about the device.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Note:&amp;#039;&amp;#039;&amp;#039; There is already some unused driver code in &amp;lt;code&amp;gt;src/hardware/link-mso19&amp;lt;/code&amp;gt; ([https://sigrok.org/gitweb/?p=libsigrok.git;a=tree;f=src/hardware/link-mso19;hb=HEAD see here]).&lt;br /&gt;
&lt;br /&gt;
== Hardware ==&lt;br /&gt;
&lt;br /&gt;
* [http://www.latticesemi.com/products/cpld/machxo/index.cfm Lattice MachXO LCMXO2280 PLD]&lt;br /&gt;
* [http://www.intersil.com/products/deviceinfo.asp?pn=KAD2710C-10 Kenet KAD2710C-10 10bit, 105MSPS ADC]&lt;br /&gt;
* [http://www.silabs.com/products/interface/usbtouart/Pages/usb-to-uart-bridge.aspx Silabs CP2103 USB to UART Bridge]&lt;br /&gt;
&lt;br /&gt;
== Photos ==&lt;br /&gt;
&lt;br /&gt;
&amp;lt;gallery&amp;gt;&lt;br /&gt;
File:Link Instruments MSO-19 front.jpg|&amp;lt;small&amp;gt;Device, front&amp;lt;/small&amp;gt;&lt;br /&gt;
File:Link Instruments MSO-19 back.jpg|&amp;lt;small&amp;gt;Device, back&amp;lt;/small&amp;gt;&lt;br /&gt;
File:Link Instruments MSO-19 PCB top.jpg|&amp;lt;small&amp;gt;PCB, front&amp;lt;/small&amp;gt;&lt;br /&gt;
File:Link Instruments MSO-19 PCB bottom.jpg|&amp;lt;small&amp;gt;PCB, back&amp;lt;/small&amp;gt;&lt;br /&gt;
&amp;lt;/gallery&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Protocol ==&lt;br /&gt;
&lt;br /&gt;
=== USB protocol ===&lt;br /&gt;
&lt;br /&gt;
It&amp;#039;s just serial-over-USB, supported by the Linux kernel through the &amp;#039;&amp;#039;&amp;#039;[http://git.kernel.org/?p=linux/kernel/git/torvalds/linux.git;a=blob;f=drivers/usb/serial/cp210x.c;hb=90a4c0f51e8e44111a926be6f4c87af3938a79c3 cp210x]&amp;#039;&amp;#039;&amp;#039; driver. The Link Instruments Vendor/Product ID (&amp;#039;&amp;#039;&amp;#039;3195:f190&amp;#039;&amp;#039;&amp;#039;) was added to the driver by kernel version &amp;#039;&amp;#039;&amp;#039;[https://www.kernel.org/diff/diffview.cgi?file=%2Fpub%2Flinux%2Fkernel%2Fv3.x%2Fpatch-3.2.50.xz;z=1468 3.2.50]&amp;#039;&amp;#039;&amp;#039;. Earlier versions may need to be patched.&lt;br /&gt;
&lt;br /&gt;
iSerial was exploited by Link Instruments to store hardware type, hardware revision, calibration quirks and the actual serial number.&lt;br /&gt;
*for an iSerial of 4294333650260000000 we have:&lt;br /&gt;
**42943 336 502 6 0 000000&lt;br /&gt;
***vbit = 42943 / 10000&lt;br /&gt;
***dacoffset = 336&lt;br /&gt;
***offsetrange = 502&lt;br /&gt;
***hwmodel = 6&lt;br /&gt;
***hwrev = 0&lt;br /&gt;
***serial number = 000000&lt;br /&gt;
&lt;br /&gt;
=== Serial protocol ===&lt;br /&gt;
&lt;br /&gt;
*Control message&lt;br /&gt;
**Fixed header: 0x40, 0x4c, 0x44, 0x53, 0x7e&lt;br /&gt;
**Variable size payload, 16bit aligned&lt;br /&gt;
***Looks like each 16bits of payload are a register write operation&lt;br /&gt;
***register writes are 4bits for addr, 8 bits for value, 2 unused bits and 2 bits im not sure what they are for :)&lt;br /&gt;
**** The simplest explanation for the unused bits is that the device bus width is 7 bits (being a CPLD that is very acceptable).&lt;br /&gt;
**** The 2 special bits seem to be synchronization bits. 0x7e violates the conversion (high byte), and that may be used to reset the CPLD parser at the end of the packet.&lt;br /&gt;
***.?12 AAAA .?34 5678&lt;br /&gt;
***Conversion is: ((v &amp;amp; 0x3f) | ((v &amp;amp; 0xc0) &amp;lt;&amp;lt; 6) | ((a &amp;amp; 0xf) &amp;lt;&amp;lt; 8) | (((v ^ 0x20) &amp;amp; 0x20) &amp;lt;&amp;lt; 1) | (((v ^ 0x80) &amp;amp; 0x80) &amp;lt;&amp;lt; 7))&lt;br /&gt;
***Byte order is big endian&lt;br /&gt;
**Fixed footer: 0x7e&lt;br /&gt;
&lt;br /&gt;
=== Registers description ===&lt;br /&gt;
&lt;br /&gt;
There is no way to read from registers, only write is possible.&lt;br /&gt;
&lt;br /&gt;
The purpose of registers 0 to 13 seems to depend on the value of the 2 lsbs of register 15.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Registers for ((R15 &amp;amp; 0x3) == 0x0):&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
* Read Sample buffer (1): Write 0 to this register to read the samples buffer.&lt;br /&gt;
* Read Trigger status (2): Write 0 to this register to read the trigger status.&lt;br /&gt;
* TRIGGER_CONFIG_L (3):&lt;br /&gt;
** lsbyte of the threshold value.&lt;br /&gt;
* TRIGGER_CONFIG_H (4): &lt;br /&gt;
** bits [1:0] hold the msbits of the threshold value&lt;br /&gt;
** (1 &amp;lt;&amp;lt; 2): Trigger on falling edge&lt;br /&gt;
** (1 &amp;lt;&amp;lt; 4 | 1 &amp;lt;&amp;lt; 3): Select the purpose of the &amp;quot;Output&amp;quot; connector:&lt;br /&gt;
*** 00 : Trigger pulse output&lt;br /&gt;
*** 01 : PWM DAC from the pattern generator buffer.&lt;br /&gt;
*** 10 : (?) never seen...&lt;br /&gt;
*** 11 : White noise&lt;br /&gt;
** (1 &amp;lt;&amp;lt; 6 | 1 &amp;lt;&amp;lt; 5): These hold the DSO/LA trigger configuration:&lt;br /&gt;
*** 00 : DSO level trigger&lt;br /&gt;
*** 01 : DSO pulse trigger, width less than TRIGGER_WIDTH&lt;br /&gt;
*** 10 : DSO pulse trigger, width equal or greater than TRIGGER_WIDTH&lt;br /&gt;
*** 11 : LA combination trigger&lt;br /&gt;
* LA_TRIGGER(5): The value of the LA byte that generates a trigger event (in that mode).&lt;br /&gt;
* LA_TRIGGER_MASK(6): The mask for the LA_TRIGGER (bits set to 0 matter, those set to 1 are ignored).&lt;br /&gt;
* SCOPE_TRIGGER_HOLDOFF1 (7):&lt;br /&gt;
* SCOPE_TRIGGER_HOLDOFF2 (8): Store the trigger holdoff (delay between a triggering event and the trigger rearming).&lt;br /&gt;
* CLKRATE(9-10):&lt;br /&gt;
* TRIGGER_WIDTH (11): Stores the pulse width for the DSO pulse trigger, in sample units. Forced to be greater than 3 by the mso19 app.&lt;br /&gt;
* DAC(12-13):&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Registers for ((R15 &amp;amp; 0x3) == 0x1):&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
This mode seems to be used to configure the pattern generator.&lt;br /&gt;
&lt;br /&gt;
* REG_PATGEN_CLOCK1 (2) :&lt;br /&gt;
* REG_PATGEN_CLOCK2 (3) : Stores the sample clock configuration. Not sure how these two bytes work together...&lt;br /&gt;
* REG_PATGEN_START_L (4):&lt;br /&gt;
* REG_PATGEN_START_H (5): The start address for the pattern generator buffer (1023 samples long). When writing to the buffer, it is set to 0.&lt;br /&gt;
* REG_PATGEN_END_L (6):&lt;br /&gt;
* REG_PATGEN_END_H (7): The end address for the pattern generator buffer (1023 samples long). When writing the buffer, it is set to 0x3ff. When in normal mode (to set the end of the output) it is writen as the end address minus 2 (probably due to the actual implementation details).&lt;br /&gt;
* PATGEN_CFG (8): Configures the pattern generator.&lt;br /&gt;
** (1 &amp;lt;&amp;lt; 0): Continuous mode ? (only seems to be allowed for the waveform generator, not for the pattern generator. why?)&lt;br /&gt;
** (1 &amp;lt;&amp;lt; 1): Enter pattern write mode.&lt;br /&gt;
** (1 &amp;lt;&amp;lt; 3 | 1 &amp;lt;&amp;lt; 2):&lt;br /&gt;
*** 11 : Manual start (starts after a pulse in PATGEN_TRIG)&lt;br /&gt;
*** 10 : Start on MSO trigger&lt;br /&gt;
*** 01 : Start on MSO &amp;quot;Go&amp;quot; (MSO trigger arm)&lt;br /&gt;
*** 00 : Disabled&lt;br /&gt;
* PATGEN_TRIG (9): writen 0x1 and then 0x0, acts as a manual trigger to activate &amp;quot;stuff&amp;quot;.&lt;br /&gt;
* PATGEN_WORD (10): In pattern write mode, takes the word for the current &amp;quot;instant&amp;quot;.&lt;br /&gt;
* PATGEN_IO (11):   In pattern write mode, writing 0x1 makes the instant an output one, and writing 0x0 makes it an input one (?)&lt;br /&gt;
* PATGEN_LOOPS (12): Stores the number of loops for the pattern generator. Set to 1 for pattern buffer writing mode.&lt;br /&gt;
* PATTERN_MASK (13): Stores the output bit mask (1 for enabled bits, 0 for disabled bits)&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Registers for ((R15 &amp;amp; 0x3) == 0x2):&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
This mode is used to set the i2c or spi triggers.&lt;br /&gt;
&lt;br /&gt;
NOTES:&lt;br /&gt;
* the difference between i2c and spi capture seems to be the TRIGGER_CFG_H bits (see R15 = 0)&lt;br /&gt;
* how does the hardware handle the start/stop conditions or the ack bit??&lt;br /&gt;
&lt;br /&gt;
The protocol matcher seems to be comprised of a 4 byte shift register. The serial bits are shifted in through the last byte comparator (word 3) and exit through the first byte comparator (word 0). This is why if the trigger is set up with less than 3 words, the first bytes are the ones that end up matching everything (word set to 0x00, mask set to 0xff).&lt;br /&gt;
&lt;br /&gt;
The mask bytes have their bits set to 1 for &amp;quot;ignore&amp;quot;, and 0 for &amp;quot;match&amp;quot;. The protocol matching block simply doing something this for every bit i:&lt;br /&gt;
&lt;br /&gt;
matches[i] = (read[i] ^ word[i]) | mask[i]&lt;br /&gt;
&lt;br /&gt;
The final result is the and&amp;#039;ing of the resulting 32 bits.&lt;br /&gt;
&lt;br /&gt;
* TRIG_WORD0 (0): Hold the comparison words for the comparator.&lt;br /&gt;
* TRIG_WORD1 (1): &lt;br /&gt;
* TRIG_WORD2 (2): &lt;br /&gt;
* TRIG_WORD2 (3): &lt;br /&gt;
* TRIG_MASK0 (4): Holds the mask for the comparator (bits set at 1 always produce a positive match)&lt;br /&gt;
* TRIG_MASK1 (5): &lt;br /&gt;
* TRIG_MASK2 (6): &lt;br /&gt;
* TRIG_MASK3 (7): &lt;br /&gt;
* TRIG_SPI_MODE (8): Holds the SPI mode for triggering (valid modes 0, 1, 2, 3). Is set to 0 for I2C (not sure if mandatory)&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Registers which don&amp;#039;t seem to change purpose (so far):&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
*CONTROL1 (14):&lt;br /&gt;
**(1 &amp;lt;&amp;lt; 0): Reset SFM&lt;br /&gt;
**(1 &amp;lt;&amp;lt; 3): Force trigger&lt;br /&gt;
**(1 &amp;lt;&amp;lt; 4): Enable ADC (?)&lt;br /&gt;
**(1 &amp;lt;&amp;lt; 6): Reset ADC (?)&lt;br /&gt;
**(1 &amp;lt;&amp;lt; 7): Led on/off&lt;br /&gt;
*CONTROL2 (15):&lt;br /&gt;
** (1 &amp;lt;&amp;lt; 1 | 1 &amp;lt;&amp;lt; 0): Control which register bank is selected for writing:&lt;br /&gt;
*** 00: The DSO and LA control bank is selected&lt;br /&gt;
*** 01: The PG (patern generator) control bank is selected&lt;br /&gt;
*** 10: The PT (protocol trigger) control bank is selected&lt;br /&gt;
** (1 &amp;lt;&amp;lt; 5): Slow mode (?) (set for the low clock rates, probably enables a clock divider)&lt;br /&gt;
&lt;br /&gt;
=== Device reply description ===&lt;br /&gt;
&lt;br /&gt;
* After writing 0x0 to the registers (1) or (2) of bank 0, the device replies with either 3072 bytes (1), or 1 byte (2).&lt;br /&gt;
* Only 7 bits are used from each byte.&lt;br /&gt;
* Bit (1 &amp;lt;&amp;lt; 6) indicates which type of message this is:&lt;br /&gt;
** 0: This is a &amp;quot;status&amp;quot; message.&lt;br /&gt;
** 1: This is a &amp;quot;data&amp;quot; message.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;STATUS ((1 &amp;lt;&amp;lt; 6) == 0):&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
* The reply comprises just one byte. The lower nibble contains the trigger status (t), while the other two bits contain other status info (?)&lt;br /&gt;
** [ (ignored) 0 (h1) (h0) (t3) (t2) (t1) (t0) ]&lt;br /&gt;
&lt;br /&gt;
Bit description:&lt;br /&gt;
** (1 &amp;lt;&amp;lt; 5): Seems to be always set to 1 (?)&lt;br /&gt;
** (1 &amp;lt;&amp;lt; 4): The state of the control bit (1 &amp;lt;&amp;lt; 4): adc enabled (?).&lt;br /&gt;
** (1 &amp;lt;&amp;lt; 3): Set to 1 upon successful triggering.&lt;br /&gt;
** (1 &amp;lt;&amp;lt; 2): Set to 1 when the trigger block is armed and the adc (1 &amp;lt;&amp;lt; 4) is also enabled (?)&lt;br /&gt;
** (1 &amp;lt;&amp;lt; 1): Set to 1 when the trigger block is armed but the adc (1 &amp;lt;&amp;lt; 4) is not (?)&lt;br /&gt;
** (1 &amp;lt;&amp;lt; 0): Seems to be the oposite of bit (1 &amp;lt;&amp;lt; 2) (?)&lt;br /&gt;
&lt;br /&gt;
* Ususal values for t(3:0):&lt;br /&gt;
** 0x6: Triggered (data ready on the samples buffer).&lt;br /&gt;
** 0x4: Trigger armed&lt;br /&gt;
** 0x3: Someone messed up and armed the trigger without enabling ctl bit (1 &amp;lt;&amp;lt; 4) (???)&lt;br /&gt;
** 0x1: Trigger not armed&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;DATA ((1 &amp;lt;&amp;lt; 6) == 1):&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
* The reply is 24 bit aligned, and contains both the 10 bit analog sample data (a) and the 8 bit digital sample data (d).&lt;br /&gt;
* There&amp;#039;s a total of 3072 bytes, comprising 1024 samples.&lt;br /&gt;
* For each group of 24 bits (a &amp;quot;sample&amp;quot;):&lt;br /&gt;
** (byte 0): [ (ignored) 1 (a5) (a4) (a3) (a2) (a1) (a0) ]&lt;br /&gt;
** (byte 1): [ (ignored) 1 (d1) (d0) (a9) (a8) (a7) (a6) ]&lt;br /&gt;
** (byte 2): [ (ignored) 1 (d7) (d6) (d5) (d4) (d3) (d2) ]&lt;br /&gt;
&lt;br /&gt;
=== Device operation ===&lt;br /&gt;
&lt;br /&gt;
The trigger status must be checked periodically, by writing 0 to the &amp;quot;Read Status&amp;quot; register (address 0 of bank 0). The returned value indicates the device status.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Startup:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
* The MSO19 application starts by checking the device status. It accepts the values 0x21 or 0x31 as normal, before proceeding.&lt;br /&gt;
* It then resets the ADC, and checks for the device status again, and also accepts the values 0x21 and 0x31 as normal.&lt;br /&gt;
(...)&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Capture Start:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
Upon starting a capture, by hitting the &amp;quot;Go&amp;quot; button:&lt;br /&gt;
* If the DSO or the DAC need to be configured, the app resets the FSM (finite state machine), and then configures them both.&lt;br /&gt;
* If the PG needs to be configured, the app configures it.&lt;br /&gt;
* The app then arms the trigger system.&lt;br /&gt;
* Finally the app issues a trigger check (writing 0 to the register), and waits for the serial reply.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Handle Serial Reply:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
* First the app checks how many bytes there are waiting on the serial port buffer. It only accepts two byte lengths, 3072 bytes and 1 byte.&lt;br /&gt;
* The app then checks if the first byte has bit 6 turned off ((byte &amp;amp; (1 &amp;lt;&amp;lt; 6)) == 0), and if it is, it assumes it&amp;#039;s a trigger status. Otherwise it assumes it&amp;#039;s sample data.&lt;br /&gt;
&lt;br /&gt;
== Resources ==&lt;br /&gt;
&lt;br /&gt;
* [https://linkinstruments.com/mso19.html MSO-19 product page]&lt;br /&gt;
* [https://linkinstruments.com/mso28.html MSO-28 product page]&lt;br /&gt;
* [https://www.linkinstruments.com/wiki/index.php?title=PiMSO19 linkinstruments.com: PiMSO19]&lt;br /&gt;
** [https://github.com/tkrmnz/mso19fcgi GitHub: mso19fcgi] (contains some source code for MSO-19)&lt;br /&gt;
* [https://www.linkinstruments.com/wiki/index.php?title=PiMSO linkinstruments.com: PiMSO] (for MSO-28)&lt;br /&gt;
** [https://www.linkinstruments.com/wiki/index.php?title=MSO28_Registers linkinstruments.com: MSO28 registers]&lt;br /&gt;
** [https://github.com/tkrmnz/mso28fcgi/ GitHub: mso28fcgi] (contains some source code for MSO-28)&lt;br /&gt;
&lt;br /&gt;
[[Category:Device]]&lt;br /&gt;
[[Category:Logic analyzer]]&lt;br /&gt;
[[Category:Oscilloscope]]&lt;br /&gt;
[[Category:Mixed-signal oscilloscope]]&lt;br /&gt;
[[Category:Planned]]&lt;/div&gt;</summary>
		<author><name>PeterMortensen</name></author>
	</entry>
	<entry>
		<id>https://sigrok.org/w/index.php?title=Link_Instruments_MSO-19/Info&amp;diff=16329</id>
		<title>Link Instruments MSO-19/Info</title>
		<link rel="alternate" type="text/html" href="https://sigrok.org/w/index.php?title=Link_Instruments_MSO-19/Info&amp;diff=16329"/>
		<updated>2022-08-18T19:41:54Z</updated>

		<summary type="html">&lt;p&gt;PeterMortensen: Added an escape (this page turns up in search results).&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== lsusb ==&lt;br /&gt;
&lt;br /&gt;
This is the lsusb ouput on Linux (serial number changed):&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&lt;br /&gt;
 $ &amp;#039;&amp;#039;&amp;#039;lsusb -vvv&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
 Bus 007 Device 005: ID &amp;#039;&amp;#039;&amp;#039;3195:f190&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
 Device Descriptor:&lt;br /&gt;
   bLength                18&lt;br /&gt;
   bDescriptorType         1&lt;br /&gt;
   bcdUSB               1.10&lt;br /&gt;
   bDeviceClass            0 (Defined at Interface level)&lt;br /&gt;
   bDeviceSubClass         0 &lt;br /&gt;
   bDeviceProtocol         0 &lt;br /&gt;
   bMaxPacketSize0        64&lt;br /&gt;
   idVendor           0x3195 &lt;br /&gt;
   idProduct          0xf190 &lt;br /&gt;
   bcdDevice            3.10&lt;br /&gt;
   iManufacturer           1 &amp;#039;&amp;#039;&amp;#039;Silicon Labs&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
   iProduct                2 &amp;#039;&amp;#039;&amp;#039;MSO-19 Link Instruments&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
   iSerial                 3 4294333650260000000&lt;br /&gt;
   bNumConfigurations      1&lt;br /&gt;
   Configuration Descriptor:&lt;br /&gt;
     bLength                 9&lt;br /&gt;
     bDescriptorType         2&lt;br /&gt;
     wTotalLength           32&lt;br /&gt;
     bNumInterfaces          1&lt;br /&gt;
     bConfigurationValue     1&lt;br /&gt;
     iConfiguration          0 &lt;br /&gt;
     bmAttributes         0x80&lt;br /&gt;
       (Bus Powered)&lt;br /&gt;
     MaxPower              450mA&lt;br /&gt;
     Interface Descriptor:&lt;br /&gt;
       bLength                 9&lt;br /&gt;
       bDescriptorType         4&lt;br /&gt;
       bInterfaceNumber        0&lt;br /&gt;
       bAlternateSetting       0&lt;br /&gt;
       bNumEndpoints           2&lt;br /&gt;
       bInterfaceClass       255 Vendor Specific Class&lt;br /&gt;
       bInterfaceSubClass      0 &lt;br /&gt;
       bInterfaceProtocol      0 &lt;br /&gt;
       iInterface              2 MSO-19 Link Instruments &lt;br /&gt;
       Endpoint Descriptor:&lt;br /&gt;
         bLength                 7&lt;br /&gt;
         bDescriptorType         5&lt;br /&gt;
         bEndpointAddress     0x81  EP 1 IN&lt;br /&gt;
         bmAttributes            2&lt;br /&gt;
           Transfer Type            Bulk&lt;br /&gt;
           Synch Type               None&lt;br /&gt;
           Usage Type               Data&lt;br /&gt;
         wMaxPacketSize     0x0040  1x 64 bytes&lt;br /&gt;
         bInterval               0&lt;br /&gt;
       Endpoint Descriptor:&lt;br /&gt;
         bLength                 7&lt;br /&gt;
         bDescriptorType         5&lt;br /&gt;
         bEndpointAddress     0x01  EP 1 OUT&lt;br /&gt;
         bmAttributes            2&lt;br /&gt;
           Transfer Type            Bulk&lt;br /&gt;
           Synch Type               None&lt;br /&gt;
           Usage Type               Data&lt;br /&gt;
         wMaxPacketSize     0x0040  1x 64 bytes&lt;br /&gt;
         bInterval               0&lt;br /&gt;
 Device Status:     0x0000&lt;br /&gt;
   (Bus Powered)&lt;br /&gt;
&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== See also == &lt;br /&gt;
&lt;br /&gt;
* [[Link Instruments MSO-19]]&lt;/div&gt;</summary>
		<author><name>PeterMortensen</name></author>
	</entry>
	<entry>
		<id>https://sigrok.org/w/index.php?title=Talk:PulseView&amp;diff=16328</id>
		<title>Talk:PulseView</title>
		<link rel="alternate" type="text/html" href="https://sigrok.org/w/index.php?title=Talk:PulseView&amp;diff=16328"/>
		<updated>2022-08-18T15:17:53Z</updated>

		<summary type="html">&lt;p&gt;PeterMortensen: /* Broken link */ Added workarounds, so at least the information is available. It could be considered adding some of the information to the article itself.&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Broken link ==&lt;br /&gt;
&lt;br /&gt;
The link &amp;quot;PulseView manual&amp;quot; in sub section &amp;#039;&amp;#039;[[PulseView#Manual|Manual]]&amp;#039;&amp;#039; is broken:&lt;br /&gt;
&lt;br /&gt;
: &amp;#039;&amp;#039;&amp;quot;Not Found. The requested URL was not found on this server&amp;quot;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
--[[User:PeterMortensen|PeterMortensen]] ([[User talk:PeterMortensen|talk]]) 17:25, 31 March 2022 (CEST)&lt;br /&gt;
&lt;br /&gt;
:: Some alternatives are:&lt;br /&gt;
:: &lt;br /&gt;
::#[https://sigrok.org/doc/pulseview/0.4.1/manual.pdf https://sigrok.org/doc/pulseview/0.4.1/manual.pdf] ([https://www.sigrok.org/blog/libsigrokdecode-041-released 2016-12-27 release]) &lt;br /&gt;
::#[https://sigrok.org/doc/pulseview/0.4.2/manual.pdf https://sigrok.org/doc/pulseview/0.4.2/manual.pdf] ([https://sigrok.org/blog/pulseview-042-released 2020-04-01 release])&lt;br /&gt;
::#[http://sigrok.org/gitweb/?p=pulseview.git;a=tree;f=manual;h=03eded2ba33f8df0238b3ea519866cff01d41805;hb=HEAD Manual &amp;#039;&amp;#039;source&amp;#039;&amp;#039;] ([https://en.wikipedia.org/wiki/Markdown Markdown format]), one file per chapter, for the current development version (&amp;quot;unstable&amp;quot;), presumably for the version linked to in the article. [http://sigrok.org/gitweb/?p=pulseview.git;a=log;h=HEAD Log].&lt;br /&gt;
::&lt;br /&gt;
:: --[[User:PeterMortensen|PeterMortensen]] ([[User talk:PeterMortensen|talk]]) 17:17, 18 August 2022 (CEST)&lt;/div&gt;</summary>
		<author><name>PeterMortensen</name></author>
	</entry>
	<entry>
		<id>https://sigrok.org/w/index.php?title=PulseView&amp;diff=16327</id>
		<title>PulseView</title>
		<link rel="alternate" type="text/html" href="https://sigrok.org/w/index.php?title=PulseView&amp;diff=16327"/>
		<updated>2022-08-18T15:17:24Z</updated>

		<summary type="html">&lt;p&gt;PeterMortensen: Some copy editing (e.g. ref. &amp;lt;https://git-scm.com/book/en/v2/Git-on-the-Server-GitWeb&amp;gt;, &amp;lt;https://en.wikipedia.org/wiki/GitHub&amp;gt;, &amp;lt;https://en.wikipedia.org/wiki/Bug_tracking_system&amp;gt;, and &amp;lt;https://en.wikipedia.org/wiki/Clang&amp;gt;). Applied some formatting.&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; (sometimes abbreviated as &amp;quot;PV&amp;quot;) is a Qt based logic analyzer, oscilloscope and MSO GUI for sigrok.&lt;br /&gt;
&lt;br /&gt;
It is licensed under the terms of the &amp;#039;&amp;#039;&amp;#039;GNU GPL, version 3 or later&amp;#039;&amp;#039;&amp;#039;.&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;
* Trace groups support&lt;br /&gt;
&lt;br /&gt;
== Manual ==&lt;br /&gt;
&lt;br /&gt;
Please refer to the [https://sigrok.org/doc/pulseview/unstable/manual.html PulseView manual] for a lot more information.&lt;br /&gt;
&lt;br /&gt;
If you are updating the manual and want to check what your changes look like, you can use &amp;quot;make manual&amp;quot; to build it.&lt;br /&gt;
&lt;br /&gt;
There&amp;#039;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: &amp;#039;&amp;#039;[https://www.youtube.com/watch?v=dobU-b0_L1I 001 Sigrok and Logic Analyzers]&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
== Download ==&lt;br /&gt;
&lt;br /&gt;
Binaries, distro packages and source code tarballs are available from [[Downloads]].&lt;br /&gt;
&lt;br /&gt;
Git:&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;
You can also [http://sigrok.org/gitweb/?p=pulseview.git;a=summary browse the source code] via GitWeb.&lt;br /&gt;
&lt;br /&gt;
== Requirements ==&lt;br /&gt;
&lt;br /&gt;
See [[Building#PulseView|build requirements for PulseView]].&lt;br /&gt;
&lt;br /&gt;
== Building ==&lt;br /&gt;
&lt;br /&gt;
See [[Linux#PulseView|building PulseView on Linux]] (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. See also [[Building#Installing_to_a_non-standard_directory_using_LD_LIBRARY_PATH]] for more details.&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;
&lt;br /&gt;
== Translations ==&lt;br /&gt;
&lt;br /&gt;
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.&lt;br /&gt;
&lt;br /&gt;
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&amp;#039;d do&lt;br /&gt;
&lt;br /&gt;
 cd where/you/unpacked/the/PulseView/repo&lt;br /&gt;
 lupdate -recursive . -ts l10n/de.ts&lt;br /&gt;
&lt;br /&gt;
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):&lt;br /&gt;
&lt;br /&gt;
 cd where/you/unpacked/the/PulseView/repo&lt;br /&gt;
 lupdate -recursive . -ts l10n/es_mx.ts&lt;br /&gt;
&lt;br /&gt;
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&amp;#039;t any literal translation. Sometimes, this is however not possible, and that&amp;#039;s okay. For the German translation, for example, the words &amp;quot;annotation&amp;quot; and &amp;quot;decode trace row&amp;quot; have no suitable equivalents, so we had to make use of translations in spirit (&amp;quot;decoded values&amp;quot; for annotations and &amp;quot;category&amp;quot; for decode trace row), as unfortunate as this is.&lt;br /&gt;
&lt;br /&gt;
When you&amp;#039;re done with your translations, set the language of the translations in Qt Linguist (menu &amp;#039;&amp;#039;Edit&amp;#039;&amp;#039; &amp;amp;rarr; &amp;#039;&amp;#039;Translation File Settings&amp;#039;&amp;#039;) and put it somewhere where we can access it - e.g., the [https://sigrok.org/bugzilla/ bug tracker] or the mailing list. We&amp;#039;ll then take the file and incorporate it into the build. Either way, we&amp;#039;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&amp;#039;t any obligation, but we&amp;#039;d appreciate if you&amp;#039;d then update the translation for the language you chose to submit to us.&lt;br /&gt;
&lt;br /&gt;
== Resources ==&lt;br /&gt;
&lt;br /&gt;
* [[PulseView/Architecture|PulseView architecture overview]]&lt;br /&gt;
* [[TODO#PulseView|PulseView TODO list]]&lt;br /&gt;
* [[PulseView/Concepts|PulseView GUI concepts]]&lt;br /&gt;
* [https://www.ohloh.net/p/pulseview PulseView on ohloh]&lt;br /&gt;
* [http://airwebreathe.org.uk/doku.php?id=pulseview Joel Holdsworth&amp;#039;s personal PulseView project page]&lt;/div&gt;</summary>
		<author><name>PeterMortensen</name></author>
	</entry>
	<entry>
		<id>https://sigrok.org/w/index.php?title=PulseView&amp;diff=16288</id>
		<title>PulseView</title>
		<link rel="alternate" type="text/html" href="https://sigrok.org/w/index.php?title=PulseView&amp;diff=16288"/>
		<updated>2022-03-31T15:39:15Z</updated>

		<summary type="html">&lt;p&gt;PeterMortensen: Dressed the (effectively) naked links (the link texts have been chosen to not be literal (over the sub section titles) in order to be more specific).&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; (sometimes abbreviated as &amp;quot;PV&amp;quot;) is a Qt based logic analyzer, oscilloscope and MSO GUI for sigrok.&lt;br /&gt;
&lt;br /&gt;
It is licensed under the terms of the &amp;#039;&amp;#039;&amp;#039;GNU GPL, version 3 or later&amp;#039;&amp;#039;&amp;#039;.&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;
* Trace groups support&lt;br /&gt;
&lt;br /&gt;
== Manual ==&lt;br /&gt;
&lt;br /&gt;
Please refer to the [https://sigrok.org/doc/pulseview/unstable/manual.html PulseView manual] for a lot more information.&lt;br /&gt;
&lt;br /&gt;
If you are updating the manual and want to check what your changes look like, you can use &amp;quot;make manual&amp;quot; to build it.&lt;br /&gt;
&lt;br /&gt;
There&amp;#039;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: &amp;#039;&amp;#039;[https://www.youtube.com/watch?v=dobU-b0_L1I 001 Sigrok and Logic Analyzers]&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
== Download ==&lt;br /&gt;
&lt;br /&gt;
Binaries, distro packages and source code tarballs are available from [[Downloads]].&lt;br /&gt;
&lt;br /&gt;
Git:&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;
You can also [http://sigrok.org/gitweb/?p=pulseview.git;a=summary browse the source code] via gitweb.&lt;br /&gt;
&lt;br /&gt;
== Requirements ==&lt;br /&gt;
&lt;br /&gt;
See [[Building#PulseView|build requirements for PulseView]].&lt;br /&gt;
&lt;br /&gt;
== Building ==&lt;br /&gt;
&lt;br /&gt;
See [[Linux#PulseView|building PulseView on Linux]] (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. See also [[Building#Installing_to_a_non-standard_directory_using_LD_LIBRARY_PATH]] for more details.&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;
&lt;br /&gt;
== Translations ==&lt;br /&gt;
&lt;br /&gt;
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.&lt;br /&gt;
&lt;br /&gt;
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&amp;#039;d do&lt;br /&gt;
&lt;br /&gt;
 cd where/you/unpacked/the/PulseView/repo&lt;br /&gt;
 lupdate -recursive . -ts l10n/de.ts&lt;br /&gt;
&lt;br /&gt;
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):&lt;br /&gt;
&lt;br /&gt;
 cd where/you/unpacked/the/PulseView/repo&lt;br /&gt;
 lupdate -recursive . -ts l10n/es_mx.ts&lt;br /&gt;
&lt;br /&gt;
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&amp;#039;s no literal translation. Sometimes, this is however not possible, and that&amp;#039;s okay. For the German translation, for example, the words &amp;quot;annotation&amp;quot; and &amp;quot;decode trace row&amp;quot; have no suitable equivalents, so we had to make use of translations in spirit (&amp;quot;decoded values&amp;quot; for annotations and &amp;quot;category&amp;quot; for decode trace row), as unfortunate as this is.&lt;br /&gt;
&lt;br /&gt;
When you&amp;#039;re done with your translations, set the language of the translations in Qt Linguist (Edit-&amp;gt;Translation File Settings) and put it somewhere where we can access it - e.g. the [https://sigrok.org/bugzilla/ bugtracker] or the mailing list. We&amp;#039;ll then take the file and incorporate it into the build. Either way, we&amp;#039;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&amp;#039;s no obligation but we&amp;#039;d appreciate if you&amp;#039;d then update the translation for the language you chose to submit to us.&lt;br /&gt;
&lt;br /&gt;
== Resources ==&lt;br /&gt;
&lt;br /&gt;
* [[PulseView/Architecture|PulseView architecture overview]]&lt;br /&gt;
* [[TODO#PulseView|PulseView TODO list]]&lt;br /&gt;
* [[PulseView/Concepts|PulseView GUI concepts]]&lt;br /&gt;
* [https://www.ohloh.net/p/pulseview PulseView on ohloh]&lt;br /&gt;
* [http://airwebreathe.org.uk/doku.php?id=pulseview Joel Holdsworth&amp;#039;s personal PulseView project page]&lt;/div&gt;</summary>
		<author><name>PeterMortensen</name></author>
	</entry>
	<entry>
		<id>https://sigrok.org/w/index.php?title=PulseView&amp;diff=16287</id>
		<title>PulseView</title>
		<link rel="alternate" type="text/html" href="https://sigrok.org/w/index.php?title=PulseView&amp;diff=16287"/>
		<updated>2022-03-31T15:29:36Z</updated>

		<summary type="html">&lt;p&gt;PeterMortensen: /* Manual */ Spelling/case. Dressed the naked link (but how can &amp;quot;[&amp;quot; and &amp;quot;]&amp;quot; be escaped?).&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; (sometimes abbreviated as &amp;quot;PV&amp;quot;) is a Qt based logic analyzer, oscilloscope and MSO GUI for sigrok.&lt;br /&gt;
&lt;br /&gt;
It is licensed under the terms of the &amp;#039;&amp;#039;&amp;#039;GNU GPL, version 3 or later&amp;#039;&amp;#039;&amp;#039;.&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;
* Trace groups support&lt;br /&gt;
&lt;br /&gt;
== Manual ==&lt;br /&gt;
&lt;br /&gt;
Please refer to the [https://sigrok.org/doc/pulseview/unstable/manual.html PulseView manual] for a lot more information.&lt;br /&gt;
&lt;br /&gt;
If you are updating the manual and want to check what your changes look like, you can use &amp;quot;make manual&amp;quot; to build it.&lt;br /&gt;
&lt;br /&gt;
There&amp;#039;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: &amp;#039;&amp;#039;[https://www.youtube.com/watch?v=dobU-b0_L1I 001 Sigrok and Logic Analyzers]&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
== Download ==&lt;br /&gt;
&lt;br /&gt;
Binaries, distro packages and source code tarballs are available from [[Downloads]].&lt;br /&gt;
&lt;br /&gt;
Git:&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;
You can also [http://sigrok.org/gitweb/?p=pulseview.git;a=summary browse the source code] via gitweb.&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. See also [[Building#Installing_to_a_non-standard_directory_using_LD_LIBRARY_PATH]] for more details.&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;
&lt;br /&gt;
== Translations ==&lt;br /&gt;
&lt;br /&gt;
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.&lt;br /&gt;
&lt;br /&gt;
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&amp;#039;d do&lt;br /&gt;
&lt;br /&gt;
 cd where/you/unpacked/the/PulseView/repo&lt;br /&gt;
 lupdate -recursive . -ts l10n/de.ts&lt;br /&gt;
&lt;br /&gt;
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):&lt;br /&gt;
&lt;br /&gt;
 cd where/you/unpacked/the/PulseView/repo&lt;br /&gt;
 lupdate -recursive . -ts l10n/es_mx.ts&lt;br /&gt;
&lt;br /&gt;
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&amp;#039;s no literal translation. Sometimes, this is however not possible, and that&amp;#039;s okay. For the German translation, for example, the words &amp;quot;annotation&amp;quot; and &amp;quot;decode trace row&amp;quot; have no suitable equivalents, so we had to make use of translations in spirit (&amp;quot;decoded values&amp;quot; for annotations and &amp;quot;category&amp;quot; for decode trace row), as unfortunate as this is.&lt;br /&gt;
&lt;br /&gt;
When you&amp;#039;re done with your translations, set the language of the translations in Qt Linguist (Edit-&amp;gt;Translation File Settings) and put it somewhere where we can access it - e.g. the [https://sigrok.org/bugzilla/ bugtracker] or the mailing list. We&amp;#039;ll then take the file and incorporate it into the build. Either way, we&amp;#039;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&amp;#039;s no obligation but we&amp;#039;d appreciate if you&amp;#039;d then update the translation for the language you chose to submit to us.&lt;br /&gt;
&lt;br /&gt;
== Resources ==&lt;br /&gt;
&lt;br /&gt;
* [[PulseView/Architecture|PulseView architecture overview]]&lt;br /&gt;
* [[TODO#PulseView|PulseView TODO list]]&lt;br /&gt;
* [[PulseView/Concepts|PulseView GUI concepts]]&lt;br /&gt;
* [https://www.ohloh.net/p/pulseview PulseView on ohloh]&lt;br /&gt;
* [http://airwebreathe.org.uk/doku.php?id=pulseview Joel Holdsworth&amp;#039;s personal PulseView project page]&lt;/div&gt;</summary>
		<author><name>PeterMortensen</name></author>
	</entry>
	<entry>
		<id>https://sigrok.org/w/index.php?title=Talk:PulseView&amp;diff=16286</id>
		<title>Talk:PulseView</title>
		<link rel="alternate" type="text/html" href="https://sigrok.org/w/index.php?title=Talk:PulseView&amp;diff=16286"/>
		<updated>2022-03-31T15:25:02Z</updated>

		<summary type="html">&lt;p&gt;PeterMortensen: Initial.&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Broken link ==&lt;br /&gt;
&lt;br /&gt;
The link &amp;quot;PulseView manual&amp;quot; in sub section &amp;#039;&amp;#039;[[PulseView#Manual|Manual]]&amp;#039;&amp;#039; is broken:&lt;br /&gt;
&lt;br /&gt;
: &amp;#039;&amp;#039;&amp;quot;Not Found. The requested URL was not found on this server&amp;quot;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
--[[User:PeterMortensen|PeterMortensen]] ([[User talk:PeterMortensen|talk]]) 17:25, 31 March 2022 (CEST)&lt;/div&gt;</summary>
		<author><name>PeterMortensen</name></author>
	</entry>
	<entry>
		<id>https://sigrok.org/w/index.php?title=Talk:Tektronix_TDS2000B_series&amp;diff=16284</id>
		<title>Talk:Tektronix TDS2000B series</title>
		<link rel="alternate" type="text/html" href="https://sigrok.org/w/index.php?title=Talk:Tektronix_TDS2000B_series&amp;diff=16284"/>
		<updated>2022-03-15T22:09:47Z</updated>

		<summary type="html">&lt;p&gt;PeterMortensen: /* Broke  link */ Minor.&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Broken link ==&lt;br /&gt;
&lt;br /&gt;
The third link in &amp;quot;Resources&amp;quot; is broken (404).&lt;br /&gt;
&lt;br /&gt;
--[[User:PeterMortensen|PeterMortensen]] ([[User talk:PeterMortensen|talk]]) 23:09, 15 March 2022 (CET)&lt;/div&gt;</summary>
		<author><name>PeterMortensen</name></author>
	</entry>
	<entry>
		<id>https://sigrok.org/w/index.php?title=Talk:Tektronix_TDS2000B_series&amp;diff=16283</id>
		<title>Talk:Tektronix TDS2000B series</title>
		<link rel="alternate" type="text/html" href="https://sigrok.org/w/index.php?title=Talk:Tektronix_TDS2000B_series&amp;diff=16283"/>
		<updated>2022-03-15T22:09:21Z</updated>

		<summary type="html">&lt;p&gt;PeterMortensen: /* Broke  link */ new section&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Broke  link ==&lt;br /&gt;
&lt;br /&gt;
The third link in &amp;quot;Resources&amp;quot; is broken (404).&lt;br /&gt;
&lt;br /&gt;
--[[User:PeterMortensen|PeterMortensen]] ([[User talk:PeterMortensen|talk]]) 23:09, 15 March 2022 (CET)&lt;/div&gt;</summary>
		<author><name>PeterMortensen</name></author>
	</entry>
	<entry>
		<id>https://sigrok.org/w/index.php?title=Linux&amp;diff=16282</id>
		<title>Linux</title>
		<link rel="alternate" type="text/html" href="https://sigrok.org/w/index.php?title=Linux&amp;diff=16282"/>
		<updated>2022-03-15T21:51:31Z</updated>

		<summary type="html">&lt;p&gt;PeterMortensen: /* Troubleshooting */ Dressed the (effectively) naked link - the link text is not literal.&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;
== Binaries ==&lt;br /&gt;
&lt;br /&gt;
=== Distribution packages ===&lt;br /&gt;
&lt;br /&gt;
Many Linux distributions ship with sigrok packages, see [[Downloads#Binaries_and_distribution_packages|Downloads]].&lt;br /&gt;
&lt;br /&gt;
If the sigrok packages in your distro are rather old, you can also use the AppImage we provide (see below).&lt;br /&gt;
&lt;br /&gt;
=== AppImage ===&lt;br /&gt;
&lt;br /&gt;
We provide AppImages (see [https://appimage.org appimage.org] for details) for [[sigrok-cli]] and [[PulseView]] which make it very easy and convenient to use sigrok on somewhat recent Linux distributions (most distros newer than Ubuntu 16.04 LTS (Xenial Xerus) from around 2016 should work fine).&lt;br /&gt;
&lt;br /&gt;
After downloading the AppImage (see [[Downloads#Binaries_and_distribution_packages|Downloads]]) you can run it by simply making it executable and executing it, for example:&lt;br /&gt;
&lt;br /&gt;
 $ &amp;#039;&amp;#039;&amp;#039;chmod u+x PulseView-NIGHTLY-x86_64.AppImage&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
 $ &amp;#039;&amp;#039;&amp;#039;./PulseView-NIGHTLY-x86_64.AppImage&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
You might need to install the libsigrok &amp;#039;&amp;#039;&amp;#039;udev rules files&amp;#039;&amp;#039;&amp;#039; to be able to access some devices. See &amp;#039;&amp;#039;[[Building#Cannot access USB .2F serial .2F other device|Cannot access USB / serial / other device]]&amp;#039;&amp;#039; for details.&lt;br /&gt;
&lt;br /&gt;
== Building (script, recommended) ==&lt;br /&gt;
&lt;br /&gt;
The most convenient method to build all of the sigrok subprojects from source is to use the &amp;#039;&amp;#039;&amp;#039;sigrok-cross-linux&amp;#039;&amp;#039;&amp;#039; script from the [https://sigrok.org/gitweb/?p=sigrok-util.git;a=tree;f=cross-compile/linux sigrok-util] repo. Despite the name, this script also does native builds out of the box.&lt;br /&gt;
&lt;br /&gt;
The script assumes that you have installed all requirements of all sigrok subprojects. Please check &amp;#039;&amp;#039;[[Building#Build_requirements|Build requirements]]&amp;#039;&amp;#039; for details.&lt;br /&gt;
&lt;br /&gt;
 $ &amp;#039;&amp;#039;&amp;#039;git clone git://sigrok.org/sigrok-util&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
 $ &amp;#039;&amp;#039;&amp;#039;cd sigrok-util/cross-compile/linux&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
 $ &amp;#039;&amp;#039;&amp;#039;./sigrok-cross-linux&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
This will download the current git version of all required sigrok subprojects and build them, installing the results in &amp;#039;&amp;#039;&amp;#039;$HOME/sr&amp;#039;&amp;#039;&amp;#039;. You may want to check out the &amp;#039;&amp;#039;&amp;#039;README&amp;#039;&amp;#039;&amp;#039; and/or adapt the script to your needs (e.g., if you want to install elsewhere).&lt;br /&gt;
&lt;br /&gt;
You can use the files from &amp;#039;&amp;#039;&amp;#039;$HOME/sr&amp;#039;&amp;#039;&amp;#039; using (for example) the [[Building#Installing_to_a_non-standard_directory_using_LD_LIBRARY_PATH|LD_LIBRARY_PATH method]].&lt;br /&gt;
&lt;br /&gt;
== Building (manually) ==&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 &amp;#039;&amp;#039;&amp;#039;README&amp;#039;&amp;#039;&amp;#039;/&amp;#039;&amp;#039;&amp;#039;INSTALL&amp;#039;&amp;#039;&amp;#039; file (of the subproject you want to build) 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;
&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;Fedora&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
 $ &amp;#039;&amp;#039;&amp;#039;sudo yum 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;sudo 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/Mint&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 libftdi1-dev libieee1284-3-dev libvisa-dev nettle-dev libavahi-client-dev \&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
   &amp;#039;&amp;#039;&amp;#039;libhidapi-dev check doxygen python-numpy 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, 20, 21, 22, 23)&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 autoconf-archive automake libtool pkgconfig \&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
   &amp;#039;&amp;#039;&amp;#039;glib2-devel libzip-devel libusb1-devel libftdi-devel libieee1284-devel nettle-devel \&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
   &amp;#039;&amp;#039;&amp;#039;hidapi-devel check-devel doxygen&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
:: For C++ bindings, add &amp;#039;&amp;#039;&amp;#039;sudo yum install gcc-c++ glibmm24-devel&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
:: For Python bindings, add &amp;#039;&amp;#039;&amp;#039;sudo yum install python-devel numpy pygobject3-devel swig&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
:: For Fedora 23, you need as well: &amp;#039;&amp;#039;&amp;#039;redhat-rpm-config&amp;#039;&amp;#039;&amp;#039; and note that &amp;#039;&amp;#039;&amp;#039;libusb1-devel&amp;#039;&amp;#039;&amp;#039; is now &amp;#039;&amp;#039;&amp;#039;libusbx-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;
&lt;br /&gt;
 $ &amp;#039;&amp;#039;&amp;#039;sudo 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 libieee1284 nettle hidapi check \&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
   &amp;#039;&amp;#039;&amp;#039;doxygen python-numpy 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 the [[Building#FAQ|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;
==== Installing the [[Building#Build_requirements|requirements]] ====&lt;br /&gt;
&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 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;sudo 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/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 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;sudo 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;sudo 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;
&lt;br /&gt;
==== Installing the [[Building#Build_requirements|requirements]] ====&lt;br /&gt;
&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 g++ make cmake libtool pkg-config \&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
   &amp;#039;&amp;#039;&amp;#039;libglib2.0-dev libboost-test-dev libboost-serialization-dev \&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
   &amp;#039;&amp;#039;&amp;#039;libboost-filesystem-dev libboost-system-dev libqt5svg5-dev qtbase5-dev\&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
   &amp;#039;&amp;#039;&amp;#039;qttools5-dev&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Fedora (18, 19, 23, 27)&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 qt5-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;sudo 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;
==== Troubleshooting ====&lt;br /&gt;
&lt;br /&gt;
See the [[PulseView#Building|PulseView build notes]] for more tips and FAQs.&lt;br /&gt;
&lt;br /&gt;
=== SmuView ===&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/Mint&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 libboost-dev python3-dev libqt5svg5-dev qtbase5-dev \&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
   &amp;#039;&amp;#039;&amp;#039;libqwt-qt5-dev&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Fedora (18, 19, 23, 27, 32)&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 boost-devel\&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
   &amp;#039;&amp;#039;&amp;#039;python3-devel qt5-qtbase-devel qt5-qtsvg-devel qwt-qt5-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;sudo pacman -S git gcc make cmake libtool pkgconfig glib2 boost \&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
   &amp;#039;&amp;#039;&amp;#039;python qt5 qt5-base qt5-svg qwt&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 https://github.com/knarfS/smuview&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
 $ &amp;#039;&amp;#039;&amp;#039;cd smuview&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
 $ &amp;#039;&amp;#039;&amp;#039;mkdir build&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
 $ &amp;#039;&amp;#039;&amp;#039;cd build&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;
==== Troubleshooting ====&lt;br /&gt;
&lt;br /&gt;
See the [[SmuView#Building|SmuView build notes]] for more tips and FAQs.&lt;br /&gt;
&lt;br /&gt;
== FAQ ==&lt;br /&gt;
&lt;br /&gt;
Make sure to also see the [[Building#FAQ|Building FAQ]] for subjects that are not specific to Linux.&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;br /&gt;
&lt;br /&gt;
=== Required library not found ===&lt;br /&gt;
&lt;br /&gt;
See [[Building#Required_library_not_found|here]].&lt;/div&gt;</summary>
		<author><name>PeterMortensen</name></author>
	</entry>
	<entry>
		<id>https://sigrok.org/w/index.php?title=Linux&amp;diff=16281</id>
		<title>Linux</title>
		<link rel="alternate" type="text/html" href="https://sigrok.org/w/index.php?title=Linux&amp;diff=16281"/>
		<updated>2022-03-15T21:49:28Z</updated>

		<summary type="html">&lt;p&gt;PeterMortensen: /* Troubleshooting */ Dressed the (effectively) naked link - the link text is not literal.&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;
== Binaries ==&lt;br /&gt;
&lt;br /&gt;
=== Distribution packages ===&lt;br /&gt;
&lt;br /&gt;
Many Linux distributions ship with sigrok packages, see [[Downloads#Binaries_and_distribution_packages|Downloads]].&lt;br /&gt;
&lt;br /&gt;
If the sigrok packages in your distro are rather old, you can also use the AppImage we provide (see below).&lt;br /&gt;
&lt;br /&gt;
=== AppImage ===&lt;br /&gt;
&lt;br /&gt;
We provide AppImages (see [https://appimage.org appimage.org] for details) for [[sigrok-cli]] and [[PulseView]] which make it very easy and convenient to use sigrok on somewhat recent Linux distributions (most distros newer than Ubuntu 16.04 LTS (Xenial Xerus) from around 2016 should work fine).&lt;br /&gt;
&lt;br /&gt;
After downloading the AppImage (see [[Downloads#Binaries_and_distribution_packages|Downloads]]) you can run it by simply making it executable and executing it, for example:&lt;br /&gt;
&lt;br /&gt;
 $ &amp;#039;&amp;#039;&amp;#039;chmod u+x PulseView-NIGHTLY-x86_64.AppImage&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
 $ &amp;#039;&amp;#039;&amp;#039;./PulseView-NIGHTLY-x86_64.AppImage&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
You might need to install the libsigrok &amp;#039;&amp;#039;&amp;#039;udev rules files&amp;#039;&amp;#039;&amp;#039; to be able to access some devices. See &amp;#039;&amp;#039;[[Building#Cannot access USB .2F serial .2F other device|Cannot access USB / serial / other device]]&amp;#039;&amp;#039; for details.&lt;br /&gt;
&lt;br /&gt;
== Building (script, recommended) ==&lt;br /&gt;
&lt;br /&gt;
The most convenient method to build all of the sigrok subprojects from source is to use the &amp;#039;&amp;#039;&amp;#039;sigrok-cross-linux&amp;#039;&amp;#039;&amp;#039; script from the [https://sigrok.org/gitweb/?p=sigrok-util.git;a=tree;f=cross-compile/linux sigrok-util] repo. Despite the name, this script also does native builds out of the box.&lt;br /&gt;
&lt;br /&gt;
The script assumes that you have installed all requirements of all sigrok subprojects. Please check &amp;#039;&amp;#039;[[Building#Build_requirements|Build requirements]]&amp;#039;&amp;#039; for details.&lt;br /&gt;
&lt;br /&gt;
 $ &amp;#039;&amp;#039;&amp;#039;git clone git://sigrok.org/sigrok-util&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
 $ &amp;#039;&amp;#039;&amp;#039;cd sigrok-util/cross-compile/linux&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
 $ &amp;#039;&amp;#039;&amp;#039;./sigrok-cross-linux&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
This will download the current git version of all required sigrok subprojects and build them, installing the results in &amp;#039;&amp;#039;&amp;#039;$HOME/sr&amp;#039;&amp;#039;&amp;#039;. You may want to check out the &amp;#039;&amp;#039;&amp;#039;README&amp;#039;&amp;#039;&amp;#039; and/or adapt the script to your needs (e.g., if you want to install elsewhere).&lt;br /&gt;
&lt;br /&gt;
You can use the files from &amp;#039;&amp;#039;&amp;#039;$HOME/sr&amp;#039;&amp;#039;&amp;#039; using (for example) the [[Building#Installing_to_a_non-standard_directory_using_LD_LIBRARY_PATH|LD_LIBRARY_PATH method]].&lt;br /&gt;
&lt;br /&gt;
== Building (manually) ==&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 &amp;#039;&amp;#039;&amp;#039;README&amp;#039;&amp;#039;&amp;#039;/&amp;#039;&amp;#039;&amp;#039;INSTALL&amp;#039;&amp;#039;&amp;#039; file (of the subproject you want to build) 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;
&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;Fedora&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
 $ &amp;#039;&amp;#039;&amp;#039;sudo yum 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;sudo 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/Mint&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 libftdi1-dev libieee1284-3-dev libvisa-dev nettle-dev libavahi-client-dev \&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
   &amp;#039;&amp;#039;&amp;#039;libhidapi-dev check doxygen python-numpy 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, 20, 21, 22, 23)&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 autoconf-archive automake libtool pkgconfig \&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
   &amp;#039;&amp;#039;&amp;#039;glib2-devel libzip-devel libusb1-devel libftdi-devel libieee1284-devel nettle-devel \&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
   &amp;#039;&amp;#039;&amp;#039;hidapi-devel check-devel doxygen&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
:: For C++ bindings, add &amp;#039;&amp;#039;&amp;#039;sudo yum install gcc-c++ glibmm24-devel&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
:: For Python bindings, add &amp;#039;&amp;#039;&amp;#039;sudo yum install python-devel numpy pygobject3-devel swig&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
:: For Fedora 23, you need as well: &amp;#039;&amp;#039;&amp;#039;redhat-rpm-config&amp;#039;&amp;#039;&amp;#039; and note that &amp;#039;&amp;#039;&amp;#039;libusb1-devel&amp;#039;&amp;#039;&amp;#039; is now &amp;#039;&amp;#039;&amp;#039;libusbx-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;
&lt;br /&gt;
 $ &amp;#039;&amp;#039;&amp;#039;sudo 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 libieee1284 nettle hidapi check \&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
   &amp;#039;&amp;#039;&amp;#039;doxygen python-numpy 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 the [[Building#FAQ|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;
==== Installing the [[Building#Build_requirements|requirements]] ====&lt;br /&gt;
&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 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;sudo 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/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 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;sudo 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;sudo 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;
&lt;br /&gt;
==== Installing the [[Building#Build_requirements|requirements]] ====&lt;br /&gt;
&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 g++ make cmake libtool pkg-config \&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
   &amp;#039;&amp;#039;&amp;#039;libglib2.0-dev libboost-test-dev libboost-serialization-dev \&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
   &amp;#039;&amp;#039;&amp;#039;libboost-filesystem-dev libboost-system-dev libqt5svg5-dev qtbase5-dev\&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
   &amp;#039;&amp;#039;&amp;#039;qttools5-dev&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Fedora (18, 19, 23, 27)&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 qt5-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;sudo 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;
==== Troubleshooting ====&lt;br /&gt;
&lt;br /&gt;
See [[PulseView#Building]] for more tips and FAQs.&lt;br /&gt;
&lt;br /&gt;
=== SmuView ===&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/Mint&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 libboost-dev python3-dev libqt5svg5-dev qtbase5-dev \&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
   &amp;#039;&amp;#039;&amp;#039;libqwt-qt5-dev&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Fedora (18, 19, 23, 27, 32)&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 boost-devel\&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
   &amp;#039;&amp;#039;&amp;#039;python3-devel qt5-qtbase-devel qt5-qtsvg-devel qwt-qt5-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;sudo pacman -S git gcc make cmake libtool pkgconfig glib2 boost \&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
   &amp;#039;&amp;#039;&amp;#039;python qt5 qt5-base qt5-svg qwt&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 https://github.com/knarfS/smuview&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
 $ &amp;#039;&amp;#039;&amp;#039;cd smuview&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
 $ &amp;#039;&amp;#039;&amp;#039;mkdir build&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
 $ &amp;#039;&amp;#039;&amp;#039;cd build&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;
==== Troubleshooting ====&lt;br /&gt;
&lt;br /&gt;
See the [[SmuView#Building|SmuView build notes]] for more tips and FAQs.&lt;br /&gt;
&lt;br /&gt;
== FAQ ==&lt;br /&gt;
&lt;br /&gt;
Make sure to also see the [[Building#FAQ|Building FAQ]] for subjects that are not specific to Linux.&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;br /&gt;
&lt;br /&gt;
=== Required library not found ===&lt;br /&gt;
&lt;br /&gt;
See [[Building#Required_library_not_found|here]].&lt;/div&gt;</summary>
		<author><name>PeterMortensen</name></author>
	</entry>
	<entry>
		<id>https://sigrok.org/w/index.php?title=Linux&amp;diff=16280</id>
		<title>Linux</title>
		<link rel="alternate" type="text/html" href="https://sigrok.org/w/index.php?title=Linux&amp;diff=16280"/>
		<updated>2022-03-15T21:46:37Z</updated>

		<summary type="html">&lt;p&gt;PeterMortensen: /* Device access */ Dressed the (effectively) naked link (this link text is not literal).&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;
== Binaries ==&lt;br /&gt;
&lt;br /&gt;
=== Distribution packages ===&lt;br /&gt;
&lt;br /&gt;
Many Linux distributions ship with sigrok packages, see [[Downloads#Binaries_and_distribution_packages|Downloads]].&lt;br /&gt;
&lt;br /&gt;
If the sigrok packages in your distro are rather old, you can also use the AppImage we provide (see below).&lt;br /&gt;
&lt;br /&gt;
=== AppImage ===&lt;br /&gt;
&lt;br /&gt;
We provide AppImages (see [https://appimage.org appimage.org] for details) for [[sigrok-cli]] and [[PulseView]] which make it very easy and convenient to use sigrok on somewhat recent Linux distributions (most distros newer than Ubuntu 16.04 LTS (Xenial Xerus) from around 2016 should work fine).&lt;br /&gt;
&lt;br /&gt;
After downloading the AppImage (see [[Downloads#Binaries_and_distribution_packages|Downloads]]) you can run it by simply making it executable and executing it, for example:&lt;br /&gt;
&lt;br /&gt;
 $ &amp;#039;&amp;#039;&amp;#039;chmod u+x PulseView-NIGHTLY-x86_64.AppImage&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
 $ &amp;#039;&amp;#039;&amp;#039;./PulseView-NIGHTLY-x86_64.AppImage&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
You might need to install the libsigrok &amp;#039;&amp;#039;&amp;#039;udev rules files&amp;#039;&amp;#039;&amp;#039; to be able to access some devices. See &amp;#039;&amp;#039;[[Building#Cannot access USB .2F serial .2F other device|Cannot access USB / serial / other device]]&amp;#039;&amp;#039; for details.&lt;br /&gt;
&lt;br /&gt;
== Building (script, recommended) ==&lt;br /&gt;
&lt;br /&gt;
The most convenient method to build all of the sigrok subprojects from source is to use the &amp;#039;&amp;#039;&amp;#039;sigrok-cross-linux&amp;#039;&amp;#039;&amp;#039; script from the [https://sigrok.org/gitweb/?p=sigrok-util.git;a=tree;f=cross-compile/linux sigrok-util] repo. Despite the name, this script also does native builds out of the box.&lt;br /&gt;
&lt;br /&gt;
The script assumes that you have installed all requirements of all sigrok subprojects. Please check &amp;#039;&amp;#039;[[Building#Build_requirements|Build requirements]]&amp;#039;&amp;#039; for details.&lt;br /&gt;
&lt;br /&gt;
 $ &amp;#039;&amp;#039;&amp;#039;git clone git://sigrok.org/sigrok-util&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
 $ &amp;#039;&amp;#039;&amp;#039;cd sigrok-util/cross-compile/linux&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
 $ &amp;#039;&amp;#039;&amp;#039;./sigrok-cross-linux&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
This will download the current git version of all required sigrok subprojects and build them, installing the results in &amp;#039;&amp;#039;&amp;#039;$HOME/sr&amp;#039;&amp;#039;&amp;#039;. You may want to check out the &amp;#039;&amp;#039;&amp;#039;README&amp;#039;&amp;#039;&amp;#039; and/or adapt the script to your needs (e.g., if you want to install elsewhere).&lt;br /&gt;
&lt;br /&gt;
You can use the files from &amp;#039;&amp;#039;&amp;#039;$HOME/sr&amp;#039;&amp;#039;&amp;#039; using (for example) the [[Building#Installing_to_a_non-standard_directory_using_LD_LIBRARY_PATH|LD_LIBRARY_PATH method]].&lt;br /&gt;
&lt;br /&gt;
== Building (manually) ==&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 &amp;#039;&amp;#039;&amp;#039;README&amp;#039;&amp;#039;&amp;#039;/&amp;#039;&amp;#039;&amp;#039;INSTALL&amp;#039;&amp;#039;&amp;#039; file (of the subproject you want to build) 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;
&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;Fedora&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
 $ &amp;#039;&amp;#039;&amp;#039;sudo yum 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;sudo 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/Mint&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 libftdi1-dev libieee1284-3-dev libvisa-dev nettle-dev libavahi-client-dev \&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
   &amp;#039;&amp;#039;&amp;#039;libhidapi-dev check doxygen python-numpy 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, 20, 21, 22, 23)&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 autoconf-archive automake libtool pkgconfig \&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
   &amp;#039;&amp;#039;&amp;#039;glib2-devel libzip-devel libusb1-devel libftdi-devel libieee1284-devel nettle-devel \&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
   &amp;#039;&amp;#039;&amp;#039;hidapi-devel check-devel doxygen&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
:: For C++ bindings, add &amp;#039;&amp;#039;&amp;#039;sudo yum install gcc-c++ glibmm24-devel&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
:: For Python bindings, add &amp;#039;&amp;#039;&amp;#039;sudo yum install python-devel numpy pygobject3-devel swig&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
:: For Fedora 23, you need as well: &amp;#039;&amp;#039;&amp;#039;redhat-rpm-config&amp;#039;&amp;#039;&amp;#039; and note that &amp;#039;&amp;#039;&amp;#039;libusb1-devel&amp;#039;&amp;#039;&amp;#039; is now &amp;#039;&amp;#039;&amp;#039;libusbx-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;
&lt;br /&gt;
 $ &amp;#039;&amp;#039;&amp;#039;sudo 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 libieee1284 nettle hidapi check \&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
   &amp;#039;&amp;#039;&amp;#039;doxygen python-numpy 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 the [[Building#FAQ|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;
==== Installing the [[Building#Build_requirements|requirements]] ====&lt;br /&gt;
&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 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;sudo 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/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 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;sudo 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;sudo 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;
&lt;br /&gt;
==== Installing the [[Building#Build_requirements|requirements]] ====&lt;br /&gt;
&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 g++ make cmake libtool pkg-config \&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
   &amp;#039;&amp;#039;&amp;#039;libglib2.0-dev libboost-test-dev libboost-serialization-dev \&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
   &amp;#039;&amp;#039;&amp;#039;libboost-filesystem-dev libboost-system-dev libqt5svg5-dev qtbase5-dev\&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
   &amp;#039;&amp;#039;&amp;#039;qttools5-dev&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Fedora (18, 19, 23, 27)&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 qt5-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;sudo 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;
==== Troubleshooting ====&lt;br /&gt;
&lt;br /&gt;
See [[PulseView#Building]] for more tips and FAQs.&lt;br /&gt;
&lt;br /&gt;
=== SmuView ===&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/Mint&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 libboost-dev python3-dev libqt5svg5-dev qtbase5-dev \&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
   &amp;#039;&amp;#039;&amp;#039;libqwt-qt5-dev&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Fedora (18, 19, 23, 27, 32)&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 boost-devel\&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
   &amp;#039;&amp;#039;&amp;#039;python3-devel qt5-qtbase-devel qt5-qtsvg-devel qwt-qt5-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;sudo pacman -S git gcc make cmake libtool pkgconfig glib2 boost \&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
   &amp;#039;&amp;#039;&amp;#039;python qt5 qt5-base qt5-svg qwt&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 https://github.com/knarfS/smuview&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
 $ &amp;#039;&amp;#039;&amp;#039;cd smuview&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
 $ &amp;#039;&amp;#039;&amp;#039;mkdir build&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
 $ &amp;#039;&amp;#039;&amp;#039;cd build&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;
==== Troubleshooting ====&lt;br /&gt;
&lt;br /&gt;
See [[SmuView#Building]] for more tips and FAQs.&lt;br /&gt;
&lt;br /&gt;
== FAQ ==&lt;br /&gt;
&lt;br /&gt;
Make sure to also see the [[Building#FAQ|Building FAQ]] for subjects that are not specific to Linux.&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;br /&gt;
&lt;br /&gt;
=== Required library not found ===&lt;br /&gt;
&lt;br /&gt;
See [[Building#Required_library_not_found|here]].&lt;/div&gt;</summary>
		<author><name>PeterMortensen</name></author>
	</entry>
	<entry>
		<id>https://sigrok.org/w/index.php?title=Linux&amp;diff=16279</id>
		<title>Linux</title>
		<link rel="alternate" type="text/html" href="https://sigrok.org/w/index.php?title=Linux&amp;diff=16279"/>
		<updated>2022-03-15T21:42:40Z</updated>

		<summary type="html">&lt;p&gt;PeterMortensen: /* Building (script, recommended) */ Eliminated a run-on sentence. Dressed the (effectively) naked link, etc.&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;
== Binaries ==&lt;br /&gt;
&lt;br /&gt;
=== Distribution packages ===&lt;br /&gt;
&lt;br /&gt;
Many Linux distributions ship with sigrok packages, see [[Downloads#Binaries_and_distribution_packages|Downloads]].&lt;br /&gt;
&lt;br /&gt;
If the sigrok packages in your distro are rather old, you can also use the AppImage we provide (see below).&lt;br /&gt;
&lt;br /&gt;
=== AppImage ===&lt;br /&gt;
&lt;br /&gt;
We provide AppImages (see [https://appimage.org appimage.org] for details) for [[sigrok-cli]] and [[PulseView]] which make it very easy and convenient to use sigrok on somewhat recent Linux distributions (most distros newer than Ubuntu 16.04 LTS (Xenial Xerus) from around 2016 should work fine).&lt;br /&gt;
&lt;br /&gt;
After downloading the AppImage (see [[Downloads#Binaries_and_distribution_packages|Downloads]]) you can run it by simply making it executable and executing it, for example:&lt;br /&gt;
&lt;br /&gt;
 $ &amp;#039;&amp;#039;&amp;#039;chmod u+x PulseView-NIGHTLY-x86_64.AppImage&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
 $ &amp;#039;&amp;#039;&amp;#039;./PulseView-NIGHTLY-x86_64.AppImage&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
You might need to install the libsigrok &amp;#039;&amp;#039;&amp;#039;udev rules files&amp;#039;&amp;#039;&amp;#039; to be able to access some devices. See &amp;#039;&amp;#039;[[Building#Cannot access USB .2F serial .2F other device|Cannot access USB / serial / other device]]&amp;#039;&amp;#039; for details.&lt;br /&gt;
&lt;br /&gt;
== Building (script, recommended) ==&lt;br /&gt;
&lt;br /&gt;
The most convenient method to build all of the sigrok subprojects from source is to use the &amp;#039;&amp;#039;&amp;#039;sigrok-cross-linux&amp;#039;&amp;#039;&amp;#039; script from the [https://sigrok.org/gitweb/?p=sigrok-util.git;a=tree;f=cross-compile/linux sigrok-util] repo. Despite the name, this script also does native builds out of the box.&lt;br /&gt;
&lt;br /&gt;
The script assumes that you have installed all requirements of all sigrok subprojects. Please check &amp;#039;&amp;#039;[[Building#Build_requirements|Build requirements]]&amp;#039;&amp;#039; for details.&lt;br /&gt;
&lt;br /&gt;
 $ &amp;#039;&amp;#039;&amp;#039;git clone git://sigrok.org/sigrok-util&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
 $ &amp;#039;&amp;#039;&amp;#039;cd sigrok-util/cross-compile/linux&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
 $ &amp;#039;&amp;#039;&amp;#039;./sigrok-cross-linux&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
This will download the current git version of all required sigrok subprojects and build them, installing the results in &amp;#039;&amp;#039;&amp;#039;$HOME/sr&amp;#039;&amp;#039;&amp;#039;. You may want to check out the &amp;#039;&amp;#039;&amp;#039;README&amp;#039;&amp;#039;&amp;#039; and/or adapt the script to your needs (e.g., if you want to install elsewhere).&lt;br /&gt;
&lt;br /&gt;
You can use the files from &amp;#039;&amp;#039;&amp;#039;$HOME/sr&amp;#039;&amp;#039;&amp;#039; using (for example) the [[Building#Installing_to_a_non-standard_directory_using_LD_LIBRARY_PATH|LD_LIBRARY_PATH method]].&lt;br /&gt;
&lt;br /&gt;
== Building (manually) ==&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 &amp;#039;&amp;#039;&amp;#039;README&amp;#039;&amp;#039;&amp;#039;/&amp;#039;&amp;#039;&amp;#039;INSTALL&amp;#039;&amp;#039;&amp;#039; file (of the subproject you want to build) 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;
&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;Fedora&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
 $ &amp;#039;&amp;#039;&amp;#039;sudo yum 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;sudo 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/Mint&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 libftdi1-dev libieee1284-3-dev libvisa-dev nettle-dev libavahi-client-dev \&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
   &amp;#039;&amp;#039;&amp;#039;libhidapi-dev check doxygen python-numpy 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, 20, 21, 22, 23)&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 autoconf-archive automake libtool pkgconfig \&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
   &amp;#039;&amp;#039;&amp;#039;glib2-devel libzip-devel libusb1-devel libftdi-devel libieee1284-devel nettle-devel \&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
   &amp;#039;&amp;#039;&amp;#039;hidapi-devel check-devel doxygen&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
:: For C++ bindings, add &amp;#039;&amp;#039;&amp;#039;sudo yum install gcc-c++ glibmm24-devel&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
:: For Python bindings, add &amp;#039;&amp;#039;&amp;#039;sudo yum install python-devel numpy pygobject3-devel swig&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
:: For Fedora 23, you need as well: &amp;#039;&amp;#039;&amp;#039;redhat-rpm-config&amp;#039;&amp;#039;&amp;#039; and note that &amp;#039;&amp;#039;&amp;#039;libusb1-devel&amp;#039;&amp;#039;&amp;#039; is now &amp;#039;&amp;#039;&amp;#039;libusbx-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;
&lt;br /&gt;
 $ &amp;#039;&amp;#039;&amp;#039;sudo 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 libieee1284 nettle hidapi check \&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
   &amp;#039;&amp;#039;&amp;#039;doxygen python-numpy 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;
&lt;br /&gt;
==== Installing the [[Building#Build_requirements|requirements]] ====&lt;br /&gt;
&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 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;sudo 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/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 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;sudo 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;sudo 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;
&lt;br /&gt;
==== Installing the [[Building#Build_requirements|requirements]] ====&lt;br /&gt;
&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 g++ make cmake libtool pkg-config \&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
   &amp;#039;&amp;#039;&amp;#039;libglib2.0-dev libboost-test-dev libboost-serialization-dev \&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
   &amp;#039;&amp;#039;&amp;#039;libboost-filesystem-dev libboost-system-dev libqt5svg5-dev qtbase5-dev\&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
   &amp;#039;&amp;#039;&amp;#039;qttools5-dev&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Fedora (18, 19, 23, 27)&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 qt5-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;sudo 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;
==== Troubleshooting ====&lt;br /&gt;
&lt;br /&gt;
See [[PulseView#Building]] for more tips and FAQs.&lt;br /&gt;
&lt;br /&gt;
=== SmuView ===&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/Mint&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 libboost-dev python3-dev libqt5svg5-dev qtbase5-dev \&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
   &amp;#039;&amp;#039;&amp;#039;libqwt-qt5-dev&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Fedora (18, 19, 23, 27, 32)&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 boost-devel\&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
   &amp;#039;&amp;#039;&amp;#039;python3-devel qt5-qtbase-devel qt5-qtsvg-devel qwt-qt5-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;sudo pacman -S git gcc make cmake libtool pkgconfig glib2 boost \&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
   &amp;#039;&amp;#039;&amp;#039;python qt5 qt5-base qt5-svg qwt&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 https://github.com/knarfS/smuview&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
 $ &amp;#039;&amp;#039;&amp;#039;cd smuview&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
 $ &amp;#039;&amp;#039;&amp;#039;mkdir build&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
 $ &amp;#039;&amp;#039;&amp;#039;cd build&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;
==== Troubleshooting ====&lt;br /&gt;
&lt;br /&gt;
See [[SmuView#Building]] for more tips and FAQs.&lt;br /&gt;
&lt;br /&gt;
== FAQ ==&lt;br /&gt;
&lt;br /&gt;
Make sure to also see the [[Building#FAQ|Building FAQ]] for subjects that are not specific to Linux.&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;br /&gt;
&lt;br /&gt;
=== Required library not found ===&lt;br /&gt;
&lt;br /&gt;
See [[Building#Required_library_not_found|here]].&lt;/div&gt;</summary>
		<author><name>PeterMortensen</name></author>
	</entry>
	<entry>
		<id>https://sigrok.org/w/index.php?title=Linux&amp;diff=16278</id>
		<title>Linux</title>
		<link rel="alternate" type="text/html" href="https://sigrok.org/w/index.php?title=Linux&amp;diff=16278"/>
		<updated>2022-03-15T21:39:03Z</updated>

		<summary type="html">&lt;p&gt;PeterMortensen: /* AppImage */ Dressed the (effectively) naked link, etc.&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;
== Binaries ==&lt;br /&gt;
&lt;br /&gt;
=== Distribution packages ===&lt;br /&gt;
&lt;br /&gt;
Many Linux distributions ship with sigrok packages, see [[Downloads#Binaries_and_distribution_packages|Downloads]].&lt;br /&gt;
&lt;br /&gt;
If the sigrok packages in your distro are rather old, you can also use the AppImage we provide (see below).&lt;br /&gt;
&lt;br /&gt;
=== AppImage ===&lt;br /&gt;
&lt;br /&gt;
We provide AppImages (see [https://appimage.org appimage.org] for details) for [[sigrok-cli]] and [[PulseView]] which make it very easy and convenient to use sigrok on somewhat recent Linux distributions (most distros newer than Ubuntu 16.04 LTS (Xenial Xerus) from around 2016 should work fine).&lt;br /&gt;
&lt;br /&gt;
After downloading the AppImage (see [[Downloads#Binaries_and_distribution_packages|Downloads]]) you can run it by simply making it executable and executing it, for example:&lt;br /&gt;
&lt;br /&gt;
 $ &amp;#039;&amp;#039;&amp;#039;chmod u+x PulseView-NIGHTLY-x86_64.AppImage&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
 $ &amp;#039;&amp;#039;&amp;#039;./PulseView-NIGHTLY-x86_64.AppImage&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
You might need to install the libsigrok &amp;#039;&amp;#039;&amp;#039;udev rules files&amp;#039;&amp;#039;&amp;#039; to be able to access some devices. See &amp;#039;&amp;#039;[[Building#Cannot access USB .2F serial .2F other device|Cannot access USB / serial / other device]]&amp;#039;&amp;#039; for details.&lt;br /&gt;
&lt;br /&gt;
== Building (script, recommended) ==&lt;br /&gt;
&lt;br /&gt;
The most convenient method to build all of the sigrok subprojects from source is to use the &amp;#039;&amp;#039;&amp;#039;sigrok-cross-linux&amp;#039;&amp;#039;&amp;#039; script from the [https://sigrok.org/gitweb/?p=sigrok-util.git;a=tree;f=cross-compile/linux sigrok-util] repo. Despite the name, this script also does native builds out of the box.&lt;br /&gt;
&lt;br /&gt;
The script assumes that you have installed all requirements of all sigrok subprojects, please check [[Building#Build_requirements]] for details.&lt;br /&gt;
&lt;br /&gt;
 $ &amp;#039;&amp;#039;&amp;#039;git clone git://sigrok.org/sigrok-util&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
 $ &amp;#039;&amp;#039;&amp;#039;cd sigrok-util/cross-compile/linux&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
 $ &amp;#039;&amp;#039;&amp;#039;./sigrok-cross-linux&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
This will download the current git version of all required sigrok subprojects and build them, installing the results in &amp;#039;&amp;#039;&amp;#039;$HOME/sr&amp;#039;&amp;#039;&amp;#039;. You may want to check out the &amp;#039;&amp;#039;&amp;#039;README&amp;#039;&amp;#039;&amp;#039; and/or adapt the script to your needs (e.g. if you want to install elsewhere).&lt;br /&gt;
&lt;br /&gt;
You can use the files from &amp;#039;&amp;#039;&amp;#039;$HOME/sr&amp;#039;&amp;#039;&amp;#039; using (for example) the [[Building#Installing_to_a_non-standard_directory_using_LD_LIBRARY_PATH|LD_LIBRARY_PATH method]].&lt;br /&gt;
&lt;br /&gt;
== Building (manually) ==&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 &amp;#039;&amp;#039;&amp;#039;README&amp;#039;&amp;#039;&amp;#039;/&amp;#039;&amp;#039;&amp;#039;INSTALL&amp;#039;&amp;#039;&amp;#039; file (of the subproject you want to build) 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;
&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;Fedora&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
 $ &amp;#039;&amp;#039;&amp;#039;sudo yum 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;sudo 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/Mint&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 libftdi1-dev libieee1284-3-dev libvisa-dev nettle-dev libavahi-client-dev \&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
   &amp;#039;&amp;#039;&amp;#039;libhidapi-dev check doxygen python-numpy 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, 20, 21, 22, 23)&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 autoconf-archive automake libtool pkgconfig \&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
   &amp;#039;&amp;#039;&amp;#039;glib2-devel libzip-devel libusb1-devel libftdi-devel libieee1284-devel nettle-devel \&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
   &amp;#039;&amp;#039;&amp;#039;hidapi-devel check-devel doxygen&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
:: For C++ bindings, add &amp;#039;&amp;#039;&amp;#039;sudo yum install gcc-c++ glibmm24-devel&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
:: For Python bindings, add &amp;#039;&amp;#039;&amp;#039;sudo yum install python-devel numpy pygobject3-devel swig&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
:: For Fedora 23, you need as well: &amp;#039;&amp;#039;&amp;#039;redhat-rpm-config&amp;#039;&amp;#039;&amp;#039; and note that &amp;#039;&amp;#039;&amp;#039;libusb1-devel&amp;#039;&amp;#039;&amp;#039; is now &amp;#039;&amp;#039;&amp;#039;libusbx-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;
&lt;br /&gt;
 $ &amp;#039;&amp;#039;&amp;#039;sudo 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 libieee1284 nettle hidapi check \&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
   &amp;#039;&amp;#039;&amp;#039;doxygen python-numpy 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;
&lt;br /&gt;
==== Installing the [[Building#Build_requirements|requirements]] ====&lt;br /&gt;
&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 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;sudo 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/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 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;sudo 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;sudo 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;
&lt;br /&gt;
==== Installing the [[Building#Build_requirements|requirements]] ====&lt;br /&gt;
&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 g++ make cmake libtool pkg-config \&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
   &amp;#039;&amp;#039;&amp;#039;libglib2.0-dev libboost-test-dev libboost-serialization-dev \&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
   &amp;#039;&amp;#039;&amp;#039;libboost-filesystem-dev libboost-system-dev libqt5svg5-dev qtbase5-dev\&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
   &amp;#039;&amp;#039;&amp;#039;qttools5-dev&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Fedora (18, 19, 23, 27)&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 qt5-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;sudo 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;
==== Troubleshooting ====&lt;br /&gt;
&lt;br /&gt;
See [[PulseView#Building]] for more tips and FAQs.&lt;br /&gt;
&lt;br /&gt;
=== SmuView ===&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/Mint&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 libboost-dev python3-dev libqt5svg5-dev qtbase5-dev \&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
   &amp;#039;&amp;#039;&amp;#039;libqwt-qt5-dev&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Fedora (18, 19, 23, 27, 32)&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 boost-devel\&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
   &amp;#039;&amp;#039;&amp;#039;python3-devel qt5-qtbase-devel qt5-qtsvg-devel qwt-qt5-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;sudo pacman -S git gcc make cmake libtool pkgconfig glib2 boost \&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
   &amp;#039;&amp;#039;&amp;#039;python qt5 qt5-base qt5-svg qwt&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 https://github.com/knarfS/smuview&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
 $ &amp;#039;&amp;#039;&amp;#039;cd smuview&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
 $ &amp;#039;&amp;#039;&amp;#039;mkdir build&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
 $ &amp;#039;&amp;#039;&amp;#039;cd build&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;
==== Troubleshooting ====&lt;br /&gt;
&lt;br /&gt;
See [[SmuView#Building]] for more tips and FAQs.&lt;br /&gt;
&lt;br /&gt;
== FAQ ==&lt;br /&gt;
&lt;br /&gt;
Make sure to also see the [[Building#FAQ|Building FAQ]] for subjects that are not specific to Linux.&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;br /&gt;
&lt;br /&gt;
=== Required library not found ===&lt;br /&gt;
&lt;br /&gt;
See [[Building#Required_library_not_found|here]].&lt;/div&gt;</summary>
		<author><name>PeterMortensen</name></author>
	</entry>
	<entry>
		<id>https://sigrok.org/w/index.php?title=User:PeterMortensen&amp;diff=14825</id>
		<title>User:PeterMortensen</title>
		<link rel="alternate" type="text/html" href="https://sigrok.org/w/index.php?title=User:PeterMortensen&amp;diff=14825"/>
		<updated>2020-01-12T14:24:48Z</updated>

		<summary type="html">&lt;p&gt;PeterMortensen: /* 2020-01 */ Actually, the Fujitsu is a more modern one, with the Windows key, etc.&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;==Recent activity==&lt;br /&gt;
&lt;br /&gt;
===2020-01===&lt;br /&gt;
&lt;br /&gt;
Getting insight into what happens with PC keyboards on the signal level and on higher levels (related to repurposing an old PS/2 keyboard (BTC 5349) as a macro keyboard, with the help of an [https://store.arduino.cc/arduino-leonardo-with-headers Arduino Leonardo]):&lt;br /&gt;
&lt;br /&gt;
#For the keyboards listed below: Verify that all keys work (by capturing in PulseView and observe there is actually a signal. Note that the accent and umlaut key requires pressing a letter after).&lt;br /&gt;
#For the keyboards listed below: Capturing and submitting information for PS/2 PC keyboards (CLK and DATA), including during pressing and releasing  and bidirectional traffic (PC initialising the keyboard, e.g. at connect and/or PC startup). Submit to Git repository &amp;quot;[https://sigrok.org/gitweb/ sigrok-dumps]&amp;quot;: Keyboards (all European layout):&lt;br /&gt;
##BTC 5349 (102 keys IBM/AT type, corresponding to IBM Model M (Enhanced)). 100 mA (measured). Mechanical keyboard?&lt;br /&gt;
##Fujitsu/Siemens ([https://en.wikipedia.org/wiki/File:ISO_keyboard_%28105%29_QWERTY_UK.svg 105 keys] + 10 media keys (sleep, mail, play, stop, speaker controls, etc.). IBM/AT type. ?? mA.&lt;br /&gt;
##Microsoft &amp;#039;&amp;#039;&amp;quot;Natural Keyboard Elite&amp;quot;&amp;#039;&amp;#039;. [https://en.wikipedia.org/wiki/File:ISO_keyboard_%28105%29_QWERTY_UK.svg 105 keys]. 500 mA (nominal).&lt;br /&gt;
##[https://en.wikipedia.org/wiki/Apple_Extended_Keyboard Apple Extended Keyboard II]. [https://en.wikipedia.org/wiki/File:ISO_keyboard_%28105%29_QWERTY_UK.svg 105 keys] + one power key. ??? mA. Mechanical keyboard. Uses [https://en.wikipedia.org/wiki/Apple_Desktop_Bus#Physical ADB], not PS/2 (physically similar, but 4-pin mini-DIN connector). A single pin for data and &amp;#039;PSW&amp;#039; connected directly to the power switch. All communication is host initiated (polling).&lt;br /&gt;
#Consider adding regression tests for the PS/2 decoder. It will include if it handles the 2-3% clock frequency offset for the BTC 5349 (probably, as there is CLK, but that is not the case if decoding as the UART protocol decoder).&lt;br /&gt;
#Some higher-level protocol decoder work for PC keyboards (not decided on yet), e.g. identifying scan code sequences as the corresponding keys.&lt;br /&gt;
#Some hardware to allow an Arduino Leonardo to pose as a PC ([https://en.wikipedia.org/wiki/Open_collector open collector] outputs). To explore what commands various keyboards responds to and what modes they might enter (for example, Linux allegedly tries put keyboards into &amp;quot;Set 3&amp;quot; (the powerup default is usually &amp;quot;Set 2&amp;quot;)). The three LEDs on the keyboard can also be used for user feedback for the macro keyboard.&lt;br /&gt;
#Existing content on the wiki, etc. regarding PC keyboards, etc.:&lt;br /&gt;
##Keyboards (none found, but are probably not supposed to exist, only actual capturing hardware(?)).&lt;br /&gt;
##[[Protocol_decoder:Ps2|PS/2 decoder page]]. Does not exist??&lt;br /&gt;
##&amp;#039;&amp;#039;&amp;quot;The decode of some PS/2 (or USB) keyboard/mouse traffic could yield an ASCII text file of all the keys that were pressed on the keyboard.&amp;quot;&amp;#039;&amp;#039; (on [[Protocol decoder output|a planning page]])&lt;br /&gt;
##Look in bug tracker for PS/2, keyboards, etc.&lt;br /&gt;
###Bug #1460 - [https://sigrok.org/gitweb/?p=libsigrokdecode.git;a=commitdiff;h=4370348c4fcdbd708715c35a38fdf06c9364d518 ps2: end data byte at rising clock edge of the stop bit]&lt;br /&gt;
##Look in Git log&lt;br /&gt;
### [https://sigrok.org/gitweb/?p=sigrok-dumps.git;a=commit;h=16931eb480ba5df923c1508f3d83719eddcc5ab3 PS/2 keyboard data submitted on 2019-12-21] (discovered on [https://sigrok.org/gitweb/?p=sigrok-dumps.git;a=log projects / sigrok-dumps.git / commit ])&lt;br /&gt;
##Look in IRC log&lt;br /&gt;
##Look in blog posts for info on PS/2, etc.&lt;br /&gt;
#Updating the wiki&lt;br /&gt;
##Add PS/2 low-level reference (details about the CLK signal) to the PS/2 protocol decoder page. IRC ref. [2020-01-07 01:49:07] and [2020-01-07 18:09:02] (UTC+1)). Add to the resources section. Is: http://www.nerdkits.com/videos/interrupts_and_ps2_keyboard/&lt;br /&gt;
##Add keyboard documentation, pictures (not decided on yet).&lt;br /&gt;
#Ideas:&lt;br /&gt;
##Deliberately send data to the keyboard with a parity error.&lt;br /&gt;
##Deliberately add noise to the signals (say, wide-band white noise by electronics means), forcing parity errors. This should force the receiver (keyboard or host PC) to respond.&lt;br /&gt;
##Send unknown commands to the keyboard. It should respond with 0xFE (in contrast to the normal 0xFA).&lt;br /&gt;
##Try all the keyboard commands in &amp;#039;&amp;#039;[https://www.win.tue.nl/~aeb/linux/kbd/scancodes-12.html Keyboard commands]&amp;#039;&amp;#039;.&lt;br /&gt;
##For a keyboard that is &amp;#039;&amp;#039;both&amp;#039;&amp;#039; capable of USB and PS/2: Record the startup sequence when connected via PS/2 to a PC host. To see if there is any indication on the signal level of such capability.&lt;br /&gt;
&lt;br /&gt;
Other:&lt;br /&gt;
&lt;br /&gt;
#Updating broken links here. For example, for the CAN protocol decoder.&lt;br /&gt;
&lt;br /&gt;
===2019-04===&lt;br /&gt;
&lt;br /&gt;
#Building a Docker container for compiling sigrok-cli and PulseView. It is supposed to both run under Linux and Windows (x64).&lt;br /&gt;
#Testing a new driver by user &amp;#039;&amp;#039;droghio&amp;#039;&amp;#039; that should work for the [[Tektronix TDS2024B|TDS2024C Tektronix  oscilloscope]]. Some placeholding:&lt;br /&gt;
#*Part of &amp;quot;lsusb -v&amp;quot; output: &amp;quot;Bus 008 Device 005: ID 0699:03a6 Tektronix, Inc.&amp;quot;&lt;br /&gt;
#*Notes to self: the &amp;#039;&amp;#039;&amp;quot;[git://sigrok.org/sigrok-util util]&amp;quot;&amp;#039;&amp;#039; repository (for building and stuff) - [https://github.com/sigrokproject/sigrok-util read-only mirror at GitHub]. [https://github.com/sigrokproject/sigrok-util/blob/master/cross-compile/linux/sigrok-cross-linux Cross-built script].&lt;br /&gt;
&lt;br /&gt;
===2018-04===&lt;br /&gt;
&lt;br /&gt;
Submitting comprehensive sample data for CAN bus, both 11-bit and 29-bit messages, and corresponding test cases (mostly for regression test - especially regression for [https://sigrok.org/bugzilla/show_bug.cgi?id=1085 the 2018-04-12 fix to the decoding at the end of the CRC part]).&lt;br /&gt;
&lt;br /&gt;
Notes to self:&lt;br /&gt;
&lt;br /&gt;
# Original acquired analog data: C:\temp2\2017-12-23\CAN decoder, new stuff bit handling at the end of the CRC segment\Data67\In\ACQ000009_Tektronix.txt&lt;br /&gt;
&lt;br /&gt;
===2017-12===&lt;br /&gt;
&lt;br /&gt;
Recording 22483 traces for the purpose of evaluating [https://sigrok.org/bugzilla/show_bug.cgi?id=1085 a proposed fix to the CAN protocol decoder] (actually only changing a single number from 16 to 17), stuff bit at the very end of the CRC segment, with a modified trigger scheme: &lt;br /&gt;
&lt;br /&gt;
* Change the position of the trigger point to the end (right) so there is always a CAN message in the trace (for the previous), but still 26&amp;amp;nbsp;µs recessive.&lt;br /&gt;
&lt;br /&gt;
The time division was 100&amp;amp;nbsp;µs / division (about 225 bit times max) to always record whole CAN messages - at 10 samples per bit time.&lt;br /&gt;
&lt;br /&gt;
===2017-07===&lt;br /&gt;
&lt;br /&gt;
Using the sigrok command-line (&amp;quot;sigrok-cli&amp;quot;) to bulk process data derived from Tektronix oscilloscope data of 250&amp;amp;nbsp;kbit/s CAN traffic on a real-world system (mobile cranes). The first sample data set is 5335 oscilloscope traces obtained with the trigger set to a negative pulse on CAN-H (to start off at the end of a CAN message) - corresponding to 6.5 recessive bits, 26&amp;amp;nbsp;µsec (detecting the space in-between CAN messages). Sometimes there is a CAN message right after this, sometimes it is a bit delayed, and sometimes it is completely empty.&lt;br /&gt;
&lt;br /&gt;
A sample command line (on Windows) is:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;sigrok-cli -P can:bitrate=250000:can_rx=&amp;quot;CAN RX&amp;quot; -P timing:data=&amp;quot;CAN RX&amp;quot; -I csv:header=true:samplerate=5000000 -i &amp;quot;T:\stdHMF\UserData\scripts\Tektronix2PulseView\_PulseView_AllChannels_ACQ000001_Tektronix_f5000000.txt&amp;quot;&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===2017-04===&lt;br /&gt;
&lt;br /&gt;
Using [[PulseView]] to decode data from a Tektronix oscilloscope of SPI communication to a CAN controller, [http://www.microchip.com/wwwproducts/Devices.aspx?dDocName=en010406 MCP2515].&lt;br /&gt;
&lt;br /&gt;
==Task list==&lt;br /&gt;
&lt;br /&gt;
Currently not in priority order.&lt;br /&gt;
&lt;br /&gt;
* Allow import of analog data through CSV files. (Related: fixed  [https://sigrok.org/bugzilla/show_bug.cgi?id=1064 bug 1064] - &amp;#039;&amp;#039;locale&amp;#039;&amp;#039; issue, decimal point, &amp;quot;,&amp;quot; vs. &amp;quot;.&amp;quot;.).&lt;br /&gt;
&lt;br /&gt;
* Add detection of error frames to the CAN protocol decoder&lt;br /&gt;
&lt;br /&gt;
* Add support for the gigga watt EEVBlog multimeter (Bluetooth, etc.)&lt;br /&gt;
&lt;br /&gt;
* Add a snap feature to the &amp;quot;cursor&amp;quot; (blue) in PulveView&lt;br /&gt;
&lt;br /&gt;
* Change number of significant digits for the time display in the &amp;quot;cursor&amp;quot; (blue) in PulveView&lt;br /&gt;
&lt;br /&gt;
* Submit selected sample traces for CAN decoder change (for CRC segment) validation. With and without stuff bits in various places. With and without timing deviations. (Related: [https://sigrok.org/bugzilla/show_bug.cgi?id=1085 bug 1085], celeron55&amp;#039;s fix, &amp;#039;&amp;#039;&amp;#039;&amp;#039;&amp;#039;if len(self.bits) &amp;gt; self.last_databit + 16&amp;#039;&amp;#039;&amp;#039;&amp;#039;&amp;#039; → &amp;#039;&amp;#039;&amp;#039;&amp;#039;&amp;#039;if len(self.bits) &amp;gt; self.last_databit + 17&amp;#039;&amp;#039;&amp;#039;&amp;#039;&amp;#039; (16 → 17)).&lt;br /&gt;
&lt;br /&gt;
* Add support for the [[Tektronix TDS2000B series|TDS2000]] series in libsigrok, and thus, by extension, use by the new shiny stuff in PulveView.&lt;br /&gt;
&lt;br /&gt;
===On wiki===&lt;br /&gt;
&lt;br /&gt;
* Change recommended procedure for submitting sample Sigrok files (traces), on &amp;#039;&amp;#039;[[Example dumps#Contributing dumps|Example dumps]]&amp;#039;&amp;#039;.&lt;br /&gt;
&lt;br /&gt;
==Glossary==&lt;br /&gt;
&lt;br /&gt;
*&amp;#039;&amp;#039;BBB&amp;#039;&amp;#039; [https://en.wikipedia.org/wiki/BeagleBoard#BeagleBone_Black BeagleBone Black]&lt;br /&gt;
*&amp;#039;&amp;#039;GH&amp;#039;&amp;#039; [http://en.wikipedia.org/wiki/GitHub GitHub]&lt;br /&gt;
*&amp;#039;&amp;#039;ISTR&amp;#039;&amp;#039; ????&lt;br /&gt;
*&amp;#039;&amp;#039;LA&amp;#039;&amp;#039; Logic analyser&lt;br /&gt;
*&amp;#039;&amp;#039;ML&amp;#039;&amp;#039; Mailing list&lt;br /&gt;
*&amp;#039;&amp;#039;OLS&amp;#039;&amp;#039; ????&lt;br /&gt;
*&amp;#039;&amp;#039;PR&amp;#039;&amp;#039; Pull request (a Git term). &amp;#039;&amp;#039;Not&amp;#039;&amp;#039; &amp;quot;problem report&amp;quot;.&lt;br /&gt;
*&amp;#039;&amp;#039;SR&amp;#039;&amp;#039; Sigrok&lt;br /&gt;
*&amp;#039;&amp;#039;srd&amp;#039;&amp;#039; ????&lt;br /&gt;
*&amp;#039;&amp;#039;WIP&amp;#039;&amp;#039; Work in progress. Mostly related to particular Git commits.&lt;br /&gt;
*&amp;#039;&amp;#039;PD&amp;#039;&amp;#039; protocol decoder. Non-standard spellings are &amp;#039;&amp;#039;Pd&amp;#039;&amp;#039; and &amp;#039;&amp;#039;pd&amp;#039;&amp;#039;.&lt;br /&gt;
*&amp;#039;&amp;#039;PV&amp;#039;&amp;#039; PulseView. Non-standard spellings are &amp;#039;&amp;#039;Pv&amp;#039;&amp;#039; and &amp;#039;&amp;#039;pv&amp;#039;&amp;#039;.&lt;br /&gt;
&lt;br /&gt;
==Some bug reports==&lt;br /&gt;
&lt;br /&gt;
* [https://sigrok.org/bug/1155 Possible problem with the MSO-19 USB driver on Windows]. PulveView crashes at startup if the MSO-19 is connected.&lt;br /&gt;
&lt;br /&gt;
==Interests==&lt;br /&gt;
&lt;br /&gt;
I am mostly interested in:&lt;br /&gt;
&lt;br /&gt;
* The [[CAN|CAN protocol decoder]] (that page is currently empty, but it is listed on [[Protocol decoders|the protocol decoders page]])&lt;br /&gt;
* CAN bus loggers, like IXXAT&amp;#039;s (now acquired by HMS) &amp;#039;&amp;#039;USB-to-CAN compact&amp;#039;&amp;#039;/&amp;#039;&amp;#039;USB-to-CAN V2&amp;#039;&amp;#039; and Kvaser&amp;#039;s &amp;#039;&amp;#039;Memorator&amp;#039;&amp;#039;.&lt;br /&gt;
* The higher-level [http://en.wikipedia.org/wiki/CANopen CANopen] protocol (on top of CAN)&lt;br /&gt;
&lt;br /&gt;
==Protocol decoders==&lt;br /&gt;
&lt;br /&gt;
===Non-empty wiki pages===&lt;br /&gt;
&lt;br /&gt;
Currently (2017-07-08), 28 &lt;br /&gt;
of 77 [[Protocol_decoders#Supported protocol decoders|protocol decoders]] (36%) have non-empty pages here on the wiki:&lt;br /&gt;
&lt;br /&gt;
*[[Protocol decoder:Adns5020|ADNS5020]] &lt;br /&gt;
*[[Protocol decoder:Am230x|AM230X]]&lt;br /&gt;
*[[Protocol decoder:Arm etmv3|ARM ETMV3]]&lt;br /&gt;
*[[Protocol decoder:Arm itm|ARM ITM]]&lt;br /&gt;
*[[Protocol decoder:Arm tpiu|ARM TPIU]]&lt;br /&gt;
*[[Protocol decoder:Aud|AUD]]&lt;br /&gt;
*[[Protocol decoder:Avr pdi|AVR PDI]]&lt;br /&gt;
*[[Protocol decoder:Dcf77|DCF77]]&lt;br /&gt;
*[[Protocol decoder:I2c|I²C]]&lt;br /&gt;
*[[Protocol decoder:Ir nec|IR NEC]]&lt;br /&gt;
*[[Protocol decoder:Modbus|Modbus]]&lt;br /&gt;
*[[Protocol decoder:Mrf24j40|MRF24J40]]&lt;br /&gt;
*[[Protocol decoder:Nrf24l01|NRF24L01]]&lt;br /&gt;
*[[Protocol decoder:Nunchuk|Nunchuk]]&lt;br /&gt;
*[[Protocol decoder:Pan1321|PAN1321]]&lt;br /&gt;
*[[Protocol decoder:Parallel|Parallel]]&lt;br /&gt;
*[[Protocol decoder:Pwm|PWM]]&lt;br /&gt;
*[[Protocol decoder:Qi|Qi]]&lt;br /&gt;
*[[Protocol decoder:Rfm12|RFM12]]&lt;br /&gt;
*[[Protocol decoder:Rgb led spi|RGB LED SPI]]&lt;br /&gt;
*[[Protocol decoder:Rtc8564|RTC8564]]&lt;br /&gt;
*[[Protocol decoder:Spdif|SPDIF]]&lt;br /&gt;
*[[Protocol decoder:Spi|SPI]]&lt;br /&gt;
*[[Protocol decoder:Spiflash|SPI flash]]&lt;br /&gt;
*[[Protocol decoder:Stepper motor|Stepper motor]]&lt;br /&gt;
*[[Protocol decoder:Tlc5620|TLC5620]]&lt;br /&gt;
*[[Protocol decoder:Uart|UART]]&lt;br /&gt;
*[[Protocol decoder:Z80|Z80]]&lt;br /&gt;
&lt;br /&gt;
==Profile==&lt;br /&gt;
&lt;br /&gt;
Profile: see [http://en.wikipedia.org/wiki/User:Mortense my Wikipedia user page].&lt;br /&gt;
&lt;br /&gt;
Credentials: more than 5000 edits on the English Wikipedia.&lt;br /&gt;
&lt;br /&gt;
==Shortcuts==&lt;br /&gt;
&lt;br /&gt;
* [https://sigrok.org/doc/pulseview/0.4.1/manual.html PulseView manual]&lt;br /&gt;
* [[Sigrok-cli|sigrok-cli man page]]&lt;br /&gt;
* [https://plus.google.com/communities/109843678338531936878 Google+ group for sigrok] (now defunc as Google+ closed down)&lt;br /&gt;
* [[PulseView]]. Includes the command line to get the source code using Git.&lt;br /&gt;
* [[Downloads#Windows_Download|PulseView, Windows binaries]] (nightly - development). [[Windows#Windows_installers|Alternative location]] (but it seems redundant).&lt;br /&gt;
* [[Downloads#Linux_AppImage_binaries|PulseView, Linux binaries]] (nightly - development).&lt;br /&gt;
* [[Example dumps|Example data dumps]] - sample data in .sr format. Also includes instructions on how to contribute new ones. Includes the command line to get the whole thing using Git (as of 2017-11-26, 2286 &amp;quot;objects&amp;quot;, 724 .sr files, about 65&amp;amp;nbsp;MB in download size, 192&amp;amp;nbsp;MB on disk).&lt;br /&gt;
* [[Special:Random|Random page]]&lt;br /&gt;
* [https://sigrok.org/jenkins/job/sigrok-native-appimage/ Native app image] (not official yet). Is for Linux and x86 only. See also [https://en.wikipedia.org/wiki/AppImage AppImage] (Wikipedia).&lt;br /&gt;
* [[Press]]. List of annotated links, mostly blog posts.&lt;br /&gt;
* [[Probe comparison]]&lt;br /&gt;
* [[Link Instruments MSO-19|MSO-19]]. Mixed oscilloscope and logic analyser by Link Instruments that (or rather its driver) crashes PulveView at startup when connected (until some time in mid 2018(?)). Some reverse engineering has been done in 2012, but it is not supported (has status &amp;quot;Planned&amp;quot;). [https://sigrok.org/bugzilla/show_bug.cgi?id=1155 Sigrok bug report for the crash]. [http://www.linkinstruments.com/doupdate_mso19.htm Software download page for it.]&lt;br /&gt;
* [[Windows|sigrok, Microsoft Windows page]]&lt;br /&gt;
** [[Windows#Device specific USB driver|Device specific USB driver - WinUSB - Zadig]]&lt;br /&gt;
&lt;br /&gt;
===Protocol decoders===&lt;br /&gt;
&lt;br /&gt;
* The [[CAN|CAN bus protocol decoder]]&lt;br /&gt;
* [[Protocol decoder HOWTO]]&lt;br /&gt;
* [[Protocol decoder API]]&lt;br /&gt;
* [[Protocol decoders#Supported protocol decoders|Supported protocol decoders]]&lt;br /&gt;
&lt;br /&gt;
===Building sigrok===&lt;br /&gt;
&lt;br /&gt;
* On Debian (e.g. Raspberry Pi): [[Linux#Installing the requirements 2|Installing required software]]&lt;br /&gt;
* On Debian (e.g. Raspberry Pi): [[Linux#Building 3|Actual build]]&lt;br /&gt;
* Alternative to following the wiki pages: [https://sigrok.org/gitweb/?p=sigrok-util.git;a=blob;f=cross-compile/linux/sigrok-cross-linux;h=2c8e559efde8cf6ae9a365bf1a4324a33600fae7;hb=HEAD a script that will do most of it]. (&amp;#039;&amp;#039;[sigrok-util.git] / cross-compile / linux / sigrok-cross-linux&amp;#039;&amp;#039;)&lt;br /&gt;
* Windows:&lt;br /&gt;
**On Windows: [[Windows#Native_build_using_MSYS2|Native build using MSYS2]] (but may not really work - sigrok-cli and PulseView are listed as not working).&lt;br /&gt;
**[[Windows#Cross-compile_using_MXE|Cross compile on Linux]] (using [http://mxe.cc/ MXE]). The script is [https://sigrok.org/gitweb/?p=sigrok-util.git;a=blob;f=cross-compile/mingw/sigrok-cross-mingw;h=8330406ecd28969d8d29c8ad23df8968a4b9ec68;hb=HEAD /sigrok-util/cross-compile/mingw/sigrok-cross-mingw]. Used for nightlies? [https://sigrok.org/jenkins/job/sigrok-cross-mingw/buildtype=static,debugtype=debug,platform=cross-i686-w64-mingw32/ Jenkins page for the debug version].&lt;br /&gt;
* The Jenkins thingy - automatic build, e.g. nightlies for PulseView and &amp;quot;AppImage&amp;quot; (self-contained executable for x86 Linux). Sample: [https://sigrok.org/jenkins/job/sigrok-cli/ sigrok-cli] with 44 configurations (43 cross-compiles), e.g. cross-x86_64-w64-mingw32 (for Windows 64-bit?).&lt;br /&gt;
* The [[Building#Installing_to_a_non-standard_directory_using_LD_LIBRARY_PATH|LD_LIBRARY_PATH trick]]&lt;/div&gt;</summary>
		<author><name>PeterMortensen</name></author>
	</entry>
	<entry>
		<id>https://sigrok.org/w/index.php?title=User:PeterMortensen&amp;diff=14824</id>
		<title>User:PeterMortensen</title>
		<link rel="alternate" type="text/html" href="https://sigrok.org/w/index.php?title=User:PeterMortensen&amp;diff=14824"/>
		<updated>2020-01-12T13:59:38Z</updated>

		<summary type="html">&lt;p&gt;PeterMortensen: /* 2020-01 */ Added an idea, etc.&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;==Recent activity==&lt;br /&gt;
&lt;br /&gt;
===2020-01===&lt;br /&gt;
&lt;br /&gt;
Getting insight into what happens with PC keyboards on the signal level and on higher levels (related to repurposing an old PS/2 keyboard (BTC 5349) as a macro keyboard, with the help of an [https://store.arduino.cc/arduino-leonardo-with-headers Arduino Leonardo]):&lt;br /&gt;
&lt;br /&gt;
#For the keyboards listed below: Verify that all keys work (by capturing in PulseView and observe there is actually a signal. Note that the accent and umlaut key requires pressing a letter after).&lt;br /&gt;
#For the keyboards listed below: Capturing and submitting information for PS/2 PC keyboards (CLK and DATA), including during pressing and releasing  and bidirectional traffic (PC initialising the keyboard, e.g. at connect and/or PC startup). Submit to Git repository &amp;quot;[https://sigrok.org/gitweb/ sigrok-dumps]&amp;quot;: Keyboards (all European layout):&lt;br /&gt;
##BTC 5349 (102 keys IBM/AT type, corresponding to IBM Model M (Enhanced)). 100 mA (measured).&lt;br /&gt;
##Fujitsu/Siemens (102 keys + 10 media keys (sleep, mail, play, stop, speaker controls, etc.). IBM/AT type. ??? mA.&lt;br /&gt;
##Microsoft &amp;quot;Natural Keyboard Elite&amp;quot;. 500 mA  (nominal).&lt;br /&gt;
#Consider adding regression tests for the PS/2 decoder. It will include if it handles the 2-3% clock frequency offset for the BTC 5349 (probably, as there is CLK, but that is not the case if decoding as the UART protocol decoder).&lt;br /&gt;
#Some higher-level protocol decoder work for PC keyboards (not decided on yet), e.g. identifying scan code sequences as the corresponding keys.&lt;br /&gt;
#Some hardware to allow an Arduino Leonardo to pose as a PC ([https://en.wikipedia.org/wiki/Open_collector open collector] outputs). To explore what commands various keyboards responds to and what modes they might enter (for example, Linux allegedly tries put keyboards into &amp;quot;Set 3&amp;quot; (the powerup default is usually &amp;quot;Set 2&amp;quot;)). The three LEDs on the keyboard can also be used for user feedback for the macro keyboard.&lt;br /&gt;
#Existing content on the wiki, etc. regarding PC keyboards, etc.:&lt;br /&gt;
##Keyboards (none found, but are probably not supposed to exist, only actual capturing hardware(?)).&lt;br /&gt;
##[[Protocol_decoder:Ps2|PS/2 decoder page]]. Does not exist??&lt;br /&gt;
##&amp;#039;&amp;#039;&amp;quot;The decode of some PS/2 (or USB) keyboard/mouse traffic could yield an ASCII text file of all the keys that were pressed on the keyboard.&amp;quot;&amp;#039;&amp;#039; (on [[Protocol decoder output|a planning page]])&lt;br /&gt;
##Look in bug tracker for PS/2, keyboards, etc.&lt;br /&gt;
###Bug #1460 - [https://sigrok.org/gitweb/?p=libsigrokdecode.git;a=commitdiff;h=4370348c4fcdbd708715c35a38fdf06c9364d518 ps2: end data byte at rising clock edge of the stop bit]&lt;br /&gt;
##Look in Git log&lt;br /&gt;
### [https://sigrok.org/gitweb/?p=sigrok-dumps.git;a=commit;h=16931eb480ba5df923c1508f3d83719eddcc5ab3 PS/2 keyboard data submitted on 2019-12-21] (discovered on [https://sigrok.org/gitweb/?p=sigrok-dumps.git;a=log projects / sigrok-dumps.git / commit ])&lt;br /&gt;
##Look in IRC log&lt;br /&gt;
##Look in blog posts for info on PS/2, etc.&lt;br /&gt;
#Updating the wiki&lt;br /&gt;
##Add PS/2 low-level reference (details about the CLK signal) to the PS/2 protocol decoder page. IRC ref. [2020-01-07 01:49:07] and [2020-01-07 18:09:02] (UTC+1)). Add to the resources section. Is: http://www.nerdkits.com/videos/interrupts_and_ps2_keyboard/&lt;br /&gt;
##Add keyboard documentation, pictures (not decided on yet).&lt;br /&gt;
#Ideas:&lt;br /&gt;
##Deliberately send data to the keyboard with a parity error.&lt;br /&gt;
##Deliberately add noise to the signals (say, wide-band white noise by electronics means), forcing parity errors. This should force the receiver (keyboard or host PC) to respond.&lt;br /&gt;
##Send unknown commands to the keyboard. It should respond with 0xFE (in contrast to the normal 0xFA).&lt;br /&gt;
##Try all the keyboard commands in &amp;#039;&amp;#039;[https://www.win.tue.nl/~aeb/linux/kbd/scancodes-12.html Keyboard commands]&amp;#039;&amp;#039;.&lt;br /&gt;
##For a keyboard that is &amp;#039;&amp;#039;both&amp;#039;&amp;#039; capable of USB and PS/2: Record the startup sequence when connected via PS/2 to a PC host. To see if there is any indication on the signal level of such capability.&lt;br /&gt;
&lt;br /&gt;
Other:&lt;br /&gt;
&lt;br /&gt;
#Updating broken links here. For example, for the CAN protocol decoder.&lt;br /&gt;
&lt;br /&gt;
===2019-04===&lt;br /&gt;
&lt;br /&gt;
#Building a Docker container for compiling sigrok-cli and PulseView. It is supposed to both run under Linux and Windows (x64).&lt;br /&gt;
#Testing a new driver by user &amp;#039;&amp;#039;droghio&amp;#039;&amp;#039; that should work for the [[Tektronix TDS2024B|TDS2024C Tektronix  oscilloscope]]. Some placeholding:&lt;br /&gt;
#*Part of &amp;quot;lsusb -v&amp;quot; output: &amp;quot;Bus 008 Device 005: ID 0699:03a6 Tektronix, Inc.&amp;quot;&lt;br /&gt;
#*Notes to self: the &amp;#039;&amp;#039;&amp;quot;[git://sigrok.org/sigrok-util util]&amp;quot;&amp;#039;&amp;#039; repository (for building and stuff) - [https://github.com/sigrokproject/sigrok-util read-only mirror at GitHub]. [https://github.com/sigrokproject/sigrok-util/blob/master/cross-compile/linux/sigrok-cross-linux Cross-built script].&lt;br /&gt;
&lt;br /&gt;
===2018-04===&lt;br /&gt;
&lt;br /&gt;
Submitting comprehensive sample data for CAN bus, both 11-bit and 29-bit messages, and corresponding test cases (mostly for regression test - especially regression for [https://sigrok.org/bugzilla/show_bug.cgi?id=1085 the 2018-04-12 fix to the decoding at the end of the CRC part]).&lt;br /&gt;
&lt;br /&gt;
Notes to self:&lt;br /&gt;
&lt;br /&gt;
# Original acquired analog data: C:\temp2\2017-12-23\CAN decoder, new stuff bit handling at the end of the CRC segment\Data67\In\ACQ000009_Tektronix.txt&lt;br /&gt;
&lt;br /&gt;
===2017-12===&lt;br /&gt;
&lt;br /&gt;
Recording 22483 traces for the purpose of evaluating [https://sigrok.org/bugzilla/show_bug.cgi?id=1085 a proposed fix to the CAN protocol decoder] (actually only changing a single number from 16 to 17), stuff bit at the very end of the CRC segment, with a modified trigger scheme: &lt;br /&gt;
&lt;br /&gt;
* Change the position of the trigger point to the end (right) so there is always a CAN message in the trace (for the previous), but still 26&amp;amp;nbsp;µs recessive.&lt;br /&gt;
&lt;br /&gt;
The time division was 100&amp;amp;nbsp;µs / division (about 225 bit times max) to always record whole CAN messages - at 10 samples per bit time.&lt;br /&gt;
&lt;br /&gt;
===2017-07===&lt;br /&gt;
&lt;br /&gt;
Using the sigrok command-line (&amp;quot;sigrok-cli&amp;quot;) to bulk process data derived from Tektronix oscilloscope data of 250&amp;amp;nbsp;kbit/s CAN traffic on a real-world system (mobile cranes). The first sample data set is 5335 oscilloscope traces obtained with the trigger set to a negative pulse on CAN-H (to start off at the end of a CAN message) - corresponding to 6.5 recessive bits, 26&amp;amp;nbsp;µsec (detecting the space in-between CAN messages). Sometimes there is a CAN message right after this, sometimes it is a bit delayed, and sometimes it is completely empty.&lt;br /&gt;
&lt;br /&gt;
A sample command line (on Windows) is:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;sigrok-cli -P can:bitrate=250000:can_rx=&amp;quot;CAN RX&amp;quot; -P timing:data=&amp;quot;CAN RX&amp;quot; -I csv:header=true:samplerate=5000000 -i &amp;quot;T:\stdHMF\UserData\scripts\Tektronix2PulseView\_PulseView_AllChannels_ACQ000001_Tektronix_f5000000.txt&amp;quot;&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===2017-04===&lt;br /&gt;
&lt;br /&gt;
Using [[PulseView]] to decode data from a Tektronix oscilloscope of SPI communication to a CAN controller, [http://www.microchip.com/wwwproducts/Devices.aspx?dDocName=en010406 MCP2515].&lt;br /&gt;
&lt;br /&gt;
==Task list==&lt;br /&gt;
&lt;br /&gt;
Currently not in priority order.&lt;br /&gt;
&lt;br /&gt;
* Allow import of analog data through CSV files. (Related: fixed  [https://sigrok.org/bugzilla/show_bug.cgi?id=1064 bug 1064] - &amp;#039;&amp;#039;locale&amp;#039;&amp;#039; issue, decimal point, &amp;quot;,&amp;quot; vs. &amp;quot;.&amp;quot;.).&lt;br /&gt;
&lt;br /&gt;
* Add detection of error frames to the CAN protocol decoder&lt;br /&gt;
&lt;br /&gt;
* Add support for the gigga watt EEVBlog multimeter (Bluetooth, etc.)&lt;br /&gt;
&lt;br /&gt;
* Add a snap feature to the &amp;quot;cursor&amp;quot; (blue) in PulveView&lt;br /&gt;
&lt;br /&gt;
* Change number of significant digits for the time display in the &amp;quot;cursor&amp;quot; (blue) in PulveView&lt;br /&gt;
&lt;br /&gt;
* Submit selected sample traces for CAN decoder change (for CRC segment) validation. With and without stuff bits in various places. With and without timing deviations. (Related: [https://sigrok.org/bugzilla/show_bug.cgi?id=1085 bug 1085], celeron55&amp;#039;s fix, &amp;#039;&amp;#039;&amp;#039;&amp;#039;&amp;#039;if len(self.bits) &amp;gt; self.last_databit + 16&amp;#039;&amp;#039;&amp;#039;&amp;#039;&amp;#039; → &amp;#039;&amp;#039;&amp;#039;&amp;#039;&amp;#039;if len(self.bits) &amp;gt; self.last_databit + 17&amp;#039;&amp;#039;&amp;#039;&amp;#039;&amp;#039; (16 → 17)).&lt;br /&gt;
&lt;br /&gt;
* Add support for the [[Tektronix TDS2000B series|TDS2000]] series in libsigrok, and thus, by extension, use by the new shiny stuff in PulveView.&lt;br /&gt;
&lt;br /&gt;
===On wiki===&lt;br /&gt;
&lt;br /&gt;
* Change recommended procedure for submitting sample Sigrok files (traces), on &amp;#039;&amp;#039;[[Example dumps#Contributing dumps|Example dumps]]&amp;#039;&amp;#039;.&lt;br /&gt;
&lt;br /&gt;
==Glossary==&lt;br /&gt;
&lt;br /&gt;
*&amp;#039;&amp;#039;BBB&amp;#039;&amp;#039; [https://en.wikipedia.org/wiki/BeagleBoard#BeagleBone_Black BeagleBone Black]&lt;br /&gt;
*&amp;#039;&amp;#039;GH&amp;#039;&amp;#039; [http://en.wikipedia.org/wiki/GitHub GitHub]&lt;br /&gt;
*&amp;#039;&amp;#039;ISTR&amp;#039;&amp;#039; ????&lt;br /&gt;
*&amp;#039;&amp;#039;LA&amp;#039;&amp;#039; Logic analyser&lt;br /&gt;
*&amp;#039;&amp;#039;ML&amp;#039;&amp;#039; Mailing list&lt;br /&gt;
*&amp;#039;&amp;#039;OLS&amp;#039;&amp;#039; ????&lt;br /&gt;
*&amp;#039;&amp;#039;PR&amp;#039;&amp;#039; Pull request (a Git term). &amp;#039;&amp;#039;Not&amp;#039;&amp;#039; &amp;quot;problem report&amp;quot;.&lt;br /&gt;
*&amp;#039;&amp;#039;SR&amp;#039;&amp;#039; Sigrok&lt;br /&gt;
*&amp;#039;&amp;#039;srd&amp;#039;&amp;#039; ????&lt;br /&gt;
*&amp;#039;&amp;#039;WIP&amp;#039;&amp;#039; Work in progress. Mostly related to particular Git commits.&lt;br /&gt;
*&amp;#039;&amp;#039;PD&amp;#039;&amp;#039; protocol decoder. Non-standard spellings are &amp;#039;&amp;#039;Pd&amp;#039;&amp;#039; and &amp;#039;&amp;#039;pd&amp;#039;&amp;#039;.&lt;br /&gt;
*&amp;#039;&amp;#039;PV&amp;#039;&amp;#039; PulseView. Non-standard spellings are &amp;#039;&amp;#039;Pv&amp;#039;&amp;#039; and &amp;#039;&amp;#039;pv&amp;#039;&amp;#039;.&lt;br /&gt;
&lt;br /&gt;
==Some bug reports==&lt;br /&gt;
&lt;br /&gt;
* [https://sigrok.org/bug/1155 Possible problem with the MSO-19 USB driver on Windows]. PulveView crashes at startup if the MSO-19 is connected.&lt;br /&gt;
&lt;br /&gt;
==Interests==&lt;br /&gt;
&lt;br /&gt;
I am mostly interested in:&lt;br /&gt;
&lt;br /&gt;
* The [[CAN|CAN protocol decoder]] (that page is currently empty, but it is listed on [[Protocol decoders|the protocol decoders page]])&lt;br /&gt;
* CAN bus loggers, like IXXAT&amp;#039;s (now acquired by HMS) &amp;#039;&amp;#039;USB-to-CAN compact&amp;#039;&amp;#039;/&amp;#039;&amp;#039;USB-to-CAN V2&amp;#039;&amp;#039; and Kvaser&amp;#039;s &amp;#039;&amp;#039;Memorator&amp;#039;&amp;#039;.&lt;br /&gt;
* The higher-level [http://en.wikipedia.org/wiki/CANopen CANopen] protocol (on top of CAN)&lt;br /&gt;
&lt;br /&gt;
==Protocol decoders==&lt;br /&gt;
&lt;br /&gt;
===Non-empty wiki pages===&lt;br /&gt;
&lt;br /&gt;
Currently (2017-07-08), 28 &lt;br /&gt;
of 77 [[Protocol_decoders#Supported protocol decoders|protocol decoders]] (36%) have non-empty pages here on the wiki:&lt;br /&gt;
&lt;br /&gt;
*[[Protocol decoder:Adns5020|ADNS5020]] &lt;br /&gt;
*[[Protocol decoder:Am230x|AM230X]]&lt;br /&gt;
*[[Protocol decoder:Arm etmv3|ARM ETMV3]]&lt;br /&gt;
*[[Protocol decoder:Arm itm|ARM ITM]]&lt;br /&gt;
*[[Protocol decoder:Arm tpiu|ARM TPIU]]&lt;br /&gt;
*[[Protocol decoder:Aud|AUD]]&lt;br /&gt;
*[[Protocol decoder:Avr pdi|AVR PDI]]&lt;br /&gt;
*[[Protocol decoder:Dcf77|DCF77]]&lt;br /&gt;
*[[Protocol decoder:I2c|I²C]]&lt;br /&gt;
*[[Protocol decoder:Ir nec|IR NEC]]&lt;br /&gt;
*[[Protocol decoder:Modbus|Modbus]]&lt;br /&gt;
*[[Protocol decoder:Mrf24j40|MRF24J40]]&lt;br /&gt;
*[[Protocol decoder:Nrf24l01|NRF24L01]]&lt;br /&gt;
*[[Protocol decoder:Nunchuk|Nunchuk]]&lt;br /&gt;
*[[Protocol decoder:Pan1321|PAN1321]]&lt;br /&gt;
*[[Protocol decoder:Parallel|Parallel]]&lt;br /&gt;
*[[Protocol decoder:Pwm|PWM]]&lt;br /&gt;
*[[Protocol decoder:Qi|Qi]]&lt;br /&gt;
*[[Protocol decoder:Rfm12|RFM12]]&lt;br /&gt;
*[[Protocol decoder:Rgb led spi|RGB LED SPI]]&lt;br /&gt;
*[[Protocol decoder:Rtc8564|RTC8564]]&lt;br /&gt;
*[[Protocol decoder:Spdif|SPDIF]]&lt;br /&gt;
*[[Protocol decoder:Spi|SPI]]&lt;br /&gt;
*[[Protocol decoder:Spiflash|SPI flash]]&lt;br /&gt;
*[[Protocol decoder:Stepper motor|Stepper motor]]&lt;br /&gt;
*[[Protocol decoder:Tlc5620|TLC5620]]&lt;br /&gt;
*[[Protocol decoder:Uart|UART]]&lt;br /&gt;
*[[Protocol decoder:Z80|Z80]]&lt;br /&gt;
&lt;br /&gt;
==Profile==&lt;br /&gt;
&lt;br /&gt;
Profile: see [http://en.wikipedia.org/wiki/User:Mortense my Wikipedia user page].&lt;br /&gt;
&lt;br /&gt;
Credentials: more than 5000 edits on the English Wikipedia.&lt;br /&gt;
&lt;br /&gt;
==Shortcuts==&lt;br /&gt;
&lt;br /&gt;
* [https://sigrok.org/doc/pulseview/0.4.1/manual.html PulseView manual]&lt;br /&gt;
* [[Sigrok-cli|sigrok-cli man page]]&lt;br /&gt;
* [https://plus.google.com/communities/109843678338531936878 Google+ group for sigrok] (now defunc as Google+ closed down)&lt;br /&gt;
* [[PulseView]]. Includes the command line to get the source code using Git.&lt;br /&gt;
* [[Downloads#Windows_Download|PulseView, Windows binaries]] (nightly - development). [[Windows#Windows_installers|Alternative location]] (but it seems redundant).&lt;br /&gt;
* [[Downloads#Linux_AppImage_binaries|PulseView, Linux binaries]] (nightly - development).&lt;br /&gt;
* [[Example dumps|Example data dumps]] - sample data in .sr format. Also includes instructions on how to contribute new ones. Includes the command line to get the whole thing using Git (as of 2017-11-26, 2286 &amp;quot;objects&amp;quot;, 724 .sr files, about 65&amp;amp;nbsp;MB in download size, 192&amp;amp;nbsp;MB on disk).&lt;br /&gt;
* [[Special:Random|Random page]]&lt;br /&gt;
* [https://sigrok.org/jenkins/job/sigrok-native-appimage/ Native app image] (not official yet). Is for Linux and x86 only. See also [https://en.wikipedia.org/wiki/AppImage AppImage] (Wikipedia).&lt;br /&gt;
* [[Press]]. List of annotated links, mostly blog posts.&lt;br /&gt;
* [[Probe comparison]]&lt;br /&gt;
* [[Link Instruments MSO-19|MSO-19]]. Mixed oscilloscope and logic analyser by Link Instruments that (or rather its driver) crashes PulveView at startup when connected (until some time in mid 2018(?)). Some reverse engineering has been done in 2012, but it is not supported (has status &amp;quot;Planned&amp;quot;). [https://sigrok.org/bugzilla/show_bug.cgi?id=1155 Sigrok bug report for the crash]. [http://www.linkinstruments.com/doupdate_mso19.htm Software download page for it.]&lt;br /&gt;
* [[Windows|sigrok, Microsoft Windows page]]&lt;br /&gt;
** [[Windows#Device specific USB driver|Device specific USB driver - WinUSB - Zadig]]&lt;br /&gt;
&lt;br /&gt;
===Protocol decoders===&lt;br /&gt;
&lt;br /&gt;
* The [[CAN|CAN bus protocol decoder]]&lt;br /&gt;
* [[Protocol decoder HOWTO]]&lt;br /&gt;
* [[Protocol decoder API]]&lt;br /&gt;
* [[Protocol decoders#Supported protocol decoders|Supported protocol decoders]]&lt;br /&gt;
&lt;br /&gt;
===Building sigrok===&lt;br /&gt;
&lt;br /&gt;
* On Debian (e.g. Raspberry Pi): [[Linux#Installing the requirements 2|Installing required software]]&lt;br /&gt;
* On Debian (e.g. Raspberry Pi): [[Linux#Building 3|Actual build]]&lt;br /&gt;
* Alternative to following the wiki pages: [https://sigrok.org/gitweb/?p=sigrok-util.git;a=blob;f=cross-compile/linux/sigrok-cross-linux;h=2c8e559efde8cf6ae9a365bf1a4324a33600fae7;hb=HEAD a script that will do most of it]. (&amp;#039;&amp;#039;[sigrok-util.git] / cross-compile / linux / sigrok-cross-linux&amp;#039;&amp;#039;)&lt;br /&gt;
* Windows:&lt;br /&gt;
**On Windows: [[Windows#Native_build_using_MSYS2|Native build using MSYS2]] (but may not really work - sigrok-cli and PulseView are listed as not working).&lt;br /&gt;
**[[Windows#Cross-compile_using_MXE|Cross compile on Linux]] (using [http://mxe.cc/ MXE]). The script is [https://sigrok.org/gitweb/?p=sigrok-util.git;a=blob;f=cross-compile/mingw/sigrok-cross-mingw;h=8330406ecd28969d8d29c8ad23df8968a4b9ec68;hb=HEAD /sigrok-util/cross-compile/mingw/sigrok-cross-mingw]. Used for nightlies? [https://sigrok.org/jenkins/job/sigrok-cross-mingw/buildtype=static,debugtype=debug,platform=cross-i686-w64-mingw32/ Jenkins page for the debug version].&lt;br /&gt;
* The Jenkins thingy - automatic build, e.g. nightlies for PulseView and &amp;quot;AppImage&amp;quot; (self-contained executable for x86 Linux). Sample: [https://sigrok.org/jenkins/job/sigrok-cli/ sigrok-cli] with 44 configurations (43 cross-compiles), e.g. cross-x86_64-w64-mingw32 (for Windows 64-bit?).&lt;br /&gt;
* The [[Building#Installing_to_a_non-standard_directory_using_LD_LIBRARY_PATH|LD_LIBRARY_PATH trick]]&lt;/div&gt;</summary>
		<author><name>PeterMortensen</name></author>
	</entry>
	<entry>
		<id>https://sigrok.org/w/index.php?title=User:PeterMortensen&amp;diff=14823</id>
		<title>User:PeterMortensen</title>
		<link rel="alternate" type="text/html" href="https://sigrok.org/w/index.php?title=User:PeterMortensen&amp;diff=14823"/>
		<updated>2020-01-11T21:28:05Z</updated>

		<summary type="html">&lt;p&gt;PeterMortensen: /* 2020-01 */ PS/2 keyboard data was recently submitted.&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;==Recent activity==&lt;br /&gt;
&lt;br /&gt;
===2020-01===&lt;br /&gt;
&lt;br /&gt;
Getting insight into what happens with PC keyboards on the signal level and on higher levels (related to repurposing an old PS/2 keyboard (BTC 5349) as a macro keyboard, with the help of an [https://store.arduino.cc/arduino-leonardo-with-headers Arduino Leonardo]):&lt;br /&gt;
&lt;br /&gt;
#For the keyboards listed below: Verify that all keys work (by capturing in PulseView and observe there is actually a signal. Note that the accent and umlaut key requires pressing a letter after).&lt;br /&gt;
#For the keyboards listed below: Capturing and submitting information for PS/2 PC keyboards (CLK and DATA), including during pressing and releasing  and bidirectional traffic (PC initialising the keyboard, e.g. at connect and/or PC startup). Submit to Git repository &amp;quot;[https://sigrok.org/gitweb/ sigrok-dumps]&amp;quot;: Keyboards (all European layout):&lt;br /&gt;
##BTC 5349 (102 keys IBM/AT type, corresponding to IBM Model M (Enhanced)). 100 mA (measured).&lt;br /&gt;
##Fujitsu/Siemens (102 keys + 10 media keys (sleep, mail, play, stop, speaker controls, etc.). IBM/AT type. ??? mA.&lt;br /&gt;
##Microsoft &amp;quot;Natural Keyboard Elite&amp;quot;. 500 mA  (nominal).&lt;br /&gt;
#Consider adding regression tests for the PS/2 decoder. It will include if it handles the 2-3% clock frequency offset for the BTC 5349 (probably, as there is CLK, but that is not the case if decoding as the UART protocol decoder).&lt;br /&gt;
#Some higher-level protocol decoder work for PC keyboards (not decided on yet), e.g. identifying scan code sequences as the corresponding keys.&lt;br /&gt;
#Some hardware to allow an Arduino Leonardo to pose as a PC ([https://en.wikipedia.org/wiki/Open_collector open collector] outputs). To explore what commands various keyboards responds to and what modes they might enter (for example, Linux allegedly tries put keyboards into &amp;quot;Set 3&amp;quot; (the powerup default is usually &amp;quot;Set 2&amp;quot;)). The three LEDs on the keyboard can also be used for user feedback for the macro keyboard.&lt;br /&gt;
#Existing content on the wiki, etc. regarding PC keyboards, etc.:&lt;br /&gt;
##Keyboards (none found, but are probably not supposed to exist, only actual capturing hardware(?)).&lt;br /&gt;
##[[Protocol_decoder:Ps2|PS/2 decoder page]]. Does not exist??&lt;br /&gt;
##&amp;#039;&amp;#039;&amp;quot;The decode of some PS/2 (or USB) keyboard/mouse traffic could yield an ASCII text file of all the keys that were pressed on the keyboard.&amp;quot;&amp;#039;&amp;#039; (on [[Protocol decoder output|a planning page]])&lt;br /&gt;
##Look in bug tracker for PS/2, keyboards, etc.&lt;br /&gt;
*** Bug #1460 - [https://sigrok.org/gitweb/?p=libsigrokdecode.git;a=commitdiff;h=4370348c4fcdbd708715c35a38fdf06c9364d518 ps2: end data byte at rising clock edge of the stop bit]&lt;br /&gt;
##Look in Git log&lt;br /&gt;
### [https://sigrok.org/gitweb/?p=sigrok-dumps.git;a=commit;h=16931eb480ba5df923c1508f3d83719eddcc5ab3 PS/2 keyboard data submitted on 2019-12-21] (discovered on [https://sigrok.org/gitweb/?p=sigrok-dumps.git;a=log projects / sigrok-dumps.git / commit ])&lt;br /&gt;
##Look in IRC log&lt;br /&gt;
##Look in blog posts for info on PS/2, etc.&lt;br /&gt;
#Updating the wiki&lt;br /&gt;
##Add PS/2 low-level reference (details about the CLK signal) to the PS/2 protocol decoder page. IRC ref. [2020-01-07 01:49:07] and [2020-01-07 18:09:02] (UTC+1)). Add to the resources section. Is: http://www.nerdkits.com/videos/interrupts_and_ps2_keyboard/&lt;br /&gt;
##Add keyboard documentation, pictures (not decided on yet).&lt;br /&gt;
#Ideas:&lt;br /&gt;
##Deliberately send data to the keyboard with a parity error.&lt;br /&gt;
##Deliberately add noise to the signals (say, wide-band white noise by electronics means), forcing parity errors. This should force the receiver (keyboard or host PC) to respond.&lt;br /&gt;
##Send unknown commands to the keyboard. It should respond with 0xFE (in contrast to the normal 0xFA).&lt;br /&gt;
##Try all the keyboards commands in &amp;#039;&amp;#039;[https://www.win.tue.nl/~aeb/linux/kbd/scancodes-12.html Keyboard commands]&amp;#039;&amp;#039;.&lt;br /&gt;
&lt;br /&gt;
Other:&lt;br /&gt;
&lt;br /&gt;
#Updating broken links here. For example, for the CAN protocol decoder.&lt;br /&gt;
&lt;br /&gt;
===2019-04===&lt;br /&gt;
&lt;br /&gt;
#Building a Docker container for compiling sigrok-cli and PulseView. It is supposed to both run under Linux and Windows (x64).&lt;br /&gt;
#Testing a new driver by user &amp;#039;&amp;#039;droghio&amp;#039;&amp;#039; that should work for the [[Tektronix TDS2024B|TDS2024C Tektronix  oscilloscope]]. Some placeholding:&lt;br /&gt;
#*Part of &amp;quot;lsusb -v&amp;quot; output: &amp;quot;Bus 008 Device 005: ID 0699:03a6 Tektronix, Inc.&amp;quot;&lt;br /&gt;
#*Notes to self: the &amp;#039;&amp;#039;&amp;quot;[git://sigrok.org/sigrok-util util]&amp;quot;&amp;#039;&amp;#039; repository (for building and stuff) - [https://github.com/sigrokproject/sigrok-util read-only mirror at GitHub]. [https://github.com/sigrokproject/sigrok-util/blob/master/cross-compile/linux/sigrok-cross-linux Cross-built script].&lt;br /&gt;
&lt;br /&gt;
===2018-04===&lt;br /&gt;
&lt;br /&gt;
Submitting comprehensive sample data for CAN bus, both 11-bit and 29-bit messages, and corresponding test cases (mostly for regression test - especially regression for [https://sigrok.org/bugzilla/show_bug.cgi?id=1085 the 2018-04-12 fix to the decoding at the end of the CRC part]).&lt;br /&gt;
&lt;br /&gt;
Notes to self:&lt;br /&gt;
&lt;br /&gt;
# Original acquired analog data: C:\temp2\2017-12-23\CAN decoder, new stuff bit handling at the end of the CRC segment\Data67\In\ACQ000009_Tektronix.txt&lt;br /&gt;
&lt;br /&gt;
===2017-12===&lt;br /&gt;
&lt;br /&gt;
Recording 22483 traces for the purpose of evaluating [https://sigrok.org/bugzilla/show_bug.cgi?id=1085 a proposed fix to the CAN protocol decoder] (actually only changing a single number from 16 to 17), stuff bit at the very end of the CRC segment, with a modified trigger scheme: &lt;br /&gt;
&lt;br /&gt;
* Change the position of the trigger point to the end (right) so there is always a CAN message in the trace (for the previous), but still 26&amp;amp;nbsp;µs recessive.&lt;br /&gt;
&lt;br /&gt;
The time division was 100&amp;amp;nbsp;µs / division (about 225 bit times max) to always record whole CAN messages - at 10 samples per bit time.&lt;br /&gt;
&lt;br /&gt;
===2017-07===&lt;br /&gt;
&lt;br /&gt;
Using the sigrok command-line (&amp;quot;sigrok-cli&amp;quot;) to bulk process data derived from Tektronix oscilloscope data of 250&amp;amp;nbsp;kbit/s CAN traffic on a real-world system (mobile cranes). The first sample data set is 5335 oscilloscope traces obtained with the trigger set to a negative pulse on CAN-H (to start off at the end of a CAN message) - corresponding to 6.5 recessive bits, 26&amp;amp;nbsp;µsec (detecting the space in-between CAN messages). Sometimes there is a CAN message right after this, sometimes it is a bit delayed, and sometimes it is completely empty.&lt;br /&gt;
&lt;br /&gt;
A sample command line (on Windows) is:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;sigrok-cli -P can:bitrate=250000:can_rx=&amp;quot;CAN RX&amp;quot; -P timing:data=&amp;quot;CAN RX&amp;quot; -I csv:header=true:samplerate=5000000 -i &amp;quot;T:\stdHMF\UserData\scripts\Tektronix2PulseView\_PulseView_AllChannels_ACQ000001_Tektronix_f5000000.txt&amp;quot;&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===2017-04===&lt;br /&gt;
&lt;br /&gt;
Using [[PulseView]] to decode data from a Tektronix oscilloscope of SPI communication to a CAN controller, [http://www.microchip.com/wwwproducts/Devices.aspx?dDocName=en010406 MCP2515].&lt;br /&gt;
&lt;br /&gt;
==Task list==&lt;br /&gt;
&lt;br /&gt;
Currently not in priority order.&lt;br /&gt;
&lt;br /&gt;
* Allow import of analog data through CSV files. (Related: fixed  [https://sigrok.org/bugzilla/show_bug.cgi?id=1064 bug 1064] - &amp;#039;&amp;#039;locale&amp;#039;&amp;#039; issue, decimal point, &amp;quot;,&amp;quot; vs. &amp;quot;.&amp;quot;.).&lt;br /&gt;
&lt;br /&gt;
* Add detection of error frames to the CAN protocol decoder&lt;br /&gt;
&lt;br /&gt;
* Add support for the gigga watt EEVBlog multimeter (Bluetooth, etc.)&lt;br /&gt;
&lt;br /&gt;
* Add a snap feature to the &amp;quot;cursor&amp;quot; (blue) in PulveView&lt;br /&gt;
&lt;br /&gt;
* Change number of significant digits for the time display in the &amp;quot;cursor&amp;quot; (blue) in PulveView&lt;br /&gt;
&lt;br /&gt;
* Submit selected sample traces for CAN decoder change (for CRC segment) validation. With and without stuff bits in various places. With and without timing deviations. (Related: [https://sigrok.org/bugzilla/show_bug.cgi?id=1085 bug 1085], celeron55&amp;#039;s fix, &amp;#039;&amp;#039;&amp;#039;&amp;#039;&amp;#039;if len(self.bits) &amp;gt; self.last_databit + 16&amp;#039;&amp;#039;&amp;#039;&amp;#039;&amp;#039; → &amp;#039;&amp;#039;&amp;#039;&amp;#039;&amp;#039;if len(self.bits) &amp;gt; self.last_databit + 17&amp;#039;&amp;#039;&amp;#039;&amp;#039;&amp;#039; (16 → 17)).&lt;br /&gt;
&lt;br /&gt;
* Add support for the [[Tektronix TDS2000B series|TDS2000]] series in libsigrok, and thus, by extension, use by the new shiny stuff in PulveView.&lt;br /&gt;
&lt;br /&gt;
===On wiki===&lt;br /&gt;
&lt;br /&gt;
* Change recommended procedure for submitting sample Sigrok files (traces), on &amp;#039;&amp;#039;[[Example dumps#Contributing dumps|Example dumps]]&amp;#039;&amp;#039;.&lt;br /&gt;
&lt;br /&gt;
==Glossary==&lt;br /&gt;
&lt;br /&gt;
*&amp;#039;&amp;#039;BBB&amp;#039;&amp;#039; [https://en.wikipedia.org/wiki/BeagleBoard#BeagleBone_Black BeagleBone Black]&lt;br /&gt;
*&amp;#039;&amp;#039;GH&amp;#039;&amp;#039; [http://en.wikipedia.org/wiki/GitHub GitHub]&lt;br /&gt;
*&amp;#039;&amp;#039;ISTR&amp;#039;&amp;#039; ????&lt;br /&gt;
*&amp;#039;&amp;#039;LA&amp;#039;&amp;#039; Logic analyser&lt;br /&gt;
*&amp;#039;&amp;#039;ML&amp;#039;&amp;#039; Mailing list&lt;br /&gt;
*&amp;#039;&amp;#039;OLS&amp;#039;&amp;#039; ????&lt;br /&gt;
*&amp;#039;&amp;#039;PR&amp;#039;&amp;#039; Pull request (a Git term). &amp;#039;&amp;#039;Not&amp;#039;&amp;#039; &amp;quot;problem report&amp;quot;.&lt;br /&gt;
*&amp;#039;&amp;#039;SR&amp;#039;&amp;#039; Sigrok&lt;br /&gt;
*&amp;#039;&amp;#039;srd&amp;#039;&amp;#039; ????&lt;br /&gt;
*&amp;#039;&amp;#039;WIP&amp;#039;&amp;#039; Work in progress. Mostly related to particular Git commits.&lt;br /&gt;
*&amp;#039;&amp;#039;PD&amp;#039;&amp;#039; protocol decoder. Non-standard spellings are &amp;#039;&amp;#039;Pd&amp;#039;&amp;#039; and &amp;#039;&amp;#039;pd&amp;#039;&amp;#039;.&lt;br /&gt;
*&amp;#039;&amp;#039;PV&amp;#039;&amp;#039; PulseView. Non-standard spellings are &amp;#039;&amp;#039;Pv&amp;#039;&amp;#039; and &amp;#039;&amp;#039;pv&amp;#039;&amp;#039;.&lt;br /&gt;
&lt;br /&gt;
==Some bug reports==&lt;br /&gt;
&lt;br /&gt;
* [https://sigrok.org/bug/1155 Possible problem with the MSO-19 USB driver on Windows]. PulveView crashes at startup if the MSO-19 is connected.&lt;br /&gt;
&lt;br /&gt;
==Interests==&lt;br /&gt;
&lt;br /&gt;
I am mostly interested in:&lt;br /&gt;
&lt;br /&gt;
* The [[CAN|CAN protocol decoder]] (that page is currently empty, but it is listed on [[Protocol decoders|the protocol decoders page]])&lt;br /&gt;
* CAN bus loggers, like IXXAT&amp;#039;s (now acquired by HMS) &amp;#039;&amp;#039;USB-to-CAN compact&amp;#039;&amp;#039;/&amp;#039;&amp;#039;USB-to-CAN V2&amp;#039;&amp;#039; and Kvaser&amp;#039;s &amp;#039;&amp;#039;Memorator&amp;#039;&amp;#039;.&lt;br /&gt;
* The higher-level [http://en.wikipedia.org/wiki/CANopen CANopen] protocol (on top of CAN)&lt;br /&gt;
&lt;br /&gt;
==Protocol decoders==&lt;br /&gt;
&lt;br /&gt;
===Non-empty wiki pages===&lt;br /&gt;
&lt;br /&gt;
Currently (2017-07-08), 28 &lt;br /&gt;
of 77 [[Protocol_decoders#Supported protocol decoders|protocol decoders]] (36%) have non-empty pages here on the wiki:&lt;br /&gt;
&lt;br /&gt;
*[[Protocol decoder:Adns5020|ADNS5020]] &lt;br /&gt;
*[[Protocol decoder:Am230x|AM230X]]&lt;br /&gt;
*[[Protocol decoder:Arm etmv3|ARM ETMV3]]&lt;br /&gt;
*[[Protocol decoder:Arm itm|ARM ITM]]&lt;br /&gt;
*[[Protocol decoder:Arm tpiu|ARM TPIU]]&lt;br /&gt;
*[[Protocol decoder:Aud|AUD]]&lt;br /&gt;
*[[Protocol decoder:Avr pdi|AVR PDI]]&lt;br /&gt;
*[[Protocol decoder:Dcf77|DCF77]]&lt;br /&gt;
*[[Protocol decoder:I2c|I²C]]&lt;br /&gt;
*[[Protocol decoder:Ir nec|IR NEC]]&lt;br /&gt;
*[[Protocol decoder:Modbus|Modbus]]&lt;br /&gt;
*[[Protocol decoder:Mrf24j40|MRF24J40]]&lt;br /&gt;
*[[Protocol decoder:Nrf24l01|NRF24L01]]&lt;br /&gt;
*[[Protocol decoder:Nunchuk|Nunchuk]]&lt;br /&gt;
*[[Protocol decoder:Pan1321|PAN1321]]&lt;br /&gt;
*[[Protocol decoder:Parallel|Parallel]]&lt;br /&gt;
*[[Protocol decoder:Pwm|PWM]]&lt;br /&gt;
*[[Protocol decoder:Qi|Qi]]&lt;br /&gt;
*[[Protocol decoder:Rfm12|RFM12]]&lt;br /&gt;
*[[Protocol decoder:Rgb led spi|RGB LED SPI]]&lt;br /&gt;
*[[Protocol decoder:Rtc8564|RTC8564]]&lt;br /&gt;
*[[Protocol decoder:Spdif|SPDIF]]&lt;br /&gt;
*[[Protocol decoder:Spi|SPI]]&lt;br /&gt;
*[[Protocol decoder:Spiflash|SPI flash]]&lt;br /&gt;
*[[Protocol decoder:Stepper motor|Stepper motor]]&lt;br /&gt;
*[[Protocol decoder:Tlc5620|TLC5620]]&lt;br /&gt;
*[[Protocol decoder:Uart|UART]]&lt;br /&gt;
*[[Protocol decoder:Z80|Z80]]&lt;br /&gt;
&lt;br /&gt;
==Profile==&lt;br /&gt;
&lt;br /&gt;
Profile: see [http://en.wikipedia.org/wiki/User:Mortense my Wikipedia user page].&lt;br /&gt;
&lt;br /&gt;
Credentials: more than 5000 edits on the English Wikipedia.&lt;br /&gt;
&lt;br /&gt;
==Shortcuts==&lt;br /&gt;
&lt;br /&gt;
* [https://sigrok.org/doc/pulseview/0.4.1/manual.html PulseView manual]&lt;br /&gt;
* [[Sigrok-cli|sigrok-cli man page]]&lt;br /&gt;
* [https://plus.google.com/communities/109843678338531936878 Google+ group for sigrok] (now defunc as Google+ closed down)&lt;br /&gt;
* [[PulseView]]. Includes the command line to get the source code using Git.&lt;br /&gt;
* [[Downloads#Windows_Download|PulseView, Windows binaries]] (nightly - development). [[Windows#Windows_installers|Alternative location]] (but it seems redundant).&lt;br /&gt;
* [[Downloads#Linux_AppImage_binaries|PulseView, Linux binaries]] (nightly - development).&lt;br /&gt;
* [[Example dumps|Example data dumps]] - sample data in .sr format. Also includes instructions on how to contribute new ones. Includes the command line to get the whole thing using Git (as of 2017-11-26, 2286 &amp;quot;objects&amp;quot;, 724 .sr files, about 65&amp;amp;nbsp;MB in download size, 192&amp;amp;nbsp;MB on disk).&lt;br /&gt;
* [[Special:Random|Random page]]&lt;br /&gt;
* [https://sigrok.org/jenkins/job/sigrok-native-appimage/ Native app image] (not official yet). Is for Linux and x86 only. See also [https://en.wikipedia.org/wiki/AppImage AppImage] (Wikipedia).&lt;br /&gt;
* [[Press]]. List of annotated links, mostly blog posts.&lt;br /&gt;
* [[Probe comparison]]&lt;br /&gt;
* [[Link Instruments MSO-19|MSO-19]]. Mixed oscilloscope and logic analyser by Link Instruments that (or rather its driver) crashes PulveView at startup when connected (until some time in mid 2018(?)). Some reverse engineering has been done in 2012, but it is not supported (has status &amp;quot;Planned&amp;quot;). [https://sigrok.org/bugzilla/show_bug.cgi?id=1155 Sigrok bug report for the crash]. [http://www.linkinstruments.com/doupdate_mso19.htm Software download page for it.]&lt;br /&gt;
* [[Windows|sigrok, Microsoft Windows page]]&lt;br /&gt;
** [[Windows#Device specific USB driver|Device specific USB driver - WinUSB - Zadig]]&lt;br /&gt;
&lt;br /&gt;
===Protocol decoders===&lt;br /&gt;
&lt;br /&gt;
* The [[CAN|CAN bus protocol decoder]]&lt;br /&gt;
* [[Protocol decoder HOWTO]]&lt;br /&gt;
* [[Protocol decoder API]]&lt;br /&gt;
* [[Protocol decoders#Supported protocol decoders|Supported protocol decoders]]&lt;br /&gt;
&lt;br /&gt;
===Building sigrok===&lt;br /&gt;
&lt;br /&gt;
* On Debian (e.g. Raspberry Pi): [[Linux#Installing the requirements 2|Installing required software]]&lt;br /&gt;
* On Debian (e.g. Raspberry Pi): [[Linux#Building 3|Actual build]]&lt;br /&gt;
* Alternative to following the wiki pages: [https://sigrok.org/gitweb/?p=sigrok-util.git;a=blob;f=cross-compile/linux/sigrok-cross-linux;h=2c8e559efde8cf6ae9a365bf1a4324a33600fae7;hb=HEAD a script that will do most of it]. (&amp;#039;&amp;#039;[sigrok-util.git] / cross-compile / linux / sigrok-cross-linux&amp;#039;&amp;#039;)&lt;br /&gt;
* Windows:&lt;br /&gt;
**On Windows: [[Windows#Native_build_using_MSYS2|Native build using MSYS2]] (but may not really work - sigrok-cli and PulseView are listed as not working).&lt;br /&gt;
**[[Windows#Cross-compile_using_MXE|Cross compile on Linux]] (using [http://mxe.cc/ MXE]). The script is [https://sigrok.org/gitweb/?p=sigrok-util.git;a=blob;f=cross-compile/mingw/sigrok-cross-mingw;h=8330406ecd28969d8d29c8ad23df8968a4b9ec68;hb=HEAD /sigrok-util/cross-compile/mingw/sigrok-cross-mingw]. Used for nightlies? [https://sigrok.org/jenkins/job/sigrok-cross-mingw/buildtype=static,debugtype=debug,platform=cross-i686-w64-mingw32/ Jenkins page for the debug version].&lt;br /&gt;
* The Jenkins thingy - automatic build, e.g. nightlies for PulseView and &amp;quot;AppImage&amp;quot; (self-contained executable for x86 Linux). Sample: [https://sigrok.org/jenkins/job/sigrok-cli/ sigrok-cli] with 44 configurations (43 cross-compiles), e.g. cross-x86_64-w64-mingw32 (for Windows 64-bit?).&lt;br /&gt;
* The [[Building#Installing_to_a_non-standard_directory_using_LD_LIBRARY_PATH|LD_LIBRARY_PATH trick]]&lt;/div&gt;</summary>
		<author><name>PeterMortensen</name></author>
	</entry>
	<entry>
		<id>https://sigrok.org/w/index.php?title=User:PeterMortensen&amp;diff=14822</id>
		<title>User:PeterMortensen</title>
		<link rel="alternate" type="text/html" href="https://sigrok.org/w/index.php?title=User:PeterMortensen&amp;diff=14822"/>
		<updated>2020-01-11T21:08:31Z</updated>

		<summary type="html">&lt;p&gt;PeterMortensen: /* 2020-01 */ Collected more information, etc. (but problems with the formatting - unordered list as an item inside an ordered list - to be fixed later).&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;==Recent activity==&lt;br /&gt;
&lt;br /&gt;
===2020-01===&lt;br /&gt;
&lt;br /&gt;
Getting insight into what happens with PC keyboards on the signal level and on higher levels (related to repurposing an old PS/2 keyboard (BTC 5349) as a macro keyboard, with the help of an [https://store.arduino.cc/arduino-leonardo-with-headers Arduino Leonardo]):&lt;br /&gt;
&lt;br /&gt;
#For the keyboards listed below: Verify that all keys work (by capturing in PulseView and observe there is actually a signal. Note that the accent and umlaut key requires pressing a letter after).&lt;br /&gt;
#For the keyboards listed below: Capturing and submitting information for PS/2 PC keyboards (CLK and DATA), including during pressing and releasing  and bidirectional traffic (PC initialising the keyboard, e.g. at connect and/or PC startup). Submit to Git repository &amp;quot;[https://sigrok.org/gitweb/ sigrok-dumps]&amp;quot;: Keyboards (all European layout):&lt;br /&gt;
##BTC 5349 (102 keys IBM/AT type, corresponding to IBM Model M (Enhanced)). 100 mA (measured).&lt;br /&gt;
##Fujitsu/Siemens (102 keys + 10 media keys (sleep, mail, play, stop, speaker controls, etc.). IBM/AT type. ??? mA.&lt;br /&gt;
##Microsoft &amp;quot;Natural Keyboard Elite&amp;quot;. 500 mA  (nominal).&lt;br /&gt;
#Consider adding regression tests for the PS/2 decoder. It will include if it handles the 2-3% clock frequency offset for the BTC 5349 (probably, as there is CLK, but that is not the case if decoding as the UART protocol decoder).&lt;br /&gt;
#Some higher-level protocol decoder work for PC keyboards (not decided on yet), e.g. identifying scan code sequences as the corresponding keys.&lt;br /&gt;
#Some hardware to allow an Arduino Leonardo to pose as a PC ([https://en.wikipedia.org/wiki/Open_collector open collector] outputs). To explore what commands various keyboards responds to and what modes they might enter (for example, Linux allegedly tries put keyboards into &amp;quot;Set 3&amp;quot; (the powerup default is usually &amp;quot;Set 2&amp;quot;)). The three LEDs on the keyboard can also be used for user feedback for the macro keyboard.&lt;br /&gt;
#Existing content on the wiki, etc. regarding PC keyboards, etc.:&lt;br /&gt;
##Keyboards (none found, but are probably not supposed to exist, only actual capturing hardware(?)).&lt;br /&gt;
##[[Protocol_decoder:Ps2|PS/2 decoder page]]. Does not exist??&lt;br /&gt;
##&amp;#039;&amp;#039;&amp;quot;The decode of some PS/2 (or USB) keyboard/mouse traffic could yield an ASCII text file of all the keys that were pressed on the keyboard.&amp;quot;&amp;#039;&amp;#039; (on [[Protocol decoder output|a planning page]])&lt;br /&gt;
##Look in bug tracker for PS/2, keyboards, etc.&lt;br /&gt;
*** Bug #1460 - [https://sigrok.org/gitweb/?p=libsigrokdecode.git;a=commitdiff;h=4370348c4fcdbd708715c35a38fdf06c9364d518 ps2: end data byte at rising clock edge of the stop bit]&lt;br /&gt;
##Look in Git log&lt;br /&gt;
##Look in IRC log&lt;br /&gt;
##Look in blog posts for info on PS/2, etc.&lt;br /&gt;
#Updating the wiki&lt;br /&gt;
##Add PS/2 low-level reference (details about the CLK signal) to the PS/2 protocol decoder page. IRC ref. [2020-01-07 01:49:07] and [2020-01-07 18:09:02] (UTC+1)). Add to the resources section. Is: http://www.nerdkits.com/videos/interrupts_and_ps2_keyboard/&lt;br /&gt;
##Add keyboard documentation, pictures (not decided on yet).&lt;br /&gt;
#Ideas:&lt;br /&gt;
##Deliberately send data to the keyboard with a parity error.&lt;br /&gt;
##Deliberately add noise to the signals (say, wide-band white noise by electronics means), forcing parity errors. This should force the receiver (keyboard or host PC) to respond.&lt;br /&gt;
##Send unknown commands to the keyboard. It should respond with 0xFE (in contrast to the normal 0xFA).&lt;br /&gt;
##Try all the keyboards commands in &amp;#039;&amp;#039;[https://www.win.tue.nl/~aeb/linux/kbd/scancodes-12.html Keyboard commands]&amp;#039;&amp;#039;.&lt;br /&gt;
&lt;br /&gt;
Other:&lt;br /&gt;
&lt;br /&gt;
#Updating broken links here. For example, for the CAN protocol decoder.&lt;br /&gt;
&lt;br /&gt;
===2019-04===&lt;br /&gt;
&lt;br /&gt;
#Building a Docker container for compiling sigrok-cli and PulseView. It is supposed to both run under Linux and Windows (x64).&lt;br /&gt;
#Testing a new driver by user &amp;#039;&amp;#039;droghio&amp;#039;&amp;#039; that should work for the [[Tektronix TDS2024B|TDS2024C Tektronix  oscilloscope]]. Some placeholding:&lt;br /&gt;
#*Part of &amp;quot;lsusb -v&amp;quot; output: &amp;quot;Bus 008 Device 005: ID 0699:03a6 Tektronix, Inc.&amp;quot;&lt;br /&gt;
#*Notes to self: the &amp;#039;&amp;#039;&amp;quot;[git://sigrok.org/sigrok-util util]&amp;quot;&amp;#039;&amp;#039; repository (for building and stuff) - [https://github.com/sigrokproject/sigrok-util read-only mirror at GitHub]. [https://github.com/sigrokproject/sigrok-util/blob/master/cross-compile/linux/sigrok-cross-linux Cross-built script].&lt;br /&gt;
&lt;br /&gt;
===2018-04===&lt;br /&gt;
&lt;br /&gt;
Submitting comprehensive sample data for CAN bus, both 11-bit and 29-bit messages, and corresponding test cases (mostly for regression test - especially regression for [https://sigrok.org/bugzilla/show_bug.cgi?id=1085 the 2018-04-12 fix to the decoding at the end of the CRC part]).&lt;br /&gt;
&lt;br /&gt;
Notes to self:&lt;br /&gt;
&lt;br /&gt;
# Original acquired analog data: C:\temp2\2017-12-23\CAN decoder, new stuff bit handling at the end of the CRC segment\Data67\In\ACQ000009_Tektronix.txt&lt;br /&gt;
&lt;br /&gt;
===2017-12===&lt;br /&gt;
&lt;br /&gt;
Recording 22483 traces for the purpose of evaluating [https://sigrok.org/bugzilla/show_bug.cgi?id=1085 a proposed fix to the CAN protocol decoder] (actually only changing a single number from 16 to 17), stuff bit at the very end of the CRC segment, with a modified trigger scheme: &lt;br /&gt;
&lt;br /&gt;
* Change the position of the trigger point to the end (right) so there is always a CAN message in the trace (for the previous), but still 26&amp;amp;nbsp;µs recessive.&lt;br /&gt;
&lt;br /&gt;
The time division was 100&amp;amp;nbsp;µs / division (about 225 bit times max) to always record whole CAN messages - at 10 samples per bit time.&lt;br /&gt;
&lt;br /&gt;
===2017-07===&lt;br /&gt;
&lt;br /&gt;
Using the sigrok command-line (&amp;quot;sigrok-cli&amp;quot;) to bulk process data derived from Tektronix oscilloscope data of 250&amp;amp;nbsp;kbit/s CAN traffic on a real-world system (mobile cranes). The first sample data set is 5335 oscilloscope traces obtained with the trigger set to a negative pulse on CAN-H (to start off at the end of a CAN message) - corresponding to 6.5 recessive bits, 26&amp;amp;nbsp;µsec (detecting the space in-between CAN messages). Sometimes there is a CAN message right after this, sometimes it is a bit delayed, and sometimes it is completely empty.&lt;br /&gt;
&lt;br /&gt;
A sample command line (on Windows) is:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;sigrok-cli -P can:bitrate=250000:can_rx=&amp;quot;CAN RX&amp;quot; -P timing:data=&amp;quot;CAN RX&amp;quot; -I csv:header=true:samplerate=5000000 -i &amp;quot;T:\stdHMF\UserData\scripts\Tektronix2PulseView\_PulseView_AllChannels_ACQ000001_Tektronix_f5000000.txt&amp;quot;&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===2017-04===&lt;br /&gt;
&lt;br /&gt;
Using [[PulseView]] to decode data from a Tektronix oscilloscope of SPI communication to a CAN controller, [http://www.microchip.com/wwwproducts/Devices.aspx?dDocName=en010406 MCP2515].&lt;br /&gt;
&lt;br /&gt;
==Task list==&lt;br /&gt;
&lt;br /&gt;
Currently not in priority order.&lt;br /&gt;
&lt;br /&gt;
* Allow import of analog data through CSV files. (Related: fixed  [https://sigrok.org/bugzilla/show_bug.cgi?id=1064 bug 1064] - &amp;#039;&amp;#039;locale&amp;#039;&amp;#039; issue, decimal point, &amp;quot;,&amp;quot; vs. &amp;quot;.&amp;quot;.).&lt;br /&gt;
&lt;br /&gt;
* Add detection of error frames to the CAN protocol decoder&lt;br /&gt;
&lt;br /&gt;
* Add support for the gigga watt EEVBlog multimeter (Bluetooth, etc.)&lt;br /&gt;
&lt;br /&gt;
* Add a snap feature to the &amp;quot;cursor&amp;quot; (blue) in PulveView&lt;br /&gt;
&lt;br /&gt;
* Change number of significant digits for the time display in the &amp;quot;cursor&amp;quot; (blue) in PulveView&lt;br /&gt;
&lt;br /&gt;
* Submit selected sample traces for CAN decoder change (for CRC segment) validation. With and without stuff bits in various places. With and without timing deviations. (Related: [https://sigrok.org/bugzilla/show_bug.cgi?id=1085 bug 1085], celeron55&amp;#039;s fix, &amp;#039;&amp;#039;&amp;#039;&amp;#039;&amp;#039;if len(self.bits) &amp;gt; self.last_databit + 16&amp;#039;&amp;#039;&amp;#039;&amp;#039;&amp;#039; → &amp;#039;&amp;#039;&amp;#039;&amp;#039;&amp;#039;if len(self.bits) &amp;gt; self.last_databit + 17&amp;#039;&amp;#039;&amp;#039;&amp;#039;&amp;#039; (16 → 17)).&lt;br /&gt;
&lt;br /&gt;
* Add support for the [[Tektronix TDS2000B series|TDS2000]] series in libsigrok, and thus, by extension, use by the new shiny stuff in PulveView.&lt;br /&gt;
&lt;br /&gt;
===On wiki===&lt;br /&gt;
&lt;br /&gt;
* Change recommended procedure for submitting sample Sigrok files (traces), on &amp;#039;&amp;#039;[[Example dumps#Contributing dumps|Example dumps]]&amp;#039;&amp;#039;.&lt;br /&gt;
&lt;br /&gt;
==Glossary==&lt;br /&gt;
&lt;br /&gt;
*&amp;#039;&amp;#039;BBB&amp;#039;&amp;#039; [https://en.wikipedia.org/wiki/BeagleBoard#BeagleBone_Black BeagleBone Black]&lt;br /&gt;
*&amp;#039;&amp;#039;GH&amp;#039;&amp;#039; [http://en.wikipedia.org/wiki/GitHub GitHub]&lt;br /&gt;
*&amp;#039;&amp;#039;ISTR&amp;#039;&amp;#039; ????&lt;br /&gt;
*&amp;#039;&amp;#039;LA&amp;#039;&amp;#039; Logic analyser&lt;br /&gt;
*&amp;#039;&amp;#039;ML&amp;#039;&amp;#039; Mailing list&lt;br /&gt;
*&amp;#039;&amp;#039;OLS&amp;#039;&amp;#039; ????&lt;br /&gt;
*&amp;#039;&amp;#039;PR&amp;#039;&amp;#039; Pull request (a Git term). &amp;#039;&amp;#039;Not&amp;#039;&amp;#039; &amp;quot;problem report&amp;quot;.&lt;br /&gt;
*&amp;#039;&amp;#039;SR&amp;#039;&amp;#039; Sigrok&lt;br /&gt;
*&amp;#039;&amp;#039;srd&amp;#039;&amp;#039; ????&lt;br /&gt;
*&amp;#039;&amp;#039;WIP&amp;#039;&amp;#039; Work in progress. Mostly related to particular Git commits.&lt;br /&gt;
*&amp;#039;&amp;#039;PD&amp;#039;&amp;#039; protocol decoder. Non-standard spellings are &amp;#039;&amp;#039;Pd&amp;#039;&amp;#039; and &amp;#039;&amp;#039;pd&amp;#039;&amp;#039;.&lt;br /&gt;
*&amp;#039;&amp;#039;PV&amp;#039;&amp;#039; PulseView. Non-standard spellings are &amp;#039;&amp;#039;Pv&amp;#039;&amp;#039; and &amp;#039;&amp;#039;pv&amp;#039;&amp;#039;.&lt;br /&gt;
&lt;br /&gt;
==Some bug reports==&lt;br /&gt;
&lt;br /&gt;
* [https://sigrok.org/bug/1155 Possible problem with the MSO-19 USB driver on Windows]. PulveView crashes at startup if the MSO-19 is connected.&lt;br /&gt;
&lt;br /&gt;
==Interests==&lt;br /&gt;
&lt;br /&gt;
I am mostly interested in:&lt;br /&gt;
&lt;br /&gt;
* The [[CAN|CAN protocol decoder]] (that page is currently empty, but it is listed on [[Protocol decoders|the protocol decoders page]])&lt;br /&gt;
* CAN bus loggers, like IXXAT&amp;#039;s (now acquired by HMS) &amp;#039;&amp;#039;USB-to-CAN compact&amp;#039;&amp;#039;/&amp;#039;&amp;#039;USB-to-CAN V2&amp;#039;&amp;#039; and Kvaser&amp;#039;s &amp;#039;&amp;#039;Memorator&amp;#039;&amp;#039;.&lt;br /&gt;
* The higher-level [http://en.wikipedia.org/wiki/CANopen CANopen] protocol (on top of CAN)&lt;br /&gt;
&lt;br /&gt;
==Protocol decoders==&lt;br /&gt;
&lt;br /&gt;
===Non-empty wiki pages===&lt;br /&gt;
&lt;br /&gt;
Currently (2017-07-08), 28 &lt;br /&gt;
of 77 [[Protocol_decoders#Supported protocol decoders|protocol decoders]] (36%) have non-empty pages here on the wiki:&lt;br /&gt;
&lt;br /&gt;
*[[Protocol decoder:Adns5020|ADNS5020]] &lt;br /&gt;
*[[Protocol decoder:Am230x|AM230X]]&lt;br /&gt;
*[[Protocol decoder:Arm etmv3|ARM ETMV3]]&lt;br /&gt;
*[[Protocol decoder:Arm itm|ARM ITM]]&lt;br /&gt;
*[[Protocol decoder:Arm tpiu|ARM TPIU]]&lt;br /&gt;
*[[Protocol decoder:Aud|AUD]]&lt;br /&gt;
*[[Protocol decoder:Avr pdi|AVR PDI]]&lt;br /&gt;
*[[Protocol decoder:Dcf77|DCF77]]&lt;br /&gt;
*[[Protocol decoder:I2c|I²C]]&lt;br /&gt;
*[[Protocol decoder:Ir nec|IR NEC]]&lt;br /&gt;
*[[Protocol decoder:Modbus|Modbus]]&lt;br /&gt;
*[[Protocol decoder:Mrf24j40|MRF24J40]]&lt;br /&gt;
*[[Protocol decoder:Nrf24l01|NRF24L01]]&lt;br /&gt;
*[[Protocol decoder:Nunchuk|Nunchuk]]&lt;br /&gt;
*[[Protocol decoder:Pan1321|PAN1321]]&lt;br /&gt;
*[[Protocol decoder:Parallel|Parallel]]&lt;br /&gt;
*[[Protocol decoder:Pwm|PWM]]&lt;br /&gt;
*[[Protocol decoder:Qi|Qi]]&lt;br /&gt;
*[[Protocol decoder:Rfm12|RFM12]]&lt;br /&gt;
*[[Protocol decoder:Rgb led spi|RGB LED SPI]]&lt;br /&gt;
*[[Protocol decoder:Rtc8564|RTC8564]]&lt;br /&gt;
*[[Protocol decoder:Spdif|SPDIF]]&lt;br /&gt;
*[[Protocol decoder:Spi|SPI]]&lt;br /&gt;
*[[Protocol decoder:Spiflash|SPI flash]]&lt;br /&gt;
*[[Protocol decoder:Stepper motor|Stepper motor]]&lt;br /&gt;
*[[Protocol decoder:Tlc5620|TLC5620]]&lt;br /&gt;
*[[Protocol decoder:Uart|UART]]&lt;br /&gt;
*[[Protocol decoder:Z80|Z80]]&lt;br /&gt;
&lt;br /&gt;
==Profile==&lt;br /&gt;
&lt;br /&gt;
Profile: see [http://en.wikipedia.org/wiki/User:Mortense my Wikipedia user page].&lt;br /&gt;
&lt;br /&gt;
Credentials: more than 5000 edits on the English Wikipedia.&lt;br /&gt;
&lt;br /&gt;
==Shortcuts==&lt;br /&gt;
&lt;br /&gt;
* [https://sigrok.org/doc/pulseview/0.4.1/manual.html PulseView manual]&lt;br /&gt;
* [[Sigrok-cli|sigrok-cli man page]]&lt;br /&gt;
* [https://plus.google.com/communities/109843678338531936878 Google+ group for sigrok] (now defunc as Google+ closed down)&lt;br /&gt;
* [[PulseView]]. Includes the command line to get the source code using Git.&lt;br /&gt;
* [[Downloads#Windows_Download|PulseView, Windows binaries]] (nightly - development). [[Windows#Windows_installers|Alternative location]] (but it seems redundant).&lt;br /&gt;
* [[Downloads#Linux_AppImage_binaries|PulseView, Linux binaries]] (nightly - development).&lt;br /&gt;
* [[Example dumps|Example data dumps]] - sample data in .sr format. Also includes instructions on how to contribute new ones. Includes the command line to get the whole thing using Git (as of 2017-11-26, 2286 &amp;quot;objects&amp;quot;, 724 .sr files, about 65&amp;amp;nbsp;MB in download size, 192&amp;amp;nbsp;MB on disk).&lt;br /&gt;
* [[Special:Random|Random page]]&lt;br /&gt;
* [https://sigrok.org/jenkins/job/sigrok-native-appimage/ Native app image] (not official yet). Is for Linux and x86 only. See also [https://en.wikipedia.org/wiki/AppImage AppImage] (Wikipedia).&lt;br /&gt;
* [[Press]]. List of annotated links, mostly blog posts.&lt;br /&gt;
* [[Probe comparison]]&lt;br /&gt;
* [[Link Instruments MSO-19|MSO-19]]. Mixed oscilloscope and logic analyser by Link Instruments that (or rather its driver) crashes PulveView at startup when connected (until some time in mid 2018(?)). Some reverse engineering has been done in 2012, but it is not supported (has status &amp;quot;Planned&amp;quot;). [https://sigrok.org/bugzilla/show_bug.cgi?id=1155 Sigrok bug report for the crash]. [http://www.linkinstruments.com/doupdate_mso19.htm Software download page for it.]&lt;br /&gt;
* [[Windows|sigrok, Microsoft Windows page]]&lt;br /&gt;
** [[Windows#Device specific USB driver|Device specific USB driver - WinUSB - Zadig]]&lt;br /&gt;
&lt;br /&gt;
===Protocol decoders===&lt;br /&gt;
&lt;br /&gt;
* The [[CAN|CAN bus protocol decoder]]&lt;br /&gt;
* [[Protocol decoder HOWTO]]&lt;br /&gt;
* [[Protocol decoder API]]&lt;br /&gt;
* [[Protocol decoders#Supported protocol decoders|Supported protocol decoders]]&lt;br /&gt;
&lt;br /&gt;
===Building sigrok===&lt;br /&gt;
&lt;br /&gt;
* On Debian (e.g. Raspberry Pi): [[Linux#Installing the requirements 2|Installing required software]]&lt;br /&gt;
* On Debian (e.g. Raspberry Pi): [[Linux#Building 3|Actual build]]&lt;br /&gt;
* Alternative to following the wiki pages: [https://sigrok.org/gitweb/?p=sigrok-util.git;a=blob;f=cross-compile/linux/sigrok-cross-linux;h=2c8e559efde8cf6ae9a365bf1a4324a33600fae7;hb=HEAD a script that will do most of it]. (&amp;#039;&amp;#039;[sigrok-util.git] / cross-compile / linux / sigrok-cross-linux&amp;#039;&amp;#039;)&lt;br /&gt;
* Windows:&lt;br /&gt;
**On Windows: [[Windows#Native_build_using_MSYS2|Native build using MSYS2]] (but may not really work - sigrok-cli and PulseView are listed as not working).&lt;br /&gt;
**[[Windows#Cross-compile_using_MXE|Cross compile on Linux]] (using [http://mxe.cc/ MXE]). The script is [https://sigrok.org/gitweb/?p=sigrok-util.git;a=blob;f=cross-compile/mingw/sigrok-cross-mingw;h=8330406ecd28969d8d29c8ad23df8968a4b9ec68;hb=HEAD /sigrok-util/cross-compile/mingw/sigrok-cross-mingw]. Used for nightlies? [https://sigrok.org/jenkins/job/sigrok-cross-mingw/buildtype=static,debugtype=debug,platform=cross-i686-w64-mingw32/ Jenkins page for the debug version].&lt;br /&gt;
* The Jenkins thingy - automatic build, e.g. nightlies for PulseView and &amp;quot;AppImage&amp;quot; (self-contained executable for x86 Linux). Sample: [https://sigrok.org/jenkins/job/sigrok-cli/ sigrok-cli] with 44 configurations (43 cross-compiles), e.g. cross-x86_64-w64-mingw32 (for Windows 64-bit?).&lt;br /&gt;
* The [[Building#Installing_to_a_non-standard_directory_using_LD_LIBRARY_PATH|LD_LIBRARY_PATH trick]]&lt;/div&gt;</summary>
		<author><name>PeterMortensen</name></author>
	</entry>
	<entry>
		<id>https://sigrok.org/w/index.php?title=User:PeterMortensen&amp;diff=14821</id>
		<title>User:PeterMortensen</title>
		<link rel="alternate" type="text/html" href="https://sigrok.org/w/index.php?title=User:PeterMortensen&amp;diff=14821"/>
		<updated>2020-01-11T20:31:07Z</updated>

		<summary type="html">&lt;p&gt;PeterMortensen: /* 2020-01 */ Added more ideas, etc.&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;==Recent activity==&lt;br /&gt;
&lt;br /&gt;
===2020-01===&lt;br /&gt;
&lt;br /&gt;
Getting insight into what happens with PC keyboards on the signal level and on higher levels (related to repurposing an old PS/2 keyboard (BTC 5349) as a macro keyboard, with the help of an [https://store.arduino.cc/arduino-leonardo-with-headers Arduino Leonardo]):&lt;br /&gt;
&lt;br /&gt;
#For the keyboards listed below: Verify that all keys work (by capturing in PulseView and observe there is actually a signal. Note that the accent and umlaut key requires pressing a letter after).&lt;br /&gt;
#For the keyboards listed below: Capturing and submitting information for PS/2 PC keyboards (CLK and DATA), including during pressing and releasing  and bidirectional traffic (PC initialising the keyboard, e.g. at connect and/or PC startup). Submit to Git repository &amp;quot;[https://sigrok.org/gitweb/ sigrok-dumps]&amp;quot;: Keyboards (all European layout):&lt;br /&gt;
##BTC 5349 (102 keys IBM/AT type, corresponding to IBM Model M (Enhanced)). 100 mA (measured).&lt;br /&gt;
##Fujitsu/Siemens (102 keys + 10 media keys (sleep, mail, play, stop, speaker controls, etc.). IBM/AT type. ??? mA.&lt;br /&gt;
##Microsoft &amp;quot;Natural Keyboard Elite&amp;quot;. 500 mA  (nominal).&lt;br /&gt;
#Consider adding regression tests for the PS/2 decoder. It will include if it handles the 2-3% clock frequency offset for the BTC 5349 (probably, as there is CLK, but that is not the case if decoding as the UART protocol decoder).&lt;br /&gt;
#Some higher-level protocol decoder work for PC keyboards (not decided on yet), e.g. identifying scan code sequences as the corresponding keys.&lt;br /&gt;
#Some hardware to allow an Arduino Leonardo to pose as a PC ([https://en.wikipedia.org/wiki/Open_collector open collector] outputs). To explore what commands various keyboards responds to and what modes they might enter (for example, Linux allegedly tries put keyboards into &amp;quot;Set 3&amp;quot; (the powerup default is usually &amp;quot;Set 2&amp;quot;)). The three LEDs on the keyboard can also be used for user feedback for the macro keyboard.&lt;br /&gt;
#Existing content on the wiki, etc. regarding PC keyboards, etc.:&lt;br /&gt;
##Keyboards (none found, but are probably not supposed to exist, only actual capturing hardware(?)).&lt;br /&gt;
##[[Protocol_decoder:Ps2|PS/2 decoder page]]. Does not exist??&lt;br /&gt;
##&amp;#039;&amp;#039;&amp;quot;The decode of some PS/2 (or USB) keyboard/mouse traffic could yield an ASCII text file of all the keys that were pressed on the keyboard.&amp;quot;&amp;#039;&amp;#039; (on [[Protocol decoder output|a planning page]])&lt;br /&gt;
##Look in bug tracker for PS/2, keyboards, etc.&lt;br /&gt;
##Look in Git log.&lt;br /&gt;
##Look in blog posts for info on PS/2, etc.&lt;br /&gt;
#Updating the wiki&lt;br /&gt;
##Add PS/2 low-level reference (details about the CLK signal) to the PS/2 protocol decoder page. IRC ref. [2020-01-07 01:49:07] and [2020-01-07 18:09:02] (UTC+1)). Add to the resources section. Is: http://www.nerdkits.com/videos/interrupts_and_ps2_keyboard/&lt;br /&gt;
##Add keyboard documentation, pictures (not decided on yet).&lt;br /&gt;
#Ideas:&lt;br /&gt;
##Deliberately send data to the keyboard with a parity error.&lt;br /&gt;
##Deliberately add noise to the signals (say, wide-band white noise by electronics means), forcing parity errors. This should force the receiver (keyboard or host PC) to respond.&lt;br /&gt;
##Send unknown commands to the keyboard. It should respond with 0xFE (in contrast to the normal 0xFA).&lt;br /&gt;
##Try all the keyboards commands in &amp;#039;&amp;#039;[https://www.win.tue.nl/~aeb/linux/kbd/scancodes-12.html Keyboard commands]&amp;#039;&amp;#039;.&lt;br /&gt;
&lt;br /&gt;
Other:&lt;br /&gt;
&lt;br /&gt;
#Updating broken links here. For example, for the CAN protocol decoder.&lt;br /&gt;
&lt;br /&gt;
===2019-04===&lt;br /&gt;
&lt;br /&gt;
#Building a Docker container for compiling sigrok-cli and PulseView. It is supposed to both run under Linux and Windows (x64).&lt;br /&gt;
#Testing a new driver by user &amp;#039;&amp;#039;droghio&amp;#039;&amp;#039; that should work for the [[Tektronix TDS2024B|TDS2024C Tektronix  oscilloscope]]. Some placeholding:&lt;br /&gt;
#*Part of &amp;quot;lsusb -v&amp;quot; output: &amp;quot;Bus 008 Device 005: ID 0699:03a6 Tektronix, Inc.&amp;quot;&lt;br /&gt;
#*Notes to self: the &amp;#039;&amp;#039;&amp;quot;[git://sigrok.org/sigrok-util util]&amp;quot;&amp;#039;&amp;#039; repository (for building and stuff) - [https://github.com/sigrokproject/sigrok-util read-only mirror at GitHub]. [https://github.com/sigrokproject/sigrok-util/blob/master/cross-compile/linux/sigrok-cross-linux Cross-built script].&lt;br /&gt;
&lt;br /&gt;
===2018-04===&lt;br /&gt;
&lt;br /&gt;
Submitting comprehensive sample data for CAN bus, both 11-bit and 29-bit messages, and corresponding test cases (mostly for regression test - especially regression for [https://sigrok.org/bugzilla/show_bug.cgi?id=1085 the 2018-04-12 fix to the decoding at the end of the CRC part]).&lt;br /&gt;
&lt;br /&gt;
Notes to self:&lt;br /&gt;
&lt;br /&gt;
# Original acquired analog data: C:\temp2\2017-12-23\CAN decoder, new stuff bit handling at the end of the CRC segment\Data67\In\ACQ000009_Tektronix.txt&lt;br /&gt;
&lt;br /&gt;
===2017-12===&lt;br /&gt;
&lt;br /&gt;
Recording 22483 traces for the purpose of evaluating [https://sigrok.org/bugzilla/show_bug.cgi?id=1085 a proposed fix to the CAN protocol decoder] (actually only changing a single number from 16 to 17), stuff bit at the very end of the CRC segment, with a modified trigger scheme: &lt;br /&gt;
&lt;br /&gt;
* Change the position of the trigger point to the end (right) so there is always a CAN message in the trace (for the previous), but still 26&amp;amp;nbsp;µs recessive.&lt;br /&gt;
&lt;br /&gt;
The time division was 100&amp;amp;nbsp;µs / division (about 225 bit times max) to always record whole CAN messages - at 10 samples per bit time.&lt;br /&gt;
&lt;br /&gt;
===2017-07===&lt;br /&gt;
&lt;br /&gt;
Using the sigrok command-line (&amp;quot;sigrok-cli&amp;quot;) to bulk process data derived from Tektronix oscilloscope data of 250&amp;amp;nbsp;kbit/s CAN traffic on a real-world system (mobile cranes). The first sample data set is 5335 oscilloscope traces obtained with the trigger set to a negative pulse on CAN-H (to start off at the end of a CAN message) - corresponding to 6.5 recessive bits, 26&amp;amp;nbsp;µsec (detecting the space in-between CAN messages). Sometimes there is a CAN message right after this, sometimes it is a bit delayed, and sometimes it is completely empty.&lt;br /&gt;
&lt;br /&gt;
A sample command line (on Windows) is:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;sigrok-cli -P can:bitrate=250000:can_rx=&amp;quot;CAN RX&amp;quot; -P timing:data=&amp;quot;CAN RX&amp;quot; -I csv:header=true:samplerate=5000000 -i &amp;quot;T:\stdHMF\UserData\scripts\Tektronix2PulseView\_PulseView_AllChannels_ACQ000001_Tektronix_f5000000.txt&amp;quot;&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===2017-04===&lt;br /&gt;
&lt;br /&gt;
Using [[PulseView]] to decode data from a Tektronix oscilloscope of SPI communication to a CAN controller, [http://www.microchip.com/wwwproducts/Devices.aspx?dDocName=en010406 MCP2515].&lt;br /&gt;
&lt;br /&gt;
==Task list==&lt;br /&gt;
&lt;br /&gt;
Currently not in priority order.&lt;br /&gt;
&lt;br /&gt;
* Allow import of analog data through CSV files. (Related: fixed  [https://sigrok.org/bugzilla/show_bug.cgi?id=1064 bug 1064] - &amp;#039;&amp;#039;locale&amp;#039;&amp;#039; issue, decimal point, &amp;quot;,&amp;quot; vs. &amp;quot;.&amp;quot;.).&lt;br /&gt;
&lt;br /&gt;
* Add detection of error frames to the CAN protocol decoder&lt;br /&gt;
&lt;br /&gt;
* Add support for the gigga watt EEVBlog multimeter (Bluetooth, etc.)&lt;br /&gt;
&lt;br /&gt;
* Add a snap feature to the &amp;quot;cursor&amp;quot; (blue) in PulveView&lt;br /&gt;
&lt;br /&gt;
* Change number of significant digits for the time display in the &amp;quot;cursor&amp;quot; (blue) in PulveView&lt;br /&gt;
&lt;br /&gt;
* Submit selected sample traces for CAN decoder change (for CRC segment) validation. With and without stuff bits in various places. With and without timing deviations. (Related: [https://sigrok.org/bugzilla/show_bug.cgi?id=1085 bug 1085], celeron55&amp;#039;s fix, &amp;#039;&amp;#039;&amp;#039;&amp;#039;&amp;#039;if len(self.bits) &amp;gt; self.last_databit + 16&amp;#039;&amp;#039;&amp;#039;&amp;#039;&amp;#039; → &amp;#039;&amp;#039;&amp;#039;&amp;#039;&amp;#039;if len(self.bits) &amp;gt; self.last_databit + 17&amp;#039;&amp;#039;&amp;#039;&amp;#039;&amp;#039; (16 → 17)).&lt;br /&gt;
&lt;br /&gt;
* Add support for the [[Tektronix TDS2000B series|TDS2000]] series in libsigrok, and thus, by extension, use by the new shiny stuff in PulveView.&lt;br /&gt;
&lt;br /&gt;
===On wiki===&lt;br /&gt;
&lt;br /&gt;
* Change recommended procedure for submitting sample Sigrok files (traces), on &amp;#039;&amp;#039;[[Example dumps#Contributing dumps|Example dumps]]&amp;#039;&amp;#039;.&lt;br /&gt;
&lt;br /&gt;
==Glossary==&lt;br /&gt;
&lt;br /&gt;
*&amp;#039;&amp;#039;BBB&amp;#039;&amp;#039; [https://en.wikipedia.org/wiki/BeagleBoard#BeagleBone_Black BeagleBone Black]&lt;br /&gt;
*&amp;#039;&amp;#039;GH&amp;#039;&amp;#039; [http://en.wikipedia.org/wiki/GitHub GitHub]&lt;br /&gt;
*&amp;#039;&amp;#039;ISTR&amp;#039;&amp;#039; ????&lt;br /&gt;
*&amp;#039;&amp;#039;LA&amp;#039;&amp;#039; Logic analyser&lt;br /&gt;
*&amp;#039;&amp;#039;ML&amp;#039;&amp;#039; Mailing list&lt;br /&gt;
*&amp;#039;&amp;#039;OLS&amp;#039;&amp;#039; ????&lt;br /&gt;
*&amp;#039;&amp;#039;PR&amp;#039;&amp;#039; Pull request (a Git term). &amp;#039;&amp;#039;Not&amp;#039;&amp;#039; &amp;quot;problem report&amp;quot;.&lt;br /&gt;
*&amp;#039;&amp;#039;SR&amp;#039;&amp;#039; Sigrok&lt;br /&gt;
*&amp;#039;&amp;#039;srd&amp;#039;&amp;#039; ????&lt;br /&gt;
*&amp;#039;&amp;#039;WIP&amp;#039;&amp;#039; Work in progress. Mostly related to particular Git commits.&lt;br /&gt;
*&amp;#039;&amp;#039;PD&amp;#039;&amp;#039; protocol decoder. Non-standard spellings are &amp;#039;&amp;#039;Pd&amp;#039;&amp;#039; and &amp;#039;&amp;#039;pd&amp;#039;&amp;#039;.&lt;br /&gt;
*&amp;#039;&amp;#039;PV&amp;#039;&amp;#039; PulseView. Non-standard spellings are &amp;#039;&amp;#039;Pv&amp;#039;&amp;#039; and &amp;#039;&amp;#039;pv&amp;#039;&amp;#039;.&lt;br /&gt;
&lt;br /&gt;
==Some bug reports==&lt;br /&gt;
&lt;br /&gt;
* [https://sigrok.org/bug/1155 Possible problem with the MSO-19 USB driver on Windows]. PulveView crashes at startup if the MSO-19 is connected.&lt;br /&gt;
&lt;br /&gt;
==Interests==&lt;br /&gt;
&lt;br /&gt;
I am mostly interested in:&lt;br /&gt;
&lt;br /&gt;
* The [[CAN|CAN protocol decoder]] (that page is currently empty, but it is listed on [[Protocol decoders|the protocol decoders page]])&lt;br /&gt;
* CAN bus loggers, like IXXAT&amp;#039;s (now acquired by HMS) &amp;#039;&amp;#039;USB-to-CAN compact&amp;#039;&amp;#039;/&amp;#039;&amp;#039;USB-to-CAN V2&amp;#039;&amp;#039; and Kvaser&amp;#039;s &amp;#039;&amp;#039;Memorator&amp;#039;&amp;#039;.&lt;br /&gt;
* The higher-level [http://en.wikipedia.org/wiki/CANopen CANopen] protocol (on top of CAN)&lt;br /&gt;
&lt;br /&gt;
==Protocol decoders==&lt;br /&gt;
&lt;br /&gt;
===Non-empty wiki pages===&lt;br /&gt;
&lt;br /&gt;
Currently (2017-07-08), 28 &lt;br /&gt;
of 77 [[Protocol_decoders#Supported protocol decoders|protocol decoders]] (36%) have non-empty pages here on the wiki:&lt;br /&gt;
&lt;br /&gt;
*[[Protocol decoder:Adns5020|ADNS5020]] &lt;br /&gt;
*[[Protocol decoder:Am230x|AM230X]]&lt;br /&gt;
*[[Protocol decoder:Arm etmv3|ARM ETMV3]]&lt;br /&gt;
*[[Protocol decoder:Arm itm|ARM ITM]]&lt;br /&gt;
*[[Protocol decoder:Arm tpiu|ARM TPIU]]&lt;br /&gt;
*[[Protocol decoder:Aud|AUD]]&lt;br /&gt;
*[[Protocol decoder:Avr pdi|AVR PDI]]&lt;br /&gt;
*[[Protocol decoder:Dcf77|DCF77]]&lt;br /&gt;
*[[Protocol decoder:I2c|I²C]]&lt;br /&gt;
*[[Protocol decoder:Ir nec|IR NEC]]&lt;br /&gt;
*[[Protocol decoder:Modbus|Modbus]]&lt;br /&gt;
*[[Protocol decoder:Mrf24j40|MRF24J40]]&lt;br /&gt;
*[[Protocol decoder:Nrf24l01|NRF24L01]]&lt;br /&gt;
*[[Protocol decoder:Nunchuk|Nunchuk]]&lt;br /&gt;
*[[Protocol decoder:Pan1321|PAN1321]]&lt;br /&gt;
*[[Protocol decoder:Parallel|Parallel]]&lt;br /&gt;
*[[Protocol decoder:Pwm|PWM]]&lt;br /&gt;
*[[Protocol decoder:Qi|Qi]]&lt;br /&gt;
*[[Protocol decoder:Rfm12|RFM12]]&lt;br /&gt;
*[[Protocol decoder:Rgb led spi|RGB LED SPI]]&lt;br /&gt;
*[[Protocol decoder:Rtc8564|RTC8564]]&lt;br /&gt;
*[[Protocol decoder:Spdif|SPDIF]]&lt;br /&gt;
*[[Protocol decoder:Spi|SPI]]&lt;br /&gt;
*[[Protocol decoder:Spiflash|SPI flash]]&lt;br /&gt;
*[[Protocol decoder:Stepper motor|Stepper motor]]&lt;br /&gt;
*[[Protocol decoder:Tlc5620|TLC5620]]&lt;br /&gt;
*[[Protocol decoder:Uart|UART]]&lt;br /&gt;
*[[Protocol decoder:Z80|Z80]]&lt;br /&gt;
&lt;br /&gt;
==Profile==&lt;br /&gt;
&lt;br /&gt;
Profile: see [http://en.wikipedia.org/wiki/User:Mortense my Wikipedia user page].&lt;br /&gt;
&lt;br /&gt;
Credentials: more than 5000 edits on the English Wikipedia.&lt;br /&gt;
&lt;br /&gt;
==Shortcuts==&lt;br /&gt;
&lt;br /&gt;
* [https://sigrok.org/doc/pulseview/0.4.1/manual.html PulseView manual]&lt;br /&gt;
* [[Sigrok-cli|sigrok-cli man page]]&lt;br /&gt;
* [https://plus.google.com/communities/109843678338531936878 Google+ group for sigrok] (now defunc as Google+ closed down)&lt;br /&gt;
* [[PulseView]]. Includes the command line to get the source code using Git.&lt;br /&gt;
* [[Downloads#Windows_Download|PulseView, Windows binaries]] (nightly - development). [[Windows#Windows_installers|Alternative location]] (but it seems redundant).&lt;br /&gt;
* [[Downloads#Linux_AppImage_binaries|PulseView, Linux binaries]] (nightly - development).&lt;br /&gt;
* [[Example dumps|Example data dumps]] - sample data in .sr format. Also includes instructions on how to contribute new ones. Includes the command line to get the whole thing using Git (as of 2017-11-26, 2286 &amp;quot;objects&amp;quot;, 724 .sr files, about 65&amp;amp;nbsp;MB in download size, 192&amp;amp;nbsp;MB on disk).&lt;br /&gt;
* [[Special:Random|Random page]]&lt;br /&gt;
* [https://sigrok.org/jenkins/job/sigrok-native-appimage/ Native app image] (not official yet). Is for Linux and x86 only. See also [https://en.wikipedia.org/wiki/AppImage AppImage] (Wikipedia).&lt;br /&gt;
* [[Press]]. List of annotated links, mostly blog posts.&lt;br /&gt;
* [[Probe comparison]]&lt;br /&gt;
* [[Link Instruments MSO-19|MSO-19]]. Mixed oscilloscope and logic analyser by Link Instruments that (or rather its driver) crashes PulveView at startup when connected (until some time in mid 2018(?)). Some reverse engineering has been done in 2012, but it is not supported (has status &amp;quot;Planned&amp;quot;). [https://sigrok.org/bugzilla/show_bug.cgi?id=1155 Sigrok bug report for the crash]. [http://www.linkinstruments.com/doupdate_mso19.htm Software download page for it.]&lt;br /&gt;
* [[Windows|sigrok, Microsoft Windows page]]&lt;br /&gt;
** [[Windows#Device specific USB driver|Device specific USB driver - WinUSB - Zadig]]&lt;br /&gt;
&lt;br /&gt;
===Protocol decoders===&lt;br /&gt;
&lt;br /&gt;
* The [[CAN|CAN bus protocol decoder]]&lt;br /&gt;
* [[Protocol decoder HOWTO]]&lt;br /&gt;
* [[Protocol decoder API]]&lt;br /&gt;
* [[Protocol decoders#Supported protocol decoders|Supported protocol decoders]]&lt;br /&gt;
&lt;br /&gt;
===Building sigrok===&lt;br /&gt;
&lt;br /&gt;
* On Debian (e.g. Raspberry Pi): [[Linux#Installing the requirements 2|Installing required software]]&lt;br /&gt;
* On Debian (e.g. Raspberry Pi): [[Linux#Building 3|Actual build]]&lt;br /&gt;
* Alternative to following the wiki pages: [https://sigrok.org/gitweb/?p=sigrok-util.git;a=blob;f=cross-compile/linux/sigrok-cross-linux;h=2c8e559efde8cf6ae9a365bf1a4324a33600fae7;hb=HEAD a script that will do most of it]. (&amp;#039;&amp;#039;[sigrok-util.git] / cross-compile / linux / sigrok-cross-linux&amp;#039;&amp;#039;)&lt;br /&gt;
* Windows:&lt;br /&gt;
**On Windows: [[Windows#Native_build_using_MSYS2|Native build using MSYS2]] (but may not really work - sigrok-cli and PulseView are listed as not working).&lt;br /&gt;
**[[Windows#Cross-compile_using_MXE|Cross compile on Linux]] (using [http://mxe.cc/ MXE]). The script is [https://sigrok.org/gitweb/?p=sigrok-util.git;a=blob;f=cross-compile/mingw/sigrok-cross-mingw;h=8330406ecd28969d8d29c8ad23df8968a4b9ec68;hb=HEAD /sigrok-util/cross-compile/mingw/sigrok-cross-mingw]. Used for nightlies? [https://sigrok.org/jenkins/job/sigrok-cross-mingw/buildtype=static,debugtype=debug,platform=cross-i686-w64-mingw32/ Jenkins page for the debug version].&lt;br /&gt;
* The Jenkins thingy - automatic build, e.g. nightlies for PulseView and &amp;quot;AppImage&amp;quot; (self-contained executable for x86 Linux). Sample: [https://sigrok.org/jenkins/job/sigrok-cli/ sigrok-cli] with 44 configurations (43 cross-compiles), e.g. cross-x86_64-w64-mingw32 (for Windows 64-bit?).&lt;br /&gt;
* The [[Building#Installing_to_a_non-standard_directory_using_LD_LIBRARY_PATH|LD_LIBRARY_PATH trick]]&lt;/div&gt;</summary>
		<author><name>PeterMortensen</name></author>
	</entry>
	<entry>
		<id>https://sigrok.org/w/index.php?title=User:PeterMortensen&amp;diff=14820</id>
		<title>User:PeterMortensen</title>
		<link rel="alternate" type="text/html" href="https://sigrok.org/w/index.php?title=User:PeterMortensen&amp;diff=14820"/>
		<updated>2020-01-11T20:16:33Z</updated>

		<summary type="html">&lt;p&gt;PeterMortensen: /* 2020-01 */ More scope creep...&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;==Recent activity==&lt;br /&gt;
&lt;br /&gt;
===2020-01===&lt;br /&gt;
&lt;br /&gt;
Getting insight into what happens with PC keyboards on the signal level and on higher levels (related to repurposing an old PS/2 keyboard (BTC 5349) as a macro keyboard, with the help of an [https://store.arduino.cc/arduino-leonardo-with-headers Arduino Leonardo]):&lt;br /&gt;
&lt;br /&gt;
#For the keyboards list below: Verify that all keys work (by capturing in PulseView and observe there is actually a signal. Note that the accent and umlaut key requires pressing a letter after).&lt;br /&gt;
#For the keyboards listed below: Capturing and submitting information for PS/2 PC keyboards (CLK and DATA), including during pressing and releasing  and bidirectional traffic (PC initialising the keyboard, e.g. at connect and/or PC startup). Submit to Git repository &amp;quot;[https://sigrok.org/gitweb/ sigrok-dumps]&amp;quot;: Keyboards (all European layout):&lt;br /&gt;
##BTC 5349 (102 keys IBM/AT type, corresponding to IBM Model M (Enhanced)). 100 mA (measured).&lt;br /&gt;
##Fujitsu/Siemens (102 keys + 10 media keys (Sleep, mail, play, stop, speaker controls, etc.). IBM/AT type. ??? mA.&lt;br /&gt;
##Microsoft &amp;quot;Natural Keyboard Elite&amp;quot;. 500 mA  (nominal).&lt;br /&gt;
#Consider adding regression tests for the PS/2 decoder. It will include if it handles the 2-3% clock frequency offset for the BTC 5349 (probably, as there is CLK, but that is not the case if decoding as the UART protocol decoder).&lt;br /&gt;
#Some higher-level protocol decoder work for PC keyboard (not decided on yet), e.g. identifying scan code sequences as the corresponding keys.&lt;br /&gt;
#Some hardware to allow an Arduino Leonardo to pose as a PC ([https://en.wikipedia.org/wiki/Open_collector open collector] outputs). To explore what commands various keyboards responds to and what modes they might enter (for example, Linux allegedly tries put keyboards into &amp;quot;Set 3&amp;quot; (the powerup default is usually &amp;quot;Set 2&amp;quot;)). The three LEDs on the keyboard can also be used for user feedback for the macro keyboard.&lt;br /&gt;
#Existing content on the wiki, etc. regarding PC keyboards, etc.:&lt;br /&gt;
##Keyboards (none found, but are probably not supposed to exist, only actual capturing hardware(?)).&lt;br /&gt;
##[[Protocol_decoder:Ps2|PS/2 decoder page]]. Does not exist??&lt;br /&gt;
##&amp;#039;&amp;#039;&amp;quot;The decode of some PS/2 (or USB) keyboard/mouse traffic could yield an ASCII text file of all the keys that were pressed on the keyboard.&amp;quot;&amp;#039;&amp;#039; (on [[Protocol decoder output|a planning page]])&lt;br /&gt;
##Look in bug tracker for PS/2, keyboards, etc.&lt;br /&gt;
##Look in Git log.&lt;br /&gt;
##Look in blog posts for info on PS/2, etc.&lt;br /&gt;
#Updating the wiki&lt;br /&gt;
##Add PS/2 low-level reference (details about the CLK signal) to the PS/2 protocol decoder page. IRC ref. [2020-01-07 01:49:07] and [2020-01-07 18:09:02] (UTC+1)). Add to the resources section. Is: http://www.nerdkits.com/videos/interrupts_and_ps2_keyboard/&lt;br /&gt;
##Add keyboard documentation, pictures (not decided on yet).&lt;br /&gt;
#Ideas:&lt;br /&gt;
##Deliberately send data to the keyboard with a parity error.&lt;br /&gt;
##Deliberately add noise to the signals (say, wide-band white noise by electronics means), forcing parity errors. This should force the receiver (keyboard or host PC) to respond.&lt;br /&gt;
&lt;br /&gt;
Other:&lt;br /&gt;
&lt;br /&gt;
#Updating broken links here. E.g for the CAN protocol decoder.&lt;br /&gt;
&lt;br /&gt;
===2019-04===&lt;br /&gt;
&lt;br /&gt;
#Building a Docker container for compiling sigrok-cli and PulseView. It is supposed to both run under Linux and Windows (x64).&lt;br /&gt;
#Testing a new driver by user &amp;#039;&amp;#039;droghio&amp;#039;&amp;#039; that should work for the [[Tektronix TDS2024B|TDS2024C Tektronix  oscilloscope]]. Some placeholding:&lt;br /&gt;
#*Part of &amp;quot;lsusb -v&amp;quot; output: &amp;quot;Bus 008 Device 005: ID 0699:03a6 Tektronix, Inc.&amp;quot;&lt;br /&gt;
#*Notes to self: the &amp;#039;&amp;#039;&amp;quot;[git://sigrok.org/sigrok-util util]&amp;quot;&amp;#039;&amp;#039; repository (for building and stuff) - [https://github.com/sigrokproject/sigrok-util read-only mirror at GitHub]. [https://github.com/sigrokproject/sigrok-util/blob/master/cross-compile/linux/sigrok-cross-linux Cross-built script].&lt;br /&gt;
&lt;br /&gt;
===2018-04===&lt;br /&gt;
&lt;br /&gt;
Submitting comprehensive sample data for CAN bus, both 11-bit and 29-bit messages, and corresponding test cases (mostly for regression test - especially regression for [https://sigrok.org/bugzilla/show_bug.cgi?id=1085 the 2018-04-12 fix to the decoding at the end of the CRC part]).&lt;br /&gt;
&lt;br /&gt;
Notes to self:&lt;br /&gt;
&lt;br /&gt;
# Original acquired analog data: C:\temp2\2017-12-23\CAN decoder, new stuff bit handling at the end of the CRC segment\Data67\In\ACQ000009_Tektronix.txt&lt;br /&gt;
&lt;br /&gt;
===2017-12===&lt;br /&gt;
&lt;br /&gt;
Recording 22483 traces for the purpose of evaluating [https://sigrok.org/bugzilla/show_bug.cgi?id=1085 a proposed fix to the CAN protocol decoder] (actually only changing a single number from 16 to 17), stuff bit at the very end of the CRC segment, with a modified trigger scheme: &lt;br /&gt;
&lt;br /&gt;
* Change the position of the trigger point to the end (right) so there is always a CAN message in the trace (for the previous), but still 26&amp;amp;nbsp;µs recessive.&lt;br /&gt;
&lt;br /&gt;
The time division was 100&amp;amp;nbsp;µs / division (about 225 bit times max) to always record whole CAN messages - at 10 samples per bit time.&lt;br /&gt;
&lt;br /&gt;
===2017-07===&lt;br /&gt;
&lt;br /&gt;
Using the sigrok command-line (&amp;quot;sigrok-cli&amp;quot;) to bulk process data derived from Tektronix oscilloscope data of 250&amp;amp;nbsp;kbit/s CAN traffic on a real-world system (mobile cranes). The first sample data set is 5335 oscilloscope traces obtained with the trigger set to a negative pulse on CAN-H (to start off at the end of a CAN message) - corresponding to 6.5 recessive bits, 26&amp;amp;nbsp;µsec (detecting the space in-between CAN messages). Sometimes there is a CAN message right after this, sometimes it is a bit delayed, and sometimes it is completely empty.&lt;br /&gt;
&lt;br /&gt;
A sample command line (on Windows) is:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;sigrok-cli -P can:bitrate=250000:can_rx=&amp;quot;CAN RX&amp;quot; -P timing:data=&amp;quot;CAN RX&amp;quot; -I csv:header=true:samplerate=5000000 -i &amp;quot;T:\stdHMF\UserData\scripts\Tektronix2PulseView\_PulseView_AllChannels_ACQ000001_Tektronix_f5000000.txt&amp;quot;&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===2017-04===&lt;br /&gt;
&lt;br /&gt;
Using [[PulseView]] to decode data from a Tektronix oscilloscope of SPI communication to a CAN controller, [http://www.microchip.com/wwwproducts/Devices.aspx?dDocName=en010406 MCP2515].&lt;br /&gt;
&lt;br /&gt;
==Task list==&lt;br /&gt;
&lt;br /&gt;
Currently not in priority order.&lt;br /&gt;
&lt;br /&gt;
* Allow import of analog data through CSV files. (Related: fixed  [https://sigrok.org/bugzilla/show_bug.cgi?id=1064 bug 1064] - &amp;#039;&amp;#039;locale&amp;#039;&amp;#039; issue, decimal point, &amp;quot;,&amp;quot; vs. &amp;quot;.&amp;quot;.).&lt;br /&gt;
&lt;br /&gt;
* Add detection of error frames to the CAN protocol decoder&lt;br /&gt;
&lt;br /&gt;
* Add support for the gigga watt EEVBlog multimeter (Bluetooth, etc.)&lt;br /&gt;
&lt;br /&gt;
* Add a snap feature to the &amp;quot;cursor&amp;quot; (blue) in PulveView&lt;br /&gt;
&lt;br /&gt;
* Change number of significant digits for the time display in the &amp;quot;cursor&amp;quot; (blue) in PulveView&lt;br /&gt;
&lt;br /&gt;
* Submit selected sample traces for CAN decoder change (for CRC segment) validation. With and without stuff bits in various places. With and without timing deviations. (Related: [https://sigrok.org/bugzilla/show_bug.cgi?id=1085 bug 1085], celeron55&amp;#039;s fix, &amp;#039;&amp;#039;&amp;#039;&amp;#039;&amp;#039;if len(self.bits) &amp;gt; self.last_databit + 16&amp;#039;&amp;#039;&amp;#039;&amp;#039;&amp;#039; → &amp;#039;&amp;#039;&amp;#039;&amp;#039;&amp;#039;if len(self.bits) &amp;gt; self.last_databit + 17&amp;#039;&amp;#039;&amp;#039;&amp;#039;&amp;#039; (16 → 17)).&lt;br /&gt;
&lt;br /&gt;
* Add support for the [[Tektronix TDS2000B series|TDS2000]] series in libsigrok, and thus, by extension, use by the new shiny stuff in PulveView.&lt;br /&gt;
&lt;br /&gt;
===On wiki===&lt;br /&gt;
&lt;br /&gt;
* Change recommended procedure for submitting sample Sigrok files (traces), on &amp;#039;&amp;#039;[[Example dumps#Contributing dumps|Example dumps]]&amp;#039;&amp;#039;.&lt;br /&gt;
&lt;br /&gt;
==Glossary==&lt;br /&gt;
&lt;br /&gt;
*&amp;#039;&amp;#039;BBB&amp;#039;&amp;#039; [https://en.wikipedia.org/wiki/BeagleBoard#BeagleBone_Black BeagleBone Black]&lt;br /&gt;
*&amp;#039;&amp;#039;GH&amp;#039;&amp;#039; [http://en.wikipedia.org/wiki/GitHub GitHub]&lt;br /&gt;
*&amp;#039;&amp;#039;ISTR&amp;#039;&amp;#039; ????&lt;br /&gt;
*&amp;#039;&amp;#039;LA&amp;#039;&amp;#039; Logic analyser&lt;br /&gt;
*&amp;#039;&amp;#039;ML&amp;#039;&amp;#039; Mailing list&lt;br /&gt;
*&amp;#039;&amp;#039;OLS&amp;#039;&amp;#039; ????&lt;br /&gt;
*&amp;#039;&amp;#039;PR&amp;#039;&amp;#039; Pull request (a Git term). &amp;#039;&amp;#039;Not&amp;#039;&amp;#039; &amp;quot;problem report&amp;quot;.&lt;br /&gt;
*&amp;#039;&amp;#039;SR&amp;#039;&amp;#039; Sigrok&lt;br /&gt;
*&amp;#039;&amp;#039;srd&amp;#039;&amp;#039; ????&lt;br /&gt;
*&amp;#039;&amp;#039;WIP&amp;#039;&amp;#039; Work in progress. Mostly related to particular Git commits.&lt;br /&gt;
*&amp;#039;&amp;#039;PD&amp;#039;&amp;#039; protocol decoder. Non-standard spellings are &amp;#039;&amp;#039;Pd&amp;#039;&amp;#039; and &amp;#039;&amp;#039;pd&amp;#039;&amp;#039;.&lt;br /&gt;
*&amp;#039;&amp;#039;PV&amp;#039;&amp;#039; PulseView. Non-standard spellings are &amp;#039;&amp;#039;Pv&amp;#039;&amp;#039; and &amp;#039;&amp;#039;pv&amp;#039;&amp;#039;.&lt;br /&gt;
&lt;br /&gt;
==Some bug reports==&lt;br /&gt;
&lt;br /&gt;
* [https://sigrok.org/bug/1155 Possible problem with the MSO-19 USB driver on Windows]. PulveView crashes at startup if the MSO-19 is connected.&lt;br /&gt;
&lt;br /&gt;
==Interests==&lt;br /&gt;
&lt;br /&gt;
I am mostly interested in:&lt;br /&gt;
&lt;br /&gt;
* The [[CAN|CAN protocol decoder]] (that page is currently empty, but it is listed on [[Protocol decoders|the protocol decoders page]])&lt;br /&gt;
* CAN bus loggers, like IXXAT&amp;#039;s (now acquired by HMS) &amp;#039;&amp;#039;USB-to-CAN compact&amp;#039;&amp;#039;/&amp;#039;&amp;#039;USB-to-CAN V2&amp;#039;&amp;#039; and Kvaser&amp;#039;s &amp;#039;&amp;#039;Memorator&amp;#039;&amp;#039;.&lt;br /&gt;
* The higher-level [http://en.wikipedia.org/wiki/CANopen CANopen] protocol (on top of CAN)&lt;br /&gt;
&lt;br /&gt;
==Protocol decoders==&lt;br /&gt;
&lt;br /&gt;
===Non-empty wiki pages===&lt;br /&gt;
&lt;br /&gt;
Currently (2017-07-08), 28 &lt;br /&gt;
of 77 [[Protocol_decoders#Supported protocol decoders|protocol decoders]] (36%) have non-empty pages here on the wiki:&lt;br /&gt;
&lt;br /&gt;
*[[Protocol decoder:Adns5020|ADNS5020]] &lt;br /&gt;
*[[Protocol decoder:Am230x|AM230X]]&lt;br /&gt;
*[[Protocol decoder:Arm etmv3|ARM ETMV3]]&lt;br /&gt;
*[[Protocol decoder:Arm itm|ARM ITM]]&lt;br /&gt;
*[[Protocol decoder:Arm tpiu|ARM TPIU]]&lt;br /&gt;
*[[Protocol decoder:Aud|AUD]]&lt;br /&gt;
*[[Protocol decoder:Avr pdi|AVR PDI]]&lt;br /&gt;
*[[Protocol decoder:Dcf77|DCF77]]&lt;br /&gt;
*[[Protocol decoder:I2c|I²C]]&lt;br /&gt;
*[[Protocol decoder:Ir nec|IR NEC]]&lt;br /&gt;
*[[Protocol decoder:Modbus|Modbus]]&lt;br /&gt;
*[[Protocol decoder:Mrf24j40|MRF24J40]]&lt;br /&gt;
*[[Protocol decoder:Nrf24l01|NRF24L01]]&lt;br /&gt;
*[[Protocol decoder:Nunchuk|Nunchuk]]&lt;br /&gt;
*[[Protocol decoder:Pan1321|PAN1321]]&lt;br /&gt;
*[[Protocol decoder:Parallel|Parallel]]&lt;br /&gt;
*[[Protocol decoder:Pwm|PWM]]&lt;br /&gt;
*[[Protocol decoder:Qi|Qi]]&lt;br /&gt;
*[[Protocol decoder:Rfm12|RFM12]]&lt;br /&gt;
*[[Protocol decoder:Rgb led spi|RGB LED SPI]]&lt;br /&gt;
*[[Protocol decoder:Rtc8564|RTC8564]]&lt;br /&gt;
*[[Protocol decoder:Spdif|SPDIF]]&lt;br /&gt;
*[[Protocol decoder:Spi|SPI]]&lt;br /&gt;
*[[Protocol decoder:Spiflash|SPI flash]]&lt;br /&gt;
*[[Protocol decoder:Stepper motor|Stepper motor]]&lt;br /&gt;
*[[Protocol decoder:Tlc5620|TLC5620]]&lt;br /&gt;
*[[Protocol decoder:Uart|UART]]&lt;br /&gt;
*[[Protocol decoder:Z80|Z80]]&lt;br /&gt;
&lt;br /&gt;
==Profile==&lt;br /&gt;
&lt;br /&gt;
Profile: see [http://en.wikipedia.org/wiki/User:Mortense my Wikipedia user page].&lt;br /&gt;
&lt;br /&gt;
Credentials: more than 5000 edits on the English Wikipedia.&lt;br /&gt;
&lt;br /&gt;
==Shortcuts==&lt;br /&gt;
&lt;br /&gt;
* [https://sigrok.org/doc/pulseview/0.4.1/manual.html PulseView manual]&lt;br /&gt;
* [[Sigrok-cli|sigrok-cli man page]]&lt;br /&gt;
* [https://plus.google.com/communities/109843678338531936878 Google+ group for sigrok] (now defunc as Google+ closed down)&lt;br /&gt;
* [[PulseView]]. Includes the command line to get the source code using Git.&lt;br /&gt;
* [[Downloads#Windows_Download|PulseView, Windows binaries]] (nightly - development). [[Windows#Windows_installers|Alternative location]] (but it seems redundant).&lt;br /&gt;
* [[Downloads#Linux_AppImage_binaries|PulseView, Linux binaries]] (nightly - development).&lt;br /&gt;
* [[Example dumps|Example data dumps]] - sample data in .sr format. Also includes instructions on how to contribute new ones. Includes the command line to get the whole thing using Git (as of 2017-11-26, 2286 &amp;quot;objects&amp;quot;, 724 .sr files, about 65&amp;amp;nbsp;MB in download size, 192&amp;amp;nbsp;MB on disk).&lt;br /&gt;
* [[Special:Random|Random page]]&lt;br /&gt;
* [https://sigrok.org/jenkins/job/sigrok-native-appimage/ Native app image] (not official yet). Is for Linux and x86 only. See also [https://en.wikipedia.org/wiki/AppImage AppImage] (Wikipedia).&lt;br /&gt;
* [[Press]]. List of annotated links, mostly blog posts.&lt;br /&gt;
* [[Probe comparison]]&lt;br /&gt;
* [[Link Instruments MSO-19|MSO-19]]. Mixed oscilloscope and logic analyser by Link Instruments that (or rather its driver) crashes PulveView at startup when connected (until some time in mid 2018(?)). Some reverse engineering has been done in 2012, but it is not supported (has status &amp;quot;Planned&amp;quot;). [https://sigrok.org/bugzilla/show_bug.cgi?id=1155 Sigrok bug report for the crash]. [http://www.linkinstruments.com/doupdate_mso19.htm Software download page for it.]&lt;br /&gt;
* [[Windows|sigrok, Microsoft Windows page]]&lt;br /&gt;
** [[Windows#Device specific USB driver|Device specific USB driver - WinUSB - Zadig]]&lt;br /&gt;
&lt;br /&gt;
===Protocol decoders===&lt;br /&gt;
&lt;br /&gt;
* The [[CAN|CAN bus protocol decoder]]&lt;br /&gt;
* [[Protocol decoder HOWTO]]&lt;br /&gt;
* [[Protocol decoder API]]&lt;br /&gt;
* [[Protocol decoders#Supported protocol decoders|Supported protocol decoders]]&lt;br /&gt;
&lt;br /&gt;
===Building sigrok===&lt;br /&gt;
&lt;br /&gt;
* On Debian (e.g. Raspberry Pi): [[Linux#Installing the requirements 2|Installing required software]]&lt;br /&gt;
* On Debian (e.g. Raspberry Pi): [[Linux#Building 3|Actual build]]&lt;br /&gt;
* Alternative to following the wiki pages: [https://sigrok.org/gitweb/?p=sigrok-util.git;a=blob;f=cross-compile/linux/sigrok-cross-linux;h=2c8e559efde8cf6ae9a365bf1a4324a33600fae7;hb=HEAD a script that will do most of it]. (&amp;#039;&amp;#039;[sigrok-util.git] / cross-compile / linux / sigrok-cross-linux&amp;#039;&amp;#039;)&lt;br /&gt;
* Windows:&lt;br /&gt;
**On Windows: [[Windows#Native_build_using_MSYS2|Native build using MSYS2]] (but may not really work - sigrok-cli and PulseView are listed as not working).&lt;br /&gt;
**[[Windows#Cross-compile_using_MXE|Cross compile on Linux]] (using [http://mxe.cc/ MXE]). The script is [https://sigrok.org/gitweb/?p=sigrok-util.git;a=blob;f=cross-compile/mingw/sigrok-cross-mingw;h=8330406ecd28969d8d29c8ad23df8968a4b9ec68;hb=HEAD /sigrok-util/cross-compile/mingw/sigrok-cross-mingw]. Used for nightlies? [https://sigrok.org/jenkins/job/sigrok-cross-mingw/buildtype=static,debugtype=debug,platform=cross-i686-w64-mingw32/ Jenkins page for the debug version].&lt;br /&gt;
* The Jenkins thingy - automatic build, e.g. nightlies for PulseView and &amp;quot;AppImage&amp;quot; (self-contained executable for x86 Linux). Sample: [https://sigrok.org/jenkins/job/sigrok-cli/ sigrok-cli] with 44 configurations (43 cross-compiles), e.g. cross-x86_64-w64-mingw32 (for Windows 64-bit?).&lt;br /&gt;
* The [[Building#Installing_to_a_non-standard_directory_using_LD_LIBRARY_PATH|LD_LIBRARY_PATH trick]]&lt;/div&gt;</summary>
		<author><name>PeterMortensen</name></author>
	</entry>
	<entry>
		<id>https://sigrok.org/w/index.php?title=User:PeterMortensen&amp;diff=14819</id>
		<title>User:PeterMortensen</title>
		<link rel="alternate" type="text/html" href="https://sigrok.org/w/index.php?title=User:PeterMortensen&amp;diff=14819"/>
		<updated>2020-01-11T20:09:14Z</updated>

		<summary type="html">&lt;p&gt;PeterMortensen: /* 2020-01 */ Minor formatting fixes.&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;==Recent activity==&lt;br /&gt;
&lt;br /&gt;
===2020-01===&lt;br /&gt;
&lt;br /&gt;
Getting insight into what happens with PC keyboards on the signal level and on higher levels (related to repurposing an old PS/2 keyboard (BTC 5349) as a macro keyboard, with the help of an [https://store.arduino.cc/arduino-leonardo-with-headers Arduino Leonardo]):&lt;br /&gt;
&lt;br /&gt;
#For the keyboards list below: Verify that all keys work (by capturing in PulseView and observe there is actually a signal. Note that the accent and umlaut key requires pressing a letter after).&lt;br /&gt;
#For the keyboards listed below: Capturing and submitting information for PS/2 PC keyboards (CLK and DATA), including during pressing and releasing  and bidirectional traffic (PC initialising the keyboard, e.g. at connect and/or PC startup). Submit to Git repository &amp;quot;[https://sigrok.org/gitweb/ sigrok-dumps]&amp;quot;: Keyboards (all European layout):&lt;br /&gt;
##BTC 5349 (102 keys IBM/AT type, corresponding to IBM Model M (Enhanced)). 100 mA (measured).&lt;br /&gt;
##Fujitsu/Siemens (102 keys + 10 media keys (Sleep, mail, play, stop, speaker controls, etc.). IBM/AT type. ??? mA.&lt;br /&gt;
##Microsoft &amp;quot;Natural Keyboard Elite&amp;quot;. 500 mA  (nominal).&lt;br /&gt;
#Consider adding regression tests for the PS/2 decoder. It will include if it handles the 2-3% clock frequency offset for the BTC 5349 (probably, as there is CLK, but that is not the case if decoding as the UART protocol decoder).&lt;br /&gt;
#Some higher-level protocol decoder work for PC keyboard (not decided on yet), e.g. identifying scan code sequences as the corresponding keys.&lt;br /&gt;
#Some hardware to allow an Arduino Leonardo to pose as a PC ([https://en.wikipedia.org/wiki/Open_collector open collector] outputs). To explore what commands various keyboards responds to and what modes they might enter (for example, Linux allegedly tries put keyboards into &amp;quot;Set 3&amp;quot; (the powerup default is usually &amp;quot;Set 2&amp;quot;)). The three LEDs on the keyboard can also be used for user feedback for the macro keyboard.&lt;br /&gt;
#Existing content on the wiki, etc. regarding PC keyboards, etc.:&lt;br /&gt;
##Keyboards (none found, but are probably not supposed to exist, only actual capturing hardware(?)).&lt;br /&gt;
##[[Protocol_decoder:Ps2|PS/2 decoder page]]. Does not exist??&lt;br /&gt;
##&amp;#039;&amp;#039;&amp;quot;The decode of some PS/2 (or USB) keyboard/mouse traffic could yield an ASCII text file of all the keys that were pressed on the keyboard.&amp;quot;&amp;#039;&amp;#039; (on [[Protocol decoder output|a planning page]])&lt;br /&gt;
##Look in bug tracker for PS/2, keyboards, etc.&lt;br /&gt;
##Look in Git log.&lt;br /&gt;
##Look in blog posts for info on PS/2, etc.&lt;br /&gt;
#Updating the wiki&lt;br /&gt;
##Add PS/2 low-level reference (details about the CLK signal) to the PS/2 protocol decoder page. IRC ref. [2020-01-07 01:49:07] and [2020-01-07 18:09:02] (UTC+1)). Add to the resources section. Is: http://www.nerdkits.com/videos/interrupts_and_ps2_keyboard/&lt;br /&gt;
##Add keyboard documentation, pictures (not decided on yet).&lt;br /&gt;
&lt;br /&gt;
Other:&lt;br /&gt;
&lt;br /&gt;
#Updating broken links here. E.g for the CAN protocol decoder.&lt;br /&gt;
&lt;br /&gt;
===2019-04===&lt;br /&gt;
&lt;br /&gt;
#Building a Docker container for compiling sigrok-cli and PulseView. It is supposed to both run under Linux and Windows (x64).&lt;br /&gt;
#Testing a new driver by user &amp;#039;&amp;#039;droghio&amp;#039;&amp;#039; that should work for the [[Tektronix TDS2024B|TDS2024C Tektronix  oscilloscope]]. Some placeholding:&lt;br /&gt;
#*Part of &amp;quot;lsusb -v&amp;quot; output: &amp;quot;Bus 008 Device 005: ID 0699:03a6 Tektronix, Inc.&amp;quot;&lt;br /&gt;
#*Notes to self: the &amp;#039;&amp;#039;&amp;quot;[git://sigrok.org/sigrok-util util]&amp;quot;&amp;#039;&amp;#039; repository (for building and stuff) - [https://github.com/sigrokproject/sigrok-util read-only mirror at GitHub]. [https://github.com/sigrokproject/sigrok-util/blob/master/cross-compile/linux/sigrok-cross-linux Cross-built script].&lt;br /&gt;
&lt;br /&gt;
===2018-04===&lt;br /&gt;
&lt;br /&gt;
Submitting comprehensive sample data for CAN bus, both 11-bit and 29-bit messages, and corresponding test cases (mostly for regression test - especially regression for [https://sigrok.org/bugzilla/show_bug.cgi?id=1085 the 2018-04-12 fix to the decoding at the end of the CRC part]).&lt;br /&gt;
&lt;br /&gt;
Notes to self:&lt;br /&gt;
&lt;br /&gt;
# Original acquired analog data: C:\temp2\2017-12-23\CAN decoder, new stuff bit handling at the end of the CRC segment\Data67\In\ACQ000009_Tektronix.txt&lt;br /&gt;
&lt;br /&gt;
===2017-12===&lt;br /&gt;
&lt;br /&gt;
Recording 22483 traces for the purpose of evaluating [https://sigrok.org/bugzilla/show_bug.cgi?id=1085 a proposed fix to the CAN protocol decoder] (actually only changing a single number from 16 to 17), stuff bit at the very end of the CRC segment, with a modified trigger scheme: &lt;br /&gt;
&lt;br /&gt;
* Change the position of the trigger point to the end (right) so there is always a CAN message in the trace (for the previous), but still 26&amp;amp;nbsp;µs recessive.&lt;br /&gt;
&lt;br /&gt;
The time division was 100&amp;amp;nbsp;µs / division (about 225 bit times max) to always record whole CAN messages - at 10 samples per bit time.&lt;br /&gt;
&lt;br /&gt;
===2017-07===&lt;br /&gt;
&lt;br /&gt;
Using the sigrok command-line (&amp;quot;sigrok-cli&amp;quot;) to bulk process data derived from Tektronix oscilloscope data of 250&amp;amp;nbsp;kbit/s CAN traffic on a real-world system (mobile cranes). The first sample data set is 5335 oscilloscope traces obtained with the trigger set to a negative pulse on CAN-H (to start off at the end of a CAN message) - corresponding to 6.5 recessive bits, 26&amp;amp;nbsp;µsec (detecting the space in-between CAN messages). Sometimes there is a CAN message right after this, sometimes it is a bit delayed, and sometimes it is completely empty.&lt;br /&gt;
&lt;br /&gt;
A sample command line (on Windows) is:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;sigrok-cli -P can:bitrate=250000:can_rx=&amp;quot;CAN RX&amp;quot; -P timing:data=&amp;quot;CAN RX&amp;quot; -I csv:header=true:samplerate=5000000 -i &amp;quot;T:\stdHMF\UserData\scripts\Tektronix2PulseView\_PulseView_AllChannels_ACQ000001_Tektronix_f5000000.txt&amp;quot;&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===2017-04===&lt;br /&gt;
&lt;br /&gt;
Using [[PulseView]] to decode data from a Tektronix oscilloscope of SPI communication to a CAN controller, [http://www.microchip.com/wwwproducts/Devices.aspx?dDocName=en010406 MCP2515].&lt;br /&gt;
&lt;br /&gt;
==Task list==&lt;br /&gt;
&lt;br /&gt;
Currently not in priority order.&lt;br /&gt;
&lt;br /&gt;
* Allow import of analog data through CSV files. (Related: fixed  [https://sigrok.org/bugzilla/show_bug.cgi?id=1064 bug 1064] - &amp;#039;&amp;#039;locale&amp;#039;&amp;#039; issue, decimal point, &amp;quot;,&amp;quot; vs. &amp;quot;.&amp;quot;.).&lt;br /&gt;
&lt;br /&gt;
* Add detection of error frames to the CAN protocol decoder&lt;br /&gt;
&lt;br /&gt;
* Add support for the gigga watt EEVBlog multimeter (Bluetooth, etc.)&lt;br /&gt;
&lt;br /&gt;
* Add a snap feature to the &amp;quot;cursor&amp;quot; (blue) in PulveView&lt;br /&gt;
&lt;br /&gt;
* Change number of significant digits for the time display in the &amp;quot;cursor&amp;quot; (blue) in PulveView&lt;br /&gt;
&lt;br /&gt;
* Submit selected sample traces for CAN decoder change (for CRC segment) validation. With and without stuff bits in various places. With and without timing deviations. (Related: [https://sigrok.org/bugzilla/show_bug.cgi?id=1085 bug 1085], celeron55&amp;#039;s fix, &amp;#039;&amp;#039;&amp;#039;&amp;#039;&amp;#039;if len(self.bits) &amp;gt; self.last_databit + 16&amp;#039;&amp;#039;&amp;#039;&amp;#039;&amp;#039; → &amp;#039;&amp;#039;&amp;#039;&amp;#039;&amp;#039;if len(self.bits) &amp;gt; self.last_databit + 17&amp;#039;&amp;#039;&amp;#039;&amp;#039;&amp;#039; (16 → 17)).&lt;br /&gt;
&lt;br /&gt;
* Add support for the [[Tektronix TDS2000B series|TDS2000]] series in libsigrok, and thus, by extension, use by the new shiny stuff in PulveView.&lt;br /&gt;
&lt;br /&gt;
===On wiki===&lt;br /&gt;
&lt;br /&gt;
* Change recommended procedure for submitting sample Sigrok files (traces), on &amp;#039;&amp;#039;[[Example dumps#Contributing dumps|Example dumps]]&amp;#039;&amp;#039;.&lt;br /&gt;
&lt;br /&gt;
==Glossary==&lt;br /&gt;
&lt;br /&gt;
*&amp;#039;&amp;#039;BBB&amp;#039;&amp;#039; [https://en.wikipedia.org/wiki/BeagleBoard#BeagleBone_Black BeagleBone Black]&lt;br /&gt;
*&amp;#039;&amp;#039;GH&amp;#039;&amp;#039; [http://en.wikipedia.org/wiki/GitHub GitHub]&lt;br /&gt;
*&amp;#039;&amp;#039;ISTR&amp;#039;&amp;#039; ????&lt;br /&gt;
*&amp;#039;&amp;#039;LA&amp;#039;&amp;#039; Logic analyser&lt;br /&gt;
*&amp;#039;&amp;#039;ML&amp;#039;&amp;#039; Mailing list&lt;br /&gt;
*&amp;#039;&amp;#039;OLS&amp;#039;&amp;#039; ????&lt;br /&gt;
*&amp;#039;&amp;#039;PR&amp;#039;&amp;#039; Pull request (a Git term). &amp;#039;&amp;#039;Not&amp;#039;&amp;#039; &amp;quot;problem report&amp;quot;.&lt;br /&gt;
*&amp;#039;&amp;#039;SR&amp;#039;&amp;#039; Sigrok&lt;br /&gt;
*&amp;#039;&amp;#039;srd&amp;#039;&amp;#039; ????&lt;br /&gt;
*&amp;#039;&amp;#039;WIP&amp;#039;&amp;#039; Work in progress. Mostly related to particular Git commits.&lt;br /&gt;
*&amp;#039;&amp;#039;PD&amp;#039;&amp;#039; protocol decoder. Non-standard spellings are &amp;#039;&amp;#039;Pd&amp;#039;&amp;#039; and &amp;#039;&amp;#039;pd&amp;#039;&amp;#039;.&lt;br /&gt;
*&amp;#039;&amp;#039;PV&amp;#039;&amp;#039; PulseView. Non-standard spellings are &amp;#039;&amp;#039;Pv&amp;#039;&amp;#039; and &amp;#039;&amp;#039;pv&amp;#039;&amp;#039;.&lt;br /&gt;
&lt;br /&gt;
==Some bug reports==&lt;br /&gt;
&lt;br /&gt;
* [https://sigrok.org/bug/1155 Possible problem with the MSO-19 USB driver on Windows]. PulveView crashes at startup if the MSO-19 is connected.&lt;br /&gt;
&lt;br /&gt;
==Interests==&lt;br /&gt;
&lt;br /&gt;
I am mostly interested in:&lt;br /&gt;
&lt;br /&gt;
* The [[CAN|CAN protocol decoder]] (that page is currently empty, but it is listed on [[Protocol decoders|the protocol decoders page]])&lt;br /&gt;
* CAN bus loggers, like IXXAT&amp;#039;s (now acquired by HMS) &amp;#039;&amp;#039;USB-to-CAN compact&amp;#039;&amp;#039;/&amp;#039;&amp;#039;USB-to-CAN V2&amp;#039;&amp;#039; and Kvaser&amp;#039;s &amp;#039;&amp;#039;Memorator&amp;#039;&amp;#039;.&lt;br /&gt;
* The higher-level [http://en.wikipedia.org/wiki/CANopen CANopen] protocol (on top of CAN)&lt;br /&gt;
&lt;br /&gt;
==Protocol decoders==&lt;br /&gt;
&lt;br /&gt;
===Non-empty wiki pages===&lt;br /&gt;
&lt;br /&gt;
Currently (2017-07-08), 28 &lt;br /&gt;
of 77 [[Protocol_decoders#Supported protocol decoders|protocol decoders]] (36%) have non-empty pages here on the wiki:&lt;br /&gt;
&lt;br /&gt;
*[[Protocol decoder:Adns5020|ADNS5020]] &lt;br /&gt;
*[[Protocol decoder:Am230x|AM230X]]&lt;br /&gt;
*[[Protocol decoder:Arm etmv3|ARM ETMV3]]&lt;br /&gt;
*[[Protocol decoder:Arm itm|ARM ITM]]&lt;br /&gt;
*[[Protocol decoder:Arm tpiu|ARM TPIU]]&lt;br /&gt;
*[[Protocol decoder:Aud|AUD]]&lt;br /&gt;
*[[Protocol decoder:Avr pdi|AVR PDI]]&lt;br /&gt;
*[[Protocol decoder:Dcf77|DCF77]]&lt;br /&gt;
*[[Protocol decoder:I2c|I²C]]&lt;br /&gt;
*[[Protocol decoder:Ir nec|IR NEC]]&lt;br /&gt;
*[[Protocol decoder:Modbus|Modbus]]&lt;br /&gt;
*[[Protocol decoder:Mrf24j40|MRF24J40]]&lt;br /&gt;
*[[Protocol decoder:Nrf24l01|NRF24L01]]&lt;br /&gt;
*[[Protocol decoder:Nunchuk|Nunchuk]]&lt;br /&gt;
*[[Protocol decoder:Pan1321|PAN1321]]&lt;br /&gt;
*[[Protocol decoder:Parallel|Parallel]]&lt;br /&gt;
*[[Protocol decoder:Pwm|PWM]]&lt;br /&gt;
*[[Protocol decoder:Qi|Qi]]&lt;br /&gt;
*[[Protocol decoder:Rfm12|RFM12]]&lt;br /&gt;
*[[Protocol decoder:Rgb led spi|RGB LED SPI]]&lt;br /&gt;
*[[Protocol decoder:Rtc8564|RTC8564]]&lt;br /&gt;
*[[Protocol decoder:Spdif|SPDIF]]&lt;br /&gt;
*[[Protocol decoder:Spi|SPI]]&lt;br /&gt;
*[[Protocol decoder:Spiflash|SPI flash]]&lt;br /&gt;
*[[Protocol decoder:Stepper motor|Stepper motor]]&lt;br /&gt;
*[[Protocol decoder:Tlc5620|TLC5620]]&lt;br /&gt;
*[[Protocol decoder:Uart|UART]]&lt;br /&gt;
*[[Protocol decoder:Z80|Z80]]&lt;br /&gt;
&lt;br /&gt;
==Profile==&lt;br /&gt;
&lt;br /&gt;
Profile: see [http://en.wikipedia.org/wiki/User:Mortense my Wikipedia user page].&lt;br /&gt;
&lt;br /&gt;
Credentials: more than 5000 edits on the English Wikipedia.&lt;br /&gt;
&lt;br /&gt;
==Shortcuts==&lt;br /&gt;
&lt;br /&gt;
* [https://sigrok.org/doc/pulseview/0.4.1/manual.html PulseView manual]&lt;br /&gt;
* [[Sigrok-cli|sigrok-cli man page]]&lt;br /&gt;
* [https://plus.google.com/communities/109843678338531936878 Google+ group for sigrok] (now defunc as Google+ closed down)&lt;br /&gt;
* [[PulseView]]. Includes the command line to get the source code using Git.&lt;br /&gt;
* [[Downloads#Windows_Download|PulseView, Windows binaries]] (nightly - development). [[Windows#Windows_installers|Alternative location]] (but it seems redundant).&lt;br /&gt;
* [[Downloads#Linux_AppImage_binaries|PulseView, Linux binaries]] (nightly - development).&lt;br /&gt;
* [[Example dumps|Example data dumps]] - sample data in .sr format. Also includes instructions on how to contribute new ones. Includes the command line to get the whole thing using Git (as of 2017-11-26, 2286 &amp;quot;objects&amp;quot;, 724 .sr files, about 65&amp;amp;nbsp;MB in download size, 192&amp;amp;nbsp;MB on disk).&lt;br /&gt;
* [[Special:Random|Random page]]&lt;br /&gt;
* [https://sigrok.org/jenkins/job/sigrok-native-appimage/ Native app image] (not official yet). Is for Linux and x86 only. See also [https://en.wikipedia.org/wiki/AppImage AppImage] (Wikipedia).&lt;br /&gt;
* [[Press]]. List of annotated links, mostly blog posts.&lt;br /&gt;
* [[Probe comparison]]&lt;br /&gt;
* [[Link Instruments MSO-19|MSO-19]]. Mixed oscilloscope and logic analyser by Link Instruments that (or rather its driver) crashes PulveView at startup when connected (until some time in mid 2018(?)). Some reverse engineering has been done in 2012, but it is not supported (has status &amp;quot;Planned&amp;quot;). [https://sigrok.org/bugzilla/show_bug.cgi?id=1155 Sigrok bug report for the crash]. [http://www.linkinstruments.com/doupdate_mso19.htm Software download page for it.]&lt;br /&gt;
* [[Windows|sigrok, Microsoft Windows page]]&lt;br /&gt;
** [[Windows#Device specific USB driver|Device specific USB driver - WinUSB - Zadig]]&lt;br /&gt;
&lt;br /&gt;
===Protocol decoders===&lt;br /&gt;
&lt;br /&gt;
* The [[CAN|CAN bus protocol decoder]]&lt;br /&gt;
* [[Protocol decoder HOWTO]]&lt;br /&gt;
* [[Protocol decoder API]]&lt;br /&gt;
* [[Protocol decoders#Supported protocol decoders|Supported protocol decoders]]&lt;br /&gt;
&lt;br /&gt;
===Building sigrok===&lt;br /&gt;
&lt;br /&gt;
* On Debian (e.g. Raspberry Pi): [[Linux#Installing the requirements 2|Installing required software]]&lt;br /&gt;
* On Debian (e.g. Raspberry Pi): [[Linux#Building 3|Actual build]]&lt;br /&gt;
* Alternative to following the wiki pages: [https://sigrok.org/gitweb/?p=sigrok-util.git;a=blob;f=cross-compile/linux/sigrok-cross-linux;h=2c8e559efde8cf6ae9a365bf1a4324a33600fae7;hb=HEAD a script that will do most of it]. (&amp;#039;&amp;#039;[sigrok-util.git] / cross-compile / linux / sigrok-cross-linux&amp;#039;&amp;#039;)&lt;br /&gt;
* Windows:&lt;br /&gt;
**On Windows: [[Windows#Native_build_using_MSYS2|Native build using MSYS2]] (but may not really work - sigrok-cli and PulseView are listed as not working).&lt;br /&gt;
**[[Windows#Cross-compile_using_MXE|Cross compile on Linux]] (using [http://mxe.cc/ MXE]). The script is [https://sigrok.org/gitweb/?p=sigrok-util.git;a=blob;f=cross-compile/mingw/sigrok-cross-mingw;h=8330406ecd28969d8d29c8ad23df8968a4b9ec68;hb=HEAD /sigrok-util/cross-compile/mingw/sigrok-cross-mingw]. Used for nightlies? [https://sigrok.org/jenkins/job/sigrok-cross-mingw/buildtype=static,debugtype=debug,platform=cross-i686-w64-mingw32/ Jenkins page for the debug version].&lt;br /&gt;
* The Jenkins thingy - automatic build, e.g. nightlies for PulseView and &amp;quot;AppImage&amp;quot; (self-contained executable for x86 Linux). Sample: [https://sigrok.org/jenkins/job/sigrok-cli/ sigrok-cli] with 44 configurations (43 cross-compiles), e.g. cross-x86_64-w64-mingw32 (for Windows 64-bit?).&lt;br /&gt;
* The [[Building#Installing_to_a_non-standard_directory_using_LD_LIBRARY_PATH|LD_LIBRARY_PATH trick]]&lt;/div&gt;</summary>
		<author><name>PeterMortensen</name></author>
	</entry>
	<entry>
		<id>https://sigrok.org/w/index.php?title=User:PeterMortensen&amp;diff=14818</id>
		<title>User:PeterMortensen</title>
		<link rel="alternate" type="text/html" href="https://sigrok.org/w/index.php?title=User:PeterMortensen&amp;diff=14818"/>
		<updated>2020-01-11T20:06:32Z</updated>

		<summary type="html">&lt;p&gt;PeterMortensen: /* 2020-01 */ Scope creep :-)&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;==Recent activity==&lt;br /&gt;
&lt;br /&gt;
===2020-01===&lt;br /&gt;
&lt;br /&gt;
Getting insight into what happens with PC keyboards on the signal level and on higher levels (related to repurposing an old PS/2 keyboard (BTC 5349) as a macro keyboard, with the help of an [https://store.arduino.cc/arduino-leonardo-with-headers Arduino Leonardo]):&lt;br /&gt;
&lt;br /&gt;
#For the keyboards list below: Verify that all keys work (by capturing in PulseView and observe there is actually a signal. Note that the accent and umlaut key requires pressing a letter after).&lt;br /&gt;
#For the keyboards listed below: Capturing and submitting information for PS/2 PC keyboards (CLK and DATA), including during pressing and releasing  and bidirectional traffic (PC initialising the keyboard, e.g. at connect and/or PC startup). Submit to Git repository &amp;quot;[https://sigrok.org/gitweb/ sigrok-dumps]&amp;quot;: Keyboards &lt;br /&gt;
(all European layout):&lt;br /&gt;
##BTC 5349 (102 keys IBM/AT type, corresponding to IBM Model M (Enhanced)). 100 mA (measured).&lt;br /&gt;
##Fujitsu/Siemens (102 keys + 10 media keys (Sleep, mail, play, stop, speaker controls, etc.). IBM/AT type. ??? mA.&lt;br /&gt;
##Microsoft &amp;quot;Natural Keyboard Elite&amp;quot;. 500 mA  (nominal).&lt;br /&gt;
#Consider adding regression tests for the PS/2 decoder. It will include if it handles the 2-3% clock frequency offset for the BTC 5349 (probably, as there is CLK, but that is not the case if decoding as the UART protocol decoder).&lt;br /&gt;
#Some higher-level protocol decoder work for PC keyboard (not decided on yet), e.g. identifying scan code sequences as the corresponding keys.&lt;br /&gt;
#Some hardware to allow an Arduino Leonardo to pose as a PC ([https://en.wikipedia.org/wiki/Open_collector open collector] outputs). To explore what commands various keyboards responds to and what modes they might enter (for example, Linux allegedly tries put keyboards into &amp;quot;Set 3&amp;quot; (the powerup default is usually &amp;quot;Set 2&amp;quot;)). The three LEDs on the keyboard can also be used for user feedback for the macro keyboard.&lt;br /&gt;
#Existing content on the wiki, etc. regarding PC keyboards, etc.:&lt;br /&gt;
##Keyboards (none found, but are probably not supposed to exist, only actual capturing hardware(?)).&lt;br /&gt;
##[[Protocol_decoder:Ps2|PS/2 decoder page]]. Does not exist??&lt;br /&gt;
##&amp;#039;&amp;#039;&amp;quot;The decode of some PS/2 (or USB) keyboard/mouse traffic could yield an ASCII text file of all the keys that were pressed on the keyboard.&amp;quot;&amp;#039;&amp;#039; (on [[Protocol decoder output|a planning page]])&lt;br /&gt;
##Look in bug tracker for PS/2, keyboards, etc.&lt;br /&gt;
##Look in Git log.&lt;br /&gt;
##Look in blog posts for info on PS/2, etc.&lt;br /&gt;
#Updating the wiki&lt;br /&gt;
##Add PS/2 low-level reference (details about the CLK signal) to the PS/2 protocol decoder page. IRC ref. [2020-01-07 01:49:07] and [2020-01-07 18:09:02] (UTC+1)). Add to the resources section. Is: http://www.nerdkits.com/videos/interrupts_and_ps2_keyboard/&lt;br /&gt;
##Add keyboard documentation, pictures (not decided on yet).&lt;br /&gt;
&lt;br /&gt;
Other:&lt;br /&gt;
&lt;br /&gt;
#Updating broken links here. E.g for the CAN protocol decoder.&lt;br /&gt;
&lt;br /&gt;
===2019-04===&lt;br /&gt;
&lt;br /&gt;
#Building a Docker container for compiling sigrok-cli and PulseView. It is supposed to both run under Linux and Windows (x64).&lt;br /&gt;
#Testing a new driver by user &amp;#039;&amp;#039;droghio&amp;#039;&amp;#039; that should work for the [[Tektronix TDS2024B|TDS2024C Tektronix  oscilloscope]]. Some placeholding:&lt;br /&gt;
#*Part of &amp;quot;lsusb -v&amp;quot; output: &amp;quot;Bus 008 Device 005: ID 0699:03a6 Tektronix, Inc.&amp;quot;&lt;br /&gt;
#*Notes to self: the &amp;#039;&amp;#039;&amp;quot;[git://sigrok.org/sigrok-util util]&amp;quot;&amp;#039;&amp;#039; repository (for building and stuff) - [https://github.com/sigrokproject/sigrok-util read-only mirror at GitHub]. [https://github.com/sigrokproject/sigrok-util/blob/master/cross-compile/linux/sigrok-cross-linux Cross-built script].&lt;br /&gt;
&lt;br /&gt;
===2018-04===&lt;br /&gt;
&lt;br /&gt;
Submitting comprehensive sample data for CAN bus, both 11-bit and 29-bit messages, and corresponding test cases (mostly for regression test - especially regression for [https://sigrok.org/bugzilla/show_bug.cgi?id=1085 the 2018-04-12 fix to the decoding at the end of the CRC part]).&lt;br /&gt;
&lt;br /&gt;
Notes to self:&lt;br /&gt;
&lt;br /&gt;
# Original acquired analog data: C:\temp2\2017-12-23\CAN decoder, new stuff bit handling at the end of the CRC segment\Data67\In\ACQ000009_Tektronix.txt&lt;br /&gt;
&lt;br /&gt;
===2017-12===&lt;br /&gt;
&lt;br /&gt;
Recording 22483 traces for the purpose of evaluating [https://sigrok.org/bugzilla/show_bug.cgi?id=1085 a proposed fix to the CAN protocol decoder] (actually only changing a single number from 16 to 17), stuff bit at the very end of the CRC segment, with a modified trigger scheme: &lt;br /&gt;
&lt;br /&gt;
* Change the position of the trigger point to the end (right) so there is always a CAN message in the trace (for the previous), but still 26&amp;amp;nbsp;µs recessive.&lt;br /&gt;
&lt;br /&gt;
The time division was 100&amp;amp;nbsp;µs / division (about 225 bit times max) to always record whole CAN messages - at 10 samples per bit time.&lt;br /&gt;
&lt;br /&gt;
===2017-07===&lt;br /&gt;
&lt;br /&gt;
Using the sigrok command-line (&amp;quot;sigrok-cli&amp;quot;) to bulk process data derived from Tektronix oscilloscope data of 250&amp;amp;nbsp;kbit/s CAN traffic on a real-world system (mobile cranes). The first sample data set is 5335 oscilloscope traces obtained with the trigger set to a negative pulse on CAN-H (to start off at the end of a CAN message) - corresponding to 6.5 recessive bits, 26&amp;amp;nbsp;µsec (detecting the space in-between CAN messages). Sometimes there is a CAN message right after this, sometimes it is a bit delayed, and sometimes it is completely empty.&lt;br /&gt;
&lt;br /&gt;
A sample command line (on Windows) is:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;sigrok-cli -P can:bitrate=250000:can_rx=&amp;quot;CAN RX&amp;quot; -P timing:data=&amp;quot;CAN RX&amp;quot; -I csv:header=true:samplerate=5000000 -i &amp;quot;T:\stdHMF\UserData\scripts\Tektronix2PulseView\_PulseView_AllChannels_ACQ000001_Tektronix_f5000000.txt&amp;quot;&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===2017-04===&lt;br /&gt;
&lt;br /&gt;
Using [[PulseView]] to decode data from a Tektronix oscilloscope of SPI communication to a CAN controller, [http://www.microchip.com/wwwproducts/Devices.aspx?dDocName=en010406 MCP2515].&lt;br /&gt;
&lt;br /&gt;
==Task list==&lt;br /&gt;
&lt;br /&gt;
Currently not in priority order.&lt;br /&gt;
&lt;br /&gt;
* Allow import of analog data through CSV files. (Related: fixed  [https://sigrok.org/bugzilla/show_bug.cgi?id=1064 bug 1064] - &amp;#039;&amp;#039;locale&amp;#039;&amp;#039; issue, decimal point, &amp;quot;,&amp;quot; vs. &amp;quot;.&amp;quot;.).&lt;br /&gt;
&lt;br /&gt;
* Add detection of error frames to the CAN protocol decoder&lt;br /&gt;
&lt;br /&gt;
* Add support for the gigga watt EEVBlog multimeter (Bluetooth, etc.)&lt;br /&gt;
&lt;br /&gt;
* Add a snap feature to the &amp;quot;cursor&amp;quot; (blue) in PulveView&lt;br /&gt;
&lt;br /&gt;
* Change number of significant digits for the time display in the &amp;quot;cursor&amp;quot; (blue) in PulveView&lt;br /&gt;
&lt;br /&gt;
* Submit selected sample traces for CAN decoder change (for CRC segment) validation. With and without stuff bits in various places. With and without timing deviations. (Related: [https://sigrok.org/bugzilla/show_bug.cgi?id=1085 bug 1085], celeron55&amp;#039;s fix, &amp;#039;&amp;#039;&amp;#039;&amp;#039;&amp;#039;if len(self.bits) &amp;gt; self.last_databit + 16&amp;#039;&amp;#039;&amp;#039;&amp;#039;&amp;#039; → &amp;#039;&amp;#039;&amp;#039;&amp;#039;&amp;#039;if len(self.bits) &amp;gt; self.last_databit + 17&amp;#039;&amp;#039;&amp;#039;&amp;#039;&amp;#039; (16 → 17)).&lt;br /&gt;
&lt;br /&gt;
* Add support for the [[Tektronix TDS2000B series|TDS2000]] series in libsigrok, and thus, by extension, use by the new shiny stuff in PulveView.&lt;br /&gt;
&lt;br /&gt;
===On wiki===&lt;br /&gt;
&lt;br /&gt;
* Change recommended procedure for submitting sample Sigrok files (traces), on &amp;#039;&amp;#039;[[Example dumps#Contributing dumps|Example dumps]]&amp;#039;&amp;#039;.&lt;br /&gt;
&lt;br /&gt;
==Glossary==&lt;br /&gt;
&lt;br /&gt;
*&amp;#039;&amp;#039;BBB&amp;#039;&amp;#039; [https://en.wikipedia.org/wiki/BeagleBoard#BeagleBone_Black BeagleBone Black]&lt;br /&gt;
*&amp;#039;&amp;#039;GH&amp;#039;&amp;#039; [http://en.wikipedia.org/wiki/GitHub GitHub]&lt;br /&gt;
*&amp;#039;&amp;#039;ISTR&amp;#039;&amp;#039; ????&lt;br /&gt;
*&amp;#039;&amp;#039;LA&amp;#039;&amp;#039; Logic analyser&lt;br /&gt;
*&amp;#039;&amp;#039;ML&amp;#039;&amp;#039; Mailing list&lt;br /&gt;
*&amp;#039;&amp;#039;OLS&amp;#039;&amp;#039; ????&lt;br /&gt;
*&amp;#039;&amp;#039;PR&amp;#039;&amp;#039; Pull request (a Git term). &amp;#039;&amp;#039;Not&amp;#039;&amp;#039; &amp;quot;problem report&amp;quot;.&lt;br /&gt;
*&amp;#039;&amp;#039;SR&amp;#039;&amp;#039; Sigrok&lt;br /&gt;
*&amp;#039;&amp;#039;srd&amp;#039;&amp;#039; ????&lt;br /&gt;
*&amp;#039;&amp;#039;WIP&amp;#039;&amp;#039; Work in progress. Mostly related to particular Git commits.&lt;br /&gt;
*&amp;#039;&amp;#039;PD&amp;#039;&amp;#039; protocol decoder. Non-standard spellings are &amp;#039;&amp;#039;Pd&amp;#039;&amp;#039; and &amp;#039;&amp;#039;pd&amp;#039;&amp;#039;.&lt;br /&gt;
*&amp;#039;&amp;#039;PV&amp;#039;&amp;#039; PulseView. Non-standard spellings are &amp;#039;&amp;#039;Pv&amp;#039;&amp;#039; and &amp;#039;&amp;#039;pv&amp;#039;&amp;#039;.&lt;br /&gt;
&lt;br /&gt;
==Some bug reports==&lt;br /&gt;
&lt;br /&gt;
* [https://sigrok.org/bug/1155 Possible problem with the MSO-19 USB driver on Windows]. PulveView crashes at startup if the MSO-19 is connected.&lt;br /&gt;
&lt;br /&gt;
==Interests==&lt;br /&gt;
&lt;br /&gt;
I am mostly interested in:&lt;br /&gt;
&lt;br /&gt;
* The [[CAN|CAN protocol decoder]] (that page is currently empty, but it is listed on [[Protocol decoders|the protocol decoders page]])&lt;br /&gt;
* CAN bus loggers, like IXXAT&amp;#039;s (now acquired by HMS) &amp;#039;&amp;#039;USB-to-CAN compact&amp;#039;&amp;#039;/&amp;#039;&amp;#039;USB-to-CAN V2&amp;#039;&amp;#039; and Kvaser&amp;#039;s &amp;#039;&amp;#039;Memorator&amp;#039;&amp;#039;.&lt;br /&gt;
* The higher-level [http://en.wikipedia.org/wiki/CANopen CANopen] protocol (on top of CAN)&lt;br /&gt;
&lt;br /&gt;
==Protocol decoders==&lt;br /&gt;
&lt;br /&gt;
===Non-empty wiki pages===&lt;br /&gt;
&lt;br /&gt;
Currently (2017-07-08), 28 &lt;br /&gt;
of 77 [[Protocol_decoders#Supported protocol decoders|protocol decoders]] (36%) have non-empty pages here on the wiki:&lt;br /&gt;
&lt;br /&gt;
*[[Protocol decoder:Adns5020|ADNS5020]] &lt;br /&gt;
*[[Protocol decoder:Am230x|AM230X]]&lt;br /&gt;
*[[Protocol decoder:Arm etmv3|ARM ETMV3]]&lt;br /&gt;
*[[Protocol decoder:Arm itm|ARM ITM]]&lt;br /&gt;
*[[Protocol decoder:Arm tpiu|ARM TPIU]]&lt;br /&gt;
*[[Protocol decoder:Aud|AUD]]&lt;br /&gt;
*[[Protocol decoder:Avr pdi|AVR PDI]]&lt;br /&gt;
*[[Protocol decoder:Dcf77|DCF77]]&lt;br /&gt;
*[[Protocol decoder:I2c|I²C]]&lt;br /&gt;
*[[Protocol decoder:Ir nec|IR NEC]]&lt;br /&gt;
*[[Protocol decoder:Modbus|Modbus]]&lt;br /&gt;
*[[Protocol decoder:Mrf24j40|MRF24J40]]&lt;br /&gt;
*[[Protocol decoder:Nrf24l01|NRF24L01]]&lt;br /&gt;
*[[Protocol decoder:Nunchuk|Nunchuk]]&lt;br /&gt;
*[[Protocol decoder:Pan1321|PAN1321]]&lt;br /&gt;
*[[Protocol decoder:Parallel|Parallel]]&lt;br /&gt;
*[[Protocol decoder:Pwm|PWM]]&lt;br /&gt;
*[[Protocol decoder:Qi|Qi]]&lt;br /&gt;
*[[Protocol decoder:Rfm12|RFM12]]&lt;br /&gt;
*[[Protocol decoder:Rgb led spi|RGB LED SPI]]&lt;br /&gt;
*[[Protocol decoder:Rtc8564|RTC8564]]&lt;br /&gt;
*[[Protocol decoder:Spdif|SPDIF]]&lt;br /&gt;
*[[Protocol decoder:Spi|SPI]]&lt;br /&gt;
*[[Protocol decoder:Spiflash|SPI flash]]&lt;br /&gt;
*[[Protocol decoder:Stepper motor|Stepper motor]]&lt;br /&gt;
*[[Protocol decoder:Tlc5620|TLC5620]]&lt;br /&gt;
*[[Protocol decoder:Uart|UART]]&lt;br /&gt;
*[[Protocol decoder:Z80|Z80]]&lt;br /&gt;
&lt;br /&gt;
==Profile==&lt;br /&gt;
&lt;br /&gt;
Profile: see [http://en.wikipedia.org/wiki/User:Mortense my Wikipedia user page].&lt;br /&gt;
&lt;br /&gt;
Credentials: more than 5000 edits on the English Wikipedia.&lt;br /&gt;
&lt;br /&gt;
==Shortcuts==&lt;br /&gt;
&lt;br /&gt;
* [https://sigrok.org/doc/pulseview/0.4.1/manual.html PulseView manual]&lt;br /&gt;
* [[Sigrok-cli|sigrok-cli man page]]&lt;br /&gt;
* [https://plus.google.com/communities/109843678338531936878 Google+ group for sigrok] (now defunc as Google+ closed down)&lt;br /&gt;
* [[PulseView]]. Includes the command line to get the source code using Git.&lt;br /&gt;
* [[Downloads#Windows_Download|PulseView, Windows binaries]] (nightly - development). [[Windows#Windows_installers|Alternative location]] (but it seems redundant).&lt;br /&gt;
* [[Downloads#Linux_AppImage_binaries|PulseView, Linux binaries]] (nightly - development).&lt;br /&gt;
* [[Example dumps|Example data dumps]] - sample data in .sr format. Also includes instructions on how to contribute new ones. Includes the command line to get the whole thing using Git (as of 2017-11-26, 2286 &amp;quot;objects&amp;quot;, 724 .sr files, about 65&amp;amp;nbsp;MB in download size, 192&amp;amp;nbsp;MB on disk).&lt;br /&gt;
* [[Special:Random|Random page]]&lt;br /&gt;
* [https://sigrok.org/jenkins/job/sigrok-native-appimage/ Native app image] (not official yet). Is for Linux and x86 only. See also [https://en.wikipedia.org/wiki/AppImage AppImage] (Wikipedia).&lt;br /&gt;
* [[Press]]. List of annotated links, mostly blog posts.&lt;br /&gt;
* [[Probe comparison]]&lt;br /&gt;
* [[Link Instruments MSO-19|MSO-19]]. Mixed oscilloscope and logic analyser by Link Instruments that (or rather its driver) crashes PulveView at startup when connected (until some time in mid 2018(?)). Some reverse engineering has been done in 2012, but it is not supported (has status &amp;quot;Planned&amp;quot;). [https://sigrok.org/bugzilla/show_bug.cgi?id=1155 Sigrok bug report for the crash]. [http://www.linkinstruments.com/doupdate_mso19.htm Software download page for it.]&lt;br /&gt;
* [[Windows|sigrok, Microsoft Windows page]]&lt;br /&gt;
** [[Windows#Device specific USB driver|Device specific USB driver - WinUSB - Zadig]]&lt;br /&gt;
&lt;br /&gt;
===Protocol decoders===&lt;br /&gt;
&lt;br /&gt;
* The [[CAN|CAN bus protocol decoder]]&lt;br /&gt;
* [[Protocol decoder HOWTO]]&lt;br /&gt;
* [[Protocol decoder API]]&lt;br /&gt;
* [[Protocol decoders#Supported protocol decoders|Supported protocol decoders]]&lt;br /&gt;
&lt;br /&gt;
===Building sigrok===&lt;br /&gt;
&lt;br /&gt;
* On Debian (e.g. Raspberry Pi): [[Linux#Installing the requirements 2|Installing required software]]&lt;br /&gt;
* On Debian (e.g. Raspberry Pi): [[Linux#Building 3|Actual build]]&lt;br /&gt;
* Alternative to following the wiki pages: [https://sigrok.org/gitweb/?p=sigrok-util.git;a=blob;f=cross-compile/linux/sigrok-cross-linux;h=2c8e559efde8cf6ae9a365bf1a4324a33600fae7;hb=HEAD a script that will do most of it]. (&amp;#039;&amp;#039;[sigrok-util.git] / cross-compile / linux / sigrok-cross-linux&amp;#039;&amp;#039;)&lt;br /&gt;
* Windows:&lt;br /&gt;
**On Windows: [[Windows#Native_build_using_MSYS2|Native build using MSYS2]] (but may not really work - sigrok-cli and PulseView are listed as not working).&lt;br /&gt;
**[[Windows#Cross-compile_using_MXE|Cross compile on Linux]] (using [http://mxe.cc/ MXE]). The script is [https://sigrok.org/gitweb/?p=sigrok-util.git;a=blob;f=cross-compile/mingw/sigrok-cross-mingw;h=8330406ecd28969d8d29c8ad23df8968a4b9ec68;hb=HEAD /sigrok-util/cross-compile/mingw/sigrok-cross-mingw]. Used for nightlies? [https://sigrok.org/jenkins/job/sigrok-cross-mingw/buildtype=static,debugtype=debug,platform=cross-i686-w64-mingw32/ Jenkins page for the debug version].&lt;br /&gt;
* The Jenkins thingy - automatic build, e.g. nightlies for PulseView and &amp;quot;AppImage&amp;quot; (self-contained executable for x86 Linux). Sample: [https://sigrok.org/jenkins/job/sigrok-cli/ sigrok-cli] with 44 configurations (43 cross-compiles), e.g. cross-x86_64-w64-mingw32 (for Windows 64-bit?).&lt;br /&gt;
* The [[Building#Installing_to_a_non-standard_directory_using_LD_LIBRARY_PATH|LD_LIBRARY_PATH trick]]&lt;/div&gt;</summary>
		<author><name>PeterMortensen</name></author>
	</entry>
	<entry>
		<id>https://sigrok.org/w/index.php?title=User:PeterMortensen&amp;diff=14817</id>
		<title>User:PeterMortensen</title>
		<link rel="alternate" type="text/html" href="https://sigrok.org/w/index.php?title=User:PeterMortensen&amp;diff=14817"/>
		<updated>2020-01-11T19:47:45Z</updated>

		<summary type="html">&lt;p&gt;PeterMortensen: /* 2020-01 */ Minor corrections, etc.&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;==Recent activity==&lt;br /&gt;
&lt;br /&gt;
===2020-01===&lt;br /&gt;
&lt;br /&gt;
Getting insight into what happens with PC keyboards on the signal level and on higher levels (related to repurposing an old PS/2 keyboard (BTC 5349) as a macro keyboard, with the help of an [https://store.arduino.cc/arduino-leonardo-with-headers Arduino Leonardo]):&lt;br /&gt;
&lt;br /&gt;
#Verify that all keys work on BTC 5349. The same for the other keyboard (but it is expected to work).&lt;br /&gt;
#Capturing and submitting information for PS/2 PC keyboards (CLK and DATA), including during pressing and releasing all 102 keys for two IBM/AT type (standard) keyboards and bidirectional traffic (PC initialising the keyboard, e.g. at connect and/or PC startup). Submit to Git repository &amp;quot;[https://sigrok.org/gitweb/ sigrok-dumps]&amp;quot;.&lt;br /&gt;
#Consider adding regression tests for the PS/2 decoder. It will include if it handles the 2-3% clock frequency offset for the BTC 5349 (probably, as there is CLK, but that is not the case if decoding as the UART protocol decoder).&lt;br /&gt;
#Some higher-level protocol decoder work for PC keyboard (not decided on yet), e.g. identifying scan code sequences as the corresponding keys.&lt;br /&gt;
#Some hardware to allow an Arduino Leonardo to pose as a PC ([https://en.wikipedia.org/wiki/Open_collector open collector] outputs). To explore what commands various keyboards responds to and what modes they might enter (for example, Linux allegedly tries put keyboards into &amp;quot;Set 3&amp;quot; (the powerup default is usually &amp;quot;Set 2&amp;quot;)). The three LEDs on the keyboard can also be used for user feedback for the macro keyboard.&lt;br /&gt;
#Existing content on the wiki, etc. regarding PC keyboards, etc.:&lt;br /&gt;
##Keyboards (none found, but are probably not supposed to exist, only actual capturing hardware(?)).&lt;br /&gt;
##[[Protocol_decoder:Ps2|PS/2 decoder page]]. Does not exist??&lt;br /&gt;
##&amp;#039;&amp;#039;&amp;quot;The decode of some PS/2 (or USB) keyboard/mouse traffic could yield an ASCII text file of all the keys that were pressed on the keyboard.&amp;quot;&amp;#039;&amp;#039; (on [[Protocol decoder output|a planning page]])&lt;br /&gt;
##Look in bug tracker for PS/2, keyboards, etc.&lt;br /&gt;
##Look in Git log.&lt;br /&gt;
##Look in blog posts for info on PS/2, etc.&lt;br /&gt;
#Updating the wiki&lt;br /&gt;
##Add PS/2 low-level reference (details about the CLK signal) to the PS/2 protocol decoder page. IRC ref. [2020-01-07 01:49:07] and [2020-01-07 18:09:02] (UTC+1)). Add to the resources section. Is: http://www.nerdkits.com/videos/interrupts_and_ps2_keyboard/&lt;br /&gt;
##Add keyboard documentation, pictures (not decided on yet).&lt;br /&gt;
&lt;br /&gt;
Other:&lt;br /&gt;
&lt;br /&gt;
#Updating broken links here. E.g for the CAN protocol decoder.&lt;br /&gt;
&lt;br /&gt;
===2019-04===&lt;br /&gt;
&lt;br /&gt;
#Building a Docker container for compiling sigrok-cli and PulseView. It is supposed to both run under Linux and Windows (x64).&lt;br /&gt;
#Testing a new driver by user &amp;#039;&amp;#039;droghio&amp;#039;&amp;#039; that should work for the [[Tektronix TDS2024B|TDS2024C Tektronix  oscilloscope]]. Some placeholding:&lt;br /&gt;
#*Part of &amp;quot;lsusb -v&amp;quot; output: &amp;quot;Bus 008 Device 005: ID 0699:03a6 Tektronix, Inc.&amp;quot;&lt;br /&gt;
#*Notes to self: the &amp;#039;&amp;#039;&amp;quot;[git://sigrok.org/sigrok-util util]&amp;quot;&amp;#039;&amp;#039; repository (for building and stuff) - [https://github.com/sigrokproject/sigrok-util read-only mirror at GitHub]. [https://github.com/sigrokproject/sigrok-util/blob/master/cross-compile/linux/sigrok-cross-linux Cross-built script].&lt;br /&gt;
&lt;br /&gt;
===2018-04===&lt;br /&gt;
&lt;br /&gt;
Submitting comprehensive sample data for CAN bus, both 11-bit and 29-bit messages, and corresponding test cases (mostly for regression test - especially regression for [https://sigrok.org/bugzilla/show_bug.cgi?id=1085 the 2018-04-12 fix to the decoding at the end of the CRC part]).&lt;br /&gt;
&lt;br /&gt;
Notes to self:&lt;br /&gt;
&lt;br /&gt;
# Original acquired analog data: C:\temp2\2017-12-23\CAN decoder, new stuff bit handling at the end of the CRC segment\Data67\In\ACQ000009_Tektronix.txt&lt;br /&gt;
&lt;br /&gt;
===2017-12===&lt;br /&gt;
&lt;br /&gt;
Recording 22483 traces for the purpose of evaluating [https://sigrok.org/bugzilla/show_bug.cgi?id=1085 a proposed fix to the CAN protocol decoder] (actually only changing a single number from 16 to 17), stuff bit at the very end of the CRC segment, with a modified trigger scheme: &lt;br /&gt;
&lt;br /&gt;
* Change the position of the trigger point to the end (right) so there is always a CAN message in the trace (for the previous), but still 26&amp;amp;nbsp;µs recessive.&lt;br /&gt;
&lt;br /&gt;
The time division was 100&amp;amp;nbsp;µs / division (about 225 bit times max) to always record whole CAN messages - at 10 samples per bit time.&lt;br /&gt;
&lt;br /&gt;
===2017-07===&lt;br /&gt;
&lt;br /&gt;
Using the sigrok command-line (&amp;quot;sigrok-cli&amp;quot;) to bulk process data derived from Tektronix oscilloscope data of 250&amp;amp;nbsp;kbit/s CAN traffic on a real-world system (mobile cranes). The first sample data set is 5335 oscilloscope traces obtained with the trigger set to a negative pulse on CAN-H (to start off at the end of a CAN message) - corresponding to 6.5 recessive bits, 26&amp;amp;nbsp;µsec (detecting the space in-between CAN messages). Sometimes there is a CAN message right after this, sometimes it is a bit delayed, and sometimes it is completely empty.&lt;br /&gt;
&lt;br /&gt;
A sample command line (on Windows) is:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;sigrok-cli -P can:bitrate=250000:can_rx=&amp;quot;CAN RX&amp;quot; -P timing:data=&amp;quot;CAN RX&amp;quot; -I csv:header=true:samplerate=5000000 -i &amp;quot;T:\stdHMF\UserData\scripts\Tektronix2PulseView\_PulseView_AllChannels_ACQ000001_Tektronix_f5000000.txt&amp;quot;&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===2017-04===&lt;br /&gt;
&lt;br /&gt;
Using [[PulseView]] to decode data from a Tektronix oscilloscope of SPI communication to a CAN controller, [http://www.microchip.com/wwwproducts/Devices.aspx?dDocName=en010406 MCP2515].&lt;br /&gt;
&lt;br /&gt;
==Task list==&lt;br /&gt;
&lt;br /&gt;
Currently not in priority order.&lt;br /&gt;
&lt;br /&gt;
* Allow import of analog data through CSV files. (Related: fixed  [https://sigrok.org/bugzilla/show_bug.cgi?id=1064 bug 1064] - &amp;#039;&amp;#039;locale&amp;#039;&amp;#039; issue, decimal point, &amp;quot;,&amp;quot; vs. &amp;quot;.&amp;quot;.).&lt;br /&gt;
&lt;br /&gt;
* Add detection of error frames to the CAN protocol decoder&lt;br /&gt;
&lt;br /&gt;
* Add support for the gigga watt EEVBlog multimeter (Bluetooth, etc.)&lt;br /&gt;
&lt;br /&gt;
* Add a snap feature to the &amp;quot;cursor&amp;quot; (blue) in PulveView&lt;br /&gt;
&lt;br /&gt;
* Change number of significant digits for the time display in the &amp;quot;cursor&amp;quot; (blue) in PulveView&lt;br /&gt;
&lt;br /&gt;
* Submit selected sample traces for CAN decoder change (for CRC segment) validation. With and without stuff bits in various places. With and without timing deviations. (Related: [https://sigrok.org/bugzilla/show_bug.cgi?id=1085 bug 1085], celeron55&amp;#039;s fix, &amp;#039;&amp;#039;&amp;#039;&amp;#039;&amp;#039;if len(self.bits) &amp;gt; self.last_databit + 16&amp;#039;&amp;#039;&amp;#039;&amp;#039;&amp;#039; → &amp;#039;&amp;#039;&amp;#039;&amp;#039;&amp;#039;if len(self.bits) &amp;gt; self.last_databit + 17&amp;#039;&amp;#039;&amp;#039;&amp;#039;&amp;#039; (16 → 17)).&lt;br /&gt;
&lt;br /&gt;
* Add support for the [[Tektronix TDS2000B series|TDS2000]] series in libsigrok, and thus, by extension, use by the new shiny stuff in PulveView.&lt;br /&gt;
&lt;br /&gt;
===On wiki===&lt;br /&gt;
&lt;br /&gt;
* Change recommended procedure for submitting sample Sigrok files (traces), on &amp;#039;&amp;#039;[[Example dumps#Contributing dumps|Example dumps]]&amp;#039;&amp;#039;.&lt;br /&gt;
&lt;br /&gt;
==Glossary==&lt;br /&gt;
&lt;br /&gt;
*&amp;#039;&amp;#039;BBB&amp;#039;&amp;#039; [https://en.wikipedia.org/wiki/BeagleBoard#BeagleBone_Black BeagleBone Black]&lt;br /&gt;
*&amp;#039;&amp;#039;GH&amp;#039;&amp;#039; [http://en.wikipedia.org/wiki/GitHub GitHub]&lt;br /&gt;
*&amp;#039;&amp;#039;ISTR&amp;#039;&amp;#039; ????&lt;br /&gt;
*&amp;#039;&amp;#039;LA&amp;#039;&amp;#039; Logic analyser&lt;br /&gt;
*&amp;#039;&amp;#039;ML&amp;#039;&amp;#039; Mailing list&lt;br /&gt;
*&amp;#039;&amp;#039;OLS&amp;#039;&amp;#039; ????&lt;br /&gt;
*&amp;#039;&amp;#039;PR&amp;#039;&amp;#039; Pull request (a Git term). &amp;#039;&amp;#039;Not&amp;#039;&amp;#039; &amp;quot;problem report&amp;quot;.&lt;br /&gt;
*&amp;#039;&amp;#039;SR&amp;#039;&amp;#039; Sigrok&lt;br /&gt;
*&amp;#039;&amp;#039;srd&amp;#039;&amp;#039; ????&lt;br /&gt;
*&amp;#039;&amp;#039;WIP&amp;#039;&amp;#039; Work in progress. Mostly related to particular Git commits.&lt;br /&gt;
*&amp;#039;&amp;#039;PD&amp;#039;&amp;#039; protocol decoder. Non-standard spellings are &amp;#039;&amp;#039;Pd&amp;#039;&amp;#039; and &amp;#039;&amp;#039;pd&amp;#039;&amp;#039;.&lt;br /&gt;
*&amp;#039;&amp;#039;PV&amp;#039;&amp;#039; PulseView. Non-standard spellings are &amp;#039;&amp;#039;Pv&amp;#039;&amp;#039; and &amp;#039;&amp;#039;pv&amp;#039;&amp;#039;.&lt;br /&gt;
&lt;br /&gt;
==Some bug reports==&lt;br /&gt;
&lt;br /&gt;
* [https://sigrok.org/bug/1155 Possible problem with the MSO-19 USB driver on Windows]. PulveView crashes at startup if the MSO-19 is connected.&lt;br /&gt;
&lt;br /&gt;
==Interests==&lt;br /&gt;
&lt;br /&gt;
I am mostly interested in:&lt;br /&gt;
&lt;br /&gt;
* The [[CAN|CAN protocol decoder]] (that page is currently empty, but it is listed on [[Protocol decoders|the protocol decoders page]])&lt;br /&gt;
* CAN bus loggers, like IXXAT&amp;#039;s (now acquired by HMS) &amp;#039;&amp;#039;USB-to-CAN compact&amp;#039;&amp;#039;/&amp;#039;&amp;#039;USB-to-CAN V2&amp;#039;&amp;#039; and Kvaser&amp;#039;s &amp;#039;&amp;#039;Memorator&amp;#039;&amp;#039;.&lt;br /&gt;
* The higher-level [http://en.wikipedia.org/wiki/CANopen CANopen] protocol (on top of CAN)&lt;br /&gt;
&lt;br /&gt;
==Protocol decoders==&lt;br /&gt;
&lt;br /&gt;
===Non-empty wiki pages===&lt;br /&gt;
&lt;br /&gt;
Currently (2017-07-08), 28 &lt;br /&gt;
of 77 [[Protocol_decoders#Supported protocol decoders|protocol decoders]] (36%) have non-empty pages here on the wiki:&lt;br /&gt;
&lt;br /&gt;
*[[Protocol decoder:Adns5020|ADNS5020]] &lt;br /&gt;
*[[Protocol decoder:Am230x|AM230X]]&lt;br /&gt;
*[[Protocol decoder:Arm etmv3|ARM ETMV3]]&lt;br /&gt;
*[[Protocol decoder:Arm itm|ARM ITM]]&lt;br /&gt;
*[[Protocol decoder:Arm tpiu|ARM TPIU]]&lt;br /&gt;
*[[Protocol decoder:Aud|AUD]]&lt;br /&gt;
*[[Protocol decoder:Avr pdi|AVR PDI]]&lt;br /&gt;
*[[Protocol decoder:Dcf77|DCF77]]&lt;br /&gt;
*[[Protocol decoder:I2c|I²C]]&lt;br /&gt;
*[[Protocol decoder:Ir nec|IR NEC]]&lt;br /&gt;
*[[Protocol decoder:Modbus|Modbus]]&lt;br /&gt;
*[[Protocol decoder:Mrf24j40|MRF24J40]]&lt;br /&gt;
*[[Protocol decoder:Nrf24l01|NRF24L01]]&lt;br /&gt;
*[[Protocol decoder:Nunchuk|Nunchuk]]&lt;br /&gt;
*[[Protocol decoder:Pan1321|PAN1321]]&lt;br /&gt;
*[[Protocol decoder:Parallel|Parallel]]&lt;br /&gt;
*[[Protocol decoder:Pwm|PWM]]&lt;br /&gt;
*[[Protocol decoder:Qi|Qi]]&lt;br /&gt;
*[[Protocol decoder:Rfm12|RFM12]]&lt;br /&gt;
*[[Protocol decoder:Rgb led spi|RGB LED SPI]]&lt;br /&gt;
*[[Protocol decoder:Rtc8564|RTC8564]]&lt;br /&gt;
*[[Protocol decoder:Spdif|SPDIF]]&lt;br /&gt;
*[[Protocol decoder:Spi|SPI]]&lt;br /&gt;
*[[Protocol decoder:Spiflash|SPI flash]]&lt;br /&gt;
*[[Protocol decoder:Stepper motor|Stepper motor]]&lt;br /&gt;
*[[Protocol decoder:Tlc5620|TLC5620]]&lt;br /&gt;
*[[Protocol decoder:Uart|UART]]&lt;br /&gt;
*[[Protocol decoder:Z80|Z80]]&lt;br /&gt;
&lt;br /&gt;
==Profile==&lt;br /&gt;
&lt;br /&gt;
Profile: see [http://en.wikipedia.org/wiki/User:Mortense my Wikipedia user page].&lt;br /&gt;
&lt;br /&gt;
Credentials: more than 5000 edits on the English Wikipedia.&lt;br /&gt;
&lt;br /&gt;
==Shortcuts==&lt;br /&gt;
&lt;br /&gt;
* [https://sigrok.org/doc/pulseview/0.4.1/manual.html PulseView manual]&lt;br /&gt;
* [[Sigrok-cli|sigrok-cli man page]]&lt;br /&gt;
* [https://plus.google.com/communities/109843678338531936878 Google+ group for sigrok] (now defunc as Google+ closed down)&lt;br /&gt;
* [[PulseView]]. Includes the command line to get the source code using Git.&lt;br /&gt;
* [[Downloads#Windows_Download|PulseView, Windows binaries]] (nightly - development). [[Windows#Windows_installers|Alternative location]] (but it seems redundant).&lt;br /&gt;
* [[Downloads#Linux_AppImage_binaries|PulseView, Linux binaries]] (nightly - development).&lt;br /&gt;
* [[Example dumps|Example data dumps]] - sample data in .sr format. Also includes instructions on how to contribute new ones. Includes the command line to get the whole thing using Git (as of 2017-11-26, 2286 &amp;quot;objects&amp;quot;, 724 .sr files, about 65&amp;amp;nbsp;MB in download size, 192&amp;amp;nbsp;MB on disk).&lt;br /&gt;
* [[Special:Random|Random page]]&lt;br /&gt;
* [https://sigrok.org/jenkins/job/sigrok-native-appimage/ Native app image] (not official yet). Is for Linux and x86 only. See also [https://en.wikipedia.org/wiki/AppImage AppImage] (Wikipedia).&lt;br /&gt;
* [[Press]]. List of annotated links, mostly blog posts.&lt;br /&gt;
* [[Probe comparison]]&lt;br /&gt;
* [[Link Instruments MSO-19|MSO-19]]. Mixed oscilloscope and logic analyser by Link Instruments that (or rather its driver) crashes PulveView at startup when connected (until some time in mid 2018(?)). Some reverse engineering has been done in 2012, but it is not supported (has status &amp;quot;Planned&amp;quot;). [https://sigrok.org/bugzilla/show_bug.cgi?id=1155 Sigrok bug report for the crash]. [http://www.linkinstruments.com/doupdate_mso19.htm Software download page for it.]&lt;br /&gt;
* [[Windows|sigrok, Microsoft Windows page]]&lt;br /&gt;
** [[Windows#Device specific USB driver|Device specific USB driver - WinUSB - Zadig]]&lt;br /&gt;
&lt;br /&gt;
===Protocol decoders===&lt;br /&gt;
&lt;br /&gt;
* The [[CAN|CAN bus protocol decoder]]&lt;br /&gt;
* [[Protocol decoder HOWTO]]&lt;br /&gt;
* [[Protocol decoder API]]&lt;br /&gt;
* [[Protocol decoders#Supported protocol decoders|Supported protocol decoders]]&lt;br /&gt;
&lt;br /&gt;
===Building sigrok===&lt;br /&gt;
&lt;br /&gt;
* On Debian (e.g. Raspberry Pi): [[Linux#Installing the requirements 2|Installing required software]]&lt;br /&gt;
* On Debian (e.g. Raspberry Pi): [[Linux#Building 3|Actual build]]&lt;br /&gt;
* Alternative to following the wiki pages: [https://sigrok.org/gitweb/?p=sigrok-util.git;a=blob;f=cross-compile/linux/sigrok-cross-linux;h=2c8e559efde8cf6ae9a365bf1a4324a33600fae7;hb=HEAD a script that will do most of it]. (&amp;#039;&amp;#039;[sigrok-util.git] / cross-compile / linux / sigrok-cross-linux&amp;#039;&amp;#039;)&lt;br /&gt;
* Windows:&lt;br /&gt;
**On Windows: [[Windows#Native_build_using_MSYS2|Native build using MSYS2]] (but may not really work - sigrok-cli and PulseView are listed as not working).&lt;br /&gt;
**[[Windows#Cross-compile_using_MXE|Cross compile on Linux]] (using [http://mxe.cc/ MXE]). The script is [https://sigrok.org/gitweb/?p=sigrok-util.git;a=blob;f=cross-compile/mingw/sigrok-cross-mingw;h=8330406ecd28969d8d29c8ad23df8968a4b9ec68;hb=HEAD /sigrok-util/cross-compile/mingw/sigrok-cross-mingw]. Used for nightlies? [https://sigrok.org/jenkins/job/sigrok-cross-mingw/buildtype=static,debugtype=debug,platform=cross-i686-w64-mingw32/ Jenkins page for the debug version].&lt;br /&gt;
* The Jenkins thingy - automatic build, e.g. nightlies for PulseView and &amp;quot;AppImage&amp;quot; (self-contained executable for x86 Linux). Sample: [https://sigrok.org/jenkins/job/sigrok-cli/ sigrok-cli] with 44 configurations (43 cross-compiles), e.g. cross-x86_64-w64-mingw32 (for Windows 64-bit?).&lt;br /&gt;
* The [[Building#Installing_to_a_non-standard_directory_using_LD_LIBRARY_PATH|LD_LIBRARY_PATH trick]]&lt;/div&gt;</summary>
		<author><name>PeterMortensen</name></author>
	</entry>
	<entry>
		<id>https://sigrok.org/w/index.php?title=User:PeterMortensen&amp;diff=14816</id>
		<title>User:PeterMortensen</title>
		<link rel="alternate" type="text/html" href="https://sigrok.org/w/index.php?title=User:PeterMortensen&amp;diff=14816"/>
		<updated>2020-01-10T18:08:17Z</updated>

		<summary type="html">&lt;p&gt;PeterMortensen: Arrgg! The $%&amp;amp;!¤&amp;amp; auto logout feature resulted in the rest of the page being zapped. Restored.&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;==Recent activity==&lt;br /&gt;
&lt;br /&gt;
===2020-01===&lt;br /&gt;
&lt;br /&gt;
Getting insight into what happens with PC keyboards on the signal level and on higher levels (related to repurposing an old PS/2 keyboard (BTC 5349) as a macro keyboard, with the help of an [https://store.arduino.cc/arduino-leonardo-with-headers Arduino Leonardo]:&lt;br /&gt;
&lt;br /&gt;
#Verify that all keys work on BTC 5349. The same for the other keyboard (but it is expected to work).&lt;br /&gt;
#Capturing and submitting information for PS/2 PC keyboards (CLK and DATA), including during pressing and releasing all 100+ keys for an IBM/AT type (standard) keyboard and bidirectional traffic (PC initialising the keyboard, e.g. at connect and/or PC startup). Submit to Git repository &amp;quot;[https://sigrok.org/gitweb/ sigrok-dumps]&amp;quot;.&lt;br /&gt;
#Consider adding regression tests for the PS/2 decoder. It will include if it handles the 2-3% clock frequency offset for the BTC 5349 (probably, as there is CLK, but that is not the case if decoding as the UART protocol decoder).&lt;br /&gt;
#Some higher-level protocol decoder work for PC keyboard (not decided on yet), e.g. identifying scan code sequences as the corresponding keys.&lt;br /&gt;
#Some hardware to allow an Arduino Leonardo to pose as a PC ([https://en.wikipedia.org/wiki/Open_collector open collector] outputs). To explore what commands various keyboards responds to and what modes they might enter (for example, Linux allegedly tries put keyboards into &amp;quot;Set 3&amp;quot; (the powerup default is usually &amp;quot;Set 2&amp;quot;)). The three LEDs on the keyboard can also be used for user feedback for the macro keyboard.&lt;br /&gt;
#Existing content on the wiki, etc. regarding PC keyboards, etc.:&lt;br /&gt;
## Keyboards (none found, but are probably not supposed to exist, only actual capturing hardware(?)).&lt;br /&gt;
## [[Protocol_decoder:Ps2|PS/2 decoder page]]. Does not exist??&lt;br /&gt;
## &amp;#039;&amp;#039;&amp;quot;The decode of some PS/2 (or USB) keyboard/mouse traffic could yield an ASCII text file of all the keys that were pressed on the keyboard.&amp;quot;&amp;#039;&amp;#039; (on [[Protocol decoder output|a planning page]])&lt;br /&gt;
## Look in bug tracker for PS/2, keyboards, etc.&lt;br /&gt;
## Look in Git log.&lt;br /&gt;
## Look in blog posts for info on PS/2, etc.&lt;br /&gt;
#Updating the wiki&lt;br /&gt;
##Add PS/2 low-level reference (details about the CLK signal) to the PS/2 protocol decoder page. IRC ref. [2020-01-07 01:49:07] and [2020-01-07 18:09:02] (UTC+1)). Add to the resources section. Is: http://www.nerdkits.com/videos/interrupts_and_ps2_keyboard/&lt;br /&gt;
##Add keyboard documentation, pictures (not decided on yet)&lt;br /&gt;
&lt;br /&gt;
Other:&lt;br /&gt;
&lt;br /&gt;
#Updating broken links here. E.g for the CAN protocol decoder.&lt;br /&gt;
&lt;br /&gt;
===2019-04===&lt;br /&gt;
&lt;br /&gt;
#Building a Docker container for compiling sigrok-cli and PulseView. It is supposed to both run under Linux and Windows (x64).&lt;br /&gt;
#Testing a new driver by user &amp;#039;&amp;#039;droghio&amp;#039;&amp;#039; that should work for the [[Tektronix TDS2024B|TDS2024C Tektronix  oscilloscope]]. Some placeholding:&lt;br /&gt;
#*Part of &amp;quot;lsusb -v&amp;quot; output: &amp;quot;Bus 008 Device 005: ID 0699:03a6 Tektronix, Inc.&amp;quot;&lt;br /&gt;
#*Notes to self: the &amp;#039;&amp;#039;&amp;quot;[git://sigrok.org/sigrok-util util]&amp;quot;&amp;#039;&amp;#039; repository (for building and stuff) - [https://github.com/sigrokproject/sigrok-util read-only mirror at GitHub]. [https://github.com/sigrokproject/sigrok-util/blob/master/cross-compile/linux/sigrok-cross-linux Cross-built script].&lt;br /&gt;
&lt;br /&gt;
===2018-04===&lt;br /&gt;
&lt;br /&gt;
Submitting comprehensive sample data for CAN bus, both 11-bit and 29-bit messages, and corresponding test cases (mostly for regression test - especially regression for [https://sigrok.org/bugzilla/show_bug.cgi?id=1085 the 2018-04-12 fix to the decoding at the end of the CRC part]).&lt;br /&gt;
&lt;br /&gt;
Notes to self:&lt;br /&gt;
&lt;br /&gt;
# Original acquired analog data: C:\temp2\2017-12-23\CAN decoder, new stuff bit handling at the end of the CRC segment\Data67\In\ACQ000009_Tektronix.txt&lt;br /&gt;
&lt;br /&gt;
===2017-12===&lt;br /&gt;
&lt;br /&gt;
Recording 22483 traces for the purpose of evaluating [https://sigrok.org/bugzilla/show_bug.cgi?id=1085 a proposed fix to the CAN protocol decoder] (actually only changing a single number from 16 to 17), stuff bit at the very end of the CRC segment, with a modified trigger scheme: &lt;br /&gt;
&lt;br /&gt;
* Change the position of the trigger point to the end (right) so there is always a CAN message in the trace (for the previous), but still 26&amp;amp;nbsp;µs recessive.&lt;br /&gt;
&lt;br /&gt;
The time division was 100&amp;amp;nbsp;µs / division (about 225 bit times max) to always record whole CAN messages - at 10 samples per bit time.&lt;br /&gt;
&lt;br /&gt;
===2017-07===&lt;br /&gt;
&lt;br /&gt;
Using the sigrok command-line (&amp;quot;sigrok-cli&amp;quot;) to bulk process data derived from Tektronix oscilloscope data of 250&amp;amp;nbsp;kbit/s CAN traffic on a real-world system (mobile cranes). The first sample data set is 5335 oscilloscope traces obtained with the trigger set to a negative pulse on CAN-H (to start off at the end of a CAN message) - corresponding to 6.5 recessive bits, 26&amp;amp;nbsp;µsec (detecting the space in-between CAN messages). Sometimes there is a CAN message right after this, sometimes it is a bit delayed, and sometimes it is completely empty.&lt;br /&gt;
&lt;br /&gt;
A sample command line (on Windows) is:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;sigrok-cli -P can:bitrate=250000:can_rx=&amp;quot;CAN RX&amp;quot; -P timing:data=&amp;quot;CAN RX&amp;quot; -I csv:header=true:samplerate=5000000 -i &amp;quot;T:\stdHMF\UserData\scripts\Tektronix2PulseView\_PulseView_AllChannels_ACQ000001_Tektronix_f5000000.txt&amp;quot;&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===2017-04===&lt;br /&gt;
&lt;br /&gt;
Using [[PulseView]] to decode data from a Tektronix oscilloscope of SPI communication to a CAN controller, [http://www.microchip.com/wwwproducts/Devices.aspx?dDocName=en010406 MCP2515].&lt;br /&gt;
&lt;br /&gt;
==Task list==&lt;br /&gt;
&lt;br /&gt;
Currently not in priority order.&lt;br /&gt;
&lt;br /&gt;
* Allow import of analog data through CSV files. (Related: fixed  [https://sigrok.org/bugzilla/show_bug.cgi?id=1064 bug 1064] - &amp;#039;&amp;#039;locale&amp;#039;&amp;#039; issue, decimal point, &amp;quot;,&amp;quot; vs. &amp;quot;.&amp;quot;.).&lt;br /&gt;
&lt;br /&gt;
* Add detection of error frames to the CAN protocol decoder&lt;br /&gt;
&lt;br /&gt;
* Add support for the gigga watt EEVBlog multimeter (Bluetooth, etc.)&lt;br /&gt;
&lt;br /&gt;
* Add a snap feature to the &amp;quot;cursor&amp;quot; (blue) in PulveView&lt;br /&gt;
&lt;br /&gt;
* Change number of significant digits for the time display in the &amp;quot;cursor&amp;quot; (blue) in PulveView&lt;br /&gt;
&lt;br /&gt;
* Submit selected sample traces for CAN decoder change (for CRC segment) validation. With and without stuff bits in various places. With and without timing deviations. (Related: [https://sigrok.org/bugzilla/show_bug.cgi?id=1085 bug 1085], celeron55&amp;#039;s fix, &amp;#039;&amp;#039;&amp;#039;&amp;#039;&amp;#039;if len(self.bits) &amp;gt; self.last_databit + 16&amp;#039;&amp;#039;&amp;#039;&amp;#039;&amp;#039; → &amp;#039;&amp;#039;&amp;#039;&amp;#039;&amp;#039;if len(self.bits) &amp;gt; self.last_databit + 17&amp;#039;&amp;#039;&amp;#039;&amp;#039;&amp;#039; (16 → 17)).&lt;br /&gt;
&lt;br /&gt;
* Add support for the [[Tektronix TDS2000B series|TDS2000]] series in libsigrok, and thus, by extension, use by the new shiny stuff in PulveView.&lt;br /&gt;
&lt;br /&gt;
===On wiki===&lt;br /&gt;
&lt;br /&gt;
* Change recommended procedure for submitting sample Sigrok files (traces), on &amp;#039;&amp;#039;[[Example dumps#Contributing dumps|Example dumps]]&amp;#039;&amp;#039;.&lt;br /&gt;
&lt;br /&gt;
==Glossary==&lt;br /&gt;
&lt;br /&gt;
*&amp;#039;&amp;#039;BBB&amp;#039;&amp;#039; [https://en.wikipedia.org/wiki/BeagleBoard#BeagleBone_Black BeagleBone Black]&lt;br /&gt;
*&amp;#039;&amp;#039;GH&amp;#039;&amp;#039; [http://en.wikipedia.org/wiki/GitHub GitHub]&lt;br /&gt;
*&amp;#039;&amp;#039;ISTR&amp;#039;&amp;#039; ????&lt;br /&gt;
*&amp;#039;&amp;#039;LA&amp;#039;&amp;#039; Logic analyser&lt;br /&gt;
*&amp;#039;&amp;#039;ML&amp;#039;&amp;#039; Mailing list&lt;br /&gt;
*&amp;#039;&amp;#039;OLS&amp;#039;&amp;#039; ????&lt;br /&gt;
*&amp;#039;&amp;#039;PR&amp;#039;&amp;#039; Pull request (a Git term). &amp;#039;&amp;#039;Not&amp;#039;&amp;#039; &amp;quot;problem report&amp;quot;.&lt;br /&gt;
*&amp;#039;&amp;#039;SR&amp;#039;&amp;#039; Sigrok&lt;br /&gt;
*&amp;#039;&amp;#039;srd&amp;#039;&amp;#039; ????&lt;br /&gt;
*&amp;#039;&amp;#039;WIP&amp;#039;&amp;#039; Work in progress. Mostly related to particular Git commits.&lt;br /&gt;
*&amp;#039;&amp;#039;PD&amp;#039;&amp;#039; protocol decoder. Non-standard spellings are &amp;#039;&amp;#039;Pd&amp;#039;&amp;#039; and &amp;#039;&amp;#039;pd&amp;#039;&amp;#039;.&lt;br /&gt;
*&amp;#039;&amp;#039;PV&amp;#039;&amp;#039; PulseView. Non-standard spellings are &amp;#039;&amp;#039;Pv&amp;#039;&amp;#039; and &amp;#039;&amp;#039;pv&amp;#039;&amp;#039;.&lt;br /&gt;
&lt;br /&gt;
==Some bug reports==&lt;br /&gt;
&lt;br /&gt;
* [https://sigrok.org/bug/1155 Possible problem with the MSO-19 USB driver on Windows]. PulveView crashes at startup if the MSO-19 is connected.&lt;br /&gt;
&lt;br /&gt;
==Interests==&lt;br /&gt;
&lt;br /&gt;
I am mostly interested in:&lt;br /&gt;
&lt;br /&gt;
* The [[CAN|CAN protocol decoder]] (that page is currently empty, but it is listed on [[Protocol decoders|the protocol decoders page]])&lt;br /&gt;
* CAN bus loggers, like IXXAT&amp;#039;s (now acquired by HMS) &amp;#039;&amp;#039;USB-to-CAN compact&amp;#039;&amp;#039;/&amp;#039;&amp;#039;USB-to-CAN V2&amp;#039;&amp;#039; and Kvaser&amp;#039;s &amp;#039;&amp;#039;Memorator&amp;#039;&amp;#039;.&lt;br /&gt;
* The higher-level [http://en.wikipedia.org/wiki/CANopen CANopen] protocol (on top of CAN)&lt;br /&gt;
&lt;br /&gt;
==Protocol decoders==&lt;br /&gt;
&lt;br /&gt;
===Non-empty wiki pages===&lt;br /&gt;
&lt;br /&gt;
Currently (2017-07-08), 28 &lt;br /&gt;
of 77 [[Protocol_decoders#Supported protocol decoders|protocol decoders]] (36%) have non-empty pages here on the wiki:&lt;br /&gt;
&lt;br /&gt;
*[[Protocol decoder:Adns5020|ADNS5020]] &lt;br /&gt;
*[[Protocol decoder:Am230x|AM230X]]&lt;br /&gt;
*[[Protocol decoder:Arm etmv3|ARM ETMV3]]&lt;br /&gt;
*[[Protocol decoder:Arm itm|ARM ITM]]&lt;br /&gt;
*[[Protocol decoder:Arm tpiu|ARM TPIU]]&lt;br /&gt;
*[[Protocol decoder:Aud|AUD]]&lt;br /&gt;
*[[Protocol decoder:Avr pdi|AVR PDI]]&lt;br /&gt;
*[[Protocol decoder:Dcf77|DCF77]]&lt;br /&gt;
*[[Protocol decoder:I2c|I²C]]&lt;br /&gt;
*[[Protocol decoder:Ir nec|IR NEC]]&lt;br /&gt;
*[[Protocol decoder:Modbus|Modbus]]&lt;br /&gt;
*[[Protocol decoder:Mrf24j40|MRF24J40]]&lt;br /&gt;
*[[Protocol decoder:Nrf24l01|NRF24L01]]&lt;br /&gt;
*[[Protocol decoder:Nunchuk|Nunchuk]]&lt;br /&gt;
*[[Protocol decoder:Pan1321|PAN1321]]&lt;br /&gt;
*[[Protocol decoder:Parallel|Parallel]]&lt;br /&gt;
*[[Protocol decoder:Pwm|PWM]]&lt;br /&gt;
*[[Protocol decoder:Qi|Qi]]&lt;br /&gt;
*[[Protocol decoder:Rfm12|RFM12]]&lt;br /&gt;
*[[Protocol decoder:Rgb led spi|RGB LED SPI]]&lt;br /&gt;
*[[Protocol decoder:Rtc8564|RTC8564]]&lt;br /&gt;
*[[Protocol decoder:Spdif|SPDIF]]&lt;br /&gt;
*[[Protocol decoder:Spi|SPI]]&lt;br /&gt;
*[[Protocol decoder:Spiflash|SPI flash]]&lt;br /&gt;
*[[Protocol decoder:Stepper motor|Stepper motor]]&lt;br /&gt;
*[[Protocol decoder:Tlc5620|TLC5620]]&lt;br /&gt;
*[[Protocol decoder:Uart|UART]]&lt;br /&gt;
*[[Protocol decoder:Z80|Z80]]&lt;br /&gt;
&lt;br /&gt;
==Profile==&lt;br /&gt;
&lt;br /&gt;
Profile: see [http://en.wikipedia.org/wiki/User:Mortense my Wikipedia user page].&lt;br /&gt;
&lt;br /&gt;
Credentials: more than 5000 edits on the English Wikipedia.&lt;br /&gt;
&lt;br /&gt;
==Shortcuts==&lt;br /&gt;
&lt;br /&gt;
* [https://sigrok.org/doc/pulseview/0.4.1/manual.html PulseView manual]&lt;br /&gt;
* [[Sigrok-cli|sigrok-cli man page]]&lt;br /&gt;
* [https://plus.google.com/communities/109843678338531936878 Google+ group for sigrok] (now defunc as Google+ closed down)&lt;br /&gt;
* [[PulseView]]. Includes the command line to get the source code using Git.&lt;br /&gt;
* [[Downloads#Windows_Download|PulseView, Windows binaries]] (nightly - development). [[Windows#Windows_installers|Alternative location]] (but it seems redundant).&lt;br /&gt;
* [[Downloads#Linux_AppImage_binaries|PulseView, Linux binaries]] (nightly - development).&lt;br /&gt;
* [[Example dumps|Example data dumps]] - sample data in .sr format. Also includes instructions on how to contribute new ones. Includes the command line to get the whole thing using Git (as of 2017-11-26, 2286 &amp;quot;objects&amp;quot;, 724 .sr files, about 65&amp;amp;nbsp;MB in download size, 192&amp;amp;nbsp;MB on disk).&lt;br /&gt;
* [[Special:Random|Random page]]&lt;br /&gt;
* [https://sigrok.org/jenkins/job/sigrok-native-appimage/ Native app image] (not official yet). Is for Linux and x86 only. See also [https://en.wikipedia.org/wiki/AppImage AppImage] (Wikipedia).&lt;br /&gt;
* [[Press]]. List of annotated links, mostly blog posts.&lt;br /&gt;
* [[Probe comparison]]&lt;br /&gt;
* [[Link Instruments MSO-19|MSO-19]]. Mixed oscilloscope and logic analyser by Link Instruments that (or rather its driver) crashes PulveView at startup when connected (until some time in mid 2018(?)). Some reverse engineering has been done in 2012, but it is not supported (has status &amp;quot;Planned&amp;quot;). [https://sigrok.org/bugzilla/show_bug.cgi?id=1155 Sigrok bug report for the crash]. [http://www.linkinstruments.com/doupdate_mso19.htm Software download page for it.]&lt;br /&gt;
* [[Windows|sigrok, Microsoft Windows page]]&lt;br /&gt;
** [[Windows#Device specific USB driver|Device specific USB driver - WinUSB - Zadig]]&lt;br /&gt;
&lt;br /&gt;
===Protocol decoders===&lt;br /&gt;
&lt;br /&gt;
* The [[CAN|CAN bus protocol decoder]]&lt;br /&gt;
* [[Protocol decoder HOWTO]]&lt;br /&gt;
* [[Protocol decoder API]]&lt;br /&gt;
* [[Protocol decoders#Supported protocol decoders|Supported protocol decoders]]&lt;br /&gt;
&lt;br /&gt;
===Building sigrok===&lt;br /&gt;
&lt;br /&gt;
* On Debian (e.g. Raspberry Pi): [[Linux#Installing the requirements 2|Installing required software]]&lt;br /&gt;
* On Debian (e.g. Raspberry Pi): [[Linux#Building 3|Actual build]]&lt;br /&gt;
* Alternative to following the wiki pages: [https://sigrok.org/gitweb/?p=sigrok-util.git;a=blob;f=cross-compile/linux/sigrok-cross-linux;h=2c8e559efde8cf6ae9a365bf1a4324a33600fae7;hb=HEAD a script that will do most of it]. (&amp;#039;&amp;#039;[sigrok-util.git] / cross-compile / linux / sigrok-cross-linux&amp;#039;&amp;#039;)&lt;br /&gt;
* Windows:&lt;br /&gt;
**On Windows: [[Windows#Native_build_using_MSYS2|Native build using MSYS2]] (but may not really work - sigrok-cli and PulseView are listed as not working).&lt;br /&gt;
**[[Windows#Cross-compile_using_MXE|Cross compile on Linux]] (using [http://mxe.cc/ MXE]). The script is [https://sigrok.org/gitweb/?p=sigrok-util.git;a=blob;f=cross-compile/mingw/sigrok-cross-mingw;h=8330406ecd28969d8d29c8ad23df8968a4b9ec68;hb=HEAD /sigrok-util/cross-compile/mingw/sigrok-cross-mingw]. Used for nightlies? [https://sigrok.org/jenkins/job/sigrok-cross-mingw/buildtype=static,debugtype=debug,platform=cross-i686-w64-mingw32/ Jenkins page for the debug version].&lt;br /&gt;
* The Jenkins thingy - automatic build, e.g. nightlies for PulseView and &amp;quot;AppImage&amp;quot; (self-contained executable for x86 Linux). Sample: [https://sigrok.org/jenkins/job/sigrok-cli/ sigrok-cli] with 44 configurations (43 cross-compiles), e.g. cross-x86_64-w64-mingw32 (for Windows 64-bit?).&lt;br /&gt;
* The [[Building#Installing_to_a_non-standard_directory_using_LD_LIBRARY_PATH|LD_LIBRARY_PATH trick]]&lt;/div&gt;</summary>
		<author><name>PeterMortensen</name></author>
	</entry>
	<entry>
		<id>https://sigrok.org/w/index.php?title=User:PeterMortensen&amp;diff=14815</id>
		<title>User:PeterMortensen</title>
		<link rel="alternate" type="text/html" href="https://sigrok.org/w/index.php?title=User:PeterMortensen&amp;diff=14815"/>
		<updated>2020-01-10T18:05:15Z</updated>

		<summary type="html">&lt;p&gt;PeterMortensen: Minior corrections, etc.&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;==Recent activity==&lt;br /&gt;
&lt;br /&gt;
===2020-01===&lt;br /&gt;
&lt;br /&gt;
Getting insight into what happens with PC keyboards on the signal level and on higher levels (related to repurposing an old PS/2 keyboard (BTC 5349) as a macro keyboard, with the help of an [https://store.arduino.cc/arduino-leonardo-with-headers Arduino Leonardo]:&lt;br /&gt;
&lt;br /&gt;
#Verify that all keys work on BTC 5349. The same for the other keyboard (but it is expected to work).&lt;br /&gt;
#Capturing and submitting information for PS/2 PC keyboards (CLK and DATA), including during pressing and releasing all 100+ keys for an IBM/AT type (standard) keyboard and bidirectional traffic (PC initialising the keyboard, e.g. at connect and/or PC startup). Submit to Git repository &amp;quot;[https://sigrok.org/gitweb/ sigrok-dumps]&amp;quot;.&lt;br /&gt;
#Consider adding regression tests for the PS/2 decoder. It will include if it handles the 2-3% clock frequency offset for the BTC 5349 (probably, as there is CLK, but that is not the case if decoding as the UART protocol decoder).&lt;br /&gt;
#Some higher-level protocol decoder work for PC keyboard (not decided on yet), e.g. identifying scan code sequences as the corresponding keys.&lt;br /&gt;
#Some hardware to allow an Arduino Leonardo to pose as a PC ([https://en.wikipedia.org/wiki/Open_collector open collector] outputs). To explore what commands various keyboards responds to and what modes they might enter (for example, Linux allegedly tries put keyboards into &amp;quot;Set 3&amp;quot; (the powerup default is usually &amp;quot;Set 2&amp;quot;)). The three LEDs on the keyboard can also be used for user feedback for the macro keyboard.&lt;br /&gt;
#Existing content on the wiki, etc. regarding PC keyboards, etc.:&lt;br /&gt;
## Keyboards (none found, but are probably not supposed to exist, only actual capturing hardware(?)).&lt;br /&gt;
## [[Protocol_decoder:Ps2|PS/2 decoder page]]. Does not exist??&lt;br /&gt;
## &amp;#039;&amp;#039;&amp;quot;The decode of some PS/2 (or USB) keyboard/mouse traffic could yield an ASCII text file of all the keys that were pressed on the keyboard.&amp;quot;&amp;#039;&amp;#039; (on [[Protocol decoder output|a planning page]])&lt;br /&gt;
## Look in bug tracker for PS/2, keyboards, etc.&lt;br /&gt;
## Look in Git log.&lt;br /&gt;
## Look in blog posts for info on PS/2, etc.&lt;br /&gt;
#Updating the wiki&lt;br /&gt;
##Add PS/2 low-level reference (details about the CLK signal) to the PS/2 protocol decoder page. IRC ref. [2020-01-07 01:49:07] and [2020-01-07 18:09:02] (UTC+1)). Add to the resources section. Is: http://www.nerdkits.com/videos/interrupts_and_ps2_keyboard/&lt;br /&gt;
##Add keyboard documentation, pictures (not decided on yet)&lt;br /&gt;
&lt;br /&gt;
Other:&lt;br /&gt;
&lt;br /&gt;
#Updating broken links here. E.g for the CAN protocol decoder.&lt;br /&gt;
&lt;br /&gt;
===2019-04===&lt;br /&gt;
&lt;br /&gt;
#Building a Docker container for compiling sigrok-cli and PulseView. It is supposed to both run under Linux and Windows (x64).&lt;br /&gt;
#Testing a new driver by user &amp;#039;&amp;#039;droghio&amp;#039;&amp;#039; that should work for the [[Tektronix TDS2024B|TDS2024C Tektronix  oscilloscope]]. Some placeholding:&lt;br /&gt;
#*Part of &amp;quot;lsusb -v&amp;quot; output: &amp;quot;Bus 008 Device 005: ID 0699:03a6 Tektronix, Inc.&amp;quot;&lt;br /&gt;
#*Notes to self: the &amp;#039;&amp;#039;&amp;quot;[git://sigrok.org/sigrok-util util]&amp;quot;&amp;#039;&amp;#039; repository (for building and stuff) - [https://github.com/sigrokproject/sigrok-util read-only mirror at GitHub]. [https://github.com/sigrokproject/sigrok-util/blob/master/cross-compile/linux/sigrok-cross-linux Cross-built script].&lt;br /&gt;
&lt;br /&gt;
===2018-04===&lt;br /&gt;
&lt;br /&gt;
Submitting comprehensive sample data for CAN bus, both 11-bit and 29-bit messages, and corresponding test cases (mostly for regression test - especially regression for [https://sigrok.org/bugzilla/show_bug.cgi?id=1085 the 2018-04-12 fix to the decoding at the end of the CRC part]).&lt;br /&gt;
&lt;br /&gt;
Notes to self:&lt;br /&gt;
&lt;br /&gt;
# Original acquired analog data: C:\temp2\2017-12-23\CAN decoder, new stuff bit handling at the end of the CRC segment\Data67\In\ACQ000009_Tektronix.txt&lt;br /&gt;
&lt;br /&gt;
===2017-12===&lt;br /&gt;
&lt;br /&gt;
Recording 22483 traces for the purpose of evaluating [https://sigrok.org/bugzilla/show_bug.cgi?id=1085 a proposed fix to the CAN protocol decoder] (actually only changing a single number from 16 to 17), stuff bit at the very end of the CRC segment, with a modified trigger scheme: &lt;br /&gt;
&lt;br /&gt;
* Change the position of the trigger point to the end (right) so there is always a CAN message in the trace (for the previous), but still 26&amp;amp;nbsp;µs recessive.&lt;br /&gt;
&lt;br /&gt;
The time division was 100&amp;amp;nbsp;µs / division (about 225 bit times max) to always record whole CAN messages - at 10 samples per bit time.&lt;br /&gt;
&lt;br /&gt;
===2017-07===&lt;br /&gt;
&lt;br /&gt;
Using the sigrok command-line (&amp;quot;sigrok-cli&amp;quot;) to bulk process data derived from Tektronix oscilloscope data of 250&amp;amp;nbsp;kbit/s CAN traffic on a real-world system (mobile cranes). The first sample data set is 5335 oscilloscope traces obtained with the trigger set to a negative pulse on CAN-H (to start off at the end of a CAN message) - corresponding to 6.5 recessive bits, 26&amp;amp;nbsp;µsec (detecting the space in-between CAN messages). Sometimes there is a CAN message right after this, sometimes it is a bit delayed, and sometimes it is completely empty.&lt;br /&gt;
&lt;br /&gt;
A sample command line (on Windows) is:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;sigrok-cli -P can:bitrate=250000:can_rx=&amp;quot;CAN RX&amp;quot; -P timing:data=&amp;quot;CAN RX&amp;quot; -I csv:header=true:samplerate=5000000 -i &amp;quot;T:\stdHMF\UserData\scripts\Tektronix2PulseView\_PulseView_AllChannels_ACQ000001_Tektronix_f5000000.txt&amp;quot;&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===2017-04===&lt;br /&gt;
&lt;br /&gt;
Using [[PulseView]] to decode data from a Tektronix oscilloscope of SPI communication to a CAN controller, [http://www.microchip.com/wwwproducts/Devices.aspx?dDocName=en010406 MCP2515].&lt;/div&gt;</summary>
		<author><name>PeterMortensen</name></author>
	</entry>
	<entry>
		<id>https://sigrok.org/w/index.php?title=User:PeterMortensen&amp;diff=14814</id>
		<title>User:PeterMortensen</title>
		<link rel="alternate" type="text/html" href="https://sigrok.org/w/index.php?title=User:PeterMortensen&amp;diff=14814"/>
		<updated>2020-01-10T18:02:48Z</updated>

		<summary type="html">&lt;p&gt;PeterMortensen: /* Recent activity */ Getting organised, part 1.&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;==Recent activity==&lt;br /&gt;
&lt;br /&gt;
===2020-01===&lt;br /&gt;
&lt;br /&gt;
Getting insight into what happens with PC keyboards on the signal level and on higher levels (related to repurposing an old PS/2 keyboard (BTC 5349) as a macro keyboard, with the help of an [https://store.arduino.cc/arduino-leonardo-with-headers Arduino Leonardo]:&lt;br /&gt;
&lt;br /&gt;
#Verify that all keys work on BTC 5349. The same for the other keyboard (but it is suspected to work).&lt;br /&gt;
#Capturing and submitting information for PS/2 PC keyboards (CLK and DATA), including during pressing and releasing all keys for an IBM/AT type (standard) keyboard and bidirectional traffic (PC initialising the keyboard, e.g. at connect and/or PC startup). Submit to Git repository &amp;quot;[https://sigrok.org/gitweb/ sigrok-dumps]&amp;quot;.&lt;br /&gt;
#Consider adding regression tests for the PS/2 decoder. It will include if it handles the 2-3% clock frequency offset for the BTC 5349 (probably, as there is CLK, but that is not the case if decoding as the UART protocol decoder).&lt;br /&gt;
#Some higher-level protocol decoder work for PC keyboard (not decided on yet), e.g. identifying scan code sequences as the corresponding keys.&lt;br /&gt;
#Some hardware to allow an Arduino Leonardo to pose as a PC ([https://en.wikipedia.org/wiki/Open_collector open collector] outputs). To explore what commands various keyboards responds to and what modes they might enter (for example, Linux allegedly tries put keyboard into &amp;quot;Set 3&amp;quot; (the powerup default is usually &amp;quot;Set 2&amp;quot;)). The three LEDs on the keyboard can also be used for user feedback for the macro keyboard.&lt;br /&gt;
#Existing content on the wiki, etc. regarding PC keyboards, etc.:&lt;br /&gt;
## Keyboards (none found, but are probably not supposed to exist, only actual capturing hardware(?)).&lt;br /&gt;
## [[Protocol_decoder:Ps2|PS/2 decoder page]]. Does not exist??&lt;br /&gt;
## &amp;#039;&amp;#039;&amp;quot;The decode of some PS/2 (or USB) keyboard/mouse traffic could yield an ASCII text file of all the keys that were pressed on the keyboard.&amp;quot;&amp;#039;&amp;#039; (on [[Protocol decoder output|a planning page]])&lt;br /&gt;
## Look in bug tracker for PS/2, keyboards, etc.&lt;br /&gt;
## Look in Git log.&lt;br /&gt;
## Look in blog posts for info on PS/2, etc.&lt;br /&gt;
#Updating the wiki&lt;br /&gt;
##Add PS/2 low-level reference (details about the CLK signal) to the PS/2 protocol decoder page. IRC ref. [2020-01-07 01:49:07] and [2020-01-07 18:09:02] (UTC+1)). Add to the resources section. Is: http://www.nerdkits.com/videos/interrupts_and_ps2_keyboard/&lt;br /&gt;
##Add keyboard documentation, pictures (not decided on yet)&lt;br /&gt;
&lt;br /&gt;
Other:&lt;br /&gt;
&lt;br /&gt;
#Updating broken links here. E.g for the CAN protocol decoder.&lt;br /&gt;
&lt;br /&gt;
===2019-04===&lt;br /&gt;
&lt;br /&gt;
#Building a Docker container for compiling sigrok-cli and PulseView. It is supposed to both run under Linux and Windows (x64).&lt;br /&gt;
#Testing a new driver by user &amp;#039;&amp;#039;droghio&amp;#039;&amp;#039; that should work for the [[Tektronix TDS2024B|TDS2024C Tektronix  oscilloscope]]. Some placeholding:&lt;br /&gt;
#*Part of &amp;quot;lsusb -v&amp;quot; output: &amp;quot;Bus 008 Device 005: ID 0699:03a6 Tektronix, Inc.&amp;quot;&lt;br /&gt;
#*Notes to self: the &amp;#039;&amp;#039;&amp;quot;[git://sigrok.org/sigrok-util util]&amp;quot;&amp;#039;&amp;#039; repository (for building and stuff) - [https://github.com/sigrokproject/sigrok-util read-only mirror at GitHub]. [https://github.com/sigrokproject/sigrok-util/blob/master/cross-compile/linux/sigrok-cross-linux Cross-built script].&lt;br /&gt;
&lt;br /&gt;
===2018-04===&lt;br /&gt;
&lt;br /&gt;
Submitting comprehensive sample data for CAN bus, both 11-bit and 29-bit messages, and corresponding test cases (mostly for regression test - especially regression for [https://sigrok.org/bugzilla/show_bug.cgi?id=1085 the 2018-04-12 fix to the decoding at the end of the CRC part]).&lt;br /&gt;
&lt;br /&gt;
Notes to self:&lt;br /&gt;
&lt;br /&gt;
# Original acquired analog data: C:\temp2\2017-12-23\CAN decoder, new stuff bit handling at the end of the CRC segment\Data67\In\ACQ000009_Tektronix.txt&lt;br /&gt;
&lt;br /&gt;
===2017-12===&lt;br /&gt;
&lt;br /&gt;
Recording 22483 traces for the purpose of evaluating [https://sigrok.org/bugzilla/show_bug.cgi?id=1085 a proposed fix to the CAN protocol decoder] (actually only changing a single number from 16 to 17), stuff bit at the very end of the CRC segment, with a modified trigger scheme: &lt;br /&gt;
&lt;br /&gt;
* Change the position of the trigger point to the end (right) so there is always a CAN message in the trace (for the previous), but still 26&amp;amp;nbsp;µs recessive.&lt;br /&gt;
&lt;br /&gt;
The time division was 100&amp;amp;nbsp;µs / division (about 225 bit times max) to always record whole CAN messages - at 10 samples per bit time.&lt;br /&gt;
&lt;br /&gt;
===2017-07===&lt;br /&gt;
&lt;br /&gt;
Using the sigrok command-line (&amp;quot;sigrok-cli&amp;quot;) to bulk process data derived from Tektronix oscilloscope data of 250&amp;amp;nbsp;kbit/s CAN traffic on a real-world system (mobile cranes). The first sample data set is 5335 oscilloscope traces obtained with the trigger set to a negative pulse on CAN-H (to start off at the end of a CAN message) - corresponding to 6.5 recessive bits, 26&amp;amp;nbsp;µsec (detecting the space in-between CAN messages). Sometimes there is a CAN message right after this, sometimes it is a bit delayed, and sometimes it is completely empty.&lt;br /&gt;
&lt;br /&gt;
A sample command line (on Windows) is:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;sigrok-cli -P can:bitrate=250000:can_rx=&amp;quot;CAN RX&amp;quot; -P timing:data=&amp;quot;CAN RX&amp;quot; -I csv:header=true:samplerate=5000000 -i &amp;quot;T:\stdHMF\UserData\scripts\Tektronix2PulseView\_PulseView_AllChannels_ACQ000001_Tektronix_f5000000.txt&amp;quot;&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===2017-04===&lt;br /&gt;
&lt;br /&gt;
Using [[PulseView]] to decode data from a Tektronix oscilloscope of SPI communication to a CAN controller, [http://www.microchip.com/wwwproducts/Devices.aspx?dDocName=en010406 MCP2515].&lt;/div&gt;</summary>
		<author><name>PeterMortensen</name></author>
	</entry>
	<entry>
		<id>https://sigrok.org/w/index.php?title=Talk:RDing_TEMPer/Info&amp;diff=14813</id>
		<title>Talk:RDing TEMPer/Info</title>
		<link rel="alternate" type="text/html" href="https://sigrok.org/w/index.php?title=Talk:RDing_TEMPer/Info&amp;diff=14813"/>
		<updated>2020-01-10T17:45:43Z</updated>

		<summary type="html">&lt;p&gt;PeterMortensen: /* Context */ new section&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Context ==&lt;br /&gt;
&lt;br /&gt;
What is &amp;quot;RDing TEMPer/Info&amp;quot;?&lt;br /&gt;
&lt;br /&gt;
--[[User:PeterMortensen|PeterMortensen]] ([[User talk:PeterMortensen|talk]]) 18:45, 10 January 2020 (CET)&lt;/div&gt;</summary>
		<author><name>PeterMortensen</name></author>
	</entry>
	<entry>
		<id>https://sigrok.org/w/index.php?title=User:PeterMortensen&amp;diff=14800</id>
		<title>User:PeterMortensen</title>
		<link rel="alternate" type="text/html" href="https://sigrok.org/w/index.php?title=User:PeterMortensen&amp;diff=14800"/>
		<updated>2020-01-06T17:26:51Z</updated>

		<summary type="html">&lt;p&gt;PeterMortensen: /* Shortcuts */ Added shortcut for Linux nightlies.&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;==Recent activity==&lt;br /&gt;
&lt;br /&gt;
===2019-04===&lt;br /&gt;
&lt;br /&gt;
#Building a Docker container for compiling sigrok-cli and PulseView. It is supposed to both run under Linux and Windows (x64).&lt;br /&gt;
#Testing a new driver by user &amp;#039;&amp;#039;droghio&amp;#039;&amp;#039; that should work for the [[Tektronix TDS2024B|TDS2024C Tektronix  oscilloscope]]. Some placeholding:&lt;br /&gt;
#*Part of &amp;quot;lsusb -v&amp;quot; output: &amp;quot;Bus 008 Device 005: ID 0699:03a6 Tektronix, Inc.&amp;quot;&lt;br /&gt;
#*Notes to self: the &amp;#039;&amp;#039;&amp;quot;[git://sigrok.org/sigrok-util util]&amp;quot;&amp;#039;&amp;#039; repository (for building and stuff) - [https://github.com/sigrokproject/sigrok-util read-only mirror at GitHub]. [https://github.com/sigrokproject/sigrok-util/blob/master/cross-compile/linux/sigrok-cross-linux Cross-built script].&lt;br /&gt;
&lt;br /&gt;
===2018-04===&lt;br /&gt;
&lt;br /&gt;
Submitting comprehensive sample data for CAN bus, both 11-bit and 29-bit messages, and corresponding test cases (mostly for regression test - especially regression for [https://sigrok.org/bugzilla/show_bug.cgi?id=1085 the 2018-04-12 fix to the decoding at the end of the CRC part]).&lt;br /&gt;
&lt;br /&gt;
Notes to self:&lt;br /&gt;
&lt;br /&gt;
# Original acquired analog data: C:\temp2\2017-12-23\CAN decoder, new stuff bit handling at the end of the CRC segment\Data67\In\ACQ000009_Tektronix.txt&lt;br /&gt;
&lt;br /&gt;
===2017-12===&lt;br /&gt;
&lt;br /&gt;
Recording 22483 traces for the purpose of evaluating [https://sigrok.org/bugzilla/show_bug.cgi?id=1085 a proposed fix to the CAN protocol decoder] (actually only changing a single number from 16 to 17), stuff bit at the very end of the CRC segment, with a modified trigger scheme: &lt;br /&gt;
&lt;br /&gt;
* Change the position of the trigger point to the end (right) so there is always a CAN message in the trace (for the previous), but still 26&amp;amp;nbsp;µs recessive.&lt;br /&gt;
&lt;br /&gt;
The time division was 100&amp;amp;nbsp;µs / division (about 225 bit times max) to always record whole CAN messages - at 10 samples per bit time.&lt;br /&gt;
&lt;br /&gt;
===2017-07===&lt;br /&gt;
&lt;br /&gt;
Using the sigrok command-line (&amp;quot;sigrok-cli&amp;quot;) to bulk process data derived from Tektronix oscilloscope data of 250&amp;amp;nbsp;kbit/s CAN traffic on a real-world system (mobile cranes). The first sample data set is 5335 oscilloscope traces obtained with the trigger set to a negative pulse on CAN-H (to start off at the end of a CAN message) - corresponding to 6.5 recessive bits, 26&amp;amp;nbsp;µsec (detecting the space in-between CAN messages). Sometimes there is a CAN message right after this, sometimes it is a bit delayed, and sometimes it is completely empty.&lt;br /&gt;
&lt;br /&gt;
A sample command line (on Windows) is:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;sigrok-cli -P can:bitrate=250000:can_rx=&amp;quot;CAN RX&amp;quot; -P timing:data=&amp;quot;CAN RX&amp;quot; -I csv:header=true:samplerate=5000000 -i &amp;quot;T:\stdHMF\UserData\scripts\Tektronix2PulseView\_PulseView_AllChannels_ACQ000001_Tektronix_f5000000.txt&amp;quot;&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===2017-04===&lt;br /&gt;
&lt;br /&gt;
Using [[PulseView]] to decode data from a Tektronix oscilloscope of SPI communication to a CAN controller, [http://www.microchip.com/wwwproducts/Devices.aspx?dDocName=en010406 MCP2515].&lt;br /&gt;
&lt;br /&gt;
==Task list==&lt;br /&gt;
&lt;br /&gt;
Currently not in priority order.&lt;br /&gt;
&lt;br /&gt;
* Allow import of analog data through CSV files. (Related: fixed  [https://sigrok.org/bugzilla/show_bug.cgi?id=1064 bug 1064] - &amp;#039;&amp;#039;locale&amp;#039;&amp;#039; issue, decimal point, &amp;quot;,&amp;quot; vs. &amp;quot;.&amp;quot;.).&lt;br /&gt;
&lt;br /&gt;
* Add detection of error frames to the CAN protocol decoder&lt;br /&gt;
&lt;br /&gt;
* Add support for the gigga watt EEVBlog multimeter (Bluetooth, etc.)&lt;br /&gt;
&lt;br /&gt;
* Add a snap feature to the &amp;quot;cursor&amp;quot; (blue) in PulveView&lt;br /&gt;
&lt;br /&gt;
* Change number of significant digits for the time display in the &amp;quot;cursor&amp;quot; (blue) in PulveView&lt;br /&gt;
&lt;br /&gt;
* Submit selected sample traces for CAN decoder change (for CRC segment) validation. With and without stuff bits in various places. With and without timing deviations. (Related: [https://sigrok.org/bugzilla/show_bug.cgi?id=1085 bug 1085], celeron55&amp;#039;s fix, &amp;#039;&amp;#039;&amp;#039;&amp;#039;&amp;#039;if len(self.bits) &amp;gt; self.last_databit + 16&amp;#039;&amp;#039;&amp;#039;&amp;#039;&amp;#039; → &amp;#039;&amp;#039;&amp;#039;&amp;#039;&amp;#039;if len(self.bits) &amp;gt; self.last_databit + 17&amp;#039;&amp;#039;&amp;#039;&amp;#039;&amp;#039; (16 → 17)).&lt;br /&gt;
&lt;br /&gt;
* Add support for the [[Tektronix TDS2000B series|TDS2000]] series in libsigrok, and thus, by extension, use by the new shiny stuff in PulveView.&lt;br /&gt;
&lt;br /&gt;
===On wiki===&lt;br /&gt;
&lt;br /&gt;
* Change recommended procedure for submitting sample Sigrok files (traces), on &amp;#039;&amp;#039;[[Example dumps#Contributing dumps|Example dumps]]&amp;#039;&amp;#039;.&lt;br /&gt;
&lt;br /&gt;
==Glossary==&lt;br /&gt;
&lt;br /&gt;
*&amp;#039;&amp;#039;BBB&amp;#039;&amp;#039; [https://en.wikipedia.org/wiki/BeagleBoard#BeagleBone_Black BeagleBone Black]&lt;br /&gt;
*&amp;#039;&amp;#039;GH&amp;#039;&amp;#039; [http://en.wikipedia.org/wiki/GitHub GitHub]&lt;br /&gt;
*&amp;#039;&amp;#039;ISTR&amp;#039;&amp;#039; ????&lt;br /&gt;
*&amp;#039;&amp;#039;LA&amp;#039;&amp;#039; Logic analyser&lt;br /&gt;
*&amp;#039;&amp;#039;ML&amp;#039;&amp;#039; Mailing list&lt;br /&gt;
*&amp;#039;&amp;#039;OLS&amp;#039;&amp;#039; ????&lt;br /&gt;
*&amp;#039;&amp;#039;PR&amp;#039;&amp;#039; Pull request (a Git term). &amp;#039;&amp;#039;Not&amp;#039;&amp;#039; &amp;quot;problem report&amp;quot;.&lt;br /&gt;
*&amp;#039;&amp;#039;SR&amp;#039;&amp;#039; Sigrok&lt;br /&gt;
*&amp;#039;&amp;#039;srd&amp;#039;&amp;#039; ????&lt;br /&gt;
*&amp;#039;&amp;#039;WIP&amp;#039;&amp;#039; Work in progress. Mostly related to particular Git commits.&lt;br /&gt;
*&amp;#039;&amp;#039;PD&amp;#039;&amp;#039; protocol decoder. Non-standard spellings are &amp;#039;&amp;#039;Pd&amp;#039;&amp;#039; and &amp;#039;&amp;#039;pd&amp;#039;&amp;#039;.&lt;br /&gt;
*&amp;#039;&amp;#039;PV&amp;#039;&amp;#039; PulseView. Non-standard spellings are &amp;#039;&amp;#039;Pv&amp;#039;&amp;#039; and &amp;#039;&amp;#039;pv&amp;#039;&amp;#039;.&lt;br /&gt;
&lt;br /&gt;
==Some bug reports==&lt;br /&gt;
&lt;br /&gt;
* [https://sigrok.org/bug/1155 Possible problem with the MSO-19 USB driver on Windows]. PulveView crashes at startup if the MSO-19 is connected.&lt;br /&gt;
&lt;br /&gt;
==Interests==&lt;br /&gt;
&lt;br /&gt;
I am mostly interested in:&lt;br /&gt;
&lt;br /&gt;
* The [[CAN|CAN protocol decoder]] (that page is currently empty, but it is listed on [[Protocol decoders|the protocol decoders page]])&lt;br /&gt;
* CAN bus loggers, like IXXAT&amp;#039;s (now acquired by HMS) &amp;#039;&amp;#039;USB-to-CAN compact&amp;#039;&amp;#039;/&amp;#039;&amp;#039;USB-to-CAN V2&amp;#039;&amp;#039; and Kvaser&amp;#039;s &amp;#039;&amp;#039;Memorator&amp;#039;&amp;#039;.&lt;br /&gt;
* The higher-level [http://en.wikipedia.org/wiki/CANopen CANopen] protocol (on top of CAN)&lt;br /&gt;
&lt;br /&gt;
==Protocol decoders==&lt;br /&gt;
&lt;br /&gt;
===Non-empty wiki pages===&lt;br /&gt;
&lt;br /&gt;
Currently (2017-07-08), 28 &lt;br /&gt;
of 77 [[Protocol_decoders#Supported protocol decoders|protocol decoders]] (36%) have non-empty pages here on the wiki:&lt;br /&gt;
&lt;br /&gt;
*[[Protocol decoder:Adns5020|ADNS5020]] &lt;br /&gt;
*[[Protocol decoder:Am230x|AM230X]]&lt;br /&gt;
*[[Protocol decoder:Arm etmv3|ARM ETMV3]]&lt;br /&gt;
*[[Protocol decoder:Arm itm|ARM ITM]]&lt;br /&gt;
*[[Protocol decoder:Arm tpiu|ARM TPIU]]&lt;br /&gt;
*[[Protocol decoder:Aud|AUD]]&lt;br /&gt;
*[[Protocol decoder:Avr pdi|AVR PDI]]&lt;br /&gt;
*[[Protocol decoder:Dcf77|DCF77]]&lt;br /&gt;
*[[Protocol decoder:I2c|I²C]]&lt;br /&gt;
*[[Protocol decoder:Ir nec|IR NEC]]&lt;br /&gt;
*[[Protocol decoder:Modbus|Modbus]]&lt;br /&gt;
*[[Protocol decoder:Mrf24j40|MRF24J40]]&lt;br /&gt;
*[[Protocol decoder:Nrf24l01|NRF24L01]]&lt;br /&gt;
*[[Protocol decoder:Nunchuk|Nunchuk]]&lt;br /&gt;
*[[Protocol decoder:Pan1321|PAN1321]]&lt;br /&gt;
*[[Protocol decoder:Parallel|Parallel]]&lt;br /&gt;
*[[Protocol decoder:Pwm|PWM]]&lt;br /&gt;
*[[Protocol decoder:Qi|Qi]]&lt;br /&gt;
*[[Protocol decoder:Rfm12|RFM12]]&lt;br /&gt;
*[[Protocol decoder:Rgb led spi|RGB LED SPI]]&lt;br /&gt;
*[[Protocol decoder:Rtc8564|RTC8564]]&lt;br /&gt;
*[[Protocol decoder:Spdif|SPDIF]]&lt;br /&gt;
*[[Protocol decoder:Spi|SPI]]&lt;br /&gt;
*[[Protocol decoder:Spiflash|SPI flash]]&lt;br /&gt;
*[[Protocol decoder:Stepper motor|Stepper motor]]&lt;br /&gt;
*[[Protocol decoder:Tlc5620|TLC5620]]&lt;br /&gt;
*[[Protocol decoder:Uart|UART]]&lt;br /&gt;
*[[Protocol decoder:Z80|Z80]]&lt;br /&gt;
&lt;br /&gt;
==Profile==&lt;br /&gt;
&lt;br /&gt;
Profile: see [http://en.wikipedia.org/wiki/User:Mortense my Wikipedia user page].&lt;br /&gt;
&lt;br /&gt;
Credentials: more than 5000 edits on the English Wikipedia.&lt;br /&gt;
&lt;br /&gt;
==Shortcuts==&lt;br /&gt;
&lt;br /&gt;
* [https://sigrok.org/doc/pulseview/0.4.1/manual.html PulseView manual]&lt;br /&gt;
* [[Sigrok-cli|sigrok-cli man page]]&lt;br /&gt;
* [https://plus.google.com/communities/109843678338531936878 Google+ group for sigrok] (now defunc as Google+ closed down)&lt;br /&gt;
* [[PulseView]]. Includes the command line to get the source code using Git.&lt;br /&gt;
* [[Downloads#Windows_Download|PulseView, Windows binaries]] (nightly - development). [[Windows#Windows_installers|Alternative location]] (but it seems redundant).&lt;br /&gt;
* [[Downloads#Linux_AppImage_binaries|PulseView, Linux binaries]] (nightly - development).&lt;br /&gt;
* [[Example dumps|Example data dumps]] - sample data in .sr format. Also includes instructions on how to contribute new ones. Includes the command line to get the whole thing using Git (as of 2017-11-26, 2286 &amp;quot;objects&amp;quot;, 724 .sr files, about 65&amp;amp;nbsp;MB in download size, 192&amp;amp;nbsp;MB on disk).&lt;br /&gt;
* [[Special:Random|Random page]]&lt;br /&gt;
* [https://sigrok.org/jenkins/job/sigrok-native-appimage/ Native app image] (not official yet). Is for Linux and x86 only. See also [https://en.wikipedia.org/wiki/AppImage AppImage] (Wikipedia).&lt;br /&gt;
* [[Press]]. List of annotated links, mostly blog posts.&lt;br /&gt;
* [[Probe comparison]]&lt;br /&gt;
* [[Link Instruments MSO-19|MSO-19]]. Mixed oscilloscope and logic analyser by Link Instruments that (or rather its driver) crashes PulveView at startup when connected (until some time in mid 2018(?)). Some reverse engineering has been done in 2012, but it is not supported (has status &amp;quot;Planned&amp;quot;). [https://sigrok.org/bugzilla/show_bug.cgi?id=1155 Sigrok bug report for the crash]. [http://www.linkinstruments.com/doupdate_mso19.htm Software download page for it.]&lt;br /&gt;
* [[Windows|sigrok, Microsoft Windows page]]&lt;br /&gt;
** [[Windows#Device specific USB driver|Device specific USB driver - WinUSB - Zadig]]&lt;br /&gt;
&lt;br /&gt;
===Protocol decoders===&lt;br /&gt;
&lt;br /&gt;
* The [[CAN|CAN bus protocol decoder]]&lt;br /&gt;
* [[Protocol decoder HOWTO]]&lt;br /&gt;
* [[Protocol decoder API]]&lt;br /&gt;
* [[Protocol decoders#Supported protocol decoders|Supported protocol decoders]]&lt;br /&gt;
&lt;br /&gt;
===Building sigrok===&lt;br /&gt;
&lt;br /&gt;
* On Debian (e.g. Raspberry Pi): [[Linux#Installing the requirements 2|Installing required software]]&lt;br /&gt;
* On Debian (e.g. Raspberry Pi): [[Linux#Building 3|Actual build]]&lt;br /&gt;
* Alternative to following the wiki pages: [https://sigrok.org/gitweb/?p=sigrok-util.git;a=blob;f=cross-compile/linux/sigrok-cross-linux;h=2c8e559efde8cf6ae9a365bf1a4324a33600fae7;hb=HEAD a script that will do most of it]. (&amp;#039;&amp;#039;[sigrok-util.git] / cross-compile / linux / sigrok-cross-linux&amp;#039;&amp;#039;)&lt;br /&gt;
* Windows:&lt;br /&gt;
**On Windows: [[Windows#Native_build_using_MSYS2|Native build using MSYS2]] (but may not really work - sigrok-cli and PulseView are listed as not working).&lt;br /&gt;
**[[Windows#Cross-compile_using_MXE|Cross compile on Linux]] (using [http://mxe.cc/ MXE]). The script is [https://sigrok.org/gitweb/?p=sigrok-util.git;a=blob;f=cross-compile/mingw/sigrok-cross-mingw;h=8330406ecd28969d8d29c8ad23df8968a4b9ec68;hb=HEAD /sigrok-util/cross-compile/mingw/sigrok-cross-mingw]. Used for nightlies? [https://sigrok.org/jenkins/job/sigrok-cross-mingw/buildtype=static,debugtype=debug,platform=cross-i686-w64-mingw32/ Jenkins page for the debug version].&lt;br /&gt;
* The Jenkins thingy - automatic build, e.g. nightlies for PulseView and &amp;quot;AppImage&amp;quot; (self-contained executable for x86 Linux). Sample: [https://sigrok.org/jenkins/job/sigrok-cli/ sigrok-cli] with 44 configurations (43 cross-compiles), e.g. cross-x86_64-w64-mingw32 (for Windows 64-bit?).&lt;br /&gt;
* The [[Building#Installing_to_a_non-standard_directory_using_LD_LIBRARY_PATH|LD_LIBRARY_PATH trick]]&lt;/div&gt;</summary>
		<author><name>PeterMortensen</name></author>
	</entry>
	<entry>
		<id>https://sigrok.org/w/index.php?title=User:PeterMortensen&amp;diff=14799</id>
		<title>User:PeterMortensen</title>
		<link rel="alternate" type="text/html" href="https://sigrok.org/w/index.php?title=User:PeterMortensen&amp;diff=14799"/>
		<updated>2020-01-06T17:22:09Z</updated>

		<summary type="html">&lt;p&gt;PeterMortensen: /* Shortcuts */ Updated.&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;==Recent activity==&lt;br /&gt;
&lt;br /&gt;
===2019-04===&lt;br /&gt;
&lt;br /&gt;
#Building a Docker container for compiling sigrok-cli and PulseView. It is supposed to both run under Linux and Windows (x64).&lt;br /&gt;
#Testing a new driver by user &amp;#039;&amp;#039;droghio&amp;#039;&amp;#039; that should work for the [[Tektronix TDS2024B|TDS2024C Tektronix  oscilloscope]]. Some placeholding:&lt;br /&gt;
#*Part of &amp;quot;lsusb -v&amp;quot; output: &amp;quot;Bus 008 Device 005: ID 0699:03a6 Tektronix, Inc.&amp;quot;&lt;br /&gt;
#*Notes to self: the &amp;#039;&amp;#039;&amp;quot;[git://sigrok.org/sigrok-util util]&amp;quot;&amp;#039;&amp;#039; repository (for building and stuff) - [https://github.com/sigrokproject/sigrok-util read-only mirror at GitHub]. [https://github.com/sigrokproject/sigrok-util/blob/master/cross-compile/linux/sigrok-cross-linux Cross-built script].&lt;br /&gt;
&lt;br /&gt;
===2018-04===&lt;br /&gt;
&lt;br /&gt;
Submitting comprehensive sample data for CAN bus, both 11-bit and 29-bit messages, and corresponding test cases (mostly for regression test - especially regression for [https://sigrok.org/bugzilla/show_bug.cgi?id=1085 the 2018-04-12 fix to the decoding at the end of the CRC part]).&lt;br /&gt;
&lt;br /&gt;
Notes to self:&lt;br /&gt;
&lt;br /&gt;
# Original acquired analog data: C:\temp2\2017-12-23\CAN decoder, new stuff bit handling at the end of the CRC segment\Data67\In\ACQ000009_Tektronix.txt&lt;br /&gt;
&lt;br /&gt;
===2017-12===&lt;br /&gt;
&lt;br /&gt;
Recording 22483 traces for the purpose of evaluating [https://sigrok.org/bugzilla/show_bug.cgi?id=1085 a proposed fix to the CAN protocol decoder] (actually only changing a single number from 16 to 17), stuff bit at the very end of the CRC segment, with a modified trigger scheme: &lt;br /&gt;
&lt;br /&gt;
* Change the position of the trigger point to the end (right) so there is always a CAN message in the trace (for the previous), but still 26&amp;amp;nbsp;µs recessive.&lt;br /&gt;
&lt;br /&gt;
The time division was 100&amp;amp;nbsp;µs / division (about 225 bit times max) to always record whole CAN messages - at 10 samples per bit time.&lt;br /&gt;
&lt;br /&gt;
===2017-07===&lt;br /&gt;
&lt;br /&gt;
Using the sigrok command-line (&amp;quot;sigrok-cli&amp;quot;) to bulk process data derived from Tektronix oscilloscope data of 250&amp;amp;nbsp;kbit/s CAN traffic on a real-world system (mobile cranes). The first sample data set is 5335 oscilloscope traces obtained with the trigger set to a negative pulse on CAN-H (to start off at the end of a CAN message) - corresponding to 6.5 recessive bits, 26&amp;amp;nbsp;µsec (detecting the space in-between CAN messages). Sometimes there is a CAN message right after this, sometimes it is a bit delayed, and sometimes it is completely empty.&lt;br /&gt;
&lt;br /&gt;
A sample command line (on Windows) is:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;sigrok-cli -P can:bitrate=250000:can_rx=&amp;quot;CAN RX&amp;quot; -P timing:data=&amp;quot;CAN RX&amp;quot; -I csv:header=true:samplerate=5000000 -i &amp;quot;T:\stdHMF\UserData\scripts\Tektronix2PulseView\_PulseView_AllChannels_ACQ000001_Tektronix_f5000000.txt&amp;quot;&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===2017-04===&lt;br /&gt;
&lt;br /&gt;
Using [[PulseView]] to decode data from a Tektronix oscilloscope of SPI communication to a CAN controller, [http://www.microchip.com/wwwproducts/Devices.aspx?dDocName=en010406 MCP2515].&lt;br /&gt;
&lt;br /&gt;
==Task list==&lt;br /&gt;
&lt;br /&gt;
Currently not in priority order.&lt;br /&gt;
&lt;br /&gt;
* Allow import of analog data through CSV files. (Related: fixed  [https://sigrok.org/bugzilla/show_bug.cgi?id=1064 bug 1064] - &amp;#039;&amp;#039;locale&amp;#039;&amp;#039; issue, decimal point, &amp;quot;,&amp;quot; vs. &amp;quot;.&amp;quot;.).&lt;br /&gt;
&lt;br /&gt;
* Add detection of error frames to the CAN protocol decoder&lt;br /&gt;
&lt;br /&gt;
* Add support for the gigga watt EEVBlog multimeter (Bluetooth, etc.)&lt;br /&gt;
&lt;br /&gt;
* Add a snap feature to the &amp;quot;cursor&amp;quot; (blue) in PulveView&lt;br /&gt;
&lt;br /&gt;
* Change number of significant digits for the time display in the &amp;quot;cursor&amp;quot; (blue) in PulveView&lt;br /&gt;
&lt;br /&gt;
* Submit selected sample traces for CAN decoder change (for CRC segment) validation. With and without stuff bits in various places. With and without timing deviations. (Related: [https://sigrok.org/bugzilla/show_bug.cgi?id=1085 bug 1085], celeron55&amp;#039;s fix, &amp;#039;&amp;#039;&amp;#039;&amp;#039;&amp;#039;if len(self.bits) &amp;gt; self.last_databit + 16&amp;#039;&amp;#039;&amp;#039;&amp;#039;&amp;#039; → &amp;#039;&amp;#039;&amp;#039;&amp;#039;&amp;#039;if len(self.bits) &amp;gt; self.last_databit + 17&amp;#039;&amp;#039;&amp;#039;&amp;#039;&amp;#039; (16 → 17)).&lt;br /&gt;
&lt;br /&gt;
* Add support for the [[Tektronix TDS2000B series|TDS2000]] series in libsigrok, and thus, by extension, use by the new shiny stuff in PulveView.&lt;br /&gt;
&lt;br /&gt;
===On wiki===&lt;br /&gt;
&lt;br /&gt;
* Change recommended procedure for submitting sample Sigrok files (traces), on &amp;#039;&amp;#039;[[Example dumps#Contributing dumps|Example dumps]]&amp;#039;&amp;#039;.&lt;br /&gt;
&lt;br /&gt;
==Glossary==&lt;br /&gt;
&lt;br /&gt;
*&amp;#039;&amp;#039;BBB&amp;#039;&amp;#039; [https://en.wikipedia.org/wiki/BeagleBoard#BeagleBone_Black BeagleBone Black]&lt;br /&gt;
*&amp;#039;&amp;#039;GH&amp;#039;&amp;#039; [http://en.wikipedia.org/wiki/GitHub GitHub]&lt;br /&gt;
*&amp;#039;&amp;#039;ISTR&amp;#039;&amp;#039; ????&lt;br /&gt;
*&amp;#039;&amp;#039;LA&amp;#039;&amp;#039; Logic analyser&lt;br /&gt;
*&amp;#039;&amp;#039;ML&amp;#039;&amp;#039; Mailing list&lt;br /&gt;
*&amp;#039;&amp;#039;OLS&amp;#039;&amp;#039; ????&lt;br /&gt;
*&amp;#039;&amp;#039;PR&amp;#039;&amp;#039; Pull request (a Git term). &amp;#039;&amp;#039;Not&amp;#039;&amp;#039; &amp;quot;problem report&amp;quot;.&lt;br /&gt;
*&amp;#039;&amp;#039;SR&amp;#039;&amp;#039; Sigrok&lt;br /&gt;
*&amp;#039;&amp;#039;srd&amp;#039;&amp;#039; ????&lt;br /&gt;
*&amp;#039;&amp;#039;WIP&amp;#039;&amp;#039; Work in progress. Mostly related to particular Git commits.&lt;br /&gt;
*&amp;#039;&amp;#039;PD&amp;#039;&amp;#039; protocol decoder. Non-standard spellings are &amp;#039;&amp;#039;Pd&amp;#039;&amp;#039; and &amp;#039;&amp;#039;pd&amp;#039;&amp;#039;.&lt;br /&gt;
*&amp;#039;&amp;#039;PV&amp;#039;&amp;#039; PulseView. Non-standard spellings are &amp;#039;&amp;#039;Pv&amp;#039;&amp;#039; and &amp;#039;&amp;#039;pv&amp;#039;&amp;#039;.&lt;br /&gt;
&lt;br /&gt;
==Some bug reports==&lt;br /&gt;
&lt;br /&gt;
* [https://sigrok.org/bug/1155 Possible problem with the MSO-19 USB driver on Windows]. PulveView crashes at startup if the MSO-19 is connected.&lt;br /&gt;
&lt;br /&gt;
==Interests==&lt;br /&gt;
&lt;br /&gt;
I am mostly interested in:&lt;br /&gt;
&lt;br /&gt;
* The [[CAN|CAN protocol decoder]] (that page is currently empty, but it is listed on [[Protocol decoders|the protocol decoders page]])&lt;br /&gt;
* CAN bus loggers, like IXXAT&amp;#039;s (now acquired by HMS) &amp;#039;&amp;#039;USB-to-CAN compact&amp;#039;&amp;#039;/&amp;#039;&amp;#039;USB-to-CAN V2&amp;#039;&amp;#039; and Kvaser&amp;#039;s &amp;#039;&amp;#039;Memorator&amp;#039;&amp;#039;.&lt;br /&gt;
* The higher-level [http://en.wikipedia.org/wiki/CANopen CANopen] protocol (on top of CAN)&lt;br /&gt;
&lt;br /&gt;
==Protocol decoders==&lt;br /&gt;
&lt;br /&gt;
===Non-empty wiki pages===&lt;br /&gt;
&lt;br /&gt;
Currently (2017-07-08), 28 &lt;br /&gt;
of 77 [[Protocol_decoders#Supported protocol decoders|protocol decoders]] (36%) have non-empty pages here on the wiki:&lt;br /&gt;
&lt;br /&gt;
*[[Protocol decoder:Adns5020|ADNS5020]] &lt;br /&gt;
*[[Protocol decoder:Am230x|AM230X]]&lt;br /&gt;
*[[Protocol decoder:Arm etmv3|ARM ETMV3]]&lt;br /&gt;
*[[Protocol decoder:Arm itm|ARM ITM]]&lt;br /&gt;
*[[Protocol decoder:Arm tpiu|ARM TPIU]]&lt;br /&gt;
*[[Protocol decoder:Aud|AUD]]&lt;br /&gt;
*[[Protocol decoder:Avr pdi|AVR PDI]]&lt;br /&gt;
*[[Protocol decoder:Dcf77|DCF77]]&lt;br /&gt;
*[[Protocol decoder:I2c|I²C]]&lt;br /&gt;
*[[Protocol decoder:Ir nec|IR NEC]]&lt;br /&gt;
*[[Protocol decoder:Modbus|Modbus]]&lt;br /&gt;
*[[Protocol decoder:Mrf24j40|MRF24J40]]&lt;br /&gt;
*[[Protocol decoder:Nrf24l01|NRF24L01]]&lt;br /&gt;
*[[Protocol decoder:Nunchuk|Nunchuk]]&lt;br /&gt;
*[[Protocol decoder:Pan1321|PAN1321]]&lt;br /&gt;
*[[Protocol decoder:Parallel|Parallel]]&lt;br /&gt;
*[[Protocol decoder:Pwm|PWM]]&lt;br /&gt;
*[[Protocol decoder:Qi|Qi]]&lt;br /&gt;
*[[Protocol decoder:Rfm12|RFM12]]&lt;br /&gt;
*[[Protocol decoder:Rgb led spi|RGB LED SPI]]&lt;br /&gt;
*[[Protocol decoder:Rtc8564|RTC8564]]&lt;br /&gt;
*[[Protocol decoder:Spdif|SPDIF]]&lt;br /&gt;
*[[Protocol decoder:Spi|SPI]]&lt;br /&gt;
*[[Protocol decoder:Spiflash|SPI flash]]&lt;br /&gt;
*[[Protocol decoder:Stepper motor|Stepper motor]]&lt;br /&gt;
*[[Protocol decoder:Tlc5620|TLC5620]]&lt;br /&gt;
*[[Protocol decoder:Uart|UART]]&lt;br /&gt;
*[[Protocol decoder:Z80|Z80]]&lt;br /&gt;
&lt;br /&gt;
==Profile==&lt;br /&gt;
&lt;br /&gt;
Profile: see [http://en.wikipedia.org/wiki/User:Mortense my Wikipedia user page].&lt;br /&gt;
&lt;br /&gt;
Credentials: more than 5000 edits on the English Wikipedia.&lt;br /&gt;
&lt;br /&gt;
==Shortcuts==&lt;br /&gt;
&lt;br /&gt;
* [https://sigrok.org/doc/pulseview/0.4.1/manual.html PulseView manual]&lt;br /&gt;
* [[Sigrok-cli|sigrok-cli man page]]&lt;br /&gt;
* [https://plus.google.com/communities/109843678338531936878 Google+ group for sigrok] (now defunc as Google+ closed down)&lt;br /&gt;
* [[PulseView]]. Includes the command line to get the source code using Git.&lt;br /&gt;
* [[Downloads#Windows_Download|PulseView, Windows binaries]] (nightly - development). [[Windows#Windows_installers|Alternative location]] (but it seems redundant).&lt;br /&gt;
* [[Example dumps|Example data dumps]] - sample data in .sr format. Also includes instructions on how to contribute new ones. Includes the command line to get the whole thing using Git (as of 2017-11-26, 2286 &amp;quot;objects&amp;quot;, 724 .sr files, about 65&amp;amp;nbsp;MB in download size, 192&amp;amp;nbsp;MB on disk).&lt;br /&gt;
* [[Special:Random|Random page]]&lt;br /&gt;
* [https://sigrok.org/jenkins/job/sigrok-native-appimage/ Native app image] (not official yet). Is for Linux and x86 only. See also [https://en.wikipedia.org/wiki/AppImage AppImage] (Wikipedia).&lt;br /&gt;
* [[Press]]. List of annotated links, mostly blog posts.&lt;br /&gt;
* [[Probe comparison]]&lt;br /&gt;
* [[Link Instruments MSO-19|MSO-19]]. Mixed oscilloscope and logic analyser by Link Instruments that (or rather its driver) crashes PulveView at startup when connected (until some time in mid 2018(?)). Some reverse engineering has been done in 2012, but it is not supported (has status &amp;quot;Planned&amp;quot;). [https://sigrok.org/bugzilla/show_bug.cgi?id=1155 Sigrok bug report for the crash]. [http://www.linkinstruments.com/doupdate_mso19.htm Software download page for it.]&lt;br /&gt;
* [[Windows|sigrok, Microsoft Windows page]]&lt;br /&gt;
** [[Windows#Device specific USB driver|Device specific USB driver - WinUSB - Zadig]]&lt;br /&gt;
&lt;br /&gt;
===Protocol decoders===&lt;br /&gt;
&lt;br /&gt;
* The [[CAN|CAN bus protocol decoder]]&lt;br /&gt;
* [[Protocol decoder HOWTO]]&lt;br /&gt;
* [[Protocol decoder API]]&lt;br /&gt;
* [[Protocol decoders#Supported protocol decoders|Supported protocol decoders]]&lt;br /&gt;
&lt;br /&gt;
===Building sigrok===&lt;br /&gt;
&lt;br /&gt;
* On Debian (e.g. Raspberry Pi): [[Linux#Installing the requirements 2|Installing required software]]&lt;br /&gt;
* On Debian (e.g. Raspberry Pi): [[Linux#Building 3|Actual build]]&lt;br /&gt;
* Alternative to following the wiki pages: [https://sigrok.org/gitweb/?p=sigrok-util.git;a=blob;f=cross-compile/linux/sigrok-cross-linux;h=2c8e559efde8cf6ae9a365bf1a4324a33600fae7;hb=HEAD a script that will do most of it]. (&amp;#039;&amp;#039;[sigrok-util.git] / cross-compile / linux / sigrok-cross-linux&amp;#039;&amp;#039;)&lt;br /&gt;
* Windows:&lt;br /&gt;
**On Windows: [[Windows#Native_build_using_MSYS2|Native build using MSYS2]] (but may not really work - sigrok-cli and PulseView are listed as not working).&lt;br /&gt;
**[[Windows#Cross-compile_using_MXE|Cross compile on Linux]] (using [http://mxe.cc/ MXE]). The script is [https://sigrok.org/gitweb/?p=sigrok-util.git;a=blob;f=cross-compile/mingw/sigrok-cross-mingw;h=8330406ecd28969d8d29c8ad23df8968a4b9ec68;hb=HEAD /sigrok-util/cross-compile/mingw/sigrok-cross-mingw]. Used for nightlies? [https://sigrok.org/jenkins/job/sigrok-cross-mingw/buildtype=static,debugtype=debug,platform=cross-i686-w64-mingw32/ Jenkins page for the debug version].&lt;br /&gt;
* The Jenkins thingy - automatic build, e.g. nightlies for PulseView and &amp;quot;AppImage&amp;quot; (self-contained executable for x86 Linux). Sample: [https://sigrok.org/jenkins/job/sigrok-cli/ sigrok-cli] with 44 configurations (43 cross-compiles), e.g. cross-x86_64-w64-mingw32 (for Windows 64-bit?).&lt;br /&gt;
* The [[Building#Installing_to_a_non-standard_directory_using_LD_LIBRARY_PATH|LD_LIBRARY_PATH trick]]&lt;/div&gt;</summary>
		<author><name>PeterMortensen</name></author>
	</entry>
	<entry>
		<id>https://sigrok.org/w/index.php?title=UNI-T_UT61E&amp;diff=14223</id>
		<title>UNI-T UT61E</title>
		<link rel="alternate" type="text/html" href="https://sigrok.org/w/index.php?title=UNI-T_UT61E&amp;diff=14223"/>
		<updated>2019-04-22T11:54:45Z</updated>

		<summary type="html">&lt;p&gt;PeterMortensen: More copy editing (ref. &amp;lt;http://english.stackexchange.com/questions/15953&amp;gt;).&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{Infobox multimeter&lt;br /&gt;
| image           = [[File:Old_ver_front.png|180px]]&lt;br /&gt;
| name            = UNI-T UT61E&lt;br /&gt;
| status          = supported&lt;br /&gt;
| source_code_dir = &lt;br /&gt;
| counts          = 22,000&lt;br /&gt;
| categories      = CAT II (600 V) / CAT III (300 V)&lt;br /&gt;
| connectivity    = [[Device_cables#UNI-T_UT-D02|RS232]] / [[Device_cables#UNI-T_UT-D04|USB]]&lt;br /&gt;
| measurements    = voltage, current, resistance, capacitance, frequency, duty cycle, diode, continuity&lt;br /&gt;
| features        = autorange, true-rms, data hold, min/max, relative, bargraph, backlight&lt;br /&gt;
| website         = [http://www.uni-trend.com/UT61e.html uni-trend.com]&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
The &amp;#039;&amp;#039;&amp;#039;UNI-T UT61E&amp;#039;&amp;#039;&amp;#039; is a 22,000 counts, CAT II (600&amp;amp;nbsp;V) / CAT III (300&amp;amp;nbsp;V) handheld digital multimeter with RS-232 or USB connectivity.&lt;br /&gt;
&lt;br /&gt;
See [[UNI-T UT61E/Info]] for more details (such as &amp;#039;&amp;#039;&amp;#039;lsusb -vvv&amp;#039;&amp;#039;&amp;#039; output) about the device.&lt;br /&gt;
&lt;br /&gt;
== Hardware ==&lt;br /&gt;
&lt;br /&gt;
* [[Multimeter_ICs#Cyrustek_ES51922|Cyrustek ES51922]] multimeter chip (ES51922A actually, as per various photos: [http://i492.photobucket.com/albums/rr283/DarkShadower/IMAG0005.jpg 1], [http://www.eevblog.com/forum/product-reviews-photos-and-discussion/uni-t-ut61e-multimeter-teardown-photos/?action=dlattach;attach=19985;image;PHPSESSID=14790b9893bed7edb7d8c0505b195ed8 2], [http://img848.imageshack.us/img848/3784/dscf0150w.jpg 3], [http://we.easyelectronics.ru/uploads/images/00/05/21/2011/11/18/553300.jpg 4])&lt;br /&gt;
&lt;br /&gt;
== Photos ==&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Older version:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;gallery&amp;gt;&lt;br /&gt;
File:Old ver.JPG&lt;br /&gt;
File:Old ver front.JPG&lt;br /&gt;
File:Old ver back.JPG&lt;br /&gt;
File:Old ver batt.JPG&lt;br /&gt;
File:Old ver lcd.JPG&lt;br /&gt;
File:Old ver cables.JPG&lt;br /&gt;
File:Old_ver_pcb.JPG&lt;br /&gt;
File:Old ver es51922a.JPG&lt;br /&gt;
&amp;lt;/gallery&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Newer version:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;gallery&amp;gt;&lt;br /&gt;
File:New ver.JPG&lt;br /&gt;
File:New ver front.JPG&lt;br /&gt;
File:New ver back.JPG&lt;br /&gt;
File:New ver backb.JPG&lt;br /&gt;
File:New ver batt.JPG&lt;br /&gt;
File:New ver frontCover.JPG&lt;br /&gt;
File:New ver Knob.JPG&lt;br /&gt;
File:New ver lcd.JPG&lt;br /&gt;
File:New ver pcb front.JPG&lt;br /&gt;
File:New ver pcb back.JPG&lt;br /&gt;
File:New ver es51922a.JPG&lt;br /&gt;
File:New ver ad737.JPG&lt;br /&gt;
&amp;lt;/gallery&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Protocol ==&lt;br /&gt;
&lt;br /&gt;
See [[Multimeter_ICs#Cyrustek ES51922|Cyrustek ES51922]] for the DMM IC protocol.&lt;br /&gt;
&lt;br /&gt;
Depending on the cable, additional decoding is needed, though.&lt;br /&gt;
&lt;br /&gt;
Different cables are available to communicate to the DMM: regular serial cables which provide a COM port, and USB HID based cables where applications are required to handle a proprietary protocol of running serial communication on top of HID requests. See the &amp;#039;&amp;#039;[[Device cables]]&amp;#039;&amp;#039; page for details; the same cables can be used with many different DMM models.&lt;br /&gt;
&lt;br /&gt;
Depending on the specific cable in use, either a device driver ending in &amp;#039;&amp;#039;&amp;#039;-ser&amp;#039;&amp;#039;&amp;#039; or not ending in &amp;#039;&amp;#039;&amp;#039;-ser&amp;#039;&amp;#039;&amp;#039; must be used. See README.devices for details. &lt;br /&gt;
&lt;br /&gt;
The message &amp;#039;&amp;#039;&amp;quot;HID feature report error: LIBUSB_ERROR_PIPE&amp;quot;&amp;#039;&amp;#039; results from using the USB HID driver with a USB-to-serial cable. In this case, try using --driver=&amp;#039;&amp;#039;&amp;#039;uni-t-ut61e-ser&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
The transmission of the measurement data cannot be disabled. The respective Cyrustek ES51922 pin (111, &amp;#039;&amp;#039;&amp;#039;RS232&amp;#039;&amp;#039;&amp;#039;) is tied to GND (i.e. transmission is always enabled) on this multimeter.&amp;lt;sup&amp;gt;[http://www.steffenvogel.de/2011/01/25/inner-workings-of-uni-trend-ut61e-digital-multimeter/]&amp;lt;/sup&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Usage ==&lt;br /&gt;
The following [[sigrok-cli]] command can be used to receive five measured values from a device connected via USB (note that the USB VID/PID after the &amp;#039;&amp;#039;&amp;#039;&amp;lt;tt&amp;gt;conn&amp;lt;/tt&amp;gt;&amp;#039;&amp;#039;&amp;#039; option needs to be changed depending on the exact USB adapter cable used):&lt;br /&gt;
&amp;lt;source lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
$ sigrok-cli --driver=uni-t-ut61e:conn=1a86.e008 -O analog --samples 5&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
If your meter has a serial (RS-232) cable connected to a USB-to-serial adapter, a different driver is used. Example for ttyUSB0:&lt;br /&gt;
&amp;lt;source lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
$ sigrok-cli --driver=uni-t-ut61e-ser:conn=/dev/ttyUSB0 -O analog --samples 5&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;&amp;lt;tt&amp;gt;--samples &amp;lt;n&amp;gt;&amp;lt;/tt&amp;gt;&amp;#039;&amp;#039;&amp;#039; stops acquisition after the specified number of measurements, while &amp;#039;&amp;#039;&amp;#039;&amp;lt;tt&amp;gt;--continuous&amp;lt;/tt&amp;gt;&amp;#039;&amp;#039;&amp;#039; does not stop.  Type just &amp;#039;&amp;#039;&amp;#039;sigrok-cli&amp;#039;&amp;#039;&amp;#039; by itself for a summary of options. &lt;br /&gt;
More information on drivers can be found in the [http://sigrok.org/gitweb/?p=libsigrok.git;a=blob;f=README.devices README.devices] file of the [[libsigrok]] source tree.&lt;br /&gt;
&lt;br /&gt;
== Resources ==&lt;br /&gt;
&lt;br /&gt;
* [http://www.uni-trend.com/manual2/UT61English.pdf Manual]&lt;br /&gt;
* [http://www.uni-trend.com/Web%20site/DMM%20Software/UT61E_setup%20v2.00.exe Vendor software]&lt;br /&gt;
* [http://www-user.tu-chemnitz.de/~heha/hs_freeware/UNI-T/ Henrik Haftmann: DMM.exe etc.] (Windows software for various UNI-T DMMs, and lots of device/protocol info)&lt;br /&gt;
* [http://www-user.tu-chemnitz.de/~heha/bastelecke/Rund%20um%20den%20PC/hid-ser.en.htm Henrik Haftmann: Hoitek HE2325U info]&lt;br /&gt;
* [http://www-user.tu-chemnitz.de/~heha/hs_freeware/UNI-T/UT61E.LOG Henrik Haftmann: UT61E log and protocol docs]&lt;br /&gt;
* [http://diyftw.de/wiki/doku.php?id=projekte:ut61e diyftw.de: Uni-Trend UT61E (UT-D04 linux treiber)] (device info, Linux software using HIDAPI: [http://diyftw.de/wiki/lib/exe/fetch.php?media=projekte:ut61e-linux-sw-0.02.tar.gz ut61e-linux-sw-0.02.tar.gz])&lt;br /&gt;
* [http://www.steffenvogel.de/2009/11/29/uni-trend-ut61e-digital-multimeter/ Steffen Vogel: UNI-TREND UT61E Digital Multimeter] (device info, Linux software for serial port: [http://static.steffenvogel.de/wp-content/uploads/2009/11/dmmut61e-0.01.tar.gz dmmut61e-0.01.tar.gz])&lt;br /&gt;
* [https://bitbucket.org/kuzavas/dmm_es51922 Multimeter data parsing utility] complete implementation written in Python&lt;br /&gt;
* [http://www.steffenvogel.de/2011/01/25/inner-workings-of-uni-trend-ut61e-digital-multimeter/ Steffen Vogel: Inner workings of UNI-TREND UT61E Digital Multimeter] (teardown)&lt;br /&gt;
* [http://erste.de/UT61/index.html erste.de: UT61 - USB Multimeter unter Linux auslesen] (info on the Hoitek HE2325U (clone?) and how suspend/resume fixes some issues with it)&lt;br /&gt;
* [http://translate.google.de/translate?sl=auto&amp;amp;tl=en&amp;amp;js=n&amp;amp;prev=_t&amp;amp;hl=de&amp;amp;ie=UTF-8&amp;amp;layout=2&amp;amp;eotf=1&amp;amp;u=http%3A%2F%2Fwe.easyelectronics.ru%2FACE%2Fdorabotka-napilnikom-multimetra-ut61e.html&amp;amp;act=url easyelectronics.ru: Refinement of a file multimeter UT61E]&lt;br /&gt;
* [http://translate.google.de/translate?sl=pl&amp;amp;tl=en&amp;amp;u=http%3A%2F%2Fflodins.info%2Fmoim-zdaniem%2F81-multimetr-uni-t-ut61e flodins.info: Multimeter UNI-T UT61E]&lt;br /&gt;
* [http://www.eevblog.com/forum/product-reviews-photos-and-discussion/uni-t-ut61e-multimeter-teardown-photos/?action=dlattach;attach=20302;PHPSESSID=14790b9893bed7edb7d8c0505b195ed8 UNI-T UT61E schematics: ut61e sch.pdf]&lt;br /&gt;
* Teardowns: [http://www.eevblog.com/forum/product-reviews-photos-and-discussion/uni-t-ut61e-multimeter-teardown-photos/msg45069/#msg45069 1], [http://www.eevblog.com/forum/product-reviews-photos-and-discussion/uni-t-ut61e-multimeter-teardown-photos/msg113968/#msg113968 2], [http://www.eevblog.com/forum/product-reviews-photos-and-discussion/uni-t-ut61e-multimeter-teardown-photos/msg86347/#msg86347 3], [http://www.eevblog.com/forum/product-reviews-photos-and-discussion/uni-t-ut61e-multimeter-teardown-photos/msg86378/#msg86378 4], [http://www.eevblog.com/forum/product-reviews-photos-and-discussion/uni-t-ut61e-multimeter-teardown-photos/msg86802/#msg86802 5], [http://www.eevblog.com/forum/product-reviews-photos-and-discussion/uni-t-ut61e-multimeter-teardown-photos/msg82784/#msg82784 6]&lt;br /&gt;
&lt;br /&gt;
[[Category:Device]]&lt;br /&gt;
[[Category:Multimeter]]&lt;br /&gt;
[[Category:Supported]]&lt;/div&gt;</summary>
		<author><name>PeterMortensen</name></author>
	</entry>
	<entry>
		<id>https://sigrok.org/w/index.php?title=UNI-T_UT61E&amp;diff=14222</id>
		<title>UNI-T UT61E</title>
		<link rel="alternate" type="text/html" href="https://sigrok.org/w/index.php?title=UNI-T_UT61E&amp;diff=14222"/>
		<updated>2019-04-22T11:53:14Z</updated>

		<summary type="html">&lt;p&gt;PeterMortensen: Copy edited (e.g. ref. &amp;lt;http://en.wikipedia.org/wiki/RS-232&amp;gt;). Fixed a link text.&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{Infobox multimeter&lt;br /&gt;
| image           = [[File:Old_ver_front.png|180px]]&lt;br /&gt;
| name            = UNI-T UT61E&lt;br /&gt;
| status          = supported&lt;br /&gt;
| source_code_dir = &lt;br /&gt;
| counts          = 22000&lt;br /&gt;
| categories      = CAT II (600V) / CAT III (300V)&lt;br /&gt;
| connectivity    = [[Device_cables#UNI-T_UT-D02|RS232]] / [[Device_cables#UNI-T_UT-D04|USB]]&lt;br /&gt;
| measurements    = voltage, current, resistance, capacitance, frequency, duty cycle, diode, continuity&lt;br /&gt;
| features        = autorange, true-rms, data hold, min/max, relative, bargraph, backlight&lt;br /&gt;
| website         = [http://www.uni-trend.com/UT61e.html uni-trend.com]&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
The &amp;#039;&amp;#039;&amp;#039;UNI-T UT61E&amp;#039;&amp;#039;&amp;#039; is a 22,000 counts, CAT II (600&amp;amp;nbsp;V) / CAT III (300&amp;amp;nbsp;V) handheld digital multimeter with RS-232 or USB connectivity.&lt;br /&gt;
&lt;br /&gt;
See [[UNI-T UT61E/Info]] for more details (such as &amp;#039;&amp;#039;&amp;#039;lsusb -vvv&amp;#039;&amp;#039;&amp;#039; output) about the device.&lt;br /&gt;
&lt;br /&gt;
== Hardware ==&lt;br /&gt;
&lt;br /&gt;
* [[Multimeter_ICs#Cyrustek_ES51922|Cyrustek ES51922]] multimeter chip (ES51922A actually, as per various photos: [http://i492.photobucket.com/albums/rr283/DarkShadower/IMAG0005.jpg 1], [http://www.eevblog.com/forum/product-reviews-photos-and-discussion/uni-t-ut61e-multimeter-teardown-photos/?action=dlattach;attach=19985;image;PHPSESSID=14790b9893bed7edb7d8c0505b195ed8 2], [http://img848.imageshack.us/img848/3784/dscf0150w.jpg 3], [http://we.easyelectronics.ru/uploads/images/00/05/21/2011/11/18/553300.jpg 4])&lt;br /&gt;
&lt;br /&gt;
== Photos ==&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Older version:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;gallery&amp;gt;&lt;br /&gt;
File:Old ver.JPG&lt;br /&gt;
File:Old ver front.JPG&lt;br /&gt;
File:Old ver back.JPG&lt;br /&gt;
File:Old ver batt.JPG&lt;br /&gt;
File:Old ver lcd.JPG&lt;br /&gt;
File:Old ver cables.JPG&lt;br /&gt;
File:Old_ver_pcb.JPG&lt;br /&gt;
File:Old ver es51922a.JPG&lt;br /&gt;
&amp;lt;/gallery&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Newer version:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;gallery&amp;gt;&lt;br /&gt;
File:New ver.JPG&lt;br /&gt;
File:New ver front.JPG&lt;br /&gt;
File:New ver back.JPG&lt;br /&gt;
File:New ver backb.JPG&lt;br /&gt;
File:New ver batt.JPG&lt;br /&gt;
File:New ver frontCover.JPG&lt;br /&gt;
File:New ver Knob.JPG&lt;br /&gt;
File:New ver lcd.JPG&lt;br /&gt;
File:New ver pcb front.JPG&lt;br /&gt;
File:New ver pcb back.JPG&lt;br /&gt;
File:New ver es51922a.JPG&lt;br /&gt;
File:New ver ad737.JPG&lt;br /&gt;
&amp;lt;/gallery&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Protocol ==&lt;br /&gt;
&lt;br /&gt;
See [[Multimeter_ICs#Cyrustek ES51922|Cyrustek ES51922]] for the DMM IC protocol.&lt;br /&gt;
&lt;br /&gt;
Depending on the cable, additional decoding is needed, though.&lt;br /&gt;
&lt;br /&gt;
Different cables are available to communicate to the DMM: regular serial cables which provide a COM port, and USB HID based cables where applications are required to handle a proprietary protocol of running serial communication on top of HID requests. See the &amp;#039;&amp;#039;[[Device cables]]&amp;#039;&amp;#039; page for details; the same cables can be used with many different DMM models.&lt;br /&gt;
&lt;br /&gt;
Depending on the specific cable in use, either a device driver ending in &amp;#039;&amp;#039;&amp;#039;-ser&amp;#039;&amp;#039;&amp;#039; or not ending in &amp;#039;&amp;#039;&amp;#039;-ser&amp;#039;&amp;#039;&amp;#039; must be used. See README.devices for details. &lt;br /&gt;
&lt;br /&gt;
The message &amp;#039;&amp;#039;&amp;quot;HID feature report error: LIBUSB_ERROR_PIPE&amp;quot;&amp;#039;&amp;#039; results from using the USB HID driver with a USB-to-serial cable. In this case, try using --driver=&amp;#039;&amp;#039;&amp;#039;uni-t-ut61e-ser&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
The transmission of the measurement data cannot be disabled. The respective Cyrustek ES51922 pin (111, &amp;#039;&amp;#039;&amp;#039;RS232&amp;#039;&amp;#039;&amp;#039;) is tied to GND (i.e. transmission is always enabled) on this multimeter.&amp;lt;sup&amp;gt;[http://www.steffenvogel.de/2011/01/25/inner-workings-of-uni-trend-ut61e-digital-multimeter/]&amp;lt;/sup&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Usage ==&lt;br /&gt;
The following [[sigrok-cli]] command can be used to receive five measured values from a device connected via USB (note that the USB VID/PID after the &amp;#039;&amp;#039;&amp;#039;&amp;lt;tt&amp;gt;conn&amp;lt;/tt&amp;gt;&amp;#039;&amp;#039;&amp;#039; option needs to be changed depending on the exact USB adapter cable used):&lt;br /&gt;
&amp;lt;source lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
$ sigrok-cli --driver=uni-t-ut61e:conn=1a86.e008 -O analog --samples 5&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
If your meter has a serial (RS-232) cable connected to a USB-to-serial adapter, a different driver is used. Example for ttyUSB0:&lt;br /&gt;
&amp;lt;source lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
$ sigrok-cli --driver=uni-t-ut61e-ser:conn=/dev/ttyUSB0 -O analog --samples 5&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;&amp;lt;tt&amp;gt;--samples &amp;lt;n&amp;gt;&amp;lt;/tt&amp;gt;&amp;#039;&amp;#039;&amp;#039; stops acquisition after the specified number of measurements, while &amp;#039;&amp;#039;&amp;#039;&amp;lt;tt&amp;gt;--continuous&amp;lt;/tt&amp;gt;&amp;#039;&amp;#039;&amp;#039; does not stop.  Type just &amp;#039;&amp;#039;&amp;#039;sigrok-cli&amp;#039;&amp;#039;&amp;#039; by itself for a summary of options. &lt;br /&gt;
More information on drivers can be found in the [http://sigrok.org/gitweb/?p=libsigrok.git;a=blob;f=README.devices README.devices] file of the [[libsigrok]] source tree.&lt;br /&gt;
&lt;br /&gt;
== Resources ==&lt;br /&gt;
&lt;br /&gt;
* [http://www.uni-trend.com/manual2/UT61English.pdf Manual]&lt;br /&gt;
* [http://www.uni-trend.com/Web%20site/DMM%20Software/UT61E_setup%20v2.00.exe Vendor software]&lt;br /&gt;
* [http://www-user.tu-chemnitz.de/~heha/hs_freeware/UNI-T/ Henrik Haftmann: DMM.exe etc.] (Windows software for various UNI-T DMMs, and lots of device/protocol info)&lt;br /&gt;
* [http://www-user.tu-chemnitz.de/~heha/bastelecke/Rund%20um%20den%20PC/hid-ser.en.htm Henrik Haftmann: Hoitek HE2325U info]&lt;br /&gt;
* [http://www-user.tu-chemnitz.de/~heha/hs_freeware/UNI-T/UT61E.LOG Henrik Haftmann: UT61E log and protocol docs]&lt;br /&gt;
* [http://diyftw.de/wiki/doku.php?id=projekte:ut61e diyftw.de: Uni-Trend UT61E (UT-D04 linux treiber)] (device info, Linux software using HIDAPI: [http://diyftw.de/wiki/lib/exe/fetch.php?media=projekte:ut61e-linux-sw-0.02.tar.gz ut61e-linux-sw-0.02.tar.gz])&lt;br /&gt;
* [http://www.steffenvogel.de/2009/11/29/uni-trend-ut61e-digital-multimeter/ Steffen Vogel: UNI-TREND UT61E Digital Multimeter] (device info, Linux software for serial port: [http://static.steffenvogel.de/wp-content/uploads/2009/11/dmmut61e-0.01.tar.gz dmmut61e-0.01.tar.gz])&lt;br /&gt;
* [https://bitbucket.org/kuzavas/dmm_es51922 Multimeter data parsing utility] complete implementation written in Python&lt;br /&gt;
* [http://www.steffenvogel.de/2011/01/25/inner-workings-of-uni-trend-ut61e-digital-multimeter/ Steffen Vogel: Inner workings of UNI-TREND UT61E Digital Multimeter] (teardown)&lt;br /&gt;
* [http://erste.de/UT61/index.html erste.de: UT61 - USB Multimeter unter Linux auslesen] (info on the Hoitek HE2325U (clone?) and how suspend/resume fixes some issues with it)&lt;br /&gt;
* [http://translate.google.de/translate?sl=auto&amp;amp;tl=en&amp;amp;js=n&amp;amp;prev=_t&amp;amp;hl=de&amp;amp;ie=UTF-8&amp;amp;layout=2&amp;amp;eotf=1&amp;amp;u=http%3A%2F%2Fwe.easyelectronics.ru%2FACE%2Fdorabotka-napilnikom-multimetra-ut61e.html&amp;amp;act=url easyelectronics.ru: Refinement of a file multimeter UT61E]&lt;br /&gt;
* [http://translate.google.de/translate?sl=pl&amp;amp;tl=en&amp;amp;u=http%3A%2F%2Fflodins.info%2Fmoim-zdaniem%2F81-multimetr-uni-t-ut61e flodins.info: Multimeter UNI-T UT61E]&lt;br /&gt;
* [http://www.eevblog.com/forum/product-reviews-photos-and-discussion/uni-t-ut61e-multimeter-teardown-photos/?action=dlattach;attach=20302;PHPSESSID=14790b9893bed7edb7d8c0505b195ed8 UNI-T UT61E schematics: ut61e sch.pdf]&lt;br /&gt;
* Teardowns: [http://www.eevblog.com/forum/product-reviews-photos-and-discussion/uni-t-ut61e-multimeter-teardown-photos/msg45069/#msg45069 1], [http://www.eevblog.com/forum/product-reviews-photos-and-discussion/uni-t-ut61e-multimeter-teardown-photos/msg113968/#msg113968 2], [http://www.eevblog.com/forum/product-reviews-photos-and-discussion/uni-t-ut61e-multimeter-teardown-photos/msg86347/#msg86347 3], [http://www.eevblog.com/forum/product-reviews-photos-and-discussion/uni-t-ut61e-multimeter-teardown-photos/msg86378/#msg86378 4], [http://www.eevblog.com/forum/product-reviews-photos-and-discussion/uni-t-ut61e-multimeter-teardown-photos/msg86802/#msg86802 5], [http://www.eevblog.com/forum/product-reviews-photos-and-discussion/uni-t-ut61e-multimeter-teardown-photos/msg82784/#msg82784 6]&lt;br /&gt;
&lt;br /&gt;
[[Category:Device]]&lt;br /&gt;
[[Category:Multimeter]]&lt;br /&gt;
[[Category:Supported]]&lt;/div&gt;</summary>
		<author><name>PeterMortensen</name></author>
	</entry>
	<entry>
		<id>https://sigrok.org/w/index.php?title=User:PeterMortensen&amp;diff=14208</id>
		<title>User:PeterMortensen</title>
		<link rel="alternate" type="text/html" href="https://sigrok.org/w/index.php?title=User:PeterMortensen&amp;diff=14208"/>
		<updated>2019-04-17T23:38:37Z</updated>

		<summary type="html">&lt;p&gt;PeterMortensen: /* Shortcuts */ Added an item.&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;==Recent activity==&lt;br /&gt;
&lt;br /&gt;
===2019-04===&lt;br /&gt;
&lt;br /&gt;
#Building a Docker container for compiling sigrok-cli and PulseView. It is supposed to both run under Linux and Windows (x64).&lt;br /&gt;
#Testing a new driver by user &amp;#039;&amp;#039;droghio&amp;#039;&amp;#039; that should work for the [[Tektronix TDS2024B|TDS2024C Tektronix  oscilloscope]]. Some placeholding:&lt;br /&gt;
#*Part of &amp;quot;lsusb -v&amp;quot; output: &amp;quot;Bus 008 Device 005: ID 0699:03a6 Tektronix, Inc.&amp;quot;&lt;br /&gt;
#*Notes to self: the &amp;#039;&amp;#039;&amp;quot;[git://sigrok.org/sigrok-util util]&amp;quot;&amp;#039;&amp;#039; repository (for building and stuff) - [https://github.com/sigrokproject/sigrok-util read-only mirror at GitHub]. [https://github.com/sigrokproject/sigrok-util/blob/master/cross-compile/linux/sigrok-cross-linux Cross-built script].&lt;br /&gt;
&lt;br /&gt;
===2018-04===&lt;br /&gt;
&lt;br /&gt;
Submitting comprehensive sample data for CAN bus, both 11-bit and 29-bit messages, and corresponding test cases (mostly for regression test - especially regression for [https://sigrok.org/bugzilla/show_bug.cgi?id=1085 the 2018-04-12 fix to the decoding at the end of the CRC part]).&lt;br /&gt;
&lt;br /&gt;
Notes to self:&lt;br /&gt;
&lt;br /&gt;
# Original acquired analog data: C:\temp2\2017-12-23\CAN decoder, new stuff bit handling at the end of the CRC segment\Data67\In\ACQ000009_Tektronix.txt&lt;br /&gt;
&lt;br /&gt;
===2017-12===&lt;br /&gt;
&lt;br /&gt;
Recording 22483 traces for the purpose of evaluating [https://sigrok.org/bugzilla/show_bug.cgi?id=1085 a proposed fix to the CAN protocol decoder] (actually only changing a single number from 16 to 17), stuff bit at the very end of the CRC segment, with a modified trigger scheme: &lt;br /&gt;
&lt;br /&gt;
* Change the position of the trigger point to the end (right) so there is always a CAN message in the trace (for the previous), but still 26&amp;amp;nbsp;µs recessive.&lt;br /&gt;
&lt;br /&gt;
The time division was 100&amp;amp;nbsp;µs / division (about 225 bit times max) to always record whole CAN messages - at 10 samples per bit time.&lt;br /&gt;
&lt;br /&gt;
===2017-07===&lt;br /&gt;
&lt;br /&gt;
Using the sigrok command-line (&amp;quot;sigrok-cli&amp;quot;) to bulk process data derived from Tektronix oscilloscope data of 250&amp;amp;nbsp;kbit/s CAN traffic on a real-world system (mobile cranes). The first sample data set is 5335 oscilloscope traces obtained with the trigger set to a negative pulse on CAN-H (to start off at the end of a CAN message) - corresponding to 6.5 recessive bits, 26&amp;amp;nbsp;µsec (detecting the space in-between CAN messages). Sometimes there is a CAN message right after this, sometimes it is a bit delayed, and sometimes it is completely empty.&lt;br /&gt;
&lt;br /&gt;
A sample command line (on Windows) is:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;sigrok-cli -P can:bitrate=250000:can_rx=&amp;quot;CAN RX&amp;quot; -P timing:data=&amp;quot;CAN RX&amp;quot; -I csv:header=true:samplerate=5000000 -i &amp;quot;T:\stdHMF\UserData\scripts\Tektronix2PulseView\_PulseView_AllChannels_ACQ000001_Tektronix_f5000000.txt&amp;quot;&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===2017-04===&lt;br /&gt;
&lt;br /&gt;
Using [[PulseView]] to decode data from a Tektronix oscilloscope of SPI communication to a CAN controller, [http://www.microchip.com/wwwproducts/Devices.aspx?dDocName=en010406 MCP2515].&lt;br /&gt;
&lt;br /&gt;
==Task list==&lt;br /&gt;
&lt;br /&gt;
Currently not in priority order.&lt;br /&gt;
&lt;br /&gt;
* Allow import of analog data through CSV files. (Related: fixed  [https://sigrok.org/bugzilla/show_bug.cgi?id=1064 bug 1064] - &amp;#039;&amp;#039;locale&amp;#039;&amp;#039; issue, decimal point, &amp;quot;,&amp;quot; vs. &amp;quot;.&amp;quot;.).&lt;br /&gt;
&lt;br /&gt;
* Add detection of error frames to the CAN protocol decoder&lt;br /&gt;
&lt;br /&gt;
* Add support for the gigga watt EEVBlog multimeter (Bluetooth, etc.)&lt;br /&gt;
&lt;br /&gt;
* Add a snap feature to the &amp;quot;cursor&amp;quot; (blue) in PulveView&lt;br /&gt;
&lt;br /&gt;
* Change number of significant digits for the time display in the &amp;quot;cursor&amp;quot; (blue) in PulveView&lt;br /&gt;
&lt;br /&gt;
* Submit selected sample traces for CAN decoder change (for CRC segment) validation. With and without stuff bits in various places. With and without timing deviations. (Related: [https://sigrok.org/bugzilla/show_bug.cgi?id=1085 bug 1085], celeron55&amp;#039;s fix, &amp;#039;&amp;#039;&amp;#039;&amp;#039;&amp;#039;if len(self.bits) &amp;gt; self.last_databit + 16&amp;#039;&amp;#039;&amp;#039;&amp;#039;&amp;#039; → &amp;#039;&amp;#039;&amp;#039;&amp;#039;&amp;#039;if len(self.bits) &amp;gt; self.last_databit + 17&amp;#039;&amp;#039;&amp;#039;&amp;#039;&amp;#039; (16 → 17)).&lt;br /&gt;
&lt;br /&gt;
* Add support for the [[Tektronix TDS2000B series|TDS2000]] series in libsigrok, and thus, by extension, use by the new shiny stuff in PulveView.&lt;br /&gt;
&lt;br /&gt;
===On wiki===&lt;br /&gt;
&lt;br /&gt;
* Change recommended procedure for submitting sample Sigrok files (traces), on &amp;#039;&amp;#039;[[Example dumps#Contributing dumps|Example dumps]]&amp;#039;&amp;#039;.&lt;br /&gt;
&lt;br /&gt;
==Glossary==&lt;br /&gt;
&lt;br /&gt;
*&amp;#039;&amp;#039;BBB&amp;#039;&amp;#039; [https://en.wikipedia.org/wiki/BeagleBoard#BeagleBone_Black BeagleBone Black]&lt;br /&gt;
*&amp;#039;&amp;#039;GH&amp;#039;&amp;#039; [http://en.wikipedia.org/wiki/GitHub GitHub]&lt;br /&gt;
*&amp;#039;&amp;#039;ISTR&amp;#039;&amp;#039; ????&lt;br /&gt;
*&amp;#039;&amp;#039;LA&amp;#039;&amp;#039; Logic analyser&lt;br /&gt;
*&amp;#039;&amp;#039;ML&amp;#039;&amp;#039; Mailing list&lt;br /&gt;
*&amp;#039;&amp;#039;OLS&amp;#039;&amp;#039; ????&lt;br /&gt;
*&amp;#039;&amp;#039;PR&amp;#039;&amp;#039; Pull request (a Git term). &amp;#039;&amp;#039;Not&amp;#039;&amp;#039; &amp;quot;problem report&amp;quot;.&lt;br /&gt;
*&amp;#039;&amp;#039;SR&amp;#039;&amp;#039; Sigrok&lt;br /&gt;
*&amp;#039;&amp;#039;srd&amp;#039;&amp;#039; ????&lt;br /&gt;
*&amp;#039;&amp;#039;WIP&amp;#039;&amp;#039; Work in progress. Mostly related to particular Git commits.&lt;br /&gt;
*&amp;#039;&amp;#039;PD&amp;#039;&amp;#039; protocol decoder. Non-standard spellings are &amp;#039;&amp;#039;Pd&amp;#039;&amp;#039; and &amp;#039;&amp;#039;pd&amp;#039;&amp;#039;.&lt;br /&gt;
*&amp;#039;&amp;#039;PV&amp;#039;&amp;#039; PulseView. Non-standard spellings are &amp;#039;&amp;#039;Pv&amp;#039;&amp;#039; and &amp;#039;&amp;#039;pv&amp;#039;&amp;#039;.&lt;br /&gt;
&lt;br /&gt;
==Some bug reports==&lt;br /&gt;
&lt;br /&gt;
* [https://sigrok.org/bug/1155 Possible problem with the MSO-19 USB driver on Windows]. PulveView crashes at startup if the MSO-19 is connected.&lt;br /&gt;
&lt;br /&gt;
==Interests==&lt;br /&gt;
&lt;br /&gt;
I am mostly interested in:&lt;br /&gt;
&lt;br /&gt;
* The [[CAN|CAN protocol decoder]] (that page is currently empty, but it is listed on [[Protocol decoders|the protocol decoders page]])&lt;br /&gt;
* CAN bus loggers, like IXXAT&amp;#039;s (now acquired by HMS) &amp;#039;&amp;#039;USB-to-CAN compact&amp;#039;&amp;#039;/&amp;#039;&amp;#039;USB-to-CAN V2&amp;#039;&amp;#039; and Kvaser&amp;#039;s &amp;#039;&amp;#039;Memorator&amp;#039;&amp;#039;.&lt;br /&gt;
* The higher-level [http://en.wikipedia.org/wiki/CANopen CANopen] protocol (on top of CAN)&lt;br /&gt;
&lt;br /&gt;
==Protocol decoders==&lt;br /&gt;
&lt;br /&gt;
===Non-empty wiki pages===&lt;br /&gt;
&lt;br /&gt;
Currently (2017-07-08), 28 &lt;br /&gt;
of 77 [[Protocol_decoders#Supported protocol decoders|protocol decoders]] (36%) have non-empty pages here on the wiki:&lt;br /&gt;
&lt;br /&gt;
*[[Protocol decoder:Adns5020|ADNS5020]] &lt;br /&gt;
*[[Protocol decoder:Am230x|AM230X]]&lt;br /&gt;
*[[Protocol decoder:Arm etmv3|ARM ETMV3]]&lt;br /&gt;
*[[Protocol decoder:Arm itm|ARM ITM]]&lt;br /&gt;
*[[Protocol decoder:Arm tpiu|ARM TPIU]]&lt;br /&gt;
*[[Protocol decoder:Aud|AUD]]&lt;br /&gt;
*[[Protocol decoder:Avr pdi|AVR PDI]]&lt;br /&gt;
*[[Protocol decoder:Dcf77|DCF77]]&lt;br /&gt;
*[[Protocol decoder:I2c|I²C]]&lt;br /&gt;
*[[Protocol decoder:Ir nec|IR NEC]]&lt;br /&gt;
*[[Protocol decoder:Modbus|Modbus]]&lt;br /&gt;
*[[Protocol decoder:Mrf24j40|MRF24J40]]&lt;br /&gt;
*[[Protocol decoder:Nrf24l01|NRF24L01]]&lt;br /&gt;
*[[Protocol decoder:Nunchuk|Nunchuk]]&lt;br /&gt;
*[[Protocol decoder:Pan1321|PAN1321]]&lt;br /&gt;
*[[Protocol decoder:Parallel|Parallel]]&lt;br /&gt;
*[[Protocol decoder:Pwm|PWM]]&lt;br /&gt;
*[[Protocol decoder:Qi|Qi]]&lt;br /&gt;
*[[Protocol decoder:Rfm12|RFM12]]&lt;br /&gt;
*[[Protocol decoder:Rgb led spi|RGB LED SPI]]&lt;br /&gt;
*[[Protocol decoder:Rtc8564|RTC8564]]&lt;br /&gt;
*[[Protocol decoder:Spdif|SPDIF]]&lt;br /&gt;
*[[Protocol decoder:Spi|SPI]]&lt;br /&gt;
*[[Protocol decoder:Spiflash|SPI flash]]&lt;br /&gt;
*[[Protocol decoder:Stepper motor|Stepper motor]]&lt;br /&gt;
*[[Protocol decoder:Tlc5620|TLC5620]]&lt;br /&gt;
*[[Protocol decoder:Uart|UART]]&lt;br /&gt;
*[[Protocol decoder:Z80|Z80]]&lt;br /&gt;
&lt;br /&gt;
==Profile==&lt;br /&gt;
&lt;br /&gt;
Profile: see [http://en.wikipedia.org/wiki/User:Mortense my Wikipedia user page].&lt;br /&gt;
&lt;br /&gt;
Credentials: more than 5000 edits on the English Wikipedia.&lt;br /&gt;
&lt;br /&gt;
==Shortcuts==&lt;br /&gt;
&lt;br /&gt;
* [https://sigrok.org/doc/pulseview/0.4.1/manual.html PulseView manual]&lt;br /&gt;
* [[Sigrok-cli|sigrok-cli man page]]&lt;br /&gt;
* [https://plus.google.com/communities/109843678338531936878 Google+ group for sigrok]&lt;br /&gt;
* [[PulseView]]. Includes the command line to get the source code using Git.&lt;br /&gt;
* [[Downloads#Windows_Download|PulseView, Windows binaries]] (nightly - development). [[Windows#Windows_installers|Alternative location]] (but it seems redundant).&lt;br /&gt;
* [[Example dumps|Example data dumps]] - sample data in .sr format. Also includes instructions on how to contribute new ones. Includes the command line to get the whole thing using Git (as of 2017-11-26, 2286 &amp;quot;objects&amp;quot;, 724 .sr files, about 65&amp;amp;nbsp;MB in download size, 192&amp;amp;nbsp;MB on disk).&lt;br /&gt;
* [[Special:Random|Random page]]&lt;br /&gt;
* [https://sigrok.org/jenkins/job/sigrok-native-appimage/ Native app image] (not official yet). Is for Linux and x86 only. See also [https://en.wikipedia.org/wiki/AppImage AppImage] (Wikipedia).&lt;br /&gt;
* [[Press]]. List of annotated links, mostly blog posts.&lt;br /&gt;
* [[Probe comparison]]&lt;br /&gt;
* [[Link Instruments MSO-19|MSO-19]]. Mixed oscilloscope and logic analyser by Link Instruments that (or rather its driver) crashes PulveView at startup when connected (until some time in mid 2018(?)). Some reverse engineering has been done in 2012, but it is not supported (has status &amp;quot;Planned&amp;quot;). [https://sigrok.org/bugzilla/show_bug.cgi?id=1155 Sigrok bug report for the crash]. [http://www.linkinstruments.com/doupdate_mso19.htm Software download page for it.]&lt;br /&gt;
* [[Windows|sigrok, Microsoft Windows page]]&lt;br /&gt;
** [[Windows#Device specific USB driver|Device specific USB driver - WinUSB - Zadig]]&lt;br /&gt;
&lt;br /&gt;
===Protocol decoders===&lt;br /&gt;
&lt;br /&gt;
* The [[CAN|CAN bus protocol decoder]]&lt;br /&gt;
* [[Protocol decoder HOWTO]]&lt;br /&gt;
* [[Protocol decoder API]]&lt;br /&gt;
* [[Protocol decoders#Supported protocol decoders|Supported protocol decoders]]&lt;br /&gt;
&lt;br /&gt;
===Building sigrok===&lt;br /&gt;
&lt;br /&gt;
* On Debian (e.g. Raspberry Pi): [[Linux#Installing the requirements 2|Installing required software]]&lt;br /&gt;
* On Debian (e.g. Raspberry Pi): [[Linux#Building 3|Actual build]]&lt;br /&gt;
* Alternative to following the wiki pages: [https://sigrok.org/gitweb/?p=sigrok-util.git;a=blob;f=cross-compile/linux/sigrok-cross-linux;h=2c8e559efde8cf6ae9a365bf1a4324a33600fae7;hb=HEAD a script that will do most of it]. (&amp;#039;&amp;#039;[sigrok-util.git] / cross-compile / linux / sigrok-cross-linux&amp;#039;&amp;#039;)&lt;br /&gt;
* Windows:&lt;br /&gt;
**On Windows: [[Windows#Native_build_using_MSYS2|Native build using MSYS2]] (but may not really work - sigrok-cli and PulseView are listed as not working).&lt;br /&gt;
**[[Windows#Cross-compile_using_MXE|Cross compile on Linux]] (using [http://mxe.cc/ MXE]). The script is [https://sigrok.org/gitweb/?p=sigrok-util.git;a=blob;f=cross-compile/mingw/sigrok-cross-mingw;h=8330406ecd28969d8d29c8ad23df8968a4b9ec68;hb=HEAD /sigrok-util/cross-compile/mingw/sigrok-cross-mingw]. Used for nightlies? [https://sigrok.org/jenkins/job/sigrok-cross-mingw/buildtype=static,debugtype=debug,platform=cross-i686-w64-mingw32/ Jenkins page for the debug version].&lt;br /&gt;
* The Jenkins thingy - automatic build, e.g. nightlies for PulseView and &amp;quot;AppImage&amp;quot; (self-contained executable for x86 Linux). Sample: [https://sigrok.org/jenkins/job/sigrok-cli/ sigrok-cli] with 44 configurations (43 cross-compiles), e.g. cross-x86_64-w64-mingw32 (for Windows 64-bit?).&lt;br /&gt;
* The [[Building#Installing_to_a_non-standard_directory_using_LD_LIBRARY_PATH|LD_LIBRARY_PATH trick]]&lt;/div&gt;</summary>
		<author><name>PeterMortensen</name></author>
	</entry>
	<entry>
		<id>https://sigrok.org/w/index.php?title=Downloads&amp;diff=14207</id>
		<title>Downloads</title>
		<link rel="alternate" type="text/html" href="https://sigrok.org/w/index.php?title=Downloads&amp;diff=14207"/>
		<updated>2019-04-17T20:08:36Z</updated>

		<summary type="html">&lt;p&gt;PeterMortensen: Spelling (&amp;lt;http://en.wikipedia.org/wiki/OS_X&amp;gt;)&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{| border=&amp;quot;0&amp;quot; width=&amp;quot;100%&amp;quot; style=&amp;quot;white-space: margin: 0em; margin-bottom: 2em; border-width: 1em; align:center; vertical-align: top&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
!Linux&lt;br /&gt;
!Windows&lt;br /&gt;
!Mac OS X&lt;br /&gt;
!Other&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
!colspan=&amp;quot;4&amp;quot; | {{Rounded_corners|url=https://sigrok.org/wiki/Downloads|bgcolor=#aaaaaa|text=Stable release builds}}&lt;br /&gt;
&lt;br /&gt;
|- style=&amp;quot;background-color: white&amp;quot;&lt;br /&gt;
&lt;br /&gt;
| style=&amp;quot;width:20%; vertical-align: top&amp;quot; |&lt;br /&gt;
&lt;br /&gt;
{{Rounded_corners|url=https://sigrok.org/download/binary/pulseview/PulseView-0.4.1-i386.AppImage|text=PulseView 0.4.1 (32bit)}}&lt;br /&gt;
&lt;br /&gt;
{{Rounded_corners|url=https://sigrok.org/download/binary/pulseview/PulseView-0.4.1-x86_64.AppImage|text=PulseView 0.4.1 (64bit)}}&lt;br /&gt;
&lt;br /&gt;
{{Rounded_corners|url=https://sigrok.org/download/binary/sigrok-cli/sigrok-cli-0.7.1-i386.AppImage|text=sigrok-cli 0.7.1 (32bit)}}&lt;br /&gt;
&lt;br /&gt;
{{Rounded_corners|url=https://sigrok.org/download/binary/sigrok-cli/sigrok-cli-0.7.1-x86_64.AppImage|text=sigrok-cli 0.7.1 (64bit)}}&lt;br /&gt;
&lt;br /&gt;
| style=&amp;quot;width:20%; vertical-align: top&amp;quot; |&lt;br /&gt;
&lt;br /&gt;
{{Rounded_corners|url=https://sigrok.org/download/binary/pulseview/pulseview-0.4.1-32bit-static-release-installer.exe|text=PulseView 0.4.1 (32bit)}}&lt;br /&gt;
&lt;br /&gt;
{{Rounded_corners|url=https://sigrok.org/download/binary/pulseview/pulseview-0.4.1-64bit-static-release-installer.exe|text=PulseView 0.4.1 (64bit)}}&lt;br /&gt;
&lt;br /&gt;
{{Rounded_corners|url=https://sigrok.org/download/binary/sigrok-cli/sigrok-cli-0.7.1-i686-installer.exe|text=sigrok-cli 0.7.1 (32bit)}}&lt;br /&gt;
&lt;br /&gt;
{{Rounded_corners|url=https://sigrok.org/download/binary/sigrok-cli/sigrok-cli-0.7.1-x86_64-installer.exe|text=sigrok-cli 0.7.1 (64bit)}}&lt;br /&gt;
&lt;br /&gt;
| style=&amp;quot;width:20%; vertical-align: top&amp;quot; |&lt;br /&gt;
&lt;br /&gt;
{{Rounded_corners|url=https://sigrok.org/download/binary/pulseview/PulseView-0.4.1.dmg|text=PulseView 0.4.1 (64bit)}}&lt;br /&gt;
&lt;br /&gt;
| style=&amp;quot;width:20%; vertical-align: top; text-align: center&amp;quot; |&lt;br /&gt;
&lt;br /&gt;
{{Rounded_corners|url=https://sigrok.org/wiki/Downloads#Releases|text=See below}}&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
! colspan=&amp;quot;4&amp;quot; | {{Rounded_corners|url=https://sigrok.org/wiki/Downloads|bgcolor=#aaaaaa|text=Nightly builds}}&lt;br /&gt;
&lt;br /&gt;
|- style=&amp;quot;background-color: white&amp;quot;&lt;br /&gt;
&lt;br /&gt;
| style=&amp;quot;width:20%; vertical-align: top&amp;quot; |&lt;br /&gt;
&lt;br /&gt;
{{Rounded_corners|url=https://sigrok.org/jenkins/job/sigrok-native-appimage/platform=native-i686-appimage/lastSuccessfulBuild/artifact/cross-compile/appimage/out/PulseView-NIGHTLY-i686.AppImage|text=PulseView (32bit)}}&lt;br /&gt;
&lt;br /&gt;
{{Rounded_corners|url=https://sigrok.org/jenkins/job/sigrok-native-appimage/platform=native-x86_64-appimage/lastSuccessfulBuild/artifact/cross-compile/appimage/out/PulseView-NIGHTLY-x86_64.AppImage|text=PulseView (64bit)}}&lt;br /&gt;
&lt;br /&gt;
{{Rounded_corners|url=https://sigrok.org/jenkins/job/sigrok-native-appimage/platform=native-i686-appimage/lastSuccessfulBuild/artifact/cross-compile/appimage/out/sigrok-cli-NIGHTLY-i686.AppImage|text=sigrok-cli (32bit)}}&lt;br /&gt;
&lt;br /&gt;
{{Rounded_corners|url=https://sigrok.org/jenkins/job/sigrok-native-appimage/platform=native-x86_64-appimage/lastSuccessfulBuild/artifact/cross-compile/appimage/out/sigrok-cli-NIGHTLY-x86_64.AppImage|text=sigrok-cli (64bit)}}&lt;br /&gt;
&lt;br /&gt;
| style=&amp;quot;width:20%; vertical-align: top&amp;quot; |&lt;br /&gt;
&lt;br /&gt;
{{Rounded_corners|url=http://sigrok.org/jenkins/job/sigrok-cross-mingw/buildtype=static,debugtype=release,platform=cross-i686-w64-mingw32/lastSuccessfulBuild/artifact/pulseview-NIGHTLY-32bit-static-release-installer.exe|text=PulseView (32bit)}}&lt;br /&gt;
&lt;br /&gt;
{{Rounded_corners|url=https://sigrok.org/jenkins/job/sigrok-cross-mingw/buildtype=static,debugtype=release,platform=cross-x86_64-w64-mingw32/lastSuccessfulBuild/artifact/pulseview-NIGHTLY-64bit-static-release-installer.exe|text=PulseView (64bit)}}&lt;br /&gt;
&lt;br /&gt;
{{Rounded_corners|url=http://sigrok.org/jenkins/job/sigrok-cross-mingw/buildtype=static,debugtype=release,platform=cross-i686-w64-mingw32/lastSuccessfulBuild/artifact/sigrok-cli-NIGHTLY-32bit-static-release-installer.exe|text=sigrok-cli (32bit)}}&lt;br /&gt;
&lt;br /&gt;
{{Rounded_corners|url=https://sigrok.org/jenkins/job/sigrok-cross-mingw/buildtype=static,debugtype=release,platform=cross-x86_64-w64-mingw32/lastSuccessfulBuild/artifact/sigrok-cli-NIGHTLY-64bit-static-release-installer.exe|text=sigrok-cli (64bit)}}&lt;br /&gt;
&lt;br /&gt;
| style=&amp;quot;width:20%; vertical-align: top&amp;quot; |&lt;br /&gt;
&lt;br /&gt;
{{Rounded_corners|url=http://sigrok.org/jenkins/job/sigrok-native-macosx/platform=native-macosx/lastSuccessfulBuild/artifact/cross-compile/macosx/build_app/PulseView-NIGHTLY.dmg|text=PulseView (64bit)}}&lt;br /&gt;
&lt;br /&gt;
| style=&amp;quot;width:20%; vertical-align: top; text-align: center&amp;quot; |&lt;br /&gt;
&lt;br /&gt;
{{Rounded_corners|url=https://sigrok.org/wiki/Downloads#Releases|text=See below}}&lt;br /&gt;
&lt;br /&gt;
|- style=&amp;quot;background-color: white; vertical-align: top;&amp;quot;&lt;br /&gt;
&lt;br /&gt;
| style=&amp;quot;text-align:center&amp;quot; | &amp;lt;em&amp;gt;&amp;lt;small&amp;gt;Requires a Linux distro more recent than Ubuntu 14.04 LTS (Trusty Tahr) from 2014.&amp;lt;/small&amp;gt;&amp;lt;/em&amp;gt;&lt;br /&gt;
| style=&amp;quot;text-align:center&amp;quot; | &amp;lt;em&amp;gt;&amp;lt;small&amp;gt;Requires Windows XP or higher.&amp;lt;/small&amp;gt;&amp;lt;/em&amp;gt;&lt;br /&gt;
| style=&amp;quot;text-align:center&amp;quot; | &amp;lt;em&amp;gt;&amp;lt;small&amp;gt;Requires OS X 10.9 (Mavericks) or higher.&amp;lt;/small&amp;gt;&amp;lt;/em&amp;gt;&lt;br /&gt;
| style=&amp;quot;text-align:center&amp;quot; | &amp;lt;em&amp;gt;&amp;lt;small&amp;gt;See below for other download options (Android, FreeBSD, source code, etc.).&amp;lt;/small&amp;gt;&amp;lt;/em&amp;gt;&lt;br /&gt;
&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== Releases ==&lt;br /&gt;
&lt;br /&gt;
You can download the latest released tarballs of the following subprojects from [http://sigrok.org/download/ the sigrok.org download directory]:&lt;br /&gt;
&lt;br /&gt;
{| border=&amp;quot;0&amp;quot; style=&amp;quot;font-size: smaller; white-space: nowrap;&amp;quot; class=&amp;quot;alternategrey sigroktable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
!Project&lt;br /&gt;
!Release/download&lt;br /&gt;
!News&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| [[libserialport]]&lt;br /&gt;
| [http://sigrok.org/download/source/libserialport/libserialport-0.1.1.tar.gz libserialport-0.1.1.tar.gz]&lt;br /&gt;
| [http://sigrok.org/gitweb/?p=libserialport.git;a=blob;f=NEWS;hb=HEAD release notes]&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| [[libsigrok]]&lt;br /&gt;
| [http://sigrok.org/download/source/libsigrok/libsigrok-0.5.1.tar.gz libsigrok-0.5.1.tar.gz]&lt;br /&gt;
| [https://sigrok.org/gitweb/?p=libsigrok.git;a=blob;f=NEWS;h=dd44cf53be5b41b9fc586d9fd6a700eae545d6aa;hb=8686b747cd40695c36f998603f6e853ee5eea883 release notes]&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| [[libsigrokdecode]]&lt;br /&gt;
| [http://sigrok.org/download/source/libsigrokdecode/libsigrokdecode-0.5.2.tar.gz libsigrokdecode-0.5.2.tar.gz]&lt;br /&gt;
| [https://sigrok.org/gitweb/?p=libsigrokdecode.git;a=blob;f=NEWS;h=369dbe342036557654c3f9b8980cc9714a138c44;hb=07b9781940ed3c194805ff08e20ae32a90098cb5 release notes]&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| [[sigrok-cli]]&lt;br /&gt;
| [http://sigrok.org/download/source/sigrok-cli/sigrok-cli-0.7.0.tar.gz sigrok-cli-0.7.0.tar.gz]&lt;br /&gt;
| [http://sigrok.org/gitweb/?p=sigrok-cli.git;a=blob;f=NEWS;hb=HEAD release notes]&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| [[PulseView]]&lt;br /&gt;
| [http://sigrok.org/download/source/pulseview/pulseview-0.4.1.tar.gz pulseview-0.4.1.tar.gz]&lt;br /&gt;
| [https://sigrok.org/gitweb/?p=pulseview.git;a=blob;f=NEWS;h=69c7ac5d418bbae896906b8c6b64c6719b1912db;hb=05a4de8abd5810cf8219077259ffa44adb08043e release notes]&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| [[Example dumps|sigrok-dumps]]&lt;br /&gt;
| [http://sigrok.org/download/source/sigrok-dumps/sigrok-dumps-0.1.0.tar.gz sigrok-dumps-0.1.0.tar.gz]&lt;br /&gt;
| [http://sigrok.org/gitweb/?p=sigrok-dumps.git;a=blob;f=NEWS;hb=HEAD release notes]&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| [[fx2lafw|sigrok-firmware-fx2lafw]] (source code)&lt;br /&gt;
| [http://sigrok.org/download/source/sigrok-firmware-fx2lafw/sigrok-firmware-fx2lafw-0.1.6.tar.gz sigrok-firmware-fx2lafw-0.1.6.tar.gz]&lt;br /&gt;
| [http://sigrok.org/gitweb/?p=sigrok-firmware-fx2lafw.git;a=blob;f=NEWS;hb=HEAD release notes]&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| [[fx2lafw|sigrok-firmware-fx2lafw]] (prebuilt firmware)&lt;br /&gt;
| [http://sigrok.org/download/binary/sigrok-firmware-fx2lafw/sigrok-firmware-fx2lafw-bin-0.1.6.tar.gz sigrok-firmware-fx2lafw-bin-0.1.6.tar.gz]&lt;br /&gt;
| [http://sigrok.org/gitweb/?p=sigrok-firmware-fx2lafw.git;a=blob;f=NEWS;hb=HEAD release notes]&lt;br /&gt;
&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== Binaries and distribution packages ==&lt;br /&gt;
&lt;br /&gt;
=== Linux AppImage binaries ===&lt;br /&gt;
&lt;br /&gt;
* Nightly AppImage binaries (require a Linux distro more recent than Ubuntu 14.04 LTS Trusty Tahr from 2014):&lt;br /&gt;
** [https://sigrok.org/jenkins/job/sigrok-native-appimage/platform=native-i686-appimage/lastSuccessfulBuild/artifact/cross-compile/appimage/out/PulseView-NIGHTLY-i686.AppImage PulseView-NIGHTLY-i686.AppImage] (32bit)&lt;br /&gt;
** [https://sigrok.org/jenkins/job/sigrok-native-appimage/platform=native-x86_64-appimage/lastSuccessfulBuild/artifact/cross-compile/appimage/out/PulseView-NIGHTLY-x86_64.AppImage PulseView-NIGHTLY-x86_64.AppImage] (64bit)&lt;br /&gt;
** [https://sigrok.org/jenkins/job/sigrok-native-appimage/platform=native-i686-appimage/lastSuccessfulBuild/artifact/cross-compile/appimage/out/sigrok-cli-NIGHTLY-i686.AppImage sigrok-cli-NIGHTLY-i686.AppImage] (32bit)&lt;br /&gt;
** [https://sigrok.org/jenkins/job/sigrok-native-appimage/platform=native-x86_64-appimage/lastSuccessfulBuild/artifact/cross-compile/appimage/out/sigrok-cli-NIGHTLY-x86_64.AppImage sigrok-cli-NIGHTLY-x86_64.AppImage] (64bit)&lt;br /&gt;
* Download the correct (32bit or 64bit) AppImage file for your Linux system, make the file executable via &amp;quot;&amp;#039;&amp;#039;&amp;#039;chmod +x&amp;#039;&amp;#039;&amp;#039;&amp;quot; and then run it.&lt;br /&gt;
* If you want to access hardware, please install the [https://sigrok.org/gitweb/?p=libsigrok.git;a=tree;f=contrib udev rules] on your system and reload the rules with udevadm.&lt;br /&gt;
* See also [[Linux#AppImage|Linux]] for more information.&lt;br /&gt;
&lt;br /&gt;
=== Linux distribution packages ===&lt;br /&gt;
&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;Debian:&amp;#039;&amp;#039;&amp;#039; [http://packages.qa.debian.org/s/sigrok.html sigrok] (pulls [http://packages.qa.debian.org/libs/libserialport.html libserialport], [http://packages.qa.debian.org/libs/libsigrok.html libsigrok], [http://packages.qa.debian.org/libs/libsigrokdecode.html libsigrokdecode], [http://packages.qa.debian.org/s/sigrok-cli.html sigrok-cli], [http://packages.qa.debian.org/p/pulseview.html pulseview], [http://packages.qa.debian.org/s/sigrok-firmware-fx2lafw.html sigrok-firmware-fx2lafw])&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;Ubuntu:&amp;#039;&amp;#039;&amp;#039; [http://launchpad.net/ubuntu/+source/sigrok sigrok] (pulls [http://launchpad.net/ubuntu/+source/libserialport libserialport], [http://launchpad.net/ubuntu/+source/libsigrok libsigrok], [http://launchpad.net/ubuntu/+source/libsigrokdecode libsigrokdecode], [http://launchpad.net/ubuntu/+source/sigrok-cli sigrok-cli], [http://launchpad.net/ubuntu/+source/pulseview pulseview], [http://launchpad.net/ubuntu/+source/sigrok-firmware-fx2lafw sigrok-firmware-fx2lafw])&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;Arch Linux:&amp;#039;&amp;#039;&amp;#039; [https://aur.archlinux.org/packages.php?O=0&amp;amp;K=sigrok&amp;amp;do_Search=Go AUR (Arch Linux User Repository)], [https://aur.archlinux.org/packages/libserialport-git/ libserialport], [https://aur.archlinux.org/packages/libsigrok-git/ libsigrok], [https://aur.archlinux.org/packages/libsigrokdecode-git/ libsigrokdecode], [https://aur.archlinux.org/packages/sigrok-cli/ sigrok-cli], [https://aur.archlinux.org/packages/pulseview-git/ pulseview], [https://aur.archlinux.org/packages/sigrok-firmware-fx2lafw/ sigrok-firmware-fx2lafw]&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;Slackware:&amp;#039;&amp;#039;&amp;#039; [http://slackbuilds.org/apps/libserialport/ libserialport], [http://slackbuilds.org/apps/libsigrok/ libsigrok], [http://slackbuilds.org/apps/libsigrokdecode/ libsigrokdecode], [http://slackbuilds.org/apps/sigrok-cli/ sigrok-cli], [http://slackbuilds.org/apps/pulseview/ pulseview], [http://slackbuilds.org/apps/sigrok-firmware-fx2lafw/ sigrok-firmware-fx2lafw]&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;Fedora:&amp;#039;&amp;#039;&amp;#039; [https://src.fedoraproject.org/cgit/rpms/libserialport.git/ libserialport], [https://src.fedoraproject.org/cgit/rpms/libsigrok.git/ libsigrok], [https://src.fedoraproject.org/cgit/rpms/libsigrokdecode.git/ libsigrokdecode], [https://src.fedoraproject.org/cgit/rpms/sigrok-cli.git/ sigrok-cli], [https://src.fedoraproject.org/cgit/rpms/pulseview.git/ pulseview], [https://src.fedoraproject.org/cgit/rpms/sigrok-firmware-fx2lafw.git/ sigrok-firmware-fx2lafw], [https://src.fedoraproject.org/cgit/rpms/sigrok-firmware.git/ sigrok-firmware]&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;Gentoo:&amp;#039;&amp;#039;&amp;#039; [http://packages.gentoo.org/package/dev-libs/libserialport libserialport], [http://packages.gentoo.org/package/sci-libs/libsigrok libsigrok], [http://packages.gentoo.org/package/sci-libs/libsigrokdecode libsigrokdecode], [http://packages.gentoo.org/package/sci-electronics/sigrok-cli sigrok-cli], [http://packages.gentoo.org/package/sci-electronics/pulseview pulseview], [http://packages.gentoo.org/package/sys-firmware/sigrok-firmware-fx2lafw sigrok-firmware-fx2lafw]&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;openSUSE:&amp;#039;&amp;#039;&amp;#039; Latest stable versions are included in Tumbleweed. Leap includes the latest stable version at time of release, newer versions are available from the [http://download.opensuse.org/repositories/electronics/ &amp;quot;electronics&amp;quot; repository], created by the [https://build.opensuse.org/project/show/electronics OpenBuildService (OBS)].&lt;br /&gt;
** &amp;#039;&amp;#039;&amp;#039;openSUSE weekly GIT:&amp;#039;&amp;#039;&amp;#039; [http://download.opensuse.org/repositories/home:/StefanBruens:/branches:/electronics:/GIT/ Repositories], [https://build.opensuse.org/project/show/home:StefanBruens:branches:electronics:GIT OBS Project]&lt;br /&gt;
&lt;br /&gt;
=== Windows ===&lt;br /&gt;
&amp;lt;span id=&amp;quot;Windows_Download&amp;quot;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* Nightly installer binaries (require Windows XP or higher):&lt;br /&gt;
** [http://sigrok.org/jenkins/job/sigrok-cross-mingw/buildtype=static,debugtype=release,platform=cross-i686-w64-mingw32/lastSuccessfulBuild/artifact/pulseview-NIGHTLY-32bit-static-release-installer.exe pulseview-NIGHTLY-32bit-static-release-installer.exe] ([http://sigrok.org/jenkins/job/sigrok-cross-mingw/buildtype=static,debugtype=debug,platform=cross-i686-w64-mingw32/lastSuccessfulBuild/artifact/pulseview-NIGHTLY-32bit-static-debug-installer.exe debug build])&lt;br /&gt;
** [https://sigrok.org/jenkins/job/sigrok-cross-mingw/buildtype=static,debugtype=release,platform=cross-x86_64-w64-mingw32/lastSuccessfulBuild/artifact/pulseview-NIGHTLY-64bit-static-release-installer.exe pulseview-NIGHTLY-64bit-static-release-installer.exe] ([https://sigrok.org/jenkins/job/sigrok-cross-mingw/buildtype=static,debugtype=debug,platform=cross-x86_64-w64-mingw32/lastSuccessfulBuild/artifact/pulseview-NIGHTLY-64bit-static-debug-installer.exe debug build])&lt;br /&gt;
** [http://sigrok.org/jenkins/job/sigrok-cross-mingw/buildtype=static,debugtype=release,platform=cross-i686-w64-mingw32/lastSuccessfulBuild/artifact/sigrok-cli-NIGHTLY-32bit-static-release-installer.exe sigrok-cli-NIGHTLY-32bit-static-release-installer.exe] ([http://sigrok.org/jenkins/job/sigrok-cross-mingw/buildtype=static,debugtype=debug,platform=cross-i686-w64-mingw32/lastSuccessfulBuild/artifact/sigrok-cli-NIGHTLY-32bit-static-debug-installer.exe debug build])&lt;br /&gt;
** [https://sigrok.org/jenkins/job/sigrok-cross-mingw/buildtype=static,debugtype=release,platform=cross-x86_64-w64-mingw32/lastSuccessfulBuild/artifact/sigrok-cli-NIGHTLY-64bit-static-release-installer.exe sigrok-cli-NIGHTLY-64bit-static-release-installer.exe] ([https://sigrok.org/jenkins/job/sigrok-cross-mingw/buildtype=static,debugtype=debug,platform=cross-x86_64-w64-mingw32/lastSuccessfulBuild/artifact/sigrok-cli-NIGHTLY-64bit-static-debug-installer.exe debug build])&lt;br /&gt;
* See also [[Windows#Windows_installers|Windows]] for more information.&lt;br /&gt;
&lt;br /&gt;
=== Mac OS X ===&lt;br /&gt;
&lt;br /&gt;
* Nightly DMG binaries (require OS X 10.9 Mavericks or higher):&lt;br /&gt;
** [http://sigrok.org/jenkins/job/sigrok-native-macosx/platform=native-macosx/lastSuccessfulBuild/artifact/cross-compile/macosx/build_app/PulseView-NIGHTLY.dmg PulseView-NIGHTLY.dmg] (64&amp;amp;nbsp;bit x86 only; requires OS X 10.9 (Mavericks) or higher)&lt;br /&gt;
* See also [[Mac OS X]] for more information.&lt;br /&gt;
&lt;br /&gt;
=== FreeBSD ===&lt;br /&gt;
&lt;br /&gt;
* [http://www.freshports.org/devel/libserialport/ libserialport], [http://www.freshports.org/devel/libsigrok/ libsigrok], [http://www.freshports.org/devel/libsigrokdecode/ libsigrokdecode], [http://www.freshports.org/science/sigrok-cli/ sigrok-cli], [http://www.freshports.org/science/pulseview/ pulseview], [http://www.freshports.org/science/sigrok-firmware-fx2lafw/ sigrok-firmware-fx2lafw], [http://www.freshports.org/science/sigrok-firmware/ sigrok-firmware], [http://www.freshports.org/science/sigrok-firmware-utils/ sigrok-firmware-utils]&lt;br /&gt;
&lt;br /&gt;
=== OpenBSD ===&lt;br /&gt;
* [https://cvsweb.openbsd.org/ports/comms/sigrok/libserialport/ libserialport], [https://cvsweb.openbsd.org/ports/comms/sigrok/libsigrok/ libsigrok], [https://cvsweb.openbsd.org/ports/comms/sigrok/libsigrokdecode/ libsigrokdecode], [https://cvsweb.openbsd.org/ports/comms/sigrok/sigrok-cli/ sigrok-cli], [https://cvsweb.openbsd.org/ports/comms/sigrok/pulseview/ pulseview], [https://cvsweb.openbsd.org/ports/comms/sigrok/sigrok-dumps/ sigrok-dumps], [https://cvsweb.openbsd.org/ports/comms/sigrok/sigrok-firmware-fx2lafw/ sigrok-firmware-fx2lafw]&lt;br /&gt;
&lt;br /&gt;
=== Android ===&lt;br /&gt;
&lt;br /&gt;
* Nightly APK binaries:&lt;br /&gt;
** [http://sigrok.org/jenkins/job/sigrok-cross-android/platform=cross-arm-linux-androideabi/lastSuccessfulBuild/artifact/PulseView-NIGHTLY.apk PulseView-NIGHTLY.apk (ARM)]&lt;br /&gt;
* See also [[Android]] for more information.&lt;br /&gt;
&lt;br /&gt;
== Source code ==&lt;br /&gt;
&lt;br /&gt;
The development is done in various [http://sigrok.org/gitweb/ git repositories].&lt;br /&gt;
&lt;br /&gt;
See [[Building]] for build instructions.&lt;br /&gt;
&lt;br /&gt;
== Example data ==&lt;br /&gt;
&lt;br /&gt;
See the [[Example dumps]] wiki page.&lt;br /&gt;
&lt;br /&gt;
== Firmware files ==&lt;br /&gt;
&lt;br /&gt;
See the [[Firmware]] wiki page.&lt;/div&gt;</summary>
		<author><name>PeterMortensen</name></author>
	</entry>
</feed>