From 3ff7f5a9164a997ac22c5f91c59439d779791895 Mon Sep 17 00:00:00 2001 From: Dobrica Pavlinusic Date: Tue, 27 Jul 2010 00:11:46 +0200 Subject: [PATCH] implement RFID::Serial->scan and test it --- lib/RFID/Serial.pm | 23 +++++++++++++++++++++++ t/10-3M-810.t | 4 ++++ t/20-CPR-M02.t | 3 +++ 3 files changed, 30 insertions(+) diff --git a/lib/RFID/Serial.pm b/lib/RFID/Serial.pm index d23642c..e9435f6 100644 --- a/lib/RFID/Serial.pm +++ b/lib/RFID/Serial.pm @@ -32,6 +32,7 @@ Perhaps a little code snippet. my $rfid = RFID::Serial->new( device => '/dev/ttyUSB0', # with fallback to RFID_DEVICE ); + my $visible = $rfid->scan; =head1 SUBROUTINES/METHODS @@ -74,6 +75,28 @@ sub port { } +=head2 scan + + my $visible = $rfid->scan; + +Returns hash with keys which match tag UID and values with blocks + +=cut + +sub scan { + my $self = shift; + + warn "# scan tags in reader range\n"; + my @tags = $self->inventory; + + my $visible; + # FIXME this is naive implementation which just discards other tags + $visible->{$_} = $self->read_blocks( $_ )->{$_} foreach @tags; + + return $visible; +} + + =head1 MANDATORY IMPLEMENTATIONS Each reader must implement following hooks as sub-classes. diff --git a/t/10-3M-810.t b/t/10-3M-810.t index 7a737a7..ae2e961 100755 --- a/t/10-3M-810.t +++ b/t/10-3M-810.t @@ -15,3 +15,7 @@ ok( my @tags = $o->inventory, 'inventory' ); diag dump @tags; ok( my $blocks = $o->read_blocks( $_ ), "read_blocks $_" ) foreach @tags; + +ok( my $visible = $o->scan, 'scan' ); +diag dump $visible; + diff --git a/t/20-CPR-M02.t b/t/20-CPR-M02.t index 54c4a5d..fe4663d 100755 --- a/t/20-CPR-M02.t +++ b/t/20-CPR-M02.t @@ -15,3 +15,6 @@ ok( my @tags = $o->inventory, 'inventory' ); ok( my $blocks = $o->read_blocks( $_ ), "read_blocks $_" ) foreach @tags; +ok( my $visible = $o->scan, 'scan' ); +diag dump $visible; + -- 2.20.1