File Coverage

blib/lib/Lab/XPRESS/Sweep/SignalRecoveryPhase.pm
Criterion Covered Total %
statement 11 36 30.5
branch 0 4 0.0
condition 0 3 0.0
subroutine 4 11 36.3
pod 1 7 14.2
total 16 61 26.2


line stmt bran cond sub pod time code
1             package Lab::XPRESS::Sweep::SignalRecoveryPhase;
2             $Lab::XPRESS::Sweep::SignalRecoveryPhase::VERSION = '3.881';
3             #ABSTRACT: Signal recovery lock in phase sweep
4              
5 1     1   1693 use v5.20;
  1         4  
6              
7 1     1   7 use Lab::XPRESS::Sweep;
  1         2  
  1         28  
8 1     1   5 use Time::HiRes qw/usleep/, qw/time/;
  1         2  
  1         6  
9 1     1   96 use strict;
  1         2  
  1         484  
10              
11             our @ISA = ('Lab::XPRESS::Sweep');
12              
13             sub new {
14 0     0 0   my $proto = shift;
15 0           my @args = @_;
16 0   0       my $class = ref($proto) || $proto;
17             my $self->{default_config} = {
18 0           id => 'Power_Sweep',
19             filename_extension => 'POW=',
20             interval => 1,
21             points => [],
22             rate => [1],
23             mode => 'step',
24             allowed_instruments => ['Lab::Instrument::SignalRecovery726x'],
25             allowed_sweep_modes => [ 'list', 'step' ],
26             number_of_points => [undef]
27             };
28              
29 0           $self = $class->SUPER::new( $self->{default_config}, @args );
30 0           bless( $self, $class );
31              
32 0           return $self;
33             }
34              
35             sub go_to_sweep_start {
36 0     0 0   my $self = shift;
37              
38             # go to start:
39             $self->{config}->{instrument}
40 0           ->set_refpha( { value => @{ $self->{config}->{points} }[0] } );
  0            
41             }
42              
43             sub start_continuous_sweep {
44 0     0 0   my $self = shift;
45              
46 0           return;
47              
48             }
49              
50             sub go_to_next_step {
51 0     0 0   my $self = shift;
52              
53             $self->{config}->{instrument}->set_refpha(
54 0           { value => @{ $self->{config}->{points} }[ $self->{iterator} ] } );
  0            
55              
56             }
57              
58             sub exit_loop {
59 0     0 0   my $self = shift;
60              
61 0 0         if ( $self->{config}->{mode} =~ /step|list/ ) {
62 0 0         if (
63             not
64 0           defined @{ $self->{config}->{points} }[ $self->{iterator} + 1 ] )
65             {
66 0           return 1;
67             }
68             else {
69 0           return 0;
70             }
71             }
72             }
73              
74             sub get_value {
75 0     0 1   my $self = shift;
76 0           return $self->{config}->{instrument}->get_refpha();
77             }
78              
79             sub exit {
80 0     0 0   my $self = shift;
81 0           $self->{config}->{instrument}->abort();
82             }
83              
84             1;
85              
86             __END__
87              
88             =pod
89              
90             =encoding UTF-8
91              
92             =head1 NAME
93              
94             Lab::XPRESS::Sweep::SignalRecoveryPhase - Signal recovery lock in phase sweep
95              
96             =head1 VERSION
97              
98             version 3.881
99              
100             =head1 SYNOPSIS
101              
102             use Lab::XPRESS::hub;
103             my $hub = new Lab::XPRESS::hub();
104            
105            
106             my $lia = ...
107            
108             my $sweep_voltage = $hub->Sweep('SignalRecoveryPhase',
109             {
110             instrument => $lia,
111             points => [0,10],
112             stepwidth => [1],
113             mode => 'step',
114             backsweep => 0
115             });
116              
117             .
118              
119             =head1 DESCRIPTION
120              
121             Parent: Lab::XPRESS::Sweep
122              
123             The Lab::XPRESS::Sweep::SignalRecoveryPhase
124              
125             =head1 CAVEATS/BUGS
126              
127             probably none
128              
129             =head1 SEE ALSO
130              
131             =over 4
132              
133             =item L<Lab::XPRESS::Sweep>
134              
135             =back
136              
137             =head1 COPYRIGHT AND LICENSE
138              
139             This software is copyright (c) 2023 by the Lab::Measurement team; in detail:
140              
141             Copyright 2021 Simon Reinhardt
142              
143              
144             This is free software; you can redistribute it and/or modify it under
145             the same terms as the Perl 5 programming language system itself.
146              
147             =cut