STMicroelectronics ST25RU3993 ST UHF User Manual

UM2618
User manual
ST25RU3993 ST UHF library

Introduction

The ST UHF library (STSW-ST25RU-SDK) is a middleware software stack written in ANSI C, to build RAIN® RFID enabled applications for reader devices based on ST25RU3993. This document describes the usage of the ST UHF library software API.
Along with this package, a comprehensive demonstration source code is available to illustrate the usage of the ST UHF library for Windows® and Linux® platforms. The complete software stack is ANSI C and POSIX compatible and enables fast and
straightforward porting to other operating systems and/or toolchains.
UHF application
STUHFL
Standards
EPC UHF
Gen2V2
...
Device
HAL
ST25RU3993-HPEV board firmware
Protocol
Bus
UM2618 - Rev 4 - April 2021 For further information contact your local STMicroelectronics sales office.
www.st.com

1 System overview

The ST UHF library (STUHFL) design is a classic middleware software stack running on a host system. It provides a simple software API to abstract low-level communication details. As shown in the simplified system overview the system is made up of two hardware components running the involved software components.
UM2618
System overview
Figure 1. System overview
UHF application
Host
STUHFL
STUHFL EVAL API
ST25RU3993 firmware
SPI
Device/reader module
The first component (device/reader module) runs the firmware with low-level driver implementation to operate the ST25RU3993 reader IC and various protocols. The firmware implements a software interface to the ST UHF library.
The second component (host side) runs the ST UHF library and abstracts the low-level functionality. It provides a clean software API for UHF applications.
The ST UHF library runs on host systems with an operating system as well as on embedded systems (with OS or native), with limited resources. Even a design without a dedicated host module is possible, where the complete system runs on the reader module only.
1.1
Note: Arm is a registered trademark of Arm Limited (or its subsidiaries) in the US and/or elsewhere.

General information

The software described in this document supports Arm®-based device.
ST25RU3993
IRQ

1.2 Features

Comprehensive middleware to build RAIN® RFID enabled applications for reader devices based on ST25RU3993
Mirrored host and device library API
Written in pure ANSI C99
POSIX compatible
UM2618 - Rev 4
page 2/24
Straightforward portability across different platforms (MCUs/RTOSs/OSs)
Compatible with main UHF standards
EPC UHF Gen2v2
GB/T 29768
Source code example implementation available
Windows
Linux® (Raspberry Pi 3B)
Further sample platform implementations underway
®

1.3 Hardware requirements

The main purpose of the ST UHF library is to simplify the ST25RU3993 low-level hardware driver, and to provide an easy-to-use software interface. Therefore, the ST UHF software library operates only with the ST25RU3993­based demonstration boards listed below and their corresponding firmware:
ST25RU3993 EVAL board
ST25RU3993 ELANCE module
It is anyway possible to port the low-level hardware driver to other devices hosting a suitable MCU to drive the firmware.
UM2618
Hardware requirements

1.4 Building environment

Currently all host side software components and demonstration codes are generated by using Microsoft Visual Studio 2017 (VS2017). The package contains a VS2017 solution hosting projects for two different platforms. The first project for Win32 platforms is suitable for generating code running on Windows 7 platform (and newer ones). The second project is for Arm platforms running on Linux devices. The Arm project uses the possibility to do remote compilation with VS2017. This requires a properly configured Arm device accessible in the same network.
Note: The available ST UHF library project for Arm and the corresponding example project use Raspberry Pi 3B
hardware for development. For more details about project configuration, refer to the appropriate project solution files.
UM2618 - Rev 4
page 3/24

2 Software architecture

The ST UHF library follows a classic stacked middleware software design and consists of components that run on a reader module and on a host system as the default use case.
The complete ST UHF library is ANSI-C and POSIX compliant, resulting in easy porting to several other operating systems and platforms.
The ST UHF library currently supports the most common UHF standards. Extensions and more protocols will be released in upcoming versions.
Working sample source code is available for Windows and Linux, to use different library modules.
UM2618
Software architecture
2.1

ST UHF library API

