cancel
Showing results for 
Search instead for 
Did you mean: 

How can I use the rfal_1.3.0 libraries to read and write to iCode tags?

MBenn
Associate

I am using a Raspberry Pi with the rfal_1.3.0 libraries and with the demo software I can get the board to read iCode Tag UIDs without any problem.

However, I want to be able to read and write from the iCode tags memory, but I can’t find the commands within the library to be able to send and receive data. In the example, it uses the SysInfoReq command, but I can’t see any way of viewing the data back from the tag. I have taken the sample code provided and modified the main state machine to include DataExchangeSart and Check functions, which utilise the exampleRfalPollerDataExchange function, but I am unable to see the data that is returned.

If anyone could advise on how to get to see the data returned?

In my final solution I want to read the UID, read and write to the memory of the iCode tags.

Any advice would be greatly appreciated.

1 ACCEPTED SOLUTION

Accepted Solutions
Grégoire Poulain
ST Employee

Hi Matthew,

In order to use the convenience methods available in rfal_nfcv.c to perform Read/Write operations you just need to execute them after identifying the card.

After going through anti collision (rfalNfcvPollerCollisionResolution) you can perform any action in either Addressed or Selected mode.

You can find some example code provided on a previous thread here:

https://community.st.com/s/question/0D50X00009XkWNXSA3/st25r3911b-calls-to-readwrite-block-after-successful-inventoryget-id

Best regards

GP

View solution in original post

3 REPLIES 3
Ulysses HERNIOSUS
ST Employee

Hi Matthew,

in rfal_nfcv.c you will find various functions like rfalNfvReadSingleBlock() to read data from an ISO15693/icode tag.

Regards, Ulysses

MBenn
Associate

Hi Ulysses,

Thank you for your quick response, I really appreciate it.

I have looked through the routines that are in the rfal_nfcv.c but there isn’t any example of how to link them together to talk to and read tags. In exampleRfalPollerRun() it has a ‘state machine’ that provides an example of communicating with tags, is there any example that you can point me at that shows me something similar?

If there isn’t any example, could you provide me with some sudo code?

Many thanks in advance.

Matthew

Grégoire Poulain
ST Employee

Hi Matthew,

In order to use the convenience methods available in rfal_nfcv.c to perform Read/Write operations you just need to execute them after identifying the card.

After going through anti collision (rfalNfcvPollerCollisionResolution) you can perform any action in either Addressed or Selected mode.

You can find some example code provided on a previous thread here:

https://community.st.com/s/question/0D50X00009XkWNXSA3/st25r3911b-calls-to-readwrite-block-after-successful-inventoryget-id

Best regards

GP