Quantcast
Channel: The ever-expanding world of sigrok
Viewing all 222 articles
Browse latest View live

New protocol decoder: wiegand

$
0
0

libsigrokdecode recently gained support for yet another protocol decoder: wiegand.

This PD supports the Wiegand interface protocol, often used in electronic entry systems, card swipe systems, some RFID systems and such.

As usual, we have a bunch of example files in the sigrok-dumps repository, and a few test-cases in the sigrok-test repo.

The decoder was contributed by Sean Burford, thanks a lot!

 


New protocol decoder: ssi32

$
0
0

libsigrokdecode now supports another new protocol decoder: ssi32.

This PD decodes the SSI32 protocol, which is based on SPI (hence the decoder stacks on top of the SPI PD).

As usual, we have a bunch of example files in the sigrok-dumps repository, and a few test-cases in the sigrok-test repo.

The decoder and the example files were contributed by Oleksij Rempel, thanks a lot!

 

sigrok-firmware-fx2lafw 0.1.4 released!

$
0
0

We're happy to announce the sigrok-firmware-fx2lafw 0.1.4 release. This is an open-source firmware that allows you to use almost any of the popular Cypress FX2 based devices as logic analyzers.

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

This release adds support for the CWAV USBee ZX logic analyzer as well as a new set of devices:

These devices all use one of the "official" sigrok/fx2lafw USB VID/PID pairs:

  • 1D50:608E: fx2lafw-hantek-6022be.fw, fx2lafw-sainsmart-dds120.fw

This new VID/PID pair is used by the Hantek 6022BE (plus devices very similar to that, such as the SainSmart DDS120 and Rocktech BM102). It was allocated for sigrok/fx2lafw via the awesome "Open registry for community / homebrew USB Product IDs" service of the Openmoko project.

The firmware implementation for these devices is different from the "usual" firmware for FX2-based logic analyzers. It was originally written by Jochen Hoenicke (thanks a lot!) for another project and was included into sigrok-firmware-fx2lafw mostly for convenience reasons; see the sigrok-firmware-fx2lafw README for details.

Finally, this release also adds initial support for analog channels on FX2-based logic analyzers, such as the CWAV USBee AX (and various clones).

The NEWS file contains some more details.

The new firmware files require the soon-to-be-released libsigrok>= 0.4.1 (or current git HEAD). The Windows sigrok-cli installer and PulseView installer (nightly builds) we provide already include these firmware files and a libsigrok version that is new enough.

 

New protocol decoder: ps2

$
0
0

libsigrokdecode now supports another new protocol decoder: ps2.

This PD decodes the PS/2 (low-level) protocol for keyboards, mice, and some other PS/2-attached devices.

As usual, we have a bunch of example files in the sigrok-dumps repository, and a few test-cases in the sigrok-test repo.

The decoder was contributed by Daniel Schulte, thanks a lot!

 

PeakTech 3330 support

$
0
0

libsigrok now supports yet another multimeter: this time it's the PeakTech 3330.

This is a 4000 counts, CAT III (1000V) — at least in theory — multimeter with RS232 and USB connectivity and some neat features not seen in most other DMMs of this price-range.

It uses the common Fortune FS9721 chip which is already supported by the serial-dmm driver in libsigrok, so adding support for the DMM was pretty straight-forward.

As usual we also have a bunch of teardown photos and some more hardware info in the wiki if you're interested.

This DMM was added and tested by Gerhard Sittig, thanks a lot!

New protocol decoder: gpib

$
0
0

Another protocol decoder was recently added to libsigrokdecode: GPIB.

This PD decodes the General Purpose Interface Bus (GPIB, previously also HPIB) protocol, a.k.a. IEEE-488.

This protocol is often used in all kinds of test & measurement equipment, ranging from bench multimeters to power supplies, oscilloscopes and lots more.

We have a few example files in the sigrok-dumps repo, and some test-cases in sigrok-test, as usual.

The decoder was contributed by Rudolf Reuter, thanks a lot!

 

PeakTech 2170 support

$
0
0

Another new device was recently added to the list of libsigrok-supported hardware: PeakTech 2170.

This is a 20000 counts handheld LCR meter with USB connectivity.

It's using a standard Prolific PL2303 IC for communication with the host, and the Cyrustek ES51919/ES51920 chipset for the actual measurements.

