use Data::Dump qw(dump);
use Getopt::Long;
use lib 'lib';
-use RFID::Biblio::Reader;
-use RFID::Biblio::RFID501;
+use Biblio::RFID::Reader;
+use Biblio::RFID::RFID501;
use Storable;
my $evolis_dir = '/home/dpavlin/klin/Printer-EVOLIS'; # FIXME
my $loop = 1;
my $reader = '3M';
my $debug = 0;
-my $afi = 0x42;
+my $afi = 0x00; # XXX
my $test = 0;
+my $log_print = 'log.print';
+mkdir $log_print unless -d $log_print;
+
GetOptions(
'loop!' => \$loop,
'reader=s', => \$reader,
print "# queue ", dump @queue;
-my $rfid = RFID::Biblio::Reader->new( $reader );
-$RFID::Biblio::debug = $debug;
+my $rfid = Biblio::RFID::Reader->new( $reader );
+$Biblio::RFID::debug = $debug;
sub tag {
my $tag = shift;
, " AFI: "
, uc unpack('H2', $rfid->afi($tag))
, " "
- , dump( RFID::Biblio::RFID501->to_hash( $rfid->blocks($tag) ) )
+ , dump( Biblio::RFID::RFID501->to_hash( $rfid->blocks($tag) ) )
, $/
;
}
+sub iso_date {
+ my @t = localtime(time);
+ return sprintf "%04d-%02d-%02dT%02d:%02d:%02d", $t[5]+1900,$t[4]+1,$t[3],$t[2],$t[1],$t[0];
+}
+
sub print_card;
+my $log_path = "$log_print/" . iso_date . ".txt";
+die "$log_path exists" if -e $log_path;
+open(my $log, '>', $log_path) || die "$log_path: $!";
+
while ( $rfid->tags ) {
print "ERROR: remove all tags from output printer tray\n";
sleep 1;
my $card = shift @queue;
my $number = $card->[0];
print "PROGRAM $tag $number\n";
- $rfid->write_blocks( $tag => RFID::Biblio::RFID501->from_hash({ content => $number }) );
+ $rfid->write_blocks( $tag => Biblio::RFID::RFID501->from_hash({ content => $number }) );
$rfid->write_afi( $tag => chr($afi) ) if $afi;
$programmed->{$tag} = $number;
store $programmed, $persistant_path;
+
+ print $log iso_date, ",$tag,$number\n";
}
},
if ( ! @queue ) {
print "QUEUE EMPTY - printing finished\n";
+ close($log);
+ print "$log_path ", -s $log_path, " bytes created\n";
exit;
}