Posted
over 7 years
ago
by
Uwe Hermann
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
... [More]
, 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!
[Less]
|
Posted
over 7 years
ago
by
Uwe Hermann
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
... [More]
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!
[Less]
|
Posted
over 7 years
ago
by
Uwe Hermann
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
... [More]
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!
[Less]
|
Posted
over 7 years
ago
by
Uwe Hermann
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
... [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!
[Less]
|
Posted
over 7 years
ago
by
Uwe Hermann
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
... [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!
[Less]
|
Posted
over 7 years
ago
by
Uwe Hermann
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)
... [More]
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.
[Less]
|
Posted
over 7 years
ago
by
Uwe Hermann
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)
... [More]
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.
[Less]
|
Posted
almost 8 years
ago
by
Uwe Hermann
libsigrokdecode now supports yet another protocol decoder: dsi.
This decodes the Digital Serial Interface (DSI) lighting control protocol.
As usual, there are some example files in sigrok-dumps and some test-cases in sigrok-test.
The decoder was contributed by Jeremy Swanson, thanks a lot!
|
Posted
almost 8 years
ago
by
Uwe Hermann
libsigrokdecode now supports yet another protocol decoder: dsi.
This decodes the Digital Serial Interface (DSI) lighting control protocol.
As usual, there are some example files in sigrok-dumps and some test-cases in sigrok-test.
The decoder was contributed by Jeremy Swanson, thanks a lot!
|
Posted
almost 8 years
ago
by
Uwe Hermann
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
... [More]
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!
[Less]
|