2022-06-16 12:17 AM
Hello Developers,
I am currently working on a project that includes NFC communication using ST25R3911B-DISCO board and ST25DV NFC tags. The project also includes development of custom GUI application similar to STSW-ST25R001 software.
Currently i am using STSW-ST25R001 PC software to communicate with ST25R3911B-DISCO board. But can any one let me know is there JAVA source code available for STSW-ST25R001 software ? And if yes please share the necessary links.
Solved! Go to Solution.
2022-06-17 04:48 AM
Hi Nikhil,
STSW-ST25R001 GUI was developed in C++ with Qt.
Nevertheless, the GUI Application itself is not relevant to address the ST25R3911B.
Underneath the GUI Application a DLL is provided which grants the APIs needed for driving the ST25R3911B-DISCO board.
The DLL is available inside installation folder (ST25R3911DISCOComm.h/lib/dll) and demo projects are also provided at: C:\Users\$USER\Documents\STMicroelectronics\ST25R3911B_Discovery_GUI\DLL_Demos
Our recommendation for your developments is to make use of ST25PC-NFC software (STSW-ST25PC001) (which makes use of the above DLL), or directly using the DLL if so preferred.
Kind regards
GP
2022-06-17 12:26 AM
Hi
STSW-ST25R001 is not Java based software.
If you need Java based software, I would recommend to use the ST25PC-NFC software (STSW-ST25PC001) and its related Java source (STSW-ST25PC002).
Rgds
BT
2022-06-17 03:12 AM
Hello,
Can you let me know STSW-ST25R001 software is based on which language ? And how can i get the source code for the same.
Regards,
Nikhil Komalan
2022-06-17 04:48 AM
Hi Nikhil,
STSW-ST25R001 GUI was developed in C++ with Qt.
Nevertheless, the GUI Application itself is not relevant to address the ST25R3911B.
Underneath the GUI Application a DLL is provided which grants the APIs needed for driving the ST25R3911B-DISCO board.
The DLL is available inside installation folder (ST25R3911DISCOComm.h/lib/dll) and demo projects are also provided at: C:\Users\$USER\Documents\STMicroelectronics\ST25R3911B_Discovery_GUI\DLL_Demos
Our recommendation for your developments is to make use of ST25PC-NFC software (STSW-ST25PC001) (which makes use of the above DLL), or directly using the DLL if so preferred.
Kind regards
GP
2022-06-19 10:57 PM
Okay thanks for information.
2022-06-23 04:22 AM
Hello,
So as said above we are using ST25R3911B-DISCO reader to communicate with ST25DV dynamic tags in Fast Transfer mode. Our desktop application is already half developed using C# and we are able to only read tag id for the same. But to perform FTM operation requires certain commands, which we don't have.
So as per my understanding to perform a certain task between tag and reader (for eg. mailbox read) there would be a command to initiate a mailbox read from reader side sent towards dynamic tag.
Similarly there would be some fixed set of commands in compliance with ISO15693 to perform specific functions in Fast Transfer mode. I would like to have the list of commands so that i can i communicate with ST25 dynamic tag in FTM mode.
Regards,
Nikhil Komalan
2022-06-23 05:44 AM
Hi Nikhil,
In order to use the mailbox for FTM, you have to first enable the mailbox:
All those commands are described in the ST25DV datasheet.
Once you have formatted one of those command, it can be sent from the reader to the tag thanks to transceive functions (you can use iso15693TxRxNBytes API or rfalTransceiveBlockingTxRx API. See for example https://community.st.com/s/question/0D53W00001ZWoO6SAL/can-i-have-some-guidance-on-how-to-use-the-str25r3111discocomm-dll-for-iso-15693-r2h-ftm-transfers-in-c)
Rgds
BT
2022-07-02 05:05 AM
I would like to know few more information regarding the frame format.
For example:
When i read the GPO static register, i get the following value "800500B0CCBA00" in response. I would like to know how to determine the value of SOF and EOF. Will it be same in all response which i will receive.
Also if i decode the response of the GPO read, it gives me the 2byte SOF (8005), 1byte response flag(00), 1byte reg value (0xB0), 2byte CRC (CCBA) and 1byte EOF(00).
Have i decoded the frame correctly ? Or i am missing something ?
Example :
Response : 8005 00 B0 CCBA 00
SOF: ?
Response Flag: 00
Reg Value: B0
CRC: CCBA
EOF: ?
2022-07-04 12:55 AM
Hello,
So i looked at the ST25DV datasheet for RF commands and frame formats also the logs of the PC software to understand how the data frame is transmiited and receieved and its quiet easy to understancd.
But as i told previously we already have a half built application made in C#. So i cant move to any other language. In my application currently i am able to perform the inventory discovery succesffuly read the ID of NFC tag. Also i am able to read the data from mailbox (tested by writing data from ST software in Mailbox and reading from C# based software). But when i try to perform the write to mailbox operation it gives me error of invalid command.
There are certain files in my project which add the protocol header to the data frame, which makes my data frame completely different from the one defined in ST25DV datasheet as well as different from the one sent using ST25 PC software. I guess the ST25R3911B_SENDRECEIVE function does the same like adding the protocol headers and other information to the data frame but cannnot verify.
Here is the frame format that's sent for read operation (most of the things i am unable to decode) but is working:
READ:
--------------------
0F-15-00-44-00-10-04-40-DE-00-0C-22-AC-02-81-38-3F-05-00-25-02-E0-00-00-00-00-00-00-00-00-00-00-00-00-00-00-00-00-00-00-00-00-00-00-00-00-00-00-00-00-00-00-00-00-00-00-00-00-00-00-00-00-00-00
1st byte is counter
AC - read cmd
Here is the frame format that's sent for write operation (most of the things i am unable to decode) which is not working and throwing error of invalid cmd:
WRITE :
--------------------
01-18-00-44-00-13-04-40-DE-00-0C-22-AA-02-81-38-3F-05-00-25-02-E0-04-FF-FF-FF-FF-00-00-00-00-00-00-00-00-00-00-00-00-00-00-00-00-00-00-00-00-00-00-00-00-00-00-00-00-00-00-00-00-00-00-00-00-00
1st byte is counter
AA - write cmd
04 - data length
FF-FF-FF-FF - data
NOTES:
In both write and read packets, (4-5)bytes before CMD code is same (i.e "40-DE-00-0C-22") and bytes after CMD code is same (i.e "02-81-38-3F-05-00-25-02-E0")
So can you please let me know what could be the possible reason why i am getting this invalid command error, although my command is right.
2022-07-04 07:40 AM
Hi Nikhil,
In order to make the Community threads more useful and easy for other to find the information, one should keep a question/topic per thread. It is our understanding that the initial question has been answered (Java source code availability).
Please post separate topics/questions in individual threads with the appropriate title/details.
Thank you
Kind regards
GP