The exposed ST UHF library API allows the user to build RAIN applications on ST25RU3993 reader devices. Three stacked layers represent the complete exposed ST UHF library API.
Activity
Session
Device
In this arrangement abstraction and complexity increase starting from device moving up to activity. The purpose of the device layer is to abstract the hardware specific functionalities, such as direct register access. The session layer uses the device layer to implement entire protocols such as the EPC Gen2V2 standard or other UHF standards and protocols. The activity layer uses the device and session layers to abstract functionalities for automated inventory of tags running in the background.
Table 1. Main layers
Layer Description
Activity Functionality like background inventory lookup via a build-in "Inventory Runner"
Session Implementation of different standards or protocols like EPC Gen2V2
Device Abstraction of hardware specific functionalities like register access

2.2 STUHFL EVAL API

On the device/reader module side the STUHFL EVAL API provides a basic software interface to ST25RU3993 low-level drivers. The ST UHF library builds on top of this low-level interface and derives its ST25RU3993 dependent functionalities. Applications where no host system is involved directly call the low-level STUHFL EVAL API on reader/device side.
Note: Applications not using the ST UHF library stack may be directly attached to this interface.

2.3 ST UHF library wrappers

On top of the ST UHF library host interface, multiple wrappers are available for fast prototyping.
Java/C#/Python
ST EVAL API
Java, C# and Python are state of the art programming languages and enable software developers to implement fast and efficiently different kinds of UHF application. In addition to wrappers for different software development languages it is also possible to implement other custom interface wrapper like ST EVAL API wrapper.
Note: Software wrappers for others languages can easily be implemented when these programming languages
support calling native C code.
UM2618 - Rev 4
page 4/24
UM2618
Not exposed layers
The STUHFL EVAL API wrapper (host side) fully emulates the STUHFL EVAL API on the device side. This allows users to start developing firmware applications on host systems and finish their task by porting the firmware to the device/reader side. The advantage of this approach is that the host side offers debuggers, advanced code tracers and many other host system development features. These host tools speed-up and simplify code development. When the firmware code development on the host side is completed, simply "copy and paste" the firmware application code to the device/reader side. No additional source code modifications are required to run the firmware on the MCU.
Note: The STUHFL EVAL API wrapper fully emulates the STUHFL EVAL API, exactly as available on the device side.

2.4 Not exposed layers

Underneath the exposed ST UHF library layer, several other layers work on the host with their counterparts on the device side. This layer stack is taking care of the data transfer between the host and the reader device.
Dispatcher
Protocol
Bus
These layers follow a stack design and depend only on their direct neighbours. The main purpose of the dispatcher layer is to bundle the ST UHF library API function calls in one single module and to forward it to the protocol layer.
The protocol layer transfers the abstracted function calls into transferable data chunks and forwards these data packets to the bus layer.
Finally, the bus layer sends the data chunks over a physical interface and receives them on the device/reader module side. For the data transfer in the opposite direction from device/reader side to the host side, the protocol and the dispatcher layers do their task inversely.
Layer Description
Dispatcher Merge and divide from API layers
Protocol Encodes and decodes data into TLV formatted data chunks ready for transfer between host and device
Bus Platform depended transfer layer handling data exchange

2.4.1 Support and helper

