Joulescope UI 0.9.7

We are happy to announce that Joulescope UI 0.9.7, the Annotation Update, is now available for download.

:warning:Mac users still running OS X: you will have to manually download the OS X version, which you can also find linked on our download page.

Read on for a list of new features and changes.


Want to add text markup to your waveforms? Now you can!

Annotations are the biggest change in 0.9.7. Previous versions of the Joulescope UI could add vertical and horizontal markers, both single markers and dual markers. With 0.9.7, you can also add text annotations. You can select from several icon types and place your text either at a specific y-axis location or independent so that it always shows up in the y-axis middle of the waveform. Document that rare event!

To add a text marker, right-click (control-click or two-finger-click on Mac) then select AnnotationsTextAdd text. The marker initially appears without any text. Right-click on the marker and select Edit text.


You now have the ability to save annotations. If you load a JLS file, you can add annotations. To save, right-click on the waveform and select AnnotationsSave all. If you are working with a captured memory buffer, you can save all or part of it along with annotations by right-click on the waveform and selecting either Export visible data or Export all data. Alternatively, you can add dual vertical markers, the right-click on one, and select Export data.

If your JLS data is stored to {filename}.jls, then the annotation data will be stored to a separate {filename}.anno.jls file. Don’t want your saved annotations? Simply delete that file before loading the JLS.

JLS v2

Annotations are actually implemented using JLS v2. While the JLS v1 file format has been great, we have found that we can create a better, faster, more flexible format. JLS v2 is a totally rearchitected file format implemented in C for speed to meet the demanding needs of storing huge streaming captures and quickly displaying waveforms.

The Joulescope UI can already read JLS v2 files for current, voltage, and power. If you want, you can generate your own JLS v2 file formats from your python script. JLS v2 does not yet support all the features needed by the UI, so the UI still writes JLS v1 files.

We are working towards full JLS v2 support. See all the upcoming JLS v2 features over on GitHub.

Improvements and Bug fixes

We continue to improve the Joulescope UI to make it even more reliable. Thank you to everyone in our excellent community that reported issues and suggested improvements!

  • Fixed crash when logging is disabled #120.
  • Added waveform pan when holding shift while scrolling #123.
  • Added macOS packaging support for new homebrew distribution.
  • Fixed min/max fill color.
  • Fixed race condition when start UI with JLS file argument.
  • Fixed Tools → Clear Accumulator #111
  • Copied Single Value Widget value to clipboard on mouse click #113
  • Used PySide.QtCore.Qt instead of PySide.QtGui.Qt #115
  • Added error handling to log file cleanup.
  • Fixed crash on invalid window_state #116
  • Reduced exception catching from “except:” to “except Exception:”
  • Fixed clear accumulators also affecting CSV capture #117

Nice! Now that we have actual annotations, maybe markers should no longer be called “annotations”, they should be called “markers” :slight_smile:

1 Like

There are 2 hard problems in computer science: cache invalidation, naming things, and off-by-1 errors.

– Improvement of Phil Karlton’s famous quote, I don’t know who added the “off-by-1 errors” part.

1 Like

Seriously though, do have you name recommendations that work better for you?

So, here is what we need to name:

Thing Current Name Future Name
Single vertical marker *
Dual vertical markers *
Single horizotonal marker *
Dual horizontal markers *
Points that have shape & possibly text Text Annotation
A name for any & all of the above Annotations

I have no problem with any of those except the last item. Markers are markers, not annotation (imo). What grates on my nerves is this:


…using a contextual menu called “Annotations” to control markers.

Ok, I can easily see changing the x-axis and y-axis right-click context menus. The only sub-items are Markers, so that makes sense. I originally used Annotations to leave myself room to add other things that I thought might be interesting. However, I think that the motivations behind those other things are now met with the existing, ahem, annotations :wink:

The new waveform context menu is more challenging. It contains all of the things-to-be-named:

I am currently using Annotations to refer to all of these items. What would make better sense for you?

Add a new Item to the top-level contextual menu, “Markers”.
The Markers item has subitems Vertical, Horizontal, and Clear All.
The Annotations item has subitems Add Text Annotation, Hide All, Show All, and Clear All.

That would make sense, except for one thing not shown in that image above. Doh! Here’s an image with the “Save all” menu item:

Markers and text annotations all get saved together and loaded together. I could change the top level to have:

  • Markers
  • Annotations
  • Save all Markers & Annotations
  • Save image

Would that be clearer or more confusing to you?

I like that!