cancel
Showing results for 
Search instead for 
Did you mean: 

ST25RU3993 real-time values of 'rssiLinI' and 'rssiLinQ'

HKhos.1
Associate

used STUHFL (ST25RU3993) to scan for RFID tags, and attempted to calculate reflect phase using real-time values of 'rssiLinI' and 'rssiLinQ' with the 'inventory' function, which was time-consuming.

I utilized the CS demo of STUHFL to work with the ST25RU3993. To scan for all RFID tags, I executed the 'inventory.execute()' command. My objective was to choose a single tag and compute the reflect phase using the real-time values of 'rssiLinI' and 'rssiLinQ'. Currently, I'm employing the 'inventory' function to measure 'rssiLinI' and 'rssiLinQ', but this function is time-consuming and the final outcome is not immediately available.

I would appreciate it if you could provide me with any code snippets, examples, or comprehensive documentation related to the ST SDK, as I'm not well-versed with this particular SDK.

1 ACCEPTED SOLUTION

Accepted Solutions
Nick K
ST Employee

Hello HKhos.1,

all available documentation could be found on the ST website for ST25RU3993 https://www.st.com/en/nfc/st25ru3993.html

This includes the datasheet of the ST25RU3993, schematics of the HPEV board, SDK documentation and many application notes for best practices on UHF application development.

To get familiar with the UHF Reader IC itself it is recommended to use the ST25RU3993 Reader Suite GUI. The GUI uses the underlaying SDK APIs for communication with the board. 

This allows to configure the HPEV board and Reader IC itself and quickly test settings to tweak the setup for best reading performance.

In addition ST provides working sample source code to get familiar with the SDK in C, CSharp, Java and Python.

The C sample source code covers the most important use cases and are the best starting point. All other languages samples use the same C based API as low level library for their port.

For more details on the implementation the complete HPEV board FW and all middleware wrappers are open source. These sources are part of the SDK package.

The linear RSSI needs to be measured direct after the ST25RU3993 sends the query command and receives the RN16 from the transponder during UHF communication. For details please have a look to the ST25RU3993 datasheet.

This is done during every slot when running an inventory command. Depending on the used slots, available transponders, used antennas, reader settings and other params it may need a few slots until one special transponder is inventoried and the RSSI measurement results are reported with the API callback function.

To make this faster a not standard functionality is needed and this needs to implemented in FW. 

Nevertheless, the SDK has the following API

STUHFL_T_RET_CODE Gen2_QueryMeasureRssi(STUHFL_T_Gen2_QueryMeasureRssi *queryMeasureRssi)

This may be a good starting point for further investigation and development.

To see what this API is doing please use the Reader Suite GUI and scan for tags. When scan has stopped select on tag from the tag list and right click on it. 

A context menu show up. Select Tag Movement and a dialog pop up that cyclic calls the Gen2_QueryMeasureRssi function to get frequent RSSI measurement values.

To see all involved API calls use from the "Trace Browser" the "STUHFL logging" tab.

BR Nick

View solution in original post

3 REPLIES 3
Nick K
ST Employee

Hello HKhos.1,

all available documentation could be found on the ST website for ST25RU3993 https://www.st.com/en/nfc/st25ru3993.html

This includes the datasheet of the ST25RU3993, schematics of the HPEV board, SDK documentation and many application notes for best practices on UHF application development.

To get familiar with the UHF Reader IC itself it is recommended to use the ST25RU3993 Reader Suite GUI. The GUI uses the underlaying SDK APIs for communication with the board. 

This allows to configure the HPEV board and Reader IC itself and quickly test settings to tweak the setup for best reading performance.

In addition ST provides working sample source code to get familiar with the SDK in C, CSharp, Java and Python.

The C sample source code covers the most important use cases and are the best starting point. All other languages samples use the same C based API as low level library for their port.

For more details on the implementation the complete HPEV board FW and all middleware wrappers are open source. These sources are part of the SDK package.

The linear RSSI needs to be measured direct after the ST25RU3993 sends the query command and receives the RN16 from the transponder during UHF communication. For details please have a look to the ST25RU3993 datasheet.

This is done during every slot when running an inventory command. Depending on the used slots, available transponders, used antennas, reader settings and other params it may need a few slots until one special transponder is inventoried and the RSSI measurement results are reported with the API callback function.

To make this faster a not standard functionality is needed and this needs to implemented in FW. 

Nevertheless, the SDK has the following API

STUHFL_T_RET_CODE Gen2_QueryMeasureRssi(STUHFL_T_Gen2_QueryMeasureRssi *queryMeasureRssi)

This may be a good starting point for further investigation and development.

To see what this API is doing please use the Reader Suite GUI and scan for tags. When scan has stopped select on tag from the tag list and right click on it. 

A context menu show up. Select Tag Movement and a dialog pop up that cyclic calls the Gen2_QueryMeasureRssi function to get frequent RSSI measurement values.

To see all involved API calls use from the "Trace Browser" the "STUHFL logging" tab.

BR Nick

Hello,

To utilize the function Gen2_QueryMeasureRssi(STUHFL_T_Gen2_QueryMeasureRssi *queryMeasureRssi) that you mentioned, there might be certain functions that need to be executed beforehand. Here is an example:

  1. Run the Gen2setupconfig() function: This function is responsible for configuring the settings required for Gen2 operations. It prepares the necessary parameters and configurations for proper functioning.

  2. Execute the Gen2select() function: This function is used to select a specific Gen2 tag for further operations. It allows you to identify and interact with the desired tag among multiple available tags.

Please note that these functions are just examples, and the actual implementation may vary depending on the specific RFID library or software.
Please share me the step by step function or code.

Hello,

the only pre-requirement of the Gen2_QueryMeasureRssi function is that a transponder is in the field and can be inventoried.

To use then the Gen2_QueryMeasureRssi function all that needs to be done is to select exact one transponder by calling the Gen2_Select function and then call one or many times the Gen2_QueryMeasureRssi function to get RSSI information for this transponder.

BR