In addition to the above mentioned not exposed layers the library implements support and helper layers, which provide relevant functionalities and expose their interface to almost all other modules.
Layer Description
TLV Tag-Length-Value encoding and decoding support
Logging Logging helper
Table 2. Not exposed layers
Table 3. Helper modules
UM2618 - Rev 4
page 5/24
Figure 2. ST UHFL library system architecture
STUHFL wrappers
UM2618
Not exposed layers
Host side
· STUHFL_F_Start(…)
· STUHFL_F_Stop(…)
· STUHFL_F_RegisterHandler(…)
·
· STUHFL_F_Gen2Inventory(…)
· STUHFL_F_Gen2Select(…)
· STUHFL_F_Gen2Read(…)
·
· STUHFL_F_GB29768Inventory(…)
·
· STUHFL_F_Gen2Inventory(…)
· STUHFL_F_Gen2Select(…)
· STUHFL_F_gen2Read(…)
·
· STUHFL_F_GBT29768Inventory(…)
·
· STUHFL_F_Connect(…)
· STUHFL_F_SetParam(…)
· STUHFL_F_GetParam(…)
· STUHFL_F_Reboot(…)
· ...
STUHFL EVA API
Java/C#/... ...
STUHFL API
Activity layer
Inventory runner
Session layer
Gen2V2 GB/T 29768
Device layer
ST25RU3993
EVAL board
ST25RU3993
Dispatcher
Protocol layer
Bus layer
UART
... ... ...
... ...
module
...
...
Support and helpers
Logging ... ...
Device/reader module side
Bus layer
TLV
Protocol layer
Dispatcher
STUHFL EVAL API
Platform dependent
ST25RU3993 low level drivers
SPI TIMER GPIO ...
Platform dependent drivers
UM2618 - Rev 4
page 6/24

2.5 Host side usage

The functionality exposed by the ST UHF library API enables the development of RAIN applications based on ST25RU3993 reader IC devices or modules on host devices. Host systems running the OS Windows or Linux are supported by default. As the whole library is ANSI-C and POSIX compatible, it also easily builds for other POSIX compatible platform.
The following figure shows an example of host side usage.
Figure 3. ST UHF library usage overview
UHF application
Host
e.g. RPi
STUHFL
UM2618
Host side usage
Device/reader module
e.g. STM32L476 based EVAL board
ST25RU3993
device firmware
STUHFL EVAL API
Device drivers
ST25RU3993 drivers
SPI
ST25RU3993
IRQ
UM2618 - Rev 4
page 7/24

2.6 Device side usage

The functionalities exposed by STUHFL EVAL API provide an abstract interface to the full UHF functionalities provided by the ST25RU3993 reader IC, without the burden of manually handling low-level register access. Therefore, this interface is device-independent and enables the implementation of any abstract UHF application.
The following figure shows an example of device side usage.
UM2618
Device side usage
Figure 4. ST UHF library EVAL API device side usage
UHF application
STUHFL EVAL API
Device drivers
Device/reader module
e.g. STM32L476 based EVAL board
ST25RU3993 module based firmware
ST25RU3993 drivers
SPI
ST25RU3993
IRQ
UM2618 - Rev 4
page 8/24

3 Source code

The complete source code (including sample sources for Windows and Linux) is available for download from
www.st.com.

3.1 Directory and file structure

The package comes as zip file, with the following directory structure.
UM2618
Source code
Figure 5. Directory structure
Table 4. Directory description
Directory Description
Application Several demonstration project source code
Firmware Several firmware projects
Middleware The ST UHF library projects for Windows and Linux as source code
Note: For correct operation the user must choose one of the appropriate firmware packages, delivered along with the
library.
The “STUHFL” folder is located inside the “middleware/clib” folder.
It contains the following folders:
“doc”: contains a detailed API description as Windows chm file.
“inc”: contains all relevant interface files
“src”: contains all implementation files
Figure 6. STUHFL directory structure
UM2618 - Rev 4
page 9/24
Directory and file structure
The “inc” directory contains all relevant interface files and a subfolder containing platform specific files.
Figure 7. "inc" structure
UM2618
Table 5. API headers
Filename Description Note
stuhfl.h
stuhfl_al.h Application module STUHFL API
stuhfl_dl.h Generic part of device module STUHFL API
stuhfl_dl_ST25RU3993.h ST25RU3993 IC depending device module layer
stuhfl_err.h Definition of error codes STUHFL API
stuhfl_evalAPI.h
stuhfl_helpers.h Helper module
stuhfl_log.h Logging module definition
stuhfl_pl.h Protocol layer definition
stuhfl_sl.h Session layer STUHFL API
Basis header file, containing main typedefs and defines
STUHFL EVAL API definition. Used by STUHFL enabled firmware implementation and as STUHFL wrapper implementation
STUHFL API
Not exposed as STUHFL API, internal usage
STUHFL wrapper - STUHFL EVAL API
Not exposed as STUHFL API, internal usage
Not exposed as STUHFL API, internal usage
Not exposed as STUHFL API, internal usage
The “platform” directory contains all relevant files that are important when porting to other platforms.
UM2618 - Rev 4
Figure 8. "Platform" directory
page 10/24
UM2618
ST UHF library solution location
Table 6. Platform dependent headers
Filename Description
Stuhfl_bl_posix.h POSIX compatible bus layer for UART communication
stuhfl_bl_win32.h UART communication implementation for Windows
stuhfl_platform.h Implementation of generic functionality for platform independency
stuhfl_dl_ST25RU3993.h ST25RU3993 IC depending device module layer Not exposed as STUHFL API, internal usage

