#define _RFID_ISO14443A_H
enum rfid_14443a_opt {
- RFID_OPT_14443A_SPEED_RX = 0x00000001,
- RFID_OPT_14443A_SPEED_TX = 0x00000002,
+ RFID_OPT_14443A_SPEED_RX = 0x00010001,
+ RFID_OPT_14443A_SPEED_TX = 0x00010002,
};
enum rfid_14443_opt_speed {
uid_size:2;
u_int8_t proprietary:4,
rfu2:4;
-};
+} __attribute__((packed));
#define ISO14443A_HLTA 0x5000
unsigned char sel_code;
unsigned char nvb;
unsigned char uid_bits[5];
-};
+} __attribute__((packed));
enum iso14443a_anticol_sel_code {
ISO14443A_AC_SEL_CODE_CL1 = 0x93,
ISO14443A_STATE_SELECTED,
};
+/* Section 6.1.2 values in usec, rounded up to next usec */
+#define ISO14443A_FDT_ANTICOL_LAST1 92 /* 1236 / fc = 91.15 usec */
+#define ISO14443A_FDT_ANTICOL_LAST0 87 /* 1172 / fc = 86.43 usec */
+
+#define ISO14443_CARRIER_FREQ 13560000
+#define ISO14443A_FDT_OTHER_LAST1(n) (((n*128+84)*1000000)/ISO14443_CARRIER_FREQ)
+
+
#include <librfid/rfid_layer2.h>
-struct rfid_layer2 rfid_layer2_iso14443a;
+extern const struct rfid_layer2 rfid_layer2_iso14443a;
#endif /* __LIBRFID__ */