From 091edfa6a3cd9f94aa02260830951dc1798207d3 Mon Sep 17 00:00:00 2001 From: laforge Date: Sun, 23 Oct 2005 22:29:08 +0000 Subject: - 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 --- rfid_asic_rc632.c | 10 ++++++---- 1 file changed, 6 insertions(+), 4 deletions(-) (limited to 'rfid_asic_rc632.c') 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; -- cgit v1.2.3