3.2 ST UHF library solution location

The solution to build a Win32 dynamic link library or Arm based shared object library is located at ./Middleware/ clib/STUHFL.sln.
Note: For software development based on STUHFL the STUHFL demonstration solution contains the STUHFL project
and a complete demonstration application. This allows the user to build and debug at the same time both for Win32 and for Raspberry Pi platforms.
UM2618 - Rev 4
page 11/24
UM2618

Implementation of sample source code

3.2.1 Build STUHFL for Windows (DLL only)

The user must execute the following steps:
1. Open the VS2017 solution .\Middleware\clib\STUHFL.sln
2. Right-click on the STUHFL project and click rebuild
Note: This generates a Win32 dynamic link library ready to use to communicate to ST25RU3993 reader IC based
demonstantion boards (Windows host systems only).

3.2.2 Build STUHFL for Linux with Raspberry Pi 3B (shared object only)

The user must execute the following steps:
1. Open the VS2017 solution .\Middleware\clib\STUHFL.sln
2. Add the IP address of your Raspberry Pi in the Tools/Options/Cross platform options
3. In the STUHFL (Linux) project properties set this as your remote machine
4. Right-click on the STUHFL(Linux) project and click rebuild
Note: This generates a Linux complete shared object to communicate to ST25RU3993 reader IC based
demonstrantion boards (Linux host systems only).
3.3
Implementation of sample source code

3.3.1 Build STUHFL-demo for Windows

The user must execute the following steps:
1. Open the VS2017 solution ./Applications/STUHFL_demo/STUHFL_demo.sln
2. Rebuild solution
3. Start debugging to debug the demonstration
Note: For further information about the available demonstration check the documentation of the STUHFL_demo
project.

3.3.2 Build STUHFL-demo for Linux

The user must execute the following steps:
1. Open the VS2017 solution ./Applications/STUHFL_demo/STUHFL_demo_rpi.sln
2. Add the IP address of your Raspberry Pi in the Tools\Options\Cross platform options.
3. In the STUHFL and STUHFL demonstration project properties set this as your remote machine
4. Update the communication port location (default: /dev/ttyUSB0) where to ST25RU3993 EVAL board is connected to Raspberry Pi.
5. See STUHFL_demo.c and adjust the COM_PORT define
6. Rebuild solution
7. Start debugging
Note: For further information about the available demonstrations check the documentation of the STUHFL_demo
project.

3.4 ST UHF library portability

The ST UHF library is ANSI-C and POSIX compatible. To port the library to other platforms or operating systems a simple cross-compilation or remote-compilation is sufficient. Exceptions are the low-level communication drivers for the host to device and the reverse communication, always platform dependent. All platform dependent components that need to be reworked before successful porting are located in ./Middleware/clib/STUHFL/src/ platform
Note: To port the ST UHF library to other platforms and/or operating system add the low-level communication drivers
for your platform to the ./Middleware/clib/STUHFL/src/platform folder before compilation.
UM2618 - Rev 4
page 12/24

4 Software interface description

For detailed API description check the available documentation, which is part of the source code package and is available in compiled HTML file format (chm). Only a short overview of the different API functionalities for the different modules is given in the following sections.
Note: For detailed information, refer to the file “./Middleware/clib/STUHFL/ doc/STUHFL.chm”
UM2618
Software interface description
4.1

