cleanup programming script
authorDobrica Pavlinusic <dpavlin@rot13.org>
Thu, 2 Sep 2010 16:45:38 +0000 (18:45 +0200)
committerDobrica Pavlinusic <dpavlin@rot13.org>
Thu, 2 Sep 2010 16:45:38 +0000 (18:45 +0200)
scripts/program.pl

index 443e475..7dbfc7f 100755 (executable)
@@ -11,24 +11,25 @@ use Biblio::RFID::RFID501;
 
 my $reader;
 my $afi;
+my $debug = 0;
 
 GetOptions(
        'reader=s', => \$reader,
        'afi=i',    => \$afi,
+       'debug+',   => \$debug,
 ) || die $!;
 
 my ( $sid, $content ) =  @ARGV;
 die "usage: $0 [--reader regex_filter] [--afi 214] E0_RFID_SID [barcode]\n" unless $sid && ( $content | $afi );
 
-my @rfid = Biblio::RFID::Reader->available( $reader );
+my $rfid = Biblio::RFID::Reader->new( $reader );
+$Biblio::RFID::debug = $debug;
 
-foreach my $rfid ( @rfid ) {
-       my $visible = $rfid->scan;
-       foreach my $tag ( keys %$visible ) {
-               next unless $tag eq $sid;
-               warn "PROGRAM $tag with $content\n";
-               $rfid->write_blocks( $tag => Biblio::RFID::RFID501->from_hash({ content => $content }) );
-               $rfid->write_afi(    $tag => chr($afi) ) if $afi;
-       }
+foreach my $tag ( $rfid->tags ) {
+       warn "visible $tag\n";
+       next unless $tag eq $sid;
+       warn "PROGRAM $tag with $content\n";
+       $rfid->write_blocks( $tag => Biblio::RFID::RFID501->from_hash({ content => $content }) );
+       $rfid->write_afi(    $tag => chr($afi) ) if $afi;
 }