cancel
Showing results for 
Search instead for 
Did you mean: 

Getting CRC_ERR on rflaNfcvPollerReadMulitpleBlocks

enric.puigvert
Associate II

Hi everyone,

I've just migred my project from st25r95 to st25r2916 NFC chip. Finally I could reach a good point where seem to be all working again.

But I have one issue with rfalNfcvPollerReadMultipleBlocks() function.

Firstly, I want to describe you the sequence I do to execute the function I said above:

1. I do an Inventory to discover the tag UID

2. I use rfalNfcvPollerGetSystemInformation() to retrieve the information about the TAG

3. Finally, I use rfalNfcvPollerReadMultipleBlocks(RFAL_NFCV_REQ_FLAG_DEFAULT | RFAL_NFCV_REQ_FLAG_SELECT, NULL, 0, 2-1, &data[0], (2 * 4+ 1), 7);

NOTE:

  • number of blocks = 2
  • block size = 4
  • data is a buffer 
  • I am using a non-addressed mode, but in addressed mode the behavior is the same

With this configuration, I get CRC_ERR (0x15) as a return code.

I don't understand what it means. Could you kindly explain it to me, please? What could cause this error?

Thank you very much.

Enric Puigvert

1 ACCEPTED SOLUTION

Accepted Solutions
Ulysses HERNIOSUS
ST Employee

Hi Enric,

ST25R39xx devices are doing the NFC-V decoding in software. The driver needs two more byte to be able to store the CRC-16 and subsequently check it. I think just making the provided RX buffer 2 bytes larger should solve your issue.

BR, Ulysses

View solution in original post

2 REPLIES 2
Ulysses HERNIOSUS
ST Employee

Hi Enric,

ST25R39xx devices are doing the NFC-V decoding in software. The driver needs two more byte to be able to store the CRC-16 and subsequently check it. I think just making the provided RX buffer 2 bytes larger should solve your issue.

BR, Ulysses

Hi Ulysses,

I've just tried your solution, and you were right! I was missing the 2 bytes from CRC.

Thank you very much for your fast response 🙂

Greetings,

Enric Puigvert