File Coverage

blib/lib/RPi/LCD.pm
Criterion Covered Total %
statement 9 9 100.0
branch n/a
condition n/a
subroutine 3 3 100.0
pod n/a
total 12 12 100.0


line stmt bran cond sub pod time code
1             package RPi::LCD;
2              
3 1     1   14714 use strict;
  1         3  
  1         28  
4 1     1   3 use warnings;
  1         2  
  1         37  
5              
6             our $VERSION = '2.3601';
7              
8 1     1   418 use parent 'WiringPi::API';
  1         215  
  1         4  
9             use RPi::WiringPi::Constant qw(:all);
10              
11             sub new {
12             my $self = bless {}, shift;
13             if (! defined $ENV{RPI_PIN_SCHEME}){
14             $self->setup_gpio();
15             }
16             return $self;
17             }
18             sub init {
19             my ($self, %params) = @_;
20              
21             my @required_args = qw(
22             rows cols bits rs strb
23             d0 d1 d2 d3 d4 d5 d6 d7
24             );
25            
26             for (@required_args){
27             if (! defined $params{$_}) {
28             die "\n'$_' is a required param for ::LCD::lcd_init()\n";
29             }
30             }
31              
32             my $fd = $self->lcd_init(%params);
33              
34             $self->_fd($fd);
35              
36             return $self->_fd();
37             }
38             sub home {
39             $_[0]->lcd_home($_[0]->_fd);
40             }
41             sub clear {
42             $_[0]->lcd_clear($_[0]->_fd);
43             }
44             sub display {
45             my ($self, $state) = @_;
46             $self->lcd_display($self->_fd, $state);
47             }
48             sub cursor {
49             my ($self, $state) = @_;
50             $self->lcd_cursor($self->_fd, $state);
51             }
52             sub cursor_blink {
53             my ($self, $state) = @_;
54             $self->lcd_cursor_blink($self->_fd, $state);
55             }
56             sub send_cmd {
57             my ($self, $cmd) = @_;
58             $self->lcd_send_cmd($self->_fd, $cmd);
59             }
60             sub position {
61             my ($self, $x, $y) = @_;
62             $self->lcd_position($self->_fd, $x, $y);
63             }
64             sub char_def {
65             my ($self, $index, $data) = @_;
66             $self->lcd_char_def($self->_fd, $index, $data);
67             }
68             sub print_char {
69             my ($self, $data) = @_;
70             $self->lcd_put_char($self->_fd, $data);
71             }
72             sub print {
73             my ($self, $string) = @_;
74             $self->lcd_puts($self->_fd, $string);
75             }
76             sub _fd {
77             my ($self, $fd) = @_;
78             if (defined $fd){
79             $self->{fd} = $fd;
80             }
81             return $self->{fd}
82             }
83             1;
84             __END__