Logic Analyzer Client

The Java client should run on most platforms for which JRE 1.4.2 or newer and the RXTX package exist. This means it should work with Linux, Windows, Solaris and many more.

The client allows to configure the device, read and display captured data and to perform file operations on captured data. It can be extended with plugins and some classes can be reused for own applications. See the developer documentation for details:

API Documentation

3rd Party Packages

  • RXTX - Provides access to serial ports (required)
  • PgsLookAndFeel - Provides the look and feel seen below (optional)

Screenshots of Version 0.8

The new I2C protocol analyzer:

I2C protocol analyzer

Screenshots of Version 0.7

Capture dialog with new complex trigger:

Capture Dialog

SPI Protocol Analyzer Plugin:

SPI Protocol Analyzer Plugin

Screenshots of Version 0.6

This screenshot shows the client with data captured from the test generator. For the first group all three display modes have been activated: channel based level diagram, scope and byte value:

The display configuration can be customized using the diagram settings dialog:

All settings of the physical logic analyzer can be controlled with the capture dialog:

As of version 0.6 a plugin interface for post-processing tools exists.
This tool converts a existing timing analysis into a state analyis:
(Has nothing to do with the device's native support for state analysis.)

The slick look of the UI results from using the PgsLookAndFeel. In order to use it, you need to install the package and set it as default look and feel in your swing.properties.

Comments
Sven (Thu, 16 Oct 2008):
Hallo,
gibt es Pläne die Software weiter zu entwickeln? Mir persönlich fehlen die Möglichkeiten Cursor zu setzen und die L/H Werte der Kanäle an der Cursorposition z.B. links des Graphen in Schriftform ablesen zu können (wie bei der Logicport Software)
Was zudem schick wäre, wäre eine Farbverwaltung, so dass man Hintergrund und die einzelnen Signallinien unterschiedliche Farben zuweisen kann.

Falls du nicht mehr daran weiter arbeitest: Mit welcher Entwicklungsumgebung hast du die Software erstellt?

mfg
Micha (Thu, 16 Oct 2008):
Konkrete Pläne gibt es aus Zeitmangel nicht.
Die Software habe ich mit Eclipse erstellt.
Frank (Sat, 10 Jan 2009):
Hi,

die letzten Sourcen liegen unter
http://sourceforge.net/projects/jlac/

Teilweise sind die von Sven gewünschten Funktionen (Cursors,...) dort teilweise implementiert.

Gruß,
Frank
Giuseppe Marullo (Fri, 13 Feb 2009):
Hi Micha,
very nice work. I am trying to start the client in java but this is what I get (windows):

C:\data\laspartan3e\LogicAnalyzer-release\client>java -jar analyzer.jar
Error while invoking application: null

java.lang.reflect.InvocationTargetException
at java.awt.EventQueue.invokeAndWait(Unknown Source)
at javax.swing.SwingUtilities.invokeAndWait(Unknown Source)
at org.sump.analyzer.Loader.main(Loader.java:94)
Caused by: java.lang.Error: Do not use org.sump.analyzer.tools.SPIProtocolAnalysis$SPIProtocolAnalysisDialog.add() use org.sump.anal
yzer.tools.SPIProtocolAnalysis$SPIProtocolAnalysisDialog.getContentPane().add() instead
at javax.swing.JDialog.createRootPaneException(Unknown Source)
at javax.swing.JDialog.addImpl(Unknown Source)
...

Sure it is a naive problem, could you tell me what's wrong?

Giuseppe Marullo
Keith (Thu, 5 Mar 2009):
I'm also getting the Error while invoking application: null when trying to start the client.

It briefly flashes the application window.

Tried two different machines, both w/ updated jre's.
Keith (Tue, 17 Mar 2009):
Error invoking application:null is the client's not so well behaved way of saying you haven't installed rxtx correctly.

http://www.sump.org/projects/analyzer/faq/

A simple message saying so would have been a heck of a more friendly way to do it.
befro (Sun, 5 Apr 2009):
I started to implement a logic analyser on a very low cost cpld board. Clearly, there are less features than on a board with an fpga and the sampling frequency may also be slower. But never the less for many measurement applications a cpld based logic analyser may be sufficient.

Here the basic work to fit the client software to the cpld may be found:
http://www.mikrocontroller.net/topic/133952
Duned (Thu, 14 May 2009):
Hi,

Is PC Client open-sourced software? Could it be used as a part of commercial product or modified and recommended as a software for commercial product?

Cheers,
Duned
nuess0r (Mon, 25 Jan 2010):
at the moment there are two traps arround for installation of the client application.

the first is to get the newest (and highly recomended source), you can only them them through cvs, follow this steps:
you can still get the files through CVS access (just press enter when asked
for a password):
cvs -d:pserver:anonymous@jlac.cvs.sourceforge.net/cvsroot/jlac login

cvs -z3 -d:pserver:anonymous@jlac.cvs.sourceforge.net:2401/cvsroot/jlac
co -P client

cvs -z3 -d:pserver:anonymous@jlac.cvs.sourceforge.net:2401/cvsroot/jlac
co -P fpga


the second trap is a really bad bug somewhere between the RXTX library and debian apt package for it. your java VM will crash!

follow the solution described here:
http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=523139#12
Richard Hyde (Sat, 24 Apr 2010):
Has anyone gotten the rxtx library working on MacOS 10.6? I tried the above suggestion and I still get a segv in the kern everytime
Markus (Thu, 29 Apr 2010):
I\'m trying to compile the client on my Ubuntu PC. I got the source from CVS and installed the rxtx library. There is a /usr/share/java/RXTXcomm.jar file now, but when compiling I get the error message about \'package gnu.io does not exist\'. I was under the impression that the rxtx library provides that package.

What am I missing ?
Ben (Sun, 23 May 2010):
HI,

I\'m using the OLS hardware with the Sump client.

Using an Arduino to generate waveforms the Arduino automatic reset was triggered every time I capture a waveform.
The Arduino uses this reset to activate the bootloader if you want to flash it.

The OLS sits on COM19. The Arduino on COM5. COM19 for the OLS due to using Blue Tooth which inserts a lot of additional comports.

Portmon from Sysinternals showed that requests to VCP0 (the Arduino device) were made by java.exe which triggered the Arduio reset.

The log shows:

0 0.01975857 javaw.exe IRPMJCREATE VCP0 SUCCESS Options: Open
1 0.00000608 javaw.exe IRPMJCLEANUP VCP0 SUCCESS
2 0.11812187 javaw.exe IRPMJCLOSE VCP0 SUCCESS

Is this a from the SUMP client or a JAVA issue?

If this is from the SUMP client then please remove resetting additional comports. Its annoying.
Ben
LongHairedHacker (Thu, 3 Jun 2010):
Moin Moin

I just wanted to get the jlac sources out of the sourceforge svn,
but your repo seems to be completely empty.

Did I miss something and where can I get the sources ?

Sebastian
nuess0r (Mon, 7 Jun 2010):
use CVS not SVN, jlac is still using CVS.
look a few posts before, for instructions.
tissit (Sat, 19 Jun 2010):
Will the sick look get fixed soon?
Giuseppe Marullo (Wed, 30 Jun 2010):
Could a good soul tell me how to debug the jlac client under Eclipse?

I managed to create a project, the main window is displayed but Tools menu won\'t display the Protocol decoders. I am able to create the jar file.

If I just run the application, everythig is fine, while debugging I am unable to go into \"I2C Protocol decoder...\" submenu. I open a capture file before attempting to launch the decoder but tool submenu does not display anything.

Actually I am using J2SE 1.5 Update 11 and Eclipse Helios.

TIA,

Giuseppe Marullo

giuseppe.marullo@iname.com
whitis (Fri, 13 Aug 2010):
ClassNotFoundException: gnu.io.CommPortIdentifier
$ sudo mkdir /usr/local/src/sump
$ cd /usr/local/src/sump
$ sudo wget http://www.sump.org/projects/analyzer/downloads/la-bin-0.8.tar.bz2 http://www.sump.org/projects/analyzer/downloads/la-src-0.8.tar.bz2
$ sudo apt-get install librxtx-java
$ sudo tar jxvf la-bin-0.8.tar.bz2
$ cd LogicAnalyzer/client

$uname -a
Linux cervantes 2.6.28-11-generic #42-Ubuntu SMP Fri Apr 17 01:58:03 UTC 2009 x8664 GNU/Linux

$ lsbrelease -a
No LSB modules are available.
Distributor ID:Ubuntu
Description:Ubuntu 9.04
Release:9.04
Codename:jaunty

$ dpkg -l librxtx-java
ii librxtx-java 2.1.7r2-4 Full Java CommAPI implementation
$ ls -lgF /usr/share/java/RXTXcomm.jar
-rw-r--r-- 1 root 59322 2008-11-07 19:51 /usr/share/java/RXTXcomm.jar

$java -classpath /usr/share/java -jar analyzer.jar
java.lang.reflect.InvocationTargetException
at java.awt.EventQueue.invokeAndWait(EventQueue.java:1000)
at javax.swing.SwingUtilities.invokeAndWait(SwingUtilities.java:1348)
at org.sump.analyzer.Loader.main(Loader.java:94)
Caused by: java.lang.NoClassDefFoundError: gnu/io/CommPortIdentifier
at org.sump.analyzer.Device.getPorts(Device.java:366)
at org.sump.analyzer.DeviceController.<init>(DeviceController.java:123)
at org.sump.analyzer.MainWindow.createGUI(MainWindow.java:261)
at org.sump.analyzer.MainWindow.run(MainWindow.java:401)
at java.awt.event.InvocationEvent.dispatch(InvocationEvent.java:216)
at java.awt.EventQueue.dispatchEvent(EventQueue.java:602)
at java.awt.EventDispatchThread.pumpOneEventForFilters(EventDispatchThread.java:275)
at java.awt.EventDispatchThread.pumpEventsForFilter(EventDispatchThread.java:200)
at java.awt.EventDispatchThread.pumpEventsForHierarchy(EventDispatchThread.java:190)
at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:185)
at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:177)
at java.awt.EventDispatchThread.run(EventDispatchThread.java:138)
Caused by: java.lang.ClassNotFoundException: gnu.io.CommPortIdentifier
at java.net.URLClassLoader$1.run(URLClassLoader.java:217)
at java.security.AccessController.doPrivileged(Native Method)
at java.net.URLClassLoader.findClass(URLClassLoader.java:205)
at java.lang.ClassLoader.loadClass(ClassLoader.java:323)
at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:294)
at java.lang.ClassLoader.loadClass(ClassLoader.java:268)
at java.lang.ClassLoader.loadClassInternal(ClassLoader.java:336)
... 12 more
Benjamin (Tue, 17 Aug 2010):
Hi