You can find the usual set of teardown photos over in the sigrok wiki.

The device support was added to the existing (now more generic) driver for ES51919-based devices by Gerhard Sittig, thanks a lot!

 

libsigrokdecode 0.4.1 released!

$
0
0

We're happy to announce that libsigrokdecode 0.4.1 has been released.

You can download the libsigrokdecode-0.4.1.tar.gz source tarball from sigrok.org/download as usual.

This is mostly a bugfix-release, the C library API was not changed. This means existing frontends that work with / are linked against libsigrokdecode 0.4.0 will continue to work just fine, without requiring relinking or recompiling.

However, some of the protocol decoders' output changed in ways which are not compatible with the state of the decoders in the last libsigrokdecode release. This means, if you're using any scripts to parse decoder output, or if you have any "private" protocol decoders that stack on top of one of those shipped with libsigrokdecode, you will have to do some adaptations. You're also encouraged to submit such decoders to be included in libsigrokdecode proper, of course!

In addition to all kinds of improvements and bugfixes in existing protocol decoders (PDs), you're probably most interested in what new protocol decoders are now supported (backported from git HEAD). So here's the list:

  • aud: Renesas/Hitachi Advanced User Debugger (AUD) protocol
  • avr_pdi: Atmel proprietary interface for the ATxmega MCU
  • dmx512: Professional lighting control protocol
  • em4305: EM4205/EM4305 100-150kHz RFID protocol
  • gpib: IEEE-488 GPIB / HPIB protocol
  • ps2: PS/2 keyboard/mouse interface
  • rgb_led_ws281x: RGB LED string protocol (WS281x)
  • ssi32: Synchronous Serial Interface (32bit) protocol
  • t55xx: T55xx 100-150kHz RFID protocol
  • wiegand: Wiegand interface for electronic entry systems

This adds up to currently 70 supported PDs in total.

Please check the libsigrokdecode NEWS file for the full list of user-visible changes in this release. As always, we're happy about bug reports, feature suggestions, comments about which protocol decoders you'd want supported next, or even better — patches :)

Happy decoding!


Hantek 6022BL support

$
0
0

libsigrok now supports the Hantek 6022BL device.

This is a 2-channel USB oscilloscope (48MHz sampling rate, 20MHz analog bandwidth as per vendor); it can also be used as a 24MHz logic analyzer alternatively (but not both at the same time).

We use our open-source sigrok-firmware-fx2lafw firmware for the device, which has been extended to also support the Hantek 6022BL (it supported the Hantek 6022BE already since 0.1.4).

With some additional changes in libsigrok, the Hantek 6022BL is now officially supported.

The respective code was contributed by Sebastian Tabares Amaya and Jan Losinski, thanks a lot!

For the curious, we have the usual set of teardown photos and hardware info in the wiki.

 

New protocol decoder: iec

New protocol decoder: adf435x

$
0
0

libsigrokdecode now features yet another protocol decoder. This time: adf435x.

This decoders supports the SPI-based protocol of the Analog Devices ADF4350 and ADF4351 RF synthesizers.

The decoder was contributed by Joel Holdsworth, thanks a lot!

You can watch episode 005 ("4.4GHz RF Synthesizer Board - ADF4351 - Theory, Setup, Reverse Engineering, Experiments") on Joel's OpenTechLab YouTube channel for a lot more details about the ADF435x devices and how they can be used, as well as how sigrok can help with making chip-specific protocols like this one easier to understand and debug.

LeCroy X-Stream oscilloscope support

$
0
0

libsigrok now supports the LeCroy X-Stream series of oscilloscopes (and possibly others).

This includes models from the WaveAce, WaveJet, WaveSurfer, and WaveRunner series in theory; some models may also be manufactured/rebranded by Atten, Iwatsu, or Siglent.

All these devices seem to use a common SCPI protocol and LeCroy's common waveform template format, so they should all work in theory.

Testing and/or patches fixing implementation details to support more models are highly welcome!

The code was contributed by Sven Schnelle, thanks a lot!

 

New protocol decoder: dali

Rohde&Schwarz HMC 8043 support

$
0
0

libsigrok now supports the Rohde&Schwarz (previously Hameg) HMC 8043 programmable power-supply.