Device layer

Device layer exposed functionality.

4.1.1 Connections

The table below gives an overview of the connectivity functions.
Function Description
STUHFL_F_Connect Connect to a device via STUHFL
STUHFL_F_Disconnect Disconnect from current connected device via STUHFL
STUHFL_F_GetCtx Get device context of current attached device
STUHFL_F_Reset Reset current attached device

4.1.2 Parmeter access

The table below gives an overview of the parameter access functions.
Function Description
STUHFL_F_SetParam Generic set parameter function to set value of configuration
STUHFL_F_GetParam Generic get parameter function to get value of configuration
STUHFL_F_GetParamInfo Get parameter information
STUHFL_F_SetMultipleParams Set list of multiple parameters
STUHFL_F_GetMultipleParams Get list of multiple parameters
Table 7. STUHFL connection functionality
Table 8. STUHFL parameter access functionality

4.1.3 Data exchange

The table below gives an overview of the data exchange functions.
STUHFL_F_SendCmd Send command to device
STUHFL_F_ReceiveCmdData Receive command to device
STUHFL_F_ExecuteCmd Send and receive combination in one call
STUHFL_F_GetRawData Receive raw data from device
UM2618 - Rev 4
Table 9. STUHFL data exchange functionality
Function Description
page 13/24

4.1.4 Generic maintenance

The table below gives an overview of the generic maintenance functions.
STUHFL_F_GetVersion Get device version information
STUHFL_F_GetInfo Get device info information
STUHFL_F_Upgrade Firmware upgrade
STUHFL_F_EnterBootloader Reboot and enter bootloader
STUHFL_F_Reboot Reboot FW

4.2 Session layer

4.2.1 Gen2V2 of STUHFL

The table below gives an overview of the gen2V2 functions.
UM2618
Session layer
Table 10. STUHFL maintenance functionality
Function Description
Function Description
STUHFL_F_Gen2_Inventory Gen2 Inventory depending on the current inventory and gen2 configuration
STUHFL_F_Gen2_Select Gen2 Select command to select or filter Gen2 transponders
STUHFL_F_Gen2_Read Gen2 Read command to read from the Gen2 transponders
STUHFL_F_Gen2_Write Gen2 Write command to write data to Gen2 transponders
STUHFL_F_Gen2_Lock Gen2 Lock command to lock Gen2 transponders
STUHFL_F_Gen2_Kill Gen2 Kill command to kill Gen2 transponders.
STUHFL_F_Gen2_GenericCmd Generic Gen2 bit exchange
STUHFL_F_Gen2_QueryMeasureRssi RSSI measurement during Gen2 Query command

4.2.2 GB/T 29768 of STUHFL

The table below gives an overview of the GB/T 29768 functions.
Function Description
STUHFL_F_Gb29768_Inventory GB/T 29768 Inventory depending on the current inventory and GB/T 29768 configuration
STUHFL_F_Gb29768_Sort GB/T 29768 Sort command to select or filter GB/T 29768 transponders
STUHFL_F_Gb29768_Read GB/T 29768 Read command to read from the GB/T 29768 transponders
STUHFL_F_Gb29768_Write GB/T 29768 Write command to write data to GB/T 29768 transponders
STUHFL_F_Gb29768_Lock GB/T 29768 Lock command to lock GB/T 29768 transponders
STUHFL_F_Gb29768_Kill GB/T 29768 Kill command to kill GB/T 29768 transponders.
STUHFL_F_Gb29768_Erase GB/T 29768 Erase command to erase GB/T 29768 transponders.
Table 11. STUHFL Gen2V2 functionality
Table 12. STUHFL GB/T 29768 functionality
UM2618 - Rev 4
page 14/24

4.3 Activity layer

4.3.1 Actions

The table below gives an overview of the action functions.
Table 13. STUHFL action functionality
Function Description
STUHFL_F_Start Start foreground or background action
STUHFL_F_Stop Start action

4.4 STUHFL EVAL API wrapper

4.4.1 Generic

