File Coverage

blib/lib/RPi/Const.pm
Criterion Covered Total %
statement 30 31 96.7
branch n/a
condition n/a
subroutine 10 11 90.9
pod n/a
total 40 42 95.2


line stmt bran cond sub pod time code
1             package RPi::Const;
2              
3 8     8   133583 use strict;
  8         23  
  8         240  
4 8     8   49 use warnings;
  8         18  
  8         420  
5              
6             our $VERSION = '1.02';
7              
8             require Exporter;
9 8     8   54 use base qw( Exporter );
  8         23  
  8         1088  
10             our @EXPORT_OK = ();
11             our %EXPORT_TAGS = ( all => \@EXPORT_OK );
12              
13             use constant {
14 8         1176 PWM_MODE_MS => 0,
15             PWM_MODE_BAL => 1,
16 8     8   63 };
  8         50  
17              
18             { # PWM modes
19             my @const = qw(
20             PWM_MODE_MS
21             PWM_MODE_BAL
22             );
23              
24             push @EXPORT_OK, @const;
25             $EXPORT_TAGS{pwm_mode} = \@const;
26             }
27              
28             use constant {
29 8         1187 INPUT => 0,
30             OUTPUT => 1,
31             PWM_OUT => 2,
32             GPIO_CLOCK => 3,
33             SOFT_PWM_OUTPUT => 4,
34             SOFT_TONE_OUTPUT => 5,
35             PWM_TONE_OUTPUT => 6,
36 8     8   71 };
  8         21  
37              
38             { # pinmodes
39             my @const = qw(
40             INPUT
41             OUTPUT
42             PWM_OUT
43             GPIO_CLOCK
44             SOFT_PWM_OUTPUT
45             SOFT_TONE_OUTPUT
46             PWM_TONE_OUTPUT
47             );
48              
49             push @EXPORT_OK, @const;
50             $EXPORT_TAGS{pinmode} = \@const;
51             }
52              
53             use constant {
54 8         1019 ALT0 => 4,
55             ALT1 => 5,
56             ALT2 => 6,
57             ALT3 => 7,
58             ALT4 => 3,
59             ALT5 => 2,
60 8     8   58 };
  8         21  
61              
62             { # alt modes
63             my @const = qw(
64             ALT0
65             ALT1
66             ALT2
67             ALT3
68             ALT4
69             ALT5
70             );
71              
72             push @EXPORT_OK, @const;
73             $EXPORT_TAGS{altmode} = \@const;
74             }
75              
76             use constant {
77 8         781 PUD_OFF => 0,
78             PUD_DOWN => 1,
79             PUD_UP => 2,
80 8     8   50 };
  8         18  
81              
82             { # pull
83             my @const = qw(
84             PUD_UP
85             PUD_DOWN
86             PUD_OFF
87             );
88              
89             push @EXPORT_OK, @const;
90             $EXPORT_TAGS{pull} = \@const;
91             };
92              
93             use constant {
94 8         917 HIGH => 1,
95             LOW => 0,
96             ON => 1,
97             OFF => 0,
98 8     8   50 };
  8         17  
99            
100             { # state
101              
102             my @const = qw(
103             HIGH
104             LOW
105             ON
106             OFF
107             );
108              
109             push @EXPORT_OK, @const;
110             $EXPORT_TAGS{state} = \@const;
111             }
112              
113             use constant {
114 8         908 EDGE_SETUP => 0,
115             EDGE_FALLING => 1,
116             EDGE_RISING => 2,
117             EDGE_BOTH => 3,
118 8     8   54 };
  8         17  
119            
120             { # interrupt
121              
122             my @const = qw(
123             EDGE_SETUP
124             EDGE_FALLING
125             EDGE_RISING
126             EDGE_BOTH
127             );
128              
129             push @EXPORT_OK, @const;
130             $EXPORT_TAGS{edge} = \@const;
131             }
132              
133             use constant {
134 8         1065 RPI_MODE_WPI => 0,
135             RPI_MODE_GPIO => 1,
136             RPI_MODE_GPIO_SYS => 2,
137             RPI_MODE_PHYS => 3,
138             RPI_MODE_UNINIT => -1,
139 8     8   137 };
  8         18  
140              
141             { # mode
142              
143             my @const = qw(
144             RPI_MODE_WPI
145             RPI_MODE_GPIO
146             RPI_MODE_GPIO_SYS
147             RPI_MODE_PHYS
148             RPI_MODE_UNINIT
149             );
150              
151             push @EXPORT_OK, @const;
152             $EXPORT_TAGS{mode} = \@const;
153             }
154              
155 0     0     sub _vim{1;};
156             1;
157             __END__