Hi all, I'm "announcing" the commits here for those peer developers who haven't seen them on IRC. Feedback is very welcome.
The mainline sigrok VCD input module lacks support for vectors. And I noticed a few issues that I addressed as well (timing was off for large files, last sample was not processed). Depending on your preferred way of accessing git repos, see the commits at http://repo.or.cz/libsigrok/gsi.git vcd-vector or http://repo.or.cz/libsigrok/gsi.git/shortlog/refs/heads/vcd-vector respectively. Since there is an impedance mismatch between VCD vectors and the data representation internal to sigrok (no "bus" type is known, only "logic" probes and "analog" channels), I had to work around that limitation by creating multiple single "logic" signals per vector (one sigrok channel per bit in the vector, similar to the previously supported one-bit wires). The "parallel" protocol decoder can represent multiple bits in the usual hex format. There's another implementation detail to be aware of: sigrok internally uses continuous streams of samples of the specified samplerate. Which makes innocent looking VCD input files quickly grow rather large, when e.g. multiple seconds worth of data are provided with a very fine resolution. The "downsample" and "compress" options of sigrok's vcd input module can work around this effect when needed. The current implementation uses a mere integer instead of a more versatile bit map, which results in a limit of up to 64 bits per VCD vector. This can get extended in a subsequent change. I'm aware of one omission in the above branch: Using the same identifier for multiple signals is not supported by this version, but can be. This will get fixed, it's just an implementation detail, not by design -- I only learned about this feature after pushing the changes. And of course I'd like to learn if you experience differences in the interpretation of VCD input files between sigrok/pulseview and other software you are using (gtkwave et al). Or if you have VCD files that this extended vcd input module cannot process. Note that support for real numbers is missing, too, and is not in the scope of the above changes. Have the appropriate amount of fun! virtually yours Gerhard Sittig -- If you don't understand or are scared by any of the above ask your parents or an adult to help you. ------------------------------------------------------------------------------ Check out the vibrant tech community on one of the world's most engaging tech sites, Slashdot.org! http://sdm.link/slashdot _______________________________________________ sigrok-devel mailing list sigrok-devel@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/sigrok-devel