The table below gives an overview of the generic functions to access the evaluation board and retrieve basic information
UM2618
Activity layer
Function Description
Connect Connect to ST25RU3993 based evaluation board
Disconnect Disconnect from a current connected board
Get_BoardVersion Read the board software and hardware information
Get_BoardInfo Get human readable software and hardware device information
Reboot Reboot evaluation board
EnterBootloader Shutdown FW and enter STM32 ROM bootloader of evaluation board

4.4.2 Configuration

The table below gives an overview of the configuration functions.
Set_RegisterMultiple Writes multiple ST25RU3993 registers content at once.
Get_RegisterMultiple Reads multiple ST25RU3993 registers content.
Set_Gen2_RxFilter Set reader Rx Filter configuration for Gen2 config
Get_Gen2_RxFilter Get reader Rx Filter configuration for Gen2 config
Set_Gb29768_RxFilter Set reader Rx Filter configuration for Gb29768 config
Get_Gb29768_RxFilter Get reader Rx Filter configuration for Gb29768 config
Set_Gen2_FilterCalibration Set reader Rx Filter calibration for Gen2
Get_Gen2_FilterCalibration Get reader Rx Filter calibration for Gen2
Table 14. STUHFL EVAL API generic functionality
Table 15. STUHFL EVAL API configuration functionality
Function Description
SetRegister Writes the ST25RU3993 register content.
GetRegister Reads one ST25RU3993 register content.
Set_RwdCfg Set reader configuration
Get_RwdCfg Get reader configuration
UM2618 - Rev 4
page 15/24
Function Description
Set_Gb29768_FilterCalibration Set reader Rx Filter calibration for Gb29768
Get_Gb29768_FilterCalibration Get reader Rx Filter calibration for Gb29768
Set_AntennaPower Set antenna power
Get_AntennaPower Get antenna power
Set_Gen2_Timings Set Gen2 protocols timings
Get_Gen2_Timings Get Gen2 protocols timings
Set_Gen2_ProtocolCfg Set Gen2 protocol configuration
Get_Gen2_ProtocolCfg Get Gen2 protocol configuration
Set_Gb29768_ProtocolCfg Set Gb29768 protocol configuration
Get_Gb29768_ProtocolCfg Get Gb29768 protocol configuration
Set_TxRxCfg Set TxRx configuration
Get_TxRxCfg Get TxRx configuration
Set_PowerAmplifierCfg Set power amplifier configuration
Get_PowerAmplifierCfg Get power amplifier configuration
Set_Gen2_InventoryCfg Set general Gen2 inventory configuration
Get_Gen2_InventoryCfg Get general Gen2 inventory configuration
Set_Gb29768_InventoryCfg Set general Gb29768 inventory configuration
Get_Gb29768_InventoryCfg Get general Gb29768 inventory configuration
UM2618
STUHFL EVAL API wrapper
UM2618 - Rev 4
page 16/24

4.4.3 Frequency

The table below gives an overview of the frequency configuration functions.

4.4.4 Tuning

The table below gives an overview of the tuning functions.
UM2618
STUHFL EVAL API wrapper
Table 16. STUHFL EVAL API frequency settings functionality
Function Description
Set_ChannelList Set frequency channel list
Get_ChannelList Get frequency channel list
Set_FreqHop Set frequency hopping time
Get_FreqHop Get frequency hopping time
Set_FreqLBT Set listen before talk configuration
Get_FreqLBT Get listen before talk configuration
Set_FreqContinuousModulation Set continuous modulation configuration
Get_FreqRSSI Get RSSI
Get_FreqReflectedPower Get reflected power
Set_TuningCaps Set Cin, Clen and Cout of current selected channel list item.
Get_TuningCaps Get Cin, Clen and Cout of current selected channel list item.

4.4.5 Gen2V2

