improve pod
[Biblio-RFID.git] / lib / RFID / Biblio.pm
index 4f3499d..29c06a9 100644 (file)
@@ -11,7 +11,7 @@ use Data::Dump qw(dump);
 
 =head1 NAME
 
-RFID::Biblio - support serial RFID devices
+RFID::Biblio - easy to use API for writing RFID enabled appliaction
 
 =cut
 
@@ -27,17 +27,21 @@ which is sutable for direct mapping to REST JSONP service.
 
 Perhaps a little code snippet.
 
-    use RFID::Biblio;
+       use RFID::Biblio;
 
-    my $rfid = RFID::Biblio->new(
+       my $rfid = RFID::Biblio->new(
                device => '/dev/ttyUSB0', # with fallback to RFID_DEVICE
        );
+
+       # invetory tags in reader range and read data from them
        my $visible = $rfid->scan;
 
-=head1 SUBROUTINES/METHODS
+=head1 METHODS
 
 =head2 new
 
+Open serial port (if needed) and init reader
+
 =cut
 
 sub new {
@@ -64,9 +68,14 @@ sub port {
        return $self->{port} if defined $self->{port};
 
        my $settings = $self->serial_settings;
-       $settings->{device} ||= $ENV{RFID_DEVICE};
+       my $device   = $settings->{device} ||= $ENV{RFID_DEVICE};
        warn "# settings ",dump $settings;
 
+       if ( ! $device ) {
+               warn "# no device, serial port not opened\n";
+               return;
+       }
+
        $self->{port} = Device::SerialPort->new( $settings->{device} )
        || die "can't open serial port: $!\n";
 
@@ -105,7 +114,7 @@ sub scan {
 }
 
 
-=head1 MANDATORY IMPLEMENTATIONS
+=head1 READER IMPLEMENTATION
 
 Each reader must implement following hooks as sub-classes.
 
@@ -192,6 +201,22 @@ sub as_hex {
 sub hex_tag { uc(unpack('H16', shift)) }
 
 
+=head1 SUPPORTED READERS
+
+Support for different RFID readers is implemented in subclasses:
+
+=head2 3M 810
+
+L<RFID::Biblio::3M810>
+
+=head2 CPR-M02
+
+L<RFID::Biblio::CPRM02>
+
+=head2 librfid
+
+L<RFID::Biblio::librfid>
+
 =head1 AUTHOR
 
 Dobrica Pavlinusic, C<< <dpavlin at rot13.org> >>