I have used this client with the sump logic analyzer for a while now and made some changes to it, including:

* Window/dialog initial position (center of screen instead of upper left corner).
* Nimbus L&F (where available).
* Default selection in capture dialog.
* Zoom behaviour.
- Zoom with mouse wheel while ctrl is held down.
- don\'t snap diagram to the beginning when zooming.
- Dont zoom out further when the diagram is as small as the viewport.
- Zoom fit to whole diagram instead of 95 %.
* Fit the diagram to the window size after capture.

Instructions on how to run it on ubuntu are included. Source code and build scripts are also included.

Download it here:
http://dl.dropbox.com/u/1026013/Java/Logic%20Analyzer/Logic%20Analyzer.zip

The ctrl + mouse wheel zoom is the thing i was missing the most on the unmodified client.

Feel free to give me some feedback on how it works and suggestions for further improvements.

/ Benjamin
Benjamin (Tue, 17 Aug 2010):
I forgot to mention, i have been using the client with the openbench logic sniffer which works really well.

http://www.seeedstudio.com/depot/preorder-open-workbench-logic-sniffer-p-612.html?cPath=75

/ Benjamin
benoar (Mon, 23 Aug 2010):
Just spent 2 hours trying to solve the same problem as whitis, on a Debian with RXTX installed through aptitude (package librxtx-java).

