NAME
Lab::Moose - Convenient loaders and constructors for Lab::Moose::Instrument, Lab::Moose::Sweep, Lab::Moose::DataFolder and Lab::Moose::DataFile
VERSION
version 3.761
SYNOPSIS
use Lab::Moose;
my $vna = instrument(
type => 'RS_ZVA',
connection_type => 'LinuxGPIB',
connection_options => {timeout => 2}
);
my $folder = datafolder();
my $file = datafile(
type => 'Gnuplot',
folder => $folder,
filename => 'data.dat',
columns => ['gate', 'bias', 'current'],
);
my $meta_file = datafile(
type => 'Meta',
folder => $folder,
filename => 'file.yml'
);
my @points = linspace(from => -1, to => 1, step => 0.1);
SUBROUTINES
instrument
Load an instrument driver module and call the constructor.
Create instrument with new connection:
my $instr = instrument(
type => 'RS_SMB',
connection_type => 'VXI11',
connection_options => {host => '192.168.2.23'},
# other driver specific options
foo => 'ON',
bar => 'OFF',
);
Create instrument with existing connection:
my $instr = instrument(
type => $type,
connection => $connection_object,
# driver specific options
foo => 'ON',
bar => 'OFF',
);
Creating a generic instrument driver
To create a generic instrument driver, leave the type
attribute undefined. This can be useful when testing out new equipment before writing a new driver.
use Lab::Moose;
my $instrument = instrument(
connection_type => 'USB',
connection_options => {vid => 0x0957, pid => 0x0607}
);
# Use low-level methods provided by the connection: write, query, clear
print $instrument->query(command => "*IDN?");
datafolder
my $folder = datafolder(%args);
Create a new Lab::Moose::DataFolder.
datafile
my $file = datafile(type => $type, %args);
Load Lab::Moose::DataFile::$type
and call it's new
method with %args
.
The default type is 'Gnuplot'.
linspace
# create array (-1, -0.9, ..., 0.9, 1)
my @points = linspace(from => -1, to => 1, step => 0.1);
# create array without first point (-0.9, ..., 1)
my @points = linspace(from => -1, to => 1, step => 0.1, exclude_from => 1);
sweep/sweep_datafile
These are described in a separate tutorial: Lab::Measurement::Tutorial.
COPYRIGHT AND LICENSE
This software is copyright (c) 2021 by the Lab::Measurement team; in detail:
Copyright 2016 Simon Reinhardt
2017 Andreas K. Huettel, Simon Reinhardt
2018-2019 Simon Reinhardt
2020 Andreas K. Huettel
This is free software; you can redistribute it and/or modify it under the same terms as the Perl 5 programming language system itself.