File Coverage

blib/lib/Lab/Moose/Instrument/SCPI/Sense/Sweep.pm
Criterion Covered Total %
statement 30 35 85.7
branch n/a
condition n/a
subroutine 11 13 84.6
pod 6 6 100.0
total 47 54 87.0


line stmt bran cond sub pod time code
1             package Lab::Moose::Instrument::SCPI::Sense::Sweep;
2             #ABSTRACT: Role for the SCPI SENSe:SWEep subsystem
3             $Lab::Moose::Instrument::SCPI::Sense::Sweep::VERSION = '3.880';
4 4     4   2765 use v5.20;
  4         18  
5              
6 4     4   21 use Moose::Role;
  4         10  
  4         34  
7 4     4   21028 use Lab::Moose::Instrument::Cache;
  4         16  
  4         32  
8             use Lab::Moose::Instrument
9 4     4   2483 qw/validated_channel_getter validated_channel_setter/;
  4         11  
  4         230  
10 4     4   28 use MooseX::Params::Validate;
  4         9  
  4         26  
11 4     4   1942 use Carp;
  4         16  
  4         225  
12              
13 4     4   27 use namespace::autoclean;
  4         10  
  4         39  
14              
15              
16             cache sense_sweep_points => ( getter => 'sense_sweep_points_query' );
17              
18             sub sense_sweep_points_query {
19 4     4 1 2119 my ( $self, $channel, %args ) = validated_channel_getter( \@_ );
20              
21 4         25 return $self->cached_sense_sweep_points(
22             $self->query( command => "SENS${channel}:SWE:POIN?", %args ) );
23             }
24              
25             sub sense_sweep_points {
26 8     8 1 8151 my ( $self, $channel, $value, %args ) = validated_channel_setter( \@_ );
27              
28 8         57 $self->write( command => "SENS${channel}:SWE:POIN $value", %args );
29 8         45 $self->cached_sense_sweep_points($value);
30             }
31              
32              
33             cache sense_sweep_count => ( getter => 'sense_sweep_count_query' );
34              
35             sub sense_sweep_count_query {
36 2     2 1 13 my ( $self, $channel, %args ) = validated_channel_getter( \@_ );
37 2         17 return $self->cached_sense_sweep_count(
38             $self->query( command => "SENS${channel}:SWE:COUN?", %args ) );
39             }
40              
41             sub sense_sweep_count {
42 1     1 1 4 my ( $self, $channel, $value, %args ) = validated_channel_setter( \@_ );
43              
44 1         13 $self->write( command => "SENS${channel}:SWE:COUN $value", %args );
45 1         5 $self->cached_sense_sweep_count($value);
46             }
47              
48              
49             cache sense_sweep_time => ( getter => 'sense_sweep_time_query' );
50              
51             sub sense_sweep_time_query {
52 0     0 1   my ( $self, $channel, %args ) = validated_channel_getter( \@_ );
53 0           return $self->cached_sense_sweep_time(
54             $self->query( command => "SENS${channel}:SWE:TIME?", %args ) );
55             }
56              
57             sub sense_sweep_time {
58 0     0 1   my ( $self, $channel, $value, %args ) = validated_channel_setter( \@_ );
59              
60 0           $self->write( command => "SENS${channel}:SWE:TIME $value", %args );
61 0           $self->cached_sense_sweep_time($value);
62             }
63              
64             1;
65              
66             __END__
67              
68             =pod
69              
70             =encoding UTF-8
71              
72             =head1 NAME
73              
74             Lab::Moose::Instrument::SCPI::Sense::Sweep - Role for the SCPI SENSe:SWEep subsystem
75              
76             =head1 VERSION
77              
78             version 3.880
79              
80             =head1 METHODS
81              
82             =head2 sense_sweep_points_query
83              
84             =head2 sense_sweep_points
85              
86             Query/Set the number of points in the sweep.
87              
88             =head2 sense_sweep_count_query
89              
90             =head2 sense_sweep_count
91              
92             Query/Set the number of sweeps initiated by a trigger (like INIT).
93              
94             =head2 sense_sweep_time_query
95              
96             =head2 sense_sweep_time
97              
98             Query/Set the sweep time in which the spectrum analyzer sweeps the required frequency range.
99              
100             =head1 COPYRIGHT AND LICENSE
101              
102             This software is copyright (c) 2023 by the Lab::Measurement team; in detail:
103              
104             Copyright 2016 Simon Reinhardt
105             2017 Andreas K. Huettel, Simon Reinhardt
106             2018 Eugeniy E. Mikhailov
107             2020 Andreas K. Huettel
108              
109              
110             This is free software; you can redistribute it and/or modify it under
111             the same terms as the Perl 5 programming language system itself.
112              
113             =cut