Launching the analyzer with the following command worked:

java -cp /usr/share/java/RXTXcomm.jar:analyzer.jar org.sump.analyzer.Loader

Thanks for this great piece of software !
Chris Phoenix (Thu, 26 Aug 2010):
Benjamin - I downloaded your Logic Analyzer.zip file.

Tried to run it with runme; got Bad version number in .class file.

Tried to build it with build; got cannot find symbol: class MainWindow

Tried sudo apt-get install build-essential; got E: Couldn\'t find package build-essential

I\'m on Mac OSX Leopard, javac 1.5.020. Not sure what other information to give.

Anyone... I have downloaded about 4 different clients and builds, binary and source, and can\'t get anything to work. I don\'t have days to go back and forth on forums. Could some kind soul please phone me at 776-5195 in the 650 area code, and point me at *any* client that I can get working in under 15 minutes by *any* method?

Thanks!

Chris
simon (Sat, 16 Oct 2010):
@ Benjamin

Thank you, got it running on Ubuntu.

But in general I must be doing something wrong. When using more than 4k of memory the picture seems to repeat. Also I see glitches in the signal that are not there.
When I use a complex tigger, to trigger on the edge of a square wave (how had can it be?) the trigger is not always at t=0,0 sec, depending on the sample rate.
Do I misunderstand what the hardware is capable of? Or, like I say, am I missing something? Thanks in advance.

