File Coverage

blib/lib/RPi/WiringPi/Constant.pm
Criterion Covered Total %
statement 27 28 96.4
branch n/a
condition n/a
subroutine 9 10 90.0
pod n/a
total 36 38 94.7


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