NAME

RPi::Serial - Basic read/write interface to a serial port

SYNOPSIS

use RPi::Serial;

my $dev  = "/dev/ttyAMA0";
my $baud = 115200;

my $ser = RPi::Serial->new($dev, $baud);

$ser->putc(5);
$ser->puts("hello, world!");

my $char = $ser->getc;

my $num_bytes = 12;
my $str  = $ser->gets($num_bytes);

$ser->flush;

my $bytes_available = $ser->avail;

$ser->close;

METHODS

new($device, $baud);

Opens the specified serial port at the specified baud rate, and returns a new RPi::Serial object.

Parameters:

$device

Mandatory, String: The serial device to open (eg: "/dev/ttyAMA0".

$baud

Mandatory, Integer: A valud baud rate to use.

close

Closes an already open serial device.

avail

Returns the number of bytes waiting to be read if any.

flush

Flush any data currently in the serial buffer.

fd

Returns the ioctl file descriptor for the current serial object.

getc

Retrieve a single character from the serial port.

gets($num_bytes)

Read a specified number of bytes into a string.

Parameters:

$num_bytes

Mandatory, Integer; The number of bytes to read. If this number is larger than what is available to be read, a 10 second timeout will briefly hand your application.

putc($char)

Writes a single character to the serial device.

Parameters:

$char

Mandatory, Unsigned Char: The character to write to the port.

puts($string)

Write a character string to the serial device.

Parameters:

$string

Mandatory, String: Whatever you want to write to the serial line.

AUTHOR

Steve Bertrand, <steveb at cpan.org>

LICENSE AND COPYRIGHT

Copyright 2017 Steve Bertrand.

This program is free software; you can redistribute it and/or modify it under the terms of either: the GNU General Public License as published by the Free Software Foundation; or the Artistic License.

See http://dev.perl.org/licenses/ for more information.