From: Dobrica Pavlinusic Date: Tue, 27 Jul 2010 20:28:00 +0000 (+0200) Subject: read_afi X-Git-Tag: RFID-Biblio-0.02~132 X-Git-Url: http://git.rot13.org/?p=Biblio-RFID.git;a=commitdiff_plain;h=bd409be6f99c801b77b14e9a2605c0f5f1735840;hp=fa2c39d297645eb8f9fadef4bb4727925ba22d5a read_afi --- diff --git a/lib/RFID/Serial/3M810.pm b/lib/RFID/Serial/3M810.pm index 892c20f..334ffcb 100644 --- a/lib/RFID/Serial/3M810.pm +++ b/lib/RFID/Serial/3M810.pm @@ -200,4 +200,28 @@ sub read_blocks { return $tag_blocks; } +sub read_afi { + my $tag = shift; + $tag = shift if ref $tag; + + cmd( + "0A $tag", "read_afi $tag", sub { + my $data = shift; + + if ( my $rest = _matched $data => '0A 00' ) { + + my $tag = hex_tag substr($rest,0,8); + my $afi = substr($rest,8,1); + + warn "# SECURITY ", hex_tag($tag), " AFI: ", as_hex($afi); + + return $afi; + } elsif ( my $rest = _matched $data => '0A 06' ) { + warn "ERROR reading security from $tag ", as_hex($data); + } else { + warn "IGNORED ",as_hex($data); + } + }); +} + 1 diff --git a/t/10-3M-810.t b/t/10-3M-810.t index ae2e961..972b41a 100755 --- a/t/10-3M-810.t +++ b/t/10-3M-810.t @@ -16,6 +16,8 @@ diag dump @tags; ok( my $blocks = $o->read_blocks( $_ ), "read_blocks $_" ) foreach @tags; +ok( my $afi = $o->read_afi( $_ ), "read_afi $_" ) foreach @tags; + ok( my $visible = $o->scan, 'scan' ); diag dump $visible;