<?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=Marc+Schink</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=Marc+Schink"/>
	<link rel="alternate" type="text/html" href="https://sigrok.org/wiki/Special:Contributions/Marc_Schink"/>
	<updated>2026-04-17T22:59:33Z</updated>
	<subtitle>User contributions</subtitle>
	<generator>MediaWiki 1.37.1</generator>
	<entry>
		<id>https://sigrok.org/w/index.php?title=LeCroy_LogicStudio&amp;diff=17010</id>
		<title>LeCroy LogicStudio</title>
		<link rel="alternate" type="text/html" href="https://sigrok.org/w/index.php?title=LeCroy_LogicStudio&amp;diff=17010"/>
		<updated>2025-01-23T14:30:57Z</updated>

		<summary type="html">&lt;p&gt;Marc Schink: /* Extracting lecroy-logicstudio16-fx2lp.fw from the Windows driver */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{Infobox logic analyzer&lt;br /&gt;
| image            = [[File:Lecroy logicstudio16 mugshot.png|180px]]&lt;br /&gt;
| name             = LeCroy LogicStudio&lt;br /&gt;
| status           = supported&lt;br /&gt;
| source_code_dir  = lecroy-logicstudio&lt;br /&gt;
| channels         = 16&lt;br /&gt;
| samplerate       = 1GHz (@ 8ch), 500MHz (@ 16ch)&lt;br /&gt;
| samplerate_state = &amp;amp;mdash;&lt;br /&gt;
| triggers         = high/low state, rising/falling/any edge, more&lt;br /&gt;
| voltages         = ?&lt;br /&gt;
| threshold        = configurable: 0.0V &amp;amp;mdash; 7.0V&lt;br /&gt;
| memory           = 40 KB&lt;br /&gt;
| compression      = none&lt;br /&gt;
| website          = [http://teledynelecroy.com/logicstudio/ teledynelecroy.com]&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
The &amp;#039;&amp;#039;&amp;#039;LeCroy LogicStudio&amp;#039;&amp;#039;&amp;#039; is a USB-based, 16-channel logic analyzer with 1GHz samplerate.&lt;br /&gt;
&lt;br /&gt;
When all 16 channels are enabled, the maximum samplerate is limited to at most 500MHz. Either the lower eight or the upper eight channels may be disabled for an increased samplerate of up to 1GHz. The device offers a continuous acquisition mode where all inputs are sampled at a frequency of 1kHz. Its internal protocol decoder supports UART, I2C and SPI.&lt;br /&gt;
&lt;br /&gt;
See [[LeCroy LogicStudio/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;
* &amp;#039;&amp;#039;&amp;#039;FPGA&amp;#039;&amp;#039;&amp;#039;: Xilinx Spartan-6 XC6SLX16&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;USB interface&amp;#039;&amp;#039;&amp;#039;:  [http://www.cypress.com/?docID=45142 Cypress CY7C68013A]&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;Crystal (FX2LP):&amp;#039;&amp;#039;&amp;#039; 24.000MHz&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;Crystal (FPGA):&amp;#039;&amp;#039;&amp;#039; Unknown, xpress0?&lt;br /&gt;
&lt;br /&gt;
== Photos ==&lt;br /&gt;
&lt;br /&gt;
&amp;lt;gallery&amp;gt;&lt;br /&gt;
File:Lecroy-logicstudio.jpg|&amp;lt;small&amp;gt;Device, top&amp;lt;/small&amp;gt;&lt;br /&gt;
File:Lecroy-logicstudio-pcb.jpg|&amp;lt;small&amp;gt;PCB, front&amp;lt;/small&amp;gt;&lt;br /&gt;
File:Lecroy-logicstudio-fpga.jpg|&amp;lt;small&amp;gt;FPGA&amp;lt;/small&amp;gt;&lt;br /&gt;
File:Lecroy-logicstudio-usb.jpg|&amp;lt;small&amp;gt;FX2&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;
=== Trigger capabilities ===&lt;br /&gt;
&lt;br /&gt;
The device has both standard logic triggers as well as triggers that operate on data produced by its internal protocol decoder.&lt;br /&gt;
There are two logic trigger blocks A and B which can optionally be combined in the following ways:&lt;br /&gt;
* A AND B&lt;br /&gt;
* A OR B&lt;br /&gt;
* A THEN B&lt;br /&gt;
&lt;br /&gt;
Each logic trigger block offers the following match criteria:&lt;br /&gt;
* Rising edge&lt;br /&gt;
* Falling edge&lt;br /&gt;
* Any edge&lt;br /&gt;
* Level 0 (including pulse width)&lt;br /&gt;
* Level 1 (ditto)&lt;br /&gt;
* Qualified edge triggers (trigger on rising/falling/any edge while another signal is high/low).&lt;br /&gt;
&lt;br /&gt;
Multiple edge triggers in the same block are OR&amp;#039;d, while multiple level triggers in the same block are AND&amp;#039;ed.&lt;br /&gt;
Each trigger block can further be configured with a number of times that the trigger criteria need to match before the trigger fires.&lt;br /&gt;
&lt;br /&gt;
=== Internals ===&lt;br /&gt;
&lt;br /&gt;
The device initially shows up as VID:PID 0x5ff:0xa001 on the USB bus. It then requires a firmware upload to its FX2LP chip, after which the original USB device disappears and a new one shows up, with VID:PID 0x5ff:0xa002.&lt;br /&gt;
&lt;br /&gt;
The bitstreams for the FPGA come in two versions: one which enables all 16 channels, and one which only enables either the bottom 8 or the top 8 channels. If the first bitstream is uploaded, the maximum allowed sample rate is 500MHz. If the second bitstream is uploaded, the device can sample at up to 1GHz. In the latter case, a separate command controls whether the lower or the upper channels are enabled.&lt;br /&gt;
&lt;br /&gt;
Samples are stored in the device&amp;#039;s 40 KB memory. That memory block is used as a ringbuffer; samples are continuously written to it (thus overwriting old data if necessary) until the user-programmed trigger fires &amp;#039;&amp;#039;and&amp;#039;&amp;#039; the requested number of post-trigger samples have been acquired.&lt;br /&gt;
At that point, you may retrieve the ringbuffer&amp;#039;s contents from the device.&lt;br /&gt;
&lt;br /&gt;
=== USB endpoints ===&lt;br /&gt;
&lt;br /&gt;
# Endpoint 1 is used by the device to send acquisition status messages to the host.&lt;br /&gt;
# Endpoint 6 is used to upload the FPGA bitstream.&lt;br /&gt;
# Endpoint 2 is used to retrieve the device&amp;#039;s samplebuffer.&lt;br /&gt;
&lt;br /&gt;
Vendor requests are used to read or write control registers.&lt;br /&gt;
&lt;br /&gt;
See [[LeCroy LogicStudio/Info]] for an &amp;#039;&amp;#039;&amp;#039;lsusb -v&amp;#039;&amp;#039;&amp;#039;.&lt;br /&gt;
&lt;br /&gt;
== Firmware ==&lt;br /&gt;
&lt;br /&gt;
=== Revisions ===&lt;br /&gt;
&lt;br /&gt;
As of October 2015, the latest released LeCroy LogicStudio software ships with FPGA bitstreams that are 464196 bytes and have the following hashes:&lt;br /&gt;
* md5(lecroy-logicstudio16-16.bitstream) = 1ab904704def72f18543d9d7aa929002&lt;br /&gt;
* md5(lecroy-logicstudio16-8.bitstream) = 5763c67cb762c85c8b1d09dc1f239acb&lt;br /&gt;
&lt;br /&gt;
The FX2LP firmware is 4250 bytes:&lt;br /&gt;
* md5(lecroy-logicstudio16-fx2lp.fw) = 1638e2a5ef211c10f48405c1c16a057f&lt;br /&gt;
&lt;br /&gt;
=== Extracting lecroy-logicstudio16-fx2lp.fw from the Windows driver ===&lt;br /&gt;
&lt;br /&gt;
# Get https://github.com/fritzw/cyusb-fw-extract&lt;br /&gt;
# Run that script on the SPT file that is included in the Windows installation:&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
python cyusb-fw-extract.py -o converted LogicStudio16Load.spt&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
# Remove the comments (first two lines) from the top of converted_2.ihx.&lt;br /&gt;
# Use objcopy (or any other hex/bin converter) to convert from ihex to binary:&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
objcopy -I ihex -O binary converted_2.ihx lecroy-logicstudio16-fx2lp.fw&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Resources ==&lt;br /&gt;
&lt;br /&gt;
* [http://teledynelecroy.com/doc/docview.aspx?id=6378 Datasheet]&lt;br /&gt;
* [http://teledynelecroy.com/doc/docview.aspx?id=7699 Manual]&lt;br /&gt;
* [http://teledynelecroy.com/support/softwaredownload/logicstudio.aspx Vendor software]&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>Marc Schink</name></author>
	</entry>
	<entry>
		<id>https://sigrok.org/w/index.php?title=Keysight_33600A_Series&amp;diff=15976</id>
		<title>Keysight 33600A Series</title>
		<link rel="alternate" type="text/html" href="https://sigrok.org/w/index.php?title=Keysight_33600A_Series&amp;diff=15976"/>
		<updated>2021-01-24T16:10:57Z</updated>

		<summary type="html">&lt;p&gt;Marc Schink: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{Infobox multimeter&lt;br /&gt;
| image = [[File:keysight-33611a-front.png|180px]]&lt;br /&gt;
| name = Keysight 33600A Series&lt;br /&gt;
| status = planned&lt;br /&gt;
| source_code_dir = &lt;br /&gt;
| connectivity = LAN LXI, USB TMC, optional GPIB&lt;br /&gt;
| waveforms = sine, square, ramp, pulse, triangle, gaussian noise, PRBS (pseudorandom binary sequence), DC&lt;br /&gt;
| website = [https://www.keysight.com/main/techSupport.jspx?pid=2380221 keysight.com]&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
The &amp;#039;&amp;#039;&amp;#039;Keysight 33600A Series&amp;#039;&amp;#039;&amp;#039; are signal generators with a maximum frequency of 120 MHz and up to 2 channels.&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 sigroktable sortable&amp;quot;&lt;br /&gt;
!Model || Channels || Bandwidth&lt;br /&gt;
|-&lt;br /&gt;
|| 33611A || 1 || 80 MHz&lt;br /&gt;
|-&lt;br /&gt;
|| 33612A || 2 || 80 MHz&lt;br /&gt;
|-&lt;br /&gt;
|| 33621A || 1 || 120 MHz&lt;br /&gt;
|-&lt;br /&gt;
|| 33622A || 2 || 120 MHz&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Hardware ==&lt;br /&gt;
&lt;br /&gt;
TODO&lt;br /&gt;
&lt;br /&gt;
== Photos ==&lt;br /&gt;
&lt;br /&gt;
&amp;lt;gallery&amp;gt;&lt;br /&gt;
File:keysight-33611a-front.png&lt;br /&gt;
File:keysight-33611A-back.png&lt;br /&gt;
&amp;lt;/gallery&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Protocol ==&lt;br /&gt;
&lt;br /&gt;
SCPI-1999 and IEEE-488.2 compatible&lt;br /&gt;
&lt;br /&gt;
== Usage ==&lt;br /&gt;
&lt;br /&gt;
TODO&lt;br /&gt;
&lt;br /&gt;
== Resources ==&lt;br /&gt;
&lt;br /&gt;
* [https://www.keysight.com/de/de/assets/7018-05928/data-sheets/5992-2572.pdf Keysight 33500B and 33600A Series datasheet]&lt;br /&gt;
&lt;br /&gt;
[[Category:Device]]&lt;br /&gt;
[[Category:Signal generator]]&lt;br /&gt;
[[Category:Planned]]&lt;/div&gt;</summary>
		<author><name>Marc Schink</name></author>
	</entry>
	<entry>
		<id>https://sigrok.org/w/index.php?title=Keysight_33600A_Series&amp;diff=15975</id>
		<title>Keysight 33600A Series</title>
		<link rel="alternate" type="text/html" href="https://sigrok.org/w/index.php?title=Keysight_33600A_Series&amp;diff=15975"/>
		<updated>2021-01-24T16:05:55Z</updated>

		<summary type="html">&lt;p&gt;Marc Schink: Created page with &amp;quot;{{Infobox multimeter | image = 180px | name = Keysight 33600A Series | status = planned | connectivity = LAN LXI, USB TMC, optional GPIB | w...&amp;quot;&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{Infobox multimeter&lt;br /&gt;
| image = [[File:keysight-33611a-front.png|180px]]&lt;br /&gt;
| name = Keysight 33600A Series&lt;br /&gt;
| status = planned&lt;br /&gt;
| connectivity = LAN LXI, USB TMC, optional GPIB&lt;br /&gt;
| waveforms = sine, square, ramp, pulse, triangle, gaussian noise, PRBS (pseudorandom binary sequence), DC&lt;br /&gt;
| website = [https://www.keysight.com/main/techSupport.jspx?pid=2380221 keysight.com]&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
The &amp;#039;&amp;#039;&amp;#039;Keysight 33600A Series&amp;#039;&amp;#039;&amp;#039; are signal generators with a maximum frequency of 120 MHz and up to 2 channels.&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 sigroktable sortable&amp;quot;&lt;br /&gt;
!Model || Channels || Bandwidth&lt;br /&gt;
|-&lt;br /&gt;
|| 33611A || 1 || 80 MHz&lt;br /&gt;
|-&lt;br /&gt;
|| 33612A || 2 || 80 MHz&lt;br /&gt;
|-&lt;br /&gt;
|| 33621A || 1 || 120 MHz&lt;br /&gt;
|-&lt;br /&gt;
|| 33622A || 2 || 120 MHz&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Hardware ==&lt;br /&gt;
&lt;br /&gt;
TODO&lt;br /&gt;
&lt;br /&gt;
== Photos ==&lt;br /&gt;
&lt;br /&gt;
&amp;lt;gallery&amp;gt;&lt;br /&gt;
File:keysight-33611a-front.png&lt;br /&gt;
File:keysight-33611A-back.png&lt;br /&gt;
&amp;lt;/gallery&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Protocol ==&lt;br /&gt;
&lt;br /&gt;
SCPI-1999 and IEEE-488.2 compatible&lt;br /&gt;
&lt;br /&gt;
== Usage ==&lt;br /&gt;
&lt;br /&gt;
TODO&lt;br /&gt;
&lt;br /&gt;
== Resources ==&lt;br /&gt;
&lt;br /&gt;
* [https://www.keysight.com/de/de/assets/7018-05928/data-sheets/5992-2572.pdf Keysight 33500B and 33600A Series datasheet]&lt;br /&gt;
&lt;br /&gt;
[[Category:Device]]&lt;br /&gt;
[[Category:Signal generator]]&lt;br /&gt;
[[Category:Planned]]&lt;/div&gt;</summary>
		<author><name>Marc Schink</name></author>
	</entry>
	<entry>
		<id>https://sigrok.org/w/index.php?title=File:Keysight-33611a-front.png&amp;diff=15974</id>
		<title>File:Keysight-33611a-front.png</title>
		<link rel="alternate" type="text/html" href="https://sigrok.org/w/index.php?title=File:Keysight-33611a-front.png&amp;diff=15974"/>
		<updated>2021-01-24T15:39:40Z</updated>

		<summary type="html">&lt;p&gt;Marc Schink: Keysight 33611A, front view&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Keysight 33611A, front view&lt;/div&gt;</summary>
		<author><name>Marc Schink</name></author>
	</entry>
	<entry>
		<id>https://sigrok.org/w/index.php?title=File:Keysight-33611A-back.png&amp;diff=15973</id>
		<title>File:Keysight-33611A-back.png</title>
		<link rel="alternate" type="text/html" href="https://sigrok.org/w/index.php?title=File:Keysight-33611A-back.png&amp;diff=15973"/>
		<updated>2021-01-24T15:38:48Z</updated>

		<summary type="html">&lt;p&gt;Marc Schink: Keysight 33611A, back view&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Summary ==&lt;br /&gt;
Keysight 33611A, back view&lt;br /&gt;
== Licensing ==&lt;br /&gt;
{{CC-BY-SA-3.0}}&lt;/div&gt;</summary>
		<author><name>Marc Schink</name></author>
	</entry>
	<entry>
		<id>https://sigrok.org/w/index.php?title=Rohde%26Schwarz_HMC_8043&amp;diff=12397</id>
		<title>Rohde&amp;Schwarz HMC 8043</title>
		<link rel="alternate" type="text/html" href="https://sigrok.org/w/index.php?title=Rohde%26Schwarz_HMC_8043&amp;diff=12397"/>
		<updated>2017-04-07T15:44:43Z</updated>

		<summary type="html">&lt;p&gt;Marc Schink: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{Infobox power supply&lt;br /&gt;
| image               = [[File:Rs hmc8043 mugshot.png|180px]]&lt;br /&gt;
| name                = Rohde&amp;amp;Schwarz HMC 8043&lt;br /&gt;
| status              = supported&lt;br /&gt;
| source_code_dir     = scpi-pps&lt;br /&gt;
| channels            = 3&lt;br /&gt;
| channel1            = 0-32V / 0-3A&lt;br /&gt;
| channel2            = 0-32V / 0-3A&lt;br /&gt;
| channel3            = 0-32V / 0-3A&lt;br /&gt;
| channel4            = &lt;br /&gt;
| connectivity        = USBTMC, LXI&lt;br /&gt;
| features            = &lt;br /&gt;
| website             = [https://www.rohde-schwarz.com/uk/product/hmc804x-productstartpage_63493-61542.html rohde-schwarz.com]&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
The &amp;#039;&amp;#039;&amp;#039;Rohde&amp;amp;Schwarz HMC 8043&amp;#039;&amp;#039;&amp;#039; is a 3-channel programmable power supply with USBTMC and LXI connectivity.&lt;br /&gt;
&lt;br /&gt;
See [[Rohde&amp;amp;Schwarz HMC 8043/Info]] for detailed USB connection information. &lt;br /&gt;
&lt;br /&gt;
== Photos ==&lt;br /&gt;
&lt;br /&gt;
&amp;lt;gallery&amp;gt;&lt;br /&gt;
File:rs_hmc8043_front.png|&amp;lt;small&amp;gt;Device, front&amp;lt;/small&amp;gt;&lt;br /&gt;
File:rs_hmc8043_back.png|&amp;lt;small&amp;gt;Device, back&amp;lt;/small&amp;gt;&lt;br /&gt;
&amp;lt;/gallery&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Resources ==&lt;br /&gt;
&lt;br /&gt;
* [https://cdn.rohde-schwarz.com/pws/dl_downloads/dl_common_library/dl_manuals/gb_1/h/hmc804x/HMC804x_UserManual_de_en_04.pdf HMC804x user guide]&lt;br /&gt;
* [https://cdn.rohde-schwarz.com/pws/dl_downloads/dl_common_library/dl_manuals/gb_1/h/hmc804x/HMC804x_SCPI_ProgrammersManual_en_02.pdf HMC804x programming guide]&lt;br /&gt;
&lt;br /&gt;
[[Category:Device]]&lt;br /&gt;
[[Category:Power supply]]&lt;br /&gt;
[[Category:Supported]]&lt;/div&gt;</summary>
		<author><name>Marc Schink</name></author>
	</entry>
	<entry>
		<id>https://sigrok.org/w/index.php?title=Rohde%26Schwarz_HMC_8043/Info&amp;diff=12396</id>
		<title>Rohde&amp;Schwarz HMC 8043/Info</title>
		<link rel="alternate" type="text/html" href="https://sigrok.org/w/index.php?title=Rohde%26Schwarz_HMC_8043/Info&amp;diff=12396"/>
		<updated>2017-04-07T15:38:00Z</updated>

		<summary type="html">&lt;p&gt;Marc Schink: Created page with &amp;quot;== lsusb ==  &amp;lt;small&amp;gt;  $ &amp;#039;&amp;#039;&amp;#039;lsusb -v -d 0aad:0135&amp;#039;&amp;#039;&amp;#039;    Bus 002 Device 007: ID 0aad:0135 Rohde &amp;amp; Schwarz GmbH &amp;amp; Co. KG   Device Descriptor:   bLength                18   bDescr...&amp;quot;&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== lsusb ==&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&lt;br /&gt;
 $ &amp;#039;&amp;#039;&amp;#039;lsusb -v -d 0aad:0135&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
 &lt;br /&gt;
 Bus 002 Device 007: ID 0aad:0135 Rohde &amp;amp; Schwarz GmbH &amp;amp; Co. KG &lt;br /&gt;
 Device Descriptor:&lt;br /&gt;
  bLength                18&lt;br /&gt;
  bDescriptorType         1&lt;br /&gt;
  bcdUSB               2.00&lt;br /&gt;
  bDeviceClass            0 (Defined at Interface level)&lt;br /&gt;
  bDeviceSubClass         0 &lt;br /&gt;
  bDeviceProtocol         0 &lt;br /&gt;
  bMaxPacketSize0         8&lt;br /&gt;
  idVendor           0x0aad &amp;#039;&amp;#039;&amp;#039;Rohde &amp;amp; Schwarz GmbH &amp;amp; Co. KG&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
  idProduct          0x0135 &lt;br /&gt;
  bcdDevice           13.04&lt;br /&gt;
  iManufacturer           1 &amp;#039;&amp;#039;&amp;#039;Rohde&amp;amp;Schwarz&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
  iProduct                2 &amp;#039;&amp;#039;&amp;#039;HMC8043&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
  iSerial                 3&lt;br /&gt;
  bNumConfigurations      1&lt;br /&gt;
  Configuration Descriptor:&lt;br /&gt;
    bLength                 9&lt;br /&gt;
    bDescriptorType         2&lt;br /&gt;
    wTotalLength           39&lt;br /&gt;
    bNumInterfaces          1&lt;br /&gt;
    bConfigurationValue     1&lt;br /&gt;
    iConfiguration          4 USBTMC&lt;br /&gt;
    bmAttributes         0xc0&lt;br /&gt;
      Self Powered&lt;br /&gt;
    MaxPower              100mA&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           3&lt;br /&gt;
      bInterfaceClass       254 Application Specific Interface&lt;br /&gt;
      bInterfaceSubClass      3 Test and Measurement&lt;br /&gt;
      bInterfaceProtocol      1 TMC&lt;br /&gt;
      iInterface              5 USB488&lt;br /&gt;
      Endpoint Descriptor:&lt;br /&gt;
        bLength                 7&lt;br /&gt;
        bDescriptorType         5&lt;br /&gt;
        bEndpointAddress     0x02  EP 2 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               1&lt;br /&gt;
      Endpoint Descriptor:&lt;br /&gt;
        bLength                 7&lt;br /&gt;
        bDescriptorType         5&lt;br /&gt;
        bEndpointAddress     0x83  EP 3 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               1&lt;br /&gt;
      Endpoint Descriptor:&lt;br /&gt;
        bLength                 7&lt;br /&gt;
        bDescriptorType         5&lt;br /&gt;
        bEndpointAddress     0x84  EP 4 IN&lt;br /&gt;
        bmAttributes            3&lt;br /&gt;
          Transfer Type            Interrupt&lt;br /&gt;
          Synch Type               None&lt;br /&gt;
          Usage Type               Data&lt;br /&gt;
        wMaxPacketSize     0x0040  1x 64 bytes&lt;br /&gt;
        bInterval               1&lt;br /&gt;
 Device Status:     0x0001&lt;br /&gt;
  Self Powered&lt;br /&gt;
&amp;lt;/small&amp;gt;&lt;/div&gt;</summary>
		<author><name>Marc Schink</name></author>
	</entry>
	<entry>
		<id>https://sigrok.org/w/index.php?title=Supported_hardware&amp;diff=12391</id>
		<title>Supported hardware</title>
		<link rel="alternate" type="text/html" href="https://sigrok.org/w/index.php?title=Supported_hardware&amp;diff=12391"/>
		<updated>2017-04-06T15:51:16Z</updated>

		<summary type="html">&lt;p&gt;Marc Schink: /* Power supplies */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;sigrok is intended as a flexible, cross-platform, and &amp;#039;&amp;#039;&amp;#039;hardware-independent&amp;#039;&amp;#039;&amp;#039; software suite, i.e., it supports various devices from many different vendors.&lt;br /&gt;
&lt;br /&gt;
Here is a list of currently supported devices (various stages of completeness) in the [http://sigrok.org/gitweb/?p=libsigrok.git;a=summary latest git version of libsigrok] (fewer devices might be supported in tarball releases) and devices we plan to support in the future.&lt;br /&gt;
&lt;br /&gt;
The lists are sorted by category ([[File:Nuvola OK.png|16px]] &amp;lt;span style=&amp;quot;background-color: lime&amp;quot;&amp;gt;supported&amp;lt;/span&amp;gt;: [[:Category:Supported|{{PAGESINCATEGORY:Supported|pages}}]], [[File:Nuvola Orange.png|16px]] &amp;lt;span style=&amp;quot;background-color: orange&amp;quot;&amp;gt;in progress&amp;lt;/span&amp;gt;: [[:Category:In progress|{{PAGESINCATEGORY:In progress|pages}}]], [[File:Nuvola Red.png|16px]] &amp;lt;span style=&amp;quot;background-color: red&amp;quot;&amp;gt;planned&amp;lt;/span&amp;gt;: [[:Category:Planned|{{PAGESINCATEGORY:Planned|pages}}]]), and alphabetically within those categories.&lt;br /&gt;
&lt;br /&gt;
== Logic analyzers ==&lt;br /&gt;
&lt;br /&gt;
&amp;lt;gallery widths=&amp;quot;100px&amp;quot; heights=&amp;quot;100px&amp;quot;&amp;gt;&lt;br /&gt;
File:ARMFLY MINI LOGIC.png|link=ARMFLY Mini-Logic|[[File:Nuvola OK.png|16px]] &amp;lt;small&amp;gt;[[ARMFLY Mini-Logic]] (8ch, 24MHz)&amp;lt;/small&amp;gt;&lt;br /&gt;
File:ASIX SIGMA 2.png|link=ASIX SIGMA|[[File:Nuvola OK.png|16px]] &amp;lt;small&amp;gt;[[ASIX SIGMA]] (16ch, 200MHz)&amp;lt;/small&amp;gt;&lt;br /&gt;
File:BeagleLogic.jpg|link=BeagleLogic|[[File:Nuvola OK.png|16px]] &amp;lt;small&amp;gt;[[BeagleLogic]] (12(max 14)ch, 100MHz)&amp;lt;/small&amp;gt;&lt;br /&gt;
File:Braintechnology_usb_interface_v26.png|link=Braintechnology USB Interface V2.x|[[File:Nuvola OK.png|16px]] &amp;lt;small&amp;gt;[[Braintechnology USB Interface V2.x]] (8/16ch, 24/12MHz)&amp;lt;/small&amp;gt;&lt;br /&gt;
File:Braintechnology_usb_lps.png|link=Braintechnology USB-LPS|[[File:Nuvola OK.png|16px]] &amp;lt;small&amp;gt;[[Braintechnology USB-LPS]] (8/16ch, 24/12MHz)&amp;lt;/small&amp;gt;&lt;br /&gt;
File:Chronovu la8 front.png|link=ChronoVu LA8|[[File:Nuvola OK.png|16px]] &amp;lt;small&amp;gt;[[ChronoVu LA8]] (8ch, 100MHz)&amp;lt;/small&amp;gt;&lt;br /&gt;
File:Chronovu la16.png|link=ChronoVu LA16|[[File:Nuvola OK.png|16px]] &amp;lt;small&amp;gt;[[ChronoVu LA16]] (16ch, 200MHz)&amp;lt;/small&amp;gt;&lt;br /&gt;
File:Cwav_usbee_sx.png|link=CWAV USBee SX|[[File:Nuvola OK.png|16px]] &amp;lt;small&amp;gt;[[CWAV USBee SX]] (8ch, 24MHz)&amp;lt;/small&amp;gt;&lt;br /&gt;
File:Buspirate_v3.png|link=Dangerous Prototypes Buspirate|[[File:Nuvola OK.png|16px]] &amp;lt;small&amp;gt;[[Dangerous Prototypes Buspirate]] (5ch, 1MHz)&amp;lt;/small&amp;gt;&lt;br /&gt;
File:Dangerous prototypes irtoy mugshot.png|link=Dangerous Prototypes USB IR Toy|[[File:Nuvola OK.png|16px]] &amp;lt;small&amp;gt;[[Dangerous Prototypes USB IR Toy]] (1ch, 10kHz)&amp;lt;/small&amp;gt;&lt;br /&gt;
File:DSLogic.png|link=DreamSourceLab DSLogic|[[File:Nuvola OK.png|16px]] &amp;lt;small&amp;gt;[[DreamSourceLab DSLogic]] (16ch, 400MHz)&amp;lt;/small&amp;gt;&lt;br /&gt;
File:DSLogic.png|link=DreamSourceLab DSLogic Pro|[[File:Nuvola OK.png|16px]] &amp;lt;small&amp;gt;[[DreamSourceLab DSLogic Pro]] (16ch, 400MHz)&amp;lt;/small&amp;gt;&lt;br /&gt;
File:Eeelec xla esla100.png|link=EE Electronics ESLA100|[[File:Nuvola OK.png|16px]] &amp;lt;small&amp;gt;[[EE Electronics ESLA100]] (8ch, 24MHz)&amp;lt;/small&amp;gt;&lt;br /&gt;
File:Hantek 6022be mugshot.png|link=Hantek 6022BL|[[File:Nuvola OK.png|16px]] &amp;lt;small&amp;gt;[[Hantek 6022BL]] (8ch, 24MHz)&amp;lt;/small&amp;gt;&lt;br /&gt;
File:Hobby components hctest0006 mugshot.png|link=Hobby Components HCTEST0006|[[File:Nuvola OK.png|16px]] &amp;lt;small&amp;gt;[[Hobby Components HCTEST0006]] (8ch, 24MHz)&amp;lt;/small&amp;gt;&lt;br /&gt;
File:Ikalogic_scanalogic2.png|link=IKALOGIC Scanalogic-2|[[File:Nuvola OK.png|16px]] &amp;lt;small&amp;gt;[[IKALOGIC Scanalogic-2]] (4ch, 20MHz)&amp;lt;/small&amp;gt;&lt;br /&gt;
File:Ikalogic scanaplus mugshot.png|link=IKALOGIC ScanaPLUS|[[File:Nuvola OK.png|16px]] &amp;lt;small&amp;gt;[[IKALOGIC ScanaPLUS]] (9ch, 100MHz)&amp;lt;/small&amp;gt;&lt;br /&gt;
File:Kingst kqs3506 la16100.png|link=KingST KQS3506-LA16100|[[File:Nuvola OK.png|16px]] &amp;lt;small&amp;gt;[[KingST KQS3506-LA16100]] (16ch, 100/50/32/16MHz @ 3/6/9/16ch)&amp;lt;/small&amp;gt;&lt;br /&gt;
File:Lcsoft-miniboard-front.png|link=Lcsoft Mini Board|[[File:Nuvola OK.png|16px]] &amp;lt;small&amp;gt;[[Lcsoft Mini Board]] (8/16ch, 24/12MHz)&amp;lt;/small&amp;gt;&lt;br /&gt;
File:Lecroy logicstudio16 mugshot.png|link=LeCroy LogicStudio|[[File:Nuvola OK.png|16px]] &amp;lt;small&amp;gt;[[LeCroy LogicStudio]] (8/16ch, 1GHz/500MHz)&amp;lt;/small&amp;gt;&lt;br /&gt;
File:logic-shrimp-front.png|link=Logic Shrimp|[[File:Nuvola OK.png|16px]] &amp;lt;small&amp;gt;[[Logic Shrimp]] (4ch, 20MHz)&amp;lt;/small&amp;gt;&lt;br /&gt;
File:Mcu123 saleae logic clone.png|link=MCU123 Saleae Logic clone|[[File:Nuvola OK.png|16px]] &amp;lt;small&amp;gt;[[MCU123 Saleae Logic clone]] (8ch, 24MHz)&amp;lt;/small&amp;gt;&lt;br /&gt;
File:Usbee_ax_clone_front.png|link=MCU123 USBee AX Pro clone|[[File:Nuvola OK.png|16px]] &amp;lt;small&amp;gt;[[MCU123 USBee AX Pro clone]] (8ch, 24MHz)&amp;lt;/small&amp;gt;&lt;br /&gt;
File:Mcupro_Logic16_overview.png|link=mcupro Logic16 clone|[[File:Nuvola OK.png|16px]] &amp;lt;small&amp;gt;[[mcupro Logic16 clone]] (16ch, 100MHz)&amp;lt;/small&amp;gt;&lt;br /&gt;
File:Openbench logic sniffer front.png|link=Openbench Logic Sniffer|[[File:Nuvola OK.png|16px]] &amp;lt;small&amp;gt;[[Openbench Logic Sniffer]] (32ch, 100MHz)&amp;lt;/small&amp;gt;&lt;br /&gt;
File:Prist akip 9101 mugshot.png|link=Prist AKIP-9101|[[File:Nuvola OK.png|16px]] &amp;lt;small&amp;gt;[[Prist AKIP-9101]] (16ch, 200MHz)&amp;lt;/small&amp;gt;&lt;br /&gt;
File:Robomotic buglogic3.png|link=Robomotic BugLogic 3|[[File:Nuvola OK.png|16px]] &amp;lt;small&amp;gt;[[Robomotic BugLogic 3]] (8ch, 24MHz)&amp;lt;/small&amp;gt;&lt;br /&gt;
File:Robomotic_minilogic.png|link=Robomotic MiniLogic|[[File:Nuvola OK.png|16px]] &amp;lt;small&amp;gt;[[Robomotic MiniLogic]] (8ch, 24MHz)&amp;lt;/small&amp;gt;&lt;br /&gt;
File:Saleae Logic.png|link=Saleae Logic|[[File:Nuvola OK.png|16px]] &amp;lt;small&amp;gt;[[Saleae Logic]] (8ch, 24MHz)&amp;lt;/small&amp;gt;&lt;br /&gt;
File:Saleae_Logic16_bottom.png|link=Saleae Logic16|[[File:Nuvola OK.png|16px]] &amp;lt;small&amp;gt;[[Saleae Logic16]] (16ch, 100/50/32/16MHz @ 3/6/9/16ch)&amp;lt;/small&amp;gt;&lt;br /&gt;
File:Saanlima Pipistrello-OLS.png|link=Saanlima Pipistrello OLS|[[File:Nuvola OK.png|16px]] &amp;lt;small&amp;gt;[[Saanlima Pipistrello OLS]] (32ch, 100MHz)&amp;lt;/small&amp;gt;&lt;br /&gt;
File:Sysclk lwla1016.png|link=Sysclk LWLA1016|[[File:Nuvola OK.png|16px]] &amp;lt;small&amp;gt;[[Sysclk LWLA1016]] (16ch, 100MHz)&amp;lt;/small&amp;gt;&lt;br /&gt;
File:Sysclk lwla1034 mugshot.png|link=Sysclk LWLA1034|[[File:Nuvola OK.png|16px]] &amp;lt;small&amp;gt;[[Sysclk LWLA1034]] (34ch, 125MHz)&amp;lt;/small&amp;gt;&lt;br /&gt;
File:Wayengineer saleae16.png|link=WayEngineer Saleae16|[[File:Nuvola OK.png|16px]] &amp;lt;small&amp;gt;[[WayEngineer Saleae16]] (16ch, 100/50/32/16MHz @ 3/6/9/16ch)&amp;lt;/small&amp;gt;&lt;br /&gt;
File:Zeroplus Logic Cube.png|link=ZEROPLUS Logic Cube LAP-C(16032)|[[File:Nuvola OK.png|16px]] &amp;lt;small&amp;gt;[[ZEROPLUS Logic Cube LAP-C(16032)]] (16ch, 100MHz)&amp;lt;/small&amp;gt;&lt;br /&gt;
File:Zeroplus Logic Cube.png|link=ZEROPLUS Logic Cube LAP-C(322000)|[[File:Nuvola OK.png|16px]] &amp;lt;small&amp;gt;[[ZEROPLUS Logic Cube LAP-C(322000)]] (32ch, 200MHz)&amp;lt;/small&amp;gt;&lt;br /&gt;
File:Zeroplus_lap-16128u.png|link=ZEROPLUS LAP-16128U|[[File:Nuvola OK.png|16px]] &amp;lt;small&amp;gt;[[ZEROPLUS LAP-16128U]] (16ch, 200MHz)&amp;lt;/small&amp;gt;&lt;br /&gt;
&amp;lt;/gallery&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Work in progress / planned:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;gallery&amp;gt;&lt;br /&gt;
File:ASIX Omega.png|link=ASIX OMEGA|[[File:Nuvola Orange.png|16px]] &amp;lt;small&amp;gt;[[ASIX OMEGA]] (16ch, 400MHz)&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
File:Acute_pkla1216.png|link=Acute PKLA-1216|[[File:Nuvola Red.png|16px]] &amp;lt;small&amp;gt;[[Acute PKLA-1216]] (16ch, 200MHz)&amp;lt;/small&amp;gt;&lt;br /&gt;
File:Hantek 4032l mugshot.png|link=Hantek 4032L|[[File:Nuvola Red.png|16px]] &amp;lt;small&amp;gt;[[Hantek 4032L]] (32ch, 400MHz)&amp;lt;/small&amp;gt;&lt;br /&gt;
File:Hsa-logic.png|link=HSA Logic|[[File:Nuvola Red.png|16px]] &amp;lt;small&amp;gt;[[HSA Logic]] (8ch, 6.25MHz)&amp;lt;/small&amp;gt;&lt;br /&gt;
File:Ideofy_la_08.png|link=Ideofy LA-08|[[File:Nuvola Red.png|16px]] &amp;lt;small&amp;gt;[[Ideofy LA-08]] (8ch, 96/60/30MHz @ 2/4/8ch)&amp;lt;/small&amp;gt;&lt;br /&gt;
File:Intronix Logicport.png|link=Intronix Logicport LA1034|[[File:Nuvola Red.png|16px]] &amp;lt;small&amp;gt;[[Intronix Logicport LA1034]] (34ch, 500MHz)&amp;lt;/small&amp;gt;&lt;br /&gt;
File:Kingst la2016 mugshot.png|link=Kingst LA2016|[[File:Nuvola Red.png|16px]] &amp;lt;small&amp;gt;[[Kingst LA2016]] (16ch, 200MHz)&amp;lt;/small&amp;gt;&lt;br /&gt;
File:Sigrok_logo_no_text_transparent_512.png|link=Link Instruments LA-5580|[[File:Nuvola Red.png|16px]] &amp;lt;small&amp;gt;[[Link Instruments LA-5580]] (80ch, 500MHz)&amp;lt;/small&amp;gt;&lt;br /&gt;
File:Microchip_pickit2.png|link=Microchip PICkit2|[[File:Nuvola Red.png|16px]] &amp;lt;small&amp;gt;[[Microchip PICkit2]] (3ch, 1MHz)&amp;lt;/small&amp;gt;&lt;br /&gt;
File:Minila parport.png|link=MiniLA|[[File:Nuvola Red.png|16px]] &amp;lt;small&amp;gt;[[MiniLA]] (32ch, 100MHz)&amp;lt;/small&amp;gt;&lt;br /&gt;
File:Minila_mockup.png|link=MiniLA Mockup|[[File:Nuvola Red.png|16px]] &amp;lt;small&amp;gt;[[MiniLA Mockup]] (32ch, 100MHz)&amp;lt;/small&amp;gt;&lt;br /&gt;
File:Noname_la16_mugshot.png|link=Noname LA16|[[File:Nuvola Red.png|16px]] &amp;lt;small&amp;gt;[[Noname LA16]] (16ch, 100MHz)&amp;lt;/small&amp;gt;&lt;br /&gt;
File:Noname xl logic16 100m mugshot.png|link=Noname XL-LOGIC16-100M|[[File:Nuvola Red.png|16px]] &amp;lt;small&amp;gt;[[Noname XL-LOGIC16-100M]] (16ch, 100/50/32/16MHz @ 3/6/9/16ch)&amp;lt;/small&amp;gt;&lt;br /&gt;
File:Rockylogic_ant8.png|link=RockyLogic Ant8|[[File:Nuvola Red.png|16px]] &amp;lt;small&amp;gt;[[RockyLogic Ant8]] (8ch, 500MHz)&amp;lt;/small&amp;gt;&lt;br /&gt;
File:RockyLogic Ant18e.png|link=RockyLogic Ant18e|[[File:Nuvola Red.png|16px]] &amp;lt;small&amp;gt;[[RockyLogic Ant18e]] (8ch, 1GHz)&amp;lt;/small&amp;gt;&lt;br /&gt;
File:Sysclk lwla2034 mugshot.png|link=Sysclk LWLA2034|[[File:Nuvola Red.png|16px]] &amp;lt;small&amp;gt;[[Sysclk LWLA2034]] (34ch, 200MHz)&amp;lt;/small&amp;gt;&lt;br /&gt;
File:Sysclk sla5032 mugshot.png|link=Sysclk SLA5032|[[File:Nuvola Red.png|16px]] &amp;lt;small&amp;gt;[[Sysclk SLA5032]] (32ch, 500MHz)&amp;lt;/small&amp;gt;&lt;br /&gt;
File:Techtools_digiview_dv1-100.png|link=TechTools DigiView DV1-100|[[File:Nuvola Red.png|16px]] &amp;lt;small&amp;gt;[[TechTools DigiView DV1-100]] (18ch, 100MHz)&amp;lt;/small&amp;gt;&lt;br /&gt;
File:Xmos xtag2.png|link=XMOS XTAG-2|[[File:Nuvola Red.png|16px]] &amp;lt;small&amp;gt;[[XMOS XTAG-2]] (?ch, 50MHz)&amp;lt;/small&amp;gt;&lt;br /&gt;
File:Zlg_la1032.png|link=ZLG LA1032|[[File:Nuvola Red.png|16px]] &amp;lt;small&amp;gt;[[ZLG LA1032]] (32ch, 100MHz)&amp;lt;/small&amp;gt;&lt;br /&gt;
&amp;lt;/gallery&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Mixed-signal devices ==&lt;br /&gt;
&lt;br /&gt;
&amp;lt;gallery widths=105px heights=105px&amp;gt;&lt;br /&gt;
File:Armfly_ax_pro.png|link=ARMFLY AX-Pro|[[File:Nuvola OK.png|16px]] &amp;lt;small&amp;gt;[[ARMFLY AX-Pro]]&amp;lt;sup&amp;gt;1&amp;lt;/sup&amp;gt; (8ch, 24MHz; 2ch analog, 24MSa/s, 40MHz BW)&amp;lt;/small&amp;gt;&lt;br /&gt;
File:Sysclk ax pro mugshot.png|link=Sysclk AX-Pro|[[File:Nuvola OK.png|16px]] &amp;lt;small&amp;gt;[[Sysclk AX-Pro]]&amp;lt;sup&amp;gt;1&amp;lt;/sup&amp;gt; (8ch, 24MHz; 2ch analog, 24MSa/s, 3MHz BW)&amp;lt;/small&amp;gt;&lt;br /&gt;
File:Esla201a.png|link=EE Electronics ESLA201A|[[File:Nuvola OK.png|16px]] &amp;lt;small&amp;gt;[[EE Electronics ESLA201A]]&amp;lt;sup&amp;gt;1&amp;lt;/sup&amp;gt; (8ch, 24MHz; 2ch analog, 24MSa/s, 40MHz BW)&amp;lt;/small&amp;gt;&lt;br /&gt;
File:Ht-usbee-axpro.png|link=HT USBee-AxPro|[[File:Nuvola OK.png|16px]] &amp;lt;small&amp;gt;[[HT USBee-AxPro]] (8ch, 24MHz; 1ch analog)&amp;lt;/small&amp;gt;&lt;br /&gt;
File:LeCroy_WaveSurfer_24Xs-A_front.png|link=LeCroy oscilloscope series|[[File:Nuvola OK.png|16px]] &amp;lt;small&amp;gt;[[LeCroy oscilloscope series]] (various)&amp;lt;/small&amp;gt;&lt;br /&gt;
File:Rigol DS1052E.png|link=Rigol DS1000 series|[[File:Nuvola OK.png|16px]] &amp;lt;small&amp;gt;[[Rigol DS1000 series|Rigol DS1000D series]] (16ch, 2ch analog, 50-150MHz BW)&amp;lt;/small&amp;gt;&lt;br /&gt;
File:Rigol_VS5202D.png|link=Rigol VS5000 series|[[File:Nuvola OK.png|16px]] &amp;lt;small&amp;gt;[[Rigol VS5000 series|Rigol VS5000D series]] (16ch, 2ch analog, 20-200MHz BW&amp;lt;/small&amp;gt;&lt;br /&gt;
File:Yokogawa DLM2000 front.png|link=Yokogawa DLM2000 series|[[File:Nuvola OK.png|16px]] &amp;lt;small&amp;gt;[[Yokogawa DLM2000 series]] (8ch, 2/4ch analog, 2.5GSa/s, 200/350/500MHz BW)&amp;lt;/small&amp;gt;&lt;br /&gt;
File:Xzl studio ax mugshot.png|link=XZL_Studio AX|[[File:Nuvola OK.png|16px]] &amp;lt;small&amp;gt;[[XZL_Studio AX]]&amp;lt;sup&amp;gt;1&amp;lt;/sup&amp;gt; (8ch, 24MHz; 2ch analog, 24MSa/s, 40MHz BW)&amp;lt;/small&amp;gt;&lt;br /&gt;
&amp;lt;/gallery&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Work in progress / planned:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;gallery&amp;gt;&lt;br /&gt;
File:BitScope BS10.png|link=BitScope BS10|[[File:Nuvola Orange.png|16px]] &amp;lt;small&amp;gt;[[BitScope BS10]] (8ch, 40MHz; 2ch analog, 20MSa/s, ? BW)&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
File:Agilent_MSO7104A.png|link=Agilent MSO7104A|[[File:Nuvola Red.png|16px]] &amp;lt;small&amp;gt;[[Agilent MSO7104A]] (16ch, ?; 4ch analog, 2GSa/s, 1GHz BW)&amp;lt;/small&amp;gt;&lt;br /&gt;
File:Digilent_analog_discovery.png|link=Digilent Analog Discovery|[[File:Nuvola Red.png|16px]] &amp;lt;small&amp;gt;[[Digilent Analog Discovery]] (16ch, 100MHz; 2ch analog, 100MSa/s, 5MHz BW)&amp;lt;/small&amp;gt;&lt;br /&gt;
File:Hantek_1008C.png|link=Hantek 1008C|[[File:Nuvola Red.png|16px]] &amp;lt;small&amp;gt;[[Hantek 1008C]] (8ch)&amp;lt;/small&amp;gt;&lt;br /&gt;
File:Ht usbee dxpro mugshot.png|link=HT USBee-DxPro|[[File:Nuvola Red.png|16px]] &amp;lt;small&amp;gt;[[HT USBee-DxPro]] (16ch, 24MHz; 2ch analog)&amp;lt;/small&amp;gt;&lt;br /&gt;
File:Lab nation smartscope mugshot.png|link=LabNation SmartScope|[[File:Nuvola Red.png|16px]] &amp;lt;small&amp;gt;[[LabNation SmartScope]] (8ch, 100MHz; 2ch analog, 100MSa/s, 45MHz BW)&amp;lt;/small&amp;gt;&lt;br /&gt;
File:Link Instruments MSO-19 front.png|link=Link Instruments MSO-19|[[File:Nuvola Red.png|16px]] &amp;lt;small&amp;gt;[[Link Instruments MSO-19]] (8ch, 200MHz; 1ch analog, 200MSa/s, 60MHz BW)&amp;lt;/small&amp;gt;&lt;br /&gt;
File:Meilhaus_mephisto_scope1.png|link=Meilhaus MEphisto Scope1|[[File:Nuvola Red.png|16px]] &amp;lt;small&amp;gt;[[Meilhaus MEphisto Scope1]] (16ch, 100kHz; 2ch analog, 1MSa/s, 500kHz BW)&amp;lt;/small&amp;gt;&lt;br /&gt;
File:Polabs_poscope_basic2.png|link=PoLabs PoScope Basic2|[[File:Nuvola Red.png|16px]] &amp;lt;small&amp;gt;[[PoLabs PoScope Basic2]] (16ch, 8MHz; 2ch analog, 200kSa/s, ? BW)&amp;lt;/small&amp;gt;&lt;br /&gt;
File:QuantAsylum QA100.png|link=QuantAsylum QA100|[[File:Nuvola Red.png|16px]] &amp;lt;small&amp;gt;[[QuantAsylum QA100]] (12ch; 2ch analog)&amp;lt;/small&amp;gt;&lt;br /&gt;
File:Saleae_Logic8_case_bottom.jpg|link=Saleae Logic8|[[File:Nuvola Red.png|16px]] &amp;lt;small&amp;gt;[[Saleae Logic8]] (3/6/7/8ch, 100/50/40/25MHz; 8ch analog, 10MSa/s, 1MHz BW)&amp;lt;/small&amp;gt;&lt;br /&gt;
File:Saleae Logic Pro 16 bottom.jpg|link=Saleae Logic Pro 16|[[File:Nuvola Red.png|16px]] &amp;lt;small&amp;gt;[[Saleae Logic Pro 16]] (4/16ch, 500/100MHz; 16ch analog, 50MSa/s, 5MHz BW)&amp;lt;/small&amp;gt;&lt;br /&gt;
File:SiglentSDS1000Xplus.png|link=Siglent SDS1000X series|[[File:Nuvola Red.png|16px]] &amp;lt;small&amp;gt;[[Siglent SDS1000X series]] (16ch, 2ch analog, 1GSa/s, 200/100MHz BW)&amp;lt;/small&amp;gt;&lt;br /&gt;
File:SiglentSDS2X.png|link=Siglent SDS2000X series|[[File:Nuvola Red.png|16px]] &amp;lt;small&amp;gt;[[Siglent SDS2000X series]] (16ch, 2/4ch analog, 2GSa/s, 300/200/150/100/70MHz BW)&amp;lt;/small&amp;gt;&lt;br /&gt;
File:Sigrok_logo_no_text_transparent_512.png|link=XZL_Studio DX|[[File:Nuvola Red.png|16px]] &amp;lt;small&amp;gt;[[XZL_Studio DX]] (16ch, 24MHz; 2ch analog)&amp;lt;/small&amp;gt;&lt;br /&gt;
File:Picoscope 3205D MSO fp.jpg|link=Pico Technology PicoScope 3205D MSO|[[File:Nuvola Red.png|16px]] &amp;lt;small&amp;gt;[[Pico Technology PicoScope 3205D MSO]] (16ch, 100MHz; 2ch analog, 1/0.5GS/s, 100MHz BW)&amp;lt;/small&amp;gt;&lt;br /&gt;
&amp;lt;/gallery&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&lt;br /&gt;
&amp;lt;sup&amp;gt;1&amp;lt;/sup&amp;gt; Only the logic analyzer functionality is supported so far, analog support is work in progress.&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Oscilloscopes ==&lt;br /&gt;
&lt;br /&gt;
&amp;lt;gallery widths=100px heights=100px&amp;gt;&lt;br /&gt;
File:Agilent DSO1014A.png|link=Agilent DSO1000 series|[[File:Nuvola OK.png|16px]] &amp;lt;small&amp;gt;[[Agilent DSO1000 series]] (2-4ch, 2GS/s, 60-200MHz BW)&amp;lt;/small&amp;gt;&lt;br /&gt;
File:Fluke_Scopemeter_199B.png|link=Fluke ScopeMeter 199B|[[File:Nuvola OK.png|16px]] &amp;lt;small&amp;gt;[[Fluke ScopeMeter 199B]] (2ch, 2.5GS/s, 200MHz BW)&amp;lt;/small&amp;gt;&lt;br /&gt;
File:Voltcraft dso-6060c mugshot.png|link=GW Instek GDS-800 series|[[File:Nuvola OK.png|16px]] &amp;lt;small&amp;gt;[[GW Instek GDS-800 series]] (2ch, 25GS/s, 60-250MHz BW)&amp;lt;/small&amp;gt;&lt;br /&gt;
File:Hameg HMO2024.png|link=Hameg HMO compact series|[[File:Nuvola OK.png|16px]] &amp;lt;small&amp;gt;[[Hameg HMO compact series]] (2-4ch, 2GS/s, 70-200MHz BW)&amp;lt;/small&amp;gt;&lt;br /&gt;
File:Hantek 6022be mugshot.png|link=Hantek 6022BE|[[File:Nuvola OK.png|16px]] &amp;lt;small&amp;gt;[[Hantek 6022BE]] (2ch, 48MS/s, 20MHz BW)&amp;lt;/small&amp;gt;&lt;br /&gt;
File:Hantek DSO-2090.png|link=Hantek DSO-2090|[[File:Nuvola OK.png|16px]] &amp;lt;small&amp;gt;[[Hantek DSO-2090]] (2ch, 100MS/s, 40MHz)&amp;lt;/small&amp;gt;&lt;br /&gt;
File:Hung chang dso 2100 mugshot.png|link=Hung-Chang_DSO-2100|[[File:Nuvola OK.png|16px]] &amp;lt;small&amp;gt;[[Hung-Chang DSO-2100]] (2ch, 100MS/s, 30MHz BW)&amp;lt;/small&amp;gt;&lt;br /&gt;
File:Rigol DS1052E.png|link=Rigol DS1000 series|[[File:Nuvola OK.png|16px]] &amp;lt;small&amp;gt;[[Rigol DS1000 series|Rigol DS1000E series]] (2ch, 1GS/s, 50-150MHz BW)&amp;lt;/small&amp;gt;&lt;br /&gt;
File:Rigol DS1074Z front.png|link=Rigol DS1000Z series|[[File:Nuvola OK.png|16px]] &amp;lt;small&amp;gt;[[Rigol DS1000Z series|Rigol DS1000Z series]] (4ch, 1GS/s, 50-100MHz BW)&amp;lt;/small&amp;gt;&lt;br /&gt;
File:Rigol-ds2072 mugshot.png|link=Rigol DS2000 series|[[File:Nuvola OK.png|16px]] &amp;lt;small&amp;gt;[[Rigol DS2000 series]] (2ch, 2GS/s, 70-200MHz BW)&amp;lt;/small&amp;gt;&lt;br /&gt;
File:Rigol_VS5202D.png|link=Rigol VS5000 series|[[File:Nuvola OK.png|16px]] &amp;lt;small&amp;gt;[[Rigol VS5000 series]] (2ch, 20-200MHz BW)&amp;lt;/small&amp;gt;&lt;br /&gt;
File:Rocktech bm102 mugshot.png|link=Rocktech BM102|[[File:Nuvola OK.png|16px]] &amp;lt;small&amp;gt;[[Rocktech BM102]] (2ch, 50MS/s, 20MHz BW)&amp;lt;/small&amp;gt;&lt;br /&gt;
File:RS HMO1002.png|link=Rohde&amp;amp;Schwarz HMO 1002 series|[[File:Nuvola OK.png|16px]] &amp;lt;small&amp;gt;[[Rohde&amp;amp;Schwarz HMO 1002 series]] (2ch, 1GS/s, 50-100MHz BW)&amp;lt;/small&amp;gt;&lt;br /&gt;
File:Dds120 mugshot.png|link=SainSmart DDS120|[[File:Nuvola OK.png|16px]] &amp;lt;small&amp;gt;[[SainSmart DDS120]] (2ch, 50MS/s, 20MHz BW)&amp;lt;/small&amp;gt;&lt;br /&gt;
&amp;lt;/gallery&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Work in progress / planned:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;gallery&amp;gt;&lt;br /&gt;
File:Fluke scopemeter123.png|link=Fluke ScopeMeter 123|[[File:Nuvola Red.png|16px]] &amp;lt;small&amp;gt;[[Fluke ScopeMeter 123]] (2ch, 25MS/s, 20MHz BW)&amp;lt;/small&amp;gt;&lt;br /&gt;
File:Focussz_fosc21_mugshot.png|link=Focussz Fosc21|[[File:Nuvola Red.png|16px]] &amp;lt;small&amp;gt;[[Focussz Fosc21]] (2ch, 8kS/s, 3kHz BW)&amp;lt;/small&amp;gt;&lt;br /&gt;
File:Hantek front.jpg|link=Hantek 6052BE|[[File:Nuvola Red.png|16px]] &amp;lt;small&amp;gt;[[Hantek 6052BE]] (2ch, 150MS/s, 50MHz BW)&amp;lt;/small&amp;gt;&lt;br /&gt;
File:Sigrok_logo_no_text_transparent_512.png|link=Hantek DSO-1200|[[File:Nuvola Red.png|16px]] &amp;lt;small&amp;gt;[[Hantek DSO-1200]] (2ch, 500MS/s, 200MHz BW)&amp;lt;/small&amp;gt;&lt;br /&gt;
File:Hantek dso2250 mugshot.png|link=Hantek DSO-2250|[[File:Nuvola Red.png|16px]] &amp;lt;small&amp;gt;[[Hantek DSO-2250]] (2ch, 250MS/s, 100MHz BW)&amp;lt;/small&amp;gt;&lt;br /&gt;
File:Hantek dso-5200a device front.png|link=Hantek DSO-5200A|[[File:Nuvola Red.png|16px]] &amp;lt;small&amp;gt;[[Hantek DSO-5200A]] (2ch, 250MS/s, 200MHz BW)&amp;lt;/small&amp;gt;&lt;br /&gt;
File:Usbduxfast.png|link=Incite Technology USB-DUXfast|[[File:Nuvola Red.png|16px]] &amp;lt;small&amp;gt;[[Incite Technology USB-DUXfast]] (16ch, 3MHz, ? BW)&amp;lt;/small&amp;gt;&lt;br /&gt;
File:OsciPrime.png|link=Nexus-Computing OsciPrime|[[File:Nuvola Red.png|16px]] &amp;lt;small&amp;gt;[[Nexus-Computing OsciPrime]] (2ch, ?MS/s, 3.3MHz-8MHz BW)&amp;lt;/small&amp;gt;&lt;br /&gt;
File:Sigrok_logo_no_text_transparent_512.png|link=Owon SDS series|[[File:Nuvola Red.png|16px]] &amp;lt;small&amp;gt;[[Owon SDS series]] (2ch, 0.5-3.2GS/s, 60-300MHz BW)&amp;lt;/small&amp;gt;&lt;br /&gt;
File:Picoscope 2203.png|link=Pico Technology PicoScope 2203|[[File:Nuvola Red.png|16px]] &amp;lt;small&amp;gt;[[Pico Technology PicoScope 2203]] (40/20MS/s, 5MHz BW)&amp;lt;/small&amp;gt;&lt;br /&gt;
File:PicoScope_2205.png|link=Pico Technology PicoScope 2205|[[File:Nuvola Red.png|16px]] &amp;lt;small&amp;gt;[[Pico Technology PicoScope 2205]] (200/100MS/s, 25MHz BW)&amp;lt;/small&amp;gt;&lt;br /&gt;
File:Picoscope 3206.png|link=Pico Technology PicoScope 3206|[[File:Nuvola Red.png|16px]] &amp;lt;small&amp;gt;[[Pico Technology PicoScope 3206]] (200/100MS/s, 200MHz BW)&amp;lt;/small&amp;gt;&lt;br /&gt;
File:Picoscope 5203.png|link=Pico Technology PicoScope 5203|[[File:Nuvola Red.png|16px]] &amp;lt;small&amp;gt;[[Pico Technology PicoScope 5203]] (1/0.5GS/s, 250MHz BW)&amp;lt;/small&amp;gt;&lt;br /&gt;
File:Sainsmart dds140 mugshot.png|link=SainSmart DDS140|[[File:Nuvola Red.png|16px]] &amp;lt;small&amp;gt;[[SainSmart DDS140]] (2ch, 200MS/s, 40MHz BW)&amp;lt;/small&amp;gt;&lt;br /&gt;
File:Tektronix tds2024b mugshot.png|link=Tektronix TDS2000B series|[[File:Nuvola Red.png|16px]] &amp;lt;small&amp;gt;[[Tektronix TDS2000B series]] (2-4ch, 1-2GS/s, 60-200MHz BW)&amp;lt;/small&amp;gt;&lt;br /&gt;
File:UNI-T UTD2042C.png|link=UNI-T UTD2042C|[[File:Nuvola Red.png|16px]] &amp;lt;small&amp;gt;[[UNI-T UTD2042C]] (2ch, 500MS/s, 40MHz BW)&amp;lt;/small&amp;gt;&lt;br /&gt;
File:Velleman PCSU1000.png|link=Velleman PCSU1000|[[File:Nuvola Red.png|16px]] &amp;lt;small&amp;gt;[[Velleman PCSU1000]] (2ch, 1GS/s, 50MHz BW)&amp;lt;/small&amp;gt;&lt;br /&gt;
File:VellemanWFS210.png|link=Velleman WFS210|[[File:Nuvola Red.png|16px]] &amp;lt;small&amp;gt;[[Velleman WFS210]] (2ch, 10MS/s, ?? MHz BW)&amp;lt;/small&amp;gt;&lt;br /&gt;
File:Voltcraft dso-220 usb.png|link=Voltcraft DSO-220|[[File:Nuvola Red.png|16px]] &amp;lt;small&amp;gt;[[Voltcraft DSO-220]] (2ch, 60MS/s, 20MHz BW)&amp;lt;/small&amp;gt;&lt;br /&gt;
File:Voltcraft DSO-3062C.png|link=Voltcraft DSO-3062C|[[File:Nuvola Red.png|16px]] &amp;lt;small&amp;gt;[[Voltcraft DSO-3062C]] (2ch, 1GS/s, 60MHz BW)&amp;lt;/small&amp;gt;&lt;br /&gt;
&amp;lt;/gallery&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Multimeters ==&lt;br /&gt;
&lt;br /&gt;
&amp;lt;gallery widths=&amp;quot;100px&amp;quot; heights=&amp;quot;100px&amp;quot;&amp;gt;&lt;br /&gt;
File:Agilent U1232A.png|link=Agilent U12xxx series|[[File:Nuvola OK.png|16px]] &amp;lt;small&amp;gt;[[Agilent U12xxx series]] (USB/Bluetooth)&amp;lt;/small&amp;gt;&lt;br /&gt;
File:Bbc gm m2110 mugshot.png|link=BBC Goertz Metrawatt M2110|[[File:Nuvola OK.png|16px]] &amp;lt;small&amp;gt;[[BBC Goertz Metrawatt M2110]] (30000 counts, RS232)&amp;lt;/small&amp;gt;&lt;br /&gt;
File:Brymen BM257.png|link=Brymen BM257|[[File:Nuvola OK.png|16px]] &amp;lt;small&amp;gt;[[Brymen BM257]] (6000 counts, RS232/USB)&amp;lt;/small&amp;gt;&lt;br /&gt;
File:Brymen bm257s mugshot.png|link=Brymen BM257s|[[File:Nuvola OK.png|16px]] &amp;lt;small&amp;gt;[[Brymen BM257s]] (6000 counts, RS232/USB)&amp;lt;/small&amp;gt;&lt;br /&gt;
File:Bm_857_mugshot_500000.png|link=Brymen BM857|[[File:Nuvola OK.png|16px]] &amp;lt;small&amp;gt;[[Brymen BM857]] (50000 counts, RS232)&amp;lt;/small&amp;gt;&lt;br /&gt;
File:Bm869_mugshot.png|link=Brymen BM869|[[File:Nuvola OK.png|16px]] &amp;lt;small&amp;gt;[[Brymen BM869]] (50000 counts, USB)&amp;lt;/small&amp;gt;&lt;br /&gt;
File:Digitek_dt4000zc_device_front.png|link=Digitek DT4000ZC|[[File:Nuvola OK.png|16px]] &amp;lt;small&amp;gt;[[Digitek DT4000ZC]] (4000 counts, RS232)&amp;lt;/small&amp;gt;&lt;br /&gt;
File:Fluke 187.png|link=Fluke 187/189|[[File:Nuvola OK.png|16px]] &amp;lt;small&amp;gt;[[Fluke 187/189]] (50000 counts, RS232)&amp;lt;/small&amp;gt;&lt;br /&gt;
File:Fluke 287.png|link=Fluke 287/289|[[File:Nuvola OK.png|16px]] &amp;lt;small&amp;gt;[[Fluke 287/289]] (50000 counts, RS232)&amp;lt;/small&amp;gt;&lt;br /&gt;
File:Gmc metrahit 14a logo.png|link=Gossen Metrawatt Metrahit 14A|[[File:Nuvola OK.png|16px]] &amp;lt;small&amp;gt;[[Gossen Metrawatt Metrahit 14A]] (3100 counts, RS232)&amp;lt;/small&amp;gt;&lt;br /&gt;
File:Gossen Metrawatt Metrahit 16I small.png|link=Gossen Metrawatt Metrahit 16I|[[File:Nuvola OK.png|16px]] &amp;lt;small&amp;gt;[[Gossen Metrawatt Metrahit 16I]] (3100 counts, RS232)&amp;lt;/small&amp;gt;&lt;br /&gt;
File:Gossen Metrawatt Metrahit 18S small.png|link=Gossen Metrawatt Metrahit 18S|[[File:Nuvola OK.png|16px]] &amp;lt;small&amp;gt;[[Gossen Metrawatt Metrahit 18S]] (31000 counts, RS232)&amp;lt;/small&amp;gt;&lt;br /&gt;
File:Gossen Metrawatt Metrahit 25S Logo.png|link=Gossen Metrawatt Metrahit 25S|[[File:Nuvola OK.png|16px]] &amp;lt;small&amp;gt;[[Gossen Metrawatt Metrahit 25S]] (31000 counts, RS232/USB)&amp;lt;/small&amp;gt;&lt;br /&gt;
File:Gmc metrahit 29s logo.png|link=Gossen Metrawatt Metrahit 29S|[[File:Nuvola OK.png|16px]] &amp;lt;small&amp;gt;[[Gossen Metrawatt Metrahit 29S]] (310000 counts, RS232/USB)&amp;lt;/small&amp;gt;&lt;br /&gt;
File:Gmc kmm2002 logo.png|link=Gossen Metrawatt T-Com KMM2002|[[File:Nuvola OK.png|16px]] &amp;lt;small&amp;gt;[[Gossen Metrawatt T-Com KMM2002]] (3100 counts, RS232)&amp;lt;/small&amp;gt;&lt;br /&gt;
File:HP_3457a_sigrok_teaser.png|link=HP 3457A|[[File:Nuvola OK.png|16px]] &amp;lt;small&amp;gt;[[HP 3457A]] (7.5 digits, GPIB)&amp;lt;/small&amp;gt;&lt;br /&gt;
File:HT410 logo.png|link=HT Instruments HT410|[[File:Nuvola OK.png|16px]] &amp;lt;small&amp;gt;[[HT Instruments HT410]] (3100 counts, RS232)&amp;lt;/small&amp;gt;&lt;br /&gt;
File:100px_Idm103n.png|link=ISO-TECH IDM103N|[[File:Nuvola OK.png|16px]] &amp;lt;small&amp;gt;[[ISO-TECH IDM103N]] (4000 counts, RS232)&amp;lt;/small&amp;gt;&lt;br /&gt;
File:Mastech mas345 device front.png|link=MASTECH MAS345|[[File:Nuvola OK.png|16px]] &amp;lt;small&amp;gt;[[MASTECH MAS345]] (4000 counts, RS232)&amp;lt;/small&amp;gt;&lt;br /&gt;
File:Mastech ms8250b mugshot.png|link=MASTECH MS8250B|[[File:Nuvola OK.png|16px]] &amp;lt;small&amp;gt;[[MASTECH MS8250B]] (4000 counts, USB)&amp;lt;/small&amp;gt;&lt;br /&gt;
File:Metex m4650cr mugshot.png|link=Metex M-4650CR|[[File:Nuvola OK.png|16px]] &amp;lt;small&amp;gt;[[Metex M-4650CR]] (20000 counts, RS232)&amp;lt;/small&amp;gt;&lt;br /&gt;
File:Metex_me-31.png|link=Metex ME-31|[[File:Nuvola OK.png|16px]] &amp;lt;small&amp;gt;[[Metex ME-31]] (4000 counts, RS232)&amp;lt;/small&amp;gt;&lt;br /&gt;
File:Metrix mx56c.png|link=Metrix MX56C|[[File:Nuvola OK.png|16px]] &amp;lt;small&amp;gt;[[Metrix MX56C]] (50000 counts, RS232)&amp;lt;/small&amp;gt;&lt;br /&gt;
File:Norma dm950.png|link=Norma DM950|[[File:Nuvola OK.png|16px]] &amp;lt;small&amp;gt;[[Norma DM950]] (21000 counts, RS232)&amp;lt;/small&amp;gt;&lt;br /&gt;
File:Pce-pce-dm32.png|link=PCE PCE-DM32|[[File:Nuvola OK.png|16px]] &amp;lt;small&amp;gt;[[PCE PCE-DM32]] (4000 counts, RS232)&amp;lt;/small&amp;gt;&lt;br /&gt;
File:Peaktech 3330 mugshot.png|link=PeakTech 3330|[[File:Nuvola OK.png|16px]] &amp;lt;small&amp;gt;[[PeakTech 3330]] (4000 counts, RS232/USB)&amp;lt;/small&amp;gt;&lt;br /&gt;
File:Metex_me-31.png|link=PeakTech 3410|[[File:Nuvola OK.png|16px]] &amp;lt;small&amp;gt;[[PeakTech 3410]] (4000 counts, RS232)&amp;lt;/small&amp;gt;&lt;br /&gt;
File:Peaktech 4370 device front.png|link=PeakTech 4370|[[File:Nuvola OK.png|16px]] &amp;lt;small&amp;gt;[[PeakTech 4370]] (2000 counts, RS232)&amp;lt;/small&amp;gt;&lt;br /&gt;
File:Rs_22_168_mugshot.png|link=RadioShack 22-168|[[File:Nuvola OK.png|16px]] &amp;lt;small&amp;gt;[[RadioShack 22-168]] (2000 counts, RS232)&amp;lt;/small&amp;gt;&lt;br /&gt;
File:Rs_22-805_front.png|link=RadioShack 22-805|[[File:Nuvola OK.png|16px]] &amp;lt;small&amp;gt;[[RadioShack 22-805]] (4000 counts, RS232)&amp;lt;/small&amp;gt;&lt;br /&gt;
File:radioshack_22_812_front.png|link=RadioShack 22-812|[[File:Nuvola OK.png|16px]] &amp;lt;small&amp;gt;[[RadioShack 22-812]] (4000 counts, RS232)&amp;lt;/small&amp;gt;&lt;br /&gt;
File:siemens_b1026_logo.png|link=Siemens B1026|[[File:Nuvola OK.png|16px]] &amp;lt;small&amp;gt;[[Siemens B1026]] (21000 counts, RS232)&amp;lt;/small&amp;gt;&lt;br /&gt;
File:Siemens B1105 small.png|link=Siemens B1105|[[File:Nuvola OK.png|16px]] &amp;lt;small&amp;gt;[[Siemens B1105]] (310000 counts, RS232/USB)&amp;lt;/small&amp;gt;&lt;br /&gt;
File:Tecpel dmm8061.png|link=Tecpel DMM-8061|[[File:Nuvola OK.png|16px]] &amp;lt;small&amp;gt;[[Tecpel DMM-8061]] (4000 counts, RS232/USB)&amp;lt;/small&amp;gt;&lt;br /&gt;
File:Tp4000zc_front.png|link=TekPower TP4000ZC|[[File:Nuvola OK.png|16px]] &amp;lt;small&amp;gt;[[TekPower TP4000ZC]] (4000 counts, RS232)&amp;lt;/small&amp;gt;&lt;br /&gt;
File:Tenma 72-7745.png|link=Tenma 72-7745|[[File:Nuvola OK.png|16px]] &amp;lt;small&amp;gt;[[Tenma 72-7745]] (4000 counts, RS232/USB)&amp;lt;/small&amp;gt;&lt;br /&gt;
File:Ut60e_-_front_-_alpha.png|link=UNI-T UT60E|[[File:Nuvola OK.png|16px]] &amp;lt;small&amp;gt;[[UNI-T UT60E]] (4000 counts, RS232/USB)&amp;lt;/small&amp;gt;&lt;br /&gt;
File:Uni-t ut61b mugshot.png|link=UNI-T UT61B|[[File:Nuvola OK.png|16px]] &amp;lt;small&amp;gt;[[UNI-T UT61B]] (4000 counts, RS232/USB)&amp;lt;/small&amp;gt;&lt;br /&gt;
File:Uni-t ut61c mugshot.png|link=UNI-T UT61C|[[File:Nuvola OK.png|16px]] &amp;lt;small&amp;gt;[[UNI-T UT61C]] (6000 counts, RS232/USB)&amp;lt;/small&amp;gt;&lt;br /&gt;
File:Uni t ut61d device.png|link=UNI-T UT61D|[[File:Nuvola OK.png|16px]] &amp;lt;small&amp;gt;[[UNI-T UT61D]] (6000 counts, RS232/USB)&amp;lt;/small&amp;gt;&lt;br /&gt;
File:Old ver front.png|link=UNI-T UT61E|[[File:Nuvola OK.png|16px]] &amp;lt;small&amp;gt;[[UNI-T UT61E]] (22000 counts, RS232/USB)&amp;lt;/small&amp;gt;&lt;br /&gt;
File:Ut71c mugshot.png|link=UNI-T UT71C|[[File:Nuvola OK.png|16px]] &amp;lt;small&amp;gt;[[UNI-T UT71C]] (40000 counts, RS232/USB)&amp;lt;/small&amp;gt;&lt;br /&gt;
File:Va_va18b.png|link=V&amp;amp;A VA18B|[[File:Nuvola OK.png|16px]] &amp;lt;small&amp;gt;[[V&amp;amp;A VA18B]] (6000 counts, USB)&amp;lt;/small&amp;gt;&lt;br /&gt;
File:Va va40b mugshot.png|link=V&amp;amp;A VA40B|link=V&amp;amp;A VA40B|[[File:Nuvola OK.png|16px]] &amp;lt;small&amp;gt;[[V&amp;amp;A VA40B]] (6000 counts, USB)&amp;lt;/small&amp;gt;&lt;br /&gt;
File:DVM4100.png|link=Velleman DVM4100|link=Velleman DVM4100|[[File:Nuvola OK.png|16px]] &amp;lt;small&amp;gt;[[Velleman DVM4100]] (6000 counts, USB)&amp;lt;/small&amp;gt;&lt;br /&gt;
File:Victor 70C.png|link=Victor 70C|[[File:Nuvola OK.png|16px]] &amp;lt;small&amp;gt;[[Victor 70C]] (4000 counts, USB)&amp;lt;/small&amp;gt;&lt;br /&gt;
File:Victor 86c device front.png|link=Victor 86C|[[File:Nuvola OK.png|16px]] &amp;lt;small&amp;gt;[[Victor 86C]] (4000 counts, USB)&amp;lt;/small&amp;gt;&lt;br /&gt;
File:Voltcraft m-3650cr.png|link=Voltcraft M-3650CR|[[File:Nuvola OK.png|16px]] &amp;lt;small&amp;gt;[[Voltcraft M-3650CR]] (2000 counts, RS232)&amp;lt;/small&amp;gt;&lt;br /&gt;
File:Voltcraft_M-3650D_transparent.png|link=Voltcraft M-3650D|[[File:Nuvola OK.png|16px]] &amp;lt;small&amp;gt;[[Voltcraft M-3650D]] (2000 counts, RS232)&amp;lt;/small&amp;gt;&lt;br /&gt;
File:Voltcraft m4650cr.png|link=Voltcraft M-4650CR|[[File:Nuvola OK.png|16px]] &amp;lt;small&amp;gt;[[Voltcraft M-4650CR]] (20000 counts, RS232)&amp;lt;/small&amp;gt;&lt;br /&gt;
File:Voltcraft ME-42 logo.png|link=Voltcraft ME-42|[[File:Nuvola OK.png|16px]] &amp;lt;small&amp;gt;[[Voltcraft ME-42]] (4000 counts, RS232)&amp;lt;/small&amp;gt;&lt;br /&gt;
File:Voltcraft vc820 device.png|link=Voltcraft VC-820|[[File:Nuvola OK.png|16px]] &amp;lt;small&amp;gt;[[Voltcraft VC-820]] (4000 counts, RS232/USB)&amp;lt;/small&amp;gt;&lt;br /&gt;
File:Voltcraft vc830.png|link=Voltcraft VC-830|[[File:Nuvola OK.png|16px]] &amp;lt;small&amp;gt;[[Voltcraft VC-830]] (6000 counts, RS232/USB)&amp;lt;/small&amp;gt;&lt;br /&gt;
File:Voltcraft vc840 device front.png|link=Voltcraft VC-840|[[File:Nuvola OK.png|16px]] &amp;lt;small&amp;gt;[[Voltcraft VC-840]] (4000 counts, RS232/USB)&amp;lt;/small&amp;gt;&lt;br /&gt;
File:Voltcraft vc870 mugshot.png|link=Voltcraft VC-870|[[File:Nuvola OK.png|16px]] &amp;lt;small&amp;gt;[[Voltcraft VC-870]] (40000 counts, RS232/USB)&amp;lt;/small&amp;gt;&lt;br /&gt;
File:Voltcraft vc920.png|link=Voltcraft VC-920|[[File:Nuvola OK.png|16px]] &amp;lt;small&amp;gt;[[Voltcraft VC-920]] (40000/4000 counts, RS232/USB)&amp;lt;/small&amp;gt;&lt;br /&gt;
File:Voltcraft vc940.png|link=Voltcraft VC-940|[[File:Nuvola OK.png|16px]] &amp;lt;small&amp;gt;[[Voltcraft VC-940]] (40000/4000 counts, RS232/USB)&amp;lt;/small&amp;gt;&lt;br /&gt;
&amp;lt;/gallery&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Work in progress / planned:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;gallery&amp;gt;&lt;br /&gt;
File:Tenma 72-7730.png|link=Tenma 72-7730|[[File:Nuvola Orange.png|16px]] &amp;lt;small&amp;gt;[[Tenma 72-7730]] (20000 counts, RS232/USB)&amp;lt;/small&amp;gt;&lt;br /&gt;
File:Tenma 72-7732.png|link=Tenma 72-7732|[[File:Nuvola Orange.png|16px]] &amp;lt;small&amp;gt;[[Tenma 72-7732]] (40000 counts, RS232/USB)&amp;lt;/small&amp;gt;&lt;br /&gt;
File:Tenma 72-7750.png|link=Tenma 72-7750|[[File:Nuvola Orange.png|16px]] &amp;lt;small&amp;gt;[[Tenma 72-7750]] (6000 counts, RS232/USB)&amp;lt;/small&amp;gt;&lt;br /&gt;
File:Tenma 72-9380A.png|link=Tenma 72-9380A|[[File:Nuvola Orange.png|16px]] &amp;lt;small&amp;gt;[[Tenma 72-9380A]] (40000 counts, RS232/USB)&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
File:Appa 107.png|link=APPA 107|[[File:Nuvola Red.png|16px]] &amp;lt;small&amp;gt;[[APPA 107]] (4000 / 20000 counts, RS232)&amp;lt;/small&amp;gt;&lt;br /&gt;
File:Digitek dt8000.png|link=Digitek DT8000|[[File:Nuvola Red.png|16px]] &amp;lt;small&amp;gt;[[Digitek DT8000]] (8000 counts, RS232)&amp;lt;/small&amp;gt;&lt;br /&gt;
File:Digitek dt80000.png|link=Digitek DT80000|[[File:Nuvola Red.png|16px]] &amp;lt;small&amp;gt;[[Digitek DT80000]] (80000 counts, RS232)&amp;lt;/small&amp;gt;&lt;br /&gt;
File:Escort 179 device front.png|link=Escort 179|[[File:Nuvola Red.png|16px]] &amp;lt;small&amp;gt;[[Escort 179]] (10000 counts, RS232)&amp;lt;/small&amp;gt;&lt;br /&gt;
File:Sigrok_logo_no_text_transparent_512.png|link=Gossen Metrawatt Metrahit 28C|[[File:Nuvola Red.png|16px]] &amp;lt;small&amp;gt;[[Gossen Metrawatt Metrahit 28C]] (310000 counts, RS232/USB)&amp;lt;/small&amp;gt;&lt;br /&gt;
File:Sigrok_logo_no_text_transparent_512.png|link=Gossen Metrawatt Metrahit 28S|[[File:Nuvola Red.png|16px]] &amp;lt;small&amp;gt;[[Gossen Metrawatt Metrahit 28S]] (310000 counts, RS232/USB)&amp;lt;/small&amp;gt;&lt;br /&gt;
File:Gossen metrahit 30m.png|link=Gossen-Metrawatt METRAHIT 30M|[[File:Nuvola Red.png|16px]] &amp;lt;small&amp;gt;[[Gossen-Metrawatt METRAHIT 30M]] (1200000 counts, RS232/USB)&amp;lt;/small&amp;gt;&lt;br /&gt;
File:Sigrok_logo_no_text_transparent_512.png|link=Gossen Metrawatt Metrahit X-Tra|[[File:Nuvola Red.png|16px]] &amp;lt;small&amp;gt;[[Gossen Metrawatt Metrahit X-Tra]] (12000 counts, USB)&amp;lt;/small&amp;gt;&lt;br /&gt;
File:Sigrok_logo_no_text_transparent_512.png|link=GW Instek GDM-8251A|[[File:Nuvola Red.png|16px]] &amp;lt;small&amp;gt;[[GW Instek GDM-8251A]] (120000 counts, RS232/USB/DigitalIO)&amp;lt;/small&amp;gt;&lt;br /&gt;
File:Sigrok_logo_no_text_transparent_512.png|link=HYELEC MS8236|[[File:Nuvola Red.png|16px]] &amp;lt;small&amp;gt;[[HYELEC MS8236]] (6000 counts, USB)&amp;lt;/small&amp;gt;&lt;br /&gt;
File:800px-Mastech m9803r device front.png|link=MASTECH M9803R|[[File:Nuvola Red.png|16px]] &amp;lt;small&amp;gt;[[MASTECH M9803R]] (4000 counts, RS232)&amp;lt;/small&amp;gt;&lt;br /&gt;
File:Metrix mx53.png|link=Metrix MX53|[[File:Nuvola Red.png|16px]] &amp;lt;small&amp;gt;[[Metrix MX53]] (50000 counts, RS232)&amp;lt;/small&amp;gt;&lt;br /&gt;
File:Peaktech 4380 mugshot.png|link=PeakTech 4380|[[File:Nuvola Red.png|16px]] &amp;lt;small&amp;gt;[[PeakTech 4380]] (4000 counts, RS232)&amp;lt;/small&amp;gt;&lt;br /&gt;
File:Peaktech 4390 mugshot.png|link=PeakTech 4390|[[File:Nuvola Red.png|16px]] &amp;lt;small&amp;gt;[[PeakTech 4390]] (6000 counts, USB)&amp;lt;/small&amp;gt;&lt;br /&gt;
File:Sigrok_logo_no_text_transparent_512.png|link=Protek 6500|[[File:Nuvola Red.png|16px]] &amp;lt;small&amp;gt;[[Protek 6500]] (50000 counts, RS232)&amp;lt;/small&amp;gt;&lt;br /&gt;
File:Rigol DM3068 front.png|link=Rigol DM3068|[[File:Nuvola Red.png|16px]] &amp;lt;small&amp;gt;[[Rigol DM3068]] (2200000 counts, LAN/USB/GPIB/RS232)&amp;lt;/small&amp;gt;&lt;br /&gt;
File:Tenma 72-1016.png|link=Tenma 72-1016|[[File:Nuvola Red.png|16px]] &amp;lt;small&amp;gt;[[Tenma 72-1016]] (6000 counts, RS232/USB)&amp;lt;/small&amp;gt;&lt;br /&gt;
File:Uni-t-ut81b mugshot.png|link=UNI-T UT81B|[[File:Nuvola Red.png|16px]] &amp;lt;small&amp;gt;[[UNI-T UT81B]] (6000 counts, USB)&amp;lt;/small&amp;gt;&lt;br /&gt;
File:Voltcraft m3890dt usb.png|link=Voltcraft M-3890DT|[[File:Nuvola Red.png|16px]] &amp;lt;small&amp;gt;[[Voltcraft M-3890DT]] (4000 counts, USB)&amp;lt;/small&amp;gt;&lt;br /&gt;
File:Voltcraft m4660a device front.png|link=Voltcraft M-4660A|[[File:Nuvola Red.png|16px]] &amp;lt;small&amp;gt;[[Voltcraft M-4660A]] (20000 counts, RS232)&amp;lt;/small&amp;gt;&lt;br /&gt;
&amp;lt;/gallery&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== LCR meters ==&lt;br /&gt;
&lt;br /&gt;
&amp;lt;gallery widths=&amp;quot;100Px&amp;quot; heights=&amp;quot;100px&amp;quot;&amp;gt;&lt;br /&gt;
File:Sigrok_logo_no_text_transparent_512.png|link=DER EE DE-5000|[[File:Nuvola_OK.png|16px]] &amp;lt;small&amp;gt;[[DER EE DE-5000]] (serial)&amp;lt;/small&amp;gt;&lt;br /&gt;
File:Peaktech 2170 mugshot.png|link=PeakTech 2170|[[File:Nuvola_OK.png|16px]] &amp;lt;small&amp;gt;[[PeakTech 2170]] (serial)&amp;lt;/small&amp;gt;&lt;br /&gt;
&amp;lt;/gallery&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Work in progress / planned:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;gallery widths=&amp;quot;100px&amp;quot; heights=&amp;quot;100px&amp;quot;&amp;gt;&lt;br /&gt;
File:Voltcraft4080_2.png|link=Voltcraft 4080|[[File:Nuvola Red.png|16px]] &amp;lt;small&amp;gt;[[Voltcraft 4080]] (serial)&amp;lt;/small&amp;gt;&lt;br /&gt;
File:uni_t_ut612_1.png|link=UNI-T UT612|[[File:Nuvola Red.png|16px]] &amp;lt;small&amp;gt;[[UNI-T UT612]] (USB/HID)&amp;lt;/small&amp;gt;&lt;br /&gt;
&amp;lt;/gallery&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Sound level meters ==&lt;br /&gt;
&lt;br /&gt;
&amp;lt;gallery widths=&amp;quot;100px&amp;quot; heights=&amp;quot;100px&amp;quot;&amp;gt;&lt;br /&gt;
File:CEM DT-8852.png|link=CEM DT-8852|[[File:Nuvola OK.png|16px]] &amp;lt;small&amp;gt;[[CEM DT-8852]] (USB)&amp;lt;/small&amp;gt;&lt;br /&gt;
File:Colead SL-5868P.png|link=Colead SL-5868P|[[File:Nuvola OK.png|16px]] &amp;lt;small&amp;gt;[[Colead SL-5868P]] (RS232)&amp;lt;/small&amp;gt;&lt;br /&gt;
File:Kecheng KC-330B.png|link=Kecheng KC-330B|[[File:Nuvola OK.png|16px]] &amp;lt;small&amp;gt;[[Kecheng KC-330B]] (RS232)&amp;lt;/small&amp;gt;&lt;br /&gt;
File:PCE-322A.png|link=PCE PCE-322A|[[File:Nuvola OK.png|16px]] &amp;lt;small&amp;gt;[[PCE PCE-322A]] (USB)&amp;lt;/small&amp;gt;&lt;br /&gt;
File:Tondaj sl-814.png|link=Tondaj SL-814|[[File:Nuvola OK.png|16px]] &amp;lt;small&amp;gt;[[Tondaj SL-814]] (USB)&amp;lt;/small&amp;gt;&lt;br /&gt;
&amp;lt;/gallery&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Work in progress / planned:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;gallery&amp;gt;&lt;br /&gt;
File:Pce_pce-222_front.png|link=PCE PCE-222|[[File:Nuvola Red.png|16px]] &amp;lt;small&amp;gt;[[PCE PCE-222]] (also: light-/thermo-/hygrometer; RS232)&amp;lt;/small&amp;gt;&lt;br /&gt;
File:Voltcraft_dl_160s.png|link=Voltcraft DL-160S|[[File:Nuvola Red.png|16px]] &amp;lt;small&amp;gt;[[Voltcraft DL-160S]] (USB)&amp;lt;/small&amp;gt;&lt;br /&gt;
File:Voltcraft_DL-161S.png|link=Voltcraft DL-161S|[[File:Nuvola Red.png|16px]] &amp;lt;small&amp;gt;[[Voltcraft DL-161S]] (USB)&amp;lt;/small&amp;gt;&lt;br /&gt;
&amp;lt;/gallery&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Thermometers ==&lt;br /&gt;
&lt;br /&gt;
&amp;lt;gallery widths=&amp;quot;100px&amp;quot; heights=&amp;quot;100px&amp;quot;&amp;gt;&lt;br /&gt;
File:rs55ii.png|link=APPA 55II|[[File:Nuvola OK.png|16px]] &amp;lt;small&amp;gt;[[APPA 55II]] (2xtemp, RS232)&amp;lt;/small&amp;gt;&lt;br /&gt;
File:EL-USB-2.png|link=Lascar Electronics EL-USB-2|[[File:Nuvola OK.png|16px]] &amp;lt;small&amp;gt;[[Lascar Electronics EL-USB-2]] (1xtemp, 1xhum, USB)&amp;lt;/small&amp;gt;&lt;br /&gt;
File:Mic 98581.png|link=MIC 98581|[[File:Nuvola OK.png|16px]] &amp;lt;small&amp;gt;[[MIC 98581]] (1xtemp, USB)&amp;lt;/small&amp;gt;&lt;br /&gt;
File:Mic 98583.png|link=MIC 98583|[[File:Nuvola OK.png|16px]] &amp;lt;small&amp;gt;[[MIC 98583]] (1xtemp, 1xhum, USB)&amp;lt;/small&amp;gt;&lt;br /&gt;
File:Uni-t ut325 front.png|link=UNI-T UT325|[[File:Nuvola OK.png|16px]] &amp;lt;small&amp;gt;[[UNI-T UT325]] (2xtemp, USB)&amp;lt;/small&amp;gt;&lt;br /&gt;
File:Voltcraft k204.png|link=Voltcraft K204|[[File:Nuvola OK.png|16px]] &amp;lt;small&amp;gt;[[Voltcraft K204]] (4xtemp, RS232)&amp;lt;/small&amp;gt;&lt;br /&gt;
&amp;lt;/gallery&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Work in progress / planned:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;gallery&amp;gt;&lt;br /&gt;
File:Elitech rc3.png|link=Elitech RC-3|[[File:Nuvola Red.png|16px]] &amp;lt;small&amp;gt;[[Elitech RC-3]] (1xtemp, RS232)&amp;lt;/small&amp;gt;&lt;br /&gt;
File:Escort 19.png|link=Escort 19|[[File:Nuvola Red.png|16px]] &amp;lt;small&amp;gt;[[Escort 19]] (1x temp, RS232)&amp;lt;/small&amp;gt;&lt;br /&gt;
File:Pax_instruments_t400.jpg|link=Pax Instruments T400|[[File:Nuvola Red.png|16px]] &amp;lt;small&amp;gt;[[Pax Instruments T400]] (4xtemp, USB)&amp;lt;/small&amp;gt;&lt;br /&gt;
File:Pce_pce-222_front.png|link=PCE PCE-222|[[File:Nuvola Red.png|16px]] &amp;lt;small&amp;gt;[[PCE PCE-222]] (1xtemp, RS232)&amp;lt;/small&amp;gt;&lt;br /&gt;
File:Rding temper front.png|link=RDing TEMPer|[[File:Nuvola Red.png|16px]] &amp;lt;small&amp;gt;[[RDing TEMPer]] (1xtemp, USB)&amp;lt;/small&amp;gt;&lt;br /&gt;
File:Rding temper gold device front.png|link=RDing TEMPer Gold|[[File:Nuvola Red.png|16px]] &amp;lt;small&amp;gt;[[RDing TEMPer Gold]] (1xtemp, USB)&amp;lt;/small&amp;gt;&lt;br /&gt;
File:Rding temper1 device front.png|link=RDing TEMPer1|[[File:Nuvola Red.png|16px]] &amp;lt;small&amp;gt;[[RDing TEMPer1]] (1xtemp, USB)&amp;lt;/small&amp;gt;&lt;br /&gt;
File:Pcsensor_temper1k2.png|link=RDing TEMPer1K2|[[File:Nuvola Red.png|16px]] &amp;lt;small&amp;gt;[[RDing TEMPer1K2]] (1xtemp, USB)&amp;lt;/small&amp;gt;&lt;br /&gt;
File:Voltcraft dl-120th.png|link=Voltcraft DL-120TH|[[File:Nuvola Red.png|16px]] &amp;lt;small&amp;gt;[[Voltcraft DL-120TH]] (1xtemp, USB)&amp;lt;/small&amp;gt;&lt;br /&gt;
File:Voltcraft dl-140th.png|link=Voltcraft DL-140TH|[[File:Nuvola Red.png|16px]] &amp;lt;small&amp;gt;[[Voltcraft DL-140TH]] (1xtemp, USB)&amp;lt;/small&amp;gt;&lt;br /&gt;
&amp;lt;/gallery&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Hygrometers ==&lt;br /&gt;
&lt;br /&gt;
&amp;lt;gallery widths=&amp;quot;100px&amp;quot; heights=&amp;quot;100px&amp;quot;&amp;gt;&lt;br /&gt;
File:EL-USB-2.png|link=Lascar Electronics EL-USB-2|[[File:Nuvola OK.png|16px]] &amp;lt;small&amp;gt;[[Lascar Electronics EL-USB-2]] (temp/humidity, USB)&amp;lt;/small&amp;gt;&lt;br /&gt;
File:Mic 98583.png|link=MIC 98583|[[File:Nuvola OK.png|16px]] &amp;lt;small&amp;gt;[[MIC 98583]] (temp/humidity, USB)&amp;lt;/small&amp;gt;&lt;br /&gt;
&amp;lt;/gallery&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Work in progress / planned:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;gallery&amp;gt;&lt;br /&gt;
File:Pce_pce-222_front.png|link=PCE PCE-222|[[File:Nuvola Red.png|16px]] &amp;lt;small&amp;gt;[[PCE PCE-222]] (also: light-/soundlevelmeter; RS232)&amp;lt;/small&amp;gt;&lt;br /&gt;
File:Silabs si7005usb dgl eb top.jpg|link=SiLabs Si7005USB-Dongle|[[File:Nuvola Red.png|16px]] &amp;lt;small&amp;gt;[[SiLabs Si7005USB-Dongle]] (USB)&amp;lt;/small&amp;gt;&lt;br /&gt;
&amp;lt;/gallery&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Anemometers ==&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Work in progress / planned:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;gallery widths=&amp;quot;100px&amp;quot; heights=&amp;quot;100px&amp;quot;&amp;gt;&lt;br /&gt;
File:Mastech ms6252b.png|link=MASTECH MS6252B|[[File:Nuvola Red.png|16px]] &amp;lt;small&amp;gt;[[MASTECH MS6252B]] (USB)&amp;lt;/small&amp;gt;&lt;br /&gt;
&amp;lt;/gallery&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Light meters ==&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Work in progress / planned:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;gallery widths=&amp;quot;100px&amp;quot; heights=&amp;quot;100px&amp;quot;&amp;gt;&lt;br /&gt;
File:Lutron YK-2005LX.png|link=Lutron YK-2005LX|[[File:Nuvola Red.png|16px]] &amp;lt;small&amp;gt;[[Lutron YK-2005LX]] (RS232)&amp;lt;/small&amp;gt;&lt;br /&gt;
File:Pce_pce-222_front.png|link=PCE PCE-222|[[File:Nuvola Red.png|16px]] &amp;lt;small&amp;gt;[[PCE PCE-222]] (RS232)&amp;lt;/small&amp;gt;&lt;br /&gt;
&amp;lt;/gallery&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Energy meters ==&lt;br /&gt;
&lt;br /&gt;
&amp;lt;gallery widths=&amp;quot;100px&amp;quot; heights=&amp;quot;100px&amp;quot;&amp;gt;&lt;br /&gt;
File:Actaris_a14c5_teleinfo.png|link=EDF Teleinfo|[[File:Nuvola OK.png|16px]] &amp;lt;small&amp;gt;[[EDF Teleinfo]] (RS232)&amp;lt;/small&amp;gt;&lt;br /&gt;
File:Acme.png|link=BayLibre ACME|[[File:Nuvola OK.png|16px]] &amp;lt;small&amp;gt;[[BayLibre ACME]] (I2C)&amp;lt;/small&amp;gt;&lt;br /&gt;
&amp;lt;/gallery&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== DAQs ==&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Work in progress / planned:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;gallery widths=&amp;quot;100px&amp;quot; heights=&amp;quot;100px&amp;quot;&amp;gt;&lt;br /&gt;
File:Ni usb 6008.png|link=NI USB-6008|[[File:Nuvola Red.png|16px]] &amp;lt;small&amp;gt;[[NI USB-6008]] (8/2 analog inputs/outputs, 12 digital I/Os)&amp;lt;/small&amp;gt;&lt;br /&gt;
&amp;lt;/gallery&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Dataloggers ==&lt;br /&gt;
&lt;br /&gt;
&amp;lt;gallery widths=&amp;quot;100px&amp;quot; heights=&amp;quot;100px&amp;quot;&amp;gt;&lt;br /&gt;
File:EL-USB-CO.png|link=Lascar Electronics EL-USB-CO|[[File:Nuvola OK.png|16px]] &amp;lt;small&amp;gt;[[Lascar Electronics EL-USB-CO]] (carbon monoxide (CO) logger, USB)&amp;lt;/small&amp;gt;&lt;br /&gt;
File:Testo_435-4.png|link=Testo 435-4|[[File:Nuvola OK.png|16px]] &amp;lt;small&amp;gt;[[Testo 435-4]] (USB)&amp;lt;/small&amp;gt;&lt;br /&gt;
&amp;lt;/gallery&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Work in progress / planned:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;gallery&amp;gt;&lt;br /&gt;
File:Gsg_indoor_air_monitor.png|link=GSG Indoor Air Monitor|[[File:Nuvola Red.png|16px]] &amp;lt;small&amp;gt;[[GSG Indoor Air Monitor]] (air quality monitor, USB)&amp;lt;/small&amp;gt;&lt;br /&gt;
File:Maul_studio_i.png|link=MAUL studio i|[[File:Nuvola Red.png|16px]] &amp;lt;small&amp;gt;[[MAUL studio i]] (weighing scale, RS232)&amp;lt;/small&amp;gt;&lt;br /&gt;
File:Voltcraft co-20.png|link=Voltcraft CO-20|[[File:Nuvola Red.png|16px]] &amp;lt;small&amp;gt;[[Voltcraft CO-20]] (air quality monitor, USB)&amp;lt;/small&amp;gt;&lt;br /&gt;
&amp;lt;/gallery&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Tachometers ==&lt;br /&gt;
&lt;br /&gt;
&amp;lt;gallery widths=&amp;quot;100px&amp;quot; heights=&amp;quot;100px&amp;quot;&amp;gt;&lt;br /&gt;
File:Uni-t ut372 mugshot.png|link=UNI-T UT372|[[File:Nuvola OK.png|16px]] &amp;lt;small&amp;gt;[[UNI-T UT372]] (USB)&amp;lt;/small&amp;gt;&lt;br /&gt;
&amp;lt;/gallery&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Scales ==&lt;br /&gt;
&lt;br /&gt;
&amp;lt;gallery widths=&amp;quot;100px&amp;quot; heights=&amp;quot;100px&amp;quot;&amp;gt;&lt;br /&gt;
File:Kern ew-6200-2nm mugshot.png|link=KERN scale series|[[File:Nuvola OK.png|16px]] &amp;lt;small&amp;gt;[[KERN scale series]] (RS232)&amp;lt;/small&amp;gt;&lt;br /&gt;
&amp;lt;/gallery&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Digital loads ==&lt;br /&gt;
&lt;br /&gt;
&amp;lt;gallery widths=&amp;quot;100px&amp;quot; heights=&amp;quot;100px&amp;quot;&amp;gt;&lt;br /&gt;
File:Maynuo m9812 mugshot.png|link=Maynuo M9812|[[File:Nuvola OK.png|16px]] &amp;lt;small&amp;gt;[[Maynuo M9812]]&amp;lt;/small&amp;gt;&lt;br /&gt;
&amp;lt;/gallery&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Work in progress / planned:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;gallery&amp;gt;&lt;br /&gt;
File:Atten ATZ9711.png|link=ATTEN ATZ9711|[[File:Nuvola Red.png|16px]] &amp;lt;small&amp;gt;[[ATTEN ATZ9711]]&amp;lt;/small&amp;gt;&lt;br /&gt;
&amp;lt;/gallery&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Function generators ==&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Work in progress / planned:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;gallery widths=&amp;quot;100px&amp;quot; heights=&amp;quot;100px&amp;quot;&amp;gt;&lt;br /&gt;
File:BG7TBL small.png|link=BG7TBL|[[File:Nuvola Red.png|16px]] &amp;lt;small&amp;gt;[[BG7TBL]] (138MHz-4.4GHz, PC-based, USB)&amp;lt;/small&amp;gt;&lt;br /&gt;
File:Hantek DDS-3X25 top.png|link=Hantek DDS-3X25|[[File:Nuvola Red.png|16px]] &amp;lt;small&amp;gt;[[Hantek DDS-3X25]] (25MHz, PC-based, USB)&amp;lt;/small&amp;gt;&lt;br /&gt;
File:Hp_3325a_front.png|link=HO 3325A|[[File:Nuvola Red.png|16px]] &amp;lt;small&amp;gt;[[HP 3325A]] (20MHz, GPIB)&amp;lt;/small&amp;gt;&lt;br /&gt;
File:MHINSTEK UDB1305S persp.jpg|link=MHINSTEK UDB1xxxS|[[File:Nuvola Red.png|16px]] &amp;lt;small&amp;gt;[[MHINSTEK UDB1xxxS]] (2/5/8MHz, Serial)&amp;lt;/small&amp;gt;&lt;br /&gt;
File:MHINSTEK MHS-5200A persp.jpg|link=MHINSTEK MHS-5200A|[[File:Nuvola Red.png|16px]] &amp;lt;small&amp;gt;[[MHINSTEK MHS-5200A]] (6/12/20/25MHz, USB)&amp;lt;/small&amp;gt;&lt;br /&gt;
File:Siglent sdg1010 device front 8116.png|link=Siglent SDG1010|[[File:Nuvola Red.png|16px]] &amp;lt;small&amp;gt;[[Siglent SDG1010]] (10MHz, USB)&amp;lt;/small&amp;gt;&lt;br /&gt;
&amp;lt;/gallery&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Frequency counters ==&lt;br /&gt;
&lt;br /&gt;
Work in progress / planned:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;gallery widths=&amp;quot;100px&amp;quot; heights=&amp;quot;100px&amp;quot;&amp;gt;&lt;br /&gt;
File:Hantek DDS-3X25 top.png|link=Hantek DDS-3X25|[[File:Nuvola Red.png|16px]] &amp;lt;small&amp;gt;[[Hantek DDS-3X25]] (50MHz, PC-based, USB)&amp;lt;/small&amp;gt;&lt;br /&gt;
File:HP 5350B.png|link=HP 5350B|[[File:Nuvola Red.png|16px]] &amp;lt;small&amp;gt;[[HP 5350B]] (10Hz-20GHz, GPIB)&amp;lt;/small&amp;gt;&lt;br /&gt;
&amp;lt;/gallery&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== RF receivers ==&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Work in progress / planned:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;gallery widths=&amp;quot;100px&amp;quot; heights=&amp;quot;100px&amp;quot;&amp;gt;&lt;br /&gt;
File:Per vices noctar.png|link=Per Vices Noctar|[[File:Nuvola Red.png|16px]] &amp;lt;small&amp;gt;[[Per Vices Noctar]] (100kHz-4GHz, IQ modulator/demodulator, PCIe)&amp;lt;/small&amp;gt;&lt;br /&gt;
&amp;lt;/gallery&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Spectrum analyzers ==&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Work in progress / planned:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
None, currently.&lt;br /&gt;
&lt;br /&gt;
== Power supplies ==&lt;br /&gt;
&lt;br /&gt;
&amp;lt;gallery widths=&amp;quot;100px&amp;quot; heights=&amp;quot;100px&amp;quot;&amp;gt;&lt;br /&gt;
File:Atten PPS3203T-3S.png|link=Atten PPS3203T-3S|[[File:Nuvola OK.png|16px]] &amp;lt;small&amp;gt;[[Atten PPS3203T-3S]] (3ch, 2x 0-32V, 1x 0-6V at 0-3A, USB&amp;amp;RS232)&amp;lt;/small&amp;gt;&lt;br /&gt;
File:Chroma_61604_front.png|link=Chroma 61604|[[File:Nuvola OK.png|16px]] &amp;lt;small&amp;gt;[[Chroma 61604]] (1ch, 0-300V, 0-16A, 2kVA)&amp;lt;/small&amp;gt;&lt;br /&gt;
File:Conrad_digi_35_cpu_logo.png|link=Conrad DIGI 35 CPU|[[File:Nuvola OK.png|16px]] &amp;lt;small&amp;gt;[[Conrad DIGI 35 CPU]] (1ch, 0-35V/0-2.55A, RS232)&amp;lt;/small&amp;gt;&lt;br /&gt;
File:HP-6632B_mugshot.png|link=HP 6632B|[[File:Nuvola OK.png|16px]] &amp;lt;small&amp;gt;[[HP 6632B]] (1ch, 0-20V/0-5A, GPIB&amp;amp;RS232)&amp;lt;/small&amp;gt;&lt;br /&gt;
File:Velleman ps3005d mugshot.png|link=Korad KAxxxxP series|[[File:Nuvola OK.png|16px]] &amp;lt;small&amp;gt;[[Korad KAxxxxP series]] (1ch, 0-30V/0-5A, USB&amp;amp;RS232)&amp;lt;/small&amp;gt;&lt;br /&gt;
File:Manson hcs3202.png|link=Manson HCS-3202|[[File:Nuvola OK.png|16px]] &amp;lt;small&amp;gt;[[Manson HCS-3202]] (1ch, 1-36V/0-10A, USB)&amp;lt;/small&amp;gt;&lt;br /&gt;
File:Motech_LPS-301_logo.png|link=Motech LPS-301|[[File:Nuvola OK.png|16px]] &amp;lt;small&amp;gt;[[Motech LPS-301]] (1ch, 1-32V/0-2A, RS232)&amp;lt;/small&amp;gt;&lt;br /&gt;
File:Philips PM2813.png|link=Philips PM2800 series|[[File:Nuvola OK.png|16px]] &amp;lt;small&amp;gt;Fluke/Philips PM2800 series&amp;lt;/small&amp;gt;&lt;br /&gt;
File:Rigol DP832.png|link=Rigol DP800 series|[[File:Nuvola OK.png|16px]] &amp;lt;small&amp;gt;[[Rigol DP800 series]]&amp;lt;/small&amp;gt;&lt;br /&gt;
File:Voltcraft pps-11815 logo.png|link=Voltcraft PPS-11815|[[File:Nuvola OK.png|16px]] &amp;lt;small&amp;gt;[[Voltcraft PPS-11815]] (1ch, 0-60V/0-5A, USB)&amp;lt;/small&amp;gt;&lt;br /&gt;
File:rs_hmc8043_front.png|link=Rohde&amp;amp;Schwarz HMC 8043|[[File:Nuvola OK.png|16px]] &amp;lt;small&amp;gt;[[Rohde&amp;amp;Schwarz HMC 8043]] (3ch, 0-32V/0-3A, USB&amp;amp;LXI)&amp;lt;/small&amp;gt;&lt;br /&gt;
&amp;lt;/gallery&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Work in progress / planned:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;gallery&amp;gt;&lt;br /&gt;
File:Sigrok logo no text transparent 512.png|link=Voltcraft 18220|[[File:Nuvola Red.png|16px]] &amp;lt;small&amp;gt;[[Voltcraft 18220]] (1ch, 0-40V/0-5A, RS232)&amp;lt;/small&amp;gt;&lt;br /&gt;
&amp;lt;/gallery&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== GPIB interfaces ==&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Work in progress / planned:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;gallery widths=&amp;quot;100px&amp;quot; heights=&amp;quot;100px&amp;quot;&amp;gt;&lt;br /&gt;
File:Beiming_s82357.png|link=Beiming S82357|[[File:Nuvola Red.png|16px]] &amp;lt;small&amp;gt;[[Beiming S82357]] (hardware-based, USB)&amp;lt;/small&amp;gt;&lt;br /&gt;
File:ICS 488-USB.png|link=ICS 488-USB|[[File:Nuvola Red.png|16px]] &amp;lt;small&amp;gt;[[ICS 488-USB]] (hardware-based, USB)&amp;lt;/small&amp;gt;&lt;br /&gt;
File:GPIB-USB 82357B clone.png|link=GPIB-USB 82357B clone|[[File:Nuvola Red.png|16px]] &amp;lt;small&amp;gt;[[GPIB-USB 82357B clone]] (hardware-based, USB)&amp;lt;/small&amp;gt;&lt;br /&gt;
File:NI GPIB-ENET.png|link=National Instruments GPIB-ENET|[[File:Nuvola Red.png|16px]] &amp;lt;small&amp;gt;[[National Instruments GPIB-ENET]] (hardware-based, Ethernet)&amp;lt;/small&amp;gt;&lt;br /&gt;
File:NI GPIB-USB-HS.png|link=National Instruments GPIB-USB-HS|[[File:Nuvola Red.png|16px]] &amp;lt;small&amp;gt;[[National Instruments GPIB-USB-HS]] (hardware-based, USB)&amp;lt;/small&amp;gt;&lt;br /&gt;
File:Prologix-usb.png|link=Prologix GPIB-USB|[[File:Nuvola Red.png|16px]] &amp;lt;small&amp;gt;[[Prologix GPIB-USB]] (firmware-based, USB)&amp;lt;/small&amp;gt;&lt;br /&gt;
File:GalvantGPIBUSBrev4.JPG|link=Galvant GPIBUSB|[[File:Nuvola Red.png|16px]] &amp;lt;small&amp;gt;[[Galvant GPIBUSB]] (firmware-based, USB, OSHW)&amp;lt;/small&amp;gt;&lt;br /&gt;
&amp;lt;/gallery&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Potential other candidates ==&lt;br /&gt;
&lt;br /&gt;
If you own any other logic analyzers, oscilloscopes, multimeters, dataloggers, ... and want to add support for them in sigrok (or donate/lend devices to developers), please let us know. We&amp;#039;re always happy to add more hardware support! Join the [https://lists.sourceforge.net/lists/listinfo/sigrok-devel mailing list] or ask on [irc://chat.freenode.net/sigrok IRC #sigrok] if you want to help out.&lt;br /&gt;
&lt;br /&gt;
__FORCETOC__&lt;/div&gt;</summary>
		<author><name>Marc Schink</name></author>
	</entry>
	<entry>
		<id>https://sigrok.org/w/index.php?title=Rohde%26Schwarz_HMC_8043&amp;diff=12390</id>
		<title>Rohde&amp;Schwarz HMC 8043</title>
		<link rel="alternate" type="text/html" href="https://sigrok.org/w/index.php?title=Rohde%26Schwarz_HMC_8043&amp;diff=12390"/>
		<updated>2017-04-06T15:46:39Z</updated>

		<summary type="html">&lt;p&gt;Marc Schink: Created page with &amp;quot;{{Infobox power supply | image               = 180px | name                = Rohde&amp;amp;Schwarz HMC 8043 | status              = supported | source_co...&amp;quot;&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{Infobox power supply&lt;br /&gt;
| image               = [[File:rs_hmc8043_front.png|180px]]&lt;br /&gt;
| name                = Rohde&amp;amp;Schwarz HMC 8043&lt;br /&gt;
| status              = supported&lt;br /&gt;
| source_code_dir     = scpi-pps&lt;br /&gt;
| channels            = 3&lt;br /&gt;
| channel1            = 0-32V / 0-3A&lt;br /&gt;
| channel2            = 0-32V / 0-3A&lt;br /&gt;
| channel3            = 0-32V / 0-3A&lt;br /&gt;
| channel4            = &lt;br /&gt;
| connectivity        = USBTMC, LXI&lt;br /&gt;
| features            = &lt;br /&gt;
| website             = [https://www.rohde-schwarz.com/de/produkt/hmc804x-produkt-startseite_63493-61542.html]&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
The &amp;#039;&amp;#039;&amp;#039;Rohde&amp;amp;Schwarz HMC 8043&amp;#039;&amp;#039;&amp;#039; is a 3-channel programmable power supply with USBTMC and LXI connectivity.&lt;br /&gt;
&lt;br /&gt;
== Photos ==&lt;br /&gt;
&lt;br /&gt;
&amp;lt;gallery&amp;gt;&lt;br /&gt;
File:rs_hmc8043_back.png|&amp;lt;small&amp;gt;Back&amp;lt;/small&amp;gt;&lt;br /&gt;
&amp;lt;/gallery&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Resources ==&lt;br /&gt;
&lt;br /&gt;
* [https://cdn.rohde-schwarz.com/pws/dl_downloads/dl_common_library/dl_manuals/gb_1/h/hmc804x/HMC804x_UserManual_de_en_04.pdf HMC804x User guide]&lt;br /&gt;
* [https://cdn.rohde-schwarz.com/pws/dl_downloads/dl_common_library/dl_manuals/gb_1/h/hmc804x/HMC804x_SCPI_ProgrammersManual_en_02.pdf HMC804x Programming guide]&lt;br /&gt;
&lt;br /&gt;
[[Category:Device]]&lt;br /&gt;
[[Category:Power supply]]&lt;br /&gt;
[[Category:Supported]]&lt;/div&gt;</summary>
		<author><name>Marc Schink</name></author>
	</entry>
	<entry>
		<id>https://sigrok.org/w/index.php?title=File:Rs_hmc8043_back.png&amp;diff=12389</id>
		<title>File:Rs hmc8043 back.png</title>
		<link rel="alternate" type="text/html" href="https://sigrok.org/w/index.php?title=File:Rs_hmc8043_back.png&amp;diff=12389"/>
		<updated>2017-04-06T15:30:31Z</updated>

		<summary type="html">&lt;p&gt;Marc Schink: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Licensing ==&lt;br /&gt;
{{CC-BY-SA-3.0}}&lt;/div&gt;</summary>
		<author><name>Marc Schink</name></author>
	</entry>
	<entry>
		<id>https://sigrok.org/w/index.php?title=File:Rs_hmc8043_front.png&amp;diff=12388</id>
		<title>File:Rs hmc8043 front.png</title>
		<link rel="alternate" type="text/html" href="https://sigrok.org/w/index.php?title=File:Rs_hmc8043_front.png&amp;diff=12388"/>
		<updated>2017-04-06T15:29:43Z</updated>

		<summary type="html">&lt;p&gt;Marc Schink: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Licensing ==&lt;br /&gt;
{{CC-BY-SA-3.0}}&lt;/div&gt;</summary>
		<author><name>Marc Schink</name></author>
	</entry>
	<entry>
		<id>https://sigrok.org/w/index.php?title=Voltcraft_VC-940&amp;diff=8749</id>
		<title>Voltcraft VC-940</title>
		<link rel="alternate" type="text/html" href="https://sigrok.org/w/index.php?title=Voltcraft_VC-940&amp;diff=8749"/>
		<updated>2014-02-28T17:34:06Z</updated>

		<summary type="html">&lt;p&gt;Marc Schink: Hardware information added.&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{Infobox multimeter&lt;br /&gt;
| image           = [[File:Voltcraft vc940.png|180px]]&lt;br /&gt;
| name            = Voltcraft VC-940&lt;br /&gt;
| status          = planned&lt;br /&gt;
| source_code_dir = &lt;br /&gt;
| counts          = 40000/4000&lt;br /&gt;
| categories      = CAT III (1000V) / CAT IV (600V)&lt;br /&gt;
| connectivity    = [[Device_cables#UNI-T_UT-D02|RS232]] / [[Device_cables#UNI-T_UT-D04|USB]]&lt;br /&gt;
| measurements    = voltage, resistance, diode, continuity, capacitance, frequency, duty cycle, current, temperature&lt;br /&gt;
| features        = autorange, hold, relative, min/max, bargraph, backlight, true-rms&lt;br /&gt;
| website         = [http://www.conrad.de/ce/de/product/123297/VOLTCRAFT-VC940-TRMS-Digital-Multimeter-m-Software-und-Leistungsmessadapter-VC900-Serie-400004000-Counts-CAT-IV-600V conrad.de]&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
The &amp;#039;&amp;#039;&amp;#039;Voltcraft VC-940&amp;#039;&amp;#039;&amp;#039; is a 40000/4000 counts, CAT III (1000V) / CAT IV (600V) handheld digital multimeter with RS232 or USB connectivity.&lt;br /&gt;
&lt;br /&gt;
This is a rebadged [http://uni-trend.com/UT71E.html UNI-T UT71E].&lt;br /&gt;
&lt;br /&gt;
== Hardware ==&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Multimeter&amp;#039;&amp;#039;&amp;#039;:&lt;br /&gt;
* [http://www.cyrustek.com.tw/spec/ES51966A.pdf Cyrustek ES51966F] multimeter chip&lt;br /&gt;
* [http://www.ti.com/product/msp430f149 Texas Instruments MSP430F149] 16 bit microcontroller with 60K flash and 2K RAM on board&lt;br /&gt;
* [http://www.ti.com/product/msp430fe425 Texas Instruments MSP430FE425] 16 bit microcontroller for energy meters with 16K flash and 512B RAM on board&lt;br /&gt;
* [http://www.holtek.com.tw/english/docum/consumer/1621.htm HOLTEK HT1621B] 128 (32 x 4) pattern multi-function LCD driver&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;RS232 cable:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
* See [[Device cables#UNI-T_UT-D02]].&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;USB cable:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
* See [[Device cables#UNI-T_UT-D04]].&lt;br /&gt;
&lt;br /&gt;
== Photos ==&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Multimeter&amp;#039;&amp;#039;&amp;#039;:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;gallery&amp;gt;&lt;br /&gt;
&amp;lt;/gallery&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;RS232 cable:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
See [[Device cables#UNI-T_UT-D02]].&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;USB cable:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
See [[Device cables#UNI-T_UT-D04]].&lt;br /&gt;
&lt;br /&gt;
== Protocol ==&lt;br /&gt;
&lt;br /&gt;
See [[Multimeter_ICs#Cyrustek_ES51966F]].&lt;br /&gt;
&lt;br /&gt;
A [http://www.produktinfo.conrad.com/datenblaetter/100000-124999/123297-da-01-en-Schnittstellenprotokoll_VC940.pdf short protocol description is also available from Voltcraft/Conrad].&lt;br /&gt;
&lt;br /&gt;
== Resources ==&lt;br /&gt;
&lt;br /&gt;
* [http://www.produktinfo.conrad.com/datenblaetter/100000-124999/123297-an-01-ml-VOLTCRAFT_VC940_DMM_de_en_fr_nl.pdf Manual]&lt;br /&gt;
* [http://www.produktinfo.conrad.com/datenblaetter/100000-124999/123297-up-01-en-VC940DMM_WIN7_32_64bit_V3_00.zip Vendor software]&lt;br /&gt;
* [http://elektrotanya.com/unit_multimeter_vc940.pdf/download.html Schematic]&lt;br /&gt;
&lt;br /&gt;
[[Category:Device]]&lt;br /&gt;
[[Category:Multimeter]]&lt;br /&gt;
[[Category:Planned]]&lt;/div&gt;</summary>
		<author><name>Marc Schink</name></author>
	</entry>
	<entry>
		<id>https://sigrok.org/w/index.php?title=IKALOGIC_Scanalogic-2&amp;diff=6759</id>
		<title>IKALOGIC Scanalogic-2</title>
		<link rel="alternate" type="text/html" href="https://sigrok.org/w/index.php?title=IKALOGIC_Scanalogic-2&amp;diff=6759"/>
		<updated>2013-07-02T18:13:16Z</updated>

		<summary type="html">&lt;p&gt;Marc Schink: /* Protocol */ Some final fixes.&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{Infobox logic analyzer&lt;br /&gt;
| image            = [[File:Ikalogic scanalogic2.png|180px]]&lt;br /&gt;
| name             = Ikalogic SCANALOGIC-2&lt;br /&gt;
| status           = supported&lt;br /&gt;
| source_code_dir  = ikalogic-scanalogic2&lt;br /&gt;
| channels         = 4&lt;br /&gt;
| samplerate       = 20MHz&lt;br /&gt;
| samplerate_state = &amp;amp;mdash;&lt;br /&gt;
| triggers         = rising, falling, either&lt;br /&gt;
| voltages         = -0.7V &amp;amp;mdash; 5.5V&lt;br /&gt;
| threshold        = ?&lt;br /&gt;
| memory           = 256ksamples/ch&lt;br /&gt;
| compression      = none&lt;br /&gt;
| website          = [http://www.ikalogic.com/scanalogic2/ ikalogic.com]&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
The &amp;#039;&amp;#039;&amp;#039;Ikalogic SCANALOGIC-2&amp;#039;&amp;#039;&amp;#039; is a USB-based, 4-channel logic analyzer with up to 20MHz sampling rate.&lt;br /&gt;
&lt;br /&gt;
See [[Ikalogic SCANALOGIC-2/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;
* [http://www.atmel.com/devices/atmega168pa.aspx Atmel ATmega168 PA] ([http://www.atmel.com/Images/Atmel-8271-8-bit-AVR-Microcontroller-ATmega48A-48PA-88A-88PA-168A-168PA-328-328P_datasheet_Summary.pdf datasheet])&lt;br /&gt;
* 2x [http://www.fairchildsemi.com/pf/74/74LCX125.html Fairchild Semiconductor 74LCX125]&lt;br /&gt;
* 4x [http://www.microchip.com/wwwproducts/Devices.aspx?dDocName=en539039 Microchip 23K256I] ([http://ww1.microchip.com/downloads/en/DeviceDoc/22100F.pdf datasheet])&lt;br /&gt;
* 20MHz crystal&lt;br /&gt;
&lt;br /&gt;
== Photos ==&lt;br /&gt;
&lt;br /&gt;
Device built from DIY soldering kit, firmware version 1.2:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;gallery&amp;gt;&lt;br /&gt;
File:Ikalogic scanalogic2 device with probes.jpg|&amp;lt;small&amp;gt;Device with probes&amp;lt;/small&amp;gt;&lt;br /&gt;
File:Ikalogic scanalogic2 parts.jpg|&amp;lt;small&amp;gt;Parts&amp;lt;/small&amp;gt;&lt;br /&gt;
File:Ikalogic scanalogic2 guide back.jpg|&amp;lt;small&amp;gt;User&amp;#039;s guide&amp;lt;/small&amp;gt;&lt;br /&gt;
File:Ikalogic scanalogic2 pcb soldered front.jpg|&amp;lt;small&amp;gt;PCB, front&amp;lt;/small&amp;gt;&lt;br /&gt;
File:Ikalogic scanalogic2 pcb soldered back.jpg|&amp;lt;small&amp;gt;PCB, back&amp;lt;/small&amp;gt;&lt;br /&gt;
File:Ikalogic scanalogic2 pcb soldered light.jpg|&amp;lt;small&amp;gt;PCB, bright light&amp;lt;/small&amp;gt;&lt;br /&gt;
&amp;lt;/gallery&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Another device, firmware version 1.3:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;gallery&amp;gt;&lt;br /&gt;
File:Ikalogic scanalogic2 pcb soldered front rev2.jpg|&amp;lt;small&amp;gt;PCB, front&amp;lt;/small&amp;gt;&lt;br /&gt;
File:Ikalogic scanalogic2 pcb soldered back rev2.jpg|&amp;lt;small&amp;gt;PCB, back&amp;lt;/small&amp;gt;&lt;br /&gt;
File:Ikalogic scanalogic2 device open rev2.jpg|&amp;lt;small&amp;gt;Device, open&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;
The IKALOGIC Scanalogic-2 is a HID based device which uses &amp;#039;&amp;#039;feature reports&amp;#039;&amp;#039; for bidirectional data transfers.&lt;br /&gt;
&lt;br /&gt;
=== Starting an acquisition ===&lt;br /&gt;
&lt;br /&gt;
An acquisition can be started by sending 128 bytes to the device, of which only the first 12 bytes (which are described below) have a meaning. All following bytes can have an arbitrary value. The device is capable to acquire up to 262128 samples whereas the vendor software limits it to 261888 samples. The number of pre- and post-trigger samples together must not exceed the sample limit of the device.&lt;br /&gt;
&lt;br /&gt;
{| border=&amp;quot;0&amp;quot; style=&amp;quot;font-size: smaller;&amp;quot; class=&amp;quot;alternategrey sigroktable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! Byte(s)&lt;br /&gt;
! Value&lt;br /&gt;
! Description&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| 0&lt;br /&gt;
| 0x01&lt;br /&gt;
| Command which indicates to start an acquisition.&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| 1&lt;br /&gt;
| 0x00&lt;br /&gt;
| This byte must always be 0x00.&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| 2-3&lt;br /&gt;
| Pre-trigger samples&lt;br /&gt;
| Number of samples to acquire in multiples of 8 before the trigger occurs.&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| 4-5&lt;br /&gt;
| Post-trigger samples&lt;br /&gt;
| Number of samples to acquire in multiples of 8 after the trigger occurs.&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| 6&lt;br /&gt;
| Samplerate&lt;br /&gt;
| See table below for a list of all possible samplerates and their corresponding values.&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| 7&lt;br /&gt;
| Trigger type&lt;br /&gt;
| See table below for all possible trigger types and their corresponding values.&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| 8&lt;br /&gt;
| Trigger channel&lt;br /&gt;
| See table below for a list of all possible trigger channels and their corresponding values.&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| 9&lt;br /&gt;
| 0x00&lt;br /&gt;
| This byte must always be 0x00.&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| 10-11&lt;br /&gt;
| After trigger delay&lt;br /&gt;
| Time that the trigger will be delayed in milliseconds. The trigger can be delayed from 0 to 65000ms.&lt;br /&gt;
&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
The acquisition process can be observed by the [[Ikalogic SCANALOGIC-2#Device status|device status]]. The following example starts an acquisition with a samplerate of 5MHz and with 2384 samples before and 17456 samples after the trigger occurs. The trigger is configured to channel 2 with a rising edge and is delayed for 20000ms.&lt;br /&gt;
&lt;br /&gt;
 0x01 0x00 0x2A 0x01 0x86 0x08 0x02 0x01  0x03 0x00 0x20 0x4E 0x00 0x00 0x00 0x00&lt;br /&gt;
 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00  0x00 ...&lt;br /&gt;
&lt;br /&gt;
The following table shows all possible samplerates.&lt;br /&gt;
&lt;br /&gt;
{| border=&amp;quot;0&amp;quot; style=&amp;quot;font-size: smaller;&amp;quot; class=&amp;quot;alternategrey sigroktable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
!Value&lt;br /&gt;
!Samplerate&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| 0x00&lt;br /&gt;
| 20MHz&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| 0x01&lt;br /&gt;
| 10MHz&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| 0x02&lt;br /&gt;
| 5MHz&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| 0x03&lt;br /&gt;
| 2.5MHz&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| 0x04&lt;br /&gt;
| 1MHz&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| 0x05&lt;br /&gt;
| 500kHz&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| 0x06&lt;br /&gt;
| 250kHz&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| 0x07&lt;br /&gt;
| 100kHz&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| 0x08&lt;br /&gt;
| 50kHz&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| 0x09&lt;br /&gt;
| 10kHz&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| 0x0A&lt;br /&gt;
| 1.25kHz&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
The trigger can only be configured to one of the four channels with an arbitrary trigger type. Alternatively the trigger can be configured to all channels with the trigger type &amp;#039;&amp;#039;&amp;#039;Any edge&amp;#039;&amp;#039;&amp;#039; only. Other trigger configurations might lead to an unpredictable behaviour. The following table shows the possible trigger channels and their corresponding values.&lt;br /&gt;
&lt;br /&gt;
{| border=&amp;quot;0&amp;quot; style=&amp;quot;font-size: smaller;&amp;quot; class=&amp;quot;alternategrey sigroktable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
!Value&lt;br /&gt;
!Channel&lt;br /&gt;
|-&lt;br /&gt;
| 0x00&lt;br /&gt;
| ALL&lt;br /&gt;
|-&lt;br /&gt;
| 0x01&lt;br /&gt;
| 0&lt;br /&gt;
|-&lt;br /&gt;
| 0x02&lt;br /&gt;
| 1&lt;br /&gt;
|-&lt;br /&gt;
| 0x03&lt;br /&gt;
| 2&lt;br /&gt;
|-&lt;br /&gt;
| 0x04&lt;br /&gt;
| 3&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
The following table shows the possible trigger types and their corresponding values.&lt;br /&gt;
&lt;br /&gt;
{| border=&amp;quot;0&amp;quot; style=&amp;quot;font-size: smaller;&amp;quot; class=&amp;quot;alternategrey sigroktable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
!Value&lt;br /&gt;
!Trigger type&lt;br /&gt;
|-&lt;br /&gt;
| 0x00&lt;br /&gt;
| Falling edge&lt;br /&gt;
|-&lt;br /&gt;
| 0x01&lt;br /&gt;
| Rising edge&lt;br /&gt;
|-&lt;br /&gt;
| 0x02&lt;br /&gt;
| Any edge&lt;br /&gt;
|-&lt;br /&gt;
| 0x03&lt;br /&gt;
| No trigger&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Stopping acquisition ===&lt;br /&gt;
&lt;br /&gt;
An acquisition can be stopped by resetting the device. After that the [[Ikalogic_SCANALOGIC-2#Device status|device status]] indicates whether the acquisition is stopped. If the device is ready the acquisition was stopped successfully. An other device status indicates that the device did not recognize the reset. In this case the reset needs to be performed again.&lt;br /&gt;
&lt;br /&gt;
=== Receiving samples ===&lt;br /&gt;
&lt;br /&gt;
Sample data can be received by requesting 128 bytes from the device. The meaning of the received sample packet is described below. Information on whether sample data is ready to receive can be obtained by the [[Ikalogic_SCANALOGIC-2#Device status|device status]]. The sample packets will be received sequentially per channel. If no more sample data is available the device status changes to ready.&lt;br /&gt;
&lt;br /&gt;
{| border=&amp;quot;0&amp;quot; style=&amp;quot;font-size: smaller;&amp;quot; class=&amp;quot;alternategrey sigroktable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! Byte(s)&lt;br /&gt;
! Value&lt;br /&gt;
! Description&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| 0&lt;br /&gt;
| 0x05&lt;br /&gt;
| This byte indicates a valid device status.&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| 1&lt;br /&gt;
| Channel&lt;br /&gt;
| Channel number from 0x00 to 0x03.&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| 2&lt;br /&gt;
| Packet&lt;br /&gt;
| Sequential packet number from 0x00 to 0xFF. Note that the packet number wraps around if more than 253952 samples (124 bytes per packet * 8 samples per byte * 256 packets)  are requested.&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| 3&lt;br /&gt;
| 0x00&lt;br /&gt;
| This byte is always 0x00.&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| 4-127&lt;br /&gt;
| Sample data&lt;br /&gt;
| Sample data where each byte contains 8 samples. The first byte contains the first 8 samples.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Device status ===&lt;br /&gt;
&lt;br /&gt;
The device status can be obtained by requesting 128 bytes from the device. The first 2 bytes of the response (which are described below) have a meaning only. All following bytes can be ignored. Note that it might take a short time until a valid device status is received. In the meantime the last valid data of the device buffer will be received.&lt;br /&gt;
&lt;br /&gt;
{| border=&amp;quot;0&amp;quot; style=&amp;quot;font-size: smaller;&amp;quot; class=&amp;quot;alternategrey sigroktable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
!Byte(s)&lt;br /&gt;
!Value&lt;br /&gt;
!Description&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| 0&lt;br /&gt;
| 0x05&lt;br /&gt;
| This byte indicates a valid device status.&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| 1&lt;br /&gt;
| Status&lt;br /&gt;
| See the table below for a description of all possible status codes.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
All possible status codes are listed in the following table.&lt;br /&gt;
{| border=&amp;quot;0&amp;quot; style=&amp;quot;font-size: smaller;&amp;quot; class=&amp;quot;alternategrey sigroktable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
!Value&lt;br /&gt;
!Description&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| 0x60&lt;br /&gt;
| Sample data is ready to receive.&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| 0x61&lt;br /&gt;
| Device is waiting for a trigger event.&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| 0x62&lt;br /&gt;
| Sampling in progress.&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| 0x63&lt;br /&gt;
| Device is ready.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Device information ===&lt;br /&gt;
&lt;br /&gt;
Device information can be requested by sending 128 bytes to the device, of which only the first byte (which is described below) has a meaning. All following bytes can have an arbitrary value.&lt;br /&gt;
&lt;br /&gt;
{| border=&amp;quot;0&amp;quot; style=&amp;quot;font-size: smaller;&amp;quot; class=&amp;quot;alternategrey sigroktable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! Byte(s)&lt;br /&gt;
! Value&lt;br /&gt;
! Description&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| 0&lt;br /&gt;
| 0x0a&lt;br /&gt;
| Command which indicates to request device information.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
After these bytes are sent the device information can be obtained by requesting 128 bytes from the device. The first 7 bytes of the response (which is described below) have a meaning only. All following bytes can be ignored.&lt;br /&gt;
&lt;br /&gt;
{| border=&amp;quot;0&amp;quot; style=&amp;quot;font-size: smaller;&amp;quot; class=&amp;quot;alternategrey sigroktable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! Byte(s)&lt;br /&gt;
! Value&lt;br /&gt;
! Description&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| 0&lt;br /&gt;
| 0x0a&lt;br /&gt;
| This byte indicates valid device information.&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| 1-4&lt;br /&gt;
| Serial number&lt;br /&gt;
| Serial number of the device which is also the [[Wikipedia:Unix time|Unix time]] of the production date.&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| 5-6&lt;br /&gt;
| Firmware version&lt;br /&gt;
| Major and minor version of the firmware.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
The following example shows the information of a device with the serial number 1371371152 and the firmware version 1.3.&lt;br /&gt;
&lt;br /&gt;
 0x0A 0x90 0x76 0xBD 0x51 0x01 0x03 0x00  0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00&lt;br /&gt;
 0x00 0x00 0x00 ...&lt;br /&gt;
&lt;br /&gt;
=== Idle ===&lt;br /&gt;
&lt;br /&gt;
The device can be set to idle state by sending 128 bytes to the device, of which only the first byte (which is described below) has a meaning. All following bytes can have an arbitrary value.&lt;br /&gt;
&lt;br /&gt;
{| border=&amp;quot;0&amp;quot; style=&amp;quot;font-size: smaller;&amp;quot; class=&amp;quot;alternategrey sigroktable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! Byte(s)&lt;br /&gt;
! Value&lt;br /&gt;
! Description&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| 0&lt;br /&gt;
| 0x07&lt;br /&gt;
| Command which indicates to set the device to idle state.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
If the device is not in idle state it possibly will reset itself after a few seconds without being used and thereby close the connection. Instead of setting the device to idle state it is also possible to periodically send commands to the device to ensure it will not close the connection itself. Note that the [[Ikalogic_SCANALOGIC-2#Device status|device status]] can not be obtained if the device is in idle state. It is recommended to enter idle state when the device status is ready only and [[Ikalogic_SCANALOGIC-2#Reset|reset]] the device to leave idle state. To prevent that the device resets itself and thereby reattaches to the bus every time the device was used it is also recommended to set the device to idle state before closing the connection.&lt;br /&gt;
&lt;br /&gt;
=== Reset ===&lt;br /&gt;
&lt;br /&gt;
The device can be reset by sending 128 bytes to the device, of which only the first byte (which is described below) has a meaning. All following bytes can have an arbitrary value.&lt;br /&gt;
&lt;br /&gt;
{| border=&amp;quot;0&amp;quot; style=&amp;quot;font-size: smaller;&amp;quot; class=&amp;quot;alternategrey sigroktable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! Byte(s)&lt;br /&gt;
! Value&lt;br /&gt;
! Description&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| 0&lt;br /&gt;
| 0x02&lt;br /&gt;
| Command which indicates to reset the device.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
After the reset is performed the [[Ikalogic SCANALOGIC-2#Device status|device status]] changes to ready. It is recommended to reset the device after a new connection is established to ensure it has left idle state.&lt;br /&gt;
&lt;br /&gt;
== Resources ==&lt;br /&gt;
&lt;br /&gt;
* [http://www.ikalogic.com/wp-content/uploads/Scanalogic2_specifications_sheet.pdf Specification]&lt;br /&gt;
* [http://www.ikalogic.com/wp-content/uploads/Scanalogic2_manual_EN.pdf Manual]&lt;br /&gt;
* [http://www.ikalogic.com/ikalogic-products/scanastudio-2/ Vendor software]&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>Marc Schink</name></author>
	</entry>
	<entry>
		<id>https://sigrok.org/w/index.php?title=IKALOGIC_Scanalogic-2&amp;diff=6758</id>
		<title>IKALOGIC Scanalogic-2</title>
		<link rel="alternate" type="text/html" href="https://sigrok.org/w/index.php?title=IKALOGIC_Scanalogic-2&amp;diff=6758"/>
		<updated>2013-07-02T18:05:47Z</updated>

		<summary type="html">&lt;p&gt;Marc Schink: /* Protocol */ Protocol introduction.&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{Infobox logic analyzer&lt;br /&gt;
| image            = [[File:Ikalogic scanalogic2.png|180px]]&lt;br /&gt;
| name             = Ikalogic SCANALOGIC-2&lt;br /&gt;
| status           = supported&lt;br /&gt;
| source_code_dir  = ikalogic-scanalogic2&lt;br /&gt;
| channels         = 4&lt;br /&gt;
| samplerate       = 20MHz&lt;br /&gt;
| samplerate_state = &amp;amp;mdash;&lt;br /&gt;
| triggers         = rising, falling, either&lt;br /&gt;
| voltages         = -0.7V &amp;amp;mdash; 5.5V&lt;br /&gt;
| threshold        = ?&lt;br /&gt;
| memory           = 256ksamples/ch&lt;br /&gt;
| compression      = none&lt;br /&gt;
| website          = [http://www.ikalogic.com/scanalogic2/ ikalogic.com]&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
The &amp;#039;&amp;#039;&amp;#039;Ikalogic SCANALOGIC-2&amp;#039;&amp;#039;&amp;#039; is a USB-based, 4-channel logic analyzer with up to 20MHz sampling rate.&lt;br /&gt;
&lt;br /&gt;
See [[Ikalogic SCANALOGIC-2/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;
* [http://www.atmel.com/devices/atmega168pa.aspx Atmel ATmega168 PA] ([http://www.atmel.com/Images/Atmel-8271-8-bit-AVR-Microcontroller-ATmega48A-48PA-88A-88PA-168A-168PA-328-328P_datasheet_Summary.pdf datasheet])&lt;br /&gt;
* 2x [http://www.fairchildsemi.com/pf/74/74LCX125.html Fairchild Semiconductor 74LCX125]&lt;br /&gt;
* 4x [http://www.microchip.com/wwwproducts/Devices.aspx?dDocName=en539039 Microchip 23K256I] ([http://ww1.microchip.com/downloads/en/DeviceDoc/22100F.pdf datasheet])&lt;br /&gt;
* 20MHz crystal&lt;br /&gt;
&lt;br /&gt;
== Photos ==&lt;br /&gt;
&lt;br /&gt;
Device built from DIY soldering kit, firmware version 1.2:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;gallery&amp;gt;&lt;br /&gt;
File:Ikalogic scanalogic2 device with probes.jpg|&amp;lt;small&amp;gt;Device with probes&amp;lt;/small&amp;gt;&lt;br /&gt;
File:Ikalogic scanalogic2 parts.jpg|&amp;lt;small&amp;gt;Parts&amp;lt;/small&amp;gt;&lt;br /&gt;
File:Ikalogic scanalogic2 guide back.jpg|&amp;lt;small&amp;gt;User&amp;#039;s guide&amp;lt;/small&amp;gt;&lt;br /&gt;
File:Ikalogic scanalogic2 pcb soldered front.jpg|&amp;lt;small&amp;gt;PCB, front&amp;lt;/small&amp;gt;&lt;br /&gt;
File:Ikalogic scanalogic2 pcb soldered back.jpg|&amp;lt;small&amp;gt;PCB, back&amp;lt;/small&amp;gt;&lt;br /&gt;
File:Ikalogic scanalogic2 pcb soldered light.jpg|&amp;lt;small&amp;gt;PCB, bright light&amp;lt;/small&amp;gt;&lt;br /&gt;
&amp;lt;/gallery&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Another device, firmware version 1.3:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;gallery&amp;gt;&lt;br /&gt;
File:Ikalogic scanalogic2 pcb soldered front rev2.jpg|&amp;lt;small&amp;gt;PCB, front&amp;lt;/small&amp;gt;&lt;br /&gt;
File:Ikalogic scanalogic2 pcb soldered back rev2.jpg|&amp;lt;small&amp;gt;PCB, back&amp;lt;/small&amp;gt;&lt;br /&gt;
File:Ikalogic scanalogic2 device open rev2.jpg|&amp;lt;small&amp;gt;Device, open&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;
The IKALOGIC Scanalogic-2 is a HID based device which uses &amp;#039;&amp;#039;feature reports&amp;#039;&amp;#039; for bidirectional data transfers.&lt;br /&gt;
&lt;br /&gt;
=== Starting an acquisition ===&lt;br /&gt;
&lt;br /&gt;
An acquisition can be started by sending 128 bytes to the device, of which only the first 12 bytes (which are described below) have a meaning. All following bytes can have an arbitrary value. The device is capable to acquire up to 262128 samples whereas the vendor software limits it to 261888 samples. The number of pre- and post-trigger samples together must not exceed the sample limit of the device.&lt;br /&gt;
&lt;br /&gt;
{| border=&amp;quot;0&amp;quot; style=&amp;quot;font-size: smaller;&amp;quot; class=&amp;quot;alternategrey sigroktable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! Byte(s)&lt;br /&gt;
! Value&lt;br /&gt;
! Description&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| 0&lt;br /&gt;
| 0x01&lt;br /&gt;
| Command which indicates to start an acquisition.&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| 1&lt;br /&gt;
| 0x00&lt;br /&gt;
| This byte must always be 0x00.&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| 2-3&lt;br /&gt;
| Pre-trigger samples&lt;br /&gt;
| Number of samples to acquire in multiples of 8 before the trigger occurs.&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| 4-5&lt;br /&gt;
| Post-trigger samples&lt;br /&gt;
| Number of samples to acquire in multiples of 8 after the trigger occurs.&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| 6&lt;br /&gt;
| Samplerate&lt;br /&gt;
| See table below for a list of all possible samplerates and their corresponding values.&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| 7&lt;br /&gt;
| Trigger type&lt;br /&gt;
| See table below for all possible trigger types and their corresponding values.&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| 8&lt;br /&gt;
| Trigger channel&lt;br /&gt;
| See table below for a list of all possible trigger channels and their corresponding values.&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| 9&lt;br /&gt;
| 0x00&lt;br /&gt;
| This byte must always be 0x00.&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| 10-11&lt;br /&gt;
| After trigger delay&lt;br /&gt;
| Time that the trigger will be delayed in milliseconds. The trigger can be delayed from 0 to 65000ms.&lt;br /&gt;
&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
The following example starts an acquisition with a samplerate of 5MHz and with 2384 samples before and 17456 samples after the trigger occurs. The trigger is configured to channel 2 with a rising edge and is delayed for 20000ms.&lt;br /&gt;
&lt;br /&gt;
 0x01 0x00 0x2A 0x01 0x86 0x08 0x02 0x01  0x03 0x00 0x20 0x4E 0x00 0x00 0x00 0x00&lt;br /&gt;
 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00  0x00 ...&lt;br /&gt;
&lt;br /&gt;
The following table shows all possible samplerates.&lt;br /&gt;
&lt;br /&gt;
{| border=&amp;quot;0&amp;quot; style=&amp;quot;font-size: smaller;&amp;quot; class=&amp;quot;alternategrey sigroktable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
!Value&lt;br /&gt;
!Samplerate&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| 0x00&lt;br /&gt;
| 20MHz&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| 0x01&lt;br /&gt;
| 10MHz&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| 0x02&lt;br /&gt;
| 5MHz&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| 0x03&lt;br /&gt;
| 2.5MHz&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| 0x04&lt;br /&gt;
| 1MHz&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| 0x05&lt;br /&gt;
| 500kHz&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| 0x06&lt;br /&gt;
| 250kHz&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| 0x07&lt;br /&gt;
| 100kHz&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| 0x08&lt;br /&gt;
| 50kHz&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| 0x09&lt;br /&gt;
| 10kHz&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| 0x0A&lt;br /&gt;
| 1.25kHz&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
The trigger can only be configured to one of the four channels with an arbitrary trigger type. Alternatively the trigger can be configured to all channels with the trigger type &amp;#039;&amp;#039;&amp;#039;Any edge&amp;#039;&amp;#039;&amp;#039; only. Other trigger configurations might lead to an unpredictable behaviour. The following table shows the possible trigger channels and their corresponding values.&lt;br /&gt;
&lt;br /&gt;
{| border=&amp;quot;0&amp;quot; style=&amp;quot;font-size: smaller;&amp;quot; class=&amp;quot;alternategrey sigroktable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
!Value&lt;br /&gt;
!Channel&lt;br /&gt;
|-&lt;br /&gt;
| 0x00&lt;br /&gt;
| ALL&lt;br /&gt;
|-&lt;br /&gt;
| 0x01&lt;br /&gt;
| 0&lt;br /&gt;
|-&lt;br /&gt;
| 0x02&lt;br /&gt;
| 1&lt;br /&gt;
|-&lt;br /&gt;
| 0x03&lt;br /&gt;
| 2&lt;br /&gt;
|-&lt;br /&gt;
| 0x04&lt;br /&gt;
| 3&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
The following table shows the possible trigger types and their corresponding values.&lt;br /&gt;
&lt;br /&gt;
{| border=&amp;quot;0&amp;quot; style=&amp;quot;font-size: smaller;&amp;quot; class=&amp;quot;alternategrey sigroktable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
!Value&lt;br /&gt;
!Trigger type&lt;br /&gt;
|-&lt;br /&gt;
| 0x00&lt;br /&gt;
| Falling edge&lt;br /&gt;
|-&lt;br /&gt;
| 0x01&lt;br /&gt;
| Rising edge&lt;br /&gt;
|-&lt;br /&gt;
| 0x02&lt;br /&gt;
| Any edge&lt;br /&gt;
|-&lt;br /&gt;
| 0x03&lt;br /&gt;
| No trigger&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Stopping acquisition ===&lt;br /&gt;
&lt;br /&gt;
An acquisition can be stopped by resetting the device. After that the [[Ikalogic_SCANALOGIC-2#Device status|device status]] indicates whether the acquisition is stopped. If the device is ready the acquisition was stopped successfully. An other device status indicates that the device did not recognize the reset. In this case the reset needs to be performed again.&lt;br /&gt;
&lt;br /&gt;
=== Receiving samples ===&lt;br /&gt;
&lt;br /&gt;
Sample data can be received by requesting 128 bytes from the device. The meaning of the received sample packet is described below. Information on whether sample data is ready to receive can be obtained by the [[Ikalogic_SCANALOGIC-2#Device status|device status]]. The sample packets will be received sequentially per channel. If no more sample data is available the device status changes to ready.&lt;br /&gt;
&lt;br /&gt;
{| border=&amp;quot;0&amp;quot; style=&amp;quot;font-size: smaller;&amp;quot; class=&amp;quot;alternategrey sigroktable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! Byte(s)&lt;br /&gt;
! Value&lt;br /&gt;
! Description&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| 0&lt;br /&gt;
| 0x05&lt;br /&gt;
| This byte indicates a valid device status.&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| 1&lt;br /&gt;
| Channel&lt;br /&gt;
| Channel number from 0x00 to 0x03.&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| 2&lt;br /&gt;
| Packet&lt;br /&gt;
| Sequential packet number from 0x00 to 0xFF. Note that the packet number wraps around if more than 253952 samples (124 bytes per packet * 8 samples per byte * 256 packets)  are requested.&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| 3&lt;br /&gt;
| 0x00&lt;br /&gt;
| This byte is always 0x00.&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| 4-127&lt;br /&gt;
| Sample data&lt;br /&gt;
| Sample data where each byte contains 8 samples. The first byte contains the first 8 samples.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Device status ===&lt;br /&gt;
&lt;br /&gt;
The device status can be obtained by requesting 128 bytes from the device. The first 2 bytes of the response (which are described below) have a meaning only. All following bytes can be ignored. Note that it might take a short time until a valid device status is received. In the meantime the last valid data of the device buffer will be received.&lt;br /&gt;
&lt;br /&gt;
{| border=&amp;quot;0&amp;quot; style=&amp;quot;font-size: smaller;&amp;quot; class=&amp;quot;alternategrey sigroktable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
!Byte(s)&lt;br /&gt;
!Value&lt;br /&gt;
!Description&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| 0&lt;br /&gt;
| 0x05&lt;br /&gt;
| This byte indicates a valid device status.&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| 1&lt;br /&gt;
| Status&lt;br /&gt;
| See the table below for a description of all possible status codes.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
All possible status codes are listed in the following table.&lt;br /&gt;
{| border=&amp;quot;0&amp;quot; style=&amp;quot;font-size: smaller;&amp;quot; class=&amp;quot;alternategrey sigroktable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
!Status&lt;br /&gt;
!Description&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| 0x60&lt;br /&gt;
| Sample data is ready to receive.&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| 0x61&lt;br /&gt;
| Device is waiting for a trigger event.&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| 0x62&lt;br /&gt;
| Sampling in progress.&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| 0x63&lt;br /&gt;
| Device is ready.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Device information ===&lt;br /&gt;
&lt;br /&gt;
Device information can be requested by sending 128 bytes to the device, of which only the first byte (which is described below) has a meaning. All following bytes can have an arbitrary value.&lt;br /&gt;
&lt;br /&gt;
{| border=&amp;quot;0&amp;quot; style=&amp;quot;font-size: smaller;&amp;quot; class=&amp;quot;alternategrey sigroktable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! Byte(s)&lt;br /&gt;
! Value&lt;br /&gt;
! Description&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| 0&lt;br /&gt;
| 0x0a&lt;br /&gt;
| Command which indicates to request device information.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
After these bytes are sent the device information can be obtained by requesting 128 bytes from the device. The first 7 bytes of the response (which is described below) have a meaning only. All following bytes can be ignored.&lt;br /&gt;
&lt;br /&gt;
{| border=&amp;quot;0&amp;quot; style=&amp;quot;font-size: smaller;&amp;quot; class=&amp;quot;alternategrey sigroktable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! Byte(s)&lt;br /&gt;
! Value&lt;br /&gt;
! Description&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| 0&lt;br /&gt;
| 0x0a&lt;br /&gt;
| This byte indicates valid device information.&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| 1-4&lt;br /&gt;
| Serial number&lt;br /&gt;
| Serial number of the device which is also the [[Wikipedia:Unix time|Unix time]] of the production date.&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| 5-6&lt;br /&gt;
| Firmware version&lt;br /&gt;
| Major and minor version of the firmware.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
The following example shows the information of a device with the serial number 1371371152 and the firmware version 1.3.&lt;br /&gt;
&lt;br /&gt;
 0x0A 0x90 0x76 0xBD 0x51 0x01 0x03 0x00  0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00&lt;br /&gt;
 0x00 0x00 0x00 ...&lt;br /&gt;
&lt;br /&gt;
=== Idle ===&lt;br /&gt;
&lt;br /&gt;
The device can be set to idle state by sending 128 bytes to the device, of which only the first byte (which is described below) has a meaning. All following bytes can have an arbitrary value.&lt;br /&gt;
&lt;br /&gt;
{| border=&amp;quot;0&amp;quot; style=&amp;quot;font-size: smaller;&amp;quot; class=&amp;quot;alternategrey sigroktable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! Byte(s)&lt;br /&gt;
! Value&lt;br /&gt;
! Description&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| 0&lt;br /&gt;
| 0x07&lt;br /&gt;
| Command which indicates to set the device to idle state.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
If the device is not in idle state it possibly will reset itself after a few seconds without being used and thereby close the connection. Instead of setting the device to idle state it is also possible to periodically send commands to the device to ensure it will not close the connection itself. Note that the [[Ikalogic_SCANALOGIC-2#Device status|device status]] can not be obtained if the device is in idle state. It is recommended to enter idle state when the device status is ready only and [[Ikalogic_SCANALOGIC-2#Reset|reset]] the device to leave idle state. To prevent that the device resets itself and thereby reattaches to the bus every time the device was used it is also recommended to set the device to idle state before closing the connection.&lt;br /&gt;
&lt;br /&gt;
=== Reset ===&lt;br /&gt;
&lt;br /&gt;
The device can be reset by sending 128 bytes to the device, of which only the first byte (which is described below) has a meaning. All following bytes can have an arbitrary value.&lt;br /&gt;
&lt;br /&gt;
{| border=&amp;quot;0&amp;quot; style=&amp;quot;font-size: smaller;&amp;quot; class=&amp;quot;alternategrey sigroktable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! Byte(s)&lt;br /&gt;
! Value&lt;br /&gt;
! Description&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| 0&lt;br /&gt;
| 0x02&lt;br /&gt;
| Command which indicates to reset the device.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
After the reset is performed the [[Ikalogic SCANALOGIC-2#Device status|device status]] changes to ready. It is recommended to reset the device after a new connection is established to ensure it has left idle state.&lt;br /&gt;
&lt;br /&gt;
== Resources ==&lt;br /&gt;
&lt;br /&gt;
* [http://www.ikalogic.com/wp-content/uploads/Scanalogic2_specifications_sheet.pdf Specification]&lt;br /&gt;
* [http://www.ikalogic.com/wp-content/uploads/Scanalogic2_manual_EN.pdf Manual]&lt;br /&gt;
* [http://www.ikalogic.com/ikalogic-products/scanastudio-2/ Vendor software]&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>Marc Schink</name></author>
	</entry>
	<entry>
		<id>https://sigrok.org/w/index.php?title=IKALOGIC_Scanalogic-2&amp;diff=6757</id>
		<title>IKALOGIC Scanalogic-2</title>
		<link rel="alternate" type="text/html" href="https://sigrok.org/w/index.php?title=IKALOGIC_Scanalogic-2&amp;diff=6757"/>
		<updated>2013-07-01T18:22:40Z</updated>

		<summary type="html">&lt;p&gt;Marc Schink: /* Starting an acquisition */ Trigger channel description fixed.&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{Infobox logic analyzer&lt;br /&gt;
| image            = [[File:Ikalogic scanalogic2.png|180px]]&lt;br /&gt;
| name             = Ikalogic SCANALOGIC-2&lt;br /&gt;
| status           = supported&lt;br /&gt;
| source_code_dir  = ikalogic-scanalogic2&lt;br /&gt;
| channels         = 4&lt;br /&gt;
| samplerate       = 20MHz&lt;br /&gt;
| samplerate_state = &amp;amp;mdash;&lt;br /&gt;
| triggers         = rising, falling, either&lt;br /&gt;
| voltages         = -0.7V &amp;amp;mdash; 5.5V&lt;br /&gt;
| threshold        = ?&lt;br /&gt;
| memory           = 256ksamples/ch&lt;br /&gt;
| compression      = none&lt;br /&gt;
| website          = [http://www.ikalogic.com/scanalogic2/ ikalogic.com]&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
The &amp;#039;&amp;#039;&amp;#039;Ikalogic SCANALOGIC-2&amp;#039;&amp;#039;&amp;#039; is a USB-based, 4-channel logic analyzer with up to 20MHz sampling rate.&lt;br /&gt;
&lt;br /&gt;
See [[Ikalogic SCANALOGIC-2/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;
* [http://www.atmel.com/devices/atmega168pa.aspx Atmel ATmega168 PA] ([http://www.atmel.com/Images/Atmel-8271-8-bit-AVR-Microcontroller-ATmega48A-48PA-88A-88PA-168A-168PA-328-328P_datasheet_Summary.pdf datasheet])&lt;br /&gt;
* 2x [http://www.fairchildsemi.com/pf/74/74LCX125.html Fairchild Semiconductor 74LCX125]&lt;br /&gt;
* 4x [http://www.microchip.com/wwwproducts/Devices.aspx?dDocName=en539039 Microchip 23K256I] ([http://ww1.microchip.com/downloads/en/DeviceDoc/22100F.pdf datasheet])&lt;br /&gt;
* 20MHz crystal&lt;br /&gt;
&lt;br /&gt;
== Photos ==&lt;br /&gt;
&lt;br /&gt;
Device built from DIY soldering kit, firmware version 1.2:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;gallery&amp;gt;&lt;br /&gt;
File:Ikalogic scanalogic2 device with probes.jpg|&amp;lt;small&amp;gt;Device with probes&amp;lt;/small&amp;gt;&lt;br /&gt;
File:Ikalogic scanalogic2 parts.jpg|&amp;lt;small&amp;gt;Parts&amp;lt;/small&amp;gt;&lt;br /&gt;
File:Ikalogic scanalogic2 guide back.jpg|&amp;lt;small&amp;gt;User&amp;#039;s guide&amp;lt;/small&amp;gt;&lt;br /&gt;
File:Ikalogic scanalogic2 pcb soldered front.jpg|&amp;lt;small&amp;gt;PCB, front&amp;lt;/small&amp;gt;&lt;br /&gt;
File:Ikalogic scanalogic2 pcb soldered back.jpg|&amp;lt;small&amp;gt;PCB, back&amp;lt;/small&amp;gt;&lt;br /&gt;
File:Ikalogic scanalogic2 pcb soldered light.jpg|&amp;lt;small&amp;gt;PCB, bright light&amp;lt;/small&amp;gt;&lt;br /&gt;
&amp;lt;/gallery&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Another device, firmware version 1.3:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;gallery&amp;gt;&lt;br /&gt;
File:Ikalogic scanalogic2 pcb soldered front rev2.jpg|&amp;lt;small&amp;gt;PCB, front&amp;lt;/small&amp;gt;&lt;br /&gt;
File:Ikalogic scanalogic2 pcb soldered back rev2.jpg|&amp;lt;small&amp;gt;PCB, back&amp;lt;/small&amp;gt;&lt;br /&gt;
File:Ikalogic scanalogic2 device open rev2.jpg|&amp;lt;small&amp;gt;Device, open&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;
In progress.&lt;br /&gt;
&lt;br /&gt;
=== Starting an acquisition ===&lt;br /&gt;
&lt;br /&gt;
An acquisition can be started by sending 128 bytes to the device, of which only the first 12 bytes (which are described below) have a meaning. All following bytes can have an arbitrary value. The device is capable to acquire up to 262128 samples whereas the vendor software limits it to 261888 samples. The number of pre- and post-trigger samples together must not exceed the sample limit of the device.&lt;br /&gt;
&lt;br /&gt;
{| border=&amp;quot;0&amp;quot; style=&amp;quot;font-size: smaller;&amp;quot; class=&amp;quot;alternategrey sigroktable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! Byte(s)&lt;br /&gt;
! Value&lt;br /&gt;
! Description&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| 0&lt;br /&gt;
| 0x01&lt;br /&gt;
| Command which indicates to start an acquisition.&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| 1&lt;br /&gt;
| 0x00&lt;br /&gt;
| This byte must always be 0x00.&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| 2-3&lt;br /&gt;
| Pre-trigger samples&lt;br /&gt;
| Number of samples to acquire in multiples of 8 before the trigger occurs.&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| 4-5&lt;br /&gt;
| Post-trigger samples&lt;br /&gt;
| Number of samples to acquire in multiples of 8 after the trigger occurs.&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| 6&lt;br /&gt;
| Samplerate&lt;br /&gt;
| See table below for a list of all possible samplerates and their corresponding values.&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| 7&lt;br /&gt;
| Trigger type&lt;br /&gt;
| See table below for all possible trigger types and their corresponding values.&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| 8&lt;br /&gt;
| Trigger channel&lt;br /&gt;
| See table below for a list of all possible trigger channels and their corresponding values.&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| 9&lt;br /&gt;
| 0x00&lt;br /&gt;
| This byte must always be 0x00.&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| 10-11&lt;br /&gt;
| After trigger delay&lt;br /&gt;
| Time that the trigger will be delayed in milliseconds. The trigger can be delayed from 0 to 65000ms.&lt;br /&gt;
&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
The following example starts an acquisition with a samplerate of 5MHz and with 2384 samples before and 17456 samples after the trigger occurs. The trigger is configured to channel 2 with a rising edge and is delayed for 20000ms.&lt;br /&gt;
&lt;br /&gt;
 0x01 0x00 0x2A 0x01 0x86 0x08 0x02 0x01  0x03 0x00 0x20 0x4E 0x00 0x00 0x00 0x00&lt;br /&gt;
 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00  0x00 ...&lt;br /&gt;
&lt;br /&gt;
The following table shows all possible samplerates.&lt;br /&gt;
&lt;br /&gt;
{| border=&amp;quot;0&amp;quot; style=&amp;quot;font-size: smaller;&amp;quot; class=&amp;quot;alternategrey sigroktable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
!Value&lt;br /&gt;
!Samplerate&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| 0x00&lt;br /&gt;
| 20MHz&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| 0x01&lt;br /&gt;
| 10MHz&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| 0x02&lt;br /&gt;
| 5MHz&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| 0x03&lt;br /&gt;
| 2.5MHz&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| 0x04&lt;br /&gt;
| 1MHz&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| 0x05&lt;br /&gt;
| 500kHz&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| 0x06&lt;br /&gt;
| 250kHz&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| 0x07&lt;br /&gt;
| 100kHz&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| 0x08&lt;br /&gt;
| 50kHz&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| 0x09&lt;br /&gt;
| 10kHz&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| 0x0A&lt;br /&gt;
| 1.25kHz&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
The trigger can only be configured to one of the four channels with an arbitrary trigger type. Alternatively the trigger can be configured to all channels with the trigger type &amp;#039;&amp;#039;&amp;#039;Any edge&amp;#039;&amp;#039;&amp;#039; only. Other trigger configurations might lead to an unpredictable behaviour. The following table shows the possible trigger channels and their corresponding values.&lt;br /&gt;
&lt;br /&gt;
{| border=&amp;quot;0&amp;quot; style=&amp;quot;font-size: smaller;&amp;quot; class=&amp;quot;alternategrey sigroktable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
!Value&lt;br /&gt;
!Channel&lt;br /&gt;
|-&lt;br /&gt;
| 0x00&lt;br /&gt;
| ALL&lt;br /&gt;
|-&lt;br /&gt;
| 0x01&lt;br /&gt;
| 0&lt;br /&gt;
|-&lt;br /&gt;
| 0x02&lt;br /&gt;
| 1&lt;br /&gt;
|-&lt;br /&gt;
| 0x03&lt;br /&gt;
| 2&lt;br /&gt;
|-&lt;br /&gt;
| 0x04&lt;br /&gt;
| 3&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
The following table shows the possible trigger types and their corresponding values.&lt;br /&gt;
&lt;br /&gt;
{| border=&amp;quot;0&amp;quot; style=&amp;quot;font-size: smaller;&amp;quot; class=&amp;quot;alternategrey sigroktable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
!Value&lt;br /&gt;
!Trigger type&lt;br /&gt;
|-&lt;br /&gt;
| 0x00&lt;br /&gt;
| Falling edge&lt;br /&gt;
|-&lt;br /&gt;
| 0x01&lt;br /&gt;
| Rising edge&lt;br /&gt;
|-&lt;br /&gt;
| 0x02&lt;br /&gt;
| Any edge&lt;br /&gt;
|-&lt;br /&gt;
| 0x03&lt;br /&gt;
| No trigger&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Stopping acquisition ===&lt;br /&gt;
&lt;br /&gt;
An acquisition can be stopped by resetting the device. After that the [[Ikalogic_SCANALOGIC-2#Device status|device status]] indicates whether the acquisition is stopped. If the device is ready the acquisition was stopped successfully. An other device status indicates that the device did not recognize the reset. In this case the reset needs to be performed again.&lt;br /&gt;
&lt;br /&gt;
=== Receiving samples ===&lt;br /&gt;
&lt;br /&gt;
Sample data can be received by requesting 128 bytes from the device. The meaning of the received sample packet is described below. Information on whether sample data is ready to receive can be obtained by the [[Ikalogic_SCANALOGIC-2#Device status|device status]]. The sample packets will be received sequentially per channel. If no more sample data is available the device status changes to ready.&lt;br /&gt;
&lt;br /&gt;
{| border=&amp;quot;0&amp;quot; style=&amp;quot;font-size: smaller;&amp;quot; class=&amp;quot;alternategrey sigroktable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! Byte(s)&lt;br /&gt;
! Value&lt;br /&gt;
! Description&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| 0&lt;br /&gt;
| 0x05&lt;br /&gt;
| This byte indicates a valid device status.&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| 1&lt;br /&gt;
| Channel&lt;br /&gt;
| Channel number from 0x00 to 0x03.&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| 2&lt;br /&gt;
| Packet&lt;br /&gt;
| Sequential packet number from 0x00 to 0xFF. Note that the packet number wraps around if more than 253952 samples (124 bytes per packet * 8 samples per byte * 256 packets)  are requested.&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| 3&lt;br /&gt;
| 0x00&lt;br /&gt;
| This byte is always 0x00.&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| 4-127&lt;br /&gt;
| Sample data&lt;br /&gt;
| Sample data where each byte contains 8 samples. The first byte contains the first 8 samples.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Device status ===&lt;br /&gt;
&lt;br /&gt;
The device status can be obtained by requesting 128 bytes from the device. The first 2 bytes of the response (which are described below) have a meaning only. All following bytes can be ignored. Note that it might take a short time until a valid device status is received. In the meantime the last valid data of the device buffer will be received.&lt;br /&gt;
&lt;br /&gt;
{| border=&amp;quot;0&amp;quot; style=&amp;quot;font-size: smaller;&amp;quot; class=&amp;quot;alternategrey sigroktable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
!Byte(s)&lt;br /&gt;
!Value&lt;br /&gt;
!Description&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| 0&lt;br /&gt;
| 0x05&lt;br /&gt;
| This byte indicates a valid device status.&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| 1&lt;br /&gt;
| Status&lt;br /&gt;
| See the table below for a description of all possible status codes.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
All possible status codes are listed in the following table.&lt;br /&gt;
{| border=&amp;quot;0&amp;quot; style=&amp;quot;font-size: smaller;&amp;quot; class=&amp;quot;alternategrey sigroktable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
!Status&lt;br /&gt;
!Description&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| 0x60&lt;br /&gt;
| Sample data is ready to receive.&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| 0x61&lt;br /&gt;
| Device is waiting for a trigger event.&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| 0x62&lt;br /&gt;
| Sampling in progress.&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| 0x63&lt;br /&gt;
| Device is ready.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Device information ===&lt;br /&gt;
&lt;br /&gt;
Device information can be requested by sending 128 bytes to the device, of which only the first byte (which is described below) has a meaning. All following bytes can have an arbitrary value.&lt;br /&gt;
&lt;br /&gt;
{| border=&amp;quot;0&amp;quot; style=&amp;quot;font-size: smaller;&amp;quot; class=&amp;quot;alternategrey sigroktable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! Byte(s)&lt;br /&gt;
! Value&lt;br /&gt;
! Description&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| 0&lt;br /&gt;
| 0x0a&lt;br /&gt;
| Command which indicates to request device information.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
After these bytes are sent the device information can be obtained by requesting 128 bytes from the device. The first 7 bytes of the response (which is described below) have a meaning only. All following bytes can be ignored.&lt;br /&gt;
&lt;br /&gt;
{| border=&amp;quot;0&amp;quot; style=&amp;quot;font-size: smaller;&amp;quot; class=&amp;quot;alternategrey sigroktable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! Byte(s)&lt;br /&gt;
! Value&lt;br /&gt;
! Description&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| 0&lt;br /&gt;
| 0x0a&lt;br /&gt;
| This byte indicates valid device information.&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| 1-4&lt;br /&gt;
| Serial number&lt;br /&gt;
| Serial number of the device which is also the [[Wikipedia:Unix time|Unix time]] of the production date.&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| 5-6&lt;br /&gt;
| Firmware version&lt;br /&gt;
| Major and minor version of the firmware.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
The following example shows the information of a device with the serial number 1371371152 and the firmware version 1.3.&lt;br /&gt;
&lt;br /&gt;
 0x0A 0x90 0x76 0xBD 0x51 0x01 0x03 0x00  0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00&lt;br /&gt;
 0x00 0x00 0x00 ...&lt;br /&gt;
&lt;br /&gt;
=== Idle ===&lt;br /&gt;
&lt;br /&gt;
The device can be set to idle state by sending 128 bytes to the device, of which only the first byte (which is described below) has a meaning. All following bytes can have an arbitrary value.&lt;br /&gt;
&lt;br /&gt;
{| border=&amp;quot;0&amp;quot; style=&amp;quot;font-size: smaller;&amp;quot; class=&amp;quot;alternategrey sigroktable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! Byte(s)&lt;br /&gt;
! Value&lt;br /&gt;
! Description&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| 0&lt;br /&gt;
| 0x07&lt;br /&gt;
| Command which indicates to set the device to idle state.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
If the device is not in idle state it possibly will reset itself after a few seconds without being used and thereby close the connection. Instead of setting the device to idle state it is also possible to periodically send commands to the device to ensure it will not close the connection itself. Note that the [[Ikalogic_SCANALOGIC-2#Device status|device status]] can not be obtained if the device is in idle state. It is recommended to enter idle state when the device status is ready only and [[Ikalogic_SCANALOGIC-2#Reset|reset]] the device to leave idle state. To prevent that the device resets itself and thereby reattaches to the bus every time the device was used it is also recommended to set the device to idle state before closing the connection.&lt;br /&gt;
&lt;br /&gt;
=== Reset ===&lt;br /&gt;
&lt;br /&gt;
The device can be reset by sending 128 bytes to the device, of which only the first byte (which is described below) has a meaning. All following bytes can have an arbitrary value.&lt;br /&gt;
&lt;br /&gt;
{| border=&amp;quot;0&amp;quot; style=&amp;quot;font-size: smaller;&amp;quot; class=&amp;quot;alternategrey sigroktable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! Byte(s)&lt;br /&gt;
! Value&lt;br /&gt;
! Description&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| 0&lt;br /&gt;
| 0x02&lt;br /&gt;
| Command which indicates to reset the device.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
After the reset is performed the [[Ikalogic SCANALOGIC-2#Device status|device status]] changes to ready. It is recommended to reset the device after a new connection is established to ensure it has left idle state.&lt;br /&gt;
&lt;br /&gt;
== Resources ==&lt;br /&gt;
&lt;br /&gt;
* [http://www.ikalogic.com/wp-content/uploads/Scanalogic2_specifications_sheet.pdf Specification]&lt;br /&gt;
* [http://www.ikalogic.com/wp-content/uploads/Scanalogic2_manual_EN.pdf Manual]&lt;br /&gt;
* [http://www.ikalogic.com/ikalogic-products/scanastudio-2/ Vendor software]&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>Marc Schink</name></author>
	</entry>
	<entry>
		<id>https://sigrok.org/w/index.php?title=IKALOGIC_Scanalogic-2&amp;diff=6756</id>
		<title>IKALOGIC Scanalogic-2</title>
		<link rel="alternate" type="text/html" href="https://sigrok.org/w/index.php?title=IKALOGIC_Scanalogic-2&amp;diff=6756"/>
		<updated>2013-07-01T18:05:28Z</updated>

		<summary type="html">&lt;p&gt;Marc Schink: /* Idle */ Idle recommendations.&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{Infobox logic analyzer&lt;br /&gt;
| image            = [[File:Ikalogic scanalogic2.png|180px]]&lt;br /&gt;
| name             = Ikalogic SCANALOGIC-2&lt;br /&gt;
| status           = supported&lt;br /&gt;
| source_code_dir  = ikalogic-scanalogic2&lt;br /&gt;
| channels         = 4&lt;br /&gt;
| samplerate       = 20MHz&lt;br /&gt;
| samplerate_state = &amp;amp;mdash;&lt;br /&gt;
| triggers         = rising, falling, either&lt;br /&gt;
| voltages         = -0.7V &amp;amp;mdash; 5.5V&lt;br /&gt;
| threshold        = ?&lt;br /&gt;
| memory           = 256ksamples/ch&lt;br /&gt;
| compression      = none&lt;br /&gt;
| website          = [http://www.ikalogic.com/scanalogic2/ ikalogic.com]&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
The &amp;#039;&amp;#039;&amp;#039;Ikalogic SCANALOGIC-2&amp;#039;&amp;#039;&amp;#039; is a USB-based, 4-channel logic analyzer with up to 20MHz sampling rate.&lt;br /&gt;
&lt;br /&gt;
See [[Ikalogic SCANALOGIC-2/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;
* [http://www.atmel.com/devices/atmega168pa.aspx Atmel ATmega168 PA] ([http://www.atmel.com/Images/Atmel-8271-8-bit-AVR-Microcontroller-ATmega48A-48PA-88A-88PA-168A-168PA-328-328P_datasheet_Summary.pdf datasheet])&lt;br /&gt;
* 2x [http://www.fairchildsemi.com/pf/74/74LCX125.html Fairchild Semiconductor 74LCX125]&lt;br /&gt;
* 4x [http://www.microchip.com/wwwproducts/Devices.aspx?dDocName=en539039 Microchip 23K256I] ([http://ww1.microchip.com/downloads/en/DeviceDoc/22100F.pdf datasheet])&lt;br /&gt;
* 20MHz crystal&lt;br /&gt;
&lt;br /&gt;
== Photos ==&lt;br /&gt;
&lt;br /&gt;
Device built from DIY soldering kit, firmware version 1.2:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;gallery&amp;gt;&lt;br /&gt;
File:Ikalogic scanalogic2 device with probes.jpg|&amp;lt;small&amp;gt;Device with probes&amp;lt;/small&amp;gt;&lt;br /&gt;
File:Ikalogic scanalogic2 parts.jpg|&amp;lt;small&amp;gt;Parts&amp;lt;/small&amp;gt;&lt;br /&gt;
File:Ikalogic scanalogic2 guide back.jpg|&amp;lt;small&amp;gt;User&amp;#039;s guide&amp;lt;/small&amp;gt;&lt;br /&gt;
File:Ikalogic scanalogic2 pcb soldered front.jpg|&amp;lt;small&amp;gt;PCB, front&amp;lt;/small&amp;gt;&lt;br /&gt;
File:Ikalogic scanalogic2 pcb soldered back.jpg|&amp;lt;small&amp;gt;PCB, back&amp;lt;/small&amp;gt;&lt;br /&gt;
File:Ikalogic scanalogic2 pcb soldered light.jpg|&amp;lt;small&amp;gt;PCB, bright light&amp;lt;/small&amp;gt;&lt;br /&gt;
&amp;lt;/gallery&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Another device, firmware version 1.3:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;gallery&amp;gt;&lt;br /&gt;
File:Ikalogic scanalogic2 pcb soldered front rev2.jpg|&amp;lt;small&amp;gt;PCB, front&amp;lt;/small&amp;gt;&lt;br /&gt;
File:Ikalogic scanalogic2 pcb soldered back rev2.jpg|&amp;lt;small&amp;gt;PCB, back&amp;lt;/small&amp;gt;&lt;br /&gt;
File:Ikalogic scanalogic2 device open rev2.jpg|&amp;lt;small&amp;gt;Device, open&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;
In progress.&lt;br /&gt;
&lt;br /&gt;
=== Starting an acquisition ===&lt;br /&gt;
&lt;br /&gt;
An acquisition can be started by sending 128 bytes to the device, of which only the first 12 bytes (which are described below) have a meaning. All following bytes can have an arbitrary value. The device is capable to acquire up to 262128 samples whereas the vendor software limits it to 261888 samples. The number of pre- and post-trigger samples together must not exceed the sample limit of the device.&lt;br /&gt;
&lt;br /&gt;
{| border=&amp;quot;0&amp;quot; style=&amp;quot;font-size: smaller;&amp;quot; class=&amp;quot;alternategrey sigroktable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! Byte(s)&lt;br /&gt;
! Value&lt;br /&gt;
! Description&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| 0&lt;br /&gt;
| 0x01&lt;br /&gt;
| Command which indicates to start an acquisition.&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| 1&lt;br /&gt;
| 0x00&lt;br /&gt;
| This byte must always be 0x00.&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| 2-3&lt;br /&gt;
| Pre-trigger samples&lt;br /&gt;
| Number of samples to acquire in multiples of 8 before the trigger occurs.&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| 4-5&lt;br /&gt;
| Post-trigger samples&lt;br /&gt;
| Number of samples to acquire in multiples of 8 after the trigger occurs.&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| 6&lt;br /&gt;
| Samplerate&lt;br /&gt;
| See table below for a list of all possible samplerates and their corresponding values.&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| 7&lt;br /&gt;
| Trigger type&lt;br /&gt;
| See table below for all possible trigger types and their corresponding values.&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| 8&lt;br /&gt;
| Trigger channel&lt;br /&gt;
| See table below for a list of all possible trigger channels and their corresponding values.&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| 9&lt;br /&gt;
| 0x00&lt;br /&gt;
| This byte must always be 0x00.&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| 10-11&lt;br /&gt;
| After trigger delay&lt;br /&gt;
| Time that the trigger will be delayed in milliseconds. The trigger can be delayed from 0 to 65000ms.&lt;br /&gt;
&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
The following example starts an acquisition with a samplerate of 5MHz and with 2384 samples before and 17456 samples after the trigger occurs. The trigger is configured to channel 2 with a rising edge and is delayed for 20000ms.&lt;br /&gt;
&lt;br /&gt;
 0x01 0x00 0x2A 0x01 0x86 0x08 0x02 0x01  0x03 0x00 0x20 0x4E 0x00 0x00 0x00 0x00&lt;br /&gt;
 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00  0x00 ...&lt;br /&gt;
&lt;br /&gt;
The following table shows all possible samplerates.&lt;br /&gt;
&lt;br /&gt;
{| border=&amp;quot;0&amp;quot; style=&amp;quot;font-size: smaller;&amp;quot; class=&amp;quot;alternategrey sigroktable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
!Value&lt;br /&gt;
!Samplerate&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| 0x00&lt;br /&gt;
| 20MHz&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| 0x01&lt;br /&gt;
| 10MHz&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| 0x02&lt;br /&gt;
| 5MHz&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| 0x03&lt;br /&gt;
| 2.5MHz&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| 0x04&lt;br /&gt;
| 1MHz&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| 0x05&lt;br /&gt;
| 500kHz&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| 0x06&lt;br /&gt;
| 250kHz&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| 0x07&lt;br /&gt;
| 100kHz&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| 0x08&lt;br /&gt;
| 50kHz&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| 0x09&lt;br /&gt;
| 10kHz&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| 0x0A&lt;br /&gt;
| 1.25kHz&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
The trigger can only be configured to one of the four channels with an arbitrary trigger type. Alternatively the trigger can be configured to all channels with the trigger type &amp;#039;&amp;#039;&amp;#039;Any edge&amp;#039;&amp;#039;&amp;#039; only. Other trigger configurations might lead to an unpredictable behaviour. The following table shows the possible trigger types and their corresponding values.&lt;br /&gt;
&lt;br /&gt;
{| border=&amp;quot;0&amp;quot; style=&amp;quot;font-size: smaller;&amp;quot; class=&amp;quot;alternategrey sigroktable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
!Value&lt;br /&gt;
!Channel&lt;br /&gt;
|-&lt;br /&gt;
| 0x00&lt;br /&gt;
| ALL&lt;br /&gt;
|-&lt;br /&gt;
| 0x01&lt;br /&gt;
| 0&lt;br /&gt;
|-&lt;br /&gt;
| 0x02&lt;br /&gt;
| 1&lt;br /&gt;
|-&lt;br /&gt;
| 0x03&lt;br /&gt;
| 2&lt;br /&gt;
|-&lt;br /&gt;
| 0x04&lt;br /&gt;
| 3&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
The following table shows the possible trigger types and their corresponding values.&lt;br /&gt;
&lt;br /&gt;
{| border=&amp;quot;0&amp;quot; style=&amp;quot;font-size: smaller;&amp;quot; class=&amp;quot;alternategrey sigroktable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
!Value&lt;br /&gt;
!Trigger type&lt;br /&gt;
|-&lt;br /&gt;
| 0x00&lt;br /&gt;
| Falling edge&lt;br /&gt;
|-&lt;br /&gt;
| 0x01&lt;br /&gt;
| Rising edge&lt;br /&gt;
|-&lt;br /&gt;
| 0x02&lt;br /&gt;
| Any edge&lt;br /&gt;
|-&lt;br /&gt;
| 0x03&lt;br /&gt;
| No trigger&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Stopping acquisition ===&lt;br /&gt;
&lt;br /&gt;
An acquisition can be stopped by resetting the device. After that the [[Ikalogic_SCANALOGIC-2#Device status|device status]] indicates whether the acquisition is stopped. If the device is ready the acquisition was stopped successfully. An other device status indicates that the device did not recognize the reset. In this case the reset needs to be performed again.&lt;br /&gt;
&lt;br /&gt;
=== Receiving samples ===&lt;br /&gt;
&lt;br /&gt;
Sample data can be received by requesting 128 bytes from the device. The meaning of the received sample packet is described below. Information on whether sample data is ready to receive can be obtained by the [[Ikalogic_SCANALOGIC-2#Device status|device status]]. The sample packets will be received sequentially per channel. If no more sample data is available the device status changes to ready.&lt;br /&gt;
&lt;br /&gt;
{| border=&amp;quot;0&amp;quot; style=&amp;quot;font-size: smaller;&amp;quot; class=&amp;quot;alternategrey sigroktable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! Byte(s)&lt;br /&gt;
! Value&lt;br /&gt;
! Description&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| 0&lt;br /&gt;
| 0x05&lt;br /&gt;
| This byte indicates a valid device status.&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| 1&lt;br /&gt;
| Channel&lt;br /&gt;
| Channel number from 0x00 to 0x03.&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| 2&lt;br /&gt;
| Packet&lt;br /&gt;
| Sequential packet number from 0x00 to 0xFF. Note that the packet number wraps around if more than 253952 samples (124 bytes per packet * 8 samples per byte * 256 packets)  are requested.&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| 3&lt;br /&gt;
| 0x00&lt;br /&gt;
| This byte is always 0x00.&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| 4-127&lt;br /&gt;
| Sample data&lt;br /&gt;
| Sample data where each byte contains 8 samples. The first byte contains the first 8 samples.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Device status ===&lt;br /&gt;
&lt;br /&gt;
The device status can be obtained by requesting 128 bytes from the device. The first 2 bytes of the response (which are described below) have a meaning only. All following bytes can be ignored. Note that it might take a short time until a valid device status is received. In the meantime the last valid data of the device buffer will be received.&lt;br /&gt;
&lt;br /&gt;
{| border=&amp;quot;0&amp;quot; style=&amp;quot;font-size: smaller;&amp;quot; class=&amp;quot;alternategrey sigroktable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
!Byte(s)&lt;br /&gt;
!Value&lt;br /&gt;
!Description&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| 0&lt;br /&gt;
| 0x05&lt;br /&gt;
| This byte indicates a valid device status.&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| 1&lt;br /&gt;
| Status&lt;br /&gt;
| See the table below for a description of all possible status codes.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
All possible status codes are listed in the following table.&lt;br /&gt;
{| border=&amp;quot;0&amp;quot; style=&amp;quot;font-size: smaller;&amp;quot; class=&amp;quot;alternategrey sigroktable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
!Status&lt;br /&gt;
!Description&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| 0x60&lt;br /&gt;
| Sample data is ready to receive.&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| 0x61&lt;br /&gt;
| Device is waiting for a trigger event.&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| 0x62&lt;br /&gt;
| Sampling in progress.&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| 0x63&lt;br /&gt;
| Device is ready.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Device information ===&lt;br /&gt;
&lt;br /&gt;
Device information can be requested by sending 128 bytes to the device, of which only the first byte (which is described below) has a meaning. All following bytes can have an arbitrary value.&lt;br /&gt;
&lt;br /&gt;
{| border=&amp;quot;0&amp;quot; style=&amp;quot;font-size: smaller;&amp;quot; class=&amp;quot;alternategrey sigroktable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! Byte(s)&lt;br /&gt;
! Value&lt;br /&gt;
! Description&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| 0&lt;br /&gt;
| 0x0a&lt;br /&gt;
| Command which indicates to request device information.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
After these bytes are sent the device information can be obtained by requesting 128 bytes from the device. The first 7 bytes of the response (which is described below) have a meaning only. All following bytes can be ignored.&lt;br /&gt;
&lt;br /&gt;
{| border=&amp;quot;0&amp;quot; style=&amp;quot;font-size: smaller;&amp;quot; class=&amp;quot;alternategrey sigroktable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! Byte(s)&lt;br /&gt;
! Value&lt;br /&gt;
! Description&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| 0&lt;br /&gt;
| 0x0a&lt;br /&gt;
| This byte indicates valid device information.&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| 1-4&lt;br /&gt;
| Serial number&lt;br /&gt;
| Serial number of the device which is also the [[Wikipedia:Unix time|Unix time]] of the production date.&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| 5-6&lt;br /&gt;
| Firmware version&lt;br /&gt;
| Major and minor version of the firmware.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
The following example shows the information of a device with the serial number 1371371152 and the firmware version 1.3.&lt;br /&gt;
&lt;br /&gt;
 0x0A 0x90 0x76 0xBD 0x51 0x01 0x03 0x00  0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00&lt;br /&gt;
 0x00 0x00 0x00 ...&lt;br /&gt;
&lt;br /&gt;
=== Idle ===&lt;br /&gt;
&lt;br /&gt;
The device can be set to idle state by sending 128 bytes to the device, of which only the first byte (which is described below) has a meaning. All following bytes can have an arbitrary value.&lt;br /&gt;
&lt;br /&gt;
{| border=&amp;quot;0&amp;quot; style=&amp;quot;font-size: smaller;&amp;quot; class=&amp;quot;alternategrey sigroktable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! Byte(s)&lt;br /&gt;
! Value&lt;br /&gt;
! Description&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| 0&lt;br /&gt;
| 0x07&lt;br /&gt;
| Command which indicates to set the device to idle state.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
If the device is not in idle state it possibly will reset itself after a few seconds without being used and thereby close the connection. Instead of setting the device to idle state it is also possible to periodically send commands to the device to ensure it will not close the connection itself. Note that the [[Ikalogic_SCANALOGIC-2#Device status|device status]] can not be obtained if the device is in idle state. It is recommended to enter idle state when the device status is ready only and [[Ikalogic_SCANALOGIC-2#Reset|reset]] the device to leave idle state. To prevent that the device resets itself and thereby reattaches to the bus every time the device was used it is also recommended to set the device to idle state before closing the connection.&lt;br /&gt;
&lt;br /&gt;
=== Reset ===&lt;br /&gt;
&lt;br /&gt;
The device can be reset by sending 128 bytes to the device, of which only the first byte (which is described below) has a meaning. All following bytes can have an arbitrary value.&lt;br /&gt;
&lt;br /&gt;
{| border=&amp;quot;0&amp;quot; style=&amp;quot;font-size: smaller;&amp;quot; class=&amp;quot;alternategrey sigroktable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! Byte(s)&lt;br /&gt;
! Value&lt;br /&gt;
! Description&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| 0&lt;br /&gt;
| 0x02&lt;br /&gt;
| Command which indicates to reset the device.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
After the reset is performed the [[Ikalogic SCANALOGIC-2#Device status|device status]] changes to ready. It is recommended to reset the device after a new connection is established to ensure it has left idle state.&lt;br /&gt;
&lt;br /&gt;
== Resources ==&lt;br /&gt;
&lt;br /&gt;
* [http://www.ikalogic.com/wp-content/uploads/Scanalogic2_specifications_sheet.pdf Specification]&lt;br /&gt;
* [http://www.ikalogic.com/wp-content/uploads/Scanalogic2_manual_EN.pdf Manual]&lt;br /&gt;
* [http://www.ikalogic.com/ikalogic-products/scanastudio-2/ Vendor software]&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>Marc Schink</name></author>
	</entry>
	<entry>
		<id>https://sigrok.org/w/index.php?title=IKALOGIC_Scanalogic-2&amp;diff=6755</id>
		<title>IKALOGIC Scanalogic-2</title>
		<link rel="alternate" type="text/html" href="https://sigrok.org/w/index.php?title=IKALOGIC_Scanalogic-2&amp;diff=6755"/>
		<updated>2013-07-01T18:04:35Z</updated>

		<summary type="html">&lt;p&gt;Marc Schink: /* Reset */ Reset recommendation.&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{Infobox logic analyzer&lt;br /&gt;
| image            = [[File:Ikalogic scanalogic2.png|180px]]&lt;br /&gt;
| name             = Ikalogic SCANALOGIC-2&lt;br /&gt;
| status           = supported&lt;br /&gt;
| source_code_dir  = ikalogic-scanalogic2&lt;br /&gt;
| channels         = 4&lt;br /&gt;
| samplerate       = 20MHz&lt;br /&gt;
| samplerate_state = &amp;amp;mdash;&lt;br /&gt;
| triggers         = rising, falling, either&lt;br /&gt;
| voltages         = -0.7V &amp;amp;mdash; 5.5V&lt;br /&gt;
| threshold        = ?&lt;br /&gt;
| memory           = 256ksamples/ch&lt;br /&gt;
| compression      = none&lt;br /&gt;
| website          = [http://www.ikalogic.com/scanalogic2/ ikalogic.com]&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
The &amp;#039;&amp;#039;&amp;#039;Ikalogic SCANALOGIC-2&amp;#039;&amp;#039;&amp;#039; is a USB-based, 4-channel logic analyzer with up to 20MHz sampling rate.&lt;br /&gt;
&lt;br /&gt;
See [[Ikalogic SCANALOGIC-2/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;
* [http://www.atmel.com/devices/atmega168pa.aspx Atmel ATmega168 PA] ([http://www.atmel.com/Images/Atmel-8271-8-bit-AVR-Microcontroller-ATmega48A-48PA-88A-88PA-168A-168PA-328-328P_datasheet_Summary.pdf datasheet])&lt;br /&gt;
* 2x [http://www.fairchildsemi.com/pf/74/74LCX125.html Fairchild Semiconductor 74LCX125]&lt;br /&gt;
* 4x [http://www.microchip.com/wwwproducts/Devices.aspx?dDocName=en539039 Microchip 23K256I] ([http://ww1.microchip.com/downloads/en/DeviceDoc/22100F.pdf datasheet])&lt;br /&gt;
* 20MHz crystal&lt;br /&gt;
&lt;br /&gt;
== Photos ==&lt;br /&gt;
&lt;br /&gt;
Device built from DIY soldering kit, firmware version 1.2:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;gallery&amp;gt;&lt;br /&gt;
File:Ikalogic scanalogic2 device with probes.jpg|&amp;lt;small&amp;gt;Device with probes&amp;lt;/small&amp;gt;&lt;br /&gt;
File:Ikalogic scanalogic2 parts.jpg|&amp;lt;small&amp;gt;Parts&amp;lt;/small&amp;gt;&lt;br /&gt;
File:Ikalogic scanalogic2 guide back.jpg|&amp;lt;small&amp;gt;User&amp;#039;s guide&amp;lt;/small&amp;gt;&lt;br /&gt;
File:Ikalogic scanalogic2 pcb soldered front.jpg|&amp;lt;small&amp;gt;PCB, front&amp;lt;/small&amp;gt;&lt;br /&gt;
File:Ikalogic scanalogic2 pcb soldered back.jpg|&amp;lt;small&amp;gt;PCB, back&amp;lt;/small&amp;gt;&lt;br /&gt;
File:Ikalogic scanalogic2 pcb soldered light.jpg|&amp;lt;small&amp;gt;PCB, bright light&amp;lt;/small&amp;gt;&lt;br /&gt;
&amp;lt;/gallery&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Another device, firmware version 1.3:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;gallery&amp;gt;&lt;br /&gt;
File:Ikalogic scanalogic2 pcb soldered front rev2.jpg|&amp;lt;small&amp;gt;PCB, front&amp;lt;/small&amp;gt;&lt;br /&gt;
File:Ikalogic scanalogic2 pcb soldered back rev2.jpg|&amp;lt;small&amp;gt;PCB, back&amp;lt;/small&amp;gt;&lt;br /&gt;
File:Ikalogic scanalogic2 device open rev2.jpg|&amp;lt;small&amp;gt;Device, open&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;
In progress.&lt;br /&gt;
&lt;br /&gt;
=== Starting an acquisition ===&lt;br /&gt;
&lt;br /&gt;
An acquisition can be started by sending 128 bytes to the device, of which only the first 12 bytes (which are described below) have a meaning. All following bytes can have an arbitrary value. The device is capable to acquire up to 262128 samples whereas the vendor software limits it to 261888 samples. The number of pre- and post-trigger samples together must not exceed the sample limit of the device.&lt;br /&gt;
&lt;br /&gt;
{| border=&amp;quot;0&amp;quot; style=&amp;quot;font-size: smaller;&amp;quot; class=&amp;quot;alternategrey sigroktable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! Byte(s)&lt;br /&gt;
! Value&lt;br /&gt;
! Description&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| 0&lt;br /&gt;
| 0x01&lt;br /&gt;
| Command which indicates to start an acquisition.&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| 1&lt;br /&gt;
| 0x00&lt;br /&gt;
| This byte must always be 0x00.&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| 2-3&lt;br /&gt;
| Pre-trigger samples&lt;br /&gt;
| Number of samples to acquire in multiples of 8 before the trigger occurs.&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| 4-5&lt;br /&gt;
| Post-trigger samples&lt;br /&gt;
| Number of samples to acquire in multiples of 8 after the trigger occurs.&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| 6&lt;br /&gt;
| Samplerate&lt;br /&gt;
| See table below for a list of all possible samplerates and their corresponding values.&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| 7&lt;br /&gt;
| Trigger type&lt;br /&gt;
| See table below for all possible trigger types and their corresponding values.&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| 8&lt;br /&gt;
| Trigger channel&lt;br /&gt;
| See table below for a list of all possible trigger channels and their corresponding values.&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| 9&lt;br /&gt;
| 0x00&lt;br /&gt;
| This byte must always be 0x00.&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| 10-11&lt;br /&gt;
| After trigger delay&lt;br /&gt;
| Time that the trigger will be delayed in milliseconds. The trigger can be delayed from 0 to 65000ms.&lt;br /&gt;
&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
The following example starts an acquisition with a samplerate of 5MHz and with 2384 samples before and 17456 samples after the trigger occurs. The trigger is configured to channel 2 with a rising edge and is delayed for 20000ms.&lt;br /&gt;
&lt;br /&gt;
 0x01 0x00 0x2A 0x01 0x86 0x08 0x02 0x01  0x03 0x00 0x20 0x4E 0x00 0x00 0x00 0x00&lt;br /&gt;
 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00  0x00 ...&lt;br /&gt;
&lt;br /&gt;
The following table shows all possible samplerates.&lt;br /&gt;
&lt;br /&gt;
{| border=&amp;quot;0&amp;quot; style=&amp;quot;font-size: smaller;&amp;quot; class=&amp;quot;alternategrey sigroktable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
!Value&lt;br /&gt;
!Samplerate&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| 0x00&lt;br /&gt;
| 20MHz&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| 0x01&lt;br /&gt;
| 10MHz&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| 0x02&lt;br /&gt;
| 5MHz&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| 0x03&lt;br /&gt;
| 2.5MHz&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| 0x04&lt;br /&gt;
| 1MHz&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| 0x05&lt;br /&gt;
| 500kHz&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| 0x06&lt;br /&gt;
| 250kHz&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| 0x07&lt;br /&gt;
| 100kHz&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| 0x08&lt;br /&gt;
| 50kHz&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| 0x09&lt;br /&gt;
| 10kHz&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| 0x0A&lt;br /&gt;
| 1.25kHz&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
The trigger can only be configured to one of the four channels with an arbitrary trigger type. Alternatively the trigger can be configured to all channels with the trigger type &amp;#039;&amp;#039;&amp;#039;Any edge&amp;#039;&amp;#039;&amp;#039; only. Other trigger configurations might lead to an unpredictable behaviour. The following table shows the possible trigger types and their corresponding values.&lt;br /&gt;
&lt;br /&gt;
{| border=&amp;quot;0&amp;quot; style=&amp;quot;font-size: smaller;&amp;quot; class=&amp;quot;alternategrey sigroktable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
!Value&lt;br /&gt;
!Channel&lt;br /&gt;
|-&lt;br /&gt;
| 0x00&lt;br /&gt;
| ALL&lt;br /&gt;
|-&lt;br /&gt;
| 0x01&lt;br /&gt;
| 0&lt;br /&gt;
|-&lt;br /&gt;
| 0x02&lt;br /&gt;
| 1&lt;br /&gt;
|-&lt;br /&gt;
| 0x03&lt;br /&gt;
| 2&lt;br /&gt;
|-&lt;br /&gt;
| 0x04&lt;br /&gt;
| 3&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
The following table shows the possible trigger types and their corresponding values.&lt;br /&gt;
&lt;br /&gt;
{| border=&amp;quot;0&amp;quot; style=&amp;quot;font-size: smaller;&amp;quot; class=&amp;quot;alternategrey sigroktable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
!Value&lt;br /&gt;
!Trigger type&lt;br /&gt;
|-&lt;br /&gt;
| 0x00&lt;br /&gt;
| Falling edge&lt;br /&gt;
|-&lt;br /&gt;
| 0x01&lt;br /&gt;
| Rising edge&lt;br /&gt;
|-&lt;br /&gt;
| 0x02&lt;br /&gt;
| Any edge&lt;br /&gt;
|-&lt;br /&gt;
| 0x03&lt;br /&gt;
| No trigger&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Stopping acquisition ===&lt;br /&gt;
&lt;br /&gt;
An acquisition can be stopped by resetting the device. After that the [[Ikalogic_SCANALOGIC-2#Device status|device status]] indicates whether the acquisition is stopped. If the device is ready the acquisition was stopped successfully. An other device status indicates that the device did not recognize the reset. In this case the reset needs to be performed again.&lt;br /&gt;
&lt;br /&gt;
=== Receiving samples ===&lt;br /&gt;
&lt;br /&gt;
Sample data can be received by requesting 128 bytes from the device. The meaning of the received sample packet is described below. Information on whether sample data is ready to receive can be obtained by the [[Ikalogic_SCANALOGIC-2#Device status|device status]]. The sample packets will be received sequentially per channel. If no more sample data is available the device status changes to ready.&lt;br /&gt;
&lt;br /&gt;
{| border=&amp;quot;0&amp;quot; style=&amp;quot;font-size: smaller;&amp;quot; class=&amp;quot;alternategrey sigroktable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! Byte(s)&lt;br /&gt;
! Value&lt;br /&gt;
! Description&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| 0&lt;br /&gt;
| 0x05&lt;br /&gt;
| This byte indicates a valid device status.&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| 1&lt;br /&gt;
| Channel&lt;br /&gt;
| Channel number from 0x00 to 0x03.&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| 2&lt;br /&gt;
| Packet&lt;br /&gt;
| Sequential packet number from 0x00 to 0xFF. Note that the packet number wraps around if more than 253952 samples (124 bytes per packet * 8 samples per byte * 256 packets)  are requested.&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| 3&lt;br /&gt;
| 0x00&lt;br /&gt;
| This byte is always 0x00.&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| 4-127&lt;br /&gt;
| Sample data&lt;br /&gt;
| Sample data where each byte contains 8 samples. The first byte contains the first 8 samples.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Device status ===&lt;br /&gt;
&lt;br /&gt;
The device status can be obtained by requesting 128 bytes from the device. The first 2 bytes of the response (which are described below) have a meaning only. All following bytes can be ignored. Note that it might take a short time until a valid device status is received. In the meantime the last valid data of the device buffer will be received.&lt;br /&gt;
&lt;br /&gt;
{| border=&amp;quot;0&amp;quot; style=&amp;quot;font-size: smaller;&amp;quot; class=&amp;quot;alternategrey sigroktable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
!Byte(s)&lt;br /&gt;
!Value&lt;br /&gt;
!Description&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| 0&lt;br /&gt;
| 0x05&lt;br /&gt;
| This byte indicates a valid device status.&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| 1&lt;br /&gt;
| Status&lt;br /&gt;
| See the table below for a description of all possible status codes.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
All possible status codes are listed in the following table.&lt;br /&gt;
{| border=&amp;quot;0&amp;quot; style=&amp;quot;font-size: smaller;&amp;quot; class=&amp;quot;alternategrey sigroktable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
!Status&lt;br /&gt;
!Description&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| 0x60&lt;br /&gt;
| Sample data is ready to receive.&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| 0x61&lt;br /&gt;
| Device is waiting for a trigger event.&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| 0x62&lt;br /&gt;
| Sampling in progress.&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| 0x63&lt;br /&gt;
| Device is ready.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Device information ===&lt;br /&gt;
&lt;br /&gt;
Device information can be requested by sending 128 bytes to the device, of which only the first byte (which is described below) has a meaning. All following bytes can have an arbitrary value.&lt;br /&gt;
&lt;br /&gt;
{| border=&amp;quot;0&amp;quot; style=&amp;quot;font-size: smaller;&amp;quot; class=&amp;quot;alternategrey sigroktable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! Byte(s)&lt;br /&gt;
! Value&lt;br /&gt;
! Description&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| 0&lt;br /&gt;
| 0x0a&lt;br /&gt;
| Command which indicates to request device information.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
After these bytes are sent the device information can be obtained by requesting 128 bytes from the device. The first 7 bytes of the response (which is described below) have a meaning only. All following bytes can be ignored.&lt;br /&gt;
&lt;br /&gt;
{| border=&amp;quot;0&amp;quot; style=&amp;quot;font-size: smaller;&amp;quot; class=&amp;quot;alternategrey sigroktable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! Byte(s)&lt;br /&gt;
! Value&lt;br /&gt;
! Description&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| 0&lt;br /&gt;
| 0x0a&lt;br /&gt;
| This byte indicates valid device information.&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| 1-4&lt;br /&gt;
| Serial number&lt;br /&gt;
| Serial number of the device which is also the [[Wikipedia:Unix time|Unix time]] of the production date.&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| 5-6&lt;br /&gt;
| Firmware version&lt;br /&gt;
| Major and minor version of the firmware.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
The following example shows the information of a device with the serial number 1371371152 and the firmware version 1.3.&lt;br /&gt;
&lt;br /&gt;
 0x0A 0x90 0x76 0xBD 0x51 0x01 0x03 0x00  0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00&lt;br /&gt;
 0x00 0x00 0x00 ...&lt;br /&gt;
&lt;br /&gt;
=== Idle ===&lt;br /&gt;
&lt;br /&gt;
The device can be set to idle state by sending 128 bytes to the device, of which only the first byte (which is described below) has a meaning. All following bytes can have an arbitrary value.&lt;br /&gt;
&lt;br /&gt;
{| border=&amp;quot;0&amp;quot; style=&amp;quot;font-size: smaller;&amp;quot; class=&amp;quot;alternategrey sigroktable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! Byte(s)&lt;br /&gt;
! Value&lt;br /&gt;
! Description&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| 0&lt;br /&gt;
| 0x07&lt;br /&gt;
| Command which indicates to set the device to idle state.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
If the device is not in idle state it possibly will reset itself after a few seconds without being used and thereby close the connection. Instead of setting the device to idle state it is also possible to periodically send commands to the device to ensure it will not close the connection itself. Note that the [[Ikalogic_SCANALOGIC-2#Device status|device status]] can not be obtained if the device is in idle state. It is recommended to [[Ikalogic_SCANALOGIC-2#Reset|reset]] the device to leave idle state.&lt;br /&gt;
&lt;br /&gt;
=== Reset ===&lt;br /&gt;
&lt;br /&gt;
The device can be reset by sending 128 bytes to the device, of which only the first byte (which is described below) has a meaning. All following bytes can have an arbitrary value.&lt;br /&gt;
&lt;br /&gt;
{| border=&amp;quot;0&amp;quot; style=&amp;quot;font-size: smaller;&amp;quot; class=&amp;quot;alternategrey sigroktable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! Byte(s)&lt;br /&gt;
! Value&lt;br /&gt;
! Description&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| 0&lt;br /&gt;
| 0x02&lt;br /&gt;
| Command which indicates to reset the device.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
After the reset is performed the [[Ikalogic SCANALOGIC-2#Device status|device status]] changes to ready. It is recommended to reset the device after a new connection is established to ensure it has left idle state.&lt;br /&gt;
&lt;br /&gt;
== Resources ==&lt;br /&gt;
&lt;br /&gt;
* [http://www.ikalogic.com/wp-content/uploads/Scanalogic2_specifications_sheet.pdf Specification]&lt;br /&gt;
* [http://www.ikalogic.com/wp-content/uploads/Scanalogic2_manual_EN.pdf Manual]&lt;br /&gt;
* [http://www.ikalogic.com/ikalogic-products/scanastudio-2/ Vendor software]&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>Marc Schink</name></author>
	</entry>
	<entry>
		<id>https://sigrok.org/w/index.php?title=IKALOGIC_Scanalogic-2&amp;diff=6754</id>
		<title>IKALOGIC Scanalogic-2</title>
		<link rel="alternate" type="text/html" href="https://sigrok.org/w/index.php?title=IKALOGIC_Scanalogic-2&amp;diff=6754"/>
		<updated>2013-07-01T18:04:01Z</updated>

		<summary type="html">&lt;p&gt;Marc Schink: /* Starting an acquisition */ Trigger information.&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{Infobox logic analyzer&lt;br /&gt;
| image            = [[File:Ikalogic scanalogic2.png|180px]]&lt;br /&gt;
| name             = Ikalogic SCANALOGIC-2&lt;br /&gt;
| status           = supported&lt;br /&gt;
| source_code_dir  = ikalogic-scanalogic2&lt;br /&gt;
| channels         = 4&lt;br /&gt;
| samplerate       = 20MHz&lt;br /&gt;
| samplerate_state = &amp;amp;mdash;&lt;br /&gt;
| triggers         = rising, falling, either&lt;br /&gt;
| voltages         = -0.7V &amp;amp;mdash; 5.5V&lt;br /&gt;
| threshold        = ?&lt;br /&gt;
| memory           = 256ksamples/ch&lt;br /&gt;
| compression      = none&lt;br /&gt;
| website          = [http://www.ikalogic.com/scanalogic2/ ikalogic.com]&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
The &amp;#039;&amp;#039;&amp;#039;Ikalogic SCANALOGIC-2&amp;#039;&amp;#039;&amp;#039; is a USB-based, 4-channel logic analyzer with up to 20MHz sampling rate.&lt;br /&gt;
&lt;br /&gt;
See [[Ikalogic SCANALOGIC-2/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;
* [http://www.atmel.com/devices/atmega168pa.aspx Atmel ATmega168 PA] ([http://www.atmel.com/Images/Atmel-8271-8-bit-AVR-Microcontroller-ATmega48A-48PA-88A-88PA-168A-168PA-328-328P_datasheet_Summary.pdf datasheet])&lt;br /&gt;
* 2x [http://www.fairchildsemi.com/pf/74/74LCX125.html Fairchild Semiconductor 74LCX125]&lt;br /&gt;
* 4x [http://www.microchip.com/wwwproducts/Devices.aspx?dDocName=en539039 Microchip 23K256I] ([http://ww1.microchip.com/downloads/en/DeviceDoc/22100F.pdf datasheet])&lt;br /&gt;
* 20MHz crystal&lt;br /&gt;
&lt;br /&gt;
== Photos ==&lt;br /&gt;
&lt;br /&gt;
Device built from DIY soldering kit, firmware version 1.2:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;gallery&amp;gt;&lt;br /&gt;
File:Ikalogic scanalogic2 device with probes.jpg|&amp;lt;small&amp;gt;Device with probes&amp;lt;/small&amp;gt;&lt;br /&gt;
File:Ikalogic scanalogic2 parts.jpg|&amp;lt;small&amp;gt;Parts&amp;lt;/small&amp;gt;&lt;br /&gt;
File:Ikalogic scanalogic2 guide back.jpg|&amp;lt;small&amp;gt;User&amp;#039;s guide&amp;lt;/small&amp;gt;&lt;br /&gt;
File:Ikalogic scanalogic2 pcb soldered front.jpg|&amp;lt;small&amp;gt;PCB, front&amp;lt;/small&amp;gt;&lt;br /&gt;
File:Ikalogic scanalogic2 pcb soldered back.jpg|&amp;lt;small&amp;gt;PCB, back&amp;lt;/small&amp;gt;&lt;br /&gt;
File:Ikalogic scanalogic2 pcb soldered light.jpg|&amp;lt;small&amp;gt;PCB, bright light&amp;lt;/small&amp;gt;&lt;br /&gt;
&amp;lt;/gallery&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Another device, firmware version 1.3:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;gallery&amp;gt;&lt;br /&gt;
File:Ikalogic scanalogic2 pcb soldered front rev2.jpg|&amp;lt;small&amp;gt;PCB, front&amp;lt;/small&amp;gt;&lt;br /&gt;
File:Ikalogic scanalogic2 pcb soldered back rev2.jpg|&amp;lt;small&amp;gt;PCB, back&amp;lt;/small&amp;gt;&lt;br /&gt;
File:Ikalogic scanalogic2 device open rev2.jpg|&amp;lt;small&amp;gt;Device, open&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;
In progress.&lt;br /&gt;
&lt;br /&gt;
=== Starting an acquisition ===&lt;br /&gt;
&lt;br /&gt;
An acquisition can be started by sending 128 bytes to the device, of which only the first 12 bytes (which are described below) have a meaning. All following bytes can have an arbitrary value. The device is capable to acquire up to 262128 samples whereas the vendor software limits it to 261888 samples. The number of pre- and post-trigger samples together must not exceed the sample limit of the device.&lt;br /&gt;
&lt;br /&gt;
{| border=&amp;quot;0&amp;quot; style=&amp;quot;font-size: smaller;&amp;quot; class=&amp;quot;alternategrey sigroktable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! Byte(s)&lt;br /&gt;
! Value&lt;br /&gt;
! Description&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| 0&lt;br /&gt;
| 0x01&lt;br /&gt;
| Command which indicates to start an acquisition.&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| 1&lt;br /&gt;
| 0x00&lt;br /&gt;
| This byte must always be 0x00.&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| 2-3&lt;br /&gt;
| Pre-trigger samples&lt;br /&gt;
| Number of samples to acquire in multiples of 8 before the trigger occurs.&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| 4-5&lt;br /&gt;
| Post-trigger samples&lt;br /&gt;
| Number of samples to acquire in multiples of 8 after the trigger occurs.&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| 6&lt;br /&gt;
| Samplerate&lt;br /&gt;
| See table below for a list of all possible samplerates and their corresponding values.&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| 7&lt;br /&gt;
| Trigger type&lt;br /&gt;
| See table below for all possible trigger types and their corresponding values.&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| 8&lt;br /&gt;
| Trigger channel&lt;br /&gt;
| See table below for a list of all possible trigger channels and their corresponding values.&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| 9&lt;br /&gt;
| 0x00&lt;br /&gt;
| This byte must always be 0x00.&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| 10-11&lt;br /&gt;
| After trigger delay&lt;br /&gt;
| Time that the trigger will be delayed in milliseconds. The trigger can be delayed from 0 to 65000ms.&lt;br /&gt;
&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
The following example starts an acquisition with a samplerate of 5MHz and with 2384 samples before and 17456 samples after the trigger occurs. The trigger is configured to channel 2 with a rising edge and is delayed for 20000ms.&lt;br /&gt;
&lt;br /&gt;
 0x01 0x00 0x2A 0x01 0x86 0x08 0x02 0x01  0x03 0x00 0x20 0x4E 0x00 0x00 0x00 0x00&lt;br /&gt;
 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00  0x00 ...&lt;br /&gt;
&lt;br /&gt;
The following table shows all possible samplerates.&lt;br /&gt;
&lt;br /&gt;
{| border=&amp;quot;0&amp;quot; style=&amp;quot;font-size: smaller;&amp;quot; class=&amp;quot;alternategrey sigroktable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
!Value&lt;br /&gt;
!Samplerate&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| 0x00&lt;br /&gt;
| 20MHz&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| 0x01&lt;br /&gt;
| 10MHz&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| 0x02&lt;br /&gt;
| 5MHz&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| 0x03&lt;br /&gt;
| 2.5MHz&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| 0x04&lt;br /&gt;
| 1MHz&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| 0x05&lt;br /&gt;
| 500kHz&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| 0x06&lt;br /&gt;
| 250kHz&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| 0x07&lt;br /&gt;
| 100kHz&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| 0x08&lt;br /&gt;
| 50kHz&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| 0x09&lt;br /&gt;
| 10kHz&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| 0x0A&lt;br /&gt;
| 1.25kHz&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
The trigger can only be configured to one of the four channels with an arbitrary trigger type. Alternatively the trigger can be configured to all channels with the trigger type &amp;#039;&amp;#039;&amp;#039;Any edge&amp;#039;&amp;#039;&amp;#039; only. Other trigger configurations might lead to an unpredictable behaviour. The following table shows the possible trigger types and their corresponding values.&lt;br /&gt;
&lt;br /&gt;
{| border=&amp;quot;0&amp;quot; style=&amp;quot;font-size: smaller;&amp;quot; class=&amp;quot;alternategrey sigroktable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
!Value&lt;br /&gt;
!Channel&lt;br /&gt;
|-&lt;br /&gt;
| 0x00&lt;br /&gt;
| ALL&lt;br /&gt;
|-&lt;br /&gt;
| 0x01&lt;br /&gt;
| 0&lt;br /&gt;
|-&lt;br /&gt;
| 0x02&lt;br /&gt;
| 1&lt;br /&gt;
|-&lt;br /&gt;
| 0x03&lt;br /&gt;
| 2&lt;br /&gt;
|-&lt;br /&gt;
| 0x04&lt;br /&gt;
| 3&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
The following table shows the possible trigger types and their corresponding values.&lt;br /&gt;
&lt;br /&gt;
{| border=&amp;quot;0&amp;quot; style=&amp;quot;font-size: smaller;&amp;quot; class=&amp;quot;alternategrey sigroktable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
!Value&lt;br /&gt;
!Trigger type&lt;br /&gt;
|-&lt;br /&gt;
| 0x00&lt;br /&gt;
| Falling edge&lt;br /&gt;
|-&lt;br /&gt;
| 0x01&lt;br /&gt;
| Rising edge&lt;br /&gt;
|-&lt;br /&gt;
| 0x02&lt;br /&gt;
| Any edge&lt;br /&gt;
|-&lt;br /&gt;
| 0x03&lt;br /&gt;
| No trigger&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Stopping acquisition ===&lt;br /&gt;
&lt;br /&gt;
An acquisition can be stopped by resetting the device. After that the [[Ikalogic_SCANALOGIC-2#Device status|device status]] indicates whether the acquisition is stopped. If the device is ready the acquisition was stopped successfully. An other device status indicates that the device did not recognize the reset. In this case the reset needs to be performed again.&lt;br /&gt;
&lt;br /&gt;
=== Receiving samples ===&lt;br /&gt;
&lt;br /&gt;
Sample data can be received by requesting 128 bytes from the device. The meaning of the received sample packet is described below. Information on whether sample data is ready to receive can be obtained by the [[Ikalogic_SCANALOGIC-2#Device status|device status]]. The sample packets will be received sequentially per channel. If no more sample data is available the device status changes to ready.&lt;br /&gt;
&lt;br /&gt;
{| border=&amp;quot;0&amp;quot; style=&amp;quot;font-size: smaller;&amp;quot; class=&amp;quot;alternategrey sigroktable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! Byte(s)&lt;br /&gt;
! Value&lt;br /&gt;
! Description&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| 0&lt;br /&gt;
| 0x05&lt;br /&gt;
| This byte indicates a valid device status.&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| 1&lt;br /&gt;
| Channel&lt;br /&gt;
| Channel number from 0x00 to 0x03.&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| 2&lt;br /&gt;
| Packet&lt;br /&gt;
| Sequential packet number from 0x00 to 0xFF. Note that the packet number wraps around if more than 253952 samples (124 bytes per packet * 8 samples per byte * 256 packets)  are requested.&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| 3&lt;br /&gt;
| 0x00&lt;br /&gt;
| This byte is always 0x00.&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| 4-127&lt;br /&gt;
| Sample data&lt;br /&gt;
| Sample data where each byte contains 8 samples. The first byte contains the first 8 samples.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Device status ===&lt;br /&gt;
&lt;br /&gt;
The device status can be obtained by requesting 128 bytes from the device. The first 2 bytes of the response (which are described below) have a meaning only. All following bytes can be ignored. Note that it might take a short time until a valid device status is received. In the meantime the last valid data of the device buffer will be received.&lt;br /&gt;
&lt;br /&gt;
{| border=&amp;quot;0&amp;quot; style=&amp;quot;font-size: smaller;&amp;quot; class=&amp;quot;alternategrey sigroktable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
!Byte(s)&lt;br /&gt;
!Value&lt;br /&gt;
!Description&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| 0&lt;br /&gt;
| 0x05&lt;br /&gt;
| This byte indicates a valid device status.&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| 1&lt;br /&gt;
| Status&lt;br /&gt;
| See the table below for a description of all possible status codes.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
All possible status codes are listed in the following table.&lt;br /&gt;
{| border=&amp;quot;0&amp;quot; style=&amp;quot;font-size: smaller;&amp;quot; class=&amp;quot;alternategrey sigroktable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
!Status&lt;br /&gt;
!Description&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| 0x60&lt;br /&gt;
| Sample data is ready to receive.&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| 0x61&lt;br /&gt;
| Device is waiting for a trigger event.&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| 0x62&lt;br /&gt;
| Sampling in progress.&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| 0x63&lt;br /&gt;
| Device is ready.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Device information ===&lt;br /&gt;
&lt;br /&gt;
Device information can be requested by sending 128 bytes to the device, of which only the first byte (which is described below) has a meaning. All following bytes can have an arbitrary value.&lt;br /&gt;
&lt;br /&gt;
{| border=&amp;quot;0&amp;quot; style=&amp;quot;font-size: smaller;&amp;quot; class=&amp;quot;alternategrey sigroktable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! Byte(s)&lt;br /&gt;
! Value&lt;br /&gt;
! Description&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| 0&lt;br /&gt;
| 0x0a&lt;br /&gt;
| Command which indicates to request device information.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
After these bytes are sent the device information can be obtained by requesting 128 bytes from the device. The first 7 bytes of the response (which is described below) have a meaning only. All following bytes can be ignored.&lt;br /&gt;
&lt;br /&gt;
{| border=&amp;quot;0&amp;quot; style=&amp;quot;font-size: smaller;&amp;quot; class=&amp;quot;alternategrey sigroktable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! Byte(s)&lt;br /&gt;
! Value&lt;br /&gt;
! Description&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| 0&lt;br /&gt;
| 0x0a&lt;br /&gt;
| This byte indicates valid device information.&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| 1-4&lt;br /&gt;
| Serial number&lt;br /&gt;
| Serial number of the device which is also the [[Wikipedia:Unix time|Unix time]] of the production date.&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| 5-6&lt;br /&gt;
| Firmware version&lt;br /&gt;
| Major and minor version of the firmware.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
The following example shows the information of a device with the serial number 1371371152 and the firmware version 1.3.&lt;br /&gt;
&lt;br /&gt;
 0x0A 0x90 0x76 0xBD 0x51 0x01 0x03 0x00  0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00&lt;br /&gt;
 0x00 0x00 0x00 ...&lt;br /&gt;
&lt;br /&gt;
=== Idle ===&lt;br /&gt;
&lt;br /&gt;
The device can be set to idle state by sending 128 bytes to the device, of which only the first byte (which is described below) has a meaning. All following bytes can have an arbitrary value.&lt;br /&gt;
&lt;br /&gt;
{| border=&amp;quot;0&amp;quot; style=&amp;quot;font-size: smaller;&amp;quot; class=&amp;quot;alternategrey sigroktable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! Byte(s)&lt;br /&gt;
! Value&lt;br /&gt;
! Description&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| 0&lt;br /&gt;
| 0x07&lt;br /&gt;
| Command which indicates to set the device to idle state.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
If the device is not in idle state it possibly will reset itself after a few seconds without being used and thereby close the connection. Instead of setting the device to idle state it is also possible to periodically send commands to the device to ensure it will not close the connection itself. Note that the [[Ikalogic_SCANALOGIC-2#Device status|device status]] can not be obtained if the device is in idle state. It is recommended to [[Ikalogic_SCANALOGIC-2#Reset|reset]] the device to leave idle state.&lt;br /&gt;
&lt;br /&gt;
=== Reset ===&lt;br /&gt;
&lt;br /&gt;
The device can be reset by sending 128 bytes to the device, of which only the first byte (which is described below) has a meaning. All following bytes can have an arbitrary value.&lt;br /&gt;
&lt;br /&gt;
{| border=&amp;quot;0&amp;quot; style=&amp;quot;font-size: smaller;&amp;quot; class=&amp;quot;alternategrey sigroktable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! Byte(s)&lt;br /&gt;
! Value&lt;br /&gt;
! Description&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| 0&lt;br /&gt;
| 0x02&lt;br /&gt;
| Command which indicates to reset the device.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
After the reset is performed the [[Ikalogic SCANALOGIC-2#Device status|device status]] changes to ready.&lt;br /&gt;
&lt;br /&gt;
== Resources ==&lt;br /&gt;
&lt;br /&gt;
* [http://www.ikalogic.com/wp-content/uploads/Scanalogic2_specifications_sheet.pdf Specification]&lt;br /&gt;
* [http://www.ikalogic.com/wp-content/uploads/Scanalogic2_manual_EN.pdf Manual]&lt;br /&gt;
* [http://www.ikalogic.com/ikalogic-products/scanastudio-2/ Vendor software]&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>Marc Schink</name></author>
	</entry>
	<entry>
		<id>https://sigrok.org/w/index.php?title=IKALOGIC_Scanalogic-2&amp;diff=6753</id>
		<title>IKALOGIC Scanalogic-2</title>
		<link rel="alternate" type="text/html" href="https://sigrok.org/w/index.php?title=IKALOGIC_Scanalogic-2&amp;diff=6753"/>
		<updated>2013-07-01T09:34:37Z</updated>

		<summary type="html">&lt;p&gt;Marc Schink: Undo revision 6752 by Marc Schink (talk)&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{Infobox logic analyzer&lt;br /&gt;
| image            = [[File:Ikalogic scanalogic2.png|180px]]&lt;br /&gt;
| name             = Ikalogic SCANALOGIC-2&lt;br /&gt;
| status           = supported&lt;br /&gt;
| source_code_dir  = ikalogic-scanalogic2&lt;br /&gt;
| channels         = 4&lt;br /&gt;
| samplerate       = 20MHz&lt;br /&gt;
| samplerate_state = &amp;amp;mdash;&lt;br /&gt;
| triggers         = rising, falling, either&lt;br /&gt;
| voltages         = -0.7V &amp;amp;mdash; 5.5V&lt;br /&gt;
| threshold        = ?&lt;br /&gt;
| memory           = 256ksamples/ch&lt;br /&gt;
| compression      = none&lt;br /&gt;
| website          = [http://www.ikalogic.com/scanalogic2/ ikalogic.com]&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
The &amp;#039;&amp;#039;&amp;#039;Ikalogic SCANALOGIC-2&amp;#039;&amp;#039;&amp;#039; is a USB-based, 4-channel logic analyzer with up to 20MHz sampling rate.&lt;br /&gt;
&lt;br /&gt;
See [[Ikalogic SCANALOGIC-2/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;
* [http://www.atmel.com/devices/atmega168pa.aspx Atmel ATmega168 PA] ([http://www.atmel.com/Images/Atmel-8271-8-bit-AVR-Microcontroller-ATmega48A-48PA-88A-88PA-168A-168PA-328-328P_datasheet_Summary.pdf datasheet])&lt;br /&gt;
* 2x [http://www.fairchildsemi.com/pf/74/74LCX125.html Fairchild Semiconductor 74LCX125]&lt;br /&gt;
* 4x [http://www.microchip.com/wwwproducts/Devices.aspx?dDocName=en539039 Microchip 23K256I] ([http://ww1.microchip.com/downloads/en/DeviceDoc/22100F.pdf datasheet])&lt;br /&gt;
* 20MHz crystal&lt;br /&gt;
&lt;br /&gt;
== Photos ==&lt;br /&gt;
&lt;br /&gt;
Device built from DIY soldering kit, firmware version 1.2:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;gallery&amp;gt;&lt;br /&gt;
File:Ikalogic scanalogic2 device with probes.jpg|&amp;lt;small&amp;gt;Device with probes&amp;lt;/small&amp;gt;&lt;br /&gt;
File:Ikalogic scanalogic2 parts.jpg|&amp;lt;small&amp;gt;Parts&amp;lt;/small&amp;gt;&lt;br /&gt;
File:Ikalogic scanalogic2 guide back.jpg|&amp;lt;small&amp;gt;User&amp;#039;s guide&amp;lt;/small&amp;gt;&lt;br /&gt;
File:Ikalogic scanalogic2 pcb soldered front.jpg|&amp;lt;small&amp;gt;PCB, front&amp;lt;/small&amp;gt;&lt;br /&gt;
File:Ikalogic scanalogic2 pcb soldered back.jpg|&amp;lt;small&amp;gt;PCB, back&amp;lt;/small&amp;gt;&lt;br /&gt;
File:Ikalogic scanalogic2 pcb soldered light.jpg|&amp;lt;small&amp;gt;PCB, bright light&amp;lt;/small&amp;gt;&lt;br /&gt;
&amp;lt;/gallery&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Another device, firmware version 1.3:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;gallery&amp;gt;&lt;br /&gt;
File:Ikalogic scanalogic2 pcb soldered front rev2.jpg|&amp;lt;small&amp;gt;PCB, front&amp;lt;/small&amp;gt;&lt;br /&gt;
File:Ikalogic scanalogic2 pcb soldered back rev2.jpg|&amp;lt;small&amp;gt;PCB, back&amp;lt;/small&amp;gt;&lt;br /&gt;
File:Ikalogic scanalogic2 device open rev2.jpg|&amp;lt;small&amp;gt;Device, open&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;
In progress.&lt;br /&gt;
&lt;br /&gt;
=== Starting an acquisition ===&lt;br /&gt;
&lt;br /&gt;
An acquisition can be started by sending 128 bytes to the device, of which only the first 12 bytes (which are described below) have a meaning. All following bytes can have an arbitrary value. The device is capable to acquire up to 262128 samples whereas the vendor software limits it to 261888 samples. The number of pre- and post-trigger samples together must not exceed the sample limit of the device.&lt;br /&gt;
&lt;br /&gt;
{| border=&amp;quot;0&amp;quot; style=&amp;quot;font-size: smaller;&amp;quot; class=&amp;quot;alternategrey sigroktable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! Byte(s)&lt;br /&gt;
! Value&lt;br /&gt;
! Description&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| 0&lt;br /&gt;
| 0x01&lt;br /&gt;
| Command which indicates to start an acquisition.&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| 1&lt;br /&gt;
| 0x00&lt;br /&gt;
| This byte must always be 0x00.&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| 2-3&lt;br /&gt;
| Pre-trigger samples&lt;br /&gt;
| Number of samples to acquire in multiples of 8 before the trigger occurs.&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| 4-5&lt;br /&gt;
| Post-trigger samples&lt;br /&gt;
| Number of samples to acquire in multiples of 8 after the trigger occurs.&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| 6&lt;br /&gt;
| Samplerate&lt;br /&gt;
| See table below for a list of all possible samplerates and their corresponding values.&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| 7&lt;br /&gt;
| Trigger type&lt;br /&gt;
| &lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| 8&lt;br /&gt;
| Trigger channel&lt;br /&gt;
| &lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| 9&lt;br /&gt;
| 0x00&lt;br /&gt;
| This byte must always be 0x00.&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| 10-11&lt;br /&gt;
| After trigger delay&lt;br /&gt;
| Time that the trigger will be delayed in milliseconds. The trigger can be delayed from 0 to 65000ms.&lt;br /&gt;
&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
The following example starts an acquisition with a samplerate of 5MHz and with 2384 samples before and 17456 samples after the trigger occurs. The trigger is configured to channel 2 with a rising edge and is delayed for 20000ms.&lt;br /&gt;
&lt;br /&gt;
 0x01 0x00 0x2A 0x01 0x86 0x08 0x02 0x01  0x03 0x00 0x20 0x4E 0x00 0x00 0x00 0x00&lt;br /&gt;
 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00  0x00 ...&lt;br /&gt;
&lt;br /&gt;
The following table shows all possible samplerates.&lt;br /&gt;
&lt;br /&gt;
{| border=&amp;quot;0&amp;quot; style=&amp;quot;font-size: smaller;&amp;quot; class=&amp;quot;alternategrey sigroktable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
!Value&lt;br /&gt;
!Samplerate&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| 0x00&lt;br /&gt;
| 20MHz&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| 0x01&lt;br /&gt;
| 10MHz&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| 0x02&lt;br /&gt;
| 5MHz&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| 0x03&lt;br /&gt;
| 2.5MHz&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| 0x04&lt;br /&gt;
| 1MHz&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| 0x05&lt;br /&gt;
| 500kHz&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| 0x06&lt;br /&gt;
| 250kHz&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| 0x07&lt;br /&gt;
| 100kHz&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| 0x08&lt;br /&gt;
| 50kHz&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| 0x09&lt;br /&gt;
| 10kHz&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| 0x0A&lt;br /&gt;
| 1.25kHz&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Stopping acquisition ===&lt;br /&gt;
&lt;br /&gt;
An acquisition can be stopped by resetting the device. After that the [[Ikalogic_SCANALOGIC-2#Device status|device status]] indicates whether the acquisition is stopped. If the device is ready the acquisition was stopped successfully. An other device status indicates that the device did not recognize the reset. In this case the reset needs to be performed again.&lt;br /&gt;
&lt;br /&gt;
=== Receiving samples ===&lt;br /&gt;
&lt;br /&gt;
Sample data can be received by requesting 128 bytes from the device. The meaning of the received sample packet is described below. Information on whether sample data is ready to receive can be obtained by the [[Ikalogic_SCANALOGIC-2#Device status|device status]]. The sample packets will be received sequentially per channel. If no more sample data is available the device status changes to ready.&lt;br /&gt;
&lt;br /&gt;
{| border=&amp;quot;0&amp;quot; style=&amp;quot;font-size: smaller;&amp;quot; class=&amp;quot;alternategrey sigroktable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! Byte(s)&lt;br /&gt;
! Value&lt;br /&gt;
! Description&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| 0&lt;br /&gt;
| 0x05&lt;br /&gt;
| This byte indicates a valid device status.&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| 1&lt;br /&gt;
| Channel&lt;br /&gt;
| Channel number from 0x00 to 0x03.&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| 2&lt;br /&gt;
| Packet&lt;br /&gt;
| Sequential packet number from 0x00 to 0xFF. Note that the packet number wraps around if more than 253952 samples (124 bytes per packet * 8 samples per byte * 256 packets)  are requested.&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| 3&lt;br /&gt;
| 0x00&lt;br /&gt;
| This byte is always 0x00.&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| 4-127&lt;br /&gt;
| Sample data&lt;br /&gt;
| Sample data where each byte contains 8 samples. The first byte contains the first 8 samples.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Device status ===&lt;br /&gt;
&lt;br /&gt;
The device status can be obtained by requesting 128 bytes from the device. The first 2 bytes of the response (which are described below) have a meaning only. All following bytes can be ignored. Note that it might take a short time until a valid device status is received. In the meantime the last valid data of the device buffer will be received.&lt;br /&gt;
&lt;br /&gt;
{| border=&amp;quot;0&amp;quot; style=&amp;quot;font-size: smaller;&amp;quot; class=&amp;quot;alternategrey sigroktable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
!Byte(s)&lt;br /&gt;
!Value&lt;br /&gt;
!Description&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| 0&lt;br /&gt;
| 0x05&lt;br /&gt;
| This byte indicates a valid device status.&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| 1&lt;br /&gt;
| Status&lt;br /&gt;
| See the table below for a description of all possible status codes.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
All possible status codes are listed in the following table.&lt;br /&gt;
{| border=&amp;quot;0&amp;quot; style=&amp;quot;font-size: smaller;&amp;quot; class=&amp;quot;alternategrey sigroktable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
!Status&lt;br /&gt;
!Description&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| 0x60&lt;br /&gt;
| Sample data is ready to receive.&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| 0x61&lt;br /&gt;
| Device is waiting for a trigger event.&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| 0x62&lt;br /&gt;
| Sampling in progress.&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| 0x63&lt;br /&gt;
| Device is ready.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Device information ===&lt;br /&gt;
&lt;br /&gt;
Device information can be requested by sending 128 bytes to the device, of which only the first byte (which is described below) has a meaning. All following bytes can have an arbitrary value.&lt;br /&gt;
&lt;br /&gt;
{| border=&amp;quot;0&amp;quot; style=&amp;quot;font-size: smaller;&amp;quot; class=&amp;quot;alternategrey sigroktable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! Byte(s)&lt;br /&gt;
! Value&lt;br /&gt;
! Description&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| 0&lt;br /&gt;
| 0x0a&lt;br /&gt;
| Command which indicates to request device information.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
After these bytes are sent the device information can be obtained by requesting 128 bytes from the device. The first 7 bytes of the response (which is described below) have a meaning only. All following bytes can be ignored.&lt;br /&gt;
&lt;br /&gt;
{| border=&amp;quot;0&amp;quot; style=&amp;quot;font-size: smaller;&amp;quot; class=&amp;quot;alternategrey sigroktable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! Byte(s)&lt;br /&gt;
! Value&lt;br /&gt;
! Description&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| 0&lt;br /&gt;
| 0x0a&lt;br /&gt;
| This byte indicates valid device information.&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| 1-4&lt;br /&gt;
| Serial number&lt;br /&gt;
| Serial number of the device which is also the [[Wikipedia:Unix time|Unix time]] of the production date.&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| 5-6&lt;br /&gt;
| Firmware version&lt;br /&gt;
| Major and minor version of the firmware.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
The following example shows the information of a device with the serial number 1371371152 and the firmware version 1.3.&lt;br /&gt;
&lt;br /&gt;
 0x0A 0x90 0x76 0xBD 0x51 0x01 0x03 0x00  0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00&lt;br /&gt;
 0x00 0x00 0x00 ...&lt;br /&gt;
&lt;br /&gt;
=== Idle ===&lt;br /&gt;
&lt;br /&gt;
The device can be set to idle state by sending 128 bytes to the device, of which only the first byte (which is described below) has a meaning. All following bytes can have an arbitrary value.&lt;br /&gt;
&lt;br /&gt;
{| border=&amp;quot;0&amp;quot; style=&amp;quot;font-size: smaller;&amp;quot; class=&amp;quot;alternategrey sigroktable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! Byte(s)&lt;br /&gt;
! Value&lt;br /&gt;
! Description&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| 0&lt;br /&gt;
| 0x07&lt;br /&gt;
| Command which indicates to set the device to idle state.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
If the device is not in idle state it possibly will reset itself after a few seconds without being used and thereby close the connection. Instead of setting the device to idle state it is also possible to periodically send commands to the device to ensure it will not close the connection itself. Note that the [[Ikalogic_SCANALOGIC-2#Device status|device status]] can not be obtained if the device is in idle state. It is recommended to [[Ikalogic_SCANALOGIC-2#Reset|reset]] the device to leave idle state.&lt;br /&gt;
&lt;br /&gt;
=== Reset ===&lt;br /&gt;
&lt;br /&gt;
The device can be reset by sending 128 bytes to the device, of which only the first byte (which is described below) has a meaning. All following bytes can have an arbitrary value.&lt;br /&gt;
&lt;br /&gt;
{| border=&amp;quot;0&amp;quot; style=&amp;quot;font-size: smaller;&amp;quot; class=&amp;quot;alternategrey sigroktable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! Byte(s)&lt;br /&gt;
! Value&lt;br /&gt;
! Description&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| 0&lt;br /&gt;
| 0x02&lt;br /&gt;
| Command which indicates to reset the device.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
After the reset is performed the [[Ikalogic SCANALOGIC-2#Device status|device status]] changes to ready.&lt;br /&gt;
&lt;br /&gt;
== Resources ==&lt;br /&gt;
&lt;br /&gt;
* [http://www.ikalogic.com/wp-content/uploads/Scanalogic2_specifications_sheet.pdf Specification]&lt;br /&gt;
* [http://www.ikalogic.com/wp-content/uploads/Scanalogic2_manual_EN.pdf Manual]&lt;br /&gt;
* [http://www.ikalogic.com/ikalogic-products/scanastudio-2/ Vendor software]&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>Marc Schink</name></author>
	</entry>
	<entry>
		<id>https://sigrok.org/w/index.php?title=IKALOGIC_Scanalogic-2&amp;diff=6752</id>
		<title>IKALOGIC Scanalogic-2</title>
		<link rel="alternate" type="text/html" href="https://sigrok.org/w/index.php?title=IKALOGIC_Scanalogic-2&amp;diff=6752"/>
		<updated>2013-06-30T20:21:06Z</updated>

		<summary type="html">&lt;p&gt;Marc Schink: /* Starting an acquisition */ Fix example.&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{Infobox logic analyzer&lt;br /&gt;
| image            = [[File:Ikalogic scanalogic2.png|180px]]&lt;br /&gt;
| name             = Ikalogic SCANALOGIC-2&lt;br /&gt;
| status           = supported&lt;br /&gt;
| source_code_dir  = ikalogic-scanalogic2&lt;br /&gt;
| channels         = 4&lt;br /&gt;
| samplerate       = 20MHz&lt;br /&gt;
| samplerate_state = &amp;amp;mdash;&lt;br /&gt;
| triggers         = rising, falling, either&lt;br /&gt;
| voltages         = -0.7V &amp;amp;mdash; 5.5V&lt;br /&gt;
| threshold        = ?&lt;br /&gt;
| memory           = 256ksamples/ch&lt;br /&gt;
| compression      = none&lt;br /&gt;
| website          = [http://www.ikalogic.com/scanalogic2/ ikalogic.com]&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
The &amp;#039;&amp;#039;&amp;#039;Ikalogic SCANALOGIC-2&amp;#039;&amp;#039;&amp;#039; is a USB-based, 4-channel logic analyzer with up to 20MHz sampling rate.&lt;br /&gt;
&lt;br /&gt;
See [[Ikalogic SCANALOGIC-2/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;
* [http://www.atmel.com/devices/atmega168pa.aspx Atmel ATmega168 PA] ([http://www.atmel.com/Images/Atmel-8271-8-bit-AVR-Microcontroller-ATmega48A-48PA-88A-88PA-168A-168PA-328-328P_datasheet_Summary.pdf datasheet])&lt;br /&gt;
* 2x [http://www.fairchildsemi.com/pf/74/74LCX125.html Fairchild Semiconductor 74LCX125]&lt;br /&gt;
* 4x [http://www.microchip.com/wwwproducts/Devices.aspx?dDocName=en539039 Microchip 23K256I] ([http://ww1.microchip.com/downloads/en/DeviceDoc/22100F.pdf datasheet])&lt;br /&gt;
* 20MHz crystal&lt;br /&gt;
&lt;br /&gt;
== Photos ==&lt;br /&gt;
&lt;br /&gt;
Device built from DIY soldering kit, firmware version 1.2:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;gallery&amp;gt;&lt;br /&gt;
File:Ikalogic scanalogic2 device with probes.jpg|&amp;lt;small&amp;gt;Device with probes&amp;lt;/small&amp;gt;&lt;br /&gt;
File:Ikalogic scanalogic2 parts.jpg|&amp;lt;small&amp;gt;Parts&amp;lt;/small&amp;gt;&lt;br /&gt;
File:Ikalogic scanalogic2 guide back.jpg|&amp;lt;small&amp;gt;User&amp;#039;s guide&amp;lt;/small&amp;gt;&lt;br /&gt;
File:Ikalogic scanalogic2 pcb soldered front.jpg|&amp;lt;small&amp;gt;PCB, front&amp;lt;/small&amp;gt;&lt;br /&gt;
File:Ikalogic scanalogic2 pcb soldered back.jpg|&amp;lt;small&amp;gt;PCB, back&amp;lt;/small&amp;gt;&lt;br /&gt;
File:Ikalogic scanalogic2 pcb soldered light.jpg|&amp;lt;small&amp;gt;PCB, bright light&amp;lt;/small&amp;gt;&lt;br /&gt;
&amp;lt;/gallery&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Another device, firmware version 1.3:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;gallery&amp;gt;&lt;br /&gt;
File:Ikalogic scanalogic2 pcb soldered front rev2.jpg|&amp;lt;small&amp;gt;PCB, front&amp;lt;/small&amp;gt;&lt;br /&gt;
File:Ikalogic scanalogic2 pcb soldered back rev2.jpg|&amp;lt;small&amp;gt;PCB, back&amp;lt;/small&amp;gt;&lt;br /&gt;
File:Ikalogic scanalogic2 device open rev2.jpg|&amp;lt;small&amp;gt;Device, open&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;
In progress.&lt;br /&gt;
&lt;br /&gt;
=== Starting an acquisition ===&lt;br /&gt;
&lt;br /&gt;
An acquisition can be started by sending 128 bytes to the device, of which only the first 12 bytes (which are described below) have a meaning. All following bytes can have an arbitrary value. The device is capable to acquire up to 262128 samples whereas the vendor software limits it to 261888 samples. The number of pre- and post-trigger samples together must not exceed the sample limit of the device.&lt;br /&gt;
&lt;br /&gt;
{| border=&amp;quot;0&amp;quot; style=&amp;quot;font-size: smaller;&amp;quot; class=&amp;quot;alternategrey sigroktable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! Byte(s)&lt;br /&gt;
! Value&lt;br /&gt;
! Description&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| 0&lt;br /&gt;
| 0x01&lt;br /&gt;
| Command which indicates to start an acquisition.&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| 1&lt;br /&gt;
| 0x00&lt;br /&gt;
| This byte must always be 0x00.&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| 2-3&lt;br /&gt;
| Pre-trigger samples&lt;br /&gt;
| Number of samples to acquire in multiples of 8 before the trigger occurs.&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| 4-5&lt;br /&gt;
| Post-trigger samples&lt;br /&gt;
| Number of samples to acquire in multiples of 8 after the trigger occurs.&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| 6&lt;br /&gt;
| Samplerate&lt;br /&gt;
| See table below for a list of all possible samplerates and their corresponding values.&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| 7&lt;br /&gt;
| Trigger type&lt;br /&gt;
| &lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| 8&lt;br /&gt;
| Trigger channel&lt;br /&gt;
| &lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| 9&lt;br /&gt;
| 0x00&lt;br /&gt;
| This byte must always be 0x00.&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| 10-11&lt;br /&gt;
| After trigger delay&lt;br /&gt;
| Time that the trigger will be delayed in milliseconds. The trigger can be delayed from 0 to 65000ms.&lt;br /&gt;
&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
The following example starts an acquisition with a samplerate of 5MHz and with 2384 samples before and 17456 samples after the trigger occurs. The trigger is configured to channel 2 with a rising edge and is delayed for 20000ms.&lt;br /&gt;
&lt;br /&gt;
 0x01 0x00 0x2A 0x01 0x86 0x08 0x02 0x01  0x02 0x00 0x20 0x4E 0x00 0x00 0x00 0x00&lt;br /&gt;
 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00  0x00 ...&lt;br /&gt;
&lt;br /&gt;
The following table shows all possible samplerates.&lt;br /&gt;
&lt;br /&gt;
{| border=&amp;quot;0&amp;quot; style=&amp;quot;font-size: smaller;&amp;quot; class=&amp;quot;alternategrey sigroktable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
!Value&lt;br /&gt;
!Samplerate&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| 0x00&lt;br /&gt;
| 20MHz&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| 0x01&lt;br /&gt;
| 10MHz&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| 0x02&lt;br /&gt;
| 5MHz&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| 0x03&lt;br /&gt;
| 2.5MHz&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| 0x04&lt;br /&gt;
| 1MHz&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| 0x05&lt;br /&gt;
| 500kHz&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| 0x06&lt;br /&gt;
| 250kHz&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| 0x07&lt;br /&gt;
| 100kHz&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| 0x08&lt;br /&gt;
| 50kHz&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| 0x09&lt;br /&gt;
| 10kHz&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| 0x0A&lt;br /&gt;
| 1.25kHz&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Stopping acquisition ===&lt;br /&gt;
&lt;br /&gt;
An acquisition can be stopped by resetting the device. After that the [[Ikalogic_SCANALOGIC-2#Device status|device status]] indicates whether the acquisition is stopped. If the device is ready the acquisition was stopped successfully. An other device status indicates that the device did not recognize the reset. In this case the reset needs to be performed again.&lt;br /&gt;
&lt;br /&gt;
=== Receiving samples ===&lt;br /&gt;
&lt;br /&gt;
Sample data can be received by requesting 128 bytes from the device. The meaning of the received sample packet is described below. Information on whether sample data is ready to receive can be obtained by the [[Ikalogic_SCANALOGIC-2#Device status|device status]]. The sample packets will be received sequentially per channel. If no more sample data is available the device status changes to ready.&lt;br /&gt;
&lt;br /&gt;
{| border=&amp;quot;0&amp;quot; style=&amp;quot;font-size: smaller;&amp;quot; class=&amp;quot;alternategrey sigroktable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! Byte(s)&lt;br /&gt;
! Value&lt;br /&gt;
! Description&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| 0&lt;br /&gt;
| 0x05&lt;br /&gt;
| This byte indicates a valid device status.&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| 1&lt;br /&gt;
| Channel&lt;br /&gt;
| Channel number from 0x00 to 0x03.&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| 2&lt;br /&gt;
| Packet&lt;br /&gt;
| Sequential packet number from 0x00 to 0xFF. Note that the packet number wraps around if more than 253952 samples (124 bytes per packet * 8 samples per byte * 256 packets)  are requested.&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| 3&lt;br /&gt;
| 0x00&lt;br /&gt;
| This byte is always 0x00.&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| 4-127&lt;br /&gt;
| Sample data&lt;br /&gt;
| Sample data where each byte contains 8 samples. The first byte contains the first 8 samples.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Device status ===&lt;br /&gt;
&lt;br /&gt;
The device status can be obtained by requesting 128 bytes from the device. The first 2 bytes of the response (which are described below) have a meaning only. All following bytes can be ignored. Note that it might take a short time until a valid device status is received. In the meantime the last valid data of the device buffer will be received.&lt;br /&gt;
&lt;br /&gt;
{| border=&amp;quot;0&amp;quot; style=&amp;quot;font-size: smaller;&amp;quot; class=&amp;quot;alternategrey sigroktable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
!Byte(s)&lt;br /&gt;
!Value&lt;br /&gt;
!Description&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| 0&lt;br /&gt;
| 0x05&lt;br /&gt;
| This byte indicates a valid device status.&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| 1&lt;br /&gt;
| Status&lt;br /&gt;
| See the table below for a description of all possible status codes.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
All possible status codes are listed in the following table.&lt;br /&gt;
{| border=&amp;quot;0&amp;quot; style=&amp;quot;font-size: smaller;&amp;quot; class=&amp;quot;alternategrey sigroktable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
!Status&lt;br /&gt;
!Description&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| 0x60&lt;br /&gt;
| Sample data is ready to receive.&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| 0x61&lt;br /&gt;
| Device is waiting for a trigger event.&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| 0x62&lt;br /&gt;
| Sampling in progress.&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| 0x63&lt;br /&gt;
| Device is ready.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Device information ===&lt;br /&gt;
&lt;br /&gt;
Device information can be requested by sending 128 bytes to the device, of which only the first byte (which is described below) has a meaning. All following bytes can have an arbitrary value.&lt;br /&gt;
&lt;br /&gt;
{| border=&amp;quot;0&amp;quot; style=&amp;quot;font-size: smaller;&amp;quot; class=&amp;quot;alternategrey sigroktable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! Byte(s)&lt;br /&gt;
! Value&lt;br /&gt;
! Description&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| 0&lt;br /&gt;
| 0x0a&lt;br /&gt;
| Command which indicates to request device information.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
After these bytes are sent the device information can be obtained by requesting 128 bytes from the device. The first 7 bytes of the response (which is described below) have a meaning only. All following bytes can be ignored.&lt;br /&gt;
&lt;br /&gt;
{| border=&amp;quot;0&amp;quot; style=&amp;quot;font-size: smaller;&amp;quot; class=&amp;quot;alternategrey sigroktable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! Byte(s)&lt;br /&gt;
! Value&lt;br /&gt;
! Description&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| 0&lt;br /&gt;
| 0x0a&lt;br /&gt;
| This byte indicates valid device information.&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| 1-4&lt;br /&gt;
| Serial number&lt;br /&gt;
| Serial number of the device which is also the [[Wikipedia:Unix time|Unix time]] of the production date.&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| 5-6&lt;br /&gt;
| Firmware version&lt;br /&gt;
| Major and minor version of the firmware.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
The following example shows the information of a device with the serial number 1371371152 and the firmware version 1.3.&lt;br /&gt;
&lt;br /&gt;
 0x0A 0x90 0x76 0xBD 0x51 0x01 0x03 0x00  0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00&lt;br /&gt;
 0x00 0x00 0x00 ...&lt;br /&gt;
&lt;br /&gt;
=== Idle ===&lt;br /&gt;
&lt;br /&gt;
The device can be set to idle state by sending 128 bytes to the device, of which only the first byte (which is described below) has a meaning. All following bytes can have an arbitrary value.&lt;br /&gt;
&lt;br /&gt;
{| border=&amp;quot;0&amp;quot; style=&amp;quot;font-size: smaller;&amp;quot; class=&amp;quot;alternategrey sigroktable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! Byte(s)&lt;br /&gt;
! Value&lt;br /&gt;
! Description&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| 0&lt;br /&gt;
| 0x07&lt;br /&gt;
| Command which indicates to set the device to idle state.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
If the device is not in idle state it possibly will reset itself after a few seconds without being used and thereby close the connection. Instead of setting the device to idle state it is also possible to periodically send commands to the device to ensure it will not close the connection itself. Note that the [[Ikalogic_SCANALOGIC-2#Device status|device status]] can not be obtained if the device is in idle state. It is recommended to [[Ikalogic_SCANALOGIC-2#Reset|reset]] the device to leave idle state.&lt;br /&gt;
&lt;br /&gt;
=== Reset ===&lt;br /&gt;
&lt;br /&gt;
The device can be reset by sending 128 bytes to the device, of which only the first byte (which is described below) has a meaning. All following bytes can have an arbitrary value.&lt;br /&gt;
&lt;br /&gt;
{| border=&amp;quot;0&amp;quot; style=&amp;quot;font-size: smaller;&amp;quot; class=&amp;quot;alternategrey sigroktable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! Byte(s)&lt;br /&gt;
! Value&lt;br /&gt;
! Description&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| 0&lt;br /&gt;
| 0x02&lt;br /&gt;
| Command which indicates to reset the device.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
After the reset is performed the [[Ikalogic SCANALOGIC-2#Device status|device status]] changes to ready.&lt;br /&gt;
&lt;br /&gt;
== Resources ==&lt;br /&gt;
&lt;br /&gt;
* [http://www.ikalogic.com/wp-content/uploads/Scanalogic2_specifications_sheet.pdf Specification]&lt;br /&gt;
* [http://www.ikalogic.com/wp-content/uploads/Scanalogic2_manual_EN.pdf Manual]&lt;br /&gt;
* [http://www.ikalogic.com/ikalogic-products/scanastudio-2/ Vendor software]&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>Marc Schink</name></author>
	</entry>
	<entry>
		<id>https://sigrok.org/w/index.php?title=IKALOGIC_Scanalogic-2&amp;diff=6751</id>
		<title>IKALOGIC Scanalogic-2</title>
		<link rel="alternate" type="text/html" href="https://sigrok.org/w/index.php?title=IKALOGIC_Scanalogic-2&amp;diff=6751"/>
		<updated>2013-06-30T20:07:04Z</updated>

		<summary type="html">&lt;p&gt;Marc Schink: /* Reset */ Information about the device status.&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{Infobox logic analyzer&lt;br /&gt;
| image            = [[File:Ikalogic scanalogic2.png|180px]]&lt;br /&gt;
| name             = Ikalogic SCANALOGIC-2&lt;br /&gt;
| status           = supported&lt;br /&gt;
| source_code_dir  = ikalogic-scanalogic2&lt;br /&gt;
| channels         = 4&lt;br /&gt;
| samplerate       = 20MHz&lt;br /&gt;
| samplerate_state = &amp;amp;mdash;&lt;br /&gt;
| triggers         = rising, falling, either&lt;br /&gt;
| voltages         = -0.7V &amp;amp;mdash; 5.5V&lt;br /&gt;
| threshold        = ?&lt;br /&gt;
| memory           = 256ksamples/ch&lt;br /&gt;
| compression      = none&lt;br /&gt;
| website          = [http://www.ikalogic.com/scanalogic2/ ikalogic.com]&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
The &amp;#039;&amp;#039;&amp;#039;Ikalogic SCANALOGIC-2&amp;#039;&amp;#039;&amp;#039; is a USB-based, 4-channel logic analyzer with up to 20MHz sampling rate.&lt;br /&gt;
&lt;br /&gt;
See [[Ikalogic SCANALOGIC-2/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;
* [http://www.atmel.com/devices/atmega168pa.aspx Atmel ATmega168 PA] ([http://www.atmel.com/Images/Atmel-8271-8-bit-AVR-Microcontroller-ATmega48A-48PA-88A-88PA-168A-168PA-328-328P_datasheet_Summary.pdf datasheet])&lt;br /&gt;
* 2x [http://www.fairchildsemi.com/pf/74/74LCX125.html Fairchild Semiconductor 74LCX125]&lt;br /&gt;
* 4x [http://www.microchip.com/wwwproducts/Devices.aspx?dDocName=en539039 Microchip 23K256I] ([http://ww1.microchip.com/downloads/en/DeviceDoc/22100F.pdf datasheet])&lt;br /&gt;
* 20MHz crystal&lt;br /&gt;
&lt;br /&gt;
== Photos ==&lt;br /&gt;
&lt;br /&gt;
Device built from DIY soldering kit, firmware version 1.2:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;gallery&amp;gt;&lt;br /&gt;
File:Ikalogic scanalogic2 device with probes.jpg|&amp;lt;small&amp;gt;Device with probes&amp;lt;/small&amp;gt;&lt;br /&gt;
File:Ikalogic scanalogic2 parts.jpg|&amp;lt;small&amp;gt;Parts&amp;lt;/small&amp;gt;&lt;br /&gt;
File:Ikalogic scanalogic2 guide back.jpg|&amp;lt;small&amp;gt;User&amp;#039;s guide&amp;lt;/small&amp;gt;&lt;br /&gt;
File:Ikalogic scanalogic2 pcb soldered front.jpg|&amp;lt;small&amp;gt;PCB, front&amp;lt;/small&amp;gt;&lt;br /&gt;
File:Ikalogic scanalogic2 pcb soldered back.jpg|&amp;lt;small&amp;gt;PCB, back&amp;lt;/small&amp;gt;&lt;br /&gt;
File:Ikalogic scanalogic2 pcb soldered light.jpg|&amp;lt;small&amp;gt;PCB, bright light&amp;lt;/small&amp;gt;&lt;br /&gt;
&amp;lt;/gallery&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Another device, firmware version 1.3:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;gallery&amp;gt;&lt;br /&gt;
File:Ikalogic scanalogic2 pcb soldered front rev2.jpg|&amp;lt;small&amp;gt;PCB, front&amp;lt;/small&amp;gt;&lt;br /&gt;
File:Ikalogic scanalogic2 pcb soldered back rev2.jpg|&amp;lt;small&amp;gt;PCB, back&amp;lt;/small&amp;gt;&lt;br /&gt;
File:Ikalogic scanalogic2 device open rev2.jpg|&amp;lt;small&amp;gt;Device, open&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;
In progress.&lt;br /&gt;
&lt;br /&gt;
=== Starting an acquisition ===&lt;br /&gt;
&lt;br /&gt;
An acquisition can be started by sending 128 bytes to the device, of which only the first 12 bytes (which are described below) have a meaning. All following bytes can have an arbitrary value. The device is capable to acquire up to 262128 samples whereas the vendor software limits it to 261888 samples. The number of pre- and post-trigger samples together must not exceed the sample limit of the device.&lt;br /&gt;
&lt;br /&gt;
{| border=&amp;quot;0&amp;quot; style=&amp;quot;font-size: smaller;&amp;quot; class=&amp;quot;alternategrey sigroktable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! Byte(s)&lt;br /&gt;
! Value&lt;br /&gt;
! Description&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| 0&lt;br /&gt;
| 0x01&lt;br /&gt;
| Command which indicates to start an acquisition.&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| 1&lt;br /&gt;
| 0x00&lt;br /&gt;
| This byte must always be 0x00.&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| 2-3&lt;br /&gt;
| Pre-trigger samples&lt;br /&gt;
| Number of samples to acquire in multiples of 8 before the trigger occurs.&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| 4-5&lt;br /&gt;
| Post-trigger samples&lt;br /&gt;
| Number of samples to acquire in multiples of 8 after the trigger occurs.&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| 6&lt;br /&gt;
| Samplerate&lt;br /&gt;
| See table below for a list of all possible samplerates and their corresponding values.&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| 7&lt;br /&gt;
| Trigger type&lt;br /&gt;
| &lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| 8&lt;br /&gt;
| Trigger channel&lt;br /&gt;
| &lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| 9&lt;br /&gt;
| 0x00&lt;br /&gt;
| This byte must always be 0x00.&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| 10-11&lt;br /&gt;
| After trigger delay&lt;br /&gt;
| Time that the trigger will be delayed in milliseconds. The trigger can be delayed from 0 to 65000ms.&lt;br /&gt;
&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
The following example starts an acquisition with a samplerate of 5MHz and with 2384 samples before and 17456 samples after the trigger occurs. The trigger is configured to channel 2 with a rising edge and is delayed for 20000ms.&lt;br /&gt;
&lt;br /&gt;
 0x01 0x00 0x2A 0x01 0x86 0x08 0x02 0x01  0x03 0x00 0x20 0x4E 0x00 0x00 0x00 0x00&lt;br /&gt;
 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00  0x00 ...&lt;br /&gt;
&lt;br /&gt;
The following table shows all possible samplerates.&lt;br /&gt;
&lt;br /&gt;
{| border=&amp;quot;0&amp;quot; style=&amp;quot;font-size: smaller;&amp;quot; class=&amp;quot;alternategrey sigroktable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
!Value&lt;br /&gt;
!Samplerate&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| 0x00&lt;br /&gt;
| 20MHz&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| 0x01&lt;br /&gt;
| 10MHz&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| 0x02&lt;br /&gt;
| 5MHz&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| 0x03&lt;br /&gt;
| 2.5MHz&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| 0x04&lt;br /&gt;
| 1MHz&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| 0x05&lt;br /&gt;
| 500kHz&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| 0x06&lt;br /&gt;
| 250kHz&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| 0x07&lt;br /&gt;
| 100kHz&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| 0x08&lt;br /&gt;
| 50kHz&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| 0x09&lt;br /&gt;
| 10kHz&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| 0x0A&lt;br /&gt;
| 1.25kHz&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Stopping acquisition ===&lt;br /&gt;
&lt;br /&gt;
An acquisition can be stopped by resetting the device. After that the [[Ikalogic_SCANALOGIC-2#Device status|device status]] indicates whether the acquisition is stopped. If the device is ready the acquisition was stopped successfully. An other device status indicates that the device did not recognize the reset. In this case the reset needs to be performed again.&lt;br /&gt;
&lt;br /&gt;
=== Receiving samples ===&lt;br /&gt;
&lt;br /&gt;
Sample data can be received by requesting 128 bytes from the device. The meaning of the received sample packet is described below. Information on whether sample data is ready to receive can be obtained by the [[Ikalogic_SCANALOGIC-2#Device status|device status]]. The sample packets will be received sequentially per channel. If no more sample data is available the device status changes to ready.&lt;br /&gt;
&lt;br /&gt;
{| border=&amp;quot;0&amp;quot; style=&amp;quot;font-size: smaller;&amp;quot; class=&amp;quot;alternategrey sigroktable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! Byte(s)&lt;br /&gt;
! Value&lt;br /&gt;
! Description&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| 0&lt;br /&gt;
| 0x05&lt;br /&gt;
| This byte indicates a valid device status.&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| 1&lt;br /&gt;
| Channel&lt;br /&gt;
| Channel number from 0x00 to 0x03.&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| 2&lt;br /&gt;
| Packet&lt;br /&gt;
| Sequential packet number from 0x00 to 0xFF. Note that the packet number wraps around if more than 253952 samples (124 bytes per packet * 8 samples per byte * 256 packets)  are requested.&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| 3&lt;br /&gt;
| 0x00&lt;br /&gt;
| This byte is always 0x00.&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| 4-127&lt;br /&gt;
| Sample data&lt;br /&gt;
| Sample data where each byte contains 8 samples. The first byte contains the first 8 samples.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Device status ===&lt;br /&gt;
&lt;br /&gt;
The device status can be obtained by requesting 128 bytes from the device. The first 2 bytes of the response (which are described below) have a meaning only. All following bytes can be ignored. Note that it might take a short time until a valid device status is received. In the meantime the last valid data of the device buffer will be received.&lt;br /&gt;
&lt;br /&gt;
{| border=&amp;quot;0&amp;quot; style=&amp;quot;font-size: smaller;&amp;quot; class=&amp;quot;alternategrey sigroktable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
!Byte(s)&lt;br /&gt;
!Value&lt;br /&gt;
!Description&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| 0&lt;br /&gt;
| 0x05&lt;br /&gt;
| This byte indicates a valid device status.&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| 1&lt;br /&gt;
| Status&lt;br /&gt;
| See the table below for a description of all possible status codes.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
All possible status codes are listed in the following table.&lt;br /&gt;
{| border=&amp;quot;0&amp;quot; style=&amp;quot;font-size: smaller;&amp;quot; class=&amp;quot;alternategrey sigroktable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
!Status&lt;br /&gt;
!Description&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| 0x60&lt;br /&gt;
| Sample data is ready to receive.&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| 0x61&lt;br /&gt;
| Device is waiting for a trigger event.&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| 0x62&lt;br /&gt;
| Sampling in progress.&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| 0x63&lt;br /&gt;
| Device is ready.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Device information ===&lt;br /&gt;
&lt;br /&gt;
Device information can be requested by sending 128 bytes to the device, of which only the first byte (which is described below) has a meaning. All following bytes can have an arbitrary value.&lt;br /&gt;
&lt;br /&gt;
{| border=&amp;quot;0&amp;quot; style=&amp;quot;font-size: smaller;&amp;quot; class=&amp;quot;alternategrey sigroktable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! Byte(s)&lt;br /&gt;
! Value&lt;br /&gt;
! Description&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| 0&lt;br /&gt;
| 0x0a&lt;br /&gt;
| Command which indicates to request device information.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
After these bytes are sent the device information can be obtained by requesting 128 bytes from the device. The first 7 bytes of the response (which is described below) have a meaning only. All following bytes can be ignored.&lt;br /&gt;
&lt;br /&gt;
{| border=&amp;quot;0&amp;quot; style=&amp;quot;font-size: smaller;&amp;quot; class=&amp;quot;alternategrey sigroktable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! Byte(s)&lt;br /&gt;
! Value&lt;br /&gt;
! Description&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| 0&lt;br /&gt;
| 0x0a&lt;br /&gt;
| This byte indicates valid device information.&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| 1-4&lt;br /&gt;
| Serial number&lt;br /&gt;
| Serial number of the device which is also the [[Wikipedia:Unix time|Unix time]] of the production date.&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| 5-6&lt;br /&gt;
| Firmware version&lt;br /&gt;
| Major and minor version of the firmware.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
The following example shows the information of a device with the serial number 1371371152 and the firmware version 1.3.&lt;br /&gt;
&lt;br /&gt;
 0x0A 0x90 0x76 0xBD 0x51 0x01 0x03 0x00  0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00&lt;br /&gt;
 0x00 0x00 0x00 ...&lt;br /&gt;
&lt;br /&gt;
=== Idle ===&lt;br /&gt;
&lt;br /&gt;
The device can be set to idle state by sending 128 bytes to the device, of which only the first byte (which is described below) has a meaning. All following bytes can have an arbitrary value.&lt;br /&gt;
&lt;br /&gt;
{| border=&amp;quot;0&amp;quot; style=&amp;quot;font-size: smaller;&amp;quot; class=&amp;quot;alternategrey sigroktable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! Byte(s)&lt;br /&gt;
! Value&lt;br /&gt;
! Description&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| 0&lt;br /&gt;
| 0x07&lt;br /&gt;
| Command which indicates to set the device to idle state.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
If the device is not in idle state it possibly will reset itself after a few seconds without being used and thereby close the connection. Instead of setting the device to idle state it is also possible to periodically send commands to the device to ensure it will not close the connection itself. Note that the [[Ikalogic_SCANALOGIC-2#Device status|device status]] can not be obtained if the device is in idle state. It is recommended to [[Ikalogic_SCANALOGIC-2#Reset|reset]] the device to leave idle state.&lt;br /&gt;
&lt;br /&gt;
=== Reset ===&lt;br /&gt;
&lt;br /&gt;
The device can be reset by sending 128 bytes to the device, of which only the first byte (which is described below) has a meaning. All following bytes can have an arbitrary value.&lt;br /&gt;
&lt;br /&gt;
{| border=&amp;quot;0&amp;quot; style=&amp;quot;font-size: smaller;&amp;quot; class=&amp;quot;alternategrey sigroktable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! Byte(s)&lt;br /&gt;
! Value&lt;br /&gt;
! Description&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| 0&lt;br /&gt;
| 0x02&lt;br /&gt;
| Command which indicates to reset the device.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
After the reset is performed the [[Ikalogic SCANALOGIC-2#Device status|device status]] changes to ready.&lt;br /&gt;
&lt;br /&gt;
== Resources ==&lt;br /&gt;
&lt;br /&gt;
* [http://www.ikalogic.com/wp-content/uploads/Scanalogic2_specifications_sheet.pdf Specification]&lt;br /&gt;
* [http://www.ikalogic.com/wp-content/uploads/Scanalogic2_manual_EN.pdf Manual]&lt;br /&gt;
* [http://www.ikalogic.com/ikalogic-products/scanastudio-2/ Vendor software]&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>Marc Schink</name></author>
	</entry>
	<entry>
		<id>https://sigrok.org/w/index.php?title=IKALOGIC_Scanalogic-2&amp;diff=6750</id>
		<title>IKALOGIC Scanalogic-2</title>
		<link rel="alternate" type="text/html" href="https://sigrok.org/w/index.php?title=IKALOGIC_Scanalogic-2&amp;diff=6750"/>
		<updated>2013-06-30T18:16:28Z</updated>

		<summary type="html">&lt;p&gt;Marc Schink: /* Idle */ Information on device status and how to leave idle state.&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{Infobox logic analyzer&lt;br /&gt;
| image            = [[File:Ikalogic scanalogic2.png|180px]]&lt;br /&gt;
| name             = Ikalogic SCANALOGIC-2&lt;br /&gt;
| status           = supported&lt;br /&gt;
| source_code_dir  = ikalogic-scanalogic2&lt;br /&gt;
| channels         = 4&lt;br /&gt;
| samplerate       = 20MHz&lt;br /&gt;
| samplerate_state = &amp;amp;mdash;&lt;br /&gt;
| triggers         = rising, falling, either&lt;br /&gt;
| voltages         = -0.7V &amp;amp;mdash; 5.5V&lt;br /&gt;
| threshold        = ?&lt;br /&gt;
| memory           = 256ksamples/ch&lt;br /&gt;
| compression      = none&lt;br /&gt;
| website          = [http://www.ikalogic.com/scanalogic2/ ikalogic.com]&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
The &amp;#039;&amp;#039;&amp;#039;Ikalogic SCANALOGIC-2&amp;#039;&amp;#039;&amp;#039; is a USB-based, 4-channel logic analyzer with up to 20MHz sampling rate.&lt;br /&gt;
&lt;br /&gt;
See [[Ikalogic SCANALOGIC-2/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;
* [http://www.atmel.com/devices/atmega168pa.aspx Atmel ATmega168 PA] ([http://www.atmel.com/Images/Atmel-8271-8-bit-AVR-Microcontroller-ATmega48A-48PA-88A-88PA-168A-168PA-328-328P_datasheet_Summary.pdf datasheet])&lt;br /&gt;
* 2x [http://www.fairchildsemi.com/pf/74/74LCX125.html Fairchild Semiconductor 74LCX125]&lt;br /&gt;
* 4x [http://www.microchip.com/wwwproducts/Devices.aspx?dDocName=en539039 Microchip 23K256I] ([http://ww1.microchip.com/downloads/en/DeviceDoc/22100F.pdf datasheet])&lt;br /&gt;
* 20MHz crystal&lt;br /&gt;
&lt;br /&gt;
== Photos ==&lt;br /&gt;
&lt;br /&gt;
Device built from DIY soldering kit, firmware version 1.2:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;gallery&amp;gt;&lt;br /&gt;
File:Ikalogic scanalogic2 device with probes.jpg|&amp;lt;small&amp;gt;Device with probes&amp;lt;/small&amp;gt;&lt;br /&gt;
File:Ikalogic scanalogic2 parts.jpg|&amp;lt;small&amp;gt;Parts&amp;lt;/small&amp;gt;&lt;br /&gt;
File:Ikalogic scanalogic2 guide back.jpg|&amp;lt;small&amp;gt;User&amp;#039;s guide&amp;lt;/small&amp;gt;&lt;br /&gt;
File:Ikalogic scanalogic2 pcb soldered front.jpg|&amp;lt;small&amp;gt;PCB, front&amp;lt;/small&amp;gt;&lt;br /&gt;
File:Ikalogic scanalogic2 pcb soldered back.jpg|&amp;lt;small&amp;gt;PCB, back&amp;lt;/small&amp;gt;&lt;br /&gt;
File:Ikalogic scanalogic2 pcb soldered light.jpg|&amp;lt;small&amp;gt;PCB, bright light&amp;lt;/small&amp;gt;&lt;br /&gt;
&amp;lt;/gallery&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Another device, firmware version 1.3:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;gallery&amp;gt;&lt;br /&gt;
File:Ikalogic scanalogic2 pcb soldered front rev2.jpg|&amp;lt;small&amp;gt;PCB, front&amp;lt;/small&amp;gt;&lt;br /&gt;
File:Ikalogic scanalogic2 pcb soldered back rev2.jpg|&amp;lt;small&amp;gt;PCB, back&amp;lt;/small&amp;gt;&lt;br /&gt;
File:Ikalogic scanalogic2 device open rev2.jpg|&amp;lt;small&amp;gt;Device, open&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;
In progress.&lt;br /&gt;
&lt;br /&gt;
=== Starting an acquisition ===&lt;br /&gt;
&lt;br /&gt;
An acquisition can be started by sending 128 bytes to the device, of which only the first 12 bytes (which are described below) have a meaning. All following bytes can have an arbitrary value. The device is capable to acquire up to 262128 samples whereas the vendor software limits it to 261888 samples. The number of pre- and post-trigger samples together must not exceed the sample limit of the device.&lt;br /&gt;
&lt;br /&gt;
{| border=&amp;quot;0&amp;quot; style=&amp;quot;font-size: smaller;&amp;quot; class=&amp;quot;alternategrey sigroktable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! Byte(s)&lt;br /&gt;
! Value&lt;br /&gt;
! Description&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| 0&lt;br /&gt;
| 0x01&lt;br /&gt;
| Command which indicates to start an acquisition.&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| 1&lt;br /&gt;
| 0x00&lt;br /&gt;
| This byte must always be 0x00.&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| 2-3&lt;br /&gt;
| Pre-trigger samples&lt;br /&gt;
| Number of samples to acquire in multiples of 8 before the trigger occurs.&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| 4-5&lt;br /&gt;
| Post-trigger samples&lt;br /&gt;
| Number of samples to acquire in multiples of 8 after the trigger occurs.&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| 6&lt;br /&gt;
| Samplerate&lt;br /&gt;
| See table below for a list of all possible samplerates and their corresponding values.&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| 7&lt;br /&gt;
| Trigger type&lt;br /&gt;
| &lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| 8&lt;br /&gt;
| Trigger channel&lt;br /&gt;
| &lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| 9&lt;br /&gt;
| 0x00&lt;br /&gt;
| This byte must always be 0x00.&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| 10-11&lt;br /&gt;
| After trigger delay&lt;br /&gt;
| Time that the trigger will be delayed in milliseconds. The trigger can be delayed from 0 to 65000ms.&lt;br /&gt;
&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
The following example starts an acquisition with a samplerate of 5MHz and with 2384 samples before and 17456 samples after the trigger occurs. The trigger is configured to channel 2 with a rising edge and is delayed for 20000ms.&lt;br /&gt;
&lt;br /&gt;
 0x01 0x00 0x2A 0x01 0x86 0x08 0x02 0x01  0x03 0x00 0x20 0x4E 0x00 0x00 0x00 0x00&lt;br /&gt;
 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00  0x00 ...&lt;br /&gt;
&lt;br /&gt;
The following table shows all possible samplerates.&lt;br /&gt;
&lt;br /&gt;
{| border=&amp;quot;0&amp;quot; style=&amp;quot;font-size: smaller;&amp;quot; class=&amp;quot;alternategrey sigroktable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
!Value&lt;br /&gt;
!Samplerate&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| 0x00&lt;br /&gt;
| 20MHz&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| 0x01&lt;br /&gt;
| 10MHz&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| 0x02&lt;br /&gt;
| 5MHz&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| 0x03&lt;br /&gt;
| 2.5MHz&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| 0x04&lt;br /&gt;
| 1MHz&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| 0x05&lt;br /&gt;
| 500kHz&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| 0x06&lt;br /&gt;
| 250kHz&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| 0x07&lt;br /&gt;
| 100kHz&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| 0x08&lt;br /&gt;
| 50kHz&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| 0x09&lt;br /&gt;
| 10kHz&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| 0x0A&lt;br /&gt;
| 1.25kHz&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Stopping acquisition ===&lt;br /&gt;
&lt;br /&gt;
An acquisition can be stopped by resetting the device. After that the [[Ikalogic_SCANALOGIC-2#Device status|device status]] indicates whether the acquisition is stopped. If the device is ready the acquisition was stopped successfully. An other device status indicates that the device did not recognize the reset. In this case the reset needs to be performed again.&lt;br /&gt;
&lt;br /&gt;
=== Receiving samples ===&lt;br /&gt;
&lt;br /&gt;
Sample data can be received by requesting 128 bytes from the device. The meaning of the received sample packet is described below. Information on whether sample data is ready to receive can be obtained by the [[Ikalogic_SCANALOGIC-2#Device status|device status]]. The sample packets will be received sequentially per channel. If no more sample data is available the device status changes to ready.&lt;br /&gt;
&lt;br /&gt;
{| border=&amp;quot;0&amp;quot; style=&amp;quot;font-size: smaller;&amp;quot; class=&amp;quot;alternategrey sigroktable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! Byte(s)&lt;br /&gt;
! Value&lt;br /&gt;
! Description&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| 0&lt;br /&gt;
| 0x05&lt;br /&gt;
| This byte indicates a valid device status.&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| 1&lt;br /&gt;
| Channel&lt;br /&gt;
| Channel number from 0x00 to 0x03.&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| 2&lt;br /&gt;
| Packet&lt;br /&gt;
| Sequential packet number from 0x00 to 0xFF. Note that the packet number wraps around if more than 253952 samples (124 bytes per packet * 8 samples per byte * 256 packets)  are requested.&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| 3&lt;br /&gt;
| 0x00&lt;br /&gt;
| This byte is always 0x00.&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| 4-127&lt;br /&gt;
| Sample data&lt;br /&gt;
| Sample data where each byte contains 8 samples. The first byte contains the first 8 samples.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Device status ===&lt;br /&gt;
&lt;br /&gt;
The device status can be obtained by requesting 128 bytes from the device. The first 2 bytes of the response (which are described below) have a meaning only. All following bytes can be ignored. Note that it might take a short time until a valid device status is received. In the meantime the last valid data of the device buffer will be received.&lt;br /&gt;
&lt;br /&gt;
{| border=&amp;quot;0&amp;quot; style=&amp;quot;font-size: smaller;&amp;quot; class=&amp;quot;alternategrey sigroktable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
!Byte(s)&lt;br /&gt;
!Value&lt;br /&gt;
!Description&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| 0&lt;br /&gt;
| 0x05&lt;br /&gt;
| This byte indicates a valid device status.&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| 1&lt;br /&gt;
| Status&lt;br /&gt;
| See the table below for a description of all possible status codes.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
All possible status codes are listed in the following table.&lt;br /&gt;
{| border=&amp;quot;0&amp;quot; style=&amp;quot;font-size: smaller;&amp;quot; class=&amp;quot;alternategrey sigroktable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
!Status&lt;br /&gt;
!Description&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| 0x60&lt;br /&gt;
| Sample data is ready to receive.&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| 0x61&lt;br /&gt;
| Device is waiting for a trigger event.&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| 0x62&lt;br /&gt;
| Sampling in progress.&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| 0x63&lt;br /&gt;
| Device is ready.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Device information ===&lt;br /&gt;
&lt;br /&gt;
Device information can be requested by sending 128 bytes to the device, of which only the first byte (which is described below) has a meaning. All following bytes can have an arbitrary value.&lt;br /&gt;
&lt;br /&gt;
{| border=&amp;quot;0&amp;quot; style=&amp;quot;font-size: smaller;&amp;quot; class=&amp;quot;alternategrey sigroktable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! Byte(s)&lt;br /&gt;
! Value&lt;br /&gt;
! Description&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| 0&lt;br /&gt;
| 0x0a&lt;br /&gt;
| Command which indicates to request device information.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
After these bytes are sent the device information can be obtained by requesting 128 bytes from the device. The first 7 bytes of the response (which is described below) have a meaning only. All following bytes can be ignored.&lt;br /&gt;
&lt;br /&gt;
{| border=&amp;quot;0&amp;quot; style=&amp;quot;font-size: smaller;&amp;quot; class=&amp;quot;alternategrey sigroktable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! Byte(s)&lt;br /&gt;
! Value&lt;br /&gt;
! Description&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| 0&lt;br /&gt;
| 0x0a&lt;br /&gt;
| This byte indicates valid device information.&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| 1-4&lt;br /&gt;
| Serial number&lt;br /&gt;
| Serial number of the device which is also the [[Wikipedia:Unix time|Unix time]] of the production date.&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| 5-6&lt;br /&gt;
| Firmware version&lt;br /&gt;
| Major and minor version of the firmware.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
The following example shows the information of a device with the serial number 1371371152 and the firmware version 1.3.&lt;br /&gt;
&lt;br /&gt;
 0x0A 0x90 0x76 0xBD 0x51 0x01 0x03 0x00  0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00&lt;br /&gt;
 0x00 0x00 0x00 ...&lt;br /&gt;
&lt;br /&gt;
=== Idle ===&lt;br /&gt;
&lt;br /&gt;
The device can be set to idle state by sending 128 bytes to the device, of which only the first byte (which is described below) has a meaning. All following bytes can have an arbitrary value.&lt;br /&gt;
&lt;br /&gt;
{| border=&amp;quot;0&amp;quot; style=&amp;quot;font-size: smaller;&amp;quot; class=&amp;quot;alternategrey sigroktable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! Byte(s)&lt;br /&gt;
! Value&lt;br /&gt;
! Description&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| 0&lt;br /&gt;
| 0x07&lt;br /&gt;
| Command which indicates to set the device to idle state.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
If the device is not in idle state it possibly will reset itself after a few seconds without being used and thereby close the connection. Instead of setting the device to idle state it is also possible to periodically send commands to the device to ensure it will not close the connection itself. Note that the [[Ikalogic_SCANALOGIC-2#Device status|device status]] can not be obtained if the device is in idle state. It is recommended to [[Ikalogic_SCANALOGIC-2#Reset|reset]] the device to leave idle state.&lt;br /&gt;
&lt;br /&gt;
=== Reset ===&lt;br /&gt;
&lt;br /&gt;
The device can be reset by sending 128 bytes to the device, of which only the first byte (which is described below) has a meaning. All following bytes can have an arbitrary value.&lt;br /&gt;
&lt;br /&gt;
{| border=&amp;quot;0&amp;quot; style=&amp;quot;font-size: smaller;&amp;quot; class=&amp;quot;alternategrey sigroktable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! Byte(s)&lt;br /&gt;
! Value&lt;br /&gt;
! Description&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| 0&lt;br /&gt;
| 0x02&lt;br /&gt;
| Command which indicates to reset the device.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== Resources ==&lt;br /&gt;
&lt;br /&gt;
* [http://www.ikalogic.com/wp-content/uploads/Scanalogic2_specifications_sheet.pdf Specification]&lt;br /&gt;
* [http://www.ikalogic.com/wp-content/uploads/Scanalogic2_manual_EN.pdf Manual]&lt;br /&gt;
* [http://www.ikalogic.com/ikalogic-products/scanastudio-2/ Vendor software]&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>Marc Schink</name></author>
	</entry>
	<entry>
		<id>https://sigrok.org/w/index.php?title=IKALOGIC_Scanalogic-2&amp;diff=6749</id>
		<title>IKALOGIC Scanalogic-2</title>
		<link rel="alternate" type="text/html" href="https://sigrok.org/w/index.php?title=IKALOGIC_Scanalogic-2&amp;diff=6749"/>
		<updated>2013-06-30T17:56:10Z</updated>

		<summary type="html">&lt;p&gt;Marc Schink: /* Receiving samples */ Initial description.&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{Infobox logic analyzer&lt;br /&gt;
| image            = [[File:Ikalogic scanalogic2.png|180px]]&lt;br /&gt;
| name             = Ikalogic SCANALOGIC-2&lt;br /&gt;
| status           = supported&lt;br /&gt;
| source_code_dir  = ikalogic-scanalogic2&lt;br /&gt;
| channels         = 4&lt;br /&gt;
| samplerate       = 20MHz&lt;br /&gt;
| samplerate_state = &amp;amp;mdash;&lt;br /&gt;
| triggers         = rising, falling, either&lt;br /&gt;
| voltages         = -0.7V &amp;amp;mdash; 5.5V&lt;br /&gt;
| threshold        = ?&lt;br /&gt;
| memory           = 256ksamples/ch&lt;br /&gt;
| compression      = none&lt;br /&gt;
| website          = [http://www.ikalogic.com/scanalogic2/ ikalogic.com]&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
The &amp;#039;&amp;#039;&amp;#039;Ikalogic SCANALOGIC-2&amp;#039;&amp;#039;&amp;#039; is a USB-based, 4-channel logic analyzer with up to 20MHz sampling rate.&lt;br /&gt;
&lt;br /&gt;
See [[Ikalogic SCANALOGIC-2/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;
* [http://www.atmel.com/devices/atmega168pa.aspx Atmel ATmega168 PA] ([http://www.atmel.com/Images/Atmel-8271-8-bit-AVR-Microcontroller-ATmega48A-48PA-88A-88PA-168A-168PA-328-328P_datasheet_Summary.pdf datasheet])&lt;br /&gt;
* 2x [http://www.fairchildsemi.com/pf/74/74LCX125.html Fairchild Semiconductor 74LCX125]&lt;br /&gt;
* 4x [http://www.microchip.com/wwwproducts/Devices.aspx?dDocName=en539039 Microchip 23K256I] ([http://ww1.microchip.com/downloads/en/DeviceDoc/22100F.pdf datasheet])&lt;br /&gt;
* 20MHz crystal&lt;br /&gt;
&lt;br /&gt;
== Photos ==&lt;br /&gt;
&lt;br /&gt;
Device built from DIY soldering kit, firmware version 1.2:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;gallery&amp;gt;&lt;br /&gt;
File:Ikalogic scanalogic2 device with probes.jpg|&amp;lt;small&amp;gt;Device with probes&amp;lt;/small&amp;gt;&lt;br /&gt;
File:Ikalogic scanalogic2 parts.jpg|&amp;lt;small&amp;gt;Parts&amp;lt;/small&amp;gt;&lt;br /&gt;
File:Ikalogic scanalogic2 guide back.jpg|&amp;lt;small&amp;gt;User&amp;#039;s guide&amp;lt;/small&amp;gt;&lt;br /&gt;
File:Ikalogic scanalogic2 pcb soldered front.jpg|&amp;lt;small&amp;gt;PCB, front&amp;lt;/small&amp;gt;&lt;br /&gt;
File:Ikalogic scanalogic2 pcb soldered back.jpg|&amp;lt;small&amp;gt;PCB, back&amp;lt;/small&amp;gt;&lt;br /&gt;
File:Ikalogic scanalogic2 pcb soldered light.jpg|&amp;lt;small&amp;gt;PCB, bright light&amp;lt;/small&amp;gt;&lt;br /&gt;
&amp;lt;/gallery&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Another device, firmware version 1.3:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;gallery&amp;gt;&lt;br /&gt;
File:Ikalogic scanalogic2 pcb soldered front rev2.jpg|&amp;lt;small&amp;gt;PCB, front&amp;lt;/small&amp;gt;&lt;br /&gt;
File:Ikalogic scanalogic2 pcb soldered back rev2.jpg|&amp;lt;small&amp;gt;PCB, back&amp;lt;/small&amp;gt;&lt;br /&gt;
File:Ikalogic scanalogic2 device open rev2.jpg|&amp;lt;small&amp;gt;Device, open&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;
In progress.&lt;br /&gt;
&lt;br /&gt;
=== Starting an acquisition ===&lt;br /&gt;
&lt;br /&gt;
An acquisition can be started by sending 128 bytes to the device, of which only the first 12 bytes (which are described below) have a meaning. All following bytes can have an arbitrary value. The device is capable to acquire up to 262128 samples whereas the vendor software limits it to 261888 samples. The number of pre- and post-trigger samples together must not exceed the sample limit of the device.&lt;br /&gt;
&lt;br /&gt;
{| border=&amp;quot;0&amp;quot; style=&amp;quot;font-size: smaller;&amp;quot; class=&amp;quot;alternategrey sigroktable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! Byte(s)&lt;br /&gt;
! Value&lt;br /&gt;
! Description&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| 0&lt;br /&gt;
| 0x01&lt;br /&gt;
| Command which indicates to start an acquisition.&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| 1&lt;br /&gt;
| 0x00&lt;br /&gt;
| This byte must always be 0x00.&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| 2-3&lt;br /&gt;
| Pre-trigger samples&lt;br /&gt;
| Number of samples to acquire in multiples of 8 before the trigger occurs.&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| 4-5&lt;br /&gt;
| Post-trigger samples&lt;br /&gt;
| Number of samples to acquire in multiples of 8 after the trigger occurs.&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| 6&lt;br /&gt;
| Samplerate&lt;br /&gt;
| See table below for a list of all possible samplerates and their corresponding values.&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| 7&lt;br /&gt;
| Trigger type&lt;br /&gt;
| &lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| 8&lt;br /&gt;
| Trigger channel&lt;br /&gt;
| &lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| 9&lt;br /&gt;
| 0x00&lt;br /&gt;
| This byte must always be 0x00.&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| 10-11&lt;br /&gt;
| After trigger delay&lt;br /&gt;
| Time that the trigger will be delayed in milliseconds. The trigger can be delayed from 0 to 65000ms.&lt;br /&gt;
&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
The following example starts an acquisition with a samplerate of 5MHz and with 2384 samples before and 17456 samples after the trigger occurs. The trigger is configured to channel 2 with a rising edge and is delayed for 20000ms.&lt;br /&gt;
&lt;br /&gt;
 0x01 0x00 0x2A 0x01 0x86 0x08 0x02 0x01  0x03 0x00 0x20 0x4E 0x00 0x00 0x00 0x00&lt;br /&gt;
 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00  0x00 ...&lt;br /&gt;
&lt;br /&gt;
The following table shows all possible samplerates.&lt;br /&gt;
&lt;br /&gt;
{| border=&amp;quot;0&amp;quot; style=&amp;quot;font-size: smaller;&amp;quot; class=&amp;quot;alternategrey sigroktable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
!Value&lt;br /&gt;
!Samplerate&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| 0x00&lt;br /&gt;
| 20MHz&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| 0x01&lt;br /&gt;
| 10MHz&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| 0x02&lt;br /&gt;
| 5MHz&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| 0x03&lt;br /&gt;
| 2.5MHz&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| 0x04&lt;br /&gt;
| 1MHz&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| 0x05&lt;br /&gt;
| 500kHz&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| 0x06&lt;br /&gt;
| 250kHz&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| 0x07&lt;br /&gt;
| 100kHz&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| 0x08&lt;br /&gt;
| 50kHz&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| 0x09&lt;br /&gt;
| 10kHz&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| 0x0A&lt;br /&gt;
| 1.25kHz&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Stopping acquisition ===&lt;br /&gt;
&lt;br /&gt;
An acquisition can be stopped by resetting the device. After that the [[Ikalogic_SCANALOGIC-2#Device status|device status]] indicates whether the acquisition is stopped. If the device is ready the acquisition was stopped successfully. An other device status indicates that the device did not recognize the reset. In this case the reset needs to be performed again.&lt;br /&gt;
&lt;br /&gt;
=== Receiving samples ===&lt;br /&gt;
&lt;br /&gt;
Sample data can be received by requesting 128 bytes from the device. The meaning of the received sample packet is described below. Information on whether sample data is ready to receive can be obtained by the [[Ikalogic_SCANALOGIC-2#Device status|device status]]. The sample packets will be received sequentially per channel. If no more sample data is available the device status changes to ready.&lt;br /&gt;
&lt;br /&gt;
{| border=&amp;quot;0&amp;quot; style=&amp;quot;font-size: smaller;&amp;quot; class=&amp;quot;alternategrey sigroktable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! Byte(s)&lt;br /&gt;
! Value&lt;br /&gt;
! Description&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| 0&lt;br /&gt;
| 0x05&lt;br /&gt;
| This byte indicates a valid device status.&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| 1&lt;br /&gt;
| Channel&lt;br /&gt;
| Channel number from 0x00 to 0x03.&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| 2&lt;br /&gt;
| Packet&lt;br /&gt;
| Sequential packet number from 0x00 to 0xFF. Note that the packet number wraps around if more than 253952 samples (124 bytes per packet * 8 samples per byte * 256 packets)  are requested.&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| 3&lt;br /&gt;
| 0x00&lt;br /&gt;
| This byte is always 0x00.&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| 4-127&lt;br /&gt;
| Sample data&lt;br /&gt;
| Sample data where each byte contains 8 samples. The first byte contains the first 8 samples.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Device status ===&lt;br /&gt;
&lt;br /&gt;
The device status can be obtained by requesting 128 bytes from the device. The first 2 bytes of the response (which are described below) have a meaning only. All following bytes can be ignored. Note that it might take a short time until a valid device status is received. In the meantime the last valid data of the device buffer will be received.&lt;br /&gt;
&lt;br /&gt;
{| border=&amp;quot;0&amp;quot; style=&amp;quot;font-size: smaller;&amp;quot; class=&amp;quot;alternategrey sigroktable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
!Byte(s)&lt;br /&gt;
!Value&lt;br /&gt;
!Description&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| 0&lt;br /&gt;
| 0x05&lt;br /&gt;
| This byte indicates a valid device status.&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| 1&lt;br /&gt;
| Status&lt;br /&gt;
| See the table below for a description of all possible status codes.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
All possible status codes are listed in the following table.&lt;br /&gt;
{| border=&amp;quot;0&amp;quot; style=&amp;quot;font-size: smaller;&amp;quot; class=&amp;quot;alternategrey sigroktable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
!Status&lt;br /&gt;
!Description&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| 0x60&lt;br /&gt;
| Sample data is ready to receive.&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| 0x61&lt;br /&gt;
| Device is waiting for a trigger event.&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| 0x62&lt;br /&gt;
| Sampling in progress.&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| 0x63&lt;br /&gt;
| Device is ready.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Device information ===&lt;br /&gt;
&lt;br /&gt;
Device information can be requested by sending 128 bytes to the device, of which only the first byte (which is described below) has a meaning. All following bytes can have an arbitrary value.&lt;br /&gt;
&lt;br /&gt;
{| border=&amp;quot;0&amp;quot; style=&amp;quot;font-size: smaller;&amp;quot; class=&amp;quot;alternategrey sigroktable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! Byte(s)&lt;br /&gt;
! Value&lt;br /&gt;
! Description&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| 0&lt;br /&gt;
| 0x0a&lt;br /&gt;
| Command which indicates to request device information.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
After these bytes are sent the device information can be obtained by requesting 128 bytes from the device. The first 7 bytes of the response (which is described below) have a meaning only. All following bytes can be ignored.&lt;br /&gt;
&lt;br /&gt;
{| border=&amp;quot;0&amp;quot; style=&amp;quot;font-size: smaller;&amp;quot; class=&amp;quot;alternategrey sigroktable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! Byte(s)&lt;br /&gt;
! Value&lt;br /&gt;
! Description&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| 0&lt;br /&gt;
| 0x0a&lt;br /&gt;
| This byte indicates valid device information.&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| 1-4&lt;br /&gt;
| Serial number&lt;br /&gt;
| Serial number of the device which is also the [[Wikipedia:Unix time|Unix time]] of the production date.&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| 5-6&lt;br /&gt;
| Firmware version&lt;br /&gt;
| Major and minor version of the firmware.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
The following example shows the information of a device with the serial number 1371371152 and the firmware version 1.3.&lt;br /&gt;
&lt;br /&gt;
 0x0A 0x90 0x76 0xBD 0x51 0x01 0x03 0x00  0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00&lt;br /&gt;
 0x00 0x00 0x00 ...&lt;br /&gt;
&lt;br /&gt;
=== Idle ===&lt;br /&gt;
&lt;br /&gt;
The device can be set to idle state by sending 128 bytes to the device, of which only the first byte (which is described below) has a meaning. All following bytes can have an arbitrary value.&lt;br /&gt;
&lt;br /&gt;
{| border=&amp;quot;0&amp;quot; style=&amp;quot;font-size: smaller;&amp;quot; class=&amp;quot;alternategrey sigroktable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! Byte(s)&lt;br /&gt;
! Value&lt;br /&gt;
! Description&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| 0&lt;br /&gt;
| 0x07&lt;br /&gt;
| Command which indicates to set the device to idle state.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
If the device is not in idle state it possibly will reset itself after a few seconds without being used and thereby close the connection. Instead of setting the device to idle state it is also possible to send periodically commands to the device to ensure it will not close the connection itself.&lt;br /&gt;
&lt;br /&gt;
=== Reset ===&lt;br /&gt;
&lt;br /&gt;
The device can be reset by sending 128 bytes to the device, of which only the first byte (which is described below) has a meaning. All following bytes can have an arbitrary value.&lt;br /&gt;
&lt;br /&gt;
{| border=&amp;quot;0&amp;quot; style=&amp;quot;font-size: smaller;&amp;quot; class=&amp;quot;alternategrey sigroktable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! Byte(s)&lt;br /&gt;
! Value&lt;br /&gt;
! Description&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| 0&lt;br /&gt;
| 0x02&lt;br /&gt;
| Command which indicates to reset the device.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== Resources ==&lt;br /&gt;
&lt;br /&gt;
* [http://www.ikalogic.com/wp-content/uploads/Scanalogic2_specifications_sheet.pdf Specification]&lt;br /&gt;
* [http://www.ikalogic.com/wp-content/uploads/Scanalogic2_manual_EN.pdf Manual]&lt;br /&gt;
* [http://www.ikalogic.com/ikalogic-products/scanastudio-2/ Vendor software]&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>Marc Schink</name></author>
	</entry>
	<entry>
		<id>https://sigrok.org/w/index.php?title=IKALOGIC_Scanalogic-2&amp;diff=6748</id>
		<title>IKALOGIC Scanalogic-2</title>
		<link rel="alternate" type="text/html" href="https://sigrok.org/w/index.php?title=IKALOGIC_Scanalogic-2&amp;diff=6748"/>
		<updated>2013-06-28T08:41:58Z</updated>

		<summary type="html">&lt;p&gt;Marc Schink: /* Protocol */ Idle state added.&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{Infobox logic analyzer&lt;br /&gt;
| image            = [[File:Ikalogic scanalogic2.png|180px]]&lt;br /&gt;
| name             = Ikalogic SCANALOGIC-2&lt;br /&gt;
| status           = supported&lt;br /&gt;
| source_code_dir  = ikalogic-scanalogic2&lt;br /&gt;
| channels         = 4&lt;br /&gt;
| samplerate       = 20MHz&lt;br /&gt;
| samplerate_state = &amp;amp;mdash;&lt;br /&gt;
| triggers         = rising, falling, either&lt;br /&gt;
| voltages         = -0.7V &amp;amp;mdash; 5.5V&lt;br /&gt;
| threshold        = ?&lt;br /&gt;
| memory           = 256ksamples/ch&lt;br /&gt;
| compression      = none&lt;br /&gt;
| website          = [http://www.ikalogic.com/scanalogic2/ ikalogic.com]&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
The &amp;#039;&amp;#039;&amp;#039;Ikalogic SCANALOGIC-2&amp;#039;&amp;#039;&amp;#039; is a USB-based, 4-channel logic analyzer with up to 20MHz sampling rate.&lt;br /&gt;
&lt;br /&gt;
See [[Ikalogic SCANALOGIC-2/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;
* [http://www.atmel.com/devices/atmega168pa.aspx Atmel ATmega168 PA] ([http://www.atmel.com/Images/Atmel-8271-8-bit-AVR-Microcontroller-ATmega48A-48PA-88A-88PA-168A-168PA-328-328P_datasheet_Summary.pdf datasheet])&lt;br /&gt;
* 2x [http://www.fairchildsemi.com/pf/74/74LCX125.html Fairchild Semiconductor 74LCX125]&lt;br /&gt;
* 4x [http://www.microchip.com/wwwproducts/Devices.aspx?dDocName=en539039 Microchip 23K256I] ([http://ww1.microchip.com/downloads/en/DeviceDoc/22100F.pdf datasheet])&lt;br /&gt;
* 20MHz crystal&lt;br /&gt;
&lt;br /&gt;
== Photos ==&lt;br /&gt;
&lt;br /&gt;
Device built from DIY soldering kit, firmware version 1.2:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;gallery&amp;gt;&lt;br /&gt;
File:Ikalogic scanalogic2 device with probes.jpg|&amp;lt;small&amp;gt;Device with probes&amp;lt;/small&amp;gt;&lt;br /&gt;
File:Ikalogic scanalogic2 parts.jpg|&amp;lt;small&amp;gt;Parts&amp;lt;/small&amp;gt;&lt;br /&gt;
File:Ikalogic scanalogic2 guide back.jpg|&amp;lt;small&amp;gt;User&amp;#039;s guide&amp;lt;/small&amp;gt;&lt;br /&gt;
File:Ikalogic scanalogic2 pcb soldered front.jpg|&amp;lt;small&amp;gt;PCB, front&amp;lt;/small&amp;gt;&lt;br /&gt;
File:Ikalogic scanalogic2 pcb soldered back.jpg|&amp;lt;small&amp;gt;PCB, back&amp;lt;/small&amp;gt;&lt;br /&gt;
File:Ikalogic scanalogic2 pcb soldered light.jpg|&amp;lt;small&amp;gt;PCB, bright light&amp;lt;/small&amp;gt;&lt;br /&gt;
&amp;lt;/gallery&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Another device, firmware version 1.3:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;gallery&amp;gt;&lt;br /&gt;
File:Ikalogic scanalogic2 pcb soldered front rev2.jpg|&amp;lt;small&amp;gt;PCB, front&amp;lt;/small&amp;gt;&lt;br /&gt;
File:Ikalogic scanalogic2 pcb soldered back rev2.jpg|&amp;lt;small&amp;gt;PCB, back&amp;lt;/small&amp;gt;&lt;br /&gt;
File:Ikalogic scanalogic2 device open rev2.jpg|&amp;lt;small&amp;gt;Device, open&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;
In progress.&lt;br /&gt;
&lt;br /&gt;
=== Starting an acquisition ===&lt;br /&gt;
&lt;br /&gt;
An acquisition can be started by sending 128 bytes to the device, of which only the first 12 bytes (which are described below) have a meaning. All following bytes can have an arbitrary value. The device is capable to acquire up to 262128 samples whereas the vendor software limits it to 261888 samples. The number of pre- and post-trigger samples together must not exceed the sample limit of the device.&lt;br /&gt;
&lt;br /&gt;
{| border=&amp;quot;0&amp;quot; style=&amp;quot;font-size: smaller;&amp;quot; class=&amp;quot;alternategrey sigroktable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! Byte(s)&lt;br /&gt;
! Value&lt;br /&gt;
! Description&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| 0&lt;br /&gt;
| 0x01&lt;br /&gt;
| Command which indicates to start an acquisition.&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| 1&lt;br /&gt;
| 0x00&lt;br /&gt;
| This byte must always be 0x00.&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| 2-3&lt;br /&gt;
| Pre-trigger samples&lt;br /&gt;
| Number of samples to acquire in multiples of 8 before the trigger occurs.&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| 4-5&lt;br /&gt;
| Post-trigger samples&lt;br /&gt;
| Number of samples to acquire in multiples of 8 after the trigger occurs.&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| 6&lt;br /&gt;
| Samplerate&lt;br /&gt;
| See table below for a list of all possible samplerates and their corresponding values.&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| 7&lt;br /&gt;
| Trigger type&lt;br /&gt;
| &lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| 8&lt;br /&gt;
| Trigger channel&lt;br /&gt;
| &lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| 9&lt;br /&gt;
| 0x00&lt;br /&gt;
| This byte must always be 0x00.&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| 10-11&lt;br /&gt;
| After trigger delay&lt;br /&gt;
| Time that the trigger will be delayed in milliseconds. The trigger can be delayed from 0 to 65000ms.&lt;br /&gt;
&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
The following example starts an acquisition with a samplerate of 5MHz and with 2384 samples before and 17456 samples after the trigger occurs. The trigger is configured to channel 2 with a rising edge and is delayed for 20000ms.&lt;br /&gt;
&lt;br /&gt;
 0x01 0x00 0x2A 0x01 0x86 0x08 0x02 0x01  0x03 0x00 0x20 0x4E 0x00 0x00 0x00 0x00&lt;br /&gt;
 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00  0x00 ...&lt;br /&gt;
&lt;br /&gt;
The following table shows all possible samplerates.&lt;br /&gt;
&lt;br /&gt;
{| border=&amp;quot;0&amp;quot; style=&amp;quot;font-size: smaller;&amp;quot; class=&amp;quot;alternategrey sigroktable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
!Value&lt;br /&gt;
!Samplerate&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| 0x00&lt;br /&gt;
| 20MHz&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| 0x01&lt;br /&gt;
| 10MHz&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| 0x02&lt;br /&gt;
| 5MHz&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| 0x03&lt;br /&gt;
| 2.5MHz&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| 0x04&lt;br /&gt;
| 1MHz&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| 0x05&lt;br /&gt;
| 500kHz&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| 0x06&lt;br /&gt;
| 250kHz&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| 0x07&lt;br /&gt;
| 100kHz&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| 0x08&lt;br /&gt;
| 50kHz&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| 0x09&lt;br /&gt;
| 10kHz&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| 0x0A&lt;br /&gt;
| 1.25kHz&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Stopping acquisition ===&lt;br /&gt;
&lt;br /&gt;
An acquisition can be stopped by resetting the device. After that the [[Ikalogic_SCANALOGIC-2#Device status|device status]] indicates whether the acquisition is stopped. If the device is ready the acquisition was stopped successfully. An other device status indicates that the device did not recognize the reset. In this case the reset needs to be performed again.&lt;br /&gt;
&lt;br /&gt;
=== Receiving samples ===&lt;br /&gt;
&lt;br /&gt;
TODO.&lt;br /&gt;
&lt;br /&gt;
=== Device status ===&lt;br /&gt;
&lt;br /&gt;
The device status can be obtained by requesting 128 bytes from the device. The first 2 bytes of the response (which are described below) have a meaning only. All following bytes can be ignored. Note that it might take a short time until a valid device status is received. In the meantime the last valid data of the device buffer will be received.&lt;br /&gt;
&lt;br /&gt;
{| border=&amp;quot;0&amp;quot; style=&amp;quot;font-size: smaller;&amp;quot; class=&amp;quot;alternategrey sigroktable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
!Byte(s)&lt;br /&gt;
!Value&lt;br /&gt;
!Description&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| 0&lt;br /&gt;
| 0x05&lt;br /&gt;
| This byte indicates a valid device status.&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| 1&lt;br /&gt;
| Status&lt;br /&gt;
| See the table below for a description of all possible status codes.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
All possible status codes are listed in the following table.&lt;br /&gt;
{| border=&amp;quot;0&amp;quot; style=&amp;quot;font-size: smaller;&amp;quot; class=&amp;quot;alternategrey sigroktable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
!Status&lt;br /&gt;
!Description&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| 0x60&lt;br /&gt;
| Sample data is ready to receive.&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| 0x61&lt;br /&gt;
| Device is waiting for a trigger event.&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| 0x62&lt;br /&gt;
| Sampling in progress.&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| 0x63&lt;br /&gt;
| Device is ready.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Device information ===&lt;br /&gt;
&lt;br /&gt;
Device information can be requested by sending 128 bytes to the device, of which only the first byte (which is described below) has a meaning. All following bytes can have an arbitrary value.&lt;br /&gt;
&lt;br /&gt;
{| border=&amp;quot;0&amp;quot; style=&amp;quot;font-size: smaller;&amp;quot; class=&amp;quot;alternategrey sigroktable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! Byte(s)&lt;br /&gt;
! Value&lt;br /&gt;
! Description&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| 0&lt;br /&gt;
| 0x0a&lt;br /&gt;
| Command which indicates to request device information.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
After these bytes are sent the device information can be obtained by requesting 128 bytes from the device. The first 7 bytes of the response (which is described below) have a meaning only. All following bytes can be ignored.&lt;br /&gt;
&lt;br /&gt;
{| border=&amp;quot;0&amp;quot; style=&amp;quot;font-size: smaller;&amp;quot; class=&amp;quot;alternategrey sigroktable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! Byte(s)&lt;br /&gt;
! Value&lt;br /&gt;
! Description&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| 0&lt;br /&gt;
| 0x0a&lt;br /&gt;
| This byte indicates valid device information.&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| 1-4&lt;br /&gt;
| Serial number&lt;br /&gt;
| Serial number of the device which is also the [[Wikipedia:Unix time|Unix time]] of the production date.&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| 5-6&lt;br /&gt;
| Firmware version&lt;br /&gt;
| Major and minor version of the firmware.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
The following example shows the information of a device with the serial number 1371371152 and the firmware version 1.3.&lt;br /&gt;
&lt;br /&gt;
 0x0A 0x90 0x76 0xBD 0x51 0x01 0x03 0x00  0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00&lt;br /&gt;
 0x00 0x00 0x00 ...&lt;br /&gt;
&lt;br /&gt;
=== Idle ===&lt;br /&gt;
&lt;br /&gt;
The device can be set to idle state by sending 128 bytes to the device, of which only the first byte (which is described below) has a meaning. All following bytes can have an arbitrary value.&lt;br /&gt;
&lt;br /&gt;
{| border=&amp;quot;0&amp;quot; style=&amp;quot;font-size: smaller;&amp;quot; class=&amp;quot;alternategrey sigroktable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! Byte(s)&lt;br /&gt;
! Value&lt;br /&gt;
! Description&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| 0&lt;br /&gt;
| 0x07&lt;br /&gt;
| Command which indicates to set the device to idle state.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
If the device is not in idle state it possibly will reset itself after a few seconds without being used and thereby close the connection. Instead of setting the device to idle state it is also possible to send periodically commands to the device to ensure it will not close the connection itself.&lt;br /&gt;
&lt;br /&gt;
=== Reset ===&lt;br /&gt;
&lt;br /&gt;
The device can be reset by sending 128 bytes to the device, of which only the first byte (which is described below) has a meaning. All following bytes can have an arbitrary value.&lt;br /&gt;
&lt;br /&gt;
{| border=&amp;quot;0&amp;quot; style=&amp;quot;font-size: smaller;&amp;quot; class=&amp;quot;alternategrey sigroktable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! Byte(s)&lt;br /&gt;
! Value&lt;br /&gt;
! Description&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| 0&lt;br /&gt;
| 0x02&lt;br /&gt;
| Command which indicates to reset the device.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== Resources ==&lt;br /&gt;
&lt;br /&gt;
* [http://www.ikalogic.com/wp-content/uploads/Scanalogic2_specifications_sheet.pdf Specification]&lt;br /&gt;
* [http://www.ikalogic.com/wp-content/uploads/Scanalogic2_manual_EN.pdf Manual]&lt;br /&gt;
* [http://www.ikalogic.com/ikalogic-products/scanastudio-2/ Vendor software]&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>Marc Schink</name></author>
	</entry>
	<entry>
		<id>https://sigrok.org/w/index.php?title=IKALOGIC_Scanalogic-2&amp;diff=6747</id>
		<title>IKALOGIC Scanalogic-2</title>
		<link rel="alternate" type="text/html" href="https://sigrok.org/w/index.php?title=IKALOGIC_Scanalogic-2&amp;diff=6747"/>
		<updated>2013-06-28T08:05:13Z</updated>

		<summary type="html">&lt;p&gt;Marc Schink: /* Starting an acquisition */ Possible samplerates added.&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{Infobox logic analyzer&lt;br /&gt;
| image            = [[File:Ikalogic scanalogic2.png|180px]]&lt;br /&gt;
| name             = Ikalogic SCANALOGIC-2&lt;br /&gt;
| status           = supported&lt;br /&gt;
| source_code_dir  = ikalogic-scanalogic2&lt;br /&gt;
| channels         = 4&lt;br /&gt;
| samplerate       = 20MHz&lt;br /&gt;
| samplerate_state = &amp;amp;mdash;&lt;br /&gt;
| triggers         = rising, falling, either&lt;br /&gt;
| voltages         = -0.7V &amp;amp;mdash; 5.5V&lt;br /&gt;
| threshold        = ?&lt;br /&gt;
| memory           = 256ksamples/ch&lt;br /&gt;
| compression      = none&lt;br /&gt;
| website          = [http://www.ikalogic.com/scanalogic2/ ikalogic.com]&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
The &amp;#039;&amp;#039;&amp;#039;Ikalogic SCANALOGIC-2&amp;#039;&amp;#039;&amp;#039; is a USB-based, 4-channel logic analyzer with up to 20MHz sampling rate.&lt;br /&gt;
&lt;br /&gt;
See [[Ikalogic SCANALOGIC-2/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;
* [http://www.atmel.com/devices/atmega168pa.aspx Atmel ATmega168 PA] ([http://www.atmel.com/Images/Atmel-8271-8-bit-AVR-Microcontroller-ATmega48A-48PA-88A-88PA-168A-168PA-328-328P_datasheet_Summary.pdf datasheet])&lt;br /&gt;
* 2x [http://www.fairchildsemi.com/pf/74/74LCX125.html Fairchild Semiconductor 74LCX125]&lt;br /&gt;
* 4x [http://www.microchip.com/wwwproducts/Devices.aspx?dDocName=en539039 Microchip 23K256I] ([http://ww1.microchip.com/downloads/en/DeviceDoc/22100F.pdf datasheet])&lt;br /&gt;
* 20MHz crystal&lt;br /&gt;
&lt;br /&gt;
== Photos ==&lt;br /&gt;
&lt;br /&gt;
Device built from DIY soldering kit, firmware version 1.2:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;gallery&amp;gt;&lt;br /&gt;
File:Ikalogic scanalogic2 device with probes.jpg|&amp;lt;small&amp;gt;Device with probes&amp;lt;/small&amp;gt;&lt;br /&gt;
File:Ikalogic scanalogic2 parts.jpg|&amp;lt;small&amp;gt;Parts&amp;lt;/small&amp;gt;&lt;br /&gt;
File:Ikalogic scanalogic2 guide back.jpg|&amp;lt;small&amp;gt;User&amp;#039;s guide&amp;lt;/small&amp;gt;&lt;br /&gt;
File:Ikalogic scanalogic2 pcb soldered front.jpg|&amp;lt;small&amp;gt;PCB, front&amp;lt;/small&amp;gt;&lt;br /&gt;
File:Ikalogic scanalogic2 pcb soldered back.jpg|&amp;lt;small&amp;gt;PCB, back&amp;lt;/small&amp;gt;&lt;br /&gt;
File:Ikalogic scanalogic2 pcb soldered light.jpg|&amp;lt;small&amp;gt;PCB, bright light&amp;lt;/small&amp;gt;&lt;br /&gt;
&amp;lt;/gallery&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Another device, firmware version 1.3:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;gallery&amp;gt;&lt;br /&gt;
File:Ikalogic scanalogic2 pcb soldered front rev2.jpg|&amp;lt;small&amp;gt;PCB, front&amp;lt;/small&amp;gt;&lt;br /&gt;
File:Ikalogic scanalogic2 pcb soldered back rev2.jpg|&amp;lt;small&amp;gt;PCB, back&amp;lt;/small&amp;gt;&lt;br /&gt;
File:Ikalogic scanalogic2 device open rev2.jpg|&amp;lt;small&amp;gt;Device, open&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;
In progress.&lt;br /&gt;
&lt;br /&gt;
=== Starting an acquisition ===&lt;br /&gt;
&lt;br /&gt;
An acquisition can be started by sending 128 bytes to the device, of which only the first 12 bytes (which are described below) have a meaning. All following bytes can have an arbitrary value. The device is capable to acquire up to 262128 samples whereas the vendor software limits it to 261888 samples. The number of pre- and post-trigger samples together must not exceed the sample limit of the device.&lt;br /&gt;
&lt;br /&gt;
{| border=&amp;quot;0&amp;quot; style=&amp;quot;font-size: smaller;&amp;quot; class=&amp;quot;alternategrey sigroktable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! Byte(s)&lt;br /&gt;
! Value&lt;br /&gt;
! Description&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| 0&lt;br /&gt;
| 0x01&lt;br /&gt;
| Command which indicates to start an acquisition.&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| 1&lt;br /&gt;
| 0x00&lt;br /&gt;
| This byte must always be 0x00.&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| 2-3&lt;br /&gt;
| Pre-trigger samples&lt;br /&gt;
| Number of samples to acquire in multiples of 8 before the trigger occurs.&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| 4-5&lt;br /&gt;
| Post-trigger samples&lt;br /&gt;
| Number of samples to acquire in multiples of 8 after the trigger occurs.&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| 6&lt;br /&gt;
| Samplerate&lt;br /&gt;
| See table below for a list of all possible samplerates and their corresponding values.&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| 7&lt;br /&gt;
| Trigger type&lt;br /&gt;
| &lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| 8&lt;br /&gt;
| Trigger channel&lt;br /&gt;
| &lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| 9&lt;br /&gt;
| 0x00&lt;br /&gt;
| This byte must always be 0x00.&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| 10-11&lt;br /&gt;
| After trigger delay&lt;br /&gt;
| Time that the trigger will be delayed in milliseconds. The trigger can be delayed from 0 to 65000ms.&lt;br /&gt;
&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
The following example starts an acquisition with a samplerate of 5MHz and with 2384 samples before and 17456 samples after the trigger occurs. The trigger is configured to channel 2 with a rising edge and is delayed for 20000ms.&lt;br /&gt;
&lt;br /&gt;
 0x01 0x00 0x2A 0x01 0x86 0x08 0x02 0x01  0x03 0x00 0x20 0x4E 0x00 0x00 0x00 0x00&lt;br /&gt;
 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00  0x00 ...&lt;br /&gt;
&lt;br /&gt;
The following table shows all possible samplerates.&lt;br /&gt;
&lt;br /&gt;
{| border=&amp;quot;0&amp;quot; style=&amp;quot;font-size: smaller;&amp;quot; class=&amp;quot;alternategrey sigroktable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
!Value&lt;br /&gt;
!Samplerate&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| 0x00&lt;br /&gt;
| 20MHz&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| 0x01&lt;br /&gt;
| 10MHz&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| 0x02&lt;br /&gt;
| 5MHz&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| 0x03&lt;br /&gt;
| 2.5MHz&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| 0x04&lt;br /&gt;
| 1MHz&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| 0x05&lt;br /&gt;
| 500kHz&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| 0x06&lt;br /&gt;
| 250kHz&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| 0x07&lt;br /&gt;
| 100kHz&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| 0x08&lt;br /&gt;
| 50kHz&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| 0x09&lt;br /&gt;
| 10kHz&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| 0x0A&lt;br /&gt;
| 1.25kHz&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Stopping acquisition ===&lt;br /&gt;
&lt;br /&gt;
An acquisition can be stopped by resetting the device. After that the [[Ikalogic_SCANALOGIC-2#Device status|device status]] indicates whether the acquisition is stopped. If the device is ready the acquisition was stopped successfully. An other device status indicates that the device did not recognize the reset. In this case the reset needs to be performed again.&lt;br /&gt;
&lt;br /&gt;
=== Receiving samples ===&lt;br /&gt;
&lt;br /&gt;
TODO.&lt;br /&gt;
&lt;br /&gt;
=== Device status ===&lt;br /&gt;
&lt;br /&gt;
The device status can be obtained by requesting 128 bytes from the device. The first 2 bytes of the response (which are described below) have a meaning only. All following bytes can be ignored. Note that it might take a short time until a valid device status is received. In the meantime the last valid data of the device buffer will be received.&lt;br /&gt;
&lt;br /&gt;
{| border=&amp;quot;0&amp;quot; style=&amp;quot;font-size: smaller;&amp;quot; class=&amp;quot;alternategrey sigroktable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
!Byte(s)&lt;br /&gt;
!Value&lt;br /&gt;
!Description&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| 0&lt;br /&gt;
| 0x05&lt;br /&gt;
| This byte indicates a valid device status.&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| 1&lt;br /&gt;
| Status&lt;br /&gt;
| See the table below for a description of all possible status codes.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
All possible status codes are listed in the following table.&lt;br /&gt;
{| border=&amp;quot;0&amp;quot; style=&amp;quot;font-size: smaller;&amp;quot; class=&amp;quot;alternategrey sigroktable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
!Status&lt;br /&gt;
!Description&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| 0x60&lt;br /&gt;
| Sample data is ready to receive.&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| 0x61&lt;br /&gt;
| Device is waiting for a trigger event.&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| 0x62&lt;br /&gt;
| Sampling in progress.&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| 0x63&lt;br /&gt;
| Device is ready.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Device information ===&lt;br /&gt;
&lt;br /&gt;
Device information can be requested by sending 128 bytes to the device, of which only the first byte (which is described below) has a meaning. All following bytes can have an arbitrary value.&lt;br /&gt;
&lt;br /&gt;
{| border=&amp;quot;0&amp;quot; style=&amp;quot;font-size: smaller;&amp;quot; class=&amp;quot;alternategrey sigroktable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! Byte(s)&lt;br /&gt;
! Value&lt;br /&gt;
! Description&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| 0&lt;br /&gt;
| 0x0a&lt;br /&gt;
| Command which indicates to request device information.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
After these bytes are sent the device information can be obtained by requesting 128 bytes from the device. The first 7 bytes of the response (which is described below) have a meaning only. All following bytes can be ignored.&lt;br /&gt;
&lt;br /&gt;
{| border=&amp;quot;0&amp;quot; style=&amp;quot;font-size: smaller;&amp;quot; class=&amp;quot;alternategrey sigroktable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! Byte(s)&lt;br /&gt;
! Value&lt;br /&gt;
! Description&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| 0&lt;br /&gt;
| 0x0a&lt;br /&gt;
| This byte indicates valid device information.&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| 1-4&lt;br /&gt;
| Serial number&lt;br /&gt;
| Serial number of the device which is also the [[Wikipedia:Unix time|Unix time]] of the production date.&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| 5-6&lt;br /&gt;
| Firmware version&lt;br /&gt;
| Major and minor version of the firmware.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
The following example shows the information of a device with the serial number 1371371152 and the firmware version 1.3.&lt;br /&gt;
&lt;br /&gt;
 0x0A 0x90 0x76 0xBD 0x51 0x01 0x03 0x00  0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00&lt;br /&gt;
 0x00 0x00 0x00 ...&lt;br /&gt;
&lt;br /&gt;
=== Reset ===&lt;br /&gt;
&lt;br /&gt;
The device can be reset by sending 128 bytes to the device, of which only the first byte (which is described below) has a meaning. All following bytes can have an arbitrary value.&lt;br /&gt;
&lt;br /&gt;
{| border=&amp;quot;0&amp;quot; style=&amp;quot;font-size: smaller;&amp;quot; class=&amp;quot;alternategrey sigroktable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! Byte(s)&lt;br /&gt;
! Value&lt;br /&gt;
! Description&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| 0&lt;br /&gt;
| 0x02&lt;br /&gt;
| Command which indicates to reset the device.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== Resources ==&lt;br /&gt;
&lt;br /&gt;
* [http://www.ikalogic.com/wp-content/uploads/Scanalogic2_specifications_sheet.pdf Specification]&lt;br /&gt;
* [http://www.ikalogic.com/wp-content/uploads/Scanalogic2_manual_EN.pdf Manual]&lt;br /&gt;
* [http://www.ikalogic.com/ikalogic-products/scanastudio-2/ Vendor software]&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>Marc Schink</name></author>
	</entry>
	<entry>
		<id>https://sigrok.org/w/index.php?title=IKALOGIC_Scanalogic-2&amp;diff=6746</id>
		<title>IKALOGIC Scanalogic-2</title>
		<link rel="alternate" type="text/html" href="https://sigrok.org/w/index.php?title=IKALOGIC_Scanalogic-2&amp;diff=6746"/>
		<updated>2013-06-27T08:52:59Z</updated>

		<summary type="html">&lt;p&gt;Marc Schink: /* Protocol */ Stopping acquisition and reset added.&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{Infobox logic analyzer&lt;br /&gt;
| image            = [[File:Ikalogic scanalogic2.png|180px]]&lt;br /&gt;
| name             = Ikalogic SCANALOGIC-2&lt;br /&gt;
| status           = supported&lt;br /&gt;
| source_code_dir  = ikalogic-scanalogic2&lt;br /&gt;
| channels         = 4&lt;br /&gt;
| samplerate       = 20MHz&lt;br /&gt;
| samplerate_state = &amp;amp;mdash;&lt;br /&gt;
| triggers         = rising, falling, either&lt;br /&gt;
| voltages         = -0.7V &amp;amp;mdash; 5.5V&lt;br /&gt;
| threshold        = ?&lt;br /&gt;
| memory           = 256ksamples/ch&lt;br /&gt;
| compression      = none&lt;br /&gt;
| website          = [http://www.ikalogic.com/scanalogic2/ ikalogic.com]&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
The &amp;#039;&amp;#039;&amp;#039;Ikalogic SCANALOGIC-2&amp;#039;&amp;#039;&amp;#039; is a USB-based, 4-channel logic analyzer with up to 20MHz sampling rate.&lt;br /&gt;
&lt;br /&gt;
See [[Ikalogic SCANALOGIC-2/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;
* [http://www.atmel.com/devices/atmega168pa.aspx Atmel ATmega168 PA] ([http://www.atmel.com/Images/Atmel-8271-8-bit-AVR-Microcontroller-ATmega48A-48PA-88A-88PA-168A-168PA-328-328P_datasheet_Summary.pdf datasheet])&lt;br /&gt;
* 2x [http://www.fairchildsemi.com/pf/74/74LCX125.html Fairchild Semiconductor 74LCX125]&lt;br /&gt;
* 4x [http://www.microchip.com/wwwproducts/Devices.aspx?dDocName=en539039 Microchip 23K256I] ([http://ww1.microchip.com/downloads/en/DeviceDoc/22100F.pdf datasheet])&lt;br /&gt;
* 20MHz crystal&lt;br /&gt;
&lt;br /&gt;
== Photos ==&lt;br /&gt;
&lt;br /&gt;
Device built from DIY soldering kit, firmware version 1.2:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;gallery&amp;gt;&lt;br /&gt;
File:Ikalogic scanalogic2 device with probes.jpg|&amp;lt;small&amp;gt;Device with probes&amp;lt;/small&amp;gt;&lt;br /&gt;
File:Ikalogic scanalogic2 parts.jpg|&amp;lt;small&amp;gt;Parts&amp;lt;/small&amp;gt;&lt;br /&gt;
File:Ikalogic scanalogic2 guide back.jpg|&amp;lt;small&amp;gt;User&amp;#039;s guide&amp;lt;/small&amp;gt;&lt;br /&gt;
File:Ikalogic scanalogic2 pcb soldered front.jpg|&amp;lt;small&amp;gt;PCB, front&amp;lt;/small&amp;gt;&lt;br /&gt;
File:Ikalogic scanalogic2 pcb soldered back.jpg|&amp;lt;small&amp;gt;PCB, back&amp;lt;/small&amp;gt;&lt;br /&gt;
File:Ikalogic scanalogic2 pcb soldered light.jpg|&amp;lt;small&amp;gt;PCB, bright light&amp;lt;/small&amp;gt;&lt;br /&gt;
&amp;lt;/gallery&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Another device, firmware version 1.3:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;gallery&amp;gt;&lt;br /&gt;
File:Ikalogic scanalogic2 pcb soldered front rev2.jpg|&amp;lt;small&amp;gt;PCB, front&amp;lt;/small&amp;gt;&lt;br /&gt;
File:Ikalogic scanalogic2 pcb soldered back rev2.jpg|&amp;lt;small&amp;gt;PCB, back&amp;lt;/small&amp;gt;&lt;br /&gt;
File:Ikalogic scanalogic2 device open rev2.jpg|&amp;lt;small&amp;gt;Device, open&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;
In progress.&lt;br /&gt;
&lt;br /&gt;
=== Starting an acquisition ===&lt;br /&gt;
&lt;br /&gt;
An acquisition can be started by sending 128 bytes to the device, of which only the first 12 bytes (which are described below) have a meaning. All following bytes can have an arbitrary value. The device is capable to acquire up to 262128 samples whereas the vendor software limits it to 261888 samples. The number of pre- and post-trigger samples together must not exceed the sample limit of the device.&lt;br /&gt;
&lt;br /&gt;
{| border=&amp;quot;0&amp;quot; style=&amp;quot;font-size: smaller;&amp;quot; class=&amp;quot;alternategrey sigroktable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! Byte(s)&lt;br /&gt;
! Value&lt;br /&gt;
! Description&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| 0&lt;br /&gt;
| 0x01&lt;br /&gt;
| Command which indicates to start an acquisition.&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| 1&lt;br /&gt;
| 0x00&lt;br /&gt;
| This byte must always be 0x00.&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| 2-3&lt;br /&gt;
| Pre-trigger samples&lt;br /&gt;
| Number of samples to acquire in multiples of 8 before the trigger occurs.&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| 4-5&lt;br /&gt;
| Post-trigger samples&lt;br /&gt;
| Number of samples to acquire in multiples of 8 after the trigger occurs.&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| 6&lt;br /&gt;
| Samplerate&lt;br /&gt;
| &lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| 7&lt;br /&gt;
| Trigger type&lt;br /&gt;
| &lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| 8&lt;br /&gt;
| Trigger channel&lt;br /&gt;
| &lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| 9&lt;br /&gt;
| 0x00&lt;br /&gt;
| This byte must always be 0x00.&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| 10-11&lt;br /&gt;
| After trigger delay&lt;br /&gt;
| Time that the trigger will be delayed in milliseconds. The trigger can be delayed from 0 to 65000ms.&lt;br /&gt;
&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
The following example starts an acquisition with a samplerate of 5MHz and with 2384 samples before and 17456 samples after the trigger occurs. The trigger is configured to channel 2 with a rising edge and is delayed for 20000ms.&lt;br /&gt;
&lt;br /&gt;
 0x01 0x00 0x2A 0x01 0x86 0x08 0x02 0x01  0x03 0x00 0x20 0x4E 0x00 0x00 0x00 0x00&lt;br /&gt;
 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00  0x00 ...&lt;br /&gt;
&lt;br /&gt;
=== Stopping acquisition ===&lt;br /&gt;
&lt;br /&gt;
An acquisition can be stopped by resetting the device. After that the [[Ikalogic_SCANALOGIC-2#Device status|device status]] indicates whether the acquisition is stopped. If the device is ready the acquisition was stopped successfully. An other device status indicates that the device did not recognize the reset. In this case the reset needs to be performed again.&lt;br /&gt;
&lt;br /&gt;
=== Receiving samples ===&lt;br /&gt;
&lt;br /&gt;
TODO.&lt;br /&gt;
&lt;br /&gt;
=== Device status ===&lt;br /&gt;
&lt;br /&gt;
The device status can be obtained by requesting 128 bytes from the device. The first 2 bytes of the response (which are described below) have a meaning only. All following bytes can be ignored. Note that it might take a short time until a valid device status is received. In the meantime the last valid data of the device buffer will be received.&lt;br /&gt;
&lt;br /&gt;
{| border=&amp;quot;0&amp;quot; style=&amp;quot;font-size: smaller;&amp;quot; class=&amp;quot;alternategrey sigroktable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
!Byte(s)&lt;br /&gt;
!Value&lt;br /&gt;
!Description&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| 0&lt;br /&gt;
| 0x05&lt;br /&gt;
| This byte indicates a valid device status.&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| 1&lt;br /&gt;
| Status&lt;br /&gt;
| See the table below for a description of all possible status codes.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
All possible status codes are listed in the following table.&lt;br /&gt;
{| border=&amp;quot;0&amp;quot; style=&amp;quot;font-size: smaller;&amp;quot; class=&amp;quot;alternategrey sigroktable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
!Status&lt;br /&gt;
!Description&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| 0x60&lt;br /&gt;
| Sample data is ready to receive.&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| 0x61&lt;br /&gt;
| Device is waiting for a trigger event.&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| 0x62&lt;br /&gt;
| Sampling in progress.&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| 0x63&lt;br /&gt;
| Device is ready.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Device information ===&lt;br /&gt;
&lt;br /&gt;
Device information can be requested by sending 128 bytes to the device, of which only the first byte (which is described below) has a meaning. All following bytes can have an arbitrary value.&lt;br /&gt;
&lt;br /&gt;
{| border=&amp;quot;0&amp;quot; style=&amp;quot;font-size: smaller;&amp;quot; class=&amp;quot;alternategrey sigroktable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! Byte(s)&lt;br /&gt;
! Value&lt;br /&gt;
! Description&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| 0&lt;br /&gt;
| 0x0a&lt;br /&gt;
| Command which indicates to request device information.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
After these bytes are sent the device information can be obtained by requesting 128 bytes from the device. The first 7 bytes of the response (which is described below) have a meaning only. All following bytes can be ignored.&lt;br /&gt;
&lt;br /&gt;
{| border=&amp;quot;0&amp;quot; style=&amp;quot;font-size: smaller;&amp;quot; class=&amp;quot;alternategrey sigroktable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! Byte(s)&lt;br /&gt;
! Value&lt;br /&gt;
! Description&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| 0&lt;br /&gt;
| 0x0a&lt;br /&gt;
| This byte indicates valid device information.&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| 1-4&lt;br /&gt;
| Serial number&lt;br /&gt;
| Serial number of the device which is also the [[Wikipedia:Unix time|Unix time]] of the production date.&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| 5-6&lt;br /&gt;
| Firmware version&lt;br /&gt;
| Major and minor version of the firmware.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
The following example shows the information of a device with the serial number 1371371152 and the firmware version 1.3.&lt;br /&gt;
&lt;br /&gt;
 0x0A 0x90 0x76 0xBD 0x51 0x01 0x03 0x00  0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00&lt;br /&gt;
 0x00 0x00 0x00 ...&lt;br /&gt;
&lt;br /&gt;
=== Reset ===&lt;br /&gt;
&lt;br /&gt;
The device can be reset by sending 128 bytes to the device, of which only the first byte (which is described below) has a meaning. All following bytes can have an arbitrary value.&lt;br /&gt;
&lt;br /&gt;
{| border=&amp;quot;0&amp;quot; style=&amp;quot;font-size: smaller;&amp;quot; class=&amp;quot;alternategrey sigroktable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! Byte(s)&lt;br /&gt;
! Value&lt;br /&gt;
! Description&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| 0&lt;br /&gt;
| 0x02&lt;br /&gt;
| Command which indicates to reset the device.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== Resources ==&lt;br /&gt;
&lt;br /&gt;
* [http://www.ikalogic.com/wp-content/uploads/Scanalogic2_specifications_sheet.pdf Specification]&lt;br /&gt;
* [http://www.ikalogic.com/wp-content/uploads/Scanalogic2_manual_EN.pdf Manual]&lt;br /&gt;
* [http://www.ikalogic.com/ikalogic-products/scanastudio-2/ Vendor software]&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>Marc Schink</name></author>
	</entry>
	<entry>
		<id>https://sigrok.org/w/index.php?title=IKALOGIC_Scanalogic-2&amp;diff=6734</id>
		<title>IKALOGIC Scanalogic-2</title>
		<link rel="alternate" type="text/html" href="https://sigrok.org/w/index.php?title=IKALOGIC_Scanalogic-2&amp;diff=6734"/>
		<updated>2013-06-20T20:46:24Z</updated>

		<summary type="html">&lt;p&gt;Marc Schink: Device information added.&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{Infobox logic analyzer&lt;br /&gt;
| image            = [[File:Ikalogic scanalogic2.png|180px]]&lt;br /&gt;
| name             = Ikalogic SCANALOGIC-2&lt;br /&gt;
| status           = supported&lt;br /&gt;
| source_code_dir  = ikalogic-scanalogic2&lt;br /&gt;
| channels         = 4&lt;br /&gt;
| samplerate       = 20MHz&lt;br /&gt;
| samplerate_state = &amp;amp;mdash;&lt;br /&gt;
| triggers         = rising, falling, either&lt;br /&gt;
| voltages         = -0.7V &amp;amp;mdash; 5.5V&lt;br /&gt;
| threshold        = ?&lt;br /&gt;
| memory           = 256ksamples/ch&lt;br /&gt;
| compression      = none&lt;br /&gt;
| website          = [http://www.ikalogic.com/scanalogic2/ ikalogic.com]&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
The &amp;#039;&amp;#039;&amp;#039;Ikalogic SCANALOGIC-2&amp;#039;&amp;#039;&amp;#039; is a USB-based, 4-channel logic analyzer with up to 20MHz sampling rate.&lt;br /&gt;
&lt;br /&gt;
See [[Ikalogic SCANALOGIC-2/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;
* [http://www.atmel.com/devices/atmega168pa.aspx Atmel ATmega168 PA] ([http://www.atmel.com/Images/Atmel-8271-8-bit-AVR-Microcontroller-ATmega48A-48PA-88A-88PA-168A-168PA-328-328P_datasheet_Summary.pdf datasheet])&lt;br /&gt;
* 2x [http://www.fairchildsemi.com/pf/74/74LCX125.html Fairchild Semiconductor 74LCX125]&lt;br /&gt;
* 4x [http://www.microchip.com/wwwproducts/Devices.aspx?dDocName=en539039 Microchip 23K256I] ([http://ww1.microchip.com/downloads/en/DeviceDoc/22100F.pdf datasheet])&lt;br /&gt;
* 20MHz crystal&lt;br /&gt;
&lt;br /&gt;
== Photos ==&lt;br /&gt;
&lt;br /&gt;
Device built from DIY soldering kit, firmware version 1.2:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;gallery&amp;gt;&lt;br /&gt;
File:Ikalogic scanalogic2 device with probes.jpg|&amp;lt;small&amp;gt;Device with probes&amp;lt;/small&amp;gt;&lt;br /&gt;
File:Ikalogic scanalogic2 parts.jpg|&amp;lt;small&amp;gt;Parts&amp;lt;/small&amp;gt;&lt;br /&gt;
File:Ikalogic scanalogic2 guide back.jpg|&amp;lt;small&amp;gt;User&amp;#039;s guide&amp;lt;/small&amp;gt;&lt;br /&gt;
File:Ikalogic scanalogic2 pcb soldered front.jpg|&amp;lt;small&amp;gt;PCB, front&amp;lt;/small&amp;gt;&lt;br /&gt;
File:Ikalogic scanalogic2 pcb soldered back.jpg|&amp;lt;small&amp;gt;PCB, back&amp;lt;/small&amp;gt;&lt;br /&gt;
File:Ikalogic scanalogic2 pcb soldered light.jpg|&amp;lt;small&amp;gt;PCB, bright light&amp;lt;/small&amp;gt;&lt;br /&gt;
&amp;lt;/gallery&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Another device, firmware version 1.3:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;gallery&amp;gt;&lt;br /&gt;
File:Ikalogic scanalogic2 pcb soldered front rev2.jpg|&amp;lt;small&amp;gt;PCB, front&amp;lt;/small&amp;gt;&lt;br /&gt;
File:Ikalogic scanalogic2 pcb soldered back rev2.jpg|&amp;lt;small&amp;gt;PCB, back&amp;lt;/small&amp;gt;&lt;br /&gt;
File:Ikalogic scanalogic2 device open rev2.jpg|&amp;lt;small&amp;gt;Device, open&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;
In progress.&lt;br /&gt;
&lt;br /&gt;
=== Starting an acquisition ===&lt;br /&gt;
&lt;br /&gt;
An acquisition can be started by sending 128 bytes to the device, of which only the first 12 bytes (which are described below) have a meaning. All following bytes can have an arbitrary value. The device is capable to acquire up to 262128 samples whereas the vendor software limits it to 261888 samples. The number of pre- and post-trigger samples together must not exceed the sample limit of the device.&lt;br /&gt;
&lt;br /&gt;
{| border=&amp;quot;0&amp;quot; style=&amp;quot;font-size: smaller;&amp;quot; class=&amp;quot;alternategrey sigroktable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! Byte(s)&lt;br /&gt;
! Value&lt;br /&gt;
! Description&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| 0&lt;br /&gt;
| 0x01&lt;br /&gt;
| Command which indicates to start an acquisition.&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| 1&lt;br /&gt;
| 0x00&lt;br /&gt;
| This byte must always be 0x00.&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| 2-3&lt;br /&gt;
| Pre-trigger samples&lt;br /&gt;
| Number of samples to acquire in multiples of 8 before the trigger occurs.&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| 4-5&lt;br /&gt;
| Post-trigger samples&lt;br /&gt;
| Number of samples to acquire in multiples of 8 after the trigger occurs.&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| 6&lt;br /&gt;
| Samplerate&lt;br /&gt;
| &lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| 7&lt;br /&gt;
| Trigger type&lt;br /&gt;
| &lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| 8&lt;br /&gt;
| Trigger channel&lt;br /&gt;
| &lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| 9&lt;br /&gt;
| 0x00&lt;br /&gt;
| This byte must always be 0x00.&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| 10-11&lt;br /&gt;
| After trigger delay&lt;br /&gt;
| Time that the trigger will be delayed in milliseconds. The trigger can be delayed from 0 to 65000ms.&lt;br /&gt;
&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
The following example starts an acquisition with a samplerate of 5MHz and with 2384 samples before and 17456 samples after the trigger occurs. The trigger is configured to channel 2 with a rising edge and is delayed for 20000ms.&lt;br /&gt;
&lt;br /&gt;
 0x01 0x00 0x2A 0x01 0x86 0x08 0x02 0x01  0x03 0x00 0x20 0x4E 0x00 0x00 0x00 0x00&lt;br /&gt;
 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00  0x00 ...&lt;br /&gt;
&lt;br /&gt;
=== Device status ===&lt;br /&gt;
&lt;br /&gt;
The device status can be obtained by requesting 128 bytes from the device. The first 2 bytes of the response (which are described below) have a meaning only. All following bytes can be ignored. Note that it might take a short time until a valid device status is received. In the meantime the last valid data of the device buffer will be received.&lt;br /&gt;
&lt;br /&gt;
{| border=&amp;quot;0&amp;quot; style=&amp;quot;font-size: smaller;&amp;quot; class=&amp;quot;alternategrey sigroktable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
!Byte(s)&lt;br /&gt;
!Value&lt;br /&gt;
!Description&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| 0&lt;br /&gt;
| 0x05&lt;br /&gt;
| This byte indicates a valid device status.&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| 1&lt;br /&gt;
| Status&lt;br /&gt;
| See the table below for a description of all possible status codes.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
All possible status codes are listed in the following table.&lt;br /&gt;
{| border=&amp;quot;0&amp;quot; style=&amp;quot;font-size: smaller;&amp;quot; class=&amp;quot;alternategrey sigroktable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
!Status&lt;br /&gt;
!Description&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| 0x60&lt;br /&gt;
| Sample data is ready to receive.&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| 0x61&lt;br /&gt;
| Device is waiting for a trigger event.&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| 0x62&lt;br /&gt;
| Sampling in progress.&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| 0x63&lt;br /&gt;
| Device is ready.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Device information ===&lt;br /&gt;
&lt;br /&gt;
Device information can be requested by sending 128 bytes to the device, of which only the first byte (which is described below) has a meaning. All following bytes can have an arbitrary value.&lt;br /&gt;
&lt;br /&gt;
{| border=&amp;quot;0&amp;quot; style=&amp;quot;font-size: smaller;&amp;quot; class=&amp;quot;alternategrey sigroktable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! Byte(s)&lt;br /&gt;
! Value&lt;br /&gt;
! Description&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| 0&lt;br /&gt;
| 0x0a&lt;br /&gt;
| Command which indicates to request device information.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
After these bytes are sent the device information can be obtained by requesting 128 bytes from the device. The first 7 bytes of the response (which is described below) have a meaning only. All following bytes can be ignored.&lt;br /&gt;
&lt;br /&gt;
{| border=&amp;quot;0&amp;quot; style=&amp;quot;font-size: smaller;&amp;quot; class=&amp;quot;alternategrey sigroktable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! Byte(s)&lt;br /&gt;
! Value&lt;br /&gt;
! Description&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| 0&lt;br /&gt;
| 0x0a&lt;br /&gt;
| This byte indicates valid device information.&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| 1-4&lt;br /&gt;
| Serial number&lt;br /&gt;
| Serial number of the device which is also the [[Wikipedia:Unix time|Unix time]] of the production date.&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| 5-6&lt;br /&gt;
| Firmware version&lt;br /&gt;
| Major and minor version of the firmware.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
The following example shows the information of a device with the serial number 1371371152 and the firmware version 1.3.&lt;br /&gt;
&lt;br /&gt;
 0x0A 0x90 0x76 0xBD 0x51 0x01 0x03 0x00  0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00&lt;br /&gt;
 0x00 0x00 0x00 ...&lt;br /&gt;
&lt;br /&gt;
== Resources ==&lt;br /&gt;
&lt;br /&gt;
* [http://www.ikalogic.com/wp-content/uploads/Scanalogic2_specifications_sheet.pdf Specification]&lt;br /&gt;
* [http://www.ikalogic.com/wp-content/uploads/Scanalogic2_manual_EN.pdf Manual]&lt;br /&gt;
* [http://www.ikalogic.com/ikalogic-products/scanastudio-2/ Vendor software]&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>Marc Schink</name></author>
	</entry>
	<entry>
		<id>https://sigrok.org/w/index.php?title=IKALOGIC_Scanalogic-2&amp;diff=6718</id>
		<title>IKALOGIC Scanalogic-2</title>
		<link rel="alternate" type="text/html" href="https://sigrok.org/w/index.php?title=IKALOGIC_Scanalogic-2&amp;diff=6718"/>
		<updated>2013-06-14T21:20:56Z</updated>

		<summary type="html">&lt;p&gt;Marc Schink: Fix acquisition example.&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{Infobox logic analyzer&lt;br /&gt;
| image            = [[File:Ikalogic scanalogic2.png|180px]]&lt;br /&gt;
| name             = Ikalogic SCANALOGIC-2&lt;br /&gt;
| status           = supported&lt;br /&gt;
| source_code_dir  = ikalogic-scanalogic2&lt;br /&gt;
| channels         = 4&lt;br /&gt;
| samplerate       = 20MHz&lt;br /&gt;
| samplerate_state = &amp;amp;mdash;&lt;br /&gt;
| triggers         = rising, falling, either&lt;br /&gt;
| voltages         = -0.7V &amp;amp;mdash; 5.5V&lt;br /&gt;
| threshold        = ?&lt;br /&gt;
| memory           = 256ksamples/ch&lt;br /&gt;
| compression      = none&lt;br /&gt;
| website          = [http://www.ikalogic.com/scanalogic2/ ikalogic.com]&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
The &amp;#039;&amp;#039;&amp;#039;Ikalogic SCANALOGIC-2&amp;#039;&amp;#039;&amp;#039; is a USB-based, 4-channel logic analyzer with up to 20MHz sampling rate.&lt;br /&gt;
&lt;br /&gt;
See [[Ikalogic SCANALOGIC-2/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;
* [http://www.atmel.com/devices/atmega168pa.aspx Atmel ATmega168 PA] ([http://www.atmel.com/Images/Atmel-8271-8-bit-AVR-Microcontroller-ATmega48A-48PA-88A-88PA-168A-168PA-328-328P_datasheet_Summary.pdf datasheet])&lt;br /&gt;
* 2x [http://www.fairchildsemi.com/pf/74/74LCX125.html Fairchild Semiconductor 74LCX125]&lt;br /&gt;
* 4x [http://www.microchip.com/wwwproducts/Devices.aspx?dDocName=en539039 Microchip 23K256I] ([http://ww1.microchip.com/downloads/en/DeviceDoc/22100F.pdf datasheet])&lt;br /&gt;
* 20MHz crystal&lt;br /&gt;
&lt;br /&gt;
== Photos ==&lt;br /&gt;
&lt;br /&gt;
Device built from DIY soldering kit, firmware version 1.2:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;gallery&amp;gt;&lt;br /&gt;
File:Ikalogic scanalogic2 device with probes.jpg|&amp;lt;small&amp;gt;Device with probes&amp;lt;/small&amp;gt;&lt;br /&gt;
File:Ikalogic scanalogic2 parts.jpg|&amp;lt;small&amp;gt;Parts&amp;lt;/small&amp;gt;&lt;br /&gt;
File:Ikalogic scanalogic2 guide back.jpg|&amp;lt;small&amp;gt;User&amp;#039;s guide&amp;lt;/small&amp;gt;&lt;br /&gt;
File:Ikalogic scanalogic2 pcb soldered front.jpg|&amp;lt;small&amp;gt;PCB, front&amp;lt;/small&amp;gt;&lt;br /&gt;
File:Ikalogic scanalogic2 pcb soldered back.jpg|&amp;lt;small&amp;gt;PCB, back&amp;lt;/small&amp;gt;&lt;br /&gt;
File:Ikalogic scanalogic2 pcb soldered light.jpg|&amp;lt;small&amp;gt;PCB, bright light&amp;lt;/small&amp;gt;&lt;br /&gt;
&amp;lt;/gallery&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Another device, firmware version 1.3:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;gallery&amp;gt;&lt;br /&gt;
File:Ikalogic scanalogic2 pcb soldered front rev2.jpg|&amp;lt;small&amp;gt;PCB, front&amp;lt;/small&amp;gt;&lt;br /&gt;
File:Ikalogic scanalogic2 pcb soldered back rev2.jpg|&amp;lt;small&amp;gt;PCB, back&amp;lt;/small&amp;gt;&lt;br /&gt;
File:Ikalogic scanalogic2 device open rev2.jpg|&amp;lt;small&amp;gt;Device, open&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;
In progress.&lt;br /&gt;
&lt;br /&gt;
=== Starting an acquisition ===&lt;br /&gt;
&lt;br /&gt;
An acquisition can be started by sending 128 bytes to the device, of which only the first 12 bytes (which are described below) have a meaning. All following bytes can have an arbitrary value. The device is capable to acquire up to 262128 samples whereas the vendor software limits it to 261888 samples. The number of pre- and post-trigger samples together must not exceed the sample limit of the device.&lt;br /&gt;
&lt;br /&gt;
{| border=&amp;quot;0&amp;quot; style=&amp;quot;font-size: smaller;&amp;quot; class=&amp;quot;alternategrey sigroktable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! Byte(s)&lt;br /&gt;
! Value&lt;br /&gt;
! Description&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| 0&lt;br /&gt;
| 0x01&lt;br /&gt;
| Command which indicates to start an acquisition.&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| 1&lt;br /&gt;
| 0x00&lt;br /&gt;
| This byte must always be 0x00.&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| 2-3&lt;br /&gt;
| Pre-trigger samples&lt;br /&gt;
| Number of samples to acquire in multiples of 8 before the trigger occurs.&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| 4-5&lt;br /&gt;
| Post-trigger samples&lt;br /&gt;
| Number of samples to acquire in multiples of 8 after the trigger occurs.&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| 6&lt;br /&gt;
| Samplerate&lt;br /&gt;
| &lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| 7&lt;br /&gt;
| Trigger type&lt;br /&gt;
| &lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| 8&lt;br /&gt;
| Trigger channel&lt;br /&gt;
| &lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| 9&lt;br /&gt;
| 0x00&lt;br /&gt;
| This byte must always be 0x00.&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| 10-11&lt;br /&gt;
| After trigger delay&lt;br /&gt;
| Time that the trigger will be delayed in milliseconds. The trigger can be delayed from 0 to 65000ms.&lt;br /&gt;
&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
The following example starts an acquisition with a samplerate of 5MHz and with 2384 samples before and 17456 samples after the trigger occurs. The trigger is configured to channel 2 with a rising edge and is delayed for 20000ms.&lt;br /&gt;
&lt;br /&gt;
 0x01 0x00 0x2A 0x01 0x86 0x08 0x02 0x01  0x03 0x00 0x20 0x4E 0x00 0x00 0x00 0x00&lt;br /&gt;
 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00  0x00 ...&lt;br /&gt;
&lt;br /&gt;
=== Device status ===&lt;br /&gt;
&lt;br /&gt;
The device status can be obtained by requesting 128 bytes from the device. The first 2 bytes of the response (which are described below) have a meaning only. All following bytes can be ignored. Note that it might take a short time until a valid device status is received. In the meantime the last valid data of the device buffer will be received.&lt;br /&gt;
&lt;br /&gt;
{| border=&amp;quot;0&amp;quot; style=&amp;quot;font-size: smaller;&amp;quot; class=&amp;quot;alternategrey sigroktable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
!Byte(s)&lt;br /&gt;
!Value&lt;br /&gt;
!Description&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| 0&lt;br /&gt;
| 0x05&lt;br /&gt;
| This byte indicates a valid device status.&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| 1&lt;br /&gt;
| Status&lt;br /&gt;
| See the table below for a description of all possible status codes.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
All possible status codes are listed in the following table.&lt;br /&gt;
{| border=&amp;quot;0&amp;quot; style=&amp;quot;font-size: smaller;&amp;quot; class=&amp;quot;alternategrey sigroktable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
!Status&lt;br /&gt;
!Description&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| 0x60&lt;br /&gt;
| Sample data is ready to receive.&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| 0x61&lt;br /&gt;
| Device is waiting for a trigger event.&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| 0x62&lt;br /&gt;
| Sampling in progress.&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| 0x63&lt;br /&gt;
| Device is ready.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== Resources ==&lt;br /&gt;
&lt;br /&gt;
* [http://www.ikalogic.com/wp-content/uploads/Scanalogic2_specifications_sheet.pdf Specification]&lt;br /&gt;
* [http://www.ikalogic.com/wp-content/uploads/Scanalogic2_manual_EN.pdf Manual]&lt;br /&gt;
* [http://www.ikalogic.com/ikalogic-products/scanastudio-2/ Vendor software]&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>Marc Schink</name></author>
	</entry>
	<entry>
		<id>https://sigrok.org/w/index.php?title=IKALOGIC_Scanalogic-2&amp;diff=6717</id>
		<title>IKALOGIC Scanalogic-2</title>
		<link rel="alternate" type="text/html" href="https://sigrok.org/w/index.php?title=IKALOGIC_Scanalogic-2&amp;diff=6717"/>
		<updated>2013-06-14T20:49:48Z</updated>

		<summary type="html">&lt;p&gt;Marc Schink: /* Device status */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{Infobox logic analyzer&lt;br /&gt;
| image            = [[File:Ikalogic scanalogic2.png|180px]]&lt;br /&gt;
| name             = Ikalogic SCANALOGIC-2&lt;br /&gt;
| status           = supported&lt;br /&gt;
| source_code_dir  = ikalogic-scanalogic2&lt;br /&gt;
| channels         = 4&lt;br /&gt;
| samplerate       = 20MHz&lt;br /&gt;
| samplerate_state = &amp;amp;mdash;&lt;br /&gt;
| triggers         = rising, falling, either&lt;br /&gt;
| voltages         = -0.7V &amp;amp;mdash; 5.5V&lt;br /&gt;
| threshold        = ?&lt;br /&gt;
| memory           = 256ksamples/ch&lt;br /&gt;
| compression      = none&lt;br /&gt;
| website          = [http://www.ikalogic.com/scanalogic2/ ikalogic.com]&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
The &amp;#039;&amp;#039;&amp;#039;Ikalogic SCANALOGIC-2&amp;#039;&amp;#039;&amp;#039; is a USB-based, 4-channel logic analyzer with up to 20MHz sampling rate.&lt;br /&gt;
&lt;br /&gt;
See [[Ikalogic SCANALOGIC-2/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;
* [http://www.atmel.com/devices/atmega168pa.aspx Atmel ATmega168 PA] ([http://www.atmel.com/Images/Atmel-8271-8-bit-AVR-Microcontroller-ATmega48A-48PA-88A-88PA-168A-168PA-328-328P_datasheet_Summary.pdf datasheet])&lt;br /&gt;
* 2x [http://www.fairchildsemi.com/pf/74/74LCX125.html Fairchild Semiconductor 74LCX125]&lt;br /&gt;
* 4x [http://www.microchip.com/wwwproducts/Devices.aspx?dDocName=en539039 Microchip 23K256I] ([http://ww1.microchip.com/downloads/en/DeviceDoc/22100F.pdf datasheet])&lt;br /&gt;
* 20MHz crystal&lt;br /&gt;
&lt;br /&gt;
== Photos ==&lt;br /&gt;
&lt;br /&gt;
Device built from DIY soldering kit, firmware version 1.2:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;gallery&amp;gt;&lt;br /&gt;
File:Ikalogic scanalogic2 device with probes.jpg|&amp;lt;small&amp;gt;Device with probes&amp;lt;/small&amp;gt;&lt;br /&gt;
File:Ikalogic scanalogic2 parts.jpg|&amp;lt;small&amp;gt;Parts&amp;lt;/small&amp;gt;&lt;br /&gt;
File:Ikalogic scanalogic2 guide back.jpg|&amp;lt;small&amp;gt;User&amp;#039;s guide&amp;lt;/small&amp;gt;&lt;br /&gt;
File:Ikalogic scanalogic2 pcb soldered front.jpg|&amp;lt;small&amp;gt;PCB, front&amp;lt;/small&amp;gt;&lt;br /&gt;
File:Ikalogic scanalogic2 pcb soldered back.jpg|&amp;lt;small&amp;gt;PCB, back&amp;lt;/small&amp;gt;&lt;br /&gt;
File:Ikalogic scanalogic2 pcb soldered light.jpg|&amp;lt;small&amp;gt;PCB, bright light&amp;lt;/small&amp;gt;&lt;br /&gt;
&amp;lt;/gallery&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Another device, firmware version 1.3:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;gallery&amp;gt;&lt;br /&gt;
File:Ikalogic scanalogic2 pcb soldered front rev2.jpg|&amp;lt;small&amp;gt;PCB, front&amp;lt;/small&amp;gt;&lt;br /&gt;
File:Ikalogic scanalogic2 pcb soldered back rev2.jpg|&amp;lt;small&amp;gt;PCB, back&amp;lt;/small&amp;gt;&lt;br /&gt;
File:Ikalogic scanalogic2 device open rev2.jpg|&amp;lt;small&amp;gt;Device, open&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;
In progress.&lt;br /&gt;
&lt;br /&gt;
=== Starting an acquisition ===&lt;br /&gt;
&lt;br /&gt;
An acquisition can be started by sending 128 bytes to the device, of which only the first 12 bytes (which are described below) have a meaning. All following bytes can have an arbitrary value. The device is capable to acquire up to 262128 samples whereas the vendor software limits it to 261888 samples. The number of pre- and post-trigger samples together must not exceed the sample limit of the device.&lt;br /&gt;
&lt;br /&gt;
{| border=&amp;quot;0&amp;quot; style=&amp;quot;font-size: smaller;&amp;quot; class=&amp;quot;alternategrey sigroktable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! Byte(s)&lt;br /&gt;
! Value&lt;br /&gt;
! Description&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| 0&lt;br /&gt;
| 0x01&lt;br /&gt;
| Command which indicates to start an acquisition.&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| 1&lt;br /&gt;
| 0x00&lt;br /&gt;
| This byte must always be 0x00.&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| 2-3&lt;br /&gt;
| Pre-trigger samples&lt;br /&gt;
| Number of samples to acquire in multiples of 8 before the trigger occurs.&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| 4-5&lt;br /&gt;
| Post-trigger samples&lt;br /&gt;
| Number of samples to acquire in multiples of 8 after the trigger occurs.&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| 6&lt;br /&gt;
| Samplerate&lt;br /&gt;
| &lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| 7&lt;br /&gt;
| Trigger type&lt;br /&gt;
| &lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| 8&lt;br /&gt;
| Trigger channel&lt;br /&gt;
| &lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| 9&lt;br /&gt;
| 0x00&lt;br /&gt;
| This byte must always be 0x00.&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| 10-11&lt;br /&gt;
| After trigger delay&lt;br /&gt;
| Time that the trigger will be delayed in milliseconds. The trigger can be delayed from 0 to 65000ms.&lt;br /&gt;
&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
The following example starts an acquisition with a samplerate of 5MHz and with 2384 samples before and 17456 samples after the trigger occurs. The trigger is configured to channel 2 with a rising edge and is delayed for 20000ms.&lt;br /&gt;
&lt;br /&gt;
 0x01 0x00 0x2A 0x01 0x86 0x08 0x02 0x01  0x03 0x00 0x20 0x4E 0x00 0x00 0x00&lt;br /&gt;
 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00  0x00 ...&lt;br /&gt;
&lt;br /&gt;
=== Device status ===&lt;br /&gt;
&lt;br /&gt;
The device status can be obtained by requesting 128 bytes from the device. The first 2 bytes of the response (which are described below) have a meaning only. All following bytes can be ignored. Note that it might take a short time until a valid device status is received. In the meantime the last valid data of the device buffer will be received.&lt;br /&gt;
&lt;br /&gt;
{| border=&amp;quot;0&amp;quot; style=&amp;quot;font-size: smaller;&amp;quot; class=&amp;quot;alternategrey sigroktable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
!Byte(s)&lt;br /&gt;
!Value&lt;br /&gt;
!Description&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| 0&lt;br /&gt;
| 0x05&lt;br /&gt;
| This byte indicates a valid device status.&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| 1&lt;br /&gt;
| Status&lt;br /&gt;
| See the table below for a description of all possible status codes.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
All possible status codes are listed in the following table.&lt;br /&gt;
{| border=&amp;quot;0&amp;quot; style=&amp;quot;font-size: smaller;&amp;quot; class=&amp;quot;alternategrey sigroktable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
!Status&lt;br /&gt;
!Description&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| 0x60&lt;br /&gt;
| Sample data is ready to receive.&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| 0x61&lt;br /&gt;
| Device is waiting for a trigger event.&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| 0x62&lt;br /&gt;
| Sampling in progress.&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| 0x63&lt;br /&gt;
| Device is ready.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== Resources ==&lt;br /&gt;
&lt;br /&gt;
* [http://www.ikalogic.com/wp-content/uploads/Scanalogic2_specifications_sheet.pdf Specification]&lt;br /&gt;
* [http://www.ikalogic.com/wp-content/uploads/Scanalogic2_manual_EN.pdf Manual]&lt;br /&gt;
* [http://www.ikalogic.com/ikalogic-products/scanastudio-2/ Vendor software]&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>Marc Schink</name></author>
	</entry>
	<entry>
		<id>https://sigrok.org/w/index.php?title=IKALOGIC_Scanalogic-2&amp;diff=6716</id>
		<title>IKALOGIC Scanalogic-2</title>
		<link rel="alternate" type="text/html" href="https://sigrok.org/w/index.php?title=IKALOGIC_Scanalogic-2&amp;diff=6716"/>
		<updated>2013-06-14T20:49:24Z</updated>

		<summary type="html">&lt;p&gt;Marc Schink: /* Device status */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{Infobox logic analyzer&lt;br /&gt;
| image            = [[File:Ikalogic scanalogic2.png|180px]]&lt;br /&gt;
| name             = Ikalogic SCANALOGIC-2&lt;br /&gt;
| status           = supported&lt;br /&gt;
| source_code_dir  = ikalogic-scanalogic2&lt;br /&gt;
| channels         = 4&lt;br /&gt;
| samplerate       = 20MHz&lt;br /&gt;
| samplerate_state = &amp;amp;mdash;&lt;br /&gt;
| triggers         = rising, falling, either&lt;br /&gt;
| voltages         = -0.7V &amp;amp;mdash; 5.5V&lt;br /&gt;
| threshold        = ?&lt;br /&gt;
| memory           = 256ksamples/ch&lt;br /&gt;
| compression      = none&lt;br /&gt;
| website          = [http://www.ikalogic.com/scanalogic2/ ikalogic.com]&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
The &amp;#039;&amp;#039;&amp;#039;Ikalogic SCANALOGIC-2&amp;#039;&amp;#039;&amp;#039; is a USB-based, 4-channel logic analyzer with up to 20MHz sampling rate.&lt;br /&gt;
&lt;br /&gt;
See [[Ikalogic SCANALOGIC-2/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;
* [http://www.atmel.com/devices/atmega168pa.aspx Atmel ATmega168 PA] ([http://www.atmel.com/Images/Atmel-8271-8-bit-AVR-Microcontroller-ATmega48A-48PA-88A-88PA-168A-168PA-328-328P_datasheet_Summary.pdf datasheet])&lt;br /&gt;
* 2x [http://www.fairchildsemi.com/pf/74/74LCX125.html Fairchild Semiconductor 74LCX125]&lt;br /&gt;
* 4x [http://www.microchip.com/wwwproducts/Devices.aspx?dDocName=en539039 Microchip 23K256I] ([http://ww1.microchip.com/downloads/en/DeviceDoc/22100F.pdf datasheet])&lt;br /&gt;
* 20MHz crystal&lt;br /&gt;
&lt;br /&gt;
== Photos ==&lt;br /&gt;
&lt;br /&gt;
Device built from DIY soldering kit, firmware version 1.2:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;gallery&amp;gt;&lt;br /&gt;
File:Ikalogic scanalogic2 device with probes.jpg|&amp;lt;small&amp;gt;Device with probes&amp;lt;/small&amp;gt;&lt;br /&gt;
File:Ikalogic scanalogic2 parts.jpg|&amp;lt;small&amp;gt;Parts&amp;lt;/small&amp;gt;&lt;br /&gt;
File:Ikalogic scanalogic2 guide back.jpg|&amp;lt;small&amp;gt;User&amp;#039;s guide&amp;lt;/small&amp;gt;&lt;br /&gt;
File:Ikalogic scanalogic2 pcb soldered front.jpg|&amp;lt;small&amp;gt;PCB, front&amp;lt;/small&amp;gt;&lt;br /&gt;
File:Ikalogic scanalogic2 pcb soldered back.jpg|&amp;lt;small&amp;gt;PCB, back&amp;lt;/small&amp;gt;&lt;br /&gt;
File:Ikalogic scanalogic2 pcb soldered light.jpg|&amp;lt;small&amp;gt;PCB, bright light&amp;lt;/small&amp;gt;&lt;br /&gt;
&amp;lt;/gallery&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Another device, firmware version 1.3:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;gallery&amp;gt;&lt;br /&gt;
File:Ikalogic scanalogic2 pcb soldered front rev2.jpg|&amp;lt;small&amp;gt;PCB, front&amp;lt;/small&amp;gt;&lt;br /&gt;
File:Ikalogic scanalogic2 pcb soldered back rev2.jpg|&amp;lt;small&amp;gt;PCB, back&amp;lt;/small&amp;gt;&lt;br /&gt;
File:Ikalogic scanalogic2 device open rev2.jpg|&amp;lt;small&amp;gt;Device, open&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;
In progress.&lt;br /&gt;
&lt;br /&gt;
=== Starting an acquisition ===&lt;br /&gt;
&lt;br /&gt;
An acquisition can be started by sending 128 bytes to the device, of which only the first 12 bytes (which are described below) have a meaning. All following bytes can have an arbitrary value. The device is capable to acquire up to 262128 samples whereas the vendor software limits it to 261888 samples. The number of pre- and post-trigger samples together must not exceed the sample limit of the device.&lt;br /&gt;
&lt;br /&gt;
{| border=&amp;quot;0&amp;quot; style=&amp;quot;font-size: smaller;&amp;quot; class=&amp;quot;alternategrey sigroktable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! Byte(s)&lt;br /&gt;
! Value&lt;br /&gt;
! Description&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| 0&lt;br /&gt;
| 0x01&lt;br /&gt;
| Command which indicates to start an acquisition.&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| 1&lt;br /&gt;
| 0x00&lt;br /&gt;
| This byte must always be 0x00.&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| 2-3&lt;br /&gt;
| Pre-trigger samples&lt;br /&gt;
| Number of samples to acquire in multiples of 8 before the trigger occurs.&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| 4-5&lt;br /&gt;
| Post-trigger samples&lt;br /&gt;
| Number of samples to acquire in multiples of 8 after the trigger occurs.&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| 6&lt;br /&gt;
| Samplerate&lt;br /&gt;
| &lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| 7&lt;br /&gt;
| Trigger type&lt;br /&gt;
| &lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| 8&lt;br /&gt;
| Trigger channel&lt;br /&gt;
| &lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| 9&lt;br /&gt;
| 0x00&lt;br /&gt;
| This byte must always be 0x00.&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| 10-11&lt;br /&gt;
| After trigger delay&lt;br /&gt;
| Time that the trigger will be delayed in milliseconds. The trigger can be delayed from 0 to 65000ms.&lt;br /&gt;
&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
The following example starts an acquisition with a samplerate of 5MHz and with 2384 samples before and 17456 samples after the trigger occurs. The trigger is configured to channel 2 with a rising edge and is delayed for 20000ms.&lt;br /&gt;
&lt;br /&gt;
 0x01 0x00 0x2A 0x01 0x86 0x08 0x02 0x01  0x03 0x00 0x20 0x4E 0x00 0x00 0x00&lt;br /&gt;
 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00  0x00 ...&lt;br /&gt;
&lt;br /&gt;
=== Device status ===&lt;br /&gt;
&lt;br /&gt;
The device status can be obtained by requesting 128 bytes from the device. The first 2 bytes of the response (which is described below) have a meaning only. All following bytes can be ignored. Note that it might take a short time until a valid device status is received. In the meantime the last valid data of the device buffer will be received.&lt;br /&gt;
&lt;br /&gt;
{| border=&amp;quot;0&amp;quot; style=&amp;quot;font-size: smaller;&amp;quot; class=&amp;quot;alternategrey sigroktable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
!Byte(s)&lt;br /&gt;
!Value&lt;br /&gt;
!Description&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| 0&lt;br /&gt;
| 0x05&lt;br /&gt;
| This byte indicates a valid device status.&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| 1&lt;br /&gt;
| Status&lt;br /&gt;
| See the table below for a description of all possible status codes.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
All possible status codes are listed in the following table.&lt;br /&gt;
{| border=&amp;quot;0&amp;quot; style=&amp;quot;font-size: smaller;&amp;quot; class=&amp;quot;alternategrey sigroktable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
!Status&lt;br /&gt;
!Description&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| 0x60&lt;br /&gt;
| Sample data is ready to receive.&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| 0x61&lt;br /&gt;
| Device is waiting for a trigger event.&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| 0x62&lt;br /&gt;
| Sampling in progress.&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| 0x63&lt;br /&gt;
| Device is ready.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== Resources ==&lt;br /&gt;
&lt;br /&gt;
* [http://www.ikalogic.com/wp-content/uploads/Scanalogic2_specifications_sheet.pdf Specification]&lt;br /&gt;
* [http://www.ikalogic.com/wp-content/uploads/Scanalogic2_manual_EN.pdf Manual]&lt;br /&gt;
* [http://www.ikalogic.com/ikalogic-products/scanastudio-2/ Vendor software]&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>Marc Schink</name></author>
	</entry>
	<entry>
		<id>https://sigrok.org/w/index.php?title=IKALOGIC_Scanalogic-2&amp;diff=6715</id>
		<title>IKALOGIC Scanalogic-2</title>
		<link rel="alternate" type="text/html" href="https://sigrok.org/w/index.php?title=IKALOGIC_Scanalogic-2&amp;diff=6715"/>
		<updated>2013-06-14T20:48:37Z</updated>

		<summary type="html">&lt;p&gt;Marc Schink: /* Protocol */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{Infobox logic analyzer&lt;br /&gt;
| image            = [[File:Ikalogic scanalogic2.png|180px]]&lt;br /&gt;
| name             = Ikalogic SCANALOGIC-2&lt;br /&gt;
| status           = supported&lt;br /&gt;
| source_code_dir  = ikalogic-scanalogic2&lt;br /&gt;
| channels         = 4&lt;br /&gt;
| samplerate       = 20MHz&lt;br /&gt;
| samplerate_state = &amp;amp;mdash;&lt;br /&gt;
| triggers         = rising, falling, either&lt;br /&gt;
| voltages         = -0.7V &amp;amp;mdash; 5.5V&lt;br /&gt;
| threshold        = ?&lt;br /&gt;
| memory           = 256ksamples/ch&lt;br /&gt;
| compression      = none&lt;br /&gt;
| website          = [http://www.ikalogic.com/scanalogic2/ ikalogic.com]&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
The &amp;#039;&amp;#039;&amp;#039;Ikalogic SCANALOGIC-2&amp;#039;&amp;#039;&amp;#039; is a USB-based, 4-channel logic analyzer with up to 20MHz sampling rate.&lt;br /&gt;
&lt;br /&gt;
See [[Ikalogic SCANALOGIC-2/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;
* [http://www.atmel.com/devices/atmega168pa.aspx Atmel ATmega168 PA] ([http://www.atmel.com/Images/Atmel-8271-8-bit-AVR-Microcontroller-ATmega48A-48PA-88A-88PA-168A-168PA-328-328P_datasheet_Summary.pdf datasheet])&lt;br /&gt;
* 2x [http://www.fairchildsemi.com/pf/74/74LCX125.html Fairchild Semiconductor 74LCX125]&lt;br /&gt;
* 4x [http://www.microchip.com/wwwproducts/Devices.aspx?dDocName=en539039 Microchip 23K256I] ([http://ww1.microchip.com/downloads/en/DeviceDoc/22100F.pdf datasheet])&lt;br /&gt;
* 20MHz crystal&lt;br /&gt;
&lt;br /&gt;
== Photos ==&lt;br /&gt;
&lt;br /&gt;
Device built from DIY soldering kit, firmware version 1.2:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;gallery&amp;gt;&lt;br /&gt;
File:Ikalogic scanalogic2 device with probes.jpg|&amp;lt;small&amp;gt;Device with probes&amp;lt;/small&amp;gt;&lt;br /&gt;
File:Ikalogic scanalogic2 parts.jpg|&amp;lt;small&amp;gt;Parts&amp;lt;/small&amp;gt;&lt;br /&gt;
File:Ikalogic scanalogic2 guide back.jpg|&amp;lt;small&amp;gt;User&amp;#039;s guide&amp;lt;/small&amp;gt;&lt;br /&gt;
File:Ikalogic scanalogic2 pcb soldered front.jpg|&amp;lt;small&amp;gt;PCB, front&amp;lt;/small&amp;gt;&lt;br /&gt;
File:Ikalogic scanalogic2 pcb soldered back.jpg|&amp;lt;small&amp;gt;PCB, back&amp;lt;/small&amp;gt;&lt;br /&gt;
File:Ikalogic scanalogic2 pcb soldered light.jpg|&amp;lt;small&amp;gt;PCB, bright light&amp;lt;/small&amp;gt;&lt;br /&gt;
&amp;lt;/gallery&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Another device, firmware version 1.3:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;gallery&amp;gt;&lt;br /&gt;
File:Ikalogic scanalogic2 pcb soldered front rev2.jpg|&amp;lt;small&amp;gt;PCB, front&amp;lt;/small&amp;gt;&lt;br /&gt;
File:Ikalogic scanalogic2 pcb soldered back rev2.jpg|&amp;lt;small&amp;gt;PCB, back&amp;lt;/small&amp;gt;&lt;br /&gt;
File:Ikalogic scanalogic2 device open rev2.jpg|&amp;lt;small&amp;gt;Device, open&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;
In progress.&lt;br /&gt;
&lt;br /&gt;
=== Starting an acquisition ===&lt;br /&gt;
&lt;br /&gt;
An acquisition can be started by sending 128 bytes to the device, of which only the first 12 bytes (which are described below) have a meaning. All following bytes can have an arbitrary value. The device is capable to acquire up to 262128 samples whereas the vendor software limits it to 261888 samples. The number of pre- and post-trigger samples together must not exceed the sample limit of the device.&lt;br /&gt;
&lt;br /&gt;
{| border=&amp;quot;0&amp;quot; style=&amp;quot;font-size: smaller;&amp;quot; class=&amp;quot;alternategrey sigroktable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! Byte(s)&lt;br /&gt;
! Value&lt;br /&gt;
! Description&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| 0&lt;br /&gt;
| 0x01&lt;br /&gt;
| Command which indicates to start an acquisition.&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| 1&lt;br /&gt;
| 0x00&lt;br /&gt;
| This byte must always be 0x00.&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| 2-3&lt;br /&gt;
| Pre-trigger samples&lt;br /&gt;
| Number of samples to acquire in multiples of 8 before the trigger occurs.&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| 4-5&lt;br /&gt;
| Post-trigger samples&lt;br /&gt;
| Number of samples to acquire in multiples of 8 after the trigger occurs.&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| 6&lt;br /&gt;
| Samplerate&lt;br /&gt;
| &lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| 7&lt;br /&gt;
| Trigger type&lt;br /&gt;
| &lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| 8&lt;br /&gt;
| Trigger channel&lt;br /&gt;
| &lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| 9&lt;br /&gt;
| 0x00&lt;br /&gt;
| This byte must always be 0x00.&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| 10-11&lt;br /&gt;
| After trigger delay&lt;br /&gt;
| Time that the trigger will be delayed in milliseconds. The trigger can be delayed from 0 to 65000ms.&lt;br /&gt;
&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
The following example starts an acquisition with a samplerate of 5MHz and with 2384 samples before and 17456 samples after the trigger occurs. The trigger is configured to channel 2 with a rising edge and is delayed for 20000ms.&lt;br /&gt;
&lt;br /&gt;
 0x01 0x00 0x2A 0x01 0x86 0x08 0x02 0x01  0x03 0x00 0x20 0x4E 0x00 0x00 0x00&lt;br /&gt;
 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00  0x00 ...&lt;br /&gt;
&lt;br /&gt;
=== Device status ===&lt;br /&gt;
&lt;br /&gt;
The device status can be obtained by requesting 128 bytes from the device. The first byte of the response (which is described below) has a meaning only. All following bytes can be ignored. Note that it might take a short time until a valid device status is received. In the meantime the last valid data of the device buffer will be received.&lt;br /&gt;
&lt;br /&gt;
{| border=&amp;quot;0&amp;quot; style=&amp;quot;font-size: smaller;&amp;quot; class=&amp;quot;alternategrey sigroktable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
!Byte(s)&lt;br /&gt;
!Value&lt;br /&gt;
!Description&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| 0&lt;br /&gt;
| 0x05&lt;br /&gt;
| This byte indicates a valid device status.&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| 1&lt;br /&gt;
| Status&lt;br /&gt;
| See the table below for a description of all possible status codes.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
All possible status codes are listed in the following table.&lt;br /&gt;
{| border=&amp;quot;0&amp;quot; style=&amp;quot;font-size: smaller;&amp;quot; class=&amp;quot;alternategrey sigroktable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
!Status&lt;br /&gt;
!Description&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| 0x60&lt;br /&gt;
| Sample data is ready to receive.&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| 0x61&lt;br /&gt;
| Device is waiting for a trigger event.&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| 0x62&lt;br /&gt;
| Sampling in progress.&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| 0x63&lt;br /&gt;
| Device is ready.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== Resources ==&lt;br /&gt;
&lt;br /&gt;
* [http://www.ikalogic.com/wp-content/uploads/Scanalogic2_specifications_sheet.pdf Specification]&lt;br /&gt;
* [http://www.ikalogic.com/wp-content/uploads/Scanalogic2_manual_EN.pdf Manual]&lt;br /&gt;
* [http://www.ikalogic.com/ikalogic-products/scanastudio-2/ Vendor software]&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>Marc Schink</name></author>
	</entry>
	<entry>
		<id>https://sigrok.org/w/index.php?title=IKALOGIC_Scanalogic-2&amp;diff=6658</id>
		<title>IKALOGIC Scanalogic-2</title>
		<link rel="alternate" type="text/html" href="https://sigrok.org/w/index.php?title=IKALOGIC_Scanalogic-2&amp;diff=6658"/>
		<updated>2013-06-11T18:04:40Z</updated>

		<summary type="html">&lt;p&gt;Marc Schink: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{Infobox logic analyzer&lt;br /&gt;
| image            = [[File:Ikalogic scanalogic2.png|180px]]&lt;br /&gt;
| name             = Ikalogic SCANALOGIC-2 PRO&lt;br /&gt;
| status           = in progress&lt;br /&gt;
| source_code_dir  = ikalogic-scanalogic2&lt;br /&gt;
| channels         = 4&lt;br /&gt;
| samplerate       = 20MHz&lt;br /&gt;
| samplerate_state = &amp;amp;mdash;&lt;br /&gt;
| triggers         = rising, falling, either&lt;br /&gt;
| voltages         = -0.7V &amp;amp;mdash; 5.5V&lt;br /&gt;
| threshold        = ?&lt;br /&gt;
| memory           = 256ksamples/ch&lt;br /&gt;
| compression      = none&lt;br /&gt;
| website          = [http://www.ikalogic.com/scanalogic2/ ikalogic.com]&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
The &amp;#039;&amp;#039;&amp;#039;SCANALOGIC-2 PRO&amp;#039;&amp;#039;&amp;#039; is a USB-based, 4-channel logic analyzer with up to 20MHz sampling rate.&lt;br /&gt;
&lt;br /&gt;
See [[Ikalogic SCANALOGIC-2 PRO/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;
* [http://www.atmel.com/devices/atmega168pa.aspx Atmel ATmega168 PA] ([http://www.atmel.com/Images/Atmel-8271-8-bit-AVR-Microcontroller-ATmega48A-48PA-88A-88PA-168A-168PA-328-328P_datasheet_Summary.pdf datasheet])&lt;br /&gt;
* 2x [http://www.fairchildsemi.com/pf/74/74LCX125.html Fairchild Semiconductor 74LCX125]&lt;br /&gt;
* 4x [http://www.microchip.com/wwwproducts/Devices.aspx?dDocName=en539039 Microchip 23K256I] ([http://ww1.microchip.com/downloads/en/DeviceDoc/22100F.pdf datasheet])&lt;br /&gt;
* 20 MHz crystal&lt;br /&gt;
&lt;br /&gt;
== Photos ==&lt;br /&gt;
&lt;br /&gt;
&amp;lt;gallery&amp;gt;&lt;br /&gt;
File:Ikalogic scanalogic2 device with probes.jpg|&amp;lt;small&amp;gt;Device with probes&amp;lt;/small&amp;gt;&lt;br /&gt;
File:Ikalogic scanalogic2 parts.jpg|&amp;lt;small&amp;gt;Parts&amp;lt;/small&amp;gt;&lt;br /&gt;
File:Ikalogic scanalogic2 guide back.jpg|&amp;lt;small&amp;gt;User&amp;#039;s guide&amp;lt;/small&amp;gt;&lt;br /&gt;
File:Ikalogic scanalogic2 pcb soldered front.jpg|&amp;lt;small&amp;gt;PCB, front&amp;lt;/small&amp;gt;&lt;br /&gt;
File:Ikalogic scanalogic2 pcb soldered back.jpg|&amp;lt;small&amp;gt;PCB, back&amp;lt;/small&amp;gt;&lt;br /&gt;
File:Ikalogic scanalogic2 pcb soldered light.jpg|&amp;lt;small&amp;gt;PCB, bright light&amp;lt;/small&amp;gt;&lt;br /&gt;
File:Ikalogic scanalogic2 pcb soldered front rev2.jpg|&amp;lt;small&amp;gt;PCB, front&amp;lt;/small&amp;gt;&lt;br /&gt;
File:Ikalogic scanalogic2 pcb soldered back rev2.jpg|&amp;lt;small&amp;gt;PCB, back&amp;lt;/small&amp;gt;&lt;br /&gt;
File:Ikalogic scanalogic2 device open rev2.jpg|&amp;lt;small&amp;gt;Device, open&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;
In progress.&lt;br /&gt;
&lt;br /&gt;
=== Starting an acquisition ===&lt;br /&gt;
&lt;br /&gt;
An acquisition can be started by sending 128 bytes to the device at which only the first 12 bytes which are described below have a meaning. All following bytes can have an arbitrary value. The device is capable to acquire up to 262128 samples whereas the vendor software limits it to 261888 samples. The number of pre- and post-trigger samples together must not exceed the sample limit of the device.&lt;br /&gt;
&lt;br /&gt;
{| border=&amp;quot;0&amp;quot; width=&amp;quot;50%&amp;quot; style=&amp;quot;font-size: smaller;&amp;quot; class=&amp;quot;alternategrey sigroktable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! Byte(s)&lt;br /&gt;
! Value&lt;br /&gt;
! Description&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| 0&lt;br /&gt;
| 0x01&lt;br /&gt;
| Command which indicates to start an acquisition.&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| 1&lt;br /&gt;
| 0x00&lt;br /&gt;
| This byte must always be 0x00.&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| 2-3&lt;br /&gt;
| Pre-trigger samples&lt;br /&gt;
| Number of samples to acquire in multiples of 8 before the trigger occurs.&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| 4-5&lt;br /&gt;
| Post-trigger samples&lt;br /&gt;
| Number of samples to acquire in multiples of 8 after the trigger occurs.&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| 6&lt;br /&gt;
| Samplerate&lt;br /&gt;
| &lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| 7&lt;br /&gt;
| Trigger type&lt;br /&gt;
| &lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| 8&lt;br /&gt;
| Trigger channel&lt;br /&gt;
| &lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| 9&lt;br /&gt;
| 0x00&lt;br /&gt;
| This byte must always be 0x00.&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| 10-11&lt;br /&gt;
| After trigger delay&lt;br /&gt;
| Time that the trigger will be delayed in milliseconds. The trigger can be delayed from 0 to 65000 ms.&lt;br /&gt;
&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
The following example starts an acqusition with a samplerate of 5 MHz and with 2384 samples before and 17456 samples after the trigger occurs. The trigger is configured to channel 2 with a rising edge and is delayed for 20000 ms.&lt;br /&gt;
 0x01 0x00 0x2A 0x01 0x86 0x08 0x02 0x01  0x03 0x00 0x20 0x4E 0x00 0x00 0x00&lt;br /&gt;
 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00  0x00 ...&lt;br /&gt;
&lt;br /&gt;
== Resources ==&lt;br /&gt;
&lt;br /&gt;
* [http://www.ikalogic.com/wp-content/uploads/Scanalogic2_specifications_sheet.pdf Specification]&lt;br /&gt;
* [http://www.ikalogic.com/wp-content/uploads/Scanalogic2_manual_EN.pdf Manual]&lt;br /&gt;
* [http://www.ikalogic.com/ikalogic-products/scanastudio-2/ Vendor software]&lt;br /&gt;
&lt;br /&gt;
[[Category:Device]]&lt;br /&gt;
[[Category:Logic analyzer]]&lt;br /&gt;
[[Category:In progress]]&lt;/div&gt;</summary>
		<author><name>Marc Schink</name></author>
	</entry>
	<entry>
		<id>https://sigrok.org/w/index.php?title=IKALOGIC_Scanalogic-2&amp;diff=6643</id>
		<title>IKALOGIC Scanalogic-2</title>
		<link rel="alternate" type="text/html" href="https://sigrok.org/w/index.php?title=IKALOGIC_Scanalogic-2&amp;diff=6643"/>
		<updated>2013-06-10T10:25:21Z</updated>

		<summary type="html">&lt;p&gt;Marc Schink: /* Protocol */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{Infobox logic analyzer&lt;br /&gt;
| image            = [[File:Ikalogic scanalogic2.png|180px]]&lt;br /&gt;
| name             = Ikalogic SCANALOGIC-2 PRO&lt;br /&gt;
| status           = in progress&lt;br /&gt;
| source_code_dir  = &lt;br /&gt;
| channels         = 4&lt;br /&gt;
| samplerate       = 20MHz&lt;br /&gt;
| samplerate_state = &amp;amp;mdash;&lt;br /&gt;
| triggers         = rising, falling, either&lt;br /&gt;
| voltages         = -0.7V &amp;amp;mdash; 5.5V&lt;br /&gt;
| threshold        = ?&lt;br /&gt;
| memory           = 256ksamples/ch&lt;br /&gt;
| compression      = none&lt;br /&gt;
| website          = [http://www.ikalogic.com/scanalogic2/ ikalogic.com]&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
The &amp;#039;&amp;#039;&amp;#039;SCANALOGIC-2 PRO&amp;#039;&amp;#039;&amp;#039; is a USB-based, 4-channel logic analyzer with up to 20MHz sampling rate.&lt;br /&gt;
&lt;br /&gt;
See [[Ikalogic SCANALOGIC-2 PRO/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;
* [http://www.atmel.com/devices/atmega168pa.aspx Atmel ATmega168 PA] ([http://www.atmel.com/Images/Atmel-8271-8-bit-AVR-Microcontroller-ATmega48A-48PA-88A-88PA-168A-168PA-328-328P_datasheet_Summary.pdf datasheet])&lt;br /&gt;
* 2x [http://www.fairchildsemi.com/pf/74/74LCX125.html Fairchild Semiconductor 74LCX125]&lt;br /&gt;
* 4x [http://www.microchip.com/wwwproducts/Devices.aspx?dDocName=en539039 Microchip 23K256I] ([http://ww1.microchip.com/downloads/en/DeviceDoc/22100F.pdf datasheet])&lt;br /&gt;
* 20 MHz crystal&lt;br /&gt;
&lt;br /&gt;
== Photos ==&lt;br /&gt;
&lt;br /&gt;
&amp;lt;gallery&amp;gt;&lt;br /&gt;
File:Ikalogic scanalogic2 device with probes.jpg|&amp;lt;small&amp;gt;Device with probes&amp;lt;/small&amp;gt;&lt;br /&gt;
File:Ikalogic scanalogic2 parts.jpg|&amp;lt;small&amp;gt;Parts&amp;lt;/small&amp;gt;&lt;br /&gt;
File:Ikalogic scanalogic2 guide back.jpg|&amp;lt;small&amp;gt;User&amp;#039;s guide&amp;lt;/small&amp;gt;&lt;br /&gt;
File:Ikalogic scanalogic2 pcb soldered front.jpg|&amp;lt;small&amp;gt;PCB, front&amp;lt;/small&amp;gt;&lt;br /&gt;
File:Ikalogic scanalogic2 pcb soldered back.jpg|&amp;lt;small&amp;gt;PCB, back&amp;lt;/small&amp;gt;&lt;br /&gt;
File:Ikalogic scanalogic2 pcb soldered light.jpg|&amp;lt;small&amp;gt;PCB, bright light&amp;lt;/small&amp;gt;&lt;br /&gt;
File:Ikalogic scanalogic2 pcb soldered front rev2.jpg|&amp;lt;small&amp;gt;PCB, front&amp;lt;/small&amp;gt;&lt;br /&gt;
File:Ikalogic scanalogic2 pcb soldered back rev2.jpg|&amp;lt;small&amp;gt;PCB, back&amp;lt;/small&amp;gt;&lt;br /&gt;
File:Ikalogic scanalogic2 device open rev2.jpg|&amp;lt;small&amp;gt;Device, open&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;
In progress.&lt;br /&gt;
&lt;br /&gt;
=== Starting an acquisition ===&lt;br /&gt;
&lt;br /&gt;
An acquisition can be started by sending 128 bytes to the device at which only the first 12 bytes which are described below have a meaning. All following bytes can have an arbitrary value. The device is capable to acquire up to 262128 samples whereas the vendor software limits it to 261888 samples. The number of pre- and post-trigger samples together must not exceed the sample limit of the device.&lt;br /&gt;
&lt;br /&gt;
{| border=&amp;quot;0&amp;quot; width=&amp;quot;50%&amp;quot; style=&amp;quot;font-size: smaller;&amp;quot; class=&amp;quot;alternategrey sigroktable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! Byte(s)&lt;br /&gt;
! Value&lt;br /&gt;
! Description&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| 0&lt;br /&gt;
| 0x01&lt;br /&gt;
| Command which indicates to start an acquisition.&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| 1&lt;br /&gt;
| 0x00&lt;br /&gt;
| This byte must always be 0x00.&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| 2-3&lt;br /&gt;
| Pre-trigger samples&lt;br /&gt;
| Number of samples to acquire in multiples of 8 before the trigger occurs.&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| 4-5&lt;br /&gt;
| Post-trigger samples&lt;br /&gt;
| Number of samples to acquire in multiples of 8 after the trigger occurs.&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| 6&lt;br /&gt;
| Samplerate&lt;br /&gt;
| &lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| 7&lt;br /&gt;
| Trigger type&lt;br /&gt;
| &lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| 8&lt;br /&gt;
| Trigger channel&lt;br /&gt;
| &lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| 9&lt;br /&gt;
| 0x00&lt;br /&gt;
| This byte must always be 0x00.&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| 10-11&lt;br /&gt;
| After trigger delay&lt;br /&gt;
| Time that the trigger will be delayed in milliseconds. The trigger can be delayed from 0 to 65000 ms.&lt;br /&gt;
&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
The following example starts an acqusition with a samplerate of 5 MHz and with 2384 samples before and 17456 samples after the trigger occurs. The trigger is configured to channel 2 with a rising edge and is delayed for 20000 ms.&lt;br /&gt;
 0x01 0x00 0x2A 0x01 0x86 0x08 0x02 0x01  0x03 0x00 0x20 0x4E 0x00 0x00 0x00&lt;br /&gt;
 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00  0x00 ...&lt;br /&gt;
&lt;br /&gt;
== Resources ==&lt;br /&gt;
&lt;br /&gt;
* [http://www.ikalogic.com/wp-content/uploads/Scanalogic2_specifications_sheet.pdf Specification]&lt;br /&gt;
* [http://www.ikalogic.com/wp-content/uploads/Scanalogic2_manual_EN.pdf Manual]&lt;br /&gt;
* [http://www.ikalogic.com/ikalogic-products/scanastudio-2/ Vendor software]&lt;br /&gt;
&lt;br /&gt;
[[Category:Device]]&lt;br /&gt;
[[Category:Logic analyzer]]&lt;br /&gt;
[[Category:In progress]]&lt;/div&gt;</summary>
		<author><name>Marc Schink</name></author>
	</entry>
	<entry>
		<id>https://sigrok.org/w/index.php?title=IKALOGIC_Scanalogic-2&amp;diff=6521</id>
		<title>IKALOGIC Scanalogic-2</title>
		<link rel="alternate" type="text/html" href="https://sigrok.org/w/index.php?title=IKALOGIC_Scanalogic-2&amp;diff=6521"/>
		<updated>2013-05-28T14:51:36Z</updated>

		<summary type="html">&lt;p&gt;Marc Schink: /* Photos */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{Infobox logic analyzer&lt;br /&gt;
| image            = [[File:Ikalogic scanalogic2.png|180px]]&lt;br /&gt;
| name             = Ikalogic SCANALOGIC-2 PRO&lt;br /&gt;
| status           = in progress&lt;br /&gt;
| source_code_dir  = &lt;br /&gt;
| channels         = 4&lt;br /&gt;
| samplerate       = 20MHz&lt;br /&gt;
| samplerate_state = &amp;amp;mdash;&lt;br /&gt;
| triggers         = rising, falling, either&lt;br /&gt;
| voltages         = -0.7V &amp;amp;mdash; 5.5V&lt;br /&gt;
| threshold        = ?&lt;br /&gt;
| memory           = 256ksamples/ch&lt;br /&gt;
| compression      = none&lt;br /&gt;
| website          = [http://www.ikalogic.com/scanalogic2/ ikalogic.com]&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
The &amp;#039;&amp;#039;&amp;#039;SCANALOGIC-2 PRO&amp;#039;&amp;#039;&amp;#039; is a USB-based, 4-channel logic analyzer with up to 20MHz sampling rate.&lt;br /&gt;
&lt;br /&gt;
See [[Ikalogic SCANALOGIC-2 PRO/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;
* [http://www.atmel.com/devices/atmega168pa.aspx Atmel ATmega168 PA] ([http://www.atmel.com/Images/Atmel-8271-8-bit-AVR-Microcontroller-ATmega48A-48PA-88A-88PA-168A-168PA-328-328P_datasheet_Summary.pdf datasheet])&lt;br /&gt;
* 2x [http://www.fairchildsemi.com/pf/74/74LCX125.html Fairchild Semiconductor 74LCX125]&lt;br /&gt;
* 4x [http://www.microchip.com/wwwproducts/Devices.aspx?dDocName=en539039 Microchip 23K256I] ([http://ww1.microchip.com/downloads/en/DeviceDoc/22100F.pdf datasheet])&lt;br /&gt;
* 20 MHz crystal&lt;br /&gt;
&lt;br /&gt;
== Photos ==&lt;br /&gt;
&lt;br /&gt;
&amp;lt;gallery&amp;gt;&lt;br /&gt;
File:Ikalogic scanalogic2 device with probes.jpg|&amp;lt;small&amp;gt;Device with probes&amp;lt;/small&amp;gt;&lt;br /&gt;
File:Ikalogic scanalogic2 parts.jpg|&amp;lt;small&amp;gt;Parts&amp;lt;/small&amp;gt;&lt;br /&gt;
File:Ikalogic scanalogic2 guide back.jpg|&amp;lt;small&amp;gt;User&amp;#039;s guide&amp;lt;/small&amp;gt;&lt;br /&gt;
File:Ikalogic scanalogic2 pcb soldered front.jpg|&amp;lt;small&amp;gt;PCB, front&amp;lt;/small&amp;gt;&lt;br /&gt;
File:Ikalogic scanalogic2 pcb soldered back.jpg|&amp;lt;small&amp;gt;PCB, back&amp;lt;/small&amp;gt;&lt;br /&gt;
File:Ikalogic scanalogic2 pcb soldered light.jpg|&amp;lt;small&amp;gt;PCB, bright light&amp;lt;/small&amp;gt;&lt;br /&gt;
File:Ikalogic scanalogic2 pcb soldered front rev2.jpg|&amp;lt;small&amp;gt;PCB, front&amp;lt;/small&amp;gt;&lt;br /&gt;
File:Ikalogic scanalogic2 pcb soldered back rev2.jpg|&amp;lt;small&amp;gt;PCB, back&amp;lt;/small&amp;gt;&lt;br /&gt;
File:Ikalogic scanalogic2 device open rev2.jpg|&amp;lt;small&amp;gt;Device, open&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;
TODO.&lt;br /&gt;
&lt;br /&gt;
== Resources ==&lt;br /&gt;
&lt;br /&gt;
* [http://www.ikalogic.com/wp-content/uploads/Scanalogic2_specifications_sheet.pdf Specification]&lt;br /&gt;
* [http://www.ikalogic.com/wp-content/uploads/Scanalogic2_manual_EN.pdf Manual]&lt;br /&gt;
* [http://www.ikalogic.com/ikalogic-products/scanastudio-2/ Vendor software]&lt;br /&gt;
&lt;br /&gt;
[[Category:Device]]&lt;br /&gt;
[[Category:Logic analyzer]]&lt;br /&gt;
[[Category:In progress]]&lt;/div&gt;</summary>
		<author><name>Marc Schink</name></author>
	</entry>
	<entry>
		<id>https://sigrok.org/w/index.php?title=File:Ikalogic_scanalogic2_device_open_rev2.jpg&amp;diff=6520</id>
		<title>File:Ikalogic scanalogic2 device open rev2.jpg</title>
		<link rel="alternate" type="text/html" href="https://sigrok.org/w/index.php?title=File:Ikalogic_scanalogic2_device_open_rev2.jpg&amp;diff=6520"/>
		<updated>2013-05-28T14:50:23Z</updated>

		<summary type="html">&lt;p&gt;Marc Schink: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Licensing ==&lt;br /&gt;
{{CC-BY-SA-3.0}}&lt;/div&gt;</summary>
		<author><name>Marc Schink</name></author>
	</entry>
	<entry>
		<id>https://sigrok.org/w/index.php?title=IKALOGIC_Scanalogic-2&amp;diff=6519</id>
		<title>IKALOGIC Scanalogic-2</title>
		<link rel="alternate" type="text/html" href="https://sigrok.org/w/index.php?title=IKALOGIC_Scanalogic-2&amp;diff=6519"/>
		<updated>2013-05-28T14:47:04Z</updated>

		<summary type="html">&lt;p&gt;Marc Schink: /* Resources */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{Infobox logic analyzer&lt;br /&gt;
| image            = [[File:Ikalogic scanalogic2.png|180px]]&lt;br /&gt;
| name             = Ikalogic SCANALOGIC-2 PRO&lt;br /&gt;
| status           = in progress&lt;br /&gt;
| source_code_dir  = &lt;br /&gt;
| channels         = 4&lt;br /&gt;
| samplerate       = 20MHz&lt;br /&gt;
| samplerate_state = &amp;amp;mdash;&lt;br /&gt;
| triggers         = rising, falling, either&lt;br /&gt;
| voltages         = -0.7V &amp;amp;mdash; 5.5V&lt;br /&gt;
| threshold        = ?&lt;br /&gt;
| memory           = 256ksamples/ch&lt;br /&gt;
| compression      = none&lt;br /&gt;
| website          = [http://www.ikalogic.com/scanalogic2/ ikalogic.com]&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
The &amp;#039;&amp;#039;&amp;#039;SCANALOGIC-2 PRO&amp;#039;&amp;#039;&amp;#039; is a USB-based, 4-channel logic analyzer with up to 20MHz sampling rate.&lt;br /&gt;
&lt;br /&gt;
See [[Ikalogic SCANALOGIC-2 PRO/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;
* [http://www.atmel.com/devices/atmega168pa.aspx Atmel ATmega168 PA] ([http://www.atmel.com/Images/Atmel-8271-8-bit-AVR-Microcontroller-ATmega48A-48PA-88A-88PA-168A-168PA-328-328P_datasheet_Summary.pdf datasheet])&lt;br /&gt;
* 2x [http://www.fairchildsemi.com/pf/74/74LCX125.html Fairchild Semiconductor 74LCX125]&lt;br /&gt;
* 4x [http://www.microchip.com/wwwproducts/Devices.aspx?dDocName=en539039 Microchip 23K256I] ([http://ww1.microchip.com/downloads/en/DeviceDoc/22100F.pdf datasheet])&lt;br /&gt;
* 20 MHz crystal&lt;br /&gt;
&lt;br /&gt;
== Photos ==&lt;br /&gt;
&lt;br /&gt;
&amp;lt;gallery&amp;gt;&lt;br /&gt;
File:Ikalogic scanalogic2 device with probes.jpg|&amp;lt;small&amp;gt;Device with probes&amp;lt;/small&amp;gt;&lt;br /&gt;
File:Ikalogic scanalogic2 parts.jpg|&amp;lt;small&amp;gt;Parts&amp;lt;/small&amp;gt;&lt;br /&gt;
File:Ikalogic scanalogic2 guide back.jpg|&amp;lt;small&amp;gt;User&amp;#039;s guide&amp;lt;/small&amp;gt;&lt;br /&gt;
File:Ikalogic scanalogic2 pcb soldered front.jpg|&amp;lt;small&amp;gt;PCB, front&amp;lt;/small&amp;gt;&lt;br /&gt;
File:Ikalogic scanalogic2 pcb soldered back.jpg|&amp;lt;small&amp;gt;PCB, back&amp;lt;/small&amp;gt;&lt;br /&gt;
File:Ikalogic scanalogic2 pcb soldered light.jpg|&amp;lt;small&amp;gt;PCB, bright light&amp;lt;/small&amp;gt;&lt;br /&gt;
File:Ikalogic scanalogic2 pcb soldered front rev2.jpg|&amp;lt;small&amp;gt;PCB, front&amp;lt;/small&amp;gt;&lt;br /&gt;
File:Ikalogic scanalogic2 pcb soldered back rev2.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;
TODO.&lt;br /&gt;
&lt;br /&gt;
== Resources ==&lt;br /&gt;
&lt;br /&gt;
* [http://www.ikalogic.com/wp-content/uploads/Scanalogic2_specifications_sheet.pdf Specification]&lt;br /&gt;
* [http://www.ikalogic.com/wp-content/uploads/Scanalogic2_manual_EN.pdf Manual]&lt;br /&gt;
* [http://www.ikalogic.com/ikalogic-products/scanastudio-2/ Vendor software]&lt;br /&gt;
&lt;br /&gt;
[[Category:Device]]&lt;br /&gt;
[[Category:Logic analyzer]]&lt;br /&gt;
[[Category:In progress]]&lt;/div&gt;</summary>
		<author><name>Marc Schink</name></author>
	</entry>
	<entry>
		<id>https://sigrok.org/w/index.php?title=IKALOGIC_Scanalogic-2&amp;diff=6494</id>
		<title>IKALOGIC Scanalogic-2</title>
		<link rel="alternate" type="text/html" href="https://sigrok.org/w/index.php?title=IKALOGIC_Scanalogic-2&amp;diff=6494"/>
		<updated>2013-05-27T17:23:40Z</updated>

		<summary type="html">&lt;p&gt;Marc Schink: /* Photos */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{Infobox logic analyzer&lt;br /&gt;
| image            = [[File:Ikalogic scanalogic2.png|180px]]&lt;br /&gt;
| name             = Ikalogic SCANALOGIC-2 PRO&lt;br /&gt;
| status           = in progress&lt;br /&gt;
| source_code_dir  = &lt;br /&gt;
| channels         = 4&lt;br /&gt;
| samplerate       = 20MHz&lt;br /&gt;
| samplerate_state = &amp;amp;mdash;&lt;br /&gt;
| triggers         = rising, falling, either&lt;br /&gt;
| voltages         = -0.7V &amp;amp;mdash; 5.5V&lt;br /&gt;
| threshold        = ?&lt;br /&gt;
| memory           = 256ksamples/ch&lt;br /&gt;
| compression      = none&lt;br /&gt;
| website          = [http://www.ikalogic.com/scanalogic2/ ikalogic.com]&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
The &amp;#039;&amp;#039;&amp;#039;SCANALOGIC-2 PRO&amp;#039;&amp;#039;&amp;#039; is a USB-based, 4-channel logic analyzer with up to 20MHz sampling rate.&lt;br /&gt;
&lt;br /&gt;
See [[Ikalogic SCANALOGIC-2 PRO/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;
* [http://www.atmel.com/devices/atmega168pa.aspx Atmel ATmega168 PA] ([http://www.atmel.com/Images/Atmel-8271-8-bit-AVR-Microcontroller-ATmega48A-48PA-88A-88PA-168A-168PA-328-328P_datasheet_Summary.pdf datasheet])&lt;br /&gt;
* 2x [http://www.fairchildsemi.com/pf/74/74LCX125.html Fairchild Semiconductor 74LCX125]&lt;br /&gt;
* 4x [http://www.microchip.com/wwwproducts/Devices.aspx?dDocName=en539039 Microchip 23K256I] ([http://ww1.microchip.com/downloads/en/DeviceDoc/22100F.pdf datasheet])&lt;br /&gt;
* 20 MHz crystal&lt;br /&gt;
&lt;br /&gt;
== Photos ==&lt;br /&gt;
&lt;br /&gt;
&amp;lt;gallery&amp;gt;&lt;br /&gt;
File:Ikalogic scanalogic2 device with probes.jpg|&amp;lt;small&amp;gt;Device with probes&amp;lt;/small&amp;gt;&lt;br /&gt;
File:Ikalogic scanalogic2 parts.jpg|&amp;lt;small&amp;gt;Parts&amp;lt;/small&amp;gt;&lt;br /&gt;
File:Ikalogic scanalogic2 guide back.jpg|&amp;lt;small&amp;gt;User&amp;#039;s guide&amp;lt;/small&amp;gt;&lt;br /&gt;
File:Ikalogic scanalogic2 pcb soldered front.jpg|&amp;lt;small&amp;gt;PCB, front&amp;lt;/small&amp;gt;&lt;br /&gt;
File:Ikalogic scanalogic2 pcb soldered back.jpg|&amp;lt;small&amp;gt;PCB, back&amp;lt;/small&amp;gt;&lt;br /&gt;
File:Ikalogic scanalogic2 pcb soldered light.jpg|&amp;lt;small&amp;gt;PCB, bright light&amp;lt;/small&amp;gt;&lt;br /&gt;
File:Ikalogic scanalogic2 pcb soldered front rev2.jpg|&amp;lt;small&amp;gt;PCB, front&amp;lt;/small&amp;gt;&lt;br /&gt;
File:Ikalogic scanalogic2 pcb soldered back rev2.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;
TODO.&lt;br /&gt;
&lt;br /&gt;
== Resources ==&lt;br /&gt;
&lt;br /&gt;
TODO.&lt;br /&gt;
&lt;br /&gt;
[[Category:Device]]&lt;br /&gt;
[[Category:Logic analyzer]]&lt;br /&gt;
[[Category:In progress]]&lt;/div&gt;</summary>
		<author><name>Marc Schink</name></author>
	</entry>
	<entry>
		<id>https://sigrok.org/w/index.php?title=File:Ikalogic_scanalogic2_pcb_soldered_back_rev2.jpg&amp;diff=6493</id>
		<title>File:Ikalogic scanalogic2 pcb soldered back rev2.jpg</title>
		<link rel="alternate" type="text/html" href="https://sigrok.org/w/index.php?title=File:Ikalogic_scanalogic2_pcb_soldered_back_rev2.jpg&amp;diff=6493"/>
		<updated>2013-05-27T17:21:55Z</updated>

		<summary type="html">&lt;p&gt;Marc Schink: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Licensing ==&lt;br /&gt;
{{CC-BY-SA-3.0}}&lt;/div&gt;</summary>
		<author><name>Marc Schink</name></author>
	</entry>
	<entry>
		<id>https://sigrok.org/w/index.php?title=File:Ikalogic_scanalogic2_pcb_soldered_front_rev2.jpg&amp;diff=6492</id>
		<title>File:Ikalogic scanalogic2 pcb soldered front rev2.jpg</title>
		<link rel="alternate" type="text/html" href="https://sigrok.org/w/index.php?title=File:Ikalogic_scanalogic2_pcb_soldered_front_rev2.jpg&amp;diff=6492"/>
		<updated>2013-05-27T17:20:56Z</updated>

		<summary type="html">&lt;p&gt;Marc Schink: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Licensing ==&lt;br /&gt;
{{CC-BY-SA-3.0}}&lt;/div&gt;</summary>
		<author><name>Marc Schink</name></author>
	</entry>
	<entry>
		<id>https://sigrok.org/w/index.php?title=IKALOGIC_Scanalogic-2&amp;diff=6480</id>
		<title>IKALOGIC Scanalogic-2</title>
		<link rel="alternate" type="text/html" href="https://sigrok.org/w/index.php?title=IKALOGIC_Scanalogic-2&amp;diff=6480"/>
		<updated>2013-05-26T14:22:07Z</updated>

		<summary type="html">&lt;p&gt;Marc Schink: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{Infobox logic analyzer&lt;br /&gt;
| image            = [[File:Ikalogic scanalogic2.png|180px]]&lt;br /&gt;
| name             = Ikalogic SCANALOGIC-2 PRO&lt;br /&gt;
| status           = in progress&lt;br /&gt;
| source_code_dir  = &lt;br /&gt;
| channels         = 4&lt;br /&gt;
| samplerate       = 20MHz&lt;br /&gt;
| samplerate_state = &amp;amp;mdash;&lt;br /&gt;
| triggers         = rising, falling, either&lt;br /&gt;
| voltages         = -0.7V &amp;amp;mdash; 5.5V&lt;br /&gt;
| threshold        = ?&lt;br /&gt;
| memory           = 256ksamples/ch&lt;br /&gt;
| compression      = none&lt;br /&gt;
| website          = [http://www.ikalogic.com/scanalogic2/ ikalogic.com]&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
The &amp;#039;&amp;#039;&amp;#039;SCANALOGIC-2 PRO&amp;#039;&amp;#039;&amp;#039; is a USB-based, 4-channel logic analyzer with up to 20MHz sampling rate.&lt;br /&gt;
&lt;br /&gt;
See [[Ikalogic SCANALOGIC-2 PRO/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;
* [http://www.atmel.com/devices/atmega168pa.aspx Atmel ATmega168 PA] ([http://www.atmel.com/Images/Atmel-8271-8-bit-AVR-Microcontroller-ATmega48A-48PA-88A-88PA-168A-168PA-328-328P_datasheet_Summary.pdf datasheet])&lt;br /&gt;
* 2x [http://www.fairchildsemi.com/pf/74/74LCX125.html Fairchild Semiconductor 74LCX125]&lt;br /&gt;
* 4x [http://www.microchip.com/wwwproducts/Devices.aspx?dDocName=en539039 Microchip 23K256I] ([http://ww1.microchip.com/downloads/en/DeviceDoc/22100F.pdf datasheet])&lt;br /&gt;
* 20 MHz crystal&lt;br /&gt;
&lt;br /&gt;
== Photos ==&lt;br /&gt;
&lt;br /&gt;
&amp;lt;gallery&amp;gt;&lt;br /&gt;
File:Ikalogic scanalogic2 device with probes.jpg|&amp;lt;small&amp;gt;Device with probes&amp;lt;/small&amp;gt;&lt;br /&gt;
File:Ikalogic scanalogic2 parts.jpg|&amp;lt;small&amp;gt;Parts&amp;lt;/small&amp;gt;&lt;br /&gt;
File:Ikalogic scanalogic2 guide back.jpg|&amp;lt;small&amp;gt;User&amp;#039;s guide&amp;lt;/small&amp;gt;&lt;br /&gt;
File:Ikalogic scanalogic2 pcb soldered front.jpg|&amp;lt;small&amp;gt;PCB, front&amp;lt;/small&amp;gt;&lt;br /&gt;
File:Ikalogic scanalogic2 pcb soldered back.jpg|&amp;lt;small&amp;gt;PCB, back&amp;lt;/small&amp;gt;&lt;br /&gt;
File:Ikalogic scanalogic2 pcb soldered light.jpg|&amp;lt;small&amp;gt;PCB, bright light&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;
TODO.&lt;br /&gt;
&lt;br /&gt;
== Resources ==&lt;br /&gt;
&lt;br /&gt;
TODO.&lt;br /&gt;
&lt;br /&gt;
[[Category:Device]]&lt;br /&gt;
[[Category:Logic analyzer]]&lt;br /&gt;
[[Category:In progress]]&lt;/div&gt;</summary>
		<author><name>Marc Schink</name></author>
	</entry>
	<entry>
		<id>https://sigrok.org/w/index.php?title=Supported_hardware&amp;diff=6479</id>
		<title>Supported hardware</title>
		<link rel="alternate" type="text/html" href="https://sigrok.org/w/index.php?title=Supported_hardware&amp;diff=6479"/>
		<updated>2013-05-26T14:20:25Z</updated>

		<summary type="html">&lt;p&gt;Marc Schink: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;sigrok is intended as a flexible, cross-platform, and &amp;#039;&amp;#039;&amp;#039;hardware-independent&amp;#039;&amp;#039;&amp;#039; software suite, i.e., it supports various devices from many different vendors.&lt;br /&gt;
&lt;br /&gt;
Here is a list of currently supported devices (various stages of completeness) and devices we plan to support in the near future.&lt;br /&gt;
&lt;br /&gt;
The lists are sorted by category (&amp;lt;span style=&amp;quot;background-color: lime&amp;quot;&amp;gt;supported&amp;lt;/span&amp;gt;, &amp;lt;span style=&amp;quot;background-color: yellow&amp;quot;&amp;gt;in progress&amp;lt;/span&amp;gt;, &amp;lt;span style=&amp;quot;background-color: orange&amp;quot;&amp;gt;planned&amp;lt;/span&amp;gt;), and alphabetically within those categories.&lt;br /&gt;
&lt;br /&gt;
== Logic analyzers ==&lt;br /&gt;
&lt;br /&gt;
{| border=&amp;quot;0&amp;quot; class=&amp;quot;alternategrey sigroktable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
!Device&lt;br /&gt;
!Status&lt;br /&gt;
!Comments&lt;br /&gt;
&lt;br /&gt;
{{hwsup_supported|ARMFLY Mini-Logic|File:ARMFLY MINI LOGIC.png|is a USB-based, 8-channel logic analyzer with up to 24MHz sampling rate.}}&lt;br /&gt;
&lt;br /&gt;
{{hwsup_supported|ASIX SIGMA|File:Sigma2_2.png|is a USB-based, 16-channel logic analyzer with up to 200MHz sampling rate, and with 256Mbit on-board memory.}}&lt;br /&gt;
&lt;br /&gt;
{{hwsup_supported|Braintechnology USB Interface V2.x|File:Braintechnology_usb_interface_v26.png|is a Cypress FX2 eval board, which can be used as USB-based, 16-channel logic analyzer with up to 24MHz sampling rate.}}&lt;br /&gt;
&lt;br /&gt;
{{hwsup_supported|Braintechnology USB-LPS|File:Braintechnology_usb_lps.png|is a USB-based, 16-channel logic analyzer (and signal generator) with up to 24MHz sampling rate.}}&lt;br /&gt;
&lt;br /&gt;
{{hwsup_supported|ChronoVu LA8|File:Chronovu la8 front.png|is a USB-based, 8-channel logic analyzer with up to 100MHz sampling rate.}}&lt;br /&gt;
&lt;br /&gt;
{{hwsup_supported|CWAV USBee SX|File:Cwav_usbee_sx.png|is a USB-based, 8-channel logic analyzer (and signal generator) with up to 24MHz sampling rate.}}&lt;br /&gt;
&lt;br /&gt;
{{hwsup_progress|Dangerous Prototypes Buspirate|File:Buspirate_v3.png|is a USB-based, 5-channel logic analyzer with up to 1MHz sampling rate. It uses the [http://dangerousprototypes.com/docs/The_Logic_Sniffer%27s_extended_SUMP_protocol extended SUMP protocol].&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;The Buspirate supports a logic analyzer mode and can thus be used for sample captures, however only at low speeds.}}&lt;br /&gt;
&lt;br /&gt;
{{hwsup_supported|EE Electronics ESLA100|File:Eeelec xla esla100.png|is a USB-based, 8-channel logic analyzer with up to 24MHz sampling rate.}}&lt;br /&gt;
&lt;br /&gt;
{{hwsup_supported|Lcsoft Mini Board|File:Lcsoft-miniboard-front.png|is a Cypress FX2 eval board, which can be used as USB-based, 16-channel logic analyzer with up to 24MHz sampling rate.}}&lt;br /&gt;
&lt;br /&gt;
{{hwsup_supported|Logic Shrimp|File:logic-shrimp-front.png|is a USB-based, 4-channel logic analyzer with up to 20MHz sampling rate. It uses the [http://dangerousprototypes.com/docs/The_Logic_Sniffer%27s_extended_SUMP_protocol extended SUMP protocol].}}&lt;br /&gt;
&lt;br /&gt;
{{hwsup_supported|MCU123 Saleae Logic clone|File:Mcu123 saleae logic clone.png|is a USB-based, 8-channel logic analyzer with up to 24MHz sampling rate.}}&lt;br /&gt;
&lt;br /&gt;
{{hwsup_supported|MCU123 USBee AX Pro clone|File:Usbee_ax_clone_front.png|is a USB-based, 8-channel logic analyzer with up to 24MHz sampling rate.}}&lt;br /&gt;
&lt;br /&gt;
{{hwsup_supported|Openbench Logic Sniffer|File:Openbench logic sniffer front.png|(OLS) is a USB-based (and FPGA-based), 32-channel logic analyzer with up to 100MHz sampling rate and advanced trigger functionality. It is a fully open source device &amp;amp;mdash; the circuit design, VHDL code for the FPGA, firmware for the PIC microcontroller and Java-based client software are all freely available. It uses the [http://dangerousprototypes.com/docs/The_Logic_Sniffer%27s_extended_SUMP_protocol extended SUMP protocol].}}&lt;br /&gt;
&lt;br /&gt;
{{hwsup_supported|Robomotic BugLogic 3|File:Robomotic buglogic3.png|is a USB-based, 8-channel logic analyzer with up to 24MHz sampling rate.}}&lt;br /&gt;
&lt;br /&gt;
{{hwsup_supported|Robomotic MiniLogic|File:Robomotic_minilogic.png|is a USB-based, 8-channel logic analyzer with up to 24MHz sampling rate.}}&lt;br /&gt;
&lt;br /&gt;
{{hwsup_supported|Saleae Logic|File:Saleae Logic.png|is a USB-based, 8-channel logic analyzer with up to 24MHz sampling rate.}}&lt;br /&gt;
&lt;br /&gt;
{{hwsup_supported|ZEROPLUS Logic Cube LAP-C(16032)|File:Zeroplus Logic Cube.png| is a USB-based, 16-channel logic analyzer with up to 100MHz sampling rate.}}&lt;br /&gt;
&lt;br /&gt;
{{hwsup_supported|ZEROPLUS LAP-16128U|File:Zeroplus_lap-16128u.png|is a USB-based, 16-channel logic analyzer with up to 200MHz sampling rate.}}&lt;br /&gt;
&lt;br /&gt;
{{hwsup_progress|Ikalogic SCANALOGIC-2 PRO|File:Ikalogic_scanalogic2.png|is a USB-based, 4-channel logic analyzer with up to 20MHz sampling rate.}}&lt;br /&gt;
&lt;br /&gt;
{{hwsup_progress|RockyLogic Ant8|File:Rockylogic_ant8.png|is a USB-based, 8-channel logic analyzer with up to 500MHz sampling rate.}}&lt;br /&gt;
&lt;br /&gt;
{{hwsup_progress|RockyLogic Ant18e|File:RockyLogic Ant18e.png|is a USB-based, 18-channel logic analyzer with up to 1GHz sampling rate.}}&lt;br /&gt;
&lt;br /&gt;
{{hwsup_planned|Acute PKLA-1216|File:Acute_pkla1216.png|is a USB-based, 16-channel logic analyzer with up to 200MHz sampling rate.}}&lt;br /&gt;
&lt;br /&gt;
{{hwsup_planned|Hantek 4032L|File:Hantek4032L_BoxSideView.png|is a USB-based, 32-channel, 400MHz logic analyzer with 2Gbit memory.}}&lt;br /&gt;
&lt;br /&gt;
{{hwsup_planned|Ideofy LA-08|File:Ideofy_la_08.png|is a USB-based, 8-channel logic analyzer with a max. samplerate of 96Msps@2ch (or 60msps@4ch, or 30msps@8ch).}}&lt;br /&gt;
&lt;br /&gt;
{{hwsup_planned|Intronix Logicport LA1034|File:Intronix Logicport.png|is a USB-based (and FPGA-based), 34-channel logic analyzer with up to 500MHz sampling rate.}}&lt;br /&gt;
&lt;br /&gt;
{{hwsup_planned|Link Instruments LA-5580|File:Sigrok_logo_no_text_transparent_512.png|is a USB-based, 80-channel logic analyzer with up to 500MHz samplerate. There&amp;#039;s an optional pattern generator pod with 100 Mpoints/s.}}&lt;br /&gt;
&lt;br /&gt;
{{hwsup_planned|Microchip PICkit2|File:Microchip_pickit2.png|is a USB-based, 3-channel logic analyzer with up to 1MHz sampling rate.&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;The PICkit2 is actually a programmer/debugger for PIC microcontrollers, but it can also be used as logic analyzer.}}&lt;br /&gt;
&lt;br /&gt;
{{hwsup_planned|MiniLA Mockup|File:Minila_mockup.png|is a USB-based, 32-channel logic analyzer with up to 100MHz sampling rate.}}&lt;br /&gt;
&lt;br /&gt;
{{hwsup_planned|Saleae Logic16|File:Saleae_Logic16_bottom.png|is a USB-based, 16-channel logic analyzer with 100/50/25/12.5MHz sampling rate (at 2/4/8/16 enabled channels).}}&lt;br /&gt;
&lt;br /&gt;
{{hwsup_planned|Sysclk LWLA1016|File:Sysclk lwla1016.png|is a USB-based, 16-channel logic analyzer with up to 100MHz sampling rate.}}&lt;br /&gt;
&lt;br /&gt;
{{hwsup_planned|TechTools DigiView DV1-100|File:Techtools_digiview_dv1-100.png|is a USB-based, 18-channel logic analyzer with 100MHz sampling rate.}}&lt;br /&gt;
&lt;br /&gt;
{{hwsup_planned|ZEROPLUS Logic Cube LAP-C(322000)|File:Sigrok_logo_no_text_transparent_512.png|is a USB-based, 32-channel logic analyzer with a max. samplerate of 200MHz.}}&lt;br /&gt;
&lt;br /&gt;
{{hwsup_planned|ZLG LA1032|File:Zlg_la1032.png|is a USB-based, 32-channel, 100MHz logic analyzer.}}&lt;br /&gt;
&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== Mixed-signal devices ==&lt;br /&gt;
&lt;br /&gt;
Devices which can be used as both logic analyzer and oscilloscopes.&lt;br /&gt;
&lt;br /&gt;
{| border=&amp;quot;0&amp;quot; class=&amp;quot;alternategrey sigroktable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
!Device&lt;br /&gt;
!Status&lt;br /&gt;
!Comments&lt;br /&gt;
&lt;br /&gt;
{{hwsup_supported|ARMFLY AX-Pro|File:Armfly_ax_pro.png|is a USB-based, 8-channel logic analyzer with up to 24MHz sampling rate, and with 2 additional analog channels.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Note:&amp;#039;&amp;#039;&amp;#039; Only the logic analyzer functionality is supported so far, analog support is work in progress.}}&lt;br /&gt;
&lt;br /&gt;
{{hwsup_supported|EE Electronics ESLA201A|File:Esla201a.png|is a USB-based, 8-channel logic analyzer with up to 24MHz sampling rate, and with 2 additional analog channels.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Note:&amp;#039;&amp;#039;&amp;#039; Only the logic analyzer functionality is supported so far, analog support is work in progress.}}&lt;br /&gt;
&lt;br /&gt;
{{hwsup_supported|XZL_Studio AX|File:Studio_XZL_AX.jpeg|is a USB-based, 8-channel logic analyzer with up to 24MHz sampling rate, with 2 additional analog channels and an independent trigger pin.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Note:&amp;#039;&amp;#039;&amp;#039; Only the logic analyzer functionality is supported so far, analog support is work in progress, as is trigger.}}&lt;br /&gt;
&lt;br /&gt;
{{hwsup_progress|Link Instruments MSO-19|File:Link Instruments MSO-19 front.png|is a USB-based, 1-channel 2GSa/s oscilloscope, 8-channel 200MSa/s logic analyzer, 100MSa/s pattern generator and a [https://en.wikipedia.org/wiki/Time-domain_reflectometer TDR].}}&lt;br /&gt;
&lt;br /&gt;
{{hwsup_planned|Agilent MSO7104A|File:Agilent_MSO7104A.png|is a standalone, 4-channel mixed-signal digital storage oscilloscope (1GHz bandwidth, 4GSa/s samplerate, 16-channel logic analyzer).}}&lt;br /&gt;
&lt;br /&gt;
{{hwsup_planned|Digilent Analog Discovery|File:Digilent_analog_discovery.png|is a USB-based 100MSa/s dual channel oscilloscope, function generator, logic analyzer and pattern generator.}}&lt;br /&gt;
&lt;br /&gt;
{{hwsup_planned|Hantek 1008C|File:Hantek_1008C.png|is a USB-based 8-channel oscilloscope, with 8 channel digital pattern generator}}&lt;br /&gt;
&lt;br /&gt;
{{hwsup_planned|Meilhaus MEphisto Scope1|File:Meilhaus_mephisto_scope1.png|is a USB-based multifunction acquisition device.}}&lt;br /&gt;
&lt;br /&gt;
{{hwsup_planned|PoLabs PoScope Basic2|File:Polabs_poscope_basic2.png|is a USB-based, 16-channel logic analyzer (plus oscilloscope, signal/pattern generator, and more) with up to 8MHz sampling rate.}}&lt;br /&gt;
&lt;br /&gt;
{{hwsup_planned|QuantAsylum QA100|File:QA100.png|is a USB-based, mixed-mode oscilloscope with 12 digital inputs, 2 analog, 1 trigger and 1 audio waveform generator.}}&lt;br /&gt;
&lt;br /&gt;
{{hwsup_planned|Rigol VS5202D|File:Rigol_VS5202D.png|is a USB-based, 2-channel analog oscilloscope (400MSa/S, 200MHz bandwidth) and 16-channel logic analyzer (200MHz sampling rate).}}&lt;br /&gt;
&lt;br /&gt;
{{hwsup_planned|XZL_Studio DX|File:Sigrok_logo_no_text_transparent_512.png|is a USB-based, 16-channel logic analyzer with up to 24MHz sampling rate, and with 2 additional analog channels.}}&lt;br /&gt;
&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== Oscilloscopes ==&lt;br /&gt;
&lt;br /&gt;
{| border=&amp;quot;0&amp;quot; class=&amp;quot;alternategrey sigroktable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
!Device&lt;br /&gt;
!Status&lt;br /&gt;
!Comments&lt;br /&gt;
&lt;br /&gt;
{{hwsup_supported|Fluke ScopeMeter 199B|File:Fluke_Scopemeter_199B.png|is a handheld combined multimeter and oscilloscope. Only the multimeter functionality is supported; the device&amp;#039;s slow communication speed does not allow for properly supporting it as an oscilloscope in sigrok.}}&lt;br /&gt;
&lt;br /&gt;
{{hwsup_supported|Hantek DSO-2090|File:Hantek DSO-2090.png|is a USB-based, 2-channel oscilloscope with an analog bandwidth of 40MHz and 100MS/s sampling rate.}}&lt;br /&gt;
&lt;br /&gt;
{{hwsup_supported|Rigol DS1052E|File:Rigol DS1052E.png|is a 50MHz, 1GSa/s, 2-channel digital storage oscilloscope. It can be upgraded to 100MHz analog bandwidth with a software modification.}}&lt;br /&gt;
&lt;br /&gt;
{{hwsup_progress|Focussz Fosc21|File:Focussz_fosc21_mugshot.png|is a USB-serial based, 2-channel oscilloscope with an analog bandwidth of 3kHz and a sampling rate of 8kHz (1 channel) / 4kHz (2 channels).}}&lt;br /&gt;
&lt;br /&gt;
{{hwsup_progress|Hantek DSO-5200A|File:Hantek dso-5200a device front.png|is a USB-based, 2-channel oscilloscope with an analog bandwidth of 200MHz and 250MS/s sampling rate.}}&lt;br /&gt;
&lt;br /&gt;
{{hwsup_progress|Nexus-Computing OsciPrime|File:OsciPrime.png|is a USB-based, 2-channel oscilloscope with an analog bandwidth of 3.3MHz-8MHz.  It is 100% open source hardware and software.}}&lt;br /&gt;
&lt;br /&gt;
{{hwsup_progress|Velleman PCSU1000|File:Velleman PCSU1000.png|is a USB-based, 2-channel oscilloscope with an analog bandwidth of 50MHz and 1GS/s sampling rate.}}&lt;br /&gt;
&lt;br /&gt;
{{hwsup_progress|Hantek DSO-2250|File:Dso2250-top.png|is a USB-based, 2-channel oscilloscope with an analog bandwidth of 100MHz and 250MS/s sampling rate.}}&lt;br /&gt;
&lt;br /&gt;
{{hwsup_planned|Hantek DSO-1200|File:Sigrok_logo_no_text_transparent_512.png|is a USB-based, 2-channel oscilloscope with an analog bandwidth of 200MHz and 500MS/s sampling rate (and a multimeter).}}&lt;br /&gt;
&lt;br /&gt;
{{hwsup_planned|Fluke ScopeMeter 123|File:Fluke scopemeter123.png|is a handheld, 2-channel oscilloscope with an analog bandwidth of 20MHz and 25MS/s sampling rate.}}&lt;br /&gt;
&lt;br /&gt;
{{hwsup_planned|Pico Technology PicoScope 2203|File:Picoscope 2203.png|is a USB-based, 2-channel oscilloscope with an analog bandwidth of 5MHz and 40/20MS/s sampling rate (1-/2-channel one-shot mode).}}&lt;br /&gt;
&lt;br /&gt;
{{hwsup_planned|Pico Technology PicoScope 2205|File:PicoScope_2205.png|is a USB-based, 2-channel oscilloscope with an analog bandwidth of 25MHz and 200/100MS/s sampling rate (1-/2-channel one-shot mode).}}&lt;br /&gt;
&lt;br /&gt;
{{hwsup_planned|Pico Technology PicoScope 3206|File:Picoscope 3206.png|is a USB-based, 2-channel oscilloscope with an analog bandwidth of 200MHz and 200/100MS/s sampling rate (1-/2-channel one-shot mode).}}&lt;br /&gt;
&lt;br /&gt;
{{hwsup_planned|Pico Technology PicoScope 5203|File:Picoscope 5203.png|is a USB-based, 2-channel oscilloscope with an analog bandwidth of 250MHz and 1/0,5GS/s sampling rate (1-/2-channel one-shot mode).}}&lt;br /&gt;
&lt;br /&gt;
{{hwsup_planned|Incite Technology USB-DUXfast|File:Usbduxfast.png|is an USB-based analog data acquisition device. It supports up to 16 channels at 3MHz.}}&lt;br /&gt;
&lt;br /&gt;
{{hwsup_planned|Voltcraft DSO-3062C|File:Voltcraft DSO-3062C.png|is a 60MHz, 1GSa/s, 2-channel digital storage oscilloscope. It can be upgraded to 200MHz analog bandwidth with a software modification.}}&lt;br /&gt;
&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== Multimeters ==&lt;br /&gt;
&lt;br /&gt;
{| border=&amp;quot;0&amp;quot; class=&amp;quot;alternategrey sigroktable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
!Device&lt;br /&gt;
!Status&lt;br /&gt;
!Comments&lt;br /&gt;
&lt;br /&gt;
{{hwsup_supported|Agilent U1231A|File:Sigrok_logo_no_text_transparent_512.png|is a 6000 counts, CAT III (600V) handheld digital multimeter with USB or Bluetooth connectivity.}}&lt;br /&gt;
&lt;br /&gt;
{{hwsup_supported|Agilent U1232A|File:Agilent U1232A.png|is a 6000 counts, CAT III (600V) handheld digital multimeter with USB or Bluetooth connectivity.}}&lt;br /&gt;
&lt;br /&gt;
{{hwsup_supported|Agilent U1233A|File:Sigrok_logo_no_text_transparent_512.png|is a 6000 counts, CAT III (600V) handheld digital multimeter with USB or Bluetooth connectivity.}}&lt;br /&gt;
&lt;br /&gt;
{{hwsup_supported|Brymen BM857|File:Bm_857_mugshot_500000.png|is a 50000 counts (500000 DC), CAT III (1000V) / CAT IV (600V) handheld digital multimeter with RS232 connectivity.}}&lt;br /&gt;
&lt;br /&gt;
{{hwsup_supported|Digitek DT4000ZC|File:Digitek_dt4000zc_device_front.png|is a 4000 counts, CAT II (600V) handheld digital multimeter with RS232 connectivity.}}&lt;br /&gt;
&lt;br /&gt;
{{hwsup_supported|Fluke 187/189|File:Fluke 187.png|are 50000 counts, handheld digital multimeters with RS232 connectivity.}}&lt;br /&gt;
&lt;br /&gt;
{{hwsup_supported|Fluke 287/289|File:Fluke 287.png|are 50000 counts handheld digital multimeters with RS232 connectivity.}}&lt;br /&gt;
&lt;br /&gt;
{{hwsup_supported|MASTECH MAS345|File:Mastech mas345 device front.png|is a 4000 counts, CAT II handheld digital multimeter with RS232 connectivity.}}&lt;br /&gt;
&lt;br /&gt;
{{hwsup_supported|PCE PCE-DM32|File:Pce-pce-dm32.png|is a 4000 counts, CAT III (1000V) / CAT IV (600V) handheld digital multimeter with RS232 connectivity.}}&lt;br /&gt;
&lt;br /&gt;
{{hwsup_supported|PeakTech 3410|File:Metex_me-31.png|is a 4000 counts, CAT II (1000V) handheld digital multimeter with RS232 connectivity.}}&lt;br /&gt;
&lt;br /&gt;
{{hwsup_supported|PeakTech 4370|File:Peaktech 4370 device front.png|is a 2000 counts, CAT II (1000V) handheld digital multimeter with RS232 connectivity.}}&lt;br /&gt;
&lt;br /&gt;
{{hwsup_supported|RadioShack 22-168|File:Rs_22_168_mugshot.png|is a 2000 counts, handheld digital multimeter with RS232 connectivity.}}&lt;br /&gt;
&lt;br /&gt;
{{hwsup_supported|RadioShack 22-805|File:Rs_22-805_front.png|is a 4000 counts, CAT II (600V) handheld digital multimeter with RS232 connectivity.}}&lt;br /&gt;
&lt;br /&gt;
{{hwsup_supported|RadioShack 22-812|File:radioshack_22_812_front.png|is a 4000 counts, CAT II (600V) handheld digital multimeter with RS232 connectivity.}}&lt;br /&gt;
&lt;br /&gt;
{{hwsup_supported|Tecpel DMM-8061|File:Tecpel dmm8061 device front.jpg|is a 4000 counts, CAT IV (600V) handheld digital multimeter with RS232 or USB connectivity.}}&lt;br /&gt;
&lt;br /&gt;
{{hwsup_supported|TekPower TP4000ZC|File:Tp4000zc_front.png|is a 4000 counts, CAT II (600V) handheld digital multimeter with RS232 connectivity.}}&lt;br /&gt;
&lt;br /&gt;
{{hwsup_supported|UNI-T UT61D|File:Uni t ut61d device.png|is a 6000 counts, CAT II (600V) / CAT III (300V) handheld digital multimeter with RS232 or USB connectivity.}}&lt;br /&gt;
&lt;br /&gt;
{{hwsup_supported|UNI-T UT61E|File:Old ver front.png|is a 22000 counts, CAT II (600V) / CAT III (300V) handheld digital multimeter with RS232 or USB connectivity.}}&lt;br /&gt;
&lt;br /&gt;
{{hwsup_supported|V&amp;amp;A VA18B|File:Va_va18b.png|is a 6000 counts, CAT II (1000V) handheld digital multimeter with USB connectivity.}}&lt;br /&gt;
&lt;br /&gt;
{{hwsup_supported|Victor 86C|File:Victor 86c device front.png|is a 4000 counts, CAT III (1000V) handheld digital multimeter with USB connectivity.}}&lt;br /&gt;
&lt;br /&gt;
{{hwsup_supported|Victor 70C|File:Victor 70C.png|is a 4000 counts, CAT II handheld digital multimeter with USB connectivity.}}&lt;br /&gt;
&lt;br /&gt;
{{hwsup_supported|Voltcraft VC-820|File:Voltcraft vc820 device.png|is a 4000 counts, CAT III (1000V) / CAT IV (600V) handheld digital multimeter with RS232 or USB connectivity.}}&lt;br /&gt;
&lt;br /&gt;
{{hwsup_supported|Voltcraft VC-840|File:Voltcraft vc840 device front.png|is a 4000 counts, CAT IV (600V) handheld digital multimeter with RS232 or USB connectivity.}}&lt;br /&gt;
&lt;br /&gt;
{{hwsup_planned|Escort 179|File:Escort 179 device front.png|is a 10000 counts, handheld digital multimeter with RS232 connectivity.}}&lt;br /&gt;
&lt;br /&gt;
{{hwsup_planned|Gossen-Metrawatt METRAHIT 30M|File:Gossen metrahit 30m.png|is a 200000 counts, CAT II (600V) / CAT III (300V) handheld digital multimeter with RS232 or USB connectivity.}}&lt;br /&gt;
&lt;br /&gt;
{{hwsup_planned|MASTECH M9803R|File:800px-Mastech m9803r device front.png|is a 4000 counts, CAT II (1000V) digital bench multimeter with RS232 connectivity.}}&lt;br /&gt;
&lt;br /&gt;
{{hwsup_planned|Protek 6500|File:Sigrok_logo_no_text_transparent_512.png|is a 50000 counts handheld digital multimeter with RS232 connectivity.}}&lt;br /&gt;
&lt;br /&gt;
{{hwsup_planned|Voltcraft M-4660A|File:Voltcraft m4660a device front.png|is a 20000 counts, handheld digital multimeter with RS232 connectivity.}}&lt;br /&gt;
&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== LCR meters ==&lt;br /&gt;
&lt;br /&gt;
TODO.&lt;br /&gt;
&lt;br /&gt;
== Sound level meters ==&lt;br /&gt;
&lt;br /&gt;
{| border=&amp;quot;0&amp;quot; class=&amp;quot;alternategrey sigroktable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
!Device&lt;br /&gt;
!Status&lt;br /&gt;
!Comments&lt;br /&gt;
&lt;br /&gt;
{{hwsup_supported|Colead SL-5868P|File:Colead SL-5868P.png|is a sound level meter with RS232 connectivity.}}&lt;br /&gt;
&lt;br /&gt;
{{hwsup_supported|Tondaj SL-814|File:Tondaj sl-814.png|is a sound level meter with USB connectivity.}}&lt;br /&gt;
&lt;br /&gt;
{{hwsup_planned|CEM DT-8852|File:CEM DT-8852.png|is an IEC 61672-1 class 2-compliant sound level meter with USB connectivity.}}&lt;br /&gt;
&lt;br /&gt;
{{hwsup_planned|PCE PCE-222|File:Pce_pce-222_front.png|is a multi-function measurement device (light meter, thermometer, hygrometer, and sound level meter) with RS232 connectivity. }}&lt;br /&gt;
&lt;br /&gt;
{{hwsup_planned|Voltcraft DL-160S|File:Voltcraft_dl_160s.png|is a sound level meter with USB connectivity.}}&lt;br /&gt;
&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== Thermometers ==&lt;br /&gt;
&lt;br /&gt;
{| border=&amp;quot;0&amp;quot; class=&amp;quot;alternategrey sigroktable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
!Device&lt;br /&gt;
!Status&lt;br /&gt;
!Comments&lt;br /&gt;
&lt;br /&gt;
{{hwsup_supported|Lascar Electronics EL-USB-2|File:EL-USB-2.png|is a USB-based temperature and humidity logger.}}&lt;br /&gt;
&lt;br /&gt;
{{hwsup_supported|MIC 98581|File:Mic 98581 device top.jpg|is a USB-based temperature logger.}}&lt;br /&gt;
&lt;br /&gt;
{{hwsup_planned|PCE PCE-222|File:Pce_pce-222_front.png|is a multi-function measurement device (light meter, thermometer, hygrometer, and sound level meter) with RS232 connectivity. }}&lt;br /&gt;
&lt;br /&gt;
{{hwsup_planned|RDing TEMPer|File:Rding temper front.png|is a USB-based temperature logger.}}&lt;br /&gt;
&lt;br /&gt;
{{hwsup_planned|RDing TEMPer Gold|File:Rding temper gold device front.png|is a USB-based temperature logger.}}&lt;br /&gt;
&lt;br /&gt;
{{hwsup_planned|RDing TEMPer1|File:Rding temper1 device front.png|is a USB-based temperature logger.}}&lt;br /&gt;
&lt;br /&gt;
{{hwsup_planned|RDing TEMPer1K2|File:Pcsensor_temper1k2.png|is a USB-based temperature logger.}}&lt;br /&gt;
&lt;br /&gt;
{{hwsup_planned|Voltcraft DL-120TH|File:Voltcraft dl-120th.png|is a USB-based temperature logger.}}&lt;br /&gt;
&lt;br /&gt;
{{hwsup_planned|Voltcraft DL-140TH|File:Voltcraft_dl-140th.png|is a USB-based temperature logger.}}&lt;br /&gt;
&lt;br /&gt;
{{hwsup_planned|UNI-T UT325|File:Uni-t ut325 front.png|is a dual thermocouple logging thermometer.}}&lt;br /&gt;
&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== Hygrometers ==&lt;br /&gt;
&lt;br /&gt;
{| border=&amp;quot;0&amp;quot; class=&amp;quot;alternategrey sigroktable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
!Device&lt;br /&gt;
!Status&lt;br /&gt;
!Comments&lt;br /&gt;
&lt;br /&gt;
{{hwsup_supported|Lascar Electronics EL-USB-2|File:EL-USB-2.png|is a USB-based temperature and humidity logger.}}&lt;br /&gt;
&lt;br /&gt;
{{hwsup_supported|MIC 98583|File:Mic 98583.png|is a USB-based temperature and humidity logger.}}&lt;br /&gt;
&lt;br /&gt;
{{hwsup_planned|PCE PCE-222|File:Pce_pce-222_front.png|is a multi-function measurement device (light meter, thermometer, hygrometer, and sound level meter) with RS232 connectivity.}}&lt;br /&gt;
&lt;br /&gt;
{{hwsup_planned|SiLabs Si7005USB-Dongle|File:Silabs si7005usb dgl eb top.jpg|is a USB-based temperature and humidity logger.}}&lt;br /&gt;
&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== Anemometers ==&lt;br /&gt;
&lt;br /&gt;
{| border=&amp;quot;0&amp;quot; class=&amp;quot;alternategrey sigroktable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
!Device&lt;br /&gt;
!Status&lt;br /&gt;
!Comments&lt;br /&gt;
&lt;br /&gt;
{{hwsup_planned|MASTECH MS6252B|File:Mastech ms6252b.png|an anemometer with USB connectivity.}}&lt;br /&gt;
&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== Light meters ==&lt;br /&gt;
&lt;br /&gt;
{| border=&amp;quot;0&amp;quot; class=&amp;quot;alternategrey sigroktable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
!Device&lt;br /&gt;
!Status&lt;br /&gt;
!Comments&lt;br /&gt;
&lt;br /&gt;
{{hwsup_planned|Lutron YK-2005LX|File:Lutron YK-2005LX.png|is a light meter with RS232 connectivity.}}&lt;br /&gt;
&lt;br /&gt;
{{hwsup_planned|PCE PCE-222|File:Pce_pce-222_front.png|is a multi-function measurement device (light meter, thermometer, hygrometer, and sound level meter) with RS232 connectivity. }}&lt;br /&gt;
&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== Dataloggers ==&lt;br /&gt;
&lt;br /&gt;
{| border=&amp;quot;0&amp;quot; class=&amp;quot;alternategrey sigroktable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
!Device&lt;br /&gt;
!Status&lt;br /&gt;
!Comments&lt;br /&gt;
&lt;br /&gt;
{{hwsup_supported|Lascar Electronics EL-USB-CO|File:EL-USB-CO.png|is a standalone carbon monoxide (CO) logger.}}&lt;br /&gt;
&lt;br /&gt;
{{hwsup_planned|GSG Indoor Air Monitor|File:Gsg_indoor_air_monitor.png|is a USB-based air quality monitor.}}&lt;br /&gt;
&lt;br /&gt;
{{hwsup_planned|MAUL studio i|File:Maul_studio_i.png|is an RS232-based weighing scale.}}&lt;br /&gt;
&lt;br /&gt;
{{hwsup_planned|Voltcraft CO-20|File:Voltcraft co-20.png|is a USB-based air quality monitor.}}&lt;br /&gt;
&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== Function generators ==&lt;br /&gt;
&lt;br /&gt;
{| border=&amp;quot;0&amp;quot; class=&amp;quot;alternategrey sigroktable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
!Device&lt;br /&gt;
!Status&lt;br /&gt;
!Comments&lt;br /&gt;
&lt;br /&gt;
{{hwsup_planned|Hantek DDS-3X25|File:Hantek DDS-3X25 top.png|is a 25MHz PC-based function generator (requires a USB connection to work).}}&lt;br /&gt;
&lt;br /&gt;
{{hwsup_planned|Siglent SDG1010|File:Siglent sdg1010 device front 8116.png|is a 10MHz function generator with USB connectivity.}}&lt;br /&gt;
&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== RF Receivers ==&lt;br /&gt;
&lt;br /&gt;
{| border=&amp;quot;0&amp;quot; class=&amp;quot;alternategrey sigroktable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
!Device&lt;br /&gt;
!Status&lt;br /&gt;
!Comments&lt;br /&gt;
&lt;br /&gt;
{{hwsup_progress|Per Vices Noctar|File:Sigrok_logo_no_text_transparent_512.png|is a PCIe IQ modulator/demodulator board.}}&lt;br /&gt;
&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== Spectrum analyzers ==&lt;br /&gt;
&lt;br /&gt;
TODO.&lt;br /&gt;
&lt;br /&gt;
== Power supplies ==&lt;br /&gt;
&lt;br /&gt;
{| border=&amp;quot;0&amp;quot; class=&amp;quot;alternategrey sigroktable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
!Device&lt;br /&gt;
!Status&lt;br /&gt;
!Comments&lt;br /&gt;
&lt;br /&gt;
{{hwsup_planned|Manson HCS-3202|File:Manson hcs3202.png|is a 1-channel programmable power supply (1-36V/0-10A) with USB connectivity.}}&lt;br /&gt;
&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== GPIB interfaces ==&lt;br /&gt;
&lt;br /&gt;
{| border=&amp;quot;0&amp;quot; class=&amp;quot;alternategrey sigroktable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
!Device&lt;br /&gt;
!Status&lt;br /&gt;
!Comments&lt;br /&gt;
&lt;br /&gt;
{{hwsup_planned|Beiming S82357|File:Beiming_s82357.png|is a USB-based, hardware-implemented [[GPIB]] interface (a clone of the [http://www.home.agilent.com/en/pd-851808-pn-82357B/usb-gpib-interface-high-speed-usb-20 Agilent 82357B USB/GPIB interface]).}}&lt;br /&gt;
&lt;br /&gt;
{{hwsup_planned|ICS 488-USB|File:ICS 488-USB.png|is a USB-based, hardware-implemented [[GPIB]] interface.}}&lt;br /&gt;
&lt;br /&gt;
{{hwsup_planned|GPIB-USB 82357B clone|File:GPIB-USB 82357B clone.png|is a USB-based, hardware-implemented [[GPIB]] interface (a clone of the [http://www.home.agilent.com/en/pd-851808-pn-82357B/usb-gpib-interface-high-speed-usb-20 Agilent 82357B USB/GPIB interface]).}}&lt;br /&gt;
&lt;br /&gt;
{{hwsup_planned|National Instruments GPIB-ENET|File:NI GPIB-ENET.png|is an Ethernet-based, hardware-implemented [[GPIB]] interface.}}&lt;br /&gt;
&lt;br /&gt;
{{hwsup_planned|National Instruments GPIB-USB-HS|File:NI GPIB-USB-HS.png|is a USB-based, hardware-implemented [[GPIB]] interface.}}&lt;br /&gt;
&lt;br /&gt;
{{hwsup_planned|Prologix GPIB-USB|File:Prologix-usb.png|is a USB-based, firmware-implemented [[GPIB]] interface.}}&lt;br /&gt;
&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== Potential other candidates ==&lt;br /&gt;
&lt;br /&gt;
If you own any other logic analyzers (or oscilloscopes, multimeters, dataloggers, etc.) and want to add support for them in sigrok (or donate/lend devices to developers), please let us know. We&amp;#039;re always happy to add more hardware support! Contact [mailto:bert@biot.com Bert Vermeulen] and [mailto:uwe@hermann-uwe.de Uwe Hermann] if you want to help out.&lt;br /&gt;
&lt;br /&gt;
__FORCETOC__&lt;/div&gt;</summary>
		<author><name>Marc Schink</name></author>
	</entry>
	<entry>
		<id>https://sigrok.org/w/index.php?title=IKALOGIC_Scanalogic-2&amp;diff=6478</id>
		<title>IKALOGIC Scanalogic-2</title>
		<link rel="alternate" type="text/html" href="https://sigrok.org/w/index.php?title=IKALOGIC_Scanalogic-2&amp;diff=6478"/>
		<updated>2013-05-26T14:17:49Z</updated>

		<summary type="html">&lt;p&gt;Marc Schink: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{Infobox logic analyzer&lt;br /&gt;
| image            = [[File:Ikalogic scanalogic2.png|180px]]&lt;br /&gt;
| name             = Ikalogic SCANALOGIC-2 PRO&lt;br /&gt;
| status           = in progress&lt;br /&gt;
| source_code_dir  = &lt;br /&gt;
| channels         = 4&lt;br /&gt;
| samplerate       = 20MHz&lt;br /&gt;
| samplerate_state = &amp;amp;mdash;&lt;br /&gt;
| triggers         = rising, falling, either&lt;br /&gt;
| voltages         = -0.7V &amp;amp;mdash; 5.5V&lt;br /&gt;
| threshold        = ?&lt;br /&gt;
| memory           = 256ksamples/ch&lt;br /&gt;
| compression      = ?&lt;br /&gt;
| website          = [http://www.ikalogic.com/scanalogic2/ ikalogic.com]&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
The &amp;#039;&amp;#039;&amp;#039;SCANALOGIC-2 PRO&amp;#039;&amp;#039;&amp;#039; is a USB-based, 4-channel logic analyzer with up to 20MHz sampling rate.&lt;br /&gt;
&lt;br /&gt;
See [[Ikalogic SCANALOGIC-2 PRO/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;
* [http://www.atmel.com/devices/atmega168pa.aspx Atmel ATmega168 PA] ([http://www.atmel.com/Images/Atmel-8271-8-bit-AVR-Microcontroller-ATmega48A-48PA-88A-88PA-168A-168PA-328-328P_datasheet_Summary.pdf datasheet])&lt;br /&gt;
* 2x [http://www.fairchildsemi.com/pf/74/74LCX125.html Fairchild Semiconductor 74LCX125]&lt;br /&gt;
* 4x [http://www.microchip.com/wwwproducts/Devices.aspx?dDocName=en539039 Microchip 23K256I] ([http://ww1.microchip.com/downloads/en/DeviceDoc/22100F.pdf datasheet])&lt;br /&gt;
* 20 MHz crystal&lt;br /&gt;
&lt;br /&gt;
== Photos ==&lt;br /&gt;
&lt;br /&gt;
&amp;lt;gallery&amp;gt;&lt;br /&gt;
File:Ikalogic scanalogic2 device with probes.jpg|&amp;lt;small&amp;gt;Device with probes&amp;lt;/small&amp;gt;&lt;br /&gt;
File:Ikalogic scanalogic2 parts.jpg|&amp;lt;small&amp;gt;Parts&amp;lt;/small&amp;gt;&lt;br /&gt;
File:Ikalogic scanalogic2 guide back.jpg|&amp;lt;small&amp;gt;User&amp;#039;s guide&amp;lt;/small&amp;gt;&lt;br /&gt;
File:Ikalogic scanalogic2 pcb soldered front.jpg|&amp;lt;small&amp;gt;PCB, front&amp;lt;/small&amp;gt;&lt;br /&gt;
File:Ikalogic scanalogic2 pcb soldered back.jpg|&amp;lt;small&amp;gt;PCB, back&amp;lt;/small&amp;gt;&lt;br /&gt;
File:Ikalogic scanalogic2 pcb soldered light.jpg|&amp;lt;small&amp;gt;PCB, bright light&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;
TODO.&lt;br /&gt;
&lt;br /&gt;
== Resources ==&lt;br /&gt;
&lt;br /&gt;
TODO.&lt;br /&gt;
&lt;br /&gt;
[[Category:Device]]&lt;br /&gt;
[[Category:Logic analyzer]]&lt;br /&gt;
[[Category:In progress]]&lt;/div&gt;</summary>
		<author><name>Marc Schink</name></author>
	</entry>
	<entry>
		<id>https://sigrok.org/w/index.php?title=IKALOGIC_Scanalogic-2&amp;diff=6477</id>
		<title>IKALOGIC Scanalogic-2</title>
		<link rel="alternate" type="text/html" href="https://sigrok.org/w/index.php?title=IKALOGIC_Scanalogic-2&amp;diff=6477"/>
		<updated>2013-05-26T14:15:36Z</updated>

		<summary type="html">&lt;p&gt;Marc Schink: /* Hardware */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{Infobox logic analyzer&lt;br /&gt;
| image            = [[File:Ikalogic scanalogic2.png|180px]]&lt;br /&gt;
| name             = Ikalogic SCANALOGIC-2 PRO&lt;br /&gt;
| status           = planned&lt;br /&gt;
| source_code_dir  = &lt;br /&gt;
| channels         = 4&lt;br /&gt;
| samplerate       = 20MHz&lt;br /&gt;
| samplerate_state = &amp;amp;mdash;&lt;br /&gt;
| triggers         = rising, falling, either&lt;br /&gt;
| voltages         = -0.7V &amp;amp;mdash; 5.5V&lt;br /&gt;
| threshold        = ?&lt;br /&gt;
| memory           = 256ksamples/ch&lt;br /&gt;
| compression      = ?&lt;br /&gt;
| website          = [http://www.ikalogic.com/scanalogic2/ ikalogic.com]&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
The &amp;#039;&amp;#039;&amp;#039;SCANALOGIC-2 PRO&amp;#039;&amp;#039;&amp;#039; is a USB-based, 4-channel logic analyzer with up to 20MHz sampling rate.&lt;br /&gt;
&lt;br /&gt;
See [[Ikalogic SCANALOGIC-2 PRO/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;
* [http://www.atmel.com/devices/atmega168pa.aspx Atmel ATmega168 PA] ([http://www.atmel.com/Images/Atmel-8271-8-bit-AVR-Microcontroller-ATmega48A-48PA-88A-88PA-168A-168PA-328-328P_datasheet_Summary.pdf datasheet])&lt;br /&gt;
* 2x [http://www.fairchildsemi.com/pf/74/74LCX125.html Fairchild Semiconductor 74LCX125]&lt;br /&gt;
* 4x [http://www.microchip.com/wwwproducts/Devices.aspx?dDocName=en539039 Microchip 23K256I] ([http://ww1.microchip.com/downloads/en/DeviceDoc/22100F.pdf datasheet])&lt;br /&gt;
* 20 MHz crystal&lt;br /&gt;
&lt;br /&gt;
== Photos ==&lt;br /&gt;
&lt;br /&gt;
&amp;lt;gallery&amp;gt;&lt;br /&gt;
File:Ikalogic scanalogic2 device with probes.jpg|&amp;lt;small&amp;gt;Device with probes&amp;lt;/small&amp;gt;&lt;br /&gt;
File:Ikalogic scanalogic2 parts.jpg|&amp;lt;small&amp;gt;Parts&amp;lt;/small&amp;gt;&lt;br /&gt;
File:Ikalogic scanalogic2 guide back.jpg|&amp;lt;small&amp;gt;User&amp;#039;s guide&amp;lt;/small&amp;gt;&lt;br /&gt;
File:Ikalogic scanalogic2 pcb soldered front.jpg|&amp;lt;small&amp;gt;PCB, front&amp;lt;/small&amp;gt;&lt;br /&gt;
File:Ikalogic scanalogic2 pcb soldered back.jpg|&amp;lt;small&amp;gt;PCB, back&amp;lt;/small&amp;gt;&lt;br /&gt;
File:Ikalogic scanalogic2 pcb soldered light.jpg|&amp;lt;small&amp;gt;PCB, bright light&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;
TODO.&lt;br /&gt;
&lt;br /&gt;
== Resources ==&lt;br /&gt;
&lt;br /&gt;
TODO.&lt;br /&gt;
&lt;br /&gt;
[[Category:Device]]&lt;br /&gt;
[[Category:Logic analyzer]]&lt;br /&gt;
[[Category:Planned]]&lt;/div&gt;</summary>
		<author><name>Marc Schink</name></author>
	</entry>
</feed>