—package
Lab::Moose::Sweep::Step::Pulsewidth;
$Lab::Moose::Sweep::Step::Pulsewidth::VERSION
=
'3.930'
;
#ABSTRACT: Pulsewidth sweep.
use
v5.20;
use
Moose;
has
filename_extension
=>
(
is
=>
'ro'
,
isa
=>
'Str'
,
default
=>
'Pulsewidth='
);
has
setter
=> (
is
=>
'ro'
,
isa
=>
'CodeRef'
,
builder
=>
'_build_setter'
);
has
instrument
=>
(
is
=>
'ro'
,
isa
=>
'ArrayRefOfInstruments'
,
coerce
=> 1,
required
=> 1 );
has
constant_delay
=> (
is
=>
'ro'
,
isa
=>
'Bool'
,
default
=> 0 );
sub
_build_setter {
return
\
&_pulsewidth_setter
;
}
sub
_pulsewidth_setter {
my
$self
=
shift
;
my
$value
=
shift
;
foreach
(@{
$self
->instrument}) {
$_
->set_pulsewidth(
value
=>
$value
,
constant_width
=>
$self
->constant_delay
);
}
}
__PACKAGE__->meta->make_immutable();
1;
__END__
=pod
=encoding UTF-8
=head1 NAME
Lab::Moose::Sweep::Step::Pulsewidth - Pulsewidth sweep.
=head1 VERSION
version 3.930
=head1 Description
Step sweep with following properties:
=over
=item *
Uses instruments C<set_pulsewidth> method to change the pulsewidth. On initialization
an optional boolean parameter C<constant_delay> can be passed to keep a constant
delay time over a pulse period.
=item *
Default filename extension: C<'Pulsewidth='>
=back
See pulsewidth-sweep.pl in the examples::Sweeps folder for a simple pulsewidth
sweep example.
=head1 COPYRIGHT AND LICENSE
This software is copyright (c) 2025 by the Lab::Measurement team; in detail:
Copyright 2021 Fabian Weinelt
This is free software; you can redistribute it and/or modify it under
the same terms as the Perl 5 programming language system itself.
=cut