Quantcast
Channel: Uwe Hermann's blog
Viewing all 200 articles
Browse latest View live

fx2lafw 0.1.0 released!

$
0
0

We're happy to announce the initial release of the open-source fx2lafw firmware for FX2-based logic analyzers.

See the "About fx2lafw" blog post for more information about the fx2lafw subproject.

This firmware must be used with libsigrok>= 0.1.1. Previous versions of libsigrok did not yet have support for fx2lafw.

The code was tested to build fine on Linux, Windows (using MinGW), and FreeBSD, using both sdcc 2.9.x and the newer sdcc 3.x.y (which contains various API changes that need to be handled properly in fx2lafw).

You can get the firmware source code tarball from SourceForge. Alternatively, you can also download pre-built firmware files, if you don't want to build them from the source code yourself.

This firmware package should hopefully also be available in your favorite distribution soon, a Debian package is already in the works (which will usually be automatically installed when you do "apt-get install sigrok" or even just "apt-get install libsigrok0").

This release supports 8-bit and 16-bit digital sampling (i.e., logic analyzer usage) on the Saleae Logic, CWAV USBee SX, Braintechnology USB-LPS, and many, many other devices. Support for analog signal acquisition (on those devices which have hardware support for that) is in the works, but not yet available in this release.

See the fx2lafw wiki page for the full list of currently supported and/or tested devices — and some devices we assume would work, but which have not yet been tested; test reports are always welcome!).

 


git repositories moved

$
0
0

Just a quick public service announcement: we've moved the sigrok related git repositories from SourceForge to sigrok.org (for various reasons).

While we were at it we also did the long-overdue "repo split". Every sigrok-related subproject (libsigrok, libsigrokdecode, sigrok-cli, sigrok-gtk, sigrok-qt, and so on) now has its own git repository, as opposed to all of these unrelated subprojects being mangled into one big repository.

There were also a few smaller renames and git rebase actions on some repos, so please make sure you clone the new repositories from their new locations for any further usage or development. Thanks!

The new clone URLs for the repositories look like this:

 $ git clone git://sigrok.org/libsigrok

(replace "libsigrok" with your desired subproject)

All the repositories also have their own source code browser (and git changelog) at sigrok.org/gitweb now.

Please let us know in case you experience any issues with the new repository setup.

sigrok at 29c3

$
0
0

29c3 logoSame as last year, we will be at the Chaos Communication Congress (29c3), this time in Hamburg, Germany. The conference takes place from December 27th to 30th, 2012.

We'll have a sigrok "assembly", likely in area 3b of the conference building, where we'll be hanging around, working on new sigrok features, new hardware drivers, new protocol decoders and various other things. We'll have lots of gear with us for demo and development purposes, including logic analyzers, oscilloscopes, MSOs, multimeters, and lots more.

Bring your own device if you own models we don't yet support or know about. We'll be happy to have a look!

Chat with us, give us your suggestions which features you'd like to see, which devices you want to be supported, which protocol decoders you'd like to have, or even help us write some drivers/decoders!

Hope to see you there!

 

libsigrokdecode 0.1.1 released!

$
0
0

We're happy to announce the new libsigrokdecode 0.1.1 release!CAN probing

You can download the source tarball from SourceForge, 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.1.0 (e.g. sigrok-cli 0.3.1) 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 sigrok-cli 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. So here's the list:

This adds up to currently 29 supported PDs. The decoders are in various stages of "feature completeness", of course. Additional improvements and more verbose/complete decoding functionality will be added over time.

You can use some example files we've collected in the sigrok-dumps repository to test the protocol decoders. For example, the CAN decoder:

 $ sigrok-cli -i mcp2515dm-bm-1mbits_msg_222_5bytes.sr -a can:can_rx=2
 can: "Start of frame" "SOF" 
 can: "ID: 0 (0x0)" 
 can: "IDE: standard frame" 
 can: "RB0: 0" 
 can: "RTR: data frame" 
 can: "Stuff bit: 1" 
 can: "DLC: 7" 
 can: "Stuff bit: 0" 
 can: "Stuff bit: 1" 
 can: "Stuff bit: 0" 
 can: "Data byte 0: 0xf0" 
 can: "Data byte 1: 0x00"
 [...]

