The Perl Toolchain Summit needs more sponsors. If your company depends on Perl, please support this very important event.

NAME

AnyEvent::SerialPort - AnyEvent::Handle subclass for serial ports

VERSION

version 1.130171

SYNOPSIS

  use AnyEvent;
  use AnyEvent::SerialPort;

  my $cv = AnyEvent->condvar;

  my $hdl;
  $hdl = AnyEvent::SerialPort->new(
           serial_port => '/dev/ttyUSB0',
           # other AnyEvent::Handle arguments here
         );

  # or to use something other than 9600 8n1 raw
  $hdl = AnyEvent::SerialPort->new
          (
           serial_port =>
             [ '/dev/ttyUSB0',
               [ baudrate => 4800 ],
               # other [ "Device::SerialPort setter name" => \@arguments ] here
             ],
           # other AnyEvent::Handle arguments here
         );

  # obtain the Device::SerialPort object
  my $port = $hdl->serial_port;

DESCRIPTION

This module is a subclass of AnyEvent::Handle for serial ports.

IMPORTANT: This is a new API and is still subject to change. Feedback and suggestions would be very welcome.

METHODS

new(%parameters)

Constructs an AnyEvent::SerialPort object based on the given parameters. The permitted parameters are those of the AnyEvent::Handle super class constructor (except connect and fh which would not make sense) and a serial_port parameter. The value of the serial port parameter may be either:

  • the full path name of the serial device, or

  • a list reference containing the full path name of the serial device and zero or more list references each containing a Device::SerialPort method name and arguments to be executed on the wrapped Device::SerialPort object.

By default, the following setter methods are called on the underlying Device::SerialPort object:

baudrate(9600),
databits(8),
parity('none'),
stopbits(1), and
datatype('raw')

The second form of the serial_port parameter value described above can be used to override these settings and apply additional setters.

See the "SYNOPSIS" for examples.

serial_port()

Return the wrapped Device::SerialPort object.

AUTHOR

Mark Hindess <soft-cpan@temporalanomaly.com>

COPYRIGHT AND LICENSE

This software is copyright (c) 2013 by Mark Hindess.

This is free software; you can redistribute it and/or modify it under the same terms as the Perl 5 programming language system itself.