Posted
over 10 years
ago
by
Uwe Hermann
libsigrokdecode now supports the spdif decoder.
The Sony/Philips Digital Interface Format (S/PDIF) is a (nowadays standardized in IEC 60958) digital audio protocol that is used in various devices and supported by a number of ICs, such as the TI
... [More]
PCM2707 and many others.
A short description of the protocol is available on the respective wiki page, along with pointers to further reading.
Thanks a lot to Guenther Wenninger for contributing the decoder!
[Less]
|
Posted
over 10 years
ago
by
Uwe Hermann
We're happy to announce even more hardware support in libsigrok. It now supports the Yokogawa DLM2000 series oscilloscopes / mixed-signal scopes.
Thanks a lot to Soeren Apel for writing the code and testing on a Yokogawa DLM2054! We're especially
... [More]
happy about this new driver since it's the first Yokogawa device at all that we now support.
The DLM2000 series features 2 or 4 analog channels, and the 4-channel models can alternatively capture 3 analog channels + 8 digital ones. The scopes sample at 2.5GSa/s and feature a bandwidth of 200MHz-500MHz (depending on the model) and up to 250 Mpoints of memory.
The DLM2000 devices seem to specifically target various industrial uses and include some interesting analysis/reporting features like a "history search" and "replay" function, enhanced trigger facilities, Go / No-Go functions, a power-supply analysis feature, and more.
While the device can do some simple decoding of certain digital protocols such as SPI (apparently those are optional add-ons to buy), you can of course widely broaden the range of protocols by using the sigrok protocol decoders on the PC side.
The devices can be connected to a PC via either USB (USBTMC protocol), Ethernet (LXI), or GPIB. The protocol itself is SCPI-based, have a look at the source code if you're interested in this kind of stuff.
It might be possible to support the DLM4000 series with some minor updates of the driver at some point, probably even others. Patches and testers for that are highly welcome, if you own such a device please let us know!
[Less]
|
Posted
over 10 years
ago
by
Uwe Hermann
We're happy to announce even more hardware support in libsigrok. It now supports the Yokogawa DLM2000 series oscilloscopes / mixed-signal scopes.
Thanks a lot to Soeren Apel for writing the code and testing on a Yokogawa DLM2054! We're especially
... [More]
happy about this new driver since it's the first Yokogawa device at all that we now support.
The DLM2000 series features 2 or 4 analog channels, and the 4-channel models can alternatively capture 3 analog channels + 8 digital ones. The scopes sample at 2.5GSa/s and feature a bandwidth of 200MHz-500MHz (depending on the model) and up to 250 Mpoints of memory.
The DLM2000 devices seem to specifically target various industrial uses and include some interesting analysis/reporting features like a "history search" and "replay" function, enhanced trigger facilities, Go / No-Go functions, a power-supply analysis feature, and more.
While the device can do some simple decoding of certain digital protocols such as SPI (apparently those are optional add-ons to buy), you can of course widely broaden the range of protocols by using the sigrok protocol decoders on the PC side.
The devices can be connected to a PC via either USB (USBTMC protocol), Ethernet (LXI), or GPIB. The protocol itself is SCPI-based, have a look at the source code if you're interested in this kind of stuff.
It might be possible to support the DLM4000 series with some minor updates of the driver at some point, probably even others. Patches and testers for that are highly welcome, if you own such a device please let us know!
[Less]
|
Posted
over 10 years
ago
by
Bert Vermeulen
The venerable Openbench Logic Sniffer has long been a popular logic analyzer: it's cheap, capable and entirely open source. Unfortunately the project was abandoned long ago, so no new features were ever added. The one major problem with the OLS was
... [More]
always its limited available memory: it has no memory chip on the board, using only the small amount of memory available on the FPGA to store samples. Its slow, PIC-based USB interface made it impossible to use a streaming architecture, like the fx2lafw devices.
Enter the Saanlima Pipistrello: an inexpensive but very capable FPGA development board. It has a newer Spartan-6 FPGA, 16MiB flash, 64MiB DRAM and an FTDI-based USB interface. It also comes with lots of ports: HDMI, audio, Micro-SD, PMOD, and 48 GPIO pins in a Papilio Wing configuration. The board is completely open source: schematics and Eagle design files are available under the CC-BY-SA 4.0 license. The board itself sells for $155 at the Saanlima Store.
A buffer wing is also available. This protects the FPGA with 5V-tolerant transceivers. Highly recommended: I destroyed many unbuffered pins on my OLS board long ago.
The original OLS verilog code couldn't use DRAM for storage, so the Saanlima folks adapted it. Proper edge triggers were also added to the FPGA code, something that was cumbersome on the OLS. They also contributed a sigrok driver, which has been merged into libsigrok. Thanks, Magnus!
[Less]
|
Posted
over 10 years
ago
by
Bert Vermeulen
The venerable Openbench Logic Sniffer has long been a popular logic analyzer: it's cheap, capable and entirely open source. Unfortunately the project was abandoned long ago, so no new features were ever added. The one major problem with the OLS was
... [More]
always its limited available memory: it has no memory chip on the board, using only the small amount of memory available on the FPGA to store samples. Its slow, PIC-based USB interface made it impossible to use a streaming architecture, like the fx2lafw devices.
Enter the Saanlima Pipistrello: an inexpensive but very capable FPGA development board. It has a newer Spartan-6 FPGA, 16MiB flash, 64MiB DRAM and an FTDI-based USB interface. It also comes with lots of ports: HDMI, audio, Micro-SD, PMOD, and 48 GPIO pins in a Papilio Wing configuration. The board is completely open source: schematics and Eagle design files are available under the CC-BY-SA 4.0 license. The board itself sells for $155 at the Saanlima Store.
A buffer wing is also available. This protects the FPGA with 5V-tolerant transceivers. Highly recommended: I destroyed many unbuffered pins on my OLS board long ago.
The original OLS verilog code couldn't use DRAM for storage, so the Saanlima folks adapted it. Proper edge triggers were also added to the FPGA code, something that was cumbersome on the OLS. They also contributed a sigrok driver, which has been merged into libsigrok. Thanks, Magnus!
[Less]
|
Posted
over 10 years
ago
by
Uwe Hermann
libsigrokdecode has gained support for a new protocol decoder recently, the nrf24l01 PD.
Thanks a lot to Jens Steinhauser for contributing the decoder, as well as a bunch of test files that we're using for some automated decoder tests (and that you
... [More]
can use to easily try out the decoder as well).
This decoder stacks on top of the SPI PD, decoding some higher-level commands used by the Nordic Semiconductor nRF24L01(+) 2.4GHz RF transceiver ICs.
A short description of the chip and its protocol and pins is available on the respective wiki page, along with pointers to further reading.
[Less]
|
Posted
over 10 years
ago
by
Uwe Hermann
libsigrokdecode has gained support for a new protocol decoder recently, the nrf24l01 PD.
Thanks a lot to Jens Steinhauser for contributing the decoder, as well as a bunch of test files that we're using for some automated decoder tests (and that you
... [More]
can use to easily try out the decoder as well).
This decoder stacks on top of the SPI PD, decoding some higher-level commands used by the Nordic Semiconductor nRF24L01(+) 2.4GHz RF transceiver ICs.
A short description of the chip and its protocol and pins is available on the respective wiki page, along with pointers to further reading.
[Less]
|
Posted
over 10 years
ago
by
Uwe Hermann
libsigrokdecode has gained support for a new protocol decoder recently, the nrf24l01 PD.
Thanks a lot to Jens Steinhauser for contributing the decoder, as well as a bunch of test files that we're using for some automated decoder tests (and that you
... [More]
can use to easily try out the decoder as well).
This decoder stacks on top of the SPI PD, decoding some higher-level commands used by the Nordic Semiconductor nRF24L01(+) 2.4GHz RF transceiver ICs.
A short description of the chip and its protocol and pins is available on the respective wiki page, along with pointers to further reading.
[Less]
|
Posted
over 10 years
ago
by
Uwe Hermann
Hi everyone! We're very happy to be able to announce a major new, coordinated release of:
libserialport 0.1.0
libsigrok 0.3.0
libsigrokdecode 0.3.0
sigrok-cli 0.5.0
pulseview-0.2.0
sigrok-firmware-fx2lafw 0.1.2
There have
... [More]
been a lot of improvements in pretty much all parts of the code, including more supported hardware, more protocol decoders, more features, various bugfixes, better portability, improved GUIs, and lots more. Many thanks to all the contributors who helped to make this happen!
libserialport
Starting with the libsigrok 0.3.0 release, all libsigrok drivers that talk to serial ports are using the cross-platform LGPL3+ libserialport library now (which has its first release, 0.1.0, today). This also helps to improve the Windows support for sigrok.
The library was written by Martin Ling (thanks a lot!) and supports a number of OSes, including Linux, Mac OS X, Windows, and others. Supported features include port enumeration, opening/closing ports, setting port parameters (baud rate, parity, and so on), reading/writing/flushing data, etc. etc. You can take a look at the API docs for more details.
Note: libserialport is completely independent of sigrok, i.e. it can be used by various other open-source projects without any problems, too.
libsigrok
The most interesting libsigrok changes for users will likely be the new hardware support, so here goes:
Logic analyzers: ChronoVu LA16, Sysclk LWLA1034
Oscilloscopes: Agilent DSO1000 series, Hameg HMO compact series, Rigol DS2000 series, Rigol VS5000 series
Multimeters: BBC Goerz Metrawatt M2110, Brymen BM869, Fluke 189, Gossen Metrawatt MetraHIT 1x/2x series, Tenma 72-7745/72-7750 (rebadged UNI-T UT60E/UT60G), UNI-T UT60G/UT61B/UT61C, V&A VA40B, Voltcraft M-3650CR/ME-42
Thermometers: APPA 55II
Programmable power supplies: Atten PPS3000 series, Conrad DIGI 35 CPU
There have also been a number of other (infrastructure) changes and improvements, though:
We added support for channel groups (multiple channels of the device, that share some properties and are configured together).
There's a generic SCPI backend now that drivers can use, supporting various transports: serial ports, USBTMC, TCP/RAW, TCP/Rigol, VXI, and librevisa.
The session file format (*.sr) has changed and its version was bumped to 2.
There's improved Windows support now for serial port and USB based devices, though it's partially still experimental! Please checkout the current list of known Windows issues, since there are some problems e.g. with the popular FX2 based devices (bug #343) and the Openbench Logic Sniffer (bug #205). Feedback, bug reports and patches are highly welcome!
Various API improvements were also done, to allow for some of the new features and to ease future extendability. You can take a look at the API docs for more details.
And of course there was a huge amount of bugfixing, as usual.
See the NEWS file for the full list of changes.
libsigrokdecode
Same deal for libsigrokdecode, most people will probably want to know which new protocol decoders are supported:
guess_bitrate: Guess the bitrate/baudrate of a signal
ir_nec: NEC infrared remote control protocol
ir_rc5: RC-5 infrared remote control protocol
midi: Musical Instrument Digital Interface
parallel: Parallel synchronous bus decoder
rgb_led_spi: RGB LED string decoder (SPI)
xfp: 10 Gigabit Small Form Factor Pluggable Module
z80: Zilog Z80 microprocessor disassembly
The protocol decoder backend has also received a bunch of new features and facilities in this release:
Support for annotation rows (groups of annotation classes to be shown together).
The new OUTPUT_BINARY facility allows PDs to output decoded data in various (file) formats (e.g. I²S output in WAV format, USB output in PCAP format for Wireshark, LCD controller output in PNG format for viewing, and so on).
The new OUTPUT_META facility allows PDs to report certain data points or events to the frontend, which can be used for various post-processing and statistics purposes (e.g. simple counts, average/mean values, min/max values, and more).
The protocol decoder API has changed, the API version is bumped to 2. Decoders using the old PD API no longer work with this library release.
A large amount of PD fixes have been done to improve the usability of all PDs when used with GUIs (long/short annotations for zoom-dependent display, corrected annotation sample numbers, use of annotation rows, and so on).
Various API improvements were also performed to allow for all the new features. You can take a look at the API docs for more details.
And of course all PDs and the library code have received quite a few bugfixes, as usual.
See the NEWS file for the full list of changes.
sigrok-cli
sigrok-cli (a command-line sigrok frontend) now depends on both libsigrok >= 0.3.0 and libsigrokdecode >= 0.3.0 and supports all the new features of the libraries, including channel groups, PD annotation rows, the new *.sr file format, plus the usual bunch of bugfixes.
The following changes have been performed for the command-line options:
The -g | --channel-group option was added.
The -M option (for PD meta output type support) was added.
The -B option (for PD binary output type support) was added.
The -p | --probes option was renamed to to -C | --channels.
There were also a bunch of improvements related to the (experimental) sigrok-cli Windows installer. You can download an (experimental) nightly build here: sigrok-cli-NIGHTLY-installer.exe. Any feedback, bug reports, or patches are highly welcome!
See the NEWS file for the full list of changes.
PulseView
PulseView (a Qt based sigrok GUI for logic analyzers, oscilloscopes and MSOs) has also received quite a huge amount of improvements and new features (thanks a lot to Joel Holdsworth!):
Support for protocol decoding (via libsigrokdecode) has been added, including support for annotation rows, multiple decoders in the same GUI window, support for stacking protocol decoders (e.g. I²C -> RTC8564, UART -> MIDI, or SPI -> SDcard) and lots more.
Support for loading and saving sigrok session (*.sr) files has been added.
Initial support for analog data sources (specifically oscilloscopes, e.g. the Rigol DS1052E) has been added.
The Windows installer has received a bunch of fixes and improvements, too. You can download an (experimental) nightly build here: pulseview-NIGHTLY-installer.exe. Any feedback, bug reports, or patches are highly welcome!
And of course there were quite a number of bugfixes, as usual.
See the NEWS file for the full list of changes.
sigrok-firmware-fx2lafw
This release of sigrok-firmware-fx2lafw, the open-source firmware for FX2-based logic analyzers, is only a minor bugfix release. It basically only fixes one bug which lead to the data pins not being tri-stated after an acquisition, but rather being driven.
See the NEWS file for the full list of changes.
Have fun analyzing your signals!
[Less]
|
Posted
over 10 years
ago
by
Uwe Hermann
Hi everyone! We're very happy to be able to announce a major new, coordinated release of:
libserialport 0.1.0
libsigrok 0.3.0
libsigrokdecode 0.3.0
sigrok-cli 0.5.0
pulseview-0.2.0
sigrok-firmware-fx2lafw 0.1.2
There have
... [More]
been a lot of improvements in pretty much all parts of the code, including more supported hardware, more protocol decoders, more features, various bugfixes, better portability, improved GUIs, and lots more. Many thanks to all the contributors who helped to make this happen!
libserialport
Starting with the libsigrok 0.3.0 release, all libsigrok drivers that talk to serial ports are using the cross-platform LGPL3+ libserialport library now (which has its first release, 0.1.0, today). This also helps to improve the Windows support for sigrok.
The library was written by Martin Ling (thanks a lot!) and supports a number of OSes, including Linux, Mac OS X, Windows, and others. Supported features include port enumeration, opening/closing ports, setting port parameters (baud rate, parity, and so on), reading/writing/flushing data, etc. etc. You can take a look at the API docs for more details.
Note: libserialport is completely independent of sigrok, i.e. it can be used by various other open-source projects without any problems, too.
libsigrok
The most interesting libsigrok changes for users will likely be the new hardware support, so here goes:
Logic analyzers: ChronoVu LA16, Sysclk LWLA1034
Oscilloscopes: Agilent DSO1000 series, Hameg HMO compact series, Rigol DS2000 series, Rigol VS5000 series
Multimeters: BBC Goerz Metrawatt M2110, Brymen BM869, Fluke 189, Gossen Metrawatt MetraHIT 1x/2x series, Tenma 72-7745/72-7750 (rebadged UNI-T UT60E/UT60G), UNI-T UT60G/UT61B/UT61C, V&A VA40B, Voltcraft M-3650CR/ME-42
Thermometers: APPA 55II
Programmable power supplies: Atten PPS3000 series, Conrad DIGI 35 CPU
There have also been a number of other (infrastructure) changes and improvements, though:
We added support for channel groups (multiple channels of the device, that share some properties and are configured together).
There's a generic SCPI backend now that drivers can use, supporting various transports: serial ports, USBTMC, TCP/RAW, TCP/Rigol, VXI, and librevisa.
The session file format (*.sr) has changed and its version was bumped to 2.
There's improved Windows support now for serial port and USB based devices, though it's partially still experimental! Please checkout the current list of known Windows issues, since there are some problems e.g. with the popular FX2 based devices (bug #343) and the Openbench Logic Sniffer (bug #205). Feedback, bug reports and patches are highly welcome!
Various API improvements were also done, to allow for some of the new features and to ease future extendability. You can take a look at the API docs for more details.
And of course there was a huge amount of bugfixing, as usual.
See the NEWS file for the full list of changes.
libsigrokdecode
Same deal for libsigrokdecode, most people will probably want to know which new protocol decoders are supported:
guess_bitrate: Guess the bitrate/baudrate of a signal
ir_nec: NEC infrared remote control protocol
ir_rc5: RC-5 infrared remote control protocol
midi: Musical Instrument Digital Interface
parallel: Parallel synchronous bus decoder
rgb_led_spi: RGB LED string decoder (SPI)
xfp: 10 Gigabit Small Form Factor Pluggable Module
z80: Zilog Z80 microprocessor disassembly
The protocol decoder backend has also received a bunch of new features and facilities in this release:
Support for annotation rows (groups of annotation classes to be shown together).
The new OUTPUT_BINARY facility allows PDs to output decoded data in various (file) formats (e.g. I²S output in WAV format, USB output in PCAP format for Wireshark, LCD controller output in PNG format for viewing, and so on).
The new OUTPUT_META facility allows PDs to report certain data points or events to the frontend, which can be used for various post-processing and statistics purposes (e.g. simple counts, average/mean values, min/max values, and more).
The protocol decoder API has changed, the API version is bumped to 2. Decoders using the old PD API no longer work with this library release.
A large amount of PD fixes have been done to improve the usability of all PDs when used with GUIs (long/short annotations for zoom-dependent display, corrected annotation sample numbers, use of annotation rows, and so on).
Various API improvements were also performed to allow for all the new features. You can take a look at the API docs for more details.
And of course all PDs and the library code have received quite a few bugfixes, as usual.
See the NEWS file for the full list of changes.
sigrok-cli
sigrok-cli (a command-line sigrok frontend) now depends on both libsigrok >= 0.3.0 and libsigrokdecode >= 0.3.0 and supports all the new features of the libraries, including channel groups, PD annotation rows, the new *.sr file format, plus the usual bunch of bugfixes.
The following changes have been performed for the command-line options:
The -g | --channel-group option was added.
The -M option (for PD meta output type support) was added.
The -B option (for PD binary output type support) was added.
The -p | --probes option was renamed to to -C | --channels.
There were also a bunch of improvements related to the (experimental) sigrok-cli Windows installer. You can download an (experimental) nightly build here: sigrok-cli-NIGHTLY-installer.exe. Any feedback, bug reports, or patches are highly welcome!
See the NEWS file for the full list of changes.
PulseView
PulseView (a Qt based sigrok GUI for logic analyzers, oscilloscopes and MSOs) has also received quite a huge amount of improvements and new features (thanks a lot to Joel Holdsworth!):
Support for protocol decoding (via libsigrokdecode) has been added, including support for annotation rows, multiple decoders in the same GUI window, support for stacking protocol decoders (e.g. I²C -> RTC8564, UART -> MIDI, or SPI -> SDcard) and lots more.
Support for loading and saving sigrok session (*.sr) files has been added.
Initial support for analog data sources (specifically oscilloscopes, e.g. the Rigol DS1052E) has been added.
The Windows installer has received a bunch of fixes and improvements, too. You can download an (experimental) nightly build here: pulseview-NIGHTLY-installer.exe. Any feedback, bug reports, or patches are highly welcome!
And of course there were quite a number of bugfixes, as usual.
See the NEWS file for the full list of changes.
sigrok-firmware-fx2lafw
This release of sigrok-firmware-fx2lafw, the open-source firmware for FX2-based logic analyzers, is only a minor bugfix release. It basically only fixes one bug which lead to the data pins not being tri-stated after an acquisition, but rather being driven.
See the NEWS file for the full list of changes.
Have fun analyzing your signals!
[Less]
|