PulseView features you might have missed

Users of the nightly PulseView builds may have noticed a while ago but we haven't publicly documented it up until now: decode traces now have a context menu that you can access by right-clicking on a decoder trace.

The most prominent feature here is to export annotations to a text file and this is what I want to highlight in this post. With this feature, you can export annotations and post-process them, allowing you to use the data in whatever way you need. Aside from the obvious choices presented to you by the context menu, you can customize the output in the settings dialog using a format string:

The default format string probably contains more than you need, so feel free to adjust it to your liking. For example, the string "%s %d: %1" will generate the following output for the example above: "253-471 DS1307: Read date/time: Sunday, 10.03.2013 23:35:30"
 

Unannounced until now as well was the new protocol decoder selection subwindow. Clicking on the "Add Decoder" button or simply pressing its hotkey 'd' will now get you this:

From there, you can either start typing away to apply a filter or browse through the available protocol decoders. Do note that in contrast to the previous menu that you were shown, you now see all protocol decoders - both stacked and unstacked. If you choose to add a stacked one, PulseView will try to figure out which stacked decoder you need. In case it's ambiguous, it'll ask you which one you want to use.

In case you already know what you want, you can simply press 'd', type the name of the protocol decoder, press enter and when followed up by the escape key, the selection subwindow will close again. Then, you'll have added the decoder of your choice without having to click even once.


We hope you find these features useful and as always: if there's something you find amiss or that doesn't work the way you expect, please file a bug in the bug tracker so we can talk about it: https://sigrok.org/bugzilla.
 

libsigrok 0.5.2 released!

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

This is a "minor" release that doesn't add, change or remove any 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: Microchip PICkit2, Sysclk SLA5032
  • Multimeters: Agilent 34405A, Agilent U127x, HP 34401A, Keysight 34465A, MASTECH MS2115B, Mooshimeter
  • Programmable power supplies: BK Precision 9130, HP 661xC, HP 66312A, HP 663xA, Korad KA3005P/KD6005P, Manson HCS-330x, RND 320-KD3005P, Stamos S-LS-31, TENMA 72-2535 V2.1, Voltcraft DPPS-32-15
  • Oscilloscopes: Agilent DSO1000B series, Hameg HMO3522, Rigol MSO5000 series, R&S HMO1000/RTA4000/RTB2000/RTC1000/RTM3000 series, YiXingDianZi MDSO
  • LCR meters: MASTECH MS5308, PeakTech 2165, UNI-T UT612, Voltcraft 4080
  • Thermometers: MASTECH MS6514

Various existing hardware drivers have also received numerous fixes and improvements.

This release also includes improved (and portable) USB HID support via HIDAPI, and Bluetooth/BLE support (currently Linux-only via BlueZ).

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

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

MASTECH MS6514 support

libsigrok now supports the MASTECH MS6514 digital thermometer.

This is a device with two thermocouple inputs and USB connectivity (SiLabs CP2102 based). It supports K,J,T,E,R,S,N thermocouple types.

A teardown and the protocol description are available on the device's wiki page, if you're interested.

The driver was contributed by Dave Buechi, thanks a lot!

Bluetooth and BLE support in libsigrok

libsigrok recently gained support for Bluetooth Classic and BLE based devices.

The libsigrok code contains a generic API that individual drivers can use, as well as OS-specific backend implementations of that API.

Currently only a Linux backend (based on BlueZ) has been implemented, but we're happy about patches to implement backends for other OSes.

So far the following Bluetooth/BLE devices are supported:

  • EEVBlog 121GW (based on Silicon Labs BLE112), contributed by Gerhard Sittig, thanks!
  • Mooshim Engineering Mooshimeter (based on TI CC2540), contributed by Derek Hageman, thanks!
  • Some multimeters with certain Bluetooth Classic based interfaces


More devices can be added later, of course. As always, contributions are welcome!

The Bluetooth/BLE support code was contributed by Gerhard Sittig, thanks a lot!
 

libsigrokdecode 0.5.3 released!

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

