cancel
Showing results for 
Search instead for 
Did you mean: 

reading tags by ST25RU3993 without GUI

YYoyo.1
Associate II

About reading tags via USB UART by ST25RU3993 without ST25RU3993 Reader Suite GUI.

To initial and start reading tags automatically after plugged in and print them on serial terminal (ex: Tera Term) via USB UART (not the UART LOG pin) by ST25RU3993 without ST25RU3993 Reader Suite GUI, I want to know how should I edit for ST25RU3993 EVAL firmware, thanks a lot.

1 ACCEPTED SOLUTION

Accepted Solutions
Nick K
ST Employee

Hello,

I can not reproduce your issue. To test I used the HPEV board with the antenna and tags from the package and can read the tags without any issue.

From your screenshot I see that you use V3.2.1, which is ok. 

Does it still crash for you ? 

When it crash have you already tried to debug and checked the call-stack and the value of involved data fields ?

One comment. From the screenshot I can see that you added multiple LOG statements inside the file gen2.c.

The function gen2SearchForTags(..) handles the Query/QueryRep loop for inventory. This section and the called low level function here are timing critical.

Each call to LOG use a blocking call to the HAL driver to log data out over the UART. This will not crash the FW but slow down the inventory.

BR Nick

View solution in original post

5 REPLIES 5
Nick K
ST Employee

Hello,

the ST25RU3993 HPEV board FW by default waits for commands from a host system to do any UHF operation. If a FW is needed that starts automatically reading after power up the FW must be modified and rebuild.

To force the FW do not enter the cyclic host communication mode and have an entry point for implementing the standalone functionality the easiest way is use the STUHFL_DEVICE_MODE define.

The STUHFL_DEVICE_MODE enables in in main.c a code-block direct before entering the cycle function that cyclic check for any host communication. 

The enabled code-block also shows how to start an inventory loop to find transponders. The function call Inventory_RunnerStart(&invOption, cbInventoryCycle, NULL, &invData) searches then for transponders and uses callbacks that are called during the inventory scan. 

These callback can be used for postprocessing the received data from the found transponders. The found EPC data could be send via UART then to an serial terminal. Please note that the execution of the callback blocks the execution of the inventory scan until returning from it. 

BR

YYoyo.1
Associate II

Dear Nick,

I have enable the STUHFL_DEVICE_MODE in main.c of the firmware and flashed into the ST25RU3993 HPEV board, but it still need to click "Connect Reader" on the ST25RU3993 Reader Suite GUI and thenstart working, if I launch Tera Term and connect to serial port, it doesn't work and all LEDs off.

I want to know how should I do else to let it start working when plgged in and print tags info to serial comport automatically, thanks a lot.

Or I flash the program with the wrong way? I builded the project, and use the "Firmware Update" in the ST25RU3993 Reader Suite GUI to flash the program.

Nick K
ST Employee

Hello,

Flashing the FW either through an attached ST-Link debugger or without an debugger by using the GUI with the "Firmware update" is the same. An attached ST-Link debugger allows in addition to debug the FW.

On the HPEV board the BOOT0 and NRST pins of the STM32L4 are connected to the RTS and DTR lines of the onboard FT231 USB to UART convert IC. With the NRST pin the STM32L4 can be reseted. The BOOT0 pin controls if the bootloader shall be entered or if the to start executing the user code from flash.

To force the STM32L4 to start user code the U101 FT231XQ-R IC must be enabled and the RTS and DTR lines must be set proper. Please connect from host side to the board (eg with TeraTerm) and then set DTR to high and toggle RTS high - low.

Please have a look to the STUHFL_demo C sample source code. The described connect sequence can be found at the beginning of the main function their.

BR

Dear Nick,

I've successfully booted the EVB by set DTR to low and toggle RTS low - high and enabled the device mode, thank you so much for help me to solved this issue.

But here is an error occurred, as the following picture, the EVB crashed when it found tags and executing this code:

if (p->cbFollowTagCommand(p->tag) != STUHFL_ERR_NONE)

I didn't edit the firmware except enabled the STUHFL_DEVICE_MODE in main.c, and more weirdly, it just works fine the day before the error occurred, I want to know what happen with it, thank you.


_legacyfs_online_stmicro_images_0693W00000bjAEuQAM.png


_legacyfs_online_stmicro_images_0693W00000bjAEkQAM.png

Nick K
ST Employee

Hello,

I can not reproduce your issue. To test I used the HPEV board with the antenna and tags from the package and can read the tags without any issue.

From your screenshot I see that you use V3.2.1, which is ok. 

Does it still crash for you ? 

When it crash have you already tried to debug and checked the call-stack and the value of involved data fields ?

One comment. From the screenshot I can see that you added multiple LOG statements inside the file gen2.c.

The function gen2SearchForTags(..) handles the Query/QueryRep loop for inventory. This section and the called low level function here are timing critical.

Each call to LOG use a blocking call to the HAL driver to log data out over the UART. This will not crash the FW but slow down the inventory.

BR Nick