History for the Lab-Measurement Perl distribution This document is work in progress (in the sense of adding historical information). 3.880 2023-07-22 * Add driver for Bluefors magnet power supply 3.872 2023-05-22 * Fix driver for Keysight N9310A RF generator 3.871 2023-05-19 * Add driver for Keysight N9310A RF generator * Add driver for Agilent 33210A AWG 3.870 2023-05-19 * Add driver for Bluefors DR temperature control * Add driver for Zurich Instruments HDAWG generator * Add HTTP request connection * Add power sweep functionality to R&S ZVM 3.860 2023-03-09 * Add both_directions option for sweeps * AH2700A: Bug fix * Nanonis Tramea: Further features * Code cleanups and additional example 3.851 2023-02-15 * RS ZVA: add functions for power sweep * Agilent33120A: bug fix 3.850 2023-02-14 * Keysight 33500B: more documentation * Lakeshore 372: add example curve handler script * New driver: Agilent33120A AWG, also as voltage source 3.842 2023-02-07 * Nanonis Tramea: Bug fixes 3.841 2023-01-25 * Nanonis Tramea: More functionality (timing, data transfer) * Lakeshore 372: Fixes 3.840 2022-12-12 * New driver (work in progress): ProStep4 step motor * New driver (work in progress): HP83732A signal generator * Improve Synctek MCL1-540 code 3.831 2022-11-30 * Nanonis Tramea: Add more functionality 3.830 2022-11-08 * Nanonis Tramea: Fix timing issues, speed up a lot * R&S RTB2000 oscilloscope and Keysight 33500 AWG: initial driver stubs 3.823 2022-09-02 * Nanonis Tramea: Sweeper 3d functionality expanded 3.822 2022-08-24 * Nanonis Tramea: Add more functionality 3.821 2022-06-19 * HP3458A: More functions for high-speed mode * Nanonis Tramea: Complete set of raw access functions 3.820 2022-06-06 * New driver: Lakeshore 350 temperature controller * New WWW connection for REST-like interfaces * Improve Synctek MCL1-540 code * Lakeshore 372: Add function for sample heater output query * Add OI Mercury level plotter example script * New driver (work in progress): Cryomagnetics 4G magnet power supply * New driver (work in progress): Nanonis Tramea (1d sweep) 3.810 2022-02-14 * New driver: Synctek MCL1-540 Lock-in Amplifier * New driver: Andeen-Hagerling AH2700A ultra-precision capacitance bridge * Lakeshore 372: many more functions (display, excitation power, scanner, ...) 3.803 2022-02-01 * Lakeshore 340: Add example subclass (Helium3), manual output function * Lakeshore 372: Additional functions * OI ITC503: Allow fractional PID values * Allow custom comment string in data files 3.802 2021-12-28 * Lakeshore 340: Add commands to set/get and configure analog outputs * Backends: Update LinuxGPIB install instructions * Fix for #59: Gnuplot pm3d palette gets overridden 3.801 2021-12-10 * Fix syntax for Perl 2.26 and earlier * Lakeshore340: Support 4 thermometers (A B C D) * Add missing links to manual index 3.800 2021-12-08 * New feature: obtain RFC3161 timestamps for the measurement data * Add support for Oxford Instruments IsoBus * Add support for the OI ILM210 helium level meter * Minor improvements for OI IPS and SignalRecovery Lock-In * The legacy, non-Moose API is now officially deprecated and unmaintained. Examples have been dropped from the distribution, and the manual index does not link the modules anymore. 3.792 2021-11-16 * Keithley 2000: major rewrite and documentation fixes * SignalRecovery 7265: bug fixes * Socket connection: more verbose error messages 3.791 2021-10-28 * SignalRecovery 7265, Keithley 2000 updates + bugfixes * DataFolder: Added boolean copy_script attribute * Documentation improvements (Rigol DG5000, Keysight DSOS604A) 3.790 2021-10-27 * Ported Keithley 2000 DMM and SignalRecovery 7265 lock-in to Moose * Added Phase sweep; added sweeps on multiple instruments simultaneously * OI_Mercury/Magnet: Internally set currents not fields for precision * Updated Backends.pod with a new guide on how to use LinuxGPIB on Debian 11 * Documentation improvements (Rigol DG5000, Keysight DSOS604A) 3.780 2021-10-09 * New driver for the Lakeshore 372 temperature bridge * Socket connection: allow reuse of orphaned connections 3.772 2021-09-16 * OI_IPS: Fix for device bug 3.771 2021-08-23 * SR830: Add support for aux-in ports * SignalRecovery726x: Fix for device bug (spurious zero bytes) 3.770 2021-08-15 * Port the TMRC2 driver to Moose * Documentation improvements 3.762 2021-07-07 * Fix Yokogawa 7651 source driver 3.761 2021-07-06 * Many improvements to Keysight DSOS604A and Rigol_DG5000 drivers * Add pulse delay and pulse width sweeps 3.760 2021-06-28 * Additions for producing RPM of Lab::Measurement with Dist::Zilla * USBtmc: use interrupt i/o to check if transfer is complete * TDS2024B.pm: add get_datetime/set_datetime functions * 70-usbtmc.rules: use 'daq' group * usbtmc_protfix: script to apply permission changes in /dev/bus/usb * New driver for Keysight DSOS604A oscilloscope * Extensions to Rigol_DG5000 AWG driver 3.751 2021-06-01 * Move IRC channel to Libera Chat * OI_IPS: add get_switch_heater * XPRESS: add phase sweep and osc. output sweep for SR lock in 3.750 2021-05-01 * Start driver for SignalRecovery 7265 lock-in * Start driver for Keithley 2450 sourcemeter * HP3458A: add RANGE and ARANGE commands 3.741 2021-02-09 * SR830: Fix and document the set_auto_sens function 3.740 2021-01-12 * Add R&S ZNL network analyzer driver 3.731 2020-12-18 * OI_Triton: ajust power ranges for temperature setters * SR830: Add method to automatically set optimal input range * Documentation improvements 3.730 2020-11-04 * Support Tektronix TBS1000C oscilloscope * Support Rigol DG5000 series waveform generator * OI_IPS: Set default communications protocol to "extended resolution" * OI_IPS: fix error reporting * Tutorial: Document refresh type 'block' 3.722 2020-10-16 * Agilent34460A: New driver * Countdown: Never sleep with a negative time * Fix bug in Lakeshore340 set_pid function 3.721 2020-08-17 * HP34420A: Add setter/getter for input filter state * Countdown: Never call Time::HiRes::sleep with a negative argument * Documentation improvements 3.720 2020-07-26 * ZI_MFLI: Add various setters/getters for the signal inputs 3.710 2020-07-12 * Documentation improvements * Declare minimum Perl 5.20 and enable strict everywhere * Add ZI HF2LI driver, mostly alias of ZI_MFLI 3.703 2020-06-21 * Bug fix in Moose::Sweep::Continuous so it can be called more than once * Dummysource: Add continous sweep functionality and test * Improve continuous sweep tests 3.702 2020-06-18 * Documentation fixes * Fix for Sweep-Continuous.t test on slow machines 3.701 2020-05-10 * HPE4400B driver requires PDL::Graphics::Gnuplot installed 3.700 2020-05-09 * Add endian flag to instruments * Support HP E4400B spectrum analyzer series * OI magnet PSUs: add check for persistent mode * ZI MFLI: re-work driver; add input selection, RMS * Lakeshore 340: add resistance readout, ZONE functions * Make XPRESS data file header more configurable 3.692 2020-03-03 * Lakeshore 340: add more functions * PD11042: Fix inifile and logfile for non-Activeperls 3.691 2019-11-14 * VISA: fix _set_visa_attribute * Add warning when using backslashes in hard copy plots on Windows * OI Triton: Add temperature ramp control functions * OI Triton: Do net set temperature twice in set_T * OI Triton: Do not enable PID in set_T 3.690 2019-09-21 * ZI_MFLI: add oscillator attribute * Tutorial: explain custom sweep setups without the 'Sweep' classes * Lab::Moose::Stabilizer: make 'stabilize' a non-method subroutine * VISA::USB: fix resource string creation 3.682 2019-07-02 * OI_Triton: enable read out of thermometer resistances * Step magnet sweep: Enable persistent mode usage 3.681 2019-04-29 * Add driver for KeysightE3633E current/voltage source * Fixes in Moose::Connection::VISA and the Lakeshore drivers 3.680 2019-03-11 * Moose LinuxGPIB connection: add support for end-of-string byte * Moose VISA connection: add support for end-of-string byte * Add Moose driver for Oxford Instruments ITC503, including a Helium-3 system "heat_sorb" sub * Add Moose driver for Oxford Instruments IPS magnet power supply * KeysightB2901A: fix issue with USB::TMC interface * Zurich Instruments MFLI/MFIA: make compatible with frequency sweep, add support for DC bias voltage * Add general "level sweep" 3.671 2018-12-08 * Live plots: Add support for minimal time interval between redraws * Add Moose Power sweep support * Documentation improvements 3.670 2018-11-22 * Add Moose driver for Lakeshore340 * Add driver for Keysight B2901A SMU * Add support for SCPI concurrent sense block * Add better support for live plots in high dimensional sweeps * Documentation improvements 3.664 2018-10-17 * Fix pod error breaking tests 3.663 2018-10-17 * Allow different data file compression types, use canonical file endings (.bz2, .gz, .xz, ...) * Add information about our journal article in the manual * Fix citation information 3.662 2018-10-07 * Add information about our journal article in the README * Make live plot refresh more configurable * First attempt at automatically compressed datafiles * Documentation improvements 3.661 2018-09-07 * Add Sense Impedance, Sense Null SCPI roles * Add AdjustRange role * Tutorial improvements * 2D plots: allow labeling of curve for each block 3.660 2018-07-09 * SR830: Empty output buffer in device initialization * Step sweep: Allow sweeps with multiple segments * Tutorial improvements 3.653 2018-06-22 * Documentation fixes * Add time_prefix option for data folders * Enable date_prefix and time_prefix by default 3.652 2018-06-15 * Add Step::Repeat sweep for repeating something * Allow adding of arbitrary metadata to META.yml, ensure logging of command line arguments * Add Moose driver for Keithley 2400 (source and measurement function) * Add Moose driver for HP 34420A Nanovoltmeter * Language fixes in the manual 3.651 2018-05-22 * OI_Triton: Make maximum T setpoint configurable * Add pretty print countdown function * Push deprecation of non-Moose code further in the future and make Lab::Measurement message more of a friendly recommendation 3.650 2018-05-18 * Gnuplot: Allow multiple curves per plot * Documentation cleanup and updates * Add a deprecation warning in the legacy Lab::Measurement module * Add functions parsing *IDN? output 3.642 2018-05-11 * Add generic Stabilizer role, waiting for something to converge * Factor out Oxford Instruments pseudo-SCPI support in separate role * Add temperature step sweep * Add Oxford Instruments Triton temperature control 3.641 2018-05-05 * When PDL::Graphics::Gnuplot is not installed, skip tests that need it 3.640 2018-05-04 * Add SpectrumAnalyzer role * Add Rigol_DSA815 spectrum analyzer driver * Convert HP8596E driver to use SpectrumAnalyzer role * Add DisplayXY trace display module * Add SCPI [:SENSe]:POWer subsystem * Add 'date_prefix' option to prefix output folders with 'YYYY-MM-DD_' * Disable gnuplot 'enhanced' text for png hard copy plots * Add 'refresh_plots' argument for log_block * Documentation and portability improvements * More examples for Moose-based interface 3.631 2018-04-18 * Documentation improvements 3.630 2018-04-09 * Enable continuous sweeps with multiple sections having different rates 3.624 2018-03-30 * Also distribute META.yml * Fix continous sweep tests * Implement Yokogawa GS200 continuous sweeping * Several additions to SCPI roles * Add HP8596E spectrum analyzer driver 3.623 2018-03-17 * Add VISA::USB connection: USB-TMC over NI-VISA * SR830: Do not cache measured values (!) 3.622 2018-03-07 * Various minor documentation fixes * Simplify file name of archived live plot 3.621 2018-02-26 * Enable creation of genereric Lab::Moose::Instrument objects * Improve sweep tutorial 3.620 2018-02-14 * Add SignalRecovery lock-in driver * OI Mercury: enable axis selection * Add driver for Keysight 34470A digital multimeter * Add USB ids for YokogawaGS200 and SMB100A * Remove non-Moose RSSMB100A driver, superseded by RS_SMB * Remove non-Moose SpectrumSCPI driver, superseded by RS_FSV * Remove non-Moose OI_IPS and OI_Mercury drivers, superseded by Moose versions * VNA support: Add 'set_frq/get_frq' functions for single frequency measurements * XPRESS: Update example scripts * Moose: support default connection options for instrument drivers * Moose: add abstract sweep framework (port of XPRESS) * Examples: add degaussing script, add FMR example * Documentation: Mention VXI-11 and USBTMC in the Linux installation instructions 3.613 2017-12-09 * Add DESTROY method in Lab::XPRESS::Sweep to avoid ugly warning * Improve metadata and documentation 3.612 2017-12-07 * Re-upload without duplicate files 3.611 2017-12-07 * Fix floating point precision issues in the tests 3.610 2017-12-07 * Simplify network timeout handling * Add Moose version of NI VISA connection * Add Moose drivers of R&S SMB100A, HP3458A, YokogawaGS200, HP34410A * Moose datafile: Add support for pm3d plots, optimize * R&S SMB100A: Add device cache * Add initial OI Mercury magnet support * VNAs: Calculate amplitude and phase data directly in instrument driver * Autoload Lab::Moose instruments in XPRESS again * Fix harmless error messages and decrease terminal noise * Add more examples and more documentation 3.600 2017-09-21 * Add vector cache functionality * Add device cache for the ZI MFLI * Add new connection backends: USB and VXI11 * Socket connection: do non-blocking IO * Add driver for Zurich Instruments MFIA Impedance Analyzer 3.554 2017-07-25 * Complete the PodWeaver conversion * Move Lab::XPRESS::Sweep::Sweep to Lab::XPRESS::Sweep * Documentation fixes and improvements * Start with OI Mercury magnet control support * Separate documentation build system into its own distro and repo * Adapt normal Perl directory structure * Clear executable bits of pm files in git 3.553 2017-07-03 * More PodWeaver conversion of documentation 3.552 2017-07-02 * Test release after converting a few files to PodWeaver 3.551 2017-06-29 * Add some help on hacking Lab::Measurement (HACKING) * Re-add RPM building functionality, now via Dist::Zilla 3.550 2017-06-21 * Port build system to Dist::Zilla * Fix lab-measurement/issues/4 (pgnuplot.exe became gnuplot.exe) 3.544 2017-06-12 * Do not load of Lab::Moose instruments in XPRESS::hub * Lakeshore 340: Only use 6 digits for setpoint * XPRESS Datafile: Replace '#COLUMNS#' with '#' in file header * TRMC2: Enable XPRESS step/list temperature sweep * Add docs for DataFile::Gnuplot precision attribute * Moose Gnuplot Datafile: Use default precision of 10 digits * Add initial support for Zurich Instruments devices * Moose SR830: Fix and test 'calculate_settling_time' * Moose SR830: Add 'calculate_saturation_time' method 3.543 2017-05-19 * Remove obsolete Lab::Data utility scripts * Add subclass example for IPS magnet control: IPSWeissDillFridge * Enable XPRESS sweeps (step or list) with Lakeshore340 * Skip test Analysis/DataAnalysis.t if perl uses long doubles * Remove remaining Lab::Data and XPRESS::Xpression.pl legacy code, fixes lab-measurement/issues/6 3.542 2017-05-01 * Clean up module descriptions * Add explicit license texts * Move Lab::VISA, homepage, and poster files to separate git repositories * Fix VNA sweep example script 3.541 2017-04-10 * Add VNA sweep example script * DataFile::Gnuplot::2D: Fix log_block: Do not replot for each added line * Moose/Connection/Socket: Do proper timeout handling with IO::Socket::Timeout * Fix t/Analysis/DataAnalysis.t on Windows * Early implementation of LeCroy WaveRunner 640 digital oscilloscope Instrument code * Add TCP socket connection with support for binary transmissions * Fix DataFile/Read.pm * Fix frequency setter/getter of RS_SMB * Make read_2d_gnuplot_format a function * Add more docs for set_get_test and scpi_set_get_test * RS_FSV: Add getter and setter for resolution bandwidth * Add basic driver for Rohde & Schwarz SMB RF source * Moose::Developer: Add docs for automated testing * Add common setter/getter/cache test t/Lab/Test.pm and use it in RS_ZVA and SR_830 tests * Add experimental support for Lakeshore 340 temperature controller * Fix tests with latest gnuplot 5.0.5 * OI_ITC503: Allow manual setting of PID parameters * Time Sweep: Add missing return statement and fix status messages * Time Sweep: Add config option for get_value() arguments 3.540 2017-02-01 * Fix tests on windows * Document several SCPI roles * Add help option in Moose MockTest * DataFile::Gnuplot::2D: Add hard-copy of plot in data folder * RS_ZVA: Add power and IF-bandwidth settings * Get started with pod file Lab::Moose::Developer * Delete Lab::Moose::BlockData and replace with PDL * Add DataFile::Gnuplot::2D * Moose: put plot_options into HashRef * Moose: Add driver for SR830 LIA * Add Lab::Moose::Plot: Moose based thin wrapper to PDL::Graphics::Gnuplot * fix bug in TDS2024 envelope waveform handling * scpi_parse_sequence bugfixes * Add docs for Lab::Moose::DataFile::Gnuplot * Add Lab::Moose * Skip Yokogawa7651 test, if the system printf is not C99 compatible * Yokogawa7651: Add more tests for set_level * Yokogawa7651: use %g instead of %e in set_level * DataFolder: Use getlogin instead of getpwuid for portability * Fix UTF-8 bug in POD * Do not use taint mode for t/Lab/Test/test.t * New Datafolder and Datafile modules * Add code for controlling a Tektronix TDS2024B digital oscilloscope over a USBtmc interface * Do not require Term::ANSIScreen, allow Term::ReadKey >= 2.32 * Remove GenericIO subsystem 3.531 2016-11-04 * Use one package per source file * Clean up xt directory * Do not put code before 'use strict' 3.530 2016-11-04 * XPRESS voltage sweep: Do not call active method for mode 'step' (speed gain) * Add minimal test for XPRESS voltage sweep with YokogawaGS200 * Add Charles Lane to dist_author * Sweep/Voltage.pm: Do not check instrument activity for step/list sweeps * Fix Term::ReadKey version requirements * Minor edits to scpi parsing, to eliminate newlines * Clean up USBtmc code, add timeout handling * Fix LinuxGPIB and update tests * Many documentation and example improvements * Remove Test::Files dependency, as it breaks the tests on windows * Use Instrument function for VNA examples * Enable Lab::Moose::Instrument drivers in XPRESS::hub::Instrument * Remove all read_length stuff from Lab::Moose * Apply various workarounds for temperature sweep with one sensor and Socket connection * Make OI_Triton able to do XPRESS temperature sweeps * Perltidy * Add Moose version of LinuxGPIB connection * Several improvements to SCPI parsing * Update MakeRPM to allow an (optional) parameter for setting the "release number" * Use delegation to get connection methods in Lab::Moose::Instrument * Add RS_FSV: driver for Rohde & Schwartz FSV Signal and Spectrum Analyzer * Add files for automatically building rpm distribution packages from the Lab::Measurement code * Add some more Perl::Critic policies from "Perl Best Practices" * Add a $self->{config}->{default_read_mode} to be applied to get_{cache parameter} when read_mode is not otherwise specified * Add 'average' option to sparam_sweep * Fix command ordering in VNASweep * Moose tests: Add commandline options for mock tests shortening subsequent keywords * Add connection logging and mock connection * Get started with Moose version of RS_ZVM. * Add RS_ZVM driver. Factor out common code of RS_ZVA and RS_ZVM. * Fix path creation in XPRESS datafile 3.512 2016-07-08 * Add Alexei Iankilevic and Simon Reinhard to dist_author * Remove Alois Dirnaichner from dist_author * Cleanup; remove unused test data * Fix gate_protect for sweeps with mode => 'step', jump => 1 * YokogawaGS200: Fixes * Remove examples using old Lab::Measurement interface, corresponding metadata scripts and tutorial * Remove the old Measurement code that noone uses here anymore * Remove the KnickS252 driver * Increase Andeen-Hagerling timeout for measurements at low frequencies * Documentation fixes 3.511 2016-06-27 * Add tests for Yokogawa 7651 and SR830::AuxOut 3.510 2016-06-23 * New driver SR830::AuxOut for the four rear panel DC outputs of the SR830 * New driver SR830::AuxIn for the four rear panel DC inputs of the SR830 * DEBUG bus, DummySource, and Source.pm bugfixes * Agilent34410A driver and documentation clean-up * Add support for SCPI keyword matching * Documentation improvements * Remove prototype '()' of stub methods in Source.pm (RT39745?) * Update Linux installation instructions * Add a generic Windows installation guide * Add pod test and compile test, fix pod errors and dependencies * Remove given/when constructs from code (now marked experimental) * Shut up all broken tests * Correct rate values of the 3 magnets of Cryo Weiss 3D * Moved N-dimensional sweep modules to correct directory 3.500 2016-02-02 * Fix Yokogawa 7651 support again * Add instrument driver for Lakeshore224 * Allow the user to change the IO interface, so background jobs work again * Update Oxford Instruments IPS driver * Enable (linear) sweeps in N-dimensional space (for the vector magnet) * ...