From bd409be6f99c801b77b14e9a2605c0f5f1735840 Mon Sep 17 00:00:00 2001 From: Dobrica Pavlinusic Date: Tue, 27 Jul 2010 22:28:00 +0200 Subject: [PATCH] read_afi --- lib/RFID/Serial/3M810.pm | 24 ++++++++++++++++++++++++ t/10-3M-810.t | 2 ++ 2 files changed, 26 insertions(+) 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; -- 2.20.1