This is a "minor" release that doesn't add, 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:

  • lin: Local Interconnect Network (LIN) protocol
  • x2444m: Xicor X2444M/P nonvolatile static RAM protocol
  • ds2408: 1-Wire 8-channel addressable switch
  • cc1101: Low-power sub-1GHz RF transceiver chip
  • enc28j60: Microchip ENC28J60 10Base-T Ethernet controller protocol
  • pca9571: NXP PCA9571 8-bit I²C output expander
  • seven_segment: 7-segment display protocol
  • amulet_ascii: Amulet Technologies LCD controller ASCII protocol
  • tdm_audio: TDM multi-channel audio protocol
  • signature: Annotate signature of logic patterns
  • nes_gamepad: NES gamepad button states
  • flexray: Automotive network communications protocol
  • ir_rc6: RC-6 infrared remote control protocol
  • ieee488: IEEE-488 General Purpose Interface Bus (GPIB/HPIB or IEC)
  • hdcp: HDCP protocol over HDMI

In total, we now support 109 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: hdcp

libsigrokdecode now supports yet another protocol decoder: hdcp.

This one stacks on top of the i2c decoder and decodes the High-bandwidth Digital Content Protection (HDCP) protocol mapped to HDMI.

Some example traces are available in the sigrok-dumps repo and some test-cases in the sigrok-test repo, as usual.

The decoder was contributed by Dave Craig, thanks a lot!

New protocol decoder: seven_segment

libsigrokdecode now supports yet another protocol decoder: seven_segment.

This one decodes the seven-segment display digits/character.

Some example traces are available in the sigrok-dumps repo and some test-cases in the sigrok-test repo, as usual.

The decoder was contributed by Benedikt Otto, thanks a lot!
 

sigrok-firmware-fx2lafw 0.1.7 released!

YiXingDianZi MDSO

We're happy to announce the sigrok-firmware-fx2lafw 0.1.7 release. This is an open-source firmware that allows you to use almost any of the popular Cypress FX2 based devices as logic analyzers. It also supports a number of FX2 based USB oscilloscopes/MSOs like the Hantek 6022BE/BL or the Sainsmart DDS120.

The source code and pre-built firmware files are available from the usual place:

This release adds support for the YiXingDianZi MDSO device, as well as experimental support for FX2-based logic analyzer devices to sample at 48 MHz (for usually only a very short amount of time, heavily depends on USB bus conditions).

It also fixes a few bugs for the Hantek 6022BE and Sainsmart DDS120 oscilloscope devices, and some sdcc related issues.

The NEWS file contains some more details.

sigrok AppImage updates

As you probably know, we've been providing pre-built Linux binaries for PulseView and sigrok-cli in the form of AppImages for a while now. Those can be useful/convenient if you want to test sigrok without having to build from source, and/or if the packages of your favorite Linux distro are out of date.

You can simply download a single *.AppImage file, make it executable via "chmod+x" and run it (see the wiki for details).

As of today, the AppImages we provide are now being built on Ubuntu 16.04 LTS Xenial Xerus (originally released 2016) instead of the previously used Ubuntu 14.04 LTS Trusty Tahr (originally released 2014, Canonical support ended 04/2019).

This has been done since we're now using a more recent version of Qt for PulseView (that is not easily available in the older Ubuntu version), and also to get more recent versions of various other libraries we use in general.

This change shouldn't affect too many people, the new AppImages should work fine on pretty much any modern Linux distro which is somewhat newer than Ubuntu 16.04 LTS Xenial Xerus from 2016.

Sysclk SLA5032 support

libsigrok now supports the Sysclk SLA5032 logic analyzer.

This is a 32-channel logic analyzer with up to 500MHz sampling rate. It can be switched into one of three different modes (the current mode is indicated by a green LED on the respective mode text):

  • 32CH 500M: 500MHz sampling rate, 32 channels, max. 64Mbits storage per channel, support for hardware triggers (sysclk-sla5032 driver).
  • Saleae 100M: The device enumerates as a Saleae Logic16, streaming possible like with the Logic16, only software triggers (saleae-logic16 driver).
  • Saleae 500M: Similar to the above, but the max. sampling rate is actually 500MHz.

The device uses a Xilinx Spartan FPGA, DDR2 RAM, 2 SPI flashes, 2 I²C EEPROMs, a Cypress FX2, an Atmel ATmega8A microcontroller and a bunch of other components internally, full details in the wiki.

The libsigrok driver was contributed by Vitaliy Vorobyov, thanks a lot!

Pages

Subscribe to The ever-expanding world of sigrok RSS