libserialport 0.1.2 released!

We're happy to announce that libserialport 0.1.2 has been released!

libserialport is a portable, LGPLv3+ shared library written in C which allows users to talk to serial port devices on various OSes (including Linux, Windows, Mac OS X, FreeBSD, and Android).

The 0.1.2 release is compatible with 0.1.1 in that no existing APIs have been changed or removed. The release contains mostly bugfixes and updates to the code base.

Additionally, examples for libserialport usage are now provided, along with Visual Studio project files for those who want to use them.

The tarball (libserialport-0.1.2.tar.gz) can be downloaded from sigrok.org: https://sigrok.org/download/source/libserialport/

If you notice any bugs, please report them at sigrok.org/bugzilla or on https://github.com/sigrokproject/libserialport.

Thanks to all contributors!
 

Current project status

The last releases have been quite some time ago, so I would like to make a quick announcement to let you know that this project is still actively maintained. Unfortunately, the chip shortage that resulted from the Covid-19 epidemic in 2020 affected multiple sigrok contributors, forcing them to reduce the amount of work they could provide to the project. This, combined with changes in personal circumstances of the core project members, lead to a loss in momentum that you may have noticed. During that time, Gerhard Sittig continued development despite not being a core member, for which I would like to express my sincere appreciation.

Currently, the sigrok project is still short of core developers but I'm trying to get new releases out the door as soon as possible. My priority is to get all pending code submissions reviewed, tested and merged - quite some work has piled up over time but it would feel wrong to perform a release without first trying to incorporate as many of these pending submissions as possible.

As always, the nightly builds are the recommended downloads and if you do find something broken there, feel free to let us know either on IRC, github or the mailing list. The bug tracker (bugzilla) has been overrun with spam bots so unfortunately I had no choice but to disable sign-up for the time being. If you're aware of a working anti-spam extension for bugzilla or a simple replacement, please get in touch as well, as I'd love to hear about it.

-Soeren

sigrok-cli 0.7.2 released!

We're happy to announce the release of sigrok-cli 0.7.2. Tarballs and binaries are available from the Downloads page, as usual.

This release features additional command-line options like --dont-scan and --list-serial (as well as some changes to existing options), and the usual set of documentation fixes, performance improvements, random bugfixes, and a few other improvements.

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

New in PV: Tabular Decoder Output View

A while ago we added a feature that has been requested often in the past: a way to view decoder output in list form. This is now implemented and generally working, so try it out by clicking on the small arrow next to the "New View" toolbar icon!

It's still in its infancy, with more features to come, but the important things are working:

  • You can hide or re-arrange the colums by left-/right-clicking the table header
  • You can save the output of the table to disk
  • You can choose to see all annotations or only those which you also see in the main trace view - meaning hidden annotations will also be hidden in the table

Also, hovering over the annotations in the main trace view will highlight the corresponding annotations in the table and double-clicking (or pressing Enter on) an annotation in the table will focus on that particular annotation in the main trace view.

In the future, you'll be able to add additional filters to the table (e.g. showing only annotations where "value >= 40") and searching will be possible, too.

As always, if you have features you find amiss or you discover bugs that you want to see fixed, let us know!

New protocol decoder: xy2-100

libsigrokdecode now supports yet another protocol decoder: xy2-100.
 

This is a protocol used to communicate with laser scanner galvanometers, used for laser shows, laser engravers and similar applications.


Some example traces are available in the sigrok-dumps repo but we'd love to have some where we can verify proper operation of the enhanced mode (i.e. where command/parameter pairs are sent). The status/feedback signal also has only pretty basic decoding for now, so if you have dumps where the status/feedback signal is included, please let us know!

The decoder was initially written by Uli Huber, thanks a lot!

New protocol decoder: nrf905

libsigrokdecode now supports yet another protocol decoder: nrf905.

This one stacks on top of the SPI decoder, and decodes the protocol of the Nordic Semiconductor nRF905 433/868/933MHz transceiver chip.

Some example traces are available in the sigrok-dumps repo and some test-cases in the sigrok-test repo, as usual.

The decoder was contributed by Jorge Solla Rubiales, thanks a lot!

 

 

New protocol decoders: ad5626, ad79x0, adxl345, ltc242x, ltc26x7

libsigrokdecode now supports a few additional protocol decoders: ad5626, ad79x0, adxl345, ltc242x, and ltc26x7.

This is a set of decoders (that stack upon the SPI or I²C decoders) that were contributed by Analog Devices Inc.:

  • ad5626: Analog Devices AD5626 12-bit nanoDAC
  • ad79x0: Analog Devices AD7910/AD7920 12-bit ADC
  • adxl345: Analog Devices ADXL345 3-axis accelerometer
  • ltc242x: Linear Technology LTC2421/LTC2422 1-/2-channel 20-bit ADC
  • ltc26x7: Linear Technology LTC26x7 16-/14-/12-bit rail-to-rail DACs

Some example traces are available in the sigrok-dumps repo and some test-cases in the sigrok-test repo, as usual.