The tables below gives an overview of the gen2V2 functions.
Gen2_BlockWrite Gen2 Block-Write command to write data to Gen2 transponders
Gen2_GenericCmd Generic Gen2 bit exchange
Gen2_QueryMeasureRssi RSSI measurement during Gen2 Query command
Table 17. STUHFL EVAL API tuning functionality
Function Description
Table 18. STUHFL EVAL API Gen2V2 functionality
Function Description
Gen2_Inventory Gen2 Inventory depending on the current inventory and gen2 configuration
Gen2_Select Gen2 Select command to select or filter Gen2 transponders
Gen2_Read Gen2 Read command to read from the Gen2 transponders
Gen2_Write Gen2 Write command to write data to Gen2 transponders
Gen2_Lock Gen2 Lock command to lock Gen2 transponders
Gen2_Kill Gen2 Kill command to kill Gen2 transponders.
UM2618 - Rev 4
page 17/24

4.4.6 GB/T 29768

The table below gives an overview of the GB/T 29768 functions.
Function Description
Gb29768_Inventory GB/T 29768 Inventory depending on the current inventory and GB/T 29768 configuration
Gb29768_Sort GB/T 29768 Sort command to select or filter GB/T 29768 transponders
Gb29768_Read GB/T 29768 Read command to read from the GB/T 29768 transponders
Gb29768_Write GB/T 29768 Write command to write data to GB/T 29768 transponders
Gb29768_Lock GB/T 29768 Lock command to lock GB/T 29768 transponders
Gb29768_Kill GB/T 29768 Kill command to kill GB/T 29768 transponders.
Gb29768_Erase GB/T 29768 Erase command to erase GB/T 29768 transponders.

4.4.7 Inventory runner

The table below gives an overview of the inventory runner functions.
UM2618
STUHFL EVAL API wrapper
Table 19. STUHFL EVAL API GB/T 29768 functionality
Table 20. STUHFL EVAL API inventory runner functionality
Function Description
Inventory_RunnerStart Start inventory runner
Inventory_RunnerStop Stop current inventory runner
UM2618 - Rev 4
page 18/24

Revision history

