Table of Contents

NordicID.NurApi.Utils

The NordicID.NurApi.Utils namespace encompasses a set of utility classes designed to enhance the functionality and versatility of the NurApi RFID platform. Here's a concise overview of the key utilities within this namespace:

Technical Information

LocateTag class

The LocateTag class is designed to facilitate the process of locating a single tag within the field of a reader.

Here's a breakdown of its key features and functionalities:

  • Automatic Antenna Adjustment: One of the notable features of LocateTag is its ability to adjust antennas automatically based on the reader's capabilities. Whether the reader employs CrossDipole, Circular, or Proximity antennas, LocateTag optimizes antenna selection for efficient tag location.
  • Event-based Tag Location: Tag location information is provided through events. The LocateTagEvent event continuously updates with averaged information about the proximity of the tag to the reader. This includes details such as RSSI (Received Signal Strength Indication) values, which indicate the signal strength of the tag.
  • Dynamic Antenna Switching: The class dynamically switches between different antennas based on signal strength and the availability of antenna types. This ensures optimal performance in varying environments and conditions.
  • Flexible Tag Identification: LocateTag allows for tag identification using either hexadecimal strings or byte arrays representing the Electronic Product Code (EPC) of the tag.

SeekNearestTag class

The SeekNearestTag utility is a C# class designed to facilitate the search for the nearest RFID tag based on received signal strength indication (RSSI). It offers functionality to identify and track the nearest RFID tag within the reading area of an RFID reader. Below are key aspects of the SeekNearestTag class: Functionality:

  • Nearest Tag Identification: The utility employs RSSI values to identify the RFID tag with the strongest signal, considering it the nearest tag within the reading area. It continuously monitors the RSSI values of detected tags and updates the nearest tag status accordingly.

  • Event-based Reporting: The utility provides events (OnStatusChanged) to notify consumers of changes in the status of the nearest tag search process. Events include status changes such as the detection of the nearest tag, the absence of tags, too many tags in the reading area, and errors encountered during the process.

  • Blacklisting and Ignoring Tags: Tags can be blacklisted to prevent them from being considered as the nearest tag in future searches. This feature is useful for excluding specific tags from consideration. The utility also allows the addition of tags to an ignore list, ensuring that certain tags are disregarded when detected.

  • Configuration Options: Users can configure parameters such as minimum RSSI values (MinRssi), the count of rounds needed to detect the absence of valid tags (NoValidTagSeenCount), and the minimum count of times a tag must be seen before being accepted as the nearest tag (MustSeenCountBeforeAcceptBest). Single Tag Detection:

Optionally, the utility can be configured to detect only a single tag in the reading area (SingleTagOnly). If multiple tags are present, a status event indicating too many tags is triggered.

SensorTag class

The SensorTag class is tailored to facilitate the retrieval of sensor data from Magnus-S Sensor tags, specifically focusing on temperature or moisture readings. Here's a concise breakdown of its core features: Initialization and Configuration: The class constructor initializes the SensorTag instance with a handle to the NurApi instance, enabling seamless interaction with Nordic ID's NurApi functionalities.

  • Reading Sensor Tags: The ReadSensorTagsMagnus() method orchestrates the process of reading sensor tags. It employs a systematic approach to iterate through antennas, ensuring comprehensive tag coverage while minimizing overhead.
  • Data Retrieval: Within the ReadSensorTagsMagnus() method, the class retrieves sensor data, including temperature and sensor codes, from Magnus-S Sensor tags. It intelligently manages inventory operations and utilizes extended capabilities of NurApi for efficient data retrieval.
  • Data Processing: The class incorporates methods for processing sensor data, including temperature calculations and validation of calibration data. These processes ensure accurate and reliable sensor readings, critical for various applications.

Practical Implementation: Developers can seamlessly integrate the SensorTag class into their applications for diverse sensor data retrieval scenarios. Whether monitoring environmental conditions, tracking inventory, or implementing IoT solutions, the class provides a robust foundation for working with Magnus-S Sensor tags.

By leveraging the class's functionalities, developers can streamline the process of acquiring sensor data, empowering applications with real-time insights and actionable information. The flexibility and efficiency of the class make it a valuable asset in industries requiring precise sensor data management.

TIDUtils class

TIDUtils is designed to facilitate the decoding and processing of Tag Identification (TID) data from RFID (Radio-Frequency Identification) tags. This class offers a range of functionalities aimed at parsing TID information, extracting essential details such as Mask Designer Identifier (MDID), Tag Model Number (TMN), and Manufacturer Code Scheme (MCS), and providing convenient access to decoded tag information.

Key Components:

  • TID_TMN_Scheme Class: This component manages a static table (TMN_Table) that stores entries representing various tag models along with their associated attributes. These attributes include MDID, TMN, version mask, tag model name, and MCS generator function. The class provides methods to retrieve tag model names and MCS values based on MDID and TMN.

  • TagInformation Class: Responsible for representing decoded information from TID data, the TagInformation class offers a structured approach to store and access critical details extracted from RFID tags. It contains fields to hold information such as MDID, TMN, XTID, MCS, and provides methods to parse TID data efficiently, enabling access to company names, tag models, and other relevant information.

  • McsFuncs Class: This component consists of static methods that generate MCS values based on specific algorithms tailored to different tag models and chip versions. These methods take TID data as input and produce MCS values according to predefined rules, allowing for seamless integration into RFID tag processing workflows.

Functionality:

  • TID Data Parsing: TIDUtils simplifies the process of parsing TID data by offering clear interfaces to decode information such as MDID, TMN, XTID, and MCS.
  • Tag Model Identification: With TIDUtils, developers can easily identify tag models and retrieve relevant information such as company names and tag model names based on decoded TID data.
  • MCS Generation: The library streamlines MCS generation by providing predefined algorithms for different tag models and chip versions, ensuring accurate and efficient processing of RFID tag data.

In conclusion, TIDUtils serves as a versatile utility class for efficiently processing TID data from RFID tags, offering developers a powerful toolset to decode, identify, and extract valuable information, ultimately enhancing the capabilities of RFID-based systems across various industries and applications.