diff options
author | laforge <laforge@e0336214-984f-0b4b-a45f-81c69e1f0ede> | 2005-10-23 22:29:08 +0000 |
---|---|---|
committer | laforge <laforge@e0336214-984f-0b4b-a45f-81c69e1f0ede> | 2005-10-23 22:29:08 +0000 |
commit | 091edfa6a3cd9f94aa02260830951dc1798207d3 (patch) | |
tree | 4bb63dec06e773caca0cf9b9b7a3197849f6ae71 /rfid_asic_rc632.c | |
parent | 6d7f1185f88ea5c788d0f7b113db8e2b98ca6336 (diff) |
- fix CRC issue (cl632 now removes crc from end of frame)
- make TCL implementation use correct frame type for both 14443a/b
git-svn-id: https://svn.gnumonks.org/trunk/librfid@1562 e0336214-984f-0b4b-a45f-81c69e1f0ede
Diffstat (limited to 'rfid_asic_rc632.c')
-rw-r--r-- | rfid_asic_rc632.c | 10 |
1 files changed, 6 insertions, 4 deletions
diff --git a/rfid_asic_rc632.c b/rfid_asic_rc632.c index eeb6d89..fae4f01 100644 --- a/rfid_asic_rc632.c +++ b/rfid_asic_rc632.c @@ -576,7 +576,6 @@ rc632_iso14443a_transcieve_sf(struct rfid_asic_handle *handle, if (ret < 0) return ret; - ret = rc632_clear_bits(handle, RC632_REG_CONTROL, RC632_CONTROL_CRYPTO1_ON); if (ret < 0) @@ -631,10 +630,13 @@ rc632_iso14443ab_transcieve(struct rfid_asic_handle *handle, switch (frametype) { case RFID_14443A_FRAME_REGULAR: - case RFID_14443B_FRAME_REGULAR: - channel_red = RC632_CR_TX_CRC_ENABLE|RC632_CR_TX_CRC_ENABLE + channel_red = RC632_CR_RX_CRC_ENABLE|RC632_CR_TX_CRC_ENABLE |RC632_CR_PARITY_ENABLE|RC632_CR_PARITY_ODD; break; + case RFID_14443B_FRAME_REGULAR: + channel_red = RC632_CR_RX_CRC_ENABLE|RC632_CR_TX_CRC_ENABLE + |RC632_CR_CRC3309; + break; case RFID_MIFARE_FRAME: channel_red = RC632_CR_PARITY_ENABLE|RC632_CR_PARITY_ODD; break; @@ -1255,7 +1257,7 @@ rc632_mifare_transcieve(struct rfid_asic_handle *handle, RC632_CR_RX_CRC_ENABLE)); #endif ret = rc632_clear_bits(handle, RC632_REG_CHANNEL_REDUNDANCY, - RC632_CR_TX_CRC_ENABLE|RC632_CR_TX_CRC_ENABLE); + RC632_CR_RX_CRC_ENABLE|RC632_CR_TX_CRC_ENABLE); if (ret < 0) return ret; |