Or, the basic JTAG decoder:

 $ sigrok-cli -i olimex_stm32-h103_irscan_drscan.sr -a jtag:trst=0:tdi=1:tms=2:tck=3:tdo=4
 jtag: "New state: SELECT-DR-SCAN" 
 jtag: "New state: SELECT-IR-SCAN" 
 jtag: "New state: CAPTURE-IR" 
 jtag: "New state: SHIFT-IR" 
 [...]
 jtag: "New state: SHIFT-IR" 
 jtag: "New state: EXIT1-IR" 
 jtag: "IR TDI: 11111110 (0xfe), 8 bits" 
 jtag: "IR TDO: 11110001 (0xf1), 8 bits" 
 jtag: "New state: UPDATE-IR" 

Or, stacking the STM32-specific JTAG protocol decoder on top of the JTAG decoder:

 $ sigrok-cli -i olimex_stm32-h103_irscan_drscan.sr \
   -a jtag:trst=0:tdi=1:tms=2:tck=3:tdo=4,jtag_stm32 -s jtag,jtag_stm32
 jtag_stm32: "IR: IDCODE"
 jtag_stm32: "IDCODE: 0x3ba00477 (ver=0x3, part=0xba00, manuf=0x23b, res=0x1)" 

If you want to contribute any additional sample files for various protocols (*.sr format as produced by sigrok-cli) for our sigrok-dumps repository that would be great!

We're also currently in the process of adding a wiki page for every protocol decoder, with detailed information about the protocol it decodes, the decoder implementation and its status, how to use it, which decoders it stacks on (or which ones can stack on top of it), and so on. Check the pages for mx25lxx05d, dcf77, or nunchuk, for some (work in progress) examples.

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 :)

 

sigrok-firmware-fx2lafw 0.1.1 released

$
0
0

We're happy to announce the 0.1.1 release of sigrok-firmware-fx2lafw, the open-source firmware which allows you to use almost any device with a Cypress FX2/FX2LP chip as a simple logic analyzer (together with libsigrok and a frontend, of course).

You can download the source tarball from SourceForge as usual. Additionally, you can also grab pre-built firmware files instead, if you don't want to compile them yourself.

This is mostly a bugfix release. It features a simpler and more common "./configure && make && make install" build system, updated documentation, and some fixes for differently named sdcc tools on different OSes or distros (e.g. Mac OS X, Fedora, others).

It also adds support for the USBee DX device (only logic analyzer functionality, as with the other devices), and support for the older FX2 (not FX2LP) variant of the Cypress USB chip. This is important since we've seen both these cases in practice: older logic analyzers which have the FX2 chip, as well as devices which pretend to have an FX2LP chip but in reality it is a "rebadged" FX2.

See the NEWS file for the full list of user-visible changes.

 

Ikalogic SCANALOGIC-2 now supported

libsigrok 0.2.1 released!

$
0
0

Hi everyone!

We're happy to announce the new libsigrok 0.2.1 release. This is mostly a bugfix release with a few additional new drivers to support more hardware. No major API changes were performed.

We added support for two new logic analyzers. One of them is the IKALOGIC Scanalogic-2, a 4-channel device with a max. samplerate of 20MHz. The driver was contributed by Marc Schink (thanks a lot!), who also wrote up some nice documentation about the USB HID based protocol in the wiki.

The other device we now support is also an IKALOGIC device (just a coincidence), namely the new ScanaPLUS, a 9-channel logic analyzer with a fixed samplerate of 100MHz, which compresses the captured data and streams it to the PC. This device uses an FPGA internally and an FTDI FT232H for data transfers. The protocol is thus not USB HID based like on the Scanalogic-2. We documented the ScanaPLUS USB protocol in the wiki too, if you want to have a look at the details.

We now also support two additional sound level meters, the CEM DT-8852 and the Kecheng KC-330B. Please check the previous blog post about these devices.

Finally, support for four new multimeters has been added, the UNI-T UT60A and UNI-T UT60E (thanks Florian Knodt!), the Voltcraft M-3650D (thanks Florian Steinhardt!) and the Voltcraft VC-830. They were all pretty easy to add to our generic 'serial-dmm' driver which can support a wide variety of serial-based DMMs with "simple" protocol.

Apart from that we added a few new config keys, config info types, and error codes. We also did the usual bunch of code cleanups, documentation improvements, and bugfixes. Please read the NEWS file for details.

You can download the libsigrok-0.2.1.tar.gz tarball from sigrok.org/download as usual.

Have fun!
 

Saleae Logic16 support

$
0
0

We're happy to announce that libsigrok now supports the Saleae Logic16 logic analyzer.