17-Sep-2019 1 Initial release.
26-Nov-2019 2
03-Jun-2020 3
23-Apr-2021 4
UM2618
Table 21. Document revision history
Date Version Changes
Updated document title and Section Introduction.
Minor text edits across the whole document.
Updated:
Section Introduction, Section 1.2 Features, Section 1.3 Hardware
requirements, Section 2.3 ST UHF library wrappers
Figure 2. ST UHFL library system architecture
title of Section 4.2.2 GB/T 29768 of STUHFL and of Section 4.4.6 GB/T
29768
Table 12. STUHFL GB/T 29768 functionality, Table 19. STUHFL EVAL API GB/T
29768 functionality
Removed Table 1. Hardware requirement
Added Section 4.4.1 Generic
Updated Section 2.3 ST UHF library wrappers, Section 4.4.2 Configuration,
Section 4.4.3 Frequency, Section 4.4.4 Tuning, Section 4.2.1 Gen2V2 of STUHFL, Section 4.4.6 GB/T 29768, Section 4.4.7 Inventory runner
UM2618 - Rev 4
page 19/24
UM2618
Contents
Contents
1 System overview ..................................................................2
1.1 General information ............................................................2
1.2 Features ......................................................................2
1.3 Hardware requirements .........................................................3
1.4 Building environment ...........................................................3
2 Software architecture ..............................................................4
2.1 ST UHF library API .............................................................4
2.2 STUHFL EVAL API .............................................................4
2.3 ST UHF library wrappers ........................................................4
2.4 Not exposed layers .............................................................5
2.4.1 Support and helper .......................................................5
2.5 Host side usage................................................................7
2.6 Device side usage..............................................................8
3 Source code .......................................................................9
3.1 Directory and file structure .......................................................9
3.2 ST UHF library solution location .................................................11
3.2.1 Build STUHFL for Windows (DLL only) .......................................12
3.2.2 Build STUHFL for Linux with Raspberry Pi 3B (shared object only)..................12
3.3 Implementation of sample source code ...........................................12
3.3.1 Build STUHFL-demo for Windows...........................................12
3.3.2 Build STUHFL-demo for Linux .............................................12
3.4 ST UHF library portability .......................................................12
4 Software interface description ....................................................13
4.1 Device layer ..................................................................13
4.1.1 Connections ...........................................................13
4.1.2 Parmeter access ........................................................13
4.1.3 Data exchange .........................................................13
4.1.4 Generic maintenance ....................................................14
4.2 Session layer .................................................................14
4.2.1 Gen2V2 of STUHFL .....................................................14
UM2618 - Rev 4
page 20/24
UM2618
Contents
4.2.2 GB/T 29768 of STUHFL ..................................................14
4.3 Activity layer..................................................................15
4.3.1 Actions ...............................................................15
4.4 STUHFL EVAL API wrapper ....................................................15
4.4.1 Generic ...............................................................15
4.4.2 Configuration...........................................................15
4.4.3 Frequency .............................................................17
4.4.4 Tuning................................................................17
4.4.5 Gen2V2...............................................................17
4.4.6 GB/T 29768 ...........................................................18
4.4.7 Inventory runner ........................................................18
Revision history .......................................................................19
UM2618 - Rev 4
page 21/24
UM2618
List of tables
List of tables
Table 1. Main layers ........................................................................4
Table 2. Not exposed layers .................................................................. 5
Table 3. Helper modules .....................................................................5
Table 4. Directory description..................................................................9
Table 5. API headers ......................................................................10
Table 6. Platform dependent headers ........................................................... 11
Table 7. STUHFL connection functionality ........................................................13
Table 8. STUHFL parameter access functionality ................................................... 13
Table 9. STUHFL data exchange functionality ..................................................... 13
Table 10. STUHFL maintenance functionality ...................................................... 14
Table 11. STUHFL Gen2V2 functionality ..........................................................14
Table 12. STUHFL GB/T 29768 functionality ....................................................... 14
Table 13. STUHFL action functionality ........................................................... 15
Table 14. STUHFL EVAL API generic functionality ...................................................15
Table 15. STUHFL EVAL API configuration functionality ............................................... 15
Table 16. STUHFL EVAL API frequency settings functionality ........................................... 17
Table 17. STUHFL EVAL API tuning functionality .................................................... 17
Table 18. STUHFL EVAL API Gen2V2 functionality .................................................. 17
Table 19. STUHFL EVAL API GB/T 29768 functionality................................................ 18
Table 20. STUHFL EVAL API inventory runner functionality............................................. 18
Table 21. Document revision history ............................................................. 19
UM2618 - Rev 4
page 22/24
UM2618
List of figures
List of figures
Figure 1. System overview...................................................................2
Figure 2. ST UHFL library system architecture .....................................................6
Figure 3. ST UHF library usage overview.........................................................7
Figure 4. ST UHF library EVAL API device side usage ...............................................8
Figure 5. Directory structure..................................................................9
Figure 6. STUHFL directory structure ........................................................... 9
Figure 7. "inc" structure .................................................................... 10
Figure 8. "Platform" directory ................................................................ 10
UM2618 - Rev 4
page 23/24
UM2618
IMPORTANT NOTICE – PLEASE READ CAREFULLY
STMicroelectronics NV and its subsidiaries (“ST”) reserve the right to make changes, corrections, enhancements, modifications, and improvements to ST products and/or to this document at any time without notice. Purchasers should obtain the latest relevant information on ST products before placing orders. ST products are sold pursuant to ST’s terms and conditions of sale in place at the time of order acknowledgement.
Purchasers are solely responsible for the choice, selection, and use of ST products and ST assumes no liability for application assistance or the design of Purchasers’ products.
No license, express or implied, to any intellectual property right is granted by ST herein.
Resale of ST products with provisions different from the information set forth herein shall void any warranty granted by ST for such product.
ST and the ST logo are trademarks of ST. For additional information about ST trademarks, please refer to www.st.com/trademarks. All other product or service names are the property of their respective owners.
Information in this document supersedes and replaces information previously supplied in any prior versions of this document.
© 2021 STMicroelectronics – All rights reserved
UM2618 - Rev 4
page 24/24
Loading...