This is a 3-channel power-supply with USBTMC and LXI connectivity.

The protocol is SCPI-based, so the patch for libsigrok was relatively straight-forward, extending the existing scpi-pps driver.

Other, similar SCPI-based power-supplies could be added with relatively little work as well. Patches are always welcome!

The code was contributed and tested by Marc Schink, thanks a lot!

 

New protocol decoder: dsi


New protocol decoder: microwire

$
0
0

Yup, it's time for a new protocol decoder again. libsigrokdecode supports the microwire decoder since a few days.

Microwire is a "serial interface" (like so many others) that was specified by National Semiconductor (now TI) in 1992. The spec (PDF) is publically available.

It's often used in serial EEPROMs such as the 93LC56, 93C66 and various others from many different vendors.

As usual, there are some example files in sigrok-dumps and some test-cases in sigrok-test.

The protocol decoder was contributed by Kevin Redon, thanks a lot!

A higher-level decoder which stacks on top of this one and decodes the 93Cxx EEPROM-specific commands is available as well, more on that later.

New protocol decoder: ade77xx

$
0
0

libsigrokdecode now supports the ade77xx protocol decoder.

The Analog Devices ADE77xx chips are SPI-based "Poly Phase Multifunction Energy Metering IC with Per Phase Information".

The PD currently decodes register names and values only, more in-depth bit-level decoding can be added later, though.

As usual, there are some example files in sigrok-dumps, test-cases for sigrok-test are pending.

The protocol decoder was contributed by Karl Palsson, thanks a lot!

Major sigrok releases: libsigrok, libsigrokdecode, fx2lafw, sigrok-cli, PulseView

$
0
0

We're happy to announce a set of major new releases of the following sigrok projects: libsigrok 0.5.0, libsigrokdecode 0.5.0, sigrok-firmware-fx2lafw 0.1.5, sigrok-cli 0.7.0, and PulseView 0.4.0.

The tarballs are available for download from sigrok.org/download, as usual.

A lot of work has gone into each of those releases, with many new supported devices, many more protocol decoders, various new GUI features, and lots more. See below for details.

libsigrok

Let's start with the most interesting part for most people, newly supported devices in this release:

  • Logic analyzers: CWAV USBee ZX, DreamSourceLab DSLogic and DSLogic Pro, FTDI LA (simple, limited logic analyzer using FTDI chips directly)
  • Oscilloscopes: Hameg HMO3524, Hantek 6022BE, LeCroy X-Stream series, Rigol DS1074Z Plus, Rigol DS1104Z Plus, Rigol MSO2000A series, Rocktech BM102, Rohde&Schwarz HMO 1002, Sainsmart DDS120
  • Logic analyzers / oscilloscopes (but not MSOs): Hantek 6022BL
  • Programmable power supplies: Agilent N5763A, HP 6633A, Rohde&Schwarz HMC8043
  • Electronic loads: Arachnid Labs Re:load Pro
  • Multimeters: Agilent U1241C/U1242C, Fluke 289, HP 3457A, Keysight U1281/U1282, Metrix MX56C, PeakTech 3330
  • Sound level meters: PCE PCE-322A
  • LCR meters: PeakTech 2170
  • Signal generators: Rohde&Schwarz SME0x series

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

The sigrok session file format can now store analog channel data in addition to logic data. It now also has an official IANA-assigned MIME-type associated: application/vnd.sigrok.session.

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

The API has changed since the last major release, 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

Let's start with the newly supported protocol decoders as well:

  • ade77xx: Poly phase multifunction energy metering IC protocol
  • adf435x: Wideband synthesizer with integrated VCO
  • aud: Renesas/Hitachi Advanced User Debugger (AUD) protocol
  • avr_pdi: Atmel proprietary interface for the ATxmega MCU
  • dali: DALI lighting control protocol
  • dsi: DSI lighting control protocol
  • dmx512: Professional lighting control protocol
  • eeprom93xx: 93xx series Microwire EEPROM protocol
  • em4305: EM4205/EM4305 100-150kHz RFID protocol
  • gpib: IEEE-488 GPIB / HPIB protocol
  • iec: Commodore serial IEEE-488 (IEC) bus protocol
  • microwire: 3-wire, half-duplex, synchronous serial bus
  • ps2: PS/2 keyboard/mouse interface
  • rgb_led_ws281x: RGB LED string protocol (WS281x)
  • ssi32: Synchronous Serial Interface (32bit) protocol
  • t55xx: T55xx 100-150kHz RFID protocol
  • wiegand: Wiegand interface for electronic entry systems

