|
Device::ParallelPort - Parallel Port Driver for Perl |
Device::ParallelPort - Parallel Port Driver for Perl
my $port = Device::ParallelPort->new();
$port->set_bit(3,1);
print $port->get_bit(3) . "\n";
print ord($port->get_byte(0)) . "\n";
$port->set_byte(0, chr(255));
A parallel port driver module. This module provides an API to all parallel ports, by providing the ability to write any number of drivers. Modules are available for linux (both directly and via parport), win32 and a simple script version.
NOTE - This actual module is a factory class only - it is used to automatically return the correct class and has not other intelligence / purpose.
NOTE - You MUST load one of the drivers for your operating system before this module will correctly work - they are in separate CPAN Modules.
L<Device::ParallelPort::drv::linux> - Direct hardware access to a base address.
L<Device::ParallelPort::drv::parport> - Linux access to /dev/parport drivers
L<Device::ParallelPort::drv::script> - Run a script with parameters
L<Device::ParallelPort::drv::dummy_byte> - Pretending byte driver for testing
L<Device::ParallelPort::drv::dummy_bit> - Pretending bit driver for testing
L<Device::ParallelPort::drv::win32> - Windows 32 DLL access driver
L<Device::ParallelPort::Printer> - An example that can talk to a printer
L<Device::ParallelPort::JayCar> - Simple JayCar electronics latched, addressable controller
L<Device::ParallelPort::SerialFlash> - SerialFlash of bits - useful for many driver chips
Device::ParallelPort.
NOTE - VALUE must be a single charachter - NOT an integer. Use chr(interger).
Lots... This is not a fast driver. It is designed to give you simple access to a very old device, the parallel chip. Don't, whatever you do, use this for drivers that need fast access.
Following is the standard hardware table, so that you can find the correct pins and information. Note also the Inverted flag.
A number of real projects have been produced using Device::ParallelPort. For futher information see http://linux.dd.com.au/quest/os-perl/parallelport/
Pin No (DB25) - Signal name - Direction - Register - bit - Inverted
1 - nStrobe - Out - Control-0 - Yes
2 - Data0 - In/Out - Data-0 - No
3 - Data1 - In/Out - Data-1 - No
4 - Data2 - In/Out - Data-2 - No
5 - Data3 - In/Out - Data-3 - No
6 - Data4 - In/Out - Data-4 - No
7 - Data5 - In/Out - Data-5 - No
8 - Data6 - In/Out - Data-6 - No
9 - Data7 - In/Out - Data-7 - No
1 - 0 nAck - In - Status-6 - No
1 - 1 Busy - In - Status-7 - Yes
1 - 2 Paper-Out - In - Status-5 - No
1 - 3 Select - In - Status-4 - No
1 - 4 Linefeed - Out - Control-1 - Yes
1 - 5 nError - In - Status-3 - No
1 - 6 nInitialize - Out - Control-2 - No
1 - 7 nSelect-Printer - Out - Control-3 - Yes
18-25 - Ground
Not known yet. Windows support is new so expect some.
Refer to TODO list with packages and code.
History here covers central Device::ParallelPort and not the specific drivers, see them individually. For full history see Changes in the package.
Copyright (c) 2002,2003,2004 Scott Penrose. All rights reserved. This program is free software; you can redistribute it and/or modify it under the same terms as Perl itself.
Scott Penrose scottp@dd.com.au, http://linux.dd.com.au/
the Device::ParallelPort::drv manpage for developing a driver.
|
Device::ParallelPort - Parallel Port Driver for Perl |