This is the successor product of the well-known Saleae Logic (an 8-channel logic analyzer with a max. samplerate of 24MHz and streaming capabilities).

The Logic16 has 16 channels and can sample at rates of up to 100MHz, depending on the number of channels used. If you only need 3 channels you can sample at 100MHz, or 50MHz for 6 channels, or 32MHz for 9 channels, or 16MHz when using all 16 channels.

The property of the Logic16 that makes it really interesting is that it can still stream out the data live over USB (like the Logic) and is thus not limited to any internal buffer size of the logic analyzer itself, while at the same time allowing a samplerate higher than 24MHz. This makes it possible to capture fast signals for longer periods of time (as opposed to just a few milliseconds as is the case for many other devices) which can be very useful in practice.

It also has the advantage that you can switch between two different voltage threshold settings, allowing you to debug either 1.8V / 3.3V systems, or 5V systems.

Of course it still has the same limitations as the Logic, too. Whether the continuous byte stream from the Logic16 can be received quickly enough over USB without missing any bytes depends on various random factors, such as the USB controller in your PC, the OS/kernel version used, the amount of other USB devices connected and how much data those transfer at the same time, etc. etc. But still, for many cases it works well enough to make it quite useful.

Many thanks to Marcus Comstedt for figuring out how the Logic16 protocol works, and for writing the libsigrok driver! He also documented the protocol in the wiki, as well as various firmware internals. We also have some teardown photos, pinouts of the ICs used in the Logic16 and their connections, EEPROM layout and other info in the wiki, if you're interested in this kind of stuff.

The device uses a Cypress FX2 USB chip and a Xilinx Spartan-3A XC3S200A FPGA internally. The first needs a firmware upload when the Logic16 is attached to USB, the latter needs an FPGA bitstream upload upon USB connection (as well as another bitstream upload whenever the voltage threshold setting is changed).

Thanks to Marcus Comstedt again who provided the sigrok-fwextract-saleae-logic16 tool which you can use to extract the FX2 firmware and the two FPGA bitstreams from the vendor software. See the manpage for details.
 


ISO-TECH IDM103N‎ multimeter support

$
0
0

Thanks to Aurelien Jacobs libsigrok now supports a new multimeter, the ISO-TECH IDM103N. This is a 4000 counts DMM with RS232 connectivity.

The respective patch for enabling this DMM also adds a generic es519xx.c parser (based on the old es51922.c which will be obsoleted soon), which should be able to handle various Cyrustek ES519xx DMM ICs. That'll make it easy to add more DMMs using one of these Cyrustek chips later.

Another new thing in libsigrok is the SR_UNIT_REVOLUTIONS_PER_MINUTE (RPM) unit, which allows us to properly support the DMM's RPM feature.
 

New protocol decoder: parallel

$
0
0

libsigrokdecode now supports a new protocol decoder (PD) named parallel.

This PD can decode various simple synchronous, parallel buses that have one clock line and a (pretty much) arbitrary number of data lines.

The decoder can be configured to sample the data lines (e.g. D0-D3 for a 4-bit sync parallel bus, D0-D7 for an 8-bit bus, or D0-D31 for a 32-bit bus, and so on) on either the rising or falling clock edge.

It can then print the data in various formats (currently only 'hex' is supported, but more can be added easily), e.g. 0x55 for an 8-bit bus or 0x55667788 for a 32-bit bus, and so on.
 

Norma DM950 support

$
0
0

We're happy to announce that libsigrok now supports yet another multimeter, the Norma DM950 (a.k.a. Normameter 950, a.k.a. Siemens B1028).

This is a 21000 counts autorange DMM with RS232 connectivity.

Many thanks to Matthias Heidbrink for writing the driver and figuring out the protocol! As always we have a nice wiki page for this device now, including teardown photos, protocol description, and so on.

The DMM uses a custom microcontroller internally, and the protocol is a SCPI-like ASCII based protocol with the familiar-looking "IDN?" strings and so on. Please also check the driver source code if you're interested in the details.

There are various other DMM models from this series which can be supported relatively easily via this driver. Please contact us (and/or the driver author, "mh") in the #sigrok IRC channel on Freenode if you own one of these devices and can test further patches. Thanks!

 

libsigrok 0.2.2 released!

$
0
0

Hi everyone!

We're happy to announce the release of libsigrok 0.2.2! This is a minor bugfix release without any API changes, but it also adds support for a few new devices.

