NAME
Lab::Moose - Convenient loaders and constructors for Lab::Moose::Instrument, Lab::Moose::Sweep, Lab::Moose::DataFolder and Lab::Moose::DataFile
VERSION
version 3.930
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
$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) 2025 by the Lab::Measurement team; in detail:
Copyright 2016 Simon Reinhardt
2017 Andreas K. Huettel, Simon Reinhardt
2018-2019 Simon Reinhardt
2021 Fabian Weinelt
2024 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.