Partial MFC support while checking target presence on PN532/PN531
Goal is to implement "ping" on MFC the same as PN533 does. This patch implements MFC re-selection, but do not take care about authentication; this means this will have side effect while you are authenticated on a MFC block.
This commit is contained in:
parent
1a3acdadc4
commit
7b5ab23452
2 changed files with 11 additions and 1 deletions
|
@ -148,6 +148,12 @@ main(int argc, const char *argv[])
|
||||||
} else {
|
} else {
|
||||||
printf("No target found.\n");
|
printf("No target found.\n");
|
||||||
}
|
}
|
||||||
|
|
||||||
|
printf("Waiting for card removing...");
|
||||||
|
while (0 == (res = nfc_initiator_target_is_present(pnd, NULL))) {}
|
||||||
|
nfc_perror(pnd, "nfc_initiator_target_is_present");
|
||||||
|
printf("done.\n");
|
||||||
|
|
||||||
nfc_close(pnd);
|
nfc_close(pnd);
|
||||||
nfc_exit(context);
|
nfc_exit(context);
|
||||||
exit(EXIT_SUCCESS);
|
exit(EXIT_SUCCESS);
|
||||||
|
|
|
@ -1800,7 +1800,11 @@ pn53x_initiator_target_is_present(struct nfc_device *pnd, const nfc_target *pnt)
|
||||||
//TODO MFC Mini (atqa0004/sak09) fails on PN533
|
//TODO MFC Mini (atqa0004/sak09) fails on PN533
|
||||||
ret = pn53x_Diagnose06(pnd);
|
ret = pn53x_Diagnose06(pnd);
|
||||||
} else {
|
} else {
|
||||||
ret = NFC_EDEVNOTSUPP;
|
if((ret = pn53x_initiator_select_passive_target_ext(pnd, CHIP_DATA(pnd)->current_target->nm, CHIP_DATA(pnd)->current_target->nti.nai.abtUid, CHIP_DATA(pnd)->current_target->nti.nai.szUidLen, NULL, 50)) == 1) {
|
||||||
|
ret = NFC_SUCCESS;
|
||||||
|
} else if ((ret == 0) || (ret == NFC_ETIMEOUT)) {
|
||||||
|
ret = NFC_ETGRELEASED;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
} else {
|
} else {
|
||||||
// unknown
|
// unknown
|
||||||
|
|
Loading…
Reference in a new issue