With the release of Lab::Measurement 3.550 we've switched to Dist::Zilla as maintenance tool. If you're not involved in hacking Lab::Measurement, you should essentially not notice this change. However, for the authors of the package, Dist::Zilla makes it much easier to keep track of dependencies, prepare new releases, and eventually also improve and unify the documentation... At the side we've also fixed Issue 4 and Lab::Measurement should now work out of the box with recent Gnuplot on Windows again.
I've just uploaded Lab::Measurement 3.544 to CPAN. This is our first release containing support for Zurich Instruments equipment, in particular the ZI MFLI digital lock-in amplifier, via Simon's Lab::Zhinst package. Enjoy!
Immediately at the heels of the previous post, I've just uploaded Lab::Measurement 3.512. It fixes some problems in the Yokogawa GS200 driver introduced in the previous version. Enjoy!
It's been some time since the last Lab::Measurement blog post; we are at Lab::Measurement version 3.511 by now. Here are the most important changes since 3.31:
We've decided to migrate the primary Git repository of our code from Gitorious to Github. The new project page of Lab::Measurement is
https://github.com/lab-measurement/lab-measurementand you can anonymously clone the code e.g. from the following URL:
https://github.com/lab-measurement/lab-measurement.gitThis means we'll also be able to use the Github issue tracker in the future. The copy on Gitorious will eventually be removed.
Since we came up with a few good ideas at the last moment, we're skipping the announcement of Lab::Measurement 3.30 and hereby directly announce a new and shiny Lab::Measurement 3.31!
So why a version number increase again? First of all, the structure of the XPRESS package has changed once more a bit, and with it the way your measurement scripts should look like. The "hub" package is gone, and the whole XPRESS functionality is now made available by a simple
use Lab::Measurement;statement at the start of your file. The example scripts (also on the website) have been adapted accordingly.
We have uploaded Lab::Measurement 3.20 to CPAN today. This release includes significant new features, in particular in the high-level measurement code and in the instrument readout logic.
The central new feature is Lab::XPRESS. This set of Perl modules builds upon the Instrument layer and provides a replacement and alternative to the Lab::Measurement class and its metadata handling. As detailed in several examples (1, 2, 3), nested loops of parameters, as e.g. gate voltages, combined with arbitrary measurements at each point can now be implemented in a highly flexible but simple way: you describe the logical structure of the measurement, without having to program the loops yourself. This means the actual measurement scripts become simpler and shorter, while remaining highly configurable. The underlying code can automatically take care of many details such as waiting times, timing of measurements, and pause or well-defined abort of the script on key events.
At the Instrument level, foundations have been laid for a centralized caching of instrument parameters. While this defaults off, it can be enabled in an instrument driver. The functionality is useful e.g. if reading out a parameter from the device that does not change on its own, unless explicitly set by a script, is a slow command. This also includes a generic support for asynchronous readout, i.e. first requesting a measurement value and thereby starting a read-out, then later in a separate command reading the result.
In addition, several instrument drivers have been added in varying states of completion, as e.g. the Cryogenic SMS magnet power supply, the Knick S252 voltage source, the Anritsu MG369xB signal generator, and the Keithley 2000 multimeter.
Finally, the TCPraw connection has been deprecated in favour of a new generic Socket implementation which provides a larger feature set. While TCPraw is still available, it internally only calls Socket and will be removed in a future version.
The release package is available from CPAN. Documentation as well as a web view of the Git code repository and a bug tracker are available from the package homepage https://www.labmeasurement.de/.
Lab::Measurement 3.11 has been uploaded to CPAN. This is a minor maintenance release, with small bug fixes in the voltage source handling (gate protect and sweep functionality) and the Yokogawa drivers (output voltage range settings).
I'm happy to be able to announce a first real release of the Lab::Measurement Perl package, providing a platform for measurement control with Perl.
Lab::Measurement is based on the packages Lab::VISA, Lab::Instrument, and Lab::Tools started by Daniel Schröer in 2005. Many people have contributed in the meantime, amongst others in roughly historical order Daniela Taubert, David Kalok, Florian Olbrich, and Alois Dirnaichner. The efforts of the last year have focussed on a general modularization, originally driven by a certain frustration with National Instruments NI-VISA support on Linux. Now, the hardware driver backend can be exchanged transparently, making measurements both with NI-VISA and with e.g. LinuxGPIB or the operating system serial port drivers on Linux and Windows possible.
Since VISA does not form a central part or even requirement anymore, the original use of Lab::VISA as name for the entire package became impractical, and we've decided to switch to Lab::Measurement instead. As version numbers of all components should still increase monotonously, our first release of the code rewrite then actually ended up as Lab::Measurement 3.00.
For downloads and documentation, including installation instructions for Linux and Windows and examples, visit the homepage of the package, http://www.labmeasurement.de/. Of course, if you're using Gentoo, the package is readily available in the main portage tree as dev-perl/Lab-Measurement.
Not all device drivers have been ported to the new internal architecture so far, but work is progressing swiftly. In the Regensburg nanophysics groups, we're using the new code already all the time in measurements at three different cryogenic setups. More drivers, bugfixes, and improvements are present in Git master. If you're willing to hack, I can only recommend that you give it a try. Contributors are always welcome; feel free to clone our git repository on Gitorious.