NAME
RPi::WiringPi - Perl interface to Raspberry Pi's board/GPIO pin functionality
SYNOPSIS
use RPi::WiringPi;
use constant {
INPUT => 0,
OUTPUT => 1,
ON => 1,
OFF => 0,
};
my $pi = RPi::WiringPi->new;
my $gpio_pin_1 = $pi->pin(1);
my $gpio_pin_2 = $pi->pin(2);
$gpio_pin_1->mode(INPUT);
$gpio_pin_2->mode(OUTPUT)
my $is_hot = $gpio_pin_1->read;
if ($is_hot){
$gpio_pin_2->write(ON);
}
$pi->unregister_pin($gpio_pin_2);
DESCRIPTION
This is the root module for the RPi::WiringPi
system. It interfaces to a Raspberry Pi board, its accessories and its GPIO pins via the wiringPi library through the Perl wrapper RPi::WiringPi::Core module.
Although this module contains no XS code, the RPi::WiringPi::Core
module which other modules in this distribution relies on does.
wiringPi must be installed prior to installing/using this module.
PUBLIC METHODS
new()
Returns a new RPi::WiringPi
object.
pin($pin_num)
Returns a RPi::WiringPi::Pin object, mapped to a specified GPIO pin.
Parameters:
$pin_num
Mandatory: The wiringPi
representation of the GPIO pin number.
HELPER METHODS
These methods aren't normally needed by end-users. They're available for those who want to write their own libraries.
registered_pins()
Returns an array of RPi::WiringPi::Pin objects that are currently registered, and deemed to be in use.
register_pin($pin_obj)
Registers a GPIO pin within the system for error checking, and proper resetting of the pins in use when required.
Parameters:
$pin_obj
Mandatory: An object instance of RPi::WiringPi::Pin class.
unregister_pin($pin_obj)
Exactly the opposite of register_pin().
ENVIRONMENT VARIABLES
There are certain environment variables available to aid in testing on non-Raspberry Pi boards.
NO_BOARD
Set to true, will bypass the wiringPi
board checks. False will re-enable them.
AUTHOR
Steve Bertrand, <steveb@cpan.org>
COPYRIGHT AND LICENSE
Copyright (C) 2016 by Steve Bertrand
This library is free software; you can redistribute it and/or modify it under the same terms as Perl itself, either Perl version 5.18.2 or, at your option, any later version of Perl 5 you may have available.
1 POD Error
The following errors were encountered while parsing the POD:
- Around line 153:
Unterminated C<...> sequence