<?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=Mattvenn</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=Mattvenn"/>
	<link rel="alternate" type="text/html" href="https://sigrok.org/wiki/Special:Contributions/Mattvenn"/>
	<updated>2026-05-19T17:37:11Z</updated>
	<subtitle>User contributions</subtitle>
	<generator>MediaWiki 1.37.1</generator>
	<entry>
		<id>https://sigrok.org/w/index.php?title=DreamSourceLab_DSLogic&amp;diff=12997</id>
		<title>DreamSourceLab DSLogic</title>
		<link rel="alternate" type="text/html" href="https://sigrok.org/w/index.php?title=DreamSourceLab_DSLogic&amp;diff=12997"/>
		<updated>2017-12-11T19:11:09Z</updated>

		<summary type="html">&lt;p&gt;Mattvenn: continuous capture example&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{Infobox logic analyzer&lt;br /&gt;
| image            = [[File:DSLogic.png|180px]]&lt;br /&gt;
| name             = DreamSourceLab DSLogic&lt;br /&gt;
| status           = supported&lt;br /&gt;
| source_code_dir  = dreamsourcelab-dslogic&lt;br /&gt;
| channels         = 1-16&lt;br /&gt;
| samplerate       = 400MHz(4ch), 200MHz(8ch), 100MHz(16ch)&lt;br /&gt;
| samplerate_state = 50MHz&lt;br /&gt;
| triggers         = high, low, rising, falling, edge, multi-stage triggers&lt;br /&gt;
| voltages         = -0.6V &amp;amp;mdash; 6V&lt;br /&gt;
| threshold        = configurable: 3.3V, 5V&lt;br /&gt;
| memory           = 32MByte (2MByte/ch)&lt;br /&gt;
| compression      = no&lt;br /&gt;
| website          = [http://www.dreamsourcelab.com/dslogic.html dreamsourcelab.com]&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
The &amp;#039;&amp;#039;&amp;#039;DreamSourceLab DSLogic&amp;#039;&amp;#039;&amp;#039; is a 16-channel USB-based logic analyzer, with sampling rates up to 400MHz (when using only 4 channels).&lt;br /&gt;
&lt;br /&gt;
See [[DreamSourceLab DSLogic/Info]] for more details (such as &amp;#039;&amp;#039;&amp;#039;lsusb -v&amp;#039;&amp;#039;&amp;#039; output) about the device.&lt;br /&gt;
&lt;br /&gt;
== Hardware ==&lt;br /&gt;
&lt;br /&gt;
* [http://www.xilinx.com/products/silicon-devices/fpga/spartan-6/ Xilinx XC6SLX9] Spartan-6 FPGA (TQG144BIV13337)&lt;br /&gt;
* [http://www.micron.com/-/media/Documents/Products/Data%20Sheet/DRAM/256Mb_sdr.pdf Micron MT48LC16M16A2P-6A] 32MB SDRAM (IC SDRAM 256MBIT 167MHZ TSOP)&lt;br /&gt;
* [http://www.cypress.com/?mpn=CY7C68013A-56PVXC Cypress CY7C68013A] FX2 USB interface chip (IC MCU USB PERIPH HI SPD 56SSOP)&lt;br /&gt;
* [http://www.atmel.com/Images/Atmel-8719-SEEPROM-AT24C16C-Datasheet.pdf Serial EEPROM 16Kbit] U4: ATMLH348 16CM Y 3X3098, I2C/2Wire Serial EEPROM 16Kbit (2048x8) ATMEL AT24C16C &lt;br /&gt;
* [http://www.onsemi.com/pub_link/Collateral/CM1213A.PDF ESD Protection] U9,10,11,12,13,14 D234 ESD Protection CM1213A-04S7 TVS DIODE 3.3VWM 10VC SC746&lt;br /&gt;
* [http://www.ti.com/lit/ds/symlink/lm3671.pdf 1.2V 600mA LDO] U32 SBPB 1.2V 600mA 2MHz Step Down DC-DC Converter LM3671MF-1.2/NOPB&lt;br /&gt;
* [http://www.ti.com/lit/ds/symlink/lm3671.pdf 3.3V 600mA LDO] U31 SJEB 3.3V 600mA 2MHz Step Down DC-DC Converter LM3671MF-3.3/NOPB&lt;br /&gt;
&lt;br /&gt;
== Photos ==&lt;br /&gt;
&lt;br /&gt;
&amp;lt;gallery&amp;gt;&lt;br /&gt;
File:DSLogic.png|&amp;lt;small&amp;gt;Device, top&amp;lt;/small&amp;gt;&lt;br /&gt;
File:DSLogic connector.jpg|&amp;lt;small&amp;gt;Probe connector&amp;lt;/small&amp;gt;&lt;br /&gt;
File:DSLogic USB.jpg|&amp;lt;small&amp;gt;USB connector&amp;lt;/small&amp;gt;&lt;br /&gt;
File:DSLogic PCB front.jpg|&amp;lt;small&amp;gt;PCB, top&amp;lt;/small&amp;gt;&lt;br /&gt;
File:DSLogic PCB back.jpg|&amp;lt;small&amp;gt;PCB, bottom&amp;lt;/small&amp;gt;&lt;br /&gt;
&amp;lt;/gallery&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Firmware ==&lt;br /&gt;
&lt;br /&gt;
In order to use this device with [[libsigrok]] the [https://github.com/DreamSourceLab/DSView/raw/886b847c21c606df3138ce7ad8f8e8c363ee758b/DSView/res vendor firmare and bitstream files] (v0.97) are required.&lt;br /&gt;
&lt;br /&gt;
The easiest method to install those is to use the [http://sigrok.org/gitweb/?p=sigrok-util.git;a=blob;f=firmware/dreamsourcelab-dslogic/sigrok-fwextract-dreamsourcelab-dslogic sigrok-fwextract-dreamsourcelab-dslogic] script. It will download the correct files, rename them to the correct filenames as expected by libsigrok and install them.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Example usage&amp;#039;&amp;#039;&amp;#039;:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&lt;br /&gt;
 $ &amp;#039;&amp;#039;&amp;#039;PREFIX=$HOME/sr ./sigrok-fwextract-dreamsourcelab-dslogic&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
This will install the files into &amp;#039;&amp;#039;&amp;#039;$HOME/sr/share/sigrok-fimware&amp;#039;&amp;#039;&amp;#039;. Without &amp;#039;&amp;#039;&amp;#039;PREFIX&amp;#039;&amp;#039;&amp;#039;, the files will be installed into &amp;#039;&amp;#039;&amp;#039;/usr/local/share/sigrok-firmware&amp;#039;&amp;#039;&amp;#039; by default.&lt;br /&gt;
&lt;br /&gt;
If you want to avoid using the script, you can manually download and rename the files (but check [http://sigrok.org/gitweb/?p=sigrok-util.git;a=blob;f=firmware/dreamsourcelab-dslogic/sigrok-fwextract-dreamsourcelab-dslogic the script] for the correct filenames).&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Note:&amp;#039;&amp;#039;&amp;#039; Do &amp;#039;&amp;#039;&amp;#039;not&amp;#039;&amp;#039;&amp;#039; use any firmware/bitstream files newer than those linked here (v0.97), they&amp;#039;re currently not supported. See bugs [http://sigrok.org/bugzilla/show_bug.cgi?id=905 #905] and [https://sigrok.org/bugzilla/show_bug.cgi?id=1063 #1063].&lt;br /&gt;
&lt;br /&gt;
After firmware is correctly installed, you can see if it&amp;#039;s worked like this:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
sigrok-cli --driver=dreamsourcelab-dslogic -l 5 --scan&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
You should see the driver detected and uploading the firmware&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
sr: [00:00.014417] resource: Opened &amp;#039;/usr/local/share/sigrok-firmware/dreamsourcelab-dslogic-basic-fx2.fw&amp;#039;.&lt;br /&gt;
sr: [00:00.014454] ezusb: Uploading firmware &amp;#039;dreamsourcelab-dslogic-basic-fx2.fw&amp;#039;.&lt;br /&gt;
sr: [00:00.014972] ezusb: Uploaded 4096 bytes.&lt;br /&gt;
sr: [00:00.015481] ezusb: Uploaded 4024 bytes.&lt;br /&gt;
sr: [00:00.015492] ezusb: Firmware upload done.&lt;br /&gt;
sr: [00:00.015497] ezusb: setting CPU reset mode off...&lt;br /&gt;
sr: [00:00.015606] hwdriver: Scan found 1 devices (dreamsourcelab-dslogic).&lt;br /&gt;
The following devices were found:&lt;br /&gt;
dreamsourcelab-dslogic - DreamSourceLab DSLogic Basic with 16 channels: 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15&lt;br /&gt;
sr: [00:00.015691] hwdriver: Cleaning up all drivers.&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Capabilities ==&lt;br /&gt;
&lt;br /&gt;
Use --show to fetch the current available options&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
sigrok-cli --driver=dreamsourcelab-dslogic --show&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
This example shows how to use sigrok-cli to capture 1k samples at 500khz on channels 0 and 1, with voltage threshold of 2.5v&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
sigrok-cli -C 0,1 --driver=dreamsourcelab-dslogic  -c &amp;quot;samplerate=500k:voltage_threshold=2.5-2.5&amp;quot; --samples 1k&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
This example shows continuous capture (requires the device config to include &amp;#039;continuous=on&amp;#039;)&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
sigrok-cli -c &amp;quot;samplerate=10k:voltage_threshold=2.5-2.5:continuous=on&amp;quot; --driver=dreamsourcelab-dslogic --continuous&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Resources ==&lt;br /&gt;
&lt;br /&gt;
* [http://www.dreamsourcelab.com Vendor website]&lt;br /&gt;
* [http://www.dreamsourcelab.com/wiki/index.php Vendor wiki]&lt;br /&gt;
* [http://www.dreamsourcelab.com/forum/index.php Vendor forum]&lt;br /&gt;
* [http://www.dreamsourcelab.com/techspec.html Device specs]&lt;br /&gt;
* [https://www.kickstarter.com/projects/dreamsourcelab/dslogic-multifunction-instruments-for-everyone Kickstarter page]&lt;br /&gt;
&lt;br /&gt;
[[Category:Device]]&lt;br /&gt;
[[Category:Logic analyzer]]&lt;br /&gt;
[[Category:Supported]]&lt;/div&gt;</summary>
		<author><name>Mattvenn</name></author>
	</entry>
	<entry>
		<id>https://sigrok.org/w/index.php?title=DreamSourceLab_DSLogic&amp;diff=12996</id>
		<title>DreamSourceLab DSLogic</title>
		<link rel="alternate" type="text/html" href="https://sigrok.org/w/index.php?title=DreamSourceLab_DSLogic&amp;diff=12996"/>
		<updated>2017-12-11T19:06:33Z</updated>

		<summary type="html">&lt;p&gt;Mattvenn: added examples&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{Infobox logic analyzer&lt;br /&gt;
| image            = [[File:DSLogic.png|180px]]&lt;br /&gt;
| name             = DreamSourceLab DSLogic&lt;br /&gt;
| status           = supported&lt;br /&gt;
| source_code_dir  = dreamsourcelab-dslogic&lt;br /&gt;
| channels         = 1-16&lt;br /&gt;
| samplerate       = 400MHz(4ch), 200MHz(8ch), 100MHz(16ch)&lt;br /&gt;
| samplerate_state = 50MHz&lt;br /&gt;
| triggers         = high, low, rising, falling, edge, multi-stage triggers&lt;br /&gt;
| voltages         = -0.6V &amp;amp;mdash; 6V&lt;br /&gt;
| threshold        = configurable: 3.3V, 5V&lt;br /&gt;
| memory           = 32MByte (2MByte/ch)&lt;br /&gt;
| compression      = no&lt;br /&gt;
| website          = [http://www.dreamsourcelab.com/dslogic.html dreamsourcelab.com]&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
The &amp;#039;&amp;#039;&amp;#039;DreamSourceLab DSLogic&amp;#039;&amp;#039;&amp;#039; is a 16-channel USB-based logic analyzer, with sampling rates up to 400MHz (when using only 4 channels).&lt;br /&gt;
&lt;br /&gt;
See [[DreamSourceLab DSLogic/Info]] for more details (such as &amp;#039;&amp;#039;&amp;#039;lsusb -v&amp;#039;&amp;#039;&amp;#039; output) about the device.&lt;br /&gt;
&lt;br /&gt;
== Hardware ==&lt;br /&gt;
&lt;br /&gt;
* [http://www.xilinx.com/products/silicon-devices/fpga/spartan-6/ Xilinx XC6SLX9] Spartan-6 FPGA (TQG144BIV13337)&lt;br /&gt;
* [http://www.micron.com/-/media/Documents/Products/Data%20Sheet/DRAM/256Mb_sdr.pdf Micron MT48LC16M16A2P-6A] 32MB SDRAM (IC SDRAM 256MBIT 167MHZ TSOP)&lt;br /&gt;
* [http://www.cypress.com/?mpn=CY7C68013A-56PVXC Cypress CY7C68013A] FX2 USB interface chip (IC MCU USB PERIPH HI SPD 56SSOP)&lt;br /&gt;
* [http://www.atmel.com/Images/Atmel-8719-SEEPROM-AT24C16C-Datasheet.pdf Serial EEPROM 16Kbit] U4: ATMLH348 16CM Y 3X3098, I2C/2Wire Serial EEPROM 16Kbit (2048x8) ATMEL AT24C16C &lt;br /&gt;
* [http://www.onsemi.com/pub_link/Collateral/CM1213A.PDF ESD Protection] U9,10,11,12,13,14 D234 ESD Protection CM1213A-04S7 TVS DIODE 3.3VWM 10VC SC746&lt;br /&gt;
* [http://www.ti.com/lit/ds/symlink/lm3671.pdf 1.2V 600mA LDO] U32 SBPB 1.2V 600mA 2MHz Step Down DC-DC Converter LM3671MF-1.2/NOPB&lt;br /&gt;
* [http://www.ti.com/lit/ds/symlink/lm3671.pdf 3.3V 600mA LDO] U31 SJEB 3.3V 600mA 2MHz Step Down DC-DC Converter LM3671MF-3.3/NOPB&lt;br /&gt;
&lt;br /&gt;
== Photos ==&lt;br /&gt;
&lt;br /&gt;
&amp;lt;gallery&amp;gt;&lt;br /&gt;
File:DSLogic.png|&amp;lt;small&amp;gt;Device, top&amp;lt;/small&amp;gt;&lt;br /&gt;
File:DSLogic connector.jpg|&amp;lt;small&amp;gt;Probe connector&amp;lt;/small&amp;gt;&lt;br /&gt;
File:DSLogic USB.jpg|&amp;lt;small&amp;gt;USB connector&amp;lt;/small&amp;gt;&lt;br /&gt;
File:DSLogic PCB front.jpg|&amp;lt;small&amp;gt;PCB, top&amp;lt;/small&amp;gt;&lt;br /&gt;
File:DSLogic PCB back.jpg|&amp;lt;small&amp;gt;PCB, bottom&amp;lt;/small&amp;gt;&lt;br /&gt;
&amp;lt;/gallery&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Firmware ==&lt;br /&gt;
&lt;br /&gt;
In order to use this device with [[libsigrok]] the [https://github.com/DreamSourceLab/DSView/raw/886b847c21c606df3138ce7ad8f8e8c363ee758b/DSView/res vendor firmare and bitstream files] (v0.97) are required.&lt;br /&gt;
&lt;br /&gt;
The easiest method to install those is to use the [http://sigrok.org/gitweb/?p=sigrok-util.git;a=blob;f=firmware/dreamsourcelab-dslogic/sigrok-fwextract-dreamsourcelab-dslogic sigrok-fwextract-dreamsourcelab-dslogic] script. It will download the correct files, rename them to the correct filenames as expected by libsigrok and install them.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Example usage&amp;#039;&amp;#039;&amp;#039;:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&lt;br /&gt;
 $ &amp;#039;&amp;#039;&amp;#039;PREFIX=$HOME/sr ./sigrok-fwextract-dreamsourcelab-dslogic&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
This will install the files into &amp;#039;&amp;#039;&amp;#039;$HOME/sr/share/sigrok-fimware&amp;#039;&amp;#039;&amp;#039;. Without &amp;#039;&amp;#039;&amp;#039;PREFIX&amp;#039;&amp;#039;&amp;#039;, the files will be installed into &amp;#039;&amp;#039;&amp;#039;/usr/local/share/sigrok-firmware&amp;#039;&amp;#039;&amp;#039; by default.&lt;br /&gt;
&lt;br /&gt;
If you want to avoid using the script, you can manually download and rename the files (but check [http://sigrok.org/gitweb/?p=sigrok-util.git;a=blob;f=firmware/dreamsourcelab-dslogic/sigrok-fwextract-dreamsourcelab-dslogic the script] for the correct filenames).&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Note:&amp;#039;&amp;#039;&amp;#039; Do &amp;#039;&amp;#039;&amp;#039;not&amp;#039;&amp;#039;&amp;#039; use any firmware/bitstream files newer than those linked here (v0.97), they&amp;#039;re currently not supported. See bugs [http://sigrok.org/bugzilla/show_bug.cgi?id=905 #905] and [https://sigrok.org/bugzilla/show_bug.cgi?id=1063 #1063].&lt;br /&gt;
&lt;br /&gt;
After firmware is correctly installed, you can see if it&amp;#039;s worked like this:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
sigrok-cli --driver=dreamsourcelab-dslogic -l 5 --scan&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
You should see the driver detected and uploading the firmware&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
sr: [00:00.014417] resource: Opened &amp;#039;/usr/local/share/sigrok-firmware/dreamsourcelab-dslogic-basic-fx2.fw&amp;#039;.&lt;br /&gt;
sr: [00:00.014454] ezusb: Uploading firmware &amp;#039;dreamsourcelab-dslogic-basic-fx2.fw&amp;#039;.&lt;br /&gt;
sr: [00:00.014972] ezusb: Uploaded 4096 bytes.&lt;br /&gt;
sr: [00:00.015481] ezusb: Uploaded 4024 bytes.&lt;br /&gt;
sr: [00:00.015492] ezusb: Firmware upload done.&lt;br /&gt;
sr: [00:00.015497] ezusb: setting CPU reset mode off...&lt;br /&gt;
sr: [00:00.015606] hwdriver: Scan found 1 devices (dreamsourcelab-dslogic).&lt;br /&gt;
The following devices were found:&lt;br /&gt;
dreamsourcelab-dslogic - DreamSourceLab DSLogic Basic with 16 channels: 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15&lt;br /&gt;
sr: [00:00.015691] hwdriver: Cleaning up all drivers.&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Capabilities ==&lt;br /&gt;
&lt;br /&gt;
Use --show to fetch the current available options&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
sigrok-cli --driver=dreamsourcelab-dslogic --show&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
This example shows how to use sigrok-cli to capture 1k samples at 500khz on channels 0 and 1, with voltage threshold of 2.5v&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
sigrok-cli -C 0,1 --driver=dreamsourcelab-dslogic  -c &amp;quot;samplerate=500k:voltage_threshold=2.5-2.5&amp;quot; --samples 1k&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Resources ==&lt;br /&gt;
&lt;br /&gt;
* [http://www.dreamsourcelab.com Vendor website]&lt;br /&gt;
* [http://www.dreamsourcelab.com/wiki/index.php Vendor wiki]&lt;br /&gt;
* [http://www.dreamsourcelab.com/forum/index.php Vendor forum]&lt;br /&gt;
* [http://www.dreamsourcelab.com/techspec.html Device specs]&lt;br /&gt;
* [https://www.kickstarter.com/projects/dreamsourcelab/dslogic-multifunction-instruments-for-everyone Kickstarter page]&lt;br /&gt;
&lt;br /&gt;
[[Category:Device]]&lt;br /&gt;
[[Category:Logic analyzer]]&lt;br /&gt;
[[Category:Supported]]&lt;/div&gt;</summary>
		<author><name>Mattvenn</name></author>
	</entry>
	<entry>
		<id>https://sigrok.org/w/index.php?title=Protocol_decoder:I2c&amp;diff=12995</id>
		<title>Protocol decoder:I2c</title>
		<link rel="alternate" type="text/html" href="https://sigrok.org/w/index.php?title=Protocol_decoder:I2c&amp;diff=12995"/>
		<updated>2017-12-11T19:01:48Z</updated>

		<summary type="html">&lt;p&gt;Mattvenn: /* Decoder */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{Infobox protocol decoder&lt;br /&gt;
| id              = i2c&lt;br /&gt;
| name            = Inter-Integrated Circuit&lt;br /&gt;
| description     = Two-wire, multi-master, serial bus&lt;br /&gt;
| status          = supported&lt;br /&gt;
| license         = GPLv2+&lt;br /&gt;
| source_code_dir = i2c&lt;br /&gt;
| image           = [[File:Pd i2c example.png|250px]]&lt;br /&gt;
| input           = logic&lt;br /&gt;
| output          = i2c&lt;br /&gt;
| probes          = SCL, SDA&lt;br /&gt;
| optional_probes = &amp;amp;mdash;&lt;br /&gt;
| options         = address_format&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
The &amp;#039;&amp;#039;&amp;#039;i2c&amp;#039;&amp;#039;&amp;#039; protocol decoder supports the [https://en.wikipedia.org/wiki/I%C2%B2C Inter-Integrated Circuit] (I²C) bidirectional, multi-master serial protocol.&lt;br /&gt;
&lt;br /&gt;
== Protocol ==&lt;br /&gt;
&lt;br /&gt;
The Inter-Integrated Circuit (I²C) bus is a bidirectional, multi-master bus using two signals (SCL = serial clock line, SDA = serial data line).&lt;br /&gt;
&lt;br /&gt;
There can be many devices on the same bus. Each device can potentially be master or slave (and that can change during runtime). Both slave and master can potentially play the transmitter or receiver role (this can also change at runtime).&lt;br /&gt;
&lt;br /&gt;
Possible maximum data rates:&lt;br /&gt;
&lt;br /&gt;
* Standard mode: 100 kbit/s&lt;br /&gt;
* Fast mode: 400 kbit/s&lt;br /&gt;
* Fast-mode Plus: 1 Mbit/s&lt;br /&gt;
* High-speed mode: 3.4 Mbit/s&lt;br /&gt;
&lt;br /&gt;
Basic protocol:&lt;br /&gt;
* START condition: SDA = falling, SCL = high&lt;br /&gt;
* Repeated START condition: same as START condition&lt;br /&gt;
* Data bit sampling: SCL = rising&lt;br /&gt;
* STOP condition: SDA = rising, SCL = high&lt;br /&gt;
&lt;br /&gt;
All data bytes on SDA are exactly 8 bits long (transmitted MSB-first). Each byte has to be followed by a 9th ACK/NACK bit. If that bit is low, that indicates an ACK, if it&amp;#039;s high that indicates a NACK.&lt;br /&gt;
&lt;br /&gt;
After the first START condition, a master sends the device address of the slave it wants to talk to. Slave addresses are 7 bits long (MSB-first). After those 7 bits, a data direction bit is sent. If the bit is low that indicates a WRITE operation, if it&amp;#039;s high that indicates a READ operation.&lt;br /&gt;
&lt;br /&gt;
Later an optional 10bit slave addressing scheme was added.&lt;br /&gt;
&lt;br /&gt;
== Decoder ==&lt;br /&gt;
&lt;br /&gt;
You can show the available options with the --show command:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
$ sigrok-cli -P i2c --show&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[http://www.eevblog.com/forum/testgear/ds1000z-series-serial-decode/msg536854/#msg536854 EEVblog forum post] showing how to use the &amp;#039;&amp;#039;&amp;#039;i2c&amp;#039;&amp;#039;&amp;#039; decoder, among other things (like reading the input from a CSV file, stacking decoders, binary output).&lt;br /&gt;
&lt;br /&gt;
Another example of i2c decoder usage with sigrok-cli is:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
$ sigrok-cli -P i2c:scl=D1:sda=D0:address_format=unshifted -i trace.sr -A i2c=address-read:address-write:data-read:data-write&lt;br /&gt;
i2c-1: Write&lt;br /&gt;
i2c-1: Address write: A0&lt;br /&gt;
i2c-1: Data write: 01&lt;br /&gt;
i2c-1: Data write: 50&lt;br /&gt;
i2c-1: Read&lt;br /&gt;
i2c-1: Address read: A1&lt;br /&gt;
i2c-1: Data read: FF&lt;br /&gt;
i2c-1: Data read: 11&lt;br /&gt;
i2c-1: Data read: 22&lt;br /&gt;
i2c-1: Data read: 33&lt;br /&gt;
i2c-1: Data read: 44&lt;br /&gt;
i2c-1: Data read: 55&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Resources ==&lt;br /&gt;
&lt;br /&gt;
* [https://en.wikipedia.org/wiki/I%C2%B2C Wikipedia: I²C]&lt;br /&gt;
* [http://www.nxp.com/documents/other/UM10204_v5.pdf NXP: I2C-bus specification and user manual] (v5)&lt;br /&gt;
&lt;br /&gt;
__FORCETOC__&lt;br /&gt;
&lt;br /&gt;
[[Category:Protocol decoder]]&lt;/div&gt;</summary>
		<author><name>Mattvenn</name></author>
	</entry>
	<entry>
		<id>https://sigrok.org/w/index.php?title=DreamSourceLab_DSLogic&amp;diff=12994</id>
		<title>DreamSourceLab DSLogic</title>
		<link rel="alternate" type="text/html" href="https://sigrok.org/w/index.php?title=DreamSourceLab_DSLogic&amp;diff=12994"/>
		<updated>2017-12-11T18:59:17Z</updated>

		<summary type="html">&lt;p&gt;Mattvenn: /* Firmware */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{Infobox logic analyzer&lt;br /&gt;
| image            = [[File:DSLogic.png|180px]]&lt;br /&gt;
| name             = DreamSourceLab DSLogic&lt;br /&gt;
| status           = supported&lt;br /&gt;
| source_code_dir  = dreamsourcelab-dslogic&lt;br /&gt;
| channels         = 1-16&lt;br /&gt;
| samplerate       = 400MHz(4ch), 200MHz(8ch), 100MHz(16ch)&lt;br /&gt;
| samplerate_state = 50MHz&lt;br /&gt;
| triggers         = high, low, rising, falling, edge, multi-stage triggers&lt;br /&gt;
| voltages         = -0.6V &amp;amp;mdash; 6V&lt;br /&gt;
| threshold        = configurable: 3.3V, 5V&lt;br /&gt;
| memory           = 32MByte (2MByte/ch)&lt;br /&gt;
| compression      = no&lt;br /&gt;
| website          = [http://www.dreamsourcelab.com/dslogic.html dreamsourcelab.com]&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
The &amp;#039;&amp;#039;&amp;#039;DreamSourceLab DSLogic&amp;#039;&amp;#039;&amp;#039; is a 16-channel USB-based logic analyzer, with sampling rates up to 400MHz (when using only 4 channels).&lt;br /&gt;
&lt;br /&gt;
See [[DreamSourceLab DSLogic/Info]] for more details (such as &amp;#039;&amp;#039;&amp;#039;lsusb -v&amp;#039;&amp;#039;&amp;#039; output) about the device.&lt;br /&gt;
&lt;br /&gt;
== Hardware ==&lt;br /&gt;
&lt;br /&gt;
* [http://www.xilinx.com/products/silicon-devices/fpga/spartan-6/ Xilinx XC6SLX9] Spartan-6 FPGA (TQG144BIV13337)&lt;br /&gt;
* [http://www.micron.com/-/media/Documents/Products/Data%20Sheet/DRAM/256Mb_sdr.pdf Micron MT48LC16M16A2P-6A] 32MB SDRAM (IC SDRAM 256MBIT 167MHZ TSOP)&lt;br /&gt;
* [http://www.cypress.com/?mpn=CY7C68013A-56PVXC Cypress CY7C68013A] FX2 USB interface chip (IC MCU USB PERIPH HI SPD 56SSOP)&lt;br /&gt;
* [http://www.atmel.com/Images/Atmel-8719-SEEPROM-AT24C16C-Datasheet.pdf Serial EEPROM 16Kbit] U4: ATMLH348 16CM Y 3X3098, I2C/2Wire Serial EEPROM 16Kbit (2048x8) ATMEL AT24C16C &lt;br /&gt;
* [http://www.onsemi.com/pub_link/Collateral/CM1213A.PDF ESD Protection] U9,10,11,12,13,14 D234 ESD Protection CM1213A-04S7 TVS DIODE 3.3VWM 10VC SC746&lt;br /&gt;
* [http://www.ti.com/lit/ds/symlink/lm3671.pdf 1.2V 600mA LDO] U32 SBPB 1.2V 600mA 2MHz Step Down DC-DC Converter LM3671MF-1.2/NOPB&lt;br /&gt;
* [http://www.ti.com/lit/ds/symlink/lm3671.pdf 3.3V 600mA LDO] U31 SJEB 3.3V 600mA 2MHz Step Down DC-DC Converter LM3671MF-3.3/NOPB&lt;br /&gt;
&lt;br /&gt;
== Photos ==&lt;br /&gt;
&lt;br /&gt;
&amp;lt;gallery&amp;gt;&lt;br /&gt;
File:DSLogic.png|&amp;lt;small&amp;gt;Device, top&amp;lt;/small&amp;gt;&lt;br /&gt;
File:DSLogic connector.jpg|&amp;lt;small&amp;gt;Probe connector&amp;lt;/small&amp;gt;&lt;br /&gt;
File:DSLogic USB.jpg|&amp;lt;small&amp;gt;USB connector&amp;lt;/small&amp;gt;&lt;br /&gt;
File:DSLogic PCB front.jpg|&amp;lt;small&amp;gt;PCB, top&amp;lt;/small&amp;gt;&lt;br /&gt;
File:DSLogic PCB back.jpg|&amp;lt;small&amp;gt;PCB, bottom&amp;lt;/small&amp;gt;&lt;br /&gt;
&amp;lt;/gallery&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Firmware ==&lt;br /&gt;
&lt;br /&gt;
In order to use this device with [[libsigrok]] the [https://github.com/DreamSourceLab/DSView/raw/886b847c21c606df3138ce7ad8f8e8c363ee758b/DSView/res vendor firmare and bitstream files] (v0.97) are required.&lt;br /&gt;
&lt;br /&gt;
The easiest method to install those is to use the [http://sigrok.org/gitweb/?p=sigrok-util.git;a=blob;f=firmware/dreamsourcelab-dslogic/sigrok-fwextract-dreamsourcelab-dslogic sigrok-fwextract-dreamsourcelab-dslogic] script. It will download the correct files, rename them to the correct filenames as expected by libsigrok and install them.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Example usage&amp;#039;&amp;#039;&amp;#039;:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&lt;br /&gt;
 $ &amp;#039;&amp;#039;&amp;#039;PREFIX=$HOME/sr ./sigrok-fwextract-dreamsourcelab-dslogic&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
This will install the files into &amp;#039;&amp;#039;&amp;#039;$HOME/sr/share/sigrok-fimware&amp;#039;&amp;#039;&amp;#039;. Without &amp;#039;&amp;#039;&amp;#039;PREFIX&amp;#039;&amp;#039;&amp;#039;, the files will be installed into &amp;#039;&amp;#039;&amp;#039;/usr/local/share/sigrok-firmware&amp;#039;&amp;#039;&amp;#039; by default.&lt;br /&gt;
&lt;br /&gt;
If you want to avoid using the script, you can manually download and rename the files (but check [http://sigrok.org/gitweb/?p=sigrok-util.git;a=blob;f=firmware/dreamsourcelab-dslogic/sigrok-fwextract-dreamsourcelab-dslogic the script] for the correct filenames).&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Note:&amp;#039;&amp;#039;&amp;#039; Do &amp;#039;&amp;#039;&amp;#039;not&amp;#039;&amp;#039;&amp;#039; use any firmware/bitstream files newer than those linked here (v0.97), they&amp;#039;re currently not supported. See bugs [http://sigrok.org/bugzilla/show_bug.cgi?id=905 #905] and [https://sigrok.org/bugzilla/show_bug.cgi?id=1063 #1063].&lt;br /&gt;
&lt;br /&gt;
After firmware is correctly installed, you can see if it&amp;#039;s worked like this:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
sigrok-cli --driver=dreamsourcelab-dslogic -l 5 --scan&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
You should see the driver detected and uploading the firmware&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
sr: [00:00.014417] resource: Opened &amp;#039;/usr/local/share/sigrok-firmware/dreamsourcelab-dslogic-basic-fx2.fw&amp;#039;.&lt;br /&gt;
sr: [00:00.014454] ezusb: Uploading firmware &amp;#039;dreamsourcelab-dslogic-basic-fx2.fw&amp;#039;.&lt;br /&gt;
sr: [00:00.014972] ezusb: Uploaded 4096 bytes.&lt;br /&gt;
sr: [00:00.015481] ezusb: Uploaded 4024 bytes.&lt;br /&gt;
sr: [00:00.015492] ezusb: Firmware upload done.&lt;br /&gt;
sr: [00:00.015497] ezusb: setting CPU reset mode off...&lt;br /&gt;
sr: [00:00.015606] hwdriver: Scan found 1 devices (dreamsourcelab-dslogic).&lt;br /&gt;
The following devices were found:&lt;br /&gt;
dreamsourcelab-dslogic - DreamSourceLab DSLogic Basic with 16 channels: 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15&lt;br /&gt;
sr: [00:00.015691] hwdriver: Cleaning up all drivers.&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Resources ==&lt;br /&gt;
&lt;br /&gt;
* [http://www.dreamsourcelab.com Vendor website]&lt;br /&gt;
* [http://www.dreamsourcelab.com/wiki/index.php Vendor wiki]&lt;br /&gt;
* [http://www.dreamsourcelab.com/forum/index.php Vendor forum]&lt;br /&gt;
* [http://www.dreamsourcelab.com/techspec.html Device specs]&lt;br /&gt;
* [https://www.kickstarter.com/projects/dreamsourcelab/dslogic-multifunction-instruments-for-everyone Kickstarter page]&lt;br /&gt;
&lt;br /&gt;
[[Category:Device]]&lt;br /&gt;
[[Category:Logic analyzer]]&lt;br /&gt;
[[Category:Supported]]&lt;/div&gt;</summary>
		<author><name>Mattvenn</name></author>
	</entry>
	<entry>
		<id>https://sigrok.org/w/index.php?title=DreamSourceLab_DSLogic&amp;diff=12993</id>
		<title>DreamSourceLab DSLogic</title>
		<link rel="alternate" type="text/html" href="https://sigrok.org/w/index.php?title=DreamSourceLab_DSLogic&amp;diff=12993"/>
		<updated>2017-12-11T18:54:20Z</updated>

		<summary type="html">&lt;p&gt;Mattvenn: /* Firmware */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{Infobox logic analyzer&lt;br /&gt;
| image            = [[File:DSLogic.png|180px]]&lt;br /&gt;
| name             = DreamSourceLab DSLogic&lt;br /&gt;
| status           = supported&lt;br /&gt;
| source_code_dir  = dreamsourcelab-dslogic&lt;br /&gt;
| channels         = 1-16&lt;br /&gt;
| samplerate       = 400MHz(4ch), 200MHz(8ch), 100MHz(16ch)&lt;br /&gt;
| samplerate_state = 50MHz&lt;br /&gt;
| triggers         = high, low, rising, falling, edge, multi-stage triggers&lt;br /&gt;
| voltages         = -0.6V &amp;amp;mdash; 6V&lt;br /&gt;
| threshold        = configurable: 3.3V, 5V&lt;br /&gt;
| memory           = 32MByte (2MByte/ch)&lt;br /&gt;
| compression      = no&lt;br /&gt;
| website          = [http://www.dreamsourcelab.com/dslogic.html dreamsourcelab.com]&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
The &amp;#039;&amp;#039;&amp;#039;DreamSourceLab DSLogic&amp;#039;&amp;#039;&amp;#039; is a 16-channel USB-based logic analyzer, with sampling rates up to 400MHz (when using only 4 channels).&lt;br /&gt;
&lt;br /&gt;
See [[DreamSourceLab DSLogic/Info]] for more details (such as &amp;#039;&amp;#039;&amp;#039;lsusb -v&amp;#039;&amp;#039;&amp;#039; output) about the device.&lt;br /&gt;
&lt;br /&gt;
== Hardware ==&lt;br /&gt;
&lt;br /&gt;
* [http://www.xilinx.com/products/silicon-devices/fpga/spartan-6/ Xilinx XC6SLX9] Spartan-6 FPGA (TQG144BIV13337)&lt;br /&gt;
* [http://www.micron.com/-/media/Documents/Products/Data%20Sheet/DRAM/256Mb_sdr.pdf Micron MT48LC16M16A2P-6A] 32MB SDRAM (IC SDRAM 256MBIT 167MHZ TSOP)&lt;br /&gt;
* [http://www.cypress.com/?mpn=CY7C68013A-56PVXC Cypress CY7C68013A] FX2 USB interface chip (IC MCU USB PERIPH HI SPD 56SSOP)&lt;br /&gt;
* [http://www.atmel.com/Images/Atmel-8719-SEEPROM-AT24C16C-Datasheet.pdf Serial EEPROM 16Kbit] U4: ATMLH348 16CM Y 3X3098, I2C/2Wire Serial EEPROM 16Kbit (2048x8) ATMEL AT24C16C &lt;br /&gt;
* [http://www.onsemi.com/pub_link/Collateral/CM1213A.PDF ESD Protection] U9,10,11,12,13,14 D234 ESD Protection CM1213A-04S7 TVS DIODE 3.3VWM 10VC SC746&lt;br /&gt;
* [http://www.ti.com/lit/ds/symlink/lm3671.pdf 1.2V 600mA LDO] U32 SBPB 1.2V 600mA 2MHz Step Down DC-DC Converter LM3671MF-1.2/NOPB&lt;br /&gt;
* [http://www.ti.com/lit/ds/symlink/lm3671.pdf 3.3V 600mA LDO] U31 SJEB 3.3V 600mA 2MHz Step Down DC-DC Converter LM3671MF-3.3/NOPB&lt;br /&gt;
&lt;br /&gt;
== Photos ==&lt;br /&gt;
&lt;br /&gt;
&amp;lt;gallery&amp;gt;&lt;br /&gt;
File:DSLogic.png|&amp;lt;small&amp;gt;Device, top&amp;lt;/small&amp;gt;&lt;br /&gt;
File:DSLogic connector.jpg|&amp;lt;small&amp;gt;Probe connector&amp;lt;/small&amp;gt;&lt;br /&gt;
File:DSLogic USB.jpg|&amp;lt;small&amp;gt;USB connector&amp;lt;/small&amp;gt;&lt;br /&gt;
File:DSLogic PCB front.jpg|&amp;lt;small&amp;gt;PCB, top&amp;lt;/small&amp;gt;&lt;br /&gt;
File:DSLogic PCB back.jpg|&amp;lt;small&amp;gt;PCB, bottom&amp;lt;/small&amp;gt;&lt;br /&gt;
&amp;lt;/gallery&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Firmware ==&lt;br /&gt;
&lt;br /&gt;
In order to use this device with [[libsigrok]] the [https://github.com/DreamSourceLab/DSView/raw/886b847c21c606df3138ce7ad8f8e8c363ee758b/DSView/res vendor firmare and bitstream files] (v0.97) are required.&lt;br /&gt;
&lt;br /&gt;
The easiest method to install those is to use the [http://sigrok.org/gitweb/?p=sigrok-util.git;a=blob;f=firmware/dreamsourcelab-dslogic/sigrok-fwextract-dreamsourcelab-dslogic sigrok-fwextract-dreamsourcelab-dslogic] script. It will download the correct files, rename them to the correct filenames as expected by libsigrok and install them.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Example usage&amp;#039;&amp;#039;&amp;#039;:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&lt;br /&gt;
 $ &amp;#039;&amp;#039;&amp;#039;PREFIX=$HOME/sr ./sigrok-fwextract-dreamsourcelab-dslogic&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
This will install the files into &amp;#039;&amp;#039;&amp;#039;$HOME/sr/share/sigrok-fimware&amp;#039;&amp;#039;&amp;#039;. Without &amp;#039;&amp;#039;&amp;#039;PREFIX&amp;#039;&amp;#039;&amp;#039;, the files will be installed into &amp;#039;&amp;#039;&amp;#039;/usr/local/share/sigrok-firmware&amp;#039;&amp;#039;&amp;#039; by default.&lt;br /&gt;
&lt;br /&gt;
If you want to avoid using the script, you can manually download and rename the files (but check [http://sigrok.org/gitweb/?p=sigrok-util.git;a=blob;f=firmware/dreamsourcelab-dslogic/sigrok-fwextract-dreamsourcelab-dslogic the script] for the correct filenames).&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Note:&amp;#039;&amp;#039;&amp;#039; Do &amp;#039;&amp;#039;&amp;#039;not&amp;#039;&amp;#039;&amp;#039; use any firmware/bitstream files newer than those linked here (v0.97), they&amp;#039;re currently not supported. See bugs [http://sigrok.org/bugzilla/show_bug.cgi?id=905 #905] and [https://sigrok.org/bugzilla/show_bug.cgi?id=1063 #1063].&lt;br /&gt;
&lt;br /&gt;
After firmware is correctly installed, you can see if it&amp;#039;s worked like this:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&lt;br /&gt;
sigrok-cli -C 1 --driver=dreamsourcelab-dslogic  -c &amp;quot;samplerate=500k&amp;quot; --samples 1k -l 5&lt;br /&gt;
&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Resources ==&lt;br /&gt;
&lt;br /&gt;
* [http://www.dreamsourcelab.com Vendor website]&lt;br /&gt;
* [http://www.dreamsourcelab.com/wiki/index.php Vendor wiki]&lt;br /&gt;
* [http://www.dreamsourcelab.com/forum/index.php Vendor forum]&lt;br /&gt;
* [http://www.dreamsourcelab.com/techspec.html Device specs]&lt;br /&gt;
* [https://www.kickstarter.com/projects/dreamsourcelab/dslogic-multifunction-instruments-for-everyone Kickstarter page]&lt;br /&gt;
&lt;br /&gt;
[[Category:Device]]&lt;br /&gt;
[[Category:Logic analyzer]]&lt;br /&gt;
[[Category:Supported]]&lt;/div&gt;</summary>
		<author><name>Mattvenn</name></author>
	</entry>
</feed>