diff options
author | laforge <laforge@e0336214-984f-0b4b-a45f-81c69e1f0ede> | 2008-01-27 02:15:48 +0000 |
---|---|---|
committer | laforge <laforge@e0336214-984f-0b4b-a45f-81c69e1f0ede> | 2008-01-27 02:15:48 +0000 |
commit | c203de04bd740e324b06615b98932ac9fa734ed2 (patch) | |
tree | 42801098aab2fdd4e2a63af47035c0d817b60ed6 /src/rfid_layer2_iso14443a.c | |
parent | 6b2db45060b26cc4e42ca6130f236596f9a02c82 (diff) |
* improve scanning support:
** first try REQA/HLTA/REQA/HLTA until no more tags found
** then power off the field and start from the beginning again
* add proper RF field on/off switching support to all readers
* reduce timer to actual value, don't multiply by 10
* detect collisions during transceive_sf (ATQA)
* make UID length depend on cascade level, not ATQA
git-svn-id: https://svn.gnumonks.org/trunk/librfid@2056 e0336214-984f-0b4b-a45f-81c69e1f0ede
Diffstat (limited to 'src/rfid_layer2_iso14443a.c')
-rw-r--r-- | src/rfid_layer2_iso14443a.c | 10 |
1 files changed, 5 insertions, 5 deletions
diff --git a/src/rfid_layer2_iso14443a.c b/src/rfid_layer2_iso14443a.c index 9bdd25a..148960d 100644 --- a/src/rfid_layer2_iso14443a.c +++ b/src/rfid_layer2_iso14443a.c @@ -237,13 +237,10 @@ cascade: } } - h->level = ISO14443A_LEVEL_NONE; - h->state = ISO14443A_STATE_SELECTED; - { - if (uid_size == 1) + if (h->level == ISO14443A_LEVEL_CL1) handle->uid_len = 4; - else if (uid_size == 2) + else if (h->level == ISO14443A_LEVEL_CL2) handle->uid_len = 7; else handle->uid_len = 10; @@ -251,6 +248,9 @@ cascade: DEBUGP("UID %s\n", rfid_hexdump(handle->uid, handle->uid_len)); } + h->level = ISO14443A_LEVEL_NONE; + h->state = ISO14443A_STATE_SELECTED; + if (sak[0] & 0x20) { DEBUGP("we have a T=CL compliant PICC\n"); handle->proto_supported = 1 << RFID_PROTOCOL_TCL; |