We added support for one new logic analyzer in this release, the Saleae Logic16. This is a streaming 16-channel device with a max. samplerate of 100MHz (when 3 channels are used; lower samplerates must be used if you use more channels). The driver was contributed by Marcus Comstedt, thanks a lot! You can use the sigrok-fwextract-saleae-logic16 tool from our sigrok-util repository to extract the required bitstream and firmware files from the vendor software.

We now also support a few more multimeters (all of them with RS232 connectivity):

And two new thermometers (temperature dataloggers):

  • UNI-T UT325, a 2-channel temperature logger with USB connectivity
  • Center 309 (a.k.a. Voltcraft K204), a 4-channel temperature logger with RS232 connectivity

Finally, the first "device" in the "Energy meters" category that we support: the EDF Teleinfo (thanks Aurelien Jacobs!). This is not a specific piece of gear per se, but rather a standard protocol that is used for energy metering purposes in France.

Apart from the expanded device support, there is also the new csv input module (file format), thanks Marc Schink! That means you can now read logic analyzer data from various CSV-like files into libsigrok (and then do everything with that data you can do normally, e.g. convert to other formats, display, run protocol decoders on it and so on).

There have also been a number of improvements and fixes for various drivers (e.g. uni-t-dmm, ols, rigol-ds1xx2, agilent-dmm) and some random bugfixes and portability fixes in the rest of the code. Feel free to browse the NEWS file or git log for the details.

You can download the libsigrok-0.2.2.tar.gz tarball from sigrok.org/download as usual.

Have fun!
 

Probe groups support

$
0
0

libsigrok has gained a long-overdue feature recently: support for so-called probe groups.

Until now, various config options for drivers have always applied to all probes of a device. For example, on a 2-channel oscilloscope like the Rigol DS1052E you could set e.g. the "Volts per division" config option to a certain value (say, 2V). However, the setting would always be applied to all probes (i.e., both channels of the scope). It was not possible to set different values for each individual probe.

The new probe groups feature (via the respective API changes in the drivers and libsigrok backend code) allows each driver to define groups of probes that have the same properties and the same settings. This applies to all kinds of drivers/devices (not just oscilloscopes), including multimeters, logic analyzers, MSOs, thermometers, and so on.

The following example sigrok-cli call will change the V/div setting on a Rigol DS1052E scope to 2V, but only on the "CH1" probe group (which happens to only contain one probe, the first channel of the scope):

 $ sigrok-cli --driver rigol-ds1xx2:conn=/dev/usbtmc0 --probe-group CH1 -c vdiv=2V --set

It does not change the V/div setting of all other probe groups (i.e., the second channel of the scope in this case).

Thanks a lot to Martin Ling for coming up with the proposal for probe group support in libsigrok, as well as the initial implementation!

So far the rigol-ds1xx2 driver has been converted to actively use the new probe groups feature. Various other drivers will follow over time.
 

Hameg HMO scope support and SCPI backend code

$
0
0

The list of contributed hardware drivers for libsigrok is getting longer yet again. This time, support for the Hameg HMO series oscilloscopes (tested on Hameg HMO1524) has been added by poljar (Damir Jelić), thanks a lot! It has recently also been successfully tested on a Hameg HMO2024 at 30C3 in Hamburg.

This driver should support the Hameg HMO compact series device (70MHz - 200MHz) for now, other devices can be added later though. It also makes use of the recently added probe groups feature to allow setting coupling, trigger slope, timebase and so on independently for each scope channel. Currently the driver supports the serial port connectivity of the scope.

Since SCPI commands are used for controlling and querying the scope, poljar also added an initial set of common SCPI related functions to libsigrok, which other drivers can also make use of later. Those functions initially assumed a serial port transport, but have been made more generic in the mean time by Martin Ling (thanks!), now supporting SCPI over USBTMC and SCPI over TCP too.
 

Gossen Metrawatt Metrahit multimeter support

$
0
0

A few weeks ago libsigrok received support for various Gossen Metrawatt multimeters, a line of DMMs we didn't yet support at all.

The respective gmc-mh-1x-2x driver (for the Gossen Metrawatt Metrahit 1x/2x series multimeters) was contributed by Matthias Heidbrink (thanks a lot!).

It already supports a number of devices, e.g. the

Other devices are already being worked on, and/or can be added to the driver by interested users (patches welcome!).

The driver was tested with the Metrahit RS232 PC interface, support for other interfaces may follow (again, patches and people who can test with these interfaces are highly welcome).

 


New protocol decoder: rgb_led_spi

