From 7600eb5ebbb8ac0f7532e7e7ae6cb5d4dc29d30b Mon Sep 17 00:00:00 2001 From: laforge Date: Tue, 8 Nov 2005 10:34:18 +0000 Subject: - better layering abstraciton - differentiate between library internal definitions and public ones - implement getopt/setopt like get/setsockopt - offer speed changing controls git-svn-id: https://svn.gnumonks.org/trunk/librfid@1662 e0336214-984f-0b4b-a45f-81c69e1f0ede --- src/rfid_asic_rc632.c | 17 +++++++++++++++++ 1 file changed, 17 insertions(+) (limited to 'src/rfid_asic_rc632.c') diff --git a/src/rfid_asic_rc632.c b/src/rfid_asic_rc632.c index 4377d73..e794a38 100644 --- a/src/rfid_asic_rc632.c +++ b/src/rfid_asic_rc632.c @@ -739,6 +739,22 @@ rc632_iso14443a_transcieve_acf(struct rfid_asic_handle *handle, return 0; } +static int rc632_iso14443a_set_speed(struct rfid_asic_handle *handle, + u_int8_t rate) +{ + int rc; + u_int8_t reg; + + rc = rc632_reg_read(handle, RC632_REG_CODER_CONTROL, ®); + if (rc < 0) + return rc; + + reg &= ~RC632_CDRDTRL_RATE_MASK; + reg |= (rate & RC632_CDRDTRL_RATE_MASK); + + return rc632_reg_write(handle, RC632_REG_CODER_CONTROL, reg); +} + static int rc632_iso14443b_init(struct rfid_asic_handle *handle) { int ret; @@ -1279,6 +1295,7 @@ struct rfid_asic rc632 = { .init = &rc632_iso14443a_init, .transcieve_sf = &rc632_iso14443a_transcieve_sf, .transcieve_acf = &rc632_iso14443a_transcieve_acf, + .set_speed = &rc632_iso14443a_set_speed, }, .iso14443b = { .init = &rc632_iso14443b_init, -- cgit v1.2.3