diff options
author | laforge <laforge@e0336214-984f-0b4b-a45f-81c69e1f0ede> | 2005-11-08 10:34:18 +0000 |
---|---|---|
committer | laforge <laforge@e0336214-984f-0b4b-a45f-81c69e1f0ede> | 2005-11-08 10:34:18 +0000 |
commit | 7600eb5ebbb8ac0f7532e7e7ae6cb5d4dc29d30b (patch) | |
tree | f38665192c50bdcbbda8e74d00f585ced5cea63b /src/rfid_asic_rc632.c | |
parent | 27e8fe5394184505e09318d3691761da59ecdff5 (diff) |
- 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
Diffstat (limited to 'src/rfid_asic_rc632.c')
-rw-r--r-- | src/rfid_asic_rc632.c | 17 |
1 files changed, 17 insertions, 0 deletions
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, |