Pallav Joshi

How to mask tags having UID more than 4 bytes in ISO14443A protocol in NXP NFC reader library.

Discussion created by Pallav Joshi on Jun 30, 2020
Latest reply on Jul 10, 2020 by Ricardo Zamora
I am using the "NXP NFC Reader Library" for reading HF(ISO14443A) tags like "Classic"/"Ultralight" etc. I can read tags using the below functions call.
++++++++++++++++++++++++++++++++++++++++++
/*Symbol 6,7,8*/
status = phpalI14443p3a_Anticollision( pDataParams->pPal1443p3aDataParams,
                                                               aCascadeCodes[bCascadeCodeIdx], /* Cascade code */
                                                                                                       aTypeAUid, /* Input UID */
                                                                                                 bTypeANvbUid, /* UID len = 0 */
                                                                                                       aTypeAUid, /* UID out */
                                                                                             &bTypeANvbUid); /* UID out size */
++++++++++++++++++++++++++++++++++++++++++
where, " aTypeAUid" is NULL. If I initialize " aTypeAUid" with some bytes data, Let assume " aTypeAUid = {0x01, 0x02}", then I am able to read tags having UID starting from "0102".
But if the tag is having UID of 7 bytes this above logic is not working. I have the following query. a) Is there a way in the NXP NFC Reader library to do masked UID read(filtered read basis on UID).
If I apply the mask as "1234", I should be able to read-only tags starting from "1234" b) How to resolve the above issue. Please let me know if there is any document or example code to achieve read on basis of UID matching to given mask bytes.

Outcomes