summaryrefslogtreecommitdiff
path: root/firmware/src/pcd/main_analog.c
diff options
context:
space:
mode:
Diffstat (limited to 'firmware/src/pcd/main_analog.c')
-rw-r--r--firmware/src/pcd/main_analog.c20
1 files changed, 16 insertions, 4 deletions
diff --git a/firmware/src/pcd/main_analog.c b/firmware/src/pcd/main_analog.c
index 799a98b..0f61693 100644
--- a/firmware/src/pcd/main_analog.c
+++ b/firmware/src/pcd/main_analog.c
@@ -34,6 +34,16 @@
#include <os/trigger.h>
#include <os/pcd_enumerate.h>
#include <os/main.h>
+#include <pcd/rc632_highlevel.h>
+
+#include <librfid/rfid_reader.h>
+#include <librfid/rfid_layer2.h>
+#include <librfid/rfid_protocol.h>
+
+#define RAH NULL
+
+static struct rfid_reader_handle *rh;
+static struct rfid_layer2_handle *l2h;
void _init_func(void)
{
@@ -43,9 +53,11 @@ void _init_func(void)
rc632_turn_on_rf(RAH);
/* FIXME: do we need this? */
DEBUGPCRF("initializing 14443A operation");
- rc632_iso14443a_init(RAH);
+ rh = rfid_reader_open(NULL, RFID_READER_OPENPCD);
+ l2h = rfid_layer2_init(rh, RFID_LAYER2_ISO14443A);
+
/* Switch to 848kBps (1subcp / bit) */
- //rc632_clear_bits(RAH, RC632_REG_RX_CONTROL1, RC632_RXCTRL1_SUBCP_MASK);
+ //opcd_rc632_clear_bits(RAH, RC632_REG_RX_CONTROL1, RC632_RXCTRL1_SUBCP_MASK);
}
int _main_dbgu(char key)
@@ -76,7 +88,7 @@ int _main_dbgu(char key)
if (ret == 1) {
ana_out_sel &= 0x0f;
DEBUGPCR("switching to analog output mode 0x%x\n", ana_out_sel);
- rc632_reg_write(RAH, RC632_REG_TEST_ANA_SELECT, ana_out_sel);
+ opcd_rc632_reg_write(RAH, RC632_REG_TEST_ANA_SELECT, ana_out_sel);
}
return ret;
@@ -91,7 +103,7 @@ void _main_func(void)
trigger_pulse();
- if (rc632_iso14443a_transceive_sf(RAH, ISO14443A_SF_CMD_WUPA, &atqa) < 0) {
+ if (iso14443a_transceive_sf(l2h, ISO14443A_SF_CMD_WUPA, &atqa) < 0) {
DEBUGPCRF("error during transceive_sf");
led_switch(1, 0);
} else {
personal git repositories of Harald Welte. Your mileage may vary