$
0
0

We're happy to announce that there's a new protocol decoder available in libsigrokdecode since today, rgb_led_spi (thanks to Matt Ranostay for the contribution!).

This is a small PD that decodes RGB (red/green/blue) values for a certain type of LED controller that are sent from a host/microcontroller via SPI in order to light up the LEDs in a certain color.

It can be used for decoding data to a WorldSemi WS2801 RGB LED controller, for example (see the led/ws2801 directory in the sigrok-dumps repo for sample files).

Since this (rather simple) "protocol" is transmitted over SPI, the protocol decoder can make use of the stacking feature in libsigrokdecode and simply stack upon the spi decoder (thus avoiding having to re-implement all of the SPI handling in the RGB LED decoder itself).

Happy LED blinking!
 

Brymen BM869 support

$
0
0

Yes, it's time for another multimeter! This time libsigrok has gained support for the Brymen BM869 multimeter (the code was written by Aurelien Jacobs, thanks a lot!).

This is a 50000 counts True RMS DMM with various "higher-end" features compared to other, cheaper DMMs.

The PC connectivity interface Brymen BU-86X is using USB/HID internally (based on the Cypress CY7C63743 enCoRe USB chip), the protocol is relatively simple and documented by the manufacturer.

You can also browse the source code if you're interested in some of the implementation details.

 

New protocol decoder: ir_nec

$
0
0

We're happy to announce that libsigrokdecode now supports yet another protocol decoder, this time: ir_nec. The PD has been contributed by Gump Yang, thanks a lot!

This is a decoder for the so-called NEC infrared (IR) protocol, a rather widely used protocol for remote controls (for TVs, VCRs, and lots of other things).

The protocol is based on a pulse-distance encoding, i.e., a 1 bit is encoded by a pulse and a long pause after that, and a 0 is encoded by a pulse and a short pause after the pulse.

The "payload" basically consists of an 8-bit address (which is a number that is supposed to be unique for a certain vendor / device), and an 8-bit command / code which identifies which button was actually pressed.

The 8-bit address is followed by the inverted 8-bit address, the 8-bit code is also followed by its inverse. This is (or can be) used for error checking on the receiver side.

You can read up on the protocol details in various online resources.

When the proper definitions for specific remote controls are added to the PD, it can also decode the actual remote control button in a more human-readable form e.g. "Matsui TV: Mute" vs. "Address: 0x40, command: 0x10", see screenshot for an example.



 

Windows support and installers

$
0
0

For a long time Windows support in sigrok was somewhat lacking and/or in the TODO state, but things have improved quite a bit recently.

While there have been both a working cross-compile setup based on MinGW (additionally based on the MXE suite of scripts) as well as working NSIS-based installer executables for sigrok-cli and for PulseView for quite a while, they weren't really all that useful.

Only very few devices used to actually work in practice due to portability issues and due to certain limitations in the way libsigrok was talking to USB-based hardware devices (e.g. various logic analyzers) and serial port based devices.

All of this has changed though. A major part of the solution and fixing was done by Martin Ling (thanks a lot!) by writing specific thread-/Event-based code for the Windows platform for allowing libsigrok drivers based on libusb to properly work on Windows (transparently, i.e. without requiring changes to the drivers).

The other part of the puzzle is the new LGPL3+ libserialport shared library, also written by Martin Ling (thanks again!), which is a portable, cross-platform C libary (that is completely independent of libsigrok, i.e. it can be used by various other open-source projects without any problems, too). So far, it supports Linux, Windows, Mac OS X, and some BSDs. More on libserialport in another blog post.

With all the above-mentioned improvements we're now providing daily-built, self-contained Windows installers for sigrok-cli and PulseView, that ship with everything you need (the executables and libraries, the protocol decoders, some firmware files, some example files you can use for testing decoders and UIs, the Windows Python 3 installer you need for running protocol decoders, the Zadig tool you need for switching devices to use the libusb driver, etc. etc.).

Downloads:

Please make sure to read the Windows wiki page, it contains some more information related to drivers, firmware files, current device status, and so on.

We've tested the basic functionality on Windows XP and Windows 7 (and we don't expect any issues on Windows Vista or Windows 8 either), but we're happy to hear any feedback you may have and/or issues you might encounter.

 

New major release of various sigrok components

$
0
0

Hi everyone! We're very happy to be able to announce a major new, coordinated release of:

There have 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:

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!

Viewing all 200 articles
Browse latest View live