Simon
Viresh Pradhan (Sat, 13 Nov 2010):
I am trying to compile the java client in Windows XP
I get the error
cannot find symbol: class MainWindow
Can anybody give me some clue ?

Thanks in advance.

-Viresh
Prong (Sat, 19 Mar 2011):
Hi,
I'm referring to "3rd Party Packages
* RXTX - Provides access to serial ports (required)
* PgsLookAndFeel - Provides the look and feel seen below (optional)"

The required download is not clear in the case of RXTX, and the PgsLookAndFeel page has gone.

Can anyone provide these files or a link, please?

thank you
bo (Tue, 17 May 2011):
Hallo Mr. Sump,

ist dieses Projekt noch aktiv?
Gruss

-bo
Björn (Tue, 12 Jul 2011):
I hate java
seb (Mon, 18 Jul 2011):
Hello all

I have found a solution for SUMP for beginners like me.

Someone make a script for Ubuntu. Here you will find a link for 2 files :
http://yageeksblog.blogspot.com/2010/12/logic-analyzer-client-de-sumporg-sous.html?showComment=1310995276239#c5515930265743292018

Download them on you computer and change the property of the file called "installlla.sh" (it must be changed in an executable). Then launch "installlla.sh" as an executable. It will download, compile and install SUMP (and RXTX).
When done, in a terminal : "java -jar analyzer.jar"

Regards,
Seb
Gism (Sat, 3 Sep 2011):
E:\Downloads\Software\LogicAnalyzer\client>java -jar analyzer.jar
java.lang.UnsatisfiedLinkError: C:\Program Files\Java\jre7\bin\rxtxSerial.dll: Can't load IA 32-bit .dll on a AMD 64-bit platform thrown while loading gnu.io.RXTXCommDriver
Error while invoking application: null
Gism (Sat, 3 Sep 2011):
Any idea to solve the error on the last post?

Thanks!!
gism (Sat, 3 Sep 2011):
Solved

there is a no stable version that seems to work:
http://rxtx.qbang.org/wiki/index.php/Download
John Pritchard (Mon, 7 May 2012):
Benjamin and Michael,

Very nice..

Update: change to Benjamin's runme for rxtx location

cat runme | sed 's%/usr/lib%/usr/lib/jni%' > /tmp/tmp; cp /tmp/tmp runme

Best,
John
John Pritchard (Mon, 7 May 2012):
Hi,

Here's yet another clone.. https://github.com/syntelos/jlac

A fairly robust environment based on Make. Evolutions here will be based on maintaining the simplest possible code for readability.

Cheers,
John
nuess0r (Thu, 11 Oct 2012):
Also hava a look at SIGROK:
"The sigrok project aims at creating a portable, cross-platform, Free/Libre/Open-Source signal analysis software suite that supports various device types"

It supports various logic-analysers and also the SUMP communication protocol.
http://sigrok.org/
Toni (Sat, 26 Jan 2013):
Hi colleagues, I am using bus pirate and I have an issue that the tool trace first the LSB and then MSB, but I need it reverse.
BR, Toni
Toni (Sat, 26 Jan 2013):
Sorry forget to tell the versions: Bus Pirate v4 Firmware v6.2-beta1 r1981 (By the way I also have Pikit 2 and it trace the order of MSB,LSB correct.) Can you help me please? Th I2C Analyzer Tool does not work correct in that case. Thanks, Danke! BR,Toni
Thomas (Fri, 29 Nov 2013):
Hi everybody,
i made a waveform viewer for the eclipse framework (impulse - http://toem.de) that is currently mainly used for systemC.
But i would like it to open to any kind of data aquisition,
so i started with a port concept to allow intergration of data aquisition hw. I think thump is quite an interresting project. Is anybody interested in such a port for SUMP ? Would like to get your inputs.

cheers,
thomas
James Newton (Sat, 22 Feb 2014):
I've been trying to get something that works with my little Bus Pirate v3.6 and eventually found this:
http://www.hobbytronics.co.uk/bus-pirate-logic-sniffer