Blogs

PulseView 0.4.1 released!

We're happy to announce the new PulseView 0.4.1 release!

This is quite a major release with loads of new features and bugfixes.

It requires the recently released libsigrok 0.5.1 and libsigrokdecode 0.5.2.

We provide various binary builds for Linux (AppImage), Windows (.exe installer) and Mac OS X (DMG) for the release version over at the Downloads page (in addition to the usual nightly builds).

Major new features and improvements:

  • One of the most-often requested features has been implemented: Snapping cursors to signal edges. The current implementation snaps to edges of a specific channel if the mouse cursor is inside that channel, and it snaps to edges of any channel otherwise. When moving both cursors at the same time, only the left cursor will snap, while the overall distance between the cursors stays the same (which allows for easy measurements/comparisons).
  • There's a bunch of new command-line switches such as --driver or --dont-scan, as well as option support for --input-file, see manpage for details. You can now also load multiple files at once when starting Pulseview, e.g. via "pulseview *.sr" or the like.
  • There's support for converting analog channels to digital/logic channels now, either via a threshold or a schmitt-trigger method. This allows feeding the converted channels to protocol decoders, which was not possible before.
  • PulseView now has theme support and ships with the current (default) "light" theme and two new "dark"-style themes which some people might prefer.
  • There have been a bunch of UI improvements, such as showing a tooltip for the cursor measurement values if needed, logic high areas are now colored differently for clearer visualization, there's a convenience mouse hover vertical line now, you can enable/disable many channels more easily via buttons, and lots more.
  • Protocol decoder annotations can now be exported in a user-configurable format, either all annotations, or only those of a certain annotation row, or only those between the cursors, etc.
  • Protocol decoder channel name auto-mapping has been improved, so it'll probably match your desired channel setup more often without requiring manual channel assignment.

There's also a new PulseView HTML manual as well as a PDF manual with a bunch of explanations and help. If you're missing something in there, please let us know and/or provide patches!

Additionally, there have been quite a few performance and memory usage improvements. E.g. files should load quite a bit faster now, some painting operations are faster as well, various memory leaks and inefficiencies have been fixed, and so on.

Of course there have also been a huge amount of fixes for some rather annoying bugs (e.g. UI lag when changing decoder options/channels) and also many smaller ones. A bunch of crash conditions on various OSes have also been fixed.

See the NEWS file for a much more detailed list of changes, or browse the git history for even more details.

 

sigrok-cli 0.7.1 released!

We're happy to announce the release of sigrok-cli 0.7.1. Tarballs and binaries are available from the Downloads page, as usual.

In addition to the usual nightly binaries for Linux (AppImage) and Windows (.exe installer), we now also offer a stable set of binaries of this 0.7.1 sigrok-cli release. These binaries will stay unchanged (for easier debugging and problem analysis, if needed). They include the currently released versions of the required libraries/components: libserialport 0.1.1, libsigrok 0.5.1, libsigrokdecode 0.5.2, sigrok-firmware-fx2lafw 0.1.6.

This is a minor release with small additions (e.g. --protocol-decoder-samplenum), documentation fixes, performance improvements, random bugfixes, and a few other improvements.

See the NEWS file for a much more detailed list of changes, or browse the git history for even more details.

 

libsigrok 0.5.1 released!

We're happy to announce the release of libsigrok 0.5.1. Tarballs are available from the Downloads page, as usual.

This is a "minor" release that doesn't change or remove any existing public API functions, so all existing clients will continue to work (without even the need to recompile).

The following hardware is now (additionally) supported:

  • Logic analyzers: DreamSourceLab DSLogic Basic/Plus, Hantek 4032L, IPDBG (ipdbg.org FPGA IP debugger), Meilhaus Logian-16L, Saleae Logic Pro 16, ZEROPLUS Logic Cube LAP-C (16128+) / LAP-16032U
  • Oscilloscopes: Agilent MSO7034A, Hantek DSO-2250, Rigol DS4000 series, Siglent SDS1000/SDS2000 series
  • Programmable power supplies: GW Instek GPD series, HP 6631B/66332A/6633B/6634B, Korad KD3005P, RDTech DPS/DPH series, Rigol DP711/DP712, RND KA3005P, Tenma 72-2540
  • Electronic loads: ZKETECH EBD-USB
  • Multimeters: EEVblog 121GW, Fluke 45, HP 3478A, MASTECH MS8250D, Metex M-3860M, PeakTech 4390A, SparkFun 70C, Victor DMMs with Mini-USB connector, Voltcraft VC-96

Pretty much every existing hardware driver has also received numerous fixes and improvements.

There have also been quite a few bugfixes, documentation fixes, portability fixes, build system improvements, performance improvements, and so on.

There are some new API calls now, you can read up all the details in the API docs.

See the NEWS file for a much more detailed list of changes, or browse the git history for even more details.
 

libsigrokdecode 0.5.2 released!

We're happy to announce the release of libsigrokdecode 0.5.2. Tarballs are available from the Downloads page, as usual.

This is a "minor" release that doesn't change or remove any existing public API functions, so all existing clients will continue to work (without even the need to recompile).