The decoders were contributed by Teo Perisanu of Analog Devices, thanks a lot!

PulseView 0.4.2 released!

We're happy to announce the new PulseView 0.4.2 release!

This is quite a major release with loads of new features and bugfixes.

We provide various binary builds for Linux (AppImage), Windows (.exe installer) and Mac OS X (DMG) for the release version over at the Downloads page (in addition to the usual nightly builds).

Major new features and improvements:

  • PulseView session setups can now be saved/restored to and from *.pvs files.
  • Translation support was added to the GUI elements (and a first translation, German, is available). Please check the wiki for details on how you can contribute further translations.
  • There's a new protocol decoder selection subwindow with filtering capabilities, browing by decoder tags, auto-stacking of decoders where required, and more.
  • A new decoder "binary" output subwindow can show/save "OUTPUT_BINARY" type decoder data in various (decoder-specific) formats (WAV, PCAP, PNG, and many others). This also features a simple "hex view" for the data.
  • It is now possible to show/hide individual decoder annotation rows, and individual annotation classes. This is very handy when you're debugging a specific issue and only want to see certain classes of decoder annotations, e.g. "show me only CRC errors", "show me only parity errors and frame errors", or "show me only I²C NACKs" etc. etc.
  • Lots of UI and functionality improvements regarding cursors and markers.
  • Various new handy key shortcuts for zooming, moving around in the data, placing cursors, etc.
  • Various drawing and decoder/annotation performance improvements.

For further information about some of the new features please also check out these recent blog posts:

And of course, as usual, there are also quite a number of bugfixes and other minor improvements all over the place.

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

Even more PulseView features you might have missed

In this last installment of the "features you should know about" series of posts before the upcoming PulseView release, we'd like to first show you the current state of our decoder output view. As you may have guessed from the name, it's a new type of view and with that it can be created using the "create new view" button which you can find on the left of the toolbar.

Once opened, you need to select a decoder for it to show anything. Not any decoder will do, however, it has to be a decoder that emits binary data - for example I2C, I2S, EEPROM24xx, SPI or UART. Having acquired some I2S data and using the I2S protocol decoder lets you have the sound data as raw .wav file data, for example:

Using the save icon at the top then lets you save this data either as a binary file (in this case creating a valid .wav file) or various types of hex dumps. If you want to only save a certain part of the binary data, simply select that part before saving.

You may have noticed that the bytes are grouped by color somehow. The meaning behind this is that every chunk of bytes emitted by the protocol decoder receives one color, the next chunk another color and so on. As there are currently three colors, the cycle repeats. This makes it easier to visually organize the data that you see - in the case of the I2S decoder, the header has one color because it's sent out in one go and following that, every sample for left/right consists of 4 bytes with the same color since they're sent out one by one.

In the future, we'll use this view to let you do more things. For example, it would be useful to reconstruct EEPROM contents from observing the wire and so that's just what we'll allow you to do. Also, we're going to support MIME types so that protocol decoders can describe the binary data they're sending out. In the case of I2S, this will allow PulseView to offer media playback directly and in the case of LCD display decoders will allow you to immediately see what the display would show.


Last but not least, we'd like to point out that you now can show and hide not only individual protocol decoder rows but also the annotation classes that are assigned to them. To do so, simply click on the arrow or label of the row you want to customize.

From that menu, you can either show/hide the entire row or choose the annotation classes you want to see. Everything is visible by default but if you want to focus on specific protocol messages or status annotations like warnings or errors, this should help. Also, if you are examining really long traces, disabling annotations for the most-often occuring type (e.g. bit annotations for SPI) then drawing performance will increase, too.

In the future, we'll also let you do more things from there, like exporting annotations. If there's something else you'd like to see available from there, let us know!


 

More PulseView features you might have missed

Just like in the previous blog post, we would like to make you aware of features that you may not have known about yet. The first one seems kind of minor but may not be so minor to people that don't speak English - translations. Currently, only German is supported (because we're German, duh) and so we'd appreciate if you'd supply translation files for other languages that we can include. Please check https://sigrok.org/wiki/PulseView#Translations for instructions on how to do that.

Next up we have some additional marker functions that were supplied by Martin Miklos. He added an auto-delta feature that shows you the time difference to all other timer markers when you hover over one:


Also, he added quick-access hotkeys for the left and right cursor boundaries which we have attached to the keys '1' and '2', respectively. This means that instead of having to re-arrange the cursor boundaries right after enabling it, you may now simply press '1' and have the left side of the cursor follow your mouse. Clicking or pressing escape puts it down. Then, you may do the same with the other side by pressing '2'. This should make using the cursor much faster.

In the spirit of efficiency, we also elimiated the need to enable the cursor altogether. Simply press '1' or '2' and the cursor will be enabled automatically with the left or right boundary following your mouse.

We appreciate his and all other contributions, so if you have something you'd like to implement, swing by our IRC channel to discuss and we'll help you make most efficient use of your skills when contributing :)
 

Pages

Subscribe to The ever-expanding world of sigrok RSS