partial ISO15693 support (based on patch by Bjoern Kaiser)
[librfid] / src / rfid_reader_cm5121.c
index 383fba2..f51cd82 100644 (file)
@@ -288,6 +288,12 @@ cm5121_mifare_auth(struct rfid_reader_handle *rh, u_int8_t cmd,
                                                        cmd, serno, block);
 }
 
+static int
+cm5121_rf_power(struct rfid_reader_handle *rh, int on)
+{
+       return rh->ah->asic->priv.rc632.fn.rf_power(rh->ah, on);
+}
+
 struct rfid_asic_transport cm5121_ccid = {
        .name = "CM5121 OpenCT",
        .priv.rc632 = {
@@ -360,10 +366,21 @@ cm5121_close(struct rfid_reader_handle *rh)
        free_reader_handle(rh);
 }
 
+static int
+cm5121_iso15693_transceive_ac(struct rfid_reader_handle *rh,
+                             struct iso15693_anticol_cmd *acf,
+                             unsigned char uuid[ISO15693_UID_LEN],
+                             char *bit_of_col)
+{
+       return rh->ah->asic->priv.rc632.fn.iso15693.transceive_ac(
+                                       rh->ah, acf, uuid, bit_of_col);
+}
+
 const struct rfid_reader rfid_reader_cm5121 = {
        .name   = "Omnikey CardMan 5121 RFID",
        .open = &cm5121_open,
        .close = &cm5121_close,
+       .rf_power = &cm5121_rf_power,
        .transceive = &cm5121_transceive,
        .l2_supported = (1 << RFID_LAYER2_ISO14443A) |
                        (1 << RFID_LAYER2_ISO14443B) |
@@ -384,6 +401,7 @@ const struct rfid_reader rfid_reader_cm5121 = {
        },
        .iso15693 = {
                .init = &cm5121_15693_init,
+               .transceive_ac = &cm5121_iso15693_transceive_ac,
        },
        .mifare_classic = {
                .setkey = &cm5121_mifare_setkey,