File Coverage

blib/lib/Lab/Moose/Instrument/ZI_MFIA.pm
Criterion Covered Total %
statement 25 25 100.0
branch n/a
condition n/a
subroutine 9 9 100.0
pod 1 1 100.0
total 35 35 100.0


line stmt bran cond sub pod time code
1             package Lab::Moose::Instrument::ZI_MFIA;
2             $Lab::Moose::Instrument::ZI_MFIA::VERSION = '3.880';
3             #ABSTRACT: Zurich Instruments MFIA Impedance Analyzer.
4              
5 2     2   3315 use v5.20;
  2         10  
6              
7 2     2   14 use Moose;
  2         3  
  2         139  
8 2     2   16039 use MooseX::Params::Validate;
  2         7  
  2         23  
9 2     2   1559 use Lab::Moose::Instrument::Cache;
  2         6  
  2         22  
10 2     2   1325 use Carp;
  2         6  
  2         199  
11 2     2   14 use namespace::autoclean;
  2         5  
  2         15  
12              
13 2     2   172 use Lab::Moose::Instrument 'timeout_param';
  2         4  
  2         107  
14 2     2   21 use Lab::Moose::Instrument::Cache;
  2         4  
  2         11  
15              
16             extends 'Lab::Moose::Instrument::ZI_MFLI';
17              
18              
19             sub get_impedance_sample {
20 1     1 1 7 my ( $self, %args ) = validated_hash(
21             \@_,
22             timeout_param(),
23             );
24 1         427 return $self->sync_poll(
25             path => $self->device() . "/imps/0/sample",
26             %args
27             );
28             }
29              
30             # FIXME: warn/croak on AUTO freq, bw, ...
31              
32             __PACKAGE__->meta()->make_immutable();
33              
34             1;
35              
36             __END__
37              
38             =pod
39              
40             =encoding UTF-8
41              
42             =head1 NAME
43              
44             Lab::Moose::Instrument::ZI_MFIA - Zurich Instruments MFIA Impedance Analyzer.
45              
46             =head1 VERSION
47              
48             version 3.880
49              
50             =head1 SYNOPSIS
51              
52             use Lab::Moose;
53              
54             my $mfia = instrument(
55             type => 'ZI_MFIA',
56             connection_type => 'Zhinst',
57             connection_options => {
58             host => '132.188.12.13',
59             port => 8004,
60             });
61              
62             $mfia->set_frequency(value => 10000);
63              
64             # Get impedance sample
65             my $sample = $mfia->get_impedance_sample();
66             my $real = $sample->{realz};
67             my $imag = $sample->{imagz};
68             my $parameter_1 = $sample->{param0};
69             my $parameter_2 = $sample>{param1};
70              
71             =head1 METHODS
72              
73             Supports all methods provided by L<Lab::Moose::Instrument::ZI_MFLI>.
74              
75             =head2 get_impedance_sample
76              
77             my $sample = $mfia->get_impedance_sample(timeout => $timeout);
78             # keys in $sample: timeStamp, realz, imagz, frequency, phase, flags, trigger,
79             # param0, param1, drive, bias
80              
81             Return impedance sample as hashref. C<$timeout> argument is optional.
82              
83             =head1 COPYRIGHT AND LICENSE
84              
85             This software is copyright (c) 2023 by the Lab::Measurement team; in detail:
86              
87             Copyright 2017 Simon Reinhardt
88             2020 Andreas K. Huettel
89              
90              
91             This is free software; you can redistribute it and/or modify it under
92             the same terms as the Perl 5 programming language system itself.
93              
94             =cut