AnsweredAssumed Answered

NxpNfcRdLib, Tag 4 B, CLRC663, NDEF

Question asked by bioshazard on Feb 10, 2020
Latest reply on Feb 17, 2020 by Estephania Martinez


I have now, for several days been trying to use the NxpNfc library
to use an CLRC663 plus with a K64F microcontroller.
I want to read and write NDEF messages on a Type 4 B Tag.

First the problem was, that all the available tutorials for porting 
the library to the K64F are either deprecated or plainly wrong.
Especially the step where it says to add the SDK as a project
is as far as I understand not correct. It has to be added as a folder instead,
and even then the rest of the tutorial is not strictly correct.


After wasting working almost a week on Porting the library (due to the tutorials not being correct) I got the 
NfcrdlibEx1_BasicDiscoveryLoop example to work on the K64F. After taking another day figuring out that the
tutorial I was using was missing several lines of code that had actually to be added. 



It is now able to detect the Type 4 B tag correctly.
Since the PUPI is correctly displayed, some communication obviously takes place.


The example prints " \n\r Card detected and activated successfully... \n\r" so I would assume the card is now active,
even though the phacDiscLoop_ActivateCard function has not been called?
I am unsure what that means for a type 4 B card though.
Does that mean the card is in the READY-DECLARED or in the PROTOCOL state?



Any further communication function I call

phpalI14443p3b_Exchange or
returns 0x0201, which I think is "HAL_TIMEOUT"?


I have read ISO14443-3, ISO14443-4 and ISO7816,
as well as UM10802.


But the way the library is written, I still have to constantly read up on everything.

Since the functions practically only take uint8_t and uint16_t arguments,
I can barely get any support/auto-complete help by the IDE!



Could someone please please PLEASE! provide me with a complete example,
or at least the list of functions in the nxpnfc library I have to call in order to:


1) Detect a Type 4 B tag (there will always only be at most one tag in the field at one time),


? )Activate / Switch it to the PROTOCOL state it if this step is necessary ?


?) Select the NDEF application if this step is necessary ?


2) Switch communication speed to 424kbit/s in both directions


?) Read the NDEF Capability container (not really needed, since I already know the file properties)


3) Select an NDEF file on the tag (I need to switch between different files)


4) Read/write NDEF messages to/from the tag?


It took less than 2 hours to accomplish this using an Android app.
How can it be this much more difficult (currently at around 40 hours) to do this using the nxpnfc library?!


In case it helps, I attached all the available information about the tag I want to read/write NDEF messages to/from.
I am totally frustrated by now...
Please help me out!  : (