2018-04-11 08:33 AM
Hello
In lib_iso15693pcd.c : function ISO15693_WriteSingleBlock.
It seems that the return value of PCD_SendRecv is not handled. The function
ISO15693_WriteSingleBlock
returns always success.
I can see many other places where the behaviour is similar.
Juilen
Solved! Go to Solution.
2018-04-20 01:35 AM
Hi Julien,
Thanks for reporting this bug.
The firmware checks the answer from the CR95HF/ST95HF with the wrong error code, for example :
if (PCD_IsReaderResultCodeOk (SEND_RECEIVE,pResponse) == ISO15693_ERRORCODE_DEFAULT) return ISO15693_ERRORCODE_DEFAULT;�?�?�?
It should be replaced by this code:
if (PCD_IsReaderResultCodeOk (SEND_RECEIVE,pResponse) != PCD_SUCCESSCODE)
return ISO15693_ERRORCODE_DEFAULT;�?�?
This appears also in the lib_nfctype5pcd.c file.
This will be fixed in a next release.
Thank you again for your feedback.
Best Regards.
2018-04-20 01:35 AM
Hi Julien,
Thanks for reporting this bug.
The firmware checks the answer from the CR95HF/ST95HF with the wrong error code, for example :
if (PCD_IsReaderResultCodeOk (SEND_RECEIVE,pResponse) == ISO15693_ERRORCODE_DEFAULT) return ISO15693_ERRORCODE_DEFAULT;�?�?�?
It should be replaced by this code:
if (PCD_IsReaderResultCodeOk (SEND_RECEIVE,pResponse) != PCD_SUCCESSCODE)
return ISO15693_ERRORCODE_DEFAULT;�?�?
This appears also in the lib_nfctype5pcd.c file.
This will be fixed in a next release.
Thank you again for your feedback.
Best Regards.
2018-04-20 04:21 AM
Hi,
Yes, but in some places, this code does not exist. It is commented out. For example line 517 in lib_iso_15693pcd.c in CubeExpansion_NFC3_V1.2.0.
That's more specifically what I am talking about.
In two words, error code is not always checked and when it is, it is badly done.
:)
regards
Julien