NAME
PINE64::GPIO - Perl interface to PineA64 and PineA64+ GPIO pins
SYNOPSIS
use PINE64::GPIO;
#instantiate PINE64::GPIO object
my $p64 = PINE64::GPIO->new();
#export pin 25 (physical pin 40) for output
$p64->gpio_enable(25, 'out');
#continuously blink LED
for(;;){
$p64->gpio_write(25, 1);
sleep(1);
$p64->gpio_write(25, 0);
sleep(1);
}#end for
DESCRIPTION
This module manipulates the GPIO file system interface of the PineA64 and PineA64+ single board computers so you can control the GPIO pins on the PineA64's PI-2 bus.
The PineA64's 40-pin PI-2 bus has the same pinout as the Raspberry Pi's 40-pin GPIO, however this module has it's own GPIO pin numbering convention for the 26 GPIO pins as follows:
Module# Physical# A64 sys# ------------------------------------------ 0 3 227 1 5 226 2 7 362 3 11 71 4 13 233 5 15 76 6 19 64 7 21 65 8 23 66 9 29 229 10 31 230 11 33 69 12 35 73 13 37 80 14 8 32 15 10 33 16 12 72 17 16 77 18 18 78 19 22 79 20 24 67 21 26 231 22 32 68 23 36 70 24 38 74 25 40 75
METHODS
new()
Returns a new PINE64::GPIO
object.
gpio_enable($pin, 'out')
Takes the GPIO pin number and direction as arguments and exports it for use as either an input or output.
Valid pin number arguments are 0-15, and the direction is either 'in' or 'out'.
$p64->gpio_enable(25, 'out');
gpio_read($pin)
Takes pin number as an argument and returns the logic value on the pin.
gpio_write($pin, $value)
Takes pin number and value as an argument and writes the value to the GPIO pin. Valid values are 0 or 1.
gpio_disable($pin)
Takes pin number as an argument and unexports the pin in the file system interface.
AUTHOR
Dustin La Ferney