The following new protocol decoders are now available:

  • mcs48: Intel MCS-48 external memory access protocol
  • st7735: Sitronix ST7735 TFT controller protocol
  • atsha204a: Microchip ATSHA204A CryptoAuthentication device
  • cfp: 100 Gigabit C form-factor pluggable (CFP) protocol
  • jtag_ejtag: MIPS EJTAG protocol
  • swim: STM8 Single Wire Interface Module (SWIM) protocol
  • cec: HDMI Consumer Electronics Control (CEC) protocol
  • miller: Miller encoding protocol
  • ook: On-off keying protocol
  • ook_oregon: Oregon Scientific weather sensor protocol
  • ook_vis: OOK visualisation in various formats

In total, we now support 93 different protocol decoders. If you're working on additional PDs, please send patches our way!

See the NEWS file for a much more detailed list of changes, or browse the git history for even more details.

New protocol decoder: sda2506

lisigrokdecode has recently gained support for yet another protocol decoder: sda2506.

This PD decodes the Siemens SDA 2506-5 serial nonvolatile 1-Kbit EEPROM protocol.

This is a non-standard EEPROM (i.e., not one of the common I²C based 24xx series EEPROMs).

As usual there are a few example files in the sigrok-dumps repo and some test-cases in sigrok-test.

The decoder was contributed by Max Weller, thanks a lot!

 

Hantek 4032L support

libsigrok now supports the Hantek 4032L logic analyzer hardware.

This is a USB-based, 32-channel logic analyzer with a samplerate of up to 400MHz (150MHz bandwidth according to vendor), with 2Gbit internal memory (DDR2 RAM, 64Msamples x 32).

It supports configuring two different voltage threshold ranges for the two sets of channels (A0-A15, B0-B15), between -6V and 6V.

It also supports an external clock mode.

Teardown photos of the device are available in the sigrok wiki, as usual.

The driver was contributed by Andreas Zschunke, with various fixes and improvements by Andrej Valek, thanks a lot!

 

 

Intronix Logicport LA1034 input file format support

libsigrok now supports a new input format, the native file format used by the Intronix Logicport LA1034 logic analyzer.

These "LogicPort File" (*.lpf) files are created by the Intronix LogicPort Windows-only vendor software and you can now import them into sigrok frontends, e.g. sigrok-cli or PulseView:

  $ sigrok-cli -i foo.lpf -I logicport [...]

The code was contributed by Gerhard Sittig, thanks a lot!

 

New protocol decoder: ac97

Another recent addition to libsigrokdecode is a the AC'97 protocol decoder.

This one decodes the Intel Audio Codec '97 (AC'97) audio codec standard.

As usual there's a few sample files in sigrok-dumps and test-cases in the sigrok-test repository.

The protocol decoder was contributed by Gerhard Sittig, thanks a lot!

 

MASTECH MS8250D support

libsigrok now supports the MASTECH MS8250D multimeter.

This is a USB-based, 6600 counts digital multimeter. It's connected to the PC via a Silicon Labs CP2102 USB to serial converter.

It uses an 18-byte custom protocol, the actual measurement values basically represent the 7-segment display(s), with some additional boolean flags in the remaining bytes.

The libsigrok driver for this DMM uses the common serial-dmm infrastructure, hooking up a newly written parser for the MS8250D protocol.

This driver has been contributed by Stefan Mandl, thanks a lot!

libsigrokdecode 0.5.1 released!

We're happy to announce the release of libsigrokdecode 0.5.1. Tarballs are available from the Downloads page, as usual.

This is a "minor" release that doesn't change or remove any existing public API functions, so all existing clients will continue to work (without even the need to recompile).

The following new protocol decoders are now available:

  • ac97: Audio and modem control for PC systems
  • ds243x: Maxim DS243x series 1-Wire EEPROM protocol
  • maple_bus: Maple bus peripheral protocol for SEGA Dreamcast
  • morse: Demodulated morse code protocol
  • graycode: Accumulate rotary encoder increments, timing statistics
  • counter: Count number of edges
  • sda2506: Serial nonvolatile 1-Kbit EEPROM
  • rc_encode: PT2262/HX2262/SC5262 remote control encoder protocol

In total, we now support 85 different protocol decoders. If you're working on additional PDs, please send patches our way!

One of the more important changes to the backend is that the code has been changed to allow for multithreaded usage of the library (i.e., clients such as PulseView can now call libsigrokdecode API functions from different threads without any issues).

All protocol decoders shipped with libsigrokdecode have now been converted to the new PDv3 API that was introduced in libsigrokdecode 0.5.0. This usually means simpler and easier to understand protocol decoders as well as (quite massive, in some cases) performance improvements.

As mentioned in the 0.5.0 release notes, support for the old PD API has now been dropped, as all PDs have been converted to the PDv3 API. If you have any out-of-tree protocol decoders, please consider contributing them to mainline libsigrokdecode to benefit from such updates automatically. If that's not possible or desirable for some reasons, you can usually update your local PDs to the PDv3 API relatively easily (check the wiki page, or any of the 85 already converted PDs, for details).

See the NEWS file for a much more detailed list of changes, or browse the git history for even more details.

Pages

Subscribe to RSS - blogs