Error message

  • Warning: count(): Parameter must be an array or an object that implements Countable in theme_table() (line 1998 of /data/sigrok.org/apache/blog/includes/theme.inc).
  • Warning: count(): Parameter must be an array or an object that implements Countable in theme_table() (line 2061 of /data/sigrok.org/apache/blog/includes/theme.inc).
  • Deprecated function: implode(): Passing glue string after array is deprecated. Swap the parameters in drupal_get_feeds() (line 394 of /data/sigrok.org/apache/blog/includes/common.inc).

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.