And with that, we now support a total of 77 different protocol decoders. There are some more in the pipeline for the next releases, and we get contributed decoders on a pretty regular basis these days, which is awesome! If you're working on additional PDs, please send patches our way!

This release also adds support for the new query-based PD v3 decoder API.

  • Decoders using PD v3 API can benefit from both readability improvements as well as performance improvements. Up to 10x speedup has been measured in some situations (depends a lot on the decoder, the amount of data, the amount of edges in the signals, and the amount of oversampling).
  • The majority of all decoders have been converted to PD API v3.
  • For the time being, both APIs (2 and 3) will remain supported until all decoders have been converted to API version 3. Then, support for API version 2 will be dropped.

There is now support for specifying the (assumed) initial pin states before the first sample that is being decoded. This can be set to 0/low, 1/high, or to "use the same value as in the first sample". This is very useful for some setups where decoders need to wait for edges.

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

sigrok-firmware-fx2lafw

This release adds open-source FX2 firmware for the Hantek 6022BL USB scope/LA (similar, but not quite compatible to the already-supported Hantek 6022BE).

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

sigrok-cli

The sigrok-cli command-line utility has seen a few improvements and bugfixes as well. 

The new -L|--list-supported option shows the supported drivers, modules, and decoders (this was previously listed as part of the -V|--version output).

There's now support for running multiple decoder stacks on the capture at the same time by specifying multiple -P|--protocol-decoders options; the old -S option is no longer needed and has been removed.

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

PulseView

The PulseView GUI has seen a pretty large set of improvements as well.

There's a facility to add multiple sessions and views in PulseView now:

  • Sessions represent individual files/device instances. Each session is represented as a tab in PulseView.
  • Views are different data representations of one specific session. For example, different views of a session can have different zoom levels, can be scrolled to different positions, etc. Each view is a dock window within the respective session's tab.
  • The view docks can be repositioned, resized and extracted out into their own individual windows.
  • Sessions and views are partially saved and restored when PulseView exits/starts. Not all information is restored yet, though (e.g. decoders).

Various new or improved features have been added:

  • Support for saving analog data to .sr files.
  • Support for showing the sampling points in traces.
  • Various UI and usability improvements.
  • Various improvements for analog traces and their presentation.
  • There's a global settings menu now with config options for various PulseView behaviours.

There have also been a large number of other random new features, bugfixes, documentation fixes, portability fixes, build system 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.

The future

As you can imagine there's basically no end to our TODO list for sigrok; as always we want to support more hardware, more input/output modules, more protocol decoders, and so on. Your contributions are highly welcome!

There are also a bunch of regressions and/or known bugs and missing features we'll be working on for the next minor bugfix release. If you notice any issues that haven't been reported yet, please file a bug.

Thanks a lot to everyone who has contributed to any of the sigrok projects to make these releases happen! This wouldn't have been possible without the help of the numerous contributors!

 

New protocol decoder: eeprom93xx

$
0
0

libsigrokdecode supports another protocol decoder since a little while ago, eeprom93xx.

This is a PD that stacks on top of the previously announced microwire decoder, and provides higher-level 93xx Microwire EEPROM specific decoded data.

As usual, there are some example files in sigrok-dumps and some test-cases in sigrok-test.

The protocol decoder was contributed by Kevin Redon, thanks a lot!

PeakTech 4390A support

$
0
0

It's been a while since support for a new DMM was added in libsigrok. As of yesterday we now also support the PeakTech 4390A multimeter.

This is a rebranded Metex M-3860M (even says so on the device itself, in addition to the PeakTech 4390A rebrand).

It uses the "usual" Metex 14-byte ASCII-based protocol, so adding support for it was simply a matter of adding the respective metadataentries for it in the existing serial-dmm driver.

The initial patch was contributed by Frank Stettner, thanks a lot!

 

Viewing all 222 articles
Browse latest View live


<script src="https://jsc.adskeeper.com/r/s/rssing.com.1596347.js" async> </script>