0% found this document useful (0 votes)
585 views

CAEN RFID API Reference Manual Rev 04

CAEN RFID API Reference manual documents the API used by C, Java and.Net programmers who want to write applications for controlling and using CAEN RFID readers. Added BRAZIL radiofrequency regulation in the CAENRFIDRFRegulations Enumeration.
Copyright
© Attribution Non-Commercial (BY-NC)
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
585 views

CAEN RFID API Reference Manual Rev 04

CAEN RFID API Reference manual documents the API used by C, Java and.Net programmers who want to write applications for controlling and using CAEN RFID readers. Added BRAZIL radiofrequency regulation in the CAENRFIDRFRegulations Enumeration.
Copyright
© Attribution Non-Commercial (BY-NC)
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 131

CAEN RFID API

Reference Manual

Reference Manual
Revision n. 04 06/09/2011

Scope of Manual
This manual documents the API used by C, Java and .Net programmers who want to write applications for controlling and using CAEN RFID readers.

Change Document Record


Date 29 Jun 2010 14 Jan 2011 Revision 01 02 Changes Initial release. Added BRAZIL radiofrequency regulation in the CAENRFIDRFRegulations Enumeration. Corrected GetTimeStamp Methods return value. Added Federal Communications Commission (FCC) Notice Added R1260U Reader in the declaration of Federal Communications Commission (FCC) note. Added XPC field information

22 Mar 2011 6 Sept 2011

03 04

CAEN RFID srl Via Vetraia, 11 55049 Viareggio (LU) - ITALY Tel. +39.0584.388.398 Fax +39.0584.388.959 [email protected] www.caenrfid.it

CAEN RFID srl 2010 Disclaimer No part of this manual may be reproduced in any form or by any means, electronic, mechanical, recording, or otherwise, without the prior written permission of CAEN RFID. The information contained herein has been carefully checked and is believed to be accurate; however, no responsibility is assumed for inaccuracies. CAEN RFID reserves the right to modify its products specifications without giving any notice; for up to date information please visit www.caenrfid.it.

Federal Communications Commission (FCC) Notice (Preliminary) 1 This device was tested and found to comply with the limits set forth in Part 15 of the FCC Rules. Operation is subject to the following conditions: (1) this device may not cause harmful interference, and (2) this device must accept any interference received including interference that may cause undesired operation. These limits are designed to provide reasonable protection against harmful interference when the equipment is operated in a commercial environment. This device generates, uses, and can radiate radio frequency energy. If not installed and used in accordance with the instruction manual, the product may cause harmful interference to radio communications. Operation of this product in a residential area is likely to cause harmful interference, in which case, the user is required to correct the interference at their own expense. The authority to operate this product is conditioned by the requirements that no modifications be made to the equipment unless the changes or modifications are expressly approved by CAEN RFID.

This declaration only applies to FCC readers A828US, A829US, A528, R1230CB, R1260I, R1260U.

Index
Scope of Manual .......................................................................................................................................... 2 Change Document Record ....................................................................................................................... 2

Index ..............................................................................................................................3 List of Tables .............................................................................................................5


1 Introduction ................................................................................................................6
Overview on SDK .......................................................................................................................................... 7 Functions and methods names ................................................................................................................. 7 Error Handling ................................................................................................................................................ 7 Managing connections with the readers ................................................................................................ 7 Return data mechanism ............................................................................................................................. 8 Passing parameters to methods and functions...................................................................................... 8

2 3

CAEN RFID API Structure ............................................................................................9


CAENRFID Classes....................................................................................................................................... 10 CAENRFID Enumerations ........................................................................................................................... 15

Classes Description..................................................................................................16
CAENRFIDException Class ........................................................................................................................ 17
getError Method......................................................................................................................................................17

CAENRFIDLogicalSource Class................................................................................................................. 18
AddReadPoint Method .........................................................................................................................................18 BlockWriteTagData Method .................................................................................................................................19 CustomCommand_EPC_C1G2 Method ............................................................................................................21 EventInventoryTag Method ..................................................................................................................................22 Fujitsu_BurstErase Method .....................................................................................................................................23 Fujitsu_BurstWrite Method ......................................................................................................................................25 Fujitsu_ChgBlockGroupPassword Method .........................................................................................................27 Fujitsu_ChgBlockLock Method .............................................................................................................................29 Fujitsu_ChgWordLock Method .............................................................................................................................31 Fujitsu_ReadBlockLock Method ...........................................................................................................................33 Fujitsu_Refresh Method ..........................................................................................................................................35 GetBufferedData Method ....................................................................................................................................36 GetDESB_ISO180006B Method..............................................................................................................................36 GetName Method..................................................................................................................................................37 GetQ_EPC_C1G2 Method ....................................................................................................................................37 GetReadCycle Method ........................................................................................................................................38 GetSelected_EPC_C1G2 Method .......................................................................................................................38 GetSession_EPC_C1G2 Method...........................................................................................................................39 GetTarget_EPC_C1G2 Method............................................................................................................................39 GroupSelUnsel Method..........................................................................................................................................40 Hitachi_BlockLock Method ...................................................................................................................................41 Hitachi_BlockReadLock Method .........................................................................................................................43 Hitachi_GetSystemInformation Method .............................................................................................................45 Hitachi_ReadLock Method ...................................................................................................................................46 Hitachi_SetAttenuate Method .............................................................................................................................47 Hitachi_WriteMultipleWords Method...................................................................................................................49 InventoryTag Method ............................................................................................................................................51 isReadPointPresent Method..................................................................................................................................58 KillTag_EPC_C1G1 Method ...................................................................................................................................58 KillTag_EPC_C1G2 Method ...................................................................................................................................59 LockBlockPermaLock_EPC_C1G2 Method........................................................................................................61 LockTag_EPC_C1G2 Method ...............................................................................................................................62 LockTag_ISO180006B Method ..............................................................................................................................65 NXP_ChangeEAS Method .....................................................................................................................................65 NXP_EAS_Alarm Method .......................................................................................................................................66 NXP_ReadProtect Method....................................................................................................................................66 NXP_ResetReadProtect Method..........................................................................................................................67 ProgramID_EPC_C1G1 Method ...........................................................................................................................68 ProgramID_EPC_C1G2 Method ...........................................................................................................................68

ProgramID_EPC119 Method .................................................................................................................................69 Query_EPC_C1G2 Method ...................................................................................................................................70 QueryAck_EPC_C1G2 Method ............................................................................................................................70 ReadBLockPermalock_EPC_C1G2 Method ......................................................................................................71 ReadTagData Method ..........................................................................................................................................72 ReadTagData_EPC_C1G2 Method.....................................................................................................................73 RemoveReadPoint Method..................................................................................................................................77 ResetSession_EPC_C1G2 Method........................................................................................................................77 SetDESB_ISO180006B Method ...............................................................................................................................78 SetQ_EPC_C1G2 Method......................................................................................................................................78 SetReadCycle Method..........................................................................................................................................79 SetSelected_EPC_C1G2 Method.........................................................................................................................79 SetSession_EPC_C1G2 Method ............................................................................................................................80 SetTarget_EPC_C1G2 Method .............................................................................................................................80 WriteTagData Method...........................................................................................................................................81 WriteTagData_EPC_C1G2 Method .....................................................................................................................82

CAENRFIDNotify Class ................................................................................................................................ 86


getDate Method.....................................................................................................................................................86 getReadPoint Method...........................................................................................................................................86 getRSSI Method.......................................................................................................................................................87 getStatus Method ...................................................................................................................................................87 getTagID Method ...................................................................................................................................................87 getTagLength Method ..........................................................................................................................................87 getTagSource Method ..........................................................................................................................................88 getTagType Method ..............................................................................................................................................88 getTID Method ........................................................................................................................................................88

CAENRFIDReader Class ............................................................................................................................. 90


Connect Method....................................................................................................................................................90 Init Function..............................................................................................................................................................90 Disconnect Method ...............................................................................................................................................91 End.............................................................................................................................................................................91 GetBitRate Method ................................................................................................................................................91 GetFirmwareRelease Method ..............................................................................................................................92 GetIO Method.........................................................................................................................................................92 GetIODirection Method ........................................................................................................................................93 GetLBTMode Method.............................................................................................................................................93 GetPower Method..................................................................................................................................................94 GetProtocol Method..............................................................................................................................................94 GetReaderInfo Method.........................................................................................................................................95 GetReadPoints Method.........................................................................................................................................95 GetReadPointStatus Method ...............................................................................................................................96 GetRFChannel Method .........................................................................................................................................96 GetRFRegulation Method .....................................................................................................................................97 GetSource Method ................................................................................................................................................97 GetSourceNames Method....................................................................................................................................98 GetSources Method...............................................................................................................................................98 InventoryAbort Method .........................................................................................................................................98 RFControl Method ..................................................................................................................................................99 SetBitRate Method..................................................................................................................................................99 SetDateTime Method .......................................................................................................................................... 100 SetIO Method ....................................................................................................................................................... 100 SetIODIRECTION Method.................................................................................................................................... 101 SetLBTMode Method ........................................................................................................................................... 101 SetNetwork Method ............................................................................................................................................ 102 SetPower Method ................................................................................................................................................ 102 SetProtocol Method ............................................................................................................................................ 103 SetRFChannel Method........................................................................................................................................ 103 SetRFRegulation Method.................................................................................................................................... 104 SetRS232 Method................................................................................................................................................. 105

CAENRFIDReaderInfo Class .................................................................................................................... 106


GetModel Method .............................................................................................................................................. 106 GetSerialNumber Method.................................................................................................................................. 106

CAENRFIDTag Class.................................................................................................................................. 107


GetId Method ...................................................................................................................................................... 107

CAEN RFID API Reference Manual

GetLength Method ............................................................................................................................................. 107 GetReadPoint Method ....................................................................................................................................... 108 GetRSSI Method ................................................................................................................................................... 108 GetSource Method ............................................................................................................................................. 108 GetTID Method..................................................................................................................................................... 109 GetTimeStamp Method...................................................................................................................................... 109 GetType Method ................................................................................................................................................. 109 GetXPC Method .................................................................................................................................................. 109

Event Handling .......................................................................................................111


Event Handling.......................................................................................................................................... 112
EventInventoryTag Method ............................................................................................................................... 113 InventoryAbort Method ...................................................................................................................................... 114

C# Event Handling ................................................................................................................................... 115


CAENRFIDEventArgs Class.................................................................................................................................. 115 CAENRFIDEventHandler Delegate ................................................................................................................... 115 CAENRFIDEvent Event......................................................................................................................................... 115

JAVA Event Handling............................................................................................................................... 116


CAENRFIDEvent Class.......................................................................................................................................... 116 CAENRFIDEventListener Interface..................................................................................................................... 116 addCAENRFIDEventListener............................................................................................................................... 116 removeCAENRFIDEventListener ........................................................................................................................ 116

C Event Handling...................................................................................................................................... 117


CAENRFID_INVENTORY_CALLBACK .................................................................................................................. 117

Enumerations Description......................................................................................118
CAENRFIDBitRate Enumeration.............................................................................................................. 119 CAENRFIDLogicalSourceConstants Enumeration .............................................................................. 120 CAENRFIDPort Enumeration.................................................................................................................... 121 CAENRFIDProtocol Enumeration ........................................................................................................... 121 CAENRFIDReadPointStatus Enumeration ............................................................................................. 122 CAENRFIDRFRegulations Enumeration ................................................................................................. 122 CAENRFIDRS232Constants Enumeration .............................................................................................. 124 CAENRFIDSelUnselOptions Enumeration .............................................................................................. 124

CAENRFID Obsolete Methods ...............................................................................125


C# Obsolete Methods............................................................................................................................. 126 C# Obsolete Members............................................................................................................................ 127 JAVA Obsolete Methods ........................................................................................................................ 127 C Obsolete Functions .............................................................................................................................. 129 C Obsolete Data Types ........................................................................................................................... 130

List of Tables
Tab. 2.1: CAENRFID classes.............................................................................................................10 Tab. 2.2: CAENRFID methods .........................................................................................................14 Tab. 2.3: CAENRFID Enumerations .................................................................................................15 Tab. 6.1: C# Obsolete Methods ..................................................................................................126 Tab. 6.2: C# Obsolete Members .................................................................................................127 Tab. 6.3: JAVA Obsolete Methods ..............................................................................................128 Tab. 6.4: C Obsolete Functions ....................................................................................................130 Tab. 6.5: C Obsolete Data Types.................................................................................................131

CAEN RFID API Reference Manual

1 Introduction

This Chapter gives basic information about CAENRFID Software Development Kit (SDK). It contains these topics: Overview on SDK Functions and methods names Error Handling Managing connections with the readers Return data mechanism Passing parameters to methods and functions

CAEN RFID API Reference Manual

Overview on SDK
CAEN RFID provides a Software Development Kit (SDK) aimed to facilitate the software developers in interfacing with its readers. The SDK provides Application Program Interfaces (API) for three programming languages: C, Java and J#/C#/Visual Basic .NET. The functionalities and the behaviors exported by the libraries are exactly the same for all the languages but, due to the syntax differences between them, there are differences in the implementation of functions and methods. Java and .NET implementation are very similar because they are both Object Oriented environments while the C implementation differs more. The Object Oriented implementation (Java and .NET) defines a set of classes that models the devices characteristics, the main one are the CAENRFIDReader class and the CAENRFIDLogicalSource class. The first one implements the main methods used to configure general readers' parameters like the output power, the link interface and so on, the latter provides the methods to be used in order to communicate with the RFID tags (tags detection, read and write commands and so on). The C implementation, on the contrary, implements a set of data types (defined into the CAENRFIDTypes.h header file) and a list of functions (defined into the CAENRFIDLib.h header file) in order to obtain the same functionalities as the Java and .NET classes. In the Object Oriented languages (C# and Java) there are some methods that return objects, these methods have no correspondent in C language. Further details on .NET and Java APIs can be found into the CAEN RFID API User Manual. The following paragraphs will denote the differences in functionality for the topics listed below: Functions and methods names Error Handling Managing connections with the readers Return data mechanism Passing parameters to methods and functions

Functions and methods names


The functions and methods with the same functionalities have the same name in all languages. The only exceptions are due to the absence of the overloading feature in the C language: methods that are overloaded in Java and .NET are translated in a corresponding set of different functions in C. Note: some methods and functions have changed name in the last revision of the API but older names are still functional to preserve backward compatibility (see CAENRFID Obsolete Methods pag.125).

Error Handling
Java and .NET language API handle error conditions using the exceptions mechanism: when a method encounters an error, an exception is thrown to the calling code. The API defines a proper class for the exception generated by its methods (CAENRFIDException) the origin of the error is represented inside the CAENRFIDException object as a string. C language does not provide the exception mechanism so the errors are handled using the return value of the functions. Each C function returns a numeric error code that can be interpreted using the CAENRFIDErrorCodes enumeration. Since no exceptions are generated, the execution flow of the program is not interrupted by the errors so it is always suggested to check for error conditions in the code before to call other functions.

Managing connections with the readers


Java and .NET languages allow to initiate and terminate the communication with the reader by means of two specific methods of the CAENRFIDReader objects. So, after an object of the class

CAEN RFID API Reference Manual

CAENRFIDReader is instantiated, the Connect method permits to start the communication with a reader while the Disconnect method permits to terminate the communication. C language is not object oriented and the handling of the communication state is implemented using two functions. CAENRFID_Init is used to start the communication with a reader and to initialize all the library's internal data structures needed in order to maintain the communication active. The function returns an "handle" (very similar to the handles used in managing files) that have to be used in any subsequent function calls relative to that reader. At the end of the operation, a call to the CAENRFID_End function permits to close the communication link and to free the internal data structures.

Return data mechanism


As seen in the Error Handling paragraph, all the C functions return a numeric error codes. Due to that reason, functions that need to return data to the caller use output parameters. Output parameters for the C functions are highlighted in this reference manual by the underlined name in the formal parameter list. Java and .NET languages use exception for the error handling so, typically, the data is returned to the caller using the return value of the methods.

Passing parameters to methods and functions


There are differences in the parameters' lists between Java/.NET methods and C functions. Many of those differences are due to the implicit reference of the methods to their objects. This characteristic of object oriented languages is emulated in C functions using an additional explicit parameter. Methods belonging to CAENRFIDLogicalSource objects, for example, are emulated in C functions that accept SourceName parameters. Other differences are due to the better handling of complex data types in Java and .NET languages. Arrays, for example, have implicit size in Java/.NET that permit to pass a single parameter to methods requiring this data type. In C functions, passing an array as a parameter, need to specify both the memory address of the array and its size explicitly.

CAEN RFID API Reference Manual

2 CAEN RFID API Structure

This chapter describes CAEN RFID API Structure. It contains these topics: CAENRFID Classes CAENRFID Enumerations

CAEN RFID API Reference Manual

CAENRFID Classes
In .NET (henceforth C#) and Java languages, CAENRFID methods are divided into the following classes: Class CAENRFIDEventArgs2 CAENRFIDException Description This class defines the CAENRFID event arguments. This class defines the CAEN RFID exceptions. The CAENRFIDLogicalSource class is used to create logical source objects. Logical source objects represent an aggregation of read points (antennas). Operations on the tags are performed using the logical source methods. In addition to the methods used to operate on the tags, the logical source class exports methods to configure the anticollision algorithm and to configure the composition of the logical source itself. This class defines the structure of a notification message. The CAENRFIDReader class is used to create reader objects which permit to access to CAEN RFID readers' configuration and control commands. The CAENRFIDReaderInfo class is used to create reader info objects. Reader info objects represent the information about the reader device (model and serial number). This class is used to define objects representing the tags. These objects are used as return value for the inventory methods and as arguments for many tag access methods.

CAENRFIDLogicalSource

CAENRFIDNotify CAENRFIDReader

CAENRFIDReaderInfo

CAENRFIDTag
Tab. 2.1: CAENRFID classes

Each class contains the following methods: Methods CAENRFIDEventArgs Class getData CAENRFIDException Class getError CAENRFIDLogicalSource Class AddReadPoint BlockWriteTagData Description Returns the event object value. Gets the error string associated to the exception. Adds a read point to the logical source. Overloaded. This method can be used to write a portion of the user memory in a ISO18000-6B tag using blocks of four bytes for each command. Overloaded. This method can be used to issue a generic Custom command as defined by the EPC Class1 Gen2 protocol specification. The parameters are used to specify the type of the custom command and its parameters. A call to this method will start a sequence of read cycle on each read point linked to the logical source. The readings will be notified to the controller via event generation. Overloaded. This method can be used to issue a BurstErase custom command as defined by the Fujitsu datasheet. Overloaded. This method can be used to issue a BurstWrite custom command as defined by the Fujitsu datasheet. Overloaded. This method can be used to issue a ChgBlockGroupPassword custom command as defined by the Fujitsu datasheet. Overloaded. This method can be used to issue a ChgBlockLock custom command as defined by the Fujitsu datasheet. Overloaded. This method can be used to issue a

CustomCommand_EPC_C1G2

EventInventoryTag Fujitsu_BurstErase Fujitsu_BurstWrite Fujitsu_ChgBlockGroupPassword

Fujitsu_ChgBlockLock Fujitsu_ChgWordLock
2

For the description of this class, see Event Handling pag.112

10

CAEN RFID API Reference Manual

Methods

Fujitsu_ReadBlockLock Fujitsu_Refresh GetBufferedData

GetDESB_ISO180006B GetName GetQ_EPC_C1G2

GetReadCycle

GetSelected_EPC_C1G2

GetSession_EPC_C1G2

GetTarget_EPC_C1G2

GroupSelUnsel

Hitachi_BlockLock

Hitachi_BlockReadLock

Hitachi_GetSystemInformation

Hitachi_ReadLock

Hitachi_SetAttenuate

Hitachi_WriteMultipleWords

InventoryTag isReadPointPresent KillTag_EPC_C1G1 KillTag_EPC_C1G2 LockBlockPermaLock_EPC_C1G2 LockTag_EPC_C1G2

Description ChgWordLock custom command as defined by the Fujitsu datasheet. Overloaded. This method can be used to issue a ReadBlockLock custom command as defined by the Fujitsu datasheet. Overloaded. This method can be used to issue a Refresh custom command as defined by the Fujitsu datasheet. The function returns all the Tags stored in reader's memory using all the ReadPoints belonging to the Source. This method can be used to retrieve the Data Exchange Status Bit setting (see ISO18000-6B protocol specification) used by the anticollision algorithm when called on this logical source. Gets a string representing the name of the logical source. This method can be used to retrieve the current setting for the initial Q value (see EPC Class1 Gen2 protocol specification) used by the anticollision algorithm when called on this logical source. Gets the current setting for the number of read cycles performed by the logical source during the inventory algorithm execution. This method can be used to retrieve the Selected flag (see EPC Class1 Gen2 protocol specification) used by the anticollision algorithm when called on this logical source. This method can be used to retrieve the Session setting (see EPC Class1 Gen2 protocol specification) used by the anticollision algorithm when called on this logical source. This method can be used to retrieve the Target setting (see EPC Class1 Gen2 protocol specification) used by the anticollision algorithm when called on this logical source. This method can be used to send a Group Select/Unselect command to the tag (see ISO18000-6B protocol specification). Overloaded. This method can be used to issue a BlockLock custom command as defined by the Hitachi Hibiki datasheet. Overloaded. This method can be used to issue a BlockReadLock custom command as defined by the Hitachi Hibiki datasheet. Overloaded. This method can be used to issue a GetSystemInformation custom command as defined by the Hitachi Hibiki datasheet. Overloaded. This method can be used to issue a ReadLock custom command as defined by the Hitachi Hibiki datasheet. Overloaded. This method can be used to issue a SetAttenuate custom command as defined by the Hitachi Hibiki datasheet. Overloaded. This method can be used to issue a WriteMultipleWords custom command as defined by the Hitachi Hibiki datasheet. Overloaded. A call to this method will execute a read cycle on each read point linked to the logical source. Depending on the air protocol setting it will execute the appropriate anticollision algorithm. Checks if a read point is present in the logical source. This method can be used to kill an EPC Class 1 Gen 1 tag. Overloaded. This method can be used to kill an EPC of an EPC Class 1 Gen 2 tag. This method implements the BLockPermaLock with ReadLock=1 as specified in EPCC1G2 rev. 1.2.0 protocol. Overloaded. This method can be used to lock a memory

CAEN RFID API Reference Manual

11

Methods LockTag_ISO180006B

NXP_ChangeEAS

NXP_EAS_Alarm

NXP_ReadProtect

NXP_ResetReadProtect ProgramID_EPC_C1G1 ProgramID_EPC_C1G2 ProgramID_EPC119 Query_EPC_C1G2

QueryAck_EPC_C1G2

ReadBLockPermalock_EPC_C1G2 ReadTagData ReadTagData_EPC_C1G2 RemoveReadPoint ResetSession_EPC_C1G2

SetDESB_ISO180006B

SetQ_EPC_C1G2 SetReadCycle SetSelected_EPC_C1G2

SetSession_EPC_C1G2

SetTarget_EPC_C1G2 WriteTagData WriteTagData_EPC_C1G2 CAENRFIDNotify Class getDate

Description bank of an EPC Class 1 Gen 2 tag. This method can be used to lock a byte in the memory of a ISO18000-6B tag. This method can be used to issue a ChangeEAS custom command as defined by the NXP G2XM and G2XL datasheet after having put it in Secured state using the Access command. This method can be used to issue an EAS_Alarm custom command as defined by the NXP G2XM and G2XL datasheet. Overloaded. This method can be used to issue a ReadProtect custom command as defined by the NXP G2XM and G2XL datasheet. This method can be used to issue a ResetReadProtect custom command as defined by the NXP G2XM and G2XL datasheet. This method can be used to write the EPC of an EPC Class 1 Gen 1 tag. Overloaded. This method can be used to write the EPC of an EPC Class 1 Gen 2 tag. This method can be used to write the UID of an EPC 1.19 tag. This method make the reader generate an EPC Class1 Gen2 Query command. This method make the reader generate a sequence of EPC Class1 Gen2 Query and Ack commands. It can be used to read a single tag under the field. If there are more than one tag under the field the method fails. This method implements the BLockPermaLock with ReadLock=0 as specified in EPCC1G2 rev. 1.2.0 protocol. This method can be used to read a portion of the user memory in a ISO18000-6B tag. Overloaded. This method can be used to read a portion of memory in a ISO18000-6C (EPC Class1 Gen2) tag. Removes a read point from the logical source. This method can be used to reset the Session status for EPC Class1 Gen2 tags. After the execution of this method all the tags in the field of the antennas belonging to this logical source are back in the default Session. This method can be used to set the Data Exchange Status Bit (see ISO18000-6B protocol specification) used by the anticollision algorithm when called on this logical source. This method can be used to set the initial Q value (see EPC Class1 Gen2 protocol specification) used by the anticollision algorithm when called on this logical source. Sets the number of read cycles to be performed by the logical source during the inventory algorithm execution. This method can be used to set the Session (see EPC Class1 Gen2 protocol specification) used by the anticollision algorithm when called on this logical source. This method can be used to set the Session (see EPC Class1 Gen2 protocol specification) used by the anticollision algorithm when called on this logical source. This method can be used to set the Target setting (see EPC Class1 Gen2 protocol specification) used by the anticollision algorithm when called on this logical source. This method can be used to write a portion of the user memory in a ISO18000-6B tag. Overloaded. This method can be used to write a portion of memory in a ISO18000-6C (EPC Class1 Gen2) tag. Returns a timestamp representing the time at which the

12

CAEN RFID API Reference Manual

Methods getReadPoint getRSSI getStatus getTagID getTagLength getTagSource getTagType getTID GetXPC CAENRFIDReader Class Connect Disconnect GetBitRate GetFirmwareRelease GetIO GetIODirection

Description event was generated. Returns the read point that has detected the tag. Returns the RSSI value measured for the tag. Returns the event type associated to the tag. Returns the tag's ID (the EPC code in Gen2 tags). Returns the tag's ID length. Returns the name of the logical source that has detected the tag. Returns the air protocol of the tag. Returns the TID field value in a EPC Class 1 Gen 2 Tag Returns the tags XPC words. Starts the communication with the reader. It must be called before any other call to method of the CAENRFIDReader object. Closes the connection with the CAEN RFID Reader releasing all the allocated resources. Gets the current setting of the RF bit rate. Permits to read the release of the firmware loaded into the device. Gets the current digital Input and Output lines status. Gets the current I/O direction setting as a bitmask. Each bit represents a I/O line, a value of 0 means that the line is configured as an input, 1 as an output. This setting has a meaning only for those readers with configurable I/O lines. Gets the current LBT mode setting. If the current regulation is based on the frequency hopping mechanism it returns the FH status. Gets the current setting of the RF power expressed in mW. Gets the current air protocol of the Reader. Permits to read the reader information loaded into the device. Gets the names of the read points (antennas) available in the reader. Gets the CAENRFIDReadPointStatus object rapresenting the status of a read point (antenna). Gets the index of the RF channel currently in use. The index value meaning change for different country regulations. Gets the current RF regulation setting value. Gets a CAENRFIDLogicalSource object given its name Gets the names of the logical sources available in the reader. Gets the CAENRFIDLogicalSource objects available on the reader. Stops the EventInventoryTag execution. Permits to control the RF CW (Carrier Wave) signal generation. Sets the RF bit rate to use. Sets the Date/Time of the reader. Sets the Output lines value. Sets the current I/O direction setting as a bitmask. Each bit represents a I/O line, a value of 0 means that the line is configured as an input, 1 as an output. This setting has a meaning only for those readers with configurable I/O lines. Sets/Resets the LBT/FH mode. Permits to configure the network settings of the reader. In order to apply the changes the reader must be restarted. Sets the conducted RF power of the Reader. Set the air protocol of the reader. Sets the RF channel to use. This method fixes the RF channel only when the listen before talk or the frequency hopping

GetLBTMode GetPower GetProtocol GetReaderInfo GetReadPoints GetReadPointStatus GetRFChannel GetRFRegulation GetSource GetSourceNames GetSources InventoryAbort RFControl Method SetBitRate SetDateTime SetIO SetIODIRECTION SetLBTMode SetNetwork SetPower SetProtocol SetRFChannel

CAEN RFID API Reference Manual

13

Methods SetRFRegulation SetRS232 CAENRFIDReaderInfo Class GetModel GetSerialNumber CAENRFIDTag Class GetId GetLength GetReadPoint GetRSSI GetSource GetTID GetTimeStamp GetType GetXPC
Tab. 2.2: CAENRFID methods

Description feature is disabled. Sets the RF regulation setting value. Permits to change the serial port settings. Valid settings values depend on the reader model. Gets the reader's model. Gets the reader's serial number. Returns the tag's ID (the EPC code in Gen2 tags). Returns the tag's ID length. Returns the read point that has detected the tag. Returns the RSSI value measured for the tag. Returns the name of the logical source that has detected the tag. Returns the tag's TID (valid only for EPC Class 1 Gen 2 tags). Gets the Tag's TimeStamp. Returns the air protocol of the tag. Returns the tags XPC words.

14

CAEN RFID API Reference Manual

CAENRFID Enumerations
The following enumerations are present in C# language They correspond to classes in Java language and to enumerations and data types in C language: Enumerations BitRate LogicalSourceConstants Description Gives a list of the supported radiofrequency profiles. Gives a list of constants used for the configuration of the logical sources. Detailed explanation of the settings can be found in the EPC Class 1 Gen 2 and ISO 18000-6B specification documents. Gives a list of the communication ports supported by the CAEN RFID readers. Gives a list of the air protocol supported by the CAEN RFID readers. Gives a list of the possible ReadPoint status values. Gives a list of country radiofrequency regulations. Gives a list of settings for the serial port configuration. Gives a list of operations supported by the Group Select/Unselect command (valid only for the ISO18000-6B air protocol).

Port Protocol ReadPointStatus RFRegulations RS232Constants SelUnselOptions


Tab. 2.3: CAENRFID Enumerations

CAEN RFID API Reference Manual

15

3 Classes Description

This chapter gives a description of CAENRFID methods divided into classes. It contains these topics: CAENRFIDException Class CAENRFIDLogicalSource Class CAENRFIDNotify Class CAENRFIDReader Class CAENRFIDReaderInfo Class CAENRFIDTag Class

16

CAEN RFID API Reference Manual

CAENRFIDException Class
The CAENRFIDException class defines the CAEN RFID exceptions.

getError Method
Description: This method gets the error string associated to the exception. Return value: The string representing the error. Syntax: C# representation: public string JAVA representation: public java.lang.String getError() getError()

Remarks: This function does not exist in C language, see Error Handling pag. 7 for more informations.

CAEN RFID API Reference Manual

17

CAENRFIDLogicalSource Class
The CAENRFIDLogicalSource class is used to create logical source objects. Logical source objects represent an aggregation of read points (antennas). Operations on the tags are performed using methods belonging to the logical source. In addition to the methods used to operate on the tags, the logical source class exports methods to configure the anticollision algorithm and to configure the composition of the logical source itself.

AddReadPoint Method
Description: This method adds a read point to the logical source. Parameters: Name ReadPoint Syntax: C# representation: public void JAVA representation: public void AddReadPoint( java.lang.String ReadPoint) throws CAENRFIDException AddReadPoint( string ReadPoint)

Description A string representing the name of the read point (antenna).

C representation: CAENRFIDErrorCodes CAENRFID_AddReadPoint( CAENRFIDHandle char char handle, *SourceName, *ReadPoint);

18

CAEN RFID API Reference Manual

BlockWriteTagData Method
BlockWriteTagData Method (CAENRFIDTag, Int16, Int16, Byte[])
Description: This method can be used to write a portion of the user memory in a ISO18000-6B tag using blocks of four bytes for each command. Parameters: Name Tag Address Length Data Syntax: C# representation: public void BlockWriteTagData( CAENRFIDTag short short byte[] Tag, Address, Length, Data)

Description The CAENRFIDTag representing the tag to be written. The address where to start writing the data. The number of byte to be written. The data to be written into the tag's user memory.

JAVA representation: public void BlockWriteTagData( CAENRFIDTag Tag, short Address, short Length, byte[] Data) throws CAENRFIDException

C representation: CAENRFIDErrorCodes CAENRFID_BlockWriteTagData( CAENRFIDHandle CAENRFIDTag int int void handle, *Tag, Address, Length, *Data);

CAEN RFID API Reference Manual

19

BlockWriteTagData Method (CAENRFIDTag, Int16, Int16, Int16, Byte[])


Description: This method can be used to write a portion of the user memory in a ISO18000-6B tag using blocks of four bytes for each command. Parameters: Name Tag Address Mask Length Data Syntax: C# representation: public void BlockWriteTagData( CAENRFIDTag short short short byte[] Tag, Address, Mask, Length, Data)

Description The CAENRFIDTag representing the tag to be written. The address where to start writing the data. A bitmask that permit to select which of the four bytes have to be written (i.e. mask 0x05 write the bytes on position Address + 1 and Address + 3). The number of byte to be written. The data to be written into the tag's user memory.

JAVA representation: public void BlockWriteTagData( CAENRFIDTag Tag, short Address, short Mask, short Length, byte[] Data) throws CAENRFIDException

C representation: CAENRFIDErrorCodes CAENRFID_FilterBlockWriteTagData( CAENRFIDHandle handle, CAENRFIDTag *ID, int Address, short Mask, int Length, void *Data);

20

CAEN RFID API Reference Manual

CustomCommand_EPC_C1G2 Method
CustomCommand_EPC_C1G2 Method (CAENRFIDTag, Byte, Int16, Byte[], Int16)
Description: This method can be used to issue a generic Custom command as defined by the EPC Class1 Gen2 protocol specification. The parameters are used to specify the type of the custom command and its parameters. Parameters: Name Tag SubCmd TxLen Data RxLen

Description The CAENRFIDTag object representing the tag to which send the Custom command. The SubCommand field of the Custom command. The length of the data to be sent to the tag. The data to be sent to the tag. The length of the data to be received by the tag.

Return value: An array of bytes representing the reply from the tag as specified by the custom command. Syntax: C# representation: public byte[] CustomCommand_EPC_C1G2( CAENRFIDTag byte short byte[] short Tag, SubCmd, TxLen, Data, RxLen)

JAVA representation: public byte[] CustomCommand_EPC_C1G2( CAENRFIDTag Tag, byte SubCmd, short TxLen, byte[] Data, short RxLen) throws CAENRFIDException

C representation: CAENRFIDErrorCodes CAENRFID_CustomCommand_EPC_C1G2( CAENRFIDHandle handle, CAENRFIDTag *Tag, unsigned char SubCmd, int TxLen, void *Data, int RxLen, void *TRData);

CAEN RFID API Reference Manual

21

CustomCommand_EPC_C1G2 Method (CAENRFIDTag, Byte, Int16, Byte[], Int16, Int32)


Description: This method can be used to issue a generic Custom command as defined by the EPC Class1 Gen2 protocol specification. The parameters are used to specify the type of the custom command and its parameters. The Custom command is executed after an Access command to switch the tag in the Secured state using the provided password. Parameters: Name Tag SubCmd TxLen Data RxLen AccessPassword

Description The CAENRFIDTag object representing the tag to select. The SubCommand field of the Custom command. The length of the data to be sent to the tag. The data to be sent to the tag. The length of the data to be received by the tag. The access password.

Return value: An array of bytes representing the reply from the tag as specified by the custom command. Syntax: C# representation: public byte[] CustomCommand_EPC_C1G2( CAENRFIDTag byte short byte[] short int Tag, SubCmd, TxLen, Data, RxLen, AccessPassword)

JAVArepresentation: public byte[] CustomCommand_EPC_C1G2( CAENRFIDTag Tag, byte SubCmd, short TxLen, byte[] Data, short RxLen, int AccessPassword) throws CAENRFIDException

C representation: CAENRFIDErrorCodes CAENRFID_SecureCustomCommand_EPC_C1G2( CAENRFIDHandle handle, CAENRFIDTag *Tag, unsigned char SubCmd, int TxLen, void *Data, int RxLen, int AccessPassword, void *TRData);

EventInventoryTag Method
For the description of this method, see Event Handling pag.111.

22

CAEN RFID API Reference Manual

Fujitsu_BurstErase Method
Fujitsu_BurstErase Method (CAENRFIDTag, Byte, Int16, Byte)
Description: This method can be used to issue a BurstErase custom command as defined by the Fujitsu datasheet. Parameters: Name Tag MemBank Address Length

Description The CAENRFIDTag representing the tag to be written. The memory bank where to erase the data. The address where to erase the data. The number of byte to be erased.

Return value: A byte representing the "Write-locked" response of the tag. Syntax: C# representation: public byte Fujitsu_BurstErase( CAENRFIDTag byte short byte Tag, MemBank, Address, Length)

JAVA representation: public byte Fujitsu_BurstErase( CAENRFIDTag Tag, byte MemBank, short Address, byte Length) throws CAENRFIDException

C representation: CAENRFIDErrorCodes CAENRFID_Fujitsu_BurstErase( CAENRFIDHandle CAENRFIDTag char short char char handle, *Tag, MemBank, Address, Length, *TRData);

CAEN RFID API Reference Manual

23

Fujitsu_BurstErase Method (CAENRFIDTag, Byte, Int16, Byte, Int32)


Description: This method can be used to issue a BurstErase custom command as defined by the Fujitsu datasheet after having put it in Secured state using the Access command. Parameters: Name Tag MemBank Address Length AccessPassword

Description The CAENRFIDTag representing the tag to be written. The memory bank where to erase the data. The address where to erase the data. The number of byte to be erased. The access password.

Return value: A byte representing the "Write-locked" response of the tag. Syntax: C# representation: public byte Fujitsu_BurstErase( CAENRFIDTag byte short byte int Tag, MemBank, Address, Length, AccessPassword)

JAVA representation: public byte Fujitsu_BurstErase( CAENRFIDTag Tag, byte MemBank, short Address, byte Length, int AccessPassword) throws CAENRFIDException

C representation: CAENRFIDErrorCodes CAENRFID_Fujitsu_SecureBurstErase( CAENRFIDHandle handle, CAENRFIDTag *Tag, char MemBank, short Address, char Length, char *TRData, int AccessPassword);

24

CAEN RFID API Reference Manual

Fujitsu_BurstWrite Method
Fujitsu_BurstWrite Method (CAENRFIDTag, Byte, Int16, Byte, Byte[])
Description: This method can be used to issue a BurstWrite custom command as defined by the Fujitsu datasheet. Parameters: Name Tag MemBank Address Length Data

Description The CAENRFIDTag representing the tag to be written. The memory bank where to write the data. The address where to start writing the data. The number of byte to be written. An array of bytes representing the data to be written into the tag.

Return value: A byte representing the "Write-locked" response of the tag. Syntax: C# representation: public byte Fujitsu_BurstWrite( CAENRFIDTag byte short byte byte[] Tag, MemBank, Address, Length, Data)

JAVA representation: public byte Fujitsu_BurstWrite( CAENRFIDTag Tag, byte MemBank, short Address, byte Length, byte[] Data) throws CAENRFIDException

C representation: CAENRFIDErrorCodes CAENRFID_Fujitsu_BurstWrite( CAENRFIDHandle CAENRFIDTag char short char char char handle, *Tag, MemBank, Address, Length, *Data, *TRData);

CAEN RFID API Reference Manual

25

Fujitsu_BurstWrite Method (CAENRFIDTag, Byte, Int16, Byte, Byte[], Int32)


Description: This method can be used to issue a BurstWrite custom command as defined by the Fujitsu datasheet after having put it in Secured state using the Access command. Parameters: Name Tag MemBank Address Length Data AccessPassword

Description The CAENRFIDTag representing the tag to be written. The memory bank where to write the data. The address where to start writing the data. The number of byte to be written. An array of bytes representing the data to be written into the tag. The access password.

Return value: A byte representing the "Write-locked" response of the tag. Syntax: C# representation: public byte Fujitsu_BurstWrite( CAENRFIDTag byte short byte byte[] int Tag, MemBank, Address, Length, Data, AccessPassword)

JAVA representation: public byte Fujitsu_BurstWrite( CAENRFIDTag Tag, byte MemBank, short Address, byte Length, byte[] Data, int AccessPassword) throws CAENRFIDException

C representation: CAENRFIDErrorCodes CAENRFID_Fujitsu_SecureBurstWrite( CAENRFIDHandle handle, CAENRFIDTag *Tag, char MemBank, short Address, char Length, char *Data, char *TRData, int AccessPassword);

26

CAEN RFID API Reference Manual

Fujitsu_ChgBlockGroupPassword Method
Fujitsu_ChgBlockGroupPassword Method (CAENRFIDTag, Byte, Int32, Int32)
Description: This method can be used to issue a ChgBlockGroupPassword custom command as defined by the Fujitsu datasheet. Parameters: Name Tag BlockGroupPtr NewPassword OldPassword Syntax: C# representation: public void Fujitsu_ChgBlockGroupPassword( CAENRFIDTag Tag, byte BlockGroupPtr, int NewPassword, int OldPassword)

Description The CAENRFIDTag representing the tag to be selected. The BlockGroupPtr parameter as defined by the Fujitsu datasheet. The new password to set. The current password.

JAVA representation: public void Fujitsu_ChgBlockGroupPassword( CAENRFIDTag Tag, byte BlockGroupPtr, int NewPassword, int OldPassword) throws CAENRFIDException

C representation: CAENRFIDErrorCodes CAENRFID_Fujitsu_ChgBlockGroupPassword( CAENRFIDHandle handle, CAENRFIDTag *Tag, char BlockGroupPtr, int NewPassword, int OldPassword);

CAEN RFID API Reference Manual

27

Fujitsu_ChgBlockGroupPassword Method (CAENRFIDTag, Byte, Int32, Int32, Int32)


Description: This method can be used to issue a ChgBlockGroupPassword custom command as defined by the Fujitsu datasheet after having put it in Secured state using the Access command. Parameters: Name Tag BlockGroupPtr NewPassword OldPassword AccessPassword Syntax: C# representation: public void Fujitsu_ChgBlockGroupPassword( CAENRFIDTag Tag, byte BlockGroupPtr, int NewPassword, int OldPassword, int AccessPassword)

Description The CAENRFIDTag representing the tag to be selected. The BlockGroupPtr parameter as defined by the Fujitsu datasheet. The new password to set. The current password. The access password.

JAVA representation: public void Fujitsu_ChgBlockGroupPassword( CAENRFIDTag Tag, byte BlockGroupPtr, int NewPassword, int OldPassword, int AccessPassword) throws CAENRFIDException

C representation: CAENRFIDErrorCodes CAENRFID_Fujitsu_SecureChgBlockGroupPassword( CAENRFIDHandle handle, CAENRFIDTag *Tag, char BlockGroupPtr, int NewPassword, int OldPassword, int AccessPassword);

28

CAEN RFID API Reference Manual

Fujitsu_ChgBlockLock Method
Fujitsu_ChgBlockLock Method (CAENRFIDTag, Byte, Int32, Int32)
Description: This method can be used to issue a ChgBlockLock custom command as defined by the Fujitsu datasheet. Parameters: Name Tag BlockGroupPtr Payload UserPassword Syntax: C# representation: public void Fujitsu_ChgBlockLock( CAENRFIDTag byte int int Tag, BlockGroupPtr, Payload, UserPassword)

Description The CAENRFIDTag representing the tag to be selected. The BlockGroupPtr parameter as defined by the Fujitsu datasheet. The Payload parameter as defined by the Fujitsu datasheet. The Password parameter as defined by the Fujitsu datasheet.

JAVA representation: public void Fujitsu_ChgBlockLock( CAENRFIDTag Tag, byte BlockGroupPtr, int Payload, int UserPassword) throws CAENRFIDException

C representation: CAENRFIDErrorCodes CAENRFID_Fujitsu_ChgBlockLock( CAENRFIDHandle handle, CAENRFIDTag *Tag, char BlockGroupPtr, int Payload, int UserPassword);

CAEN RFID API Reference Manual

29

Fujitsu_ChgBlockLock Method (CAENRFIDTag, Byte, Int32, Int32, Int32)


Description: This method can be used to issue a ChgBlockLock custom command as defined by the Fujitsu datasheet after having put it in Secured state using the Access command. Parameters: Name Tag BlockGroupPtr Payload UserPassword AccessPassword Syntax: C# representation: public void Fujitsu_ChgBlockLock( CAENRFIDTag byte int int int Tag, BlockGroupPtr, Payload, UserPassword, AccessPassword)

Description The CAENRFIDTag representing the tag to be selected. The BlockGroupPtr parameter as defined by the Fujitsu datasheet. The Payload parameter as defined by the Fujitsu datasheet. The Password parameter as defined by the Fujitsu datasheet. The access password.

JAVA representation: public void Fujitsu_ChgBlockLock( CAENRFIDTag Tag, byte BlockGroupPtr, int Payload, int UserPassword, int AccessPassword) throws CAENRFIDException

C representation: CAENRFIDErrorCodes CAENRFID_Fujitsu_SecureChgBlockLock( CAENRFIDHandle handle, CAENRFIDTag *Tag, char BlockGroupPtr, int Payload, int UserPassword, int AccessPassword);

30

CAEN RFID API Reference Manual

Fujitsu_ChgWordLock Method
Fujitsu_ChgWordLock Method (CAENRFIDTag, Byte, Int16, Byte, Int32)
Description: This method can be used to issue a ChgWordLock custom command as defined by the Fujitsu datasheet. Parameters: Name Tag MemBank WordPtr Payload UserPassword Syntax: C# representation: public void Fujitsu_ChgWordLock( CAENRFIDTag byte short byte int Tag, MemBank, WordPtr, Payload, UserPassword)

Description The CAENRFIDTag representing the tag to be selected. The memory bank (only user memory is valid). The WordPtr parameter as defined by the Fujitsu datasheet. The Payload parameter as defined by the Fujitsu datasheet. The Password parameter as defined by the Fujitsu datasheet.

JAVA representation: public void Fujitsu_ChgWordLock( CAENRFIDTag Tag, byte MemBank, short WordPtr, byte Payload, int UserPassword) throws CAENRFIDException

C representation: CAENRFIDErrorCodes CAENRFID_Fujitsu_ChgWordLock( CAENRFIDHandle CAENRFIDTag char short char int handle, *Tag, MemBank, WordPtr, Payload, UserPassword);

CAEN RFID API Reference Manual

31

Fujitsu_ChgWordLock Method (CAENRFIDTag, Byte, Int16, Byte, Int32, Int32)


Description: This method can be used to issue a ChgWordLock custom command as defined by the Fujitsu datasheet after having put it in Secured state using the Access command. Parameters: Name Tag MemBank WordPtr Payload UserPassword AccessPassword Syntax: C# representation: public void Fujitsu_ChgWordLock( CAENRFIDTag byte short byte int int Tag, MemBank, WordPtr, Payload, UserPassword, AccessPassword)

Description The CAENRFIDTag representing the tag to be selected. The memory bank (only user memory is valid). The WordPtr parameter as defined by the Fujitsu datasheet. The Payload parameter as defined by the Fujitsu datasheet. The Password parameter as defined by the Fujitsu datasheet. The access password.

JAVA representation: public void Fujitsu_ChgWordLock( CAENRFIDTag Tag, byte MemBank, short WordPtr, byte Payload, int UserPassword, int AccessPassword) throws CAENRFIDException

C representation: CAENRFIDErrorCodes CAENRFID_Fujitsu_SecureChgWordLock( CAENRFIDHandle handle, CAENRFIDTag *Tag, char MemBank, short WordPtr, char Payload, int UserPassword, int AccessPassword);

32

CAEN RFID API Reference Manual

Fujitsu_ReadBlockLock Method
Fujitsu_ReadBlockLock Method (CAENRFIDTag, Byte)
Description: This method can be used to issue a ReadBlockLock custom command as defined by the Fujitsu datasheet. Parameters: Name Tag BlockGroupPtr

Description The CAENRFIDTag representing the tag to be selected. The BlockGroupPtr parameter as defined by the Fujitsu datasheet.

Return value: An array of bytes representing the BlockLockFlag of the tag. Syntax: C# representation: public byte[] Fujitsu_ReadBlockLock( CAENRFIDTag byte Tag, BlockGroupPtr)

JAVA representation: public byte[] Fujitsu_ReadBlockLock( CAENRFIDTag Tag, byte BlockGroupPtr) throws CAENRFIDException

C representation: CAENRFIDErrorCodes CAENRFID_Fujitsu_ReadBlockLock( CAENRFIDHandle handle, CAENRFIDTag *Tag, char BlockGroupPtr, char *TRData);

CAEN RFID API Reference Manual

33

Fujitsu_ReadBlockLock Method (CAENRFIDTag, Byte, Int32)


Description: This method can be used to issue a ReadBlockLock custom command as defined by the Fujitsu datasheet after having put it in Secured state using the Access command. Parameters: Name Tag BlockGroupPtr AccessPassword

Description The CAENRFIDTag representing the tag to be selected. The BlockGroupPtr parameter as defined by the Fujitsu datasheet. The access password.

Return value: An array of bytes representing the BlockLockFlag of the tag. Syntax: C# representation: public byte[] Fujitsu_ReadBlockLock( CAENRFIDTag byte int Tag, BlockGroupPtr, AccessPassword)

JAVA representation: public byte[] Fujitsu_ReadBlockLock( CAENRFIDTag Tag, byte BlockGroupPtr, int AccessPassword) throws CAENRFIDException

C representation: CAENRFIDErrorCodes CAENRFID_Fujitsu_SecureReadBlockLock( CAENRFIDHandle handle, CAENRFIDTag *Tag, char BlockGroupPtr, char *TRData, int AccessPassword);

34

CAEN RFID API Reference Manual

Fujitsu_Refresh Method
Fujitsu_Refresh Method (CAENRFIDTag, Byte)
Description: This method can be used to issue a Refresh custom command as defined by the Fujitsu datasheet. Parameters: Name Tag Option Syntax: C# representation: public void Fujitsu_Refresh( CAENRFIDTag byte Tag, Option)

Description The CAENRFIDTag representing the tag to be selected. The option parameter as defined by the Fujitsu datasheet.

JAVA representation: public void Fujitsu_Refresh( CAENRFIDTag Tag, byte Option) throws CAENRFIDException

C representation: CAENRFIDErrorCodes CAENRFID_Fujitsu_Refresh( CAENRFIDHandle CAENRFIDTag char handle, *Tag, Option);

Fujitsu_Refresh Method (CAENRFIDTag, Byte, Int32)


Description: This method can be used to issue a Refresh custom command as defined by the Fujitsu datasheet after having put it in Secured state using the Access command. Parameters: Name Tag Option AccessPassword Syntax: C# representation: public void Fujitsu_Refresh( CAENRFIDTag byte int Tag, Option, AccessPassword)

Description The CAENRFIDTag representing the tag to be selected. The option parameter as defined by the Fujitsu datasheet. The access password.

JAVA representation: public void Fujitsu_Refresh( CAENRFIDTag Tag, byte Option, int AccessPassword) throws CAENRFIDException

C representation: CAENRFIDErrorCodes CAENRFID_Fujitsu_SecureRefresh( CAENRFIDHandle handle, CAENRFIDTag *Tag, char Option, int AccessPassword);

CAEN RFID API Reference Manual

35

GetBufferedData Method
Description: This method returns all the Tags stored in reader's buffer using all the ReadPoints belonging to the Source. Only on A828BT. Return value: An array of CAENRFIDTag objects detected. Syntax: C# representation: public CAENRFIDTag[] JAVA representation: public CAENRFIDTag[] C representation: CAENRFIDErrorCodes CAENRFID_GetBufferedData( CAENRFIDHandle handle, char *source, CAENRFIDTag **Receive, int *Size); GetBufferedData() throws CAENRFIDException GetBufferedData()

GetDESB_ISO180006B Method
Description: This method can be used to retrieve the Data Exchange Status Bit setting (see ISO18000-6B protocol specification) used by the anticollision algorithm when called on this logical source. Return value: The current DESB setting value. Syntax: C# representation: public CAENRFIDLogicalSourceConstants GetDESB_ISO180006B() JAVA representation: public CAENRFIDLogicalSourceConstants GetDESB_ISO180006B() throws CAENRFIDException C representation: CAENRFIDErrorCodes GetDESB_ISO180006B( CAENRFIDHandle handle, unsigned short *Status);

36

CAEN RFID API Reference Manual

GetName Method
Description: This method gets a string representing the name of the logical source. Return value: A string representing the name of the logical source. Syntax: C# representation: public string JAVA representation: public java.lang.String GetName() Remarks: This function does not exist in C language, see Overview on SDK pag. 7 for more informations. GetName()

GetQ_EPC_C1G2 Method
Description: This method can be used to retrieve the current setting for the initial Q value (see EPC Class1 Gen2 protocol specification) used by the anticollision algorithm when called on this logical source. Return value: The current initial Q value setting. Syntax: C# representation: public int JAVA representation: public int C representation: CAENRFIDErrorCodes CAENRFID_GetQValue_EPC_C1G2( CAENRFIDHandle char int handle, *SourceName, *Q); GetQ_EPC_C1G2() throws CAENRFIDException GetQ_EPC_C1G2()

CAEN RFID API Reference Manual

37

GetReadCycle Method
Description: This method gets the current setting for the number of read cycles performed by the logical source during the inventory algorithm execution. ReadCycle affects only inventory performed with continuos mode (see EventInventoryTag method). Return value: The number of read cycles. Syntax: C# representation: public int JAVA representation: public int C representation: CAENRFIDErrorCodes CAENRFID_GetReadCycle( CAENRFIDHandle char int handle, *SourceName, *value); GetReadCycle() throws CAENRFIDException GetReadCycle()

GetSelected_EPC_C1G2 Method
Description: This method can be used to retrieve the Selected flag (see EPC Class1 Gen2 protocol specification) used by the anticollision algorithm when called on this logical source. Return value: The current Selected value Syntax: C# representation: public CAENRFIDLogicalSourceConstants JAVA representation: public CAENRFIDLogicalSourceConstants GetSelected_EPC_C1G2() throws CAENRFIDException C representation: CAENRFIDErrorCodes CAENRFID_GetSelected_EPC_C1G2( CAENRFIDHandle char CAENRFIDLogicalSourceConstants handle, *SourceName, *value); GetSelected_EPC_C1G2()

38

CAEN RFID API Reference Manual

GetSession_EPC_C1G2 Method
Description: This method can be used to retrieve the Session setting (see EPC Class1 Gen2 protocol specification) used by the anticollision algorithm when called on this logical source. Return value: The current Session value setting. Syntax: C# representation: public CAENRFIDLogicalSourceConstants JAVA representation: public CAENRFIDLogicalSourceConstants GetSession_EPC_C1G2() throws CAENRFIDException C representation: CAENRFIDErrorCodes CAENRFID_GetSession_EPC_C1G2( CAENRFIDHandle char CAENRFIDLogicalSourceConstants handle, *SourceName, *value); GetSession_EPC_C1G2()

GetTarget_EPC_C1G2 Method
Description: This method can be used to retrieve the Target setting (see EPC Class1 Gen2 protocol specification) used by the anticollision algorithm when called on this logical source. Return value: The current Target value setting. Syntax: C# representation: public CAENRFIDLogicalSourceConstants JAVA representation: public CAENRFIDLogicalSourceConstants GetTarget_EPC_C1G2() throws CAENRFIDException C representation: CAENRFIDErrorCodes CAENRFID_GetTarget_EPC_C1G2( CAENRFIDHandle char CAENRFIDLogicalSourceConstants handle, *SourceName, *value); GetTarget_EPC_C1G2()

CAEN RFID API Reference Manual

39

GroupSelUnsel Method
Description: This method can be used to send a Group Select/Unselect command to the tag (see ISO18000-6B protocol specification). Parameters: Name Code Address BitMask Data Return value: The selected tag. Syntax: C# representation: public CAENRFIDTag GroupSelUnsel( CAENRFIDSelUnselOptions Code, short Address, short BitMask, byte[] Data)

Description The operation code as defined by the protocol. The Address from which start the comparison. The bit mask to use. The data to be compared.

JAVA representation: public CAENRFIDTag GroupSelUnsel( CAENRFIDSelUnselOptions Code, short Address, short BitMask, byte[] Data) throws CAENRFIDException

C representation: CAENRFIDErrorCodes CAENRFID_GroupSelUnsel( CAENRFIDHandle handle, char *SourceName, CAENRFID_SelUnsel_Op Code, int Address, int BitMask, void *Data, CAENRFIDTag *Tag);

40

CAEN RFID API Reference Manual

Hitachi_BlockLock Method
Hitachi_BlockLock Method (CAENRFIDTag, Byte, Int32, Byte)
Description: This method can be used to issue a BlockLock custom command as defined by the Hitachi Hibiki datasheet. Parameters: Name Tag BlockNum UserPassword Payload Syntax: C# representation: public void Hitachi_BlockLock( CAENRFIDTag byte int byte Tag, BlockNum, UserPassword, Payload)

Description The CAENRFIDTag representing the tag to select. The index of the memory block to be locked. The user password. The Payload parameter for the BlockLock custom command as defined by Hitachi Hibiki datasheet.

JAVA representation: public void Hitachi_BlockLock( CAENRFIDTag Tag, byte BlockNum, int UserPassword, byte Payload) throws CAENRFIDException

C representation: CAENRFIDErrorCodes CAENRFID_Hitachi_BlockLock( CAENRFIDHandle CAENRFIDTag char int char handle, *Tag, BlockNum, UserPassword, Payload);

CAEN RFID API Reference Manual

41

Hitachi_BlockLock Method (CAENRFIDTag, Byte, Int32, Byte, Int32)


Description: This method can be used to issue a BlockLock custom command as defined by the Hitachi Hibiki datasheet after having put it in Secured state using the Access command. Parameters: Name Tag BlockNum UserPassword Payload AccessPassword Syntax: C# representation: public void Hitachi_BlockLock( CAENRFIDTag byte int byte int Tag, BlockNum, UserPassword, Payload, AccessPassword)

Description The CAENRFIDTag representing the tag to select. The index of the memory block to be locked. The user password. The Payload parameter for the BlockLock custom command as defined by Hitachi Hibiki datasheet. The access password.

JAVA representation: public void Hitachi_BlockLock( CAENRFIDTag Tag, byte BlockNum, int UserPassword, byte Payload, int AccessPassword) throws CAENRFIDException

C representation: CAENRFIDErrorCodes CAENRFID_Hitachi_SecureBlockLock( CAENRFIDHandle handle, CAENRFIDTag *Tag, char BlockNum, int UserPassword, char Payload, int AccessPassword);

42

CAEN RFID API Reference Manual

Hitachi_BlockReadLock Method
Hitachi_BlockReadLock Method (CAENRFIDTag, Byte, Int32, Byte)
Description: This method can be used to issue a BlockReadLock custom command as defined by the Hitachi Hibiki datasheet. Parameters: Name Tag BlockNum UserPassword Payload Syntax: C# representation: public void Hitachi_BlockReadLock( CAENRFIDTag byte int byte Tag, BlockNum, UserPassword, Payload)

Description The CAENRFIDTag representing the tag to select. The index of the memory block to be locked. The user password. The Payload parameter for the BlockReadLock custom command as defined by Hitachi Hibiki datasheet.

JAVA representation: public void Hitachi_BlockReadLock( CAENRFIDTag Tag, byte BlockNum, int UserPassword, byte Payload) throws CAENRFIDException

C representation: CAENRFIDErrorCodes CAENRFID_Hitachi_BlockReadLock( CAENRFIDHandle handle, CAENRFIDTag *Tag, byte BlockNum, int UserPassword, byte Payload);

CAEN RFID API Reference Manual

43

Hitachi_BlockReadLock Method (CAENRFIDTag, Byte, Int32, Byte, Int32)


Description: This method can be used to issue a BlockReadLock custom command as defined by the Hitachi Hibiki datasheet after having put it in Secured state using the Access command. Parameters: Name Tag BlockNum UserPassword Payload AccessPassword Syntax: C# representation: public void Hitachi_BlockReadLock( CAENRFIDTag byte int byte int Tag, BlockNum, UserPassword, Payload, AccessPassword)

Description The CAENRFIDTag representing the tag to select. The index of the memory block to be locked. The user password. The Payload parameter for the BlockReadLock custom command as defined by Hitachi Hibiki datasheet. The access password.

JAVA representation: public void Hitachi_BlockReadLock( CAENRFIDTag Tag, byte BlockNum, int UserPassword, byte Payload, int AccessPassword) throws CAENRFIDException

C representation: CAENRFIDErrorCodes CAENRFID_Hitachi_SecureBlockReadLock( CAENRFIDHandle handle, CAENRFIDTag *Tag, byte BlockNum, int UserPassword, byte Payload, int AccessPassword);

44

CAEN RFID API Reference Manual

Hitachi_GetSystemInformation Method
Hitachi_GetSystemInformation Method (CAENRFIDTag)
Description: This method can be used to issue a GetSystemInformation custom command as defined by the Hitachi Hibiki datasheet. Parameters: Name Tag

Description The CAENRFIDTag representing the tag to be selected.

Return value: The command response as defined by the Hitachi Hibiki datasheet. Syntax: C# representation: public byte[] JAVA representation: public HitachiSysInfo Hitachi_GetSystemInformation( CAENRFIDTag Tag) throws CAENRFIDException Hitachi_GetSystemInformation( CAENRFIDTag Tag)

C representation: CAENRFIDErrorCodes CAENRFID_Hitachi_GetSystemInformation( CAENRFIDHandle handle, CAENRFIDTag *Tag, char *TRData);

Hitachi_GetSystemInformation Method (CAENRFIDTag, Int32)


Description: This method can be used to issue a GetSystemInformation custom command as defined by the Hitachi Hibiki datasheet after having put it in Secured state using the Access command. Parameters: Name Tag AccessPassword

Description The CAENRFIDTag representing the tag to be selected. The access password.

Return value: The command response as defined by the Hitachi Hibiki datasheet. Syntax: C# representation: public byte[] Hitachi_GetSystemInformation( CAENRFIDTag Tag, int AccessPassword)

JAVA representation: public HitachiSysInfo Hitachi_GetSystemInformation( CAENRFIDTag Tag, int AccessPassword) throws CAENRFIDException

C representation: CAENRFIDErrorCodes CAENRFID_Hitachi_SecureGetSystemInformation( CAENRFIDHandle handle, CAENRFIDTag *Tag, char *TRData, int AccessPassword);

CAEN RFID API Reference Manual

45

Hitachi_ReadLock Method
Hitachi_ReadLock Method (CAENRFIDTag, Int16)
Description: This method can be used to issue a ReadLock custom command as defined by the Hitachi Hibiki datasheet. Parameters: Name Tag Payload Syntax: C# representation: public void Hitachi_ReadLock( CAENRFIDTag short Tag, Payload)

Description The CAENRFIDTag object representing the tag to select. The Payload parameter for the ReadLock custom command as defined by Hitachi Hibiki datasheet.

JAVA representation: public void Hitachi_ReadLock( CAENRFIDTag Tag, short Payload) throws CAENRFIDException

C representation: CAENRFIDErrorCodes CAENRFID_Hitachi_ReadLock( CAENRFIDHandle CAENRFIDTag short handle, *Tag, Payload);

Hitachi_ReadLock Method (CAENRFIDTag, Int16, Int32)


Description: This method can be used to issue a ReadLock custom command as defined by the Hitachi Hibiki datasheet after having put it in Secured state using the Access command. Parameters: Name Tag Payload AccessPassword

Description The CAENRFIDTag object representing the tag to select. The Payload parameter for the ReadLock custom command as defined by Hitachi Hibiki datasheet. The access password.

Syntax: C# representation: public void Hitachi_ReadLock( CAENRFIDTag short int Tag, Payload, AccessPassword)

JAVA representation: public void Hitachi_ReadLock( CAENRFIDTag Tag, short Payload, int AccessPassword) throws CAENRFIDException

C representation: CAENRFIDErrorCodes CAENRFID_Hitachi_SecureReadLock( CAENRFIDHandle handle, CAENRFIDTag *Tag,

46

CAEN RFID API Reference Manual

short int

Payload, AccessPassword);

Hitachi_SetAttenuate Method
Hitachi_SetAttenuate Method (CAENRFIDTag, Byte, Boolean)
Description: This method can be used to issue a SetAttenuate custom command as defined by the Hitachi Hibiki datasheet. Parameters: Name Tag Level LevelLock Syntax: C# representation: public void Hitachi_SetAttenuate( CAENRFIDTag byte bool Tag, Level, LevelLock)

Description The CAENRFIDTag representing the tag to be selected. The level of attenuation. A flag that permit to lock permanently the attenuation level.

JAVA representation: public void Hitachi_SetAttenuate( CAENRFIDTag Tag, byte Level, boolean LevelLock) throws CAENRFIDException

C representation: CAENRFIDErrorCodes CAENRFID_Hitachi_SetAttenuate( CAENRFIDHandle handle, CAENRFIDTag *Tag, char Level, char LevelLock);

CAEN RFID API Reference Manual

47

Hitachi_SetAttenuate Method (CAENRFIDTag, Byte, Boolean, Int32)


Description: This method can be used to issue a SetAttenuate custom command as defined by the Hitachi Hibiki datasheet after having put it in Secured state using the Access command. Parameters: Name Tag Level LevelLock AccessPassword Syntax: C# representation: public void Hitachi_SetAttenuate( CAENRFIDTag byte bool int Tag, Level, LevelLock, AccessPassword)

Description The CAENRFIDTag representing the tag to be selected. The level of attenuation. A flag that permit to lock permanently the attenuation level. The access password.

JAVA representation: public void Hitachi_SetAttenuate( CAENRFIDTag Tag, byte Level, boolean LevelLock, int AccessPassword) throws CAENRFIDException

C representation: CAENRFIDErrorCodes CAENRFID_Hitachi_SecureSetAttenuate( CAENRFIDHandle handle, CAENRFIDTag *Tag, char Level, char LevelLock, int AccessPassword);

48

CAEN RFID API Reference Manual

Hitachi_WriteMultipleWords Method
Hitachi_WriteMultipleWords Method (CAENRFIDTag, Int16, Int16, Int16, Byte[])
Description: This method can be used to issue a WriteMultipleWords custom command as defined by the Hitachi Hibiki datasheet. Parameters: Name Tag MemBank Address Length Data Syntax: C# representation: public void Hitachi_WriteMultipleWords( CAENRFIDTag short short short byte[] Tag, MemBank, Address, Length, Data)

Description The CAENRFIDTag representing the tag to select. The memory bank where to write the data. The address where to start writing the data. The number of byte to be written. An array of bytes representing the data to be written into the tag.

JAVA representation: public void Hitachi_WriteMultipleWords( CAENRFIDTag Tag, short MemBank, short Address, byte Length, byte[] Data) throws CAENRFIDException

C representation: CAENRFIDErrorCodes CAENRFID_Hitachi_WriteMultipleWords( CAENRFIDHandle handle, CAENRFIDTag *Tag, short MemBank, short Address, short Length, char *Data);

CAEN RFID API Reference Manual

49

Hitachi_WriteMultipleWords Method (CAENRFIDTag, Int16, Int16, Int16, Byte[], Int32)


Description: This method can be used to issue a WriteMultipleWords custom command as defined by the Hitachi Hibiki datasheet after having put it in Secured state using the Access command. Parameters: Name Tag MemBank Address Length Data AccessPassword Syntax: C# representation: public void Hitachi_WriteMultipleWords( CAENRFIDTag short short short byte[] int Tag, MemBank, Address, Length, Data, AccessPassword)

Description The CAENRFIDTag representing the tag to select. The memory bank where to write the data. The address where to start writing the data. The number of byte to be written. An array of bytes representing the data to be written into the tag. The access password.

JAVA representation: public void Hitachi_WriteMultipleWords( CAENRFIDTag Tag, short MemBank, short Address, byte Length, byte[] Data, int AccessPassword) throws CAENRFIDException

C representation: CAENRFIDErrorCodes CAENRFID_Hitachi_SecureWriteMultipleWords( CAENRFIDHandle handle, CAENRFIDTag *Tag, short MemBank, short Address, short Length, char *Data, int AccessPassword);

50

CAEN RFID API Reference Manual

InventoryTag Method
InventoryTag Method ()
Description: A call to this method will execute a read cycle on each read point linked to the logical source. Depending on the air protocol setting it will execute the appropriate anticollision algorithm. Return value: An array containing the CAENRFIDTag objects representing the tags read from the read points. Syntax: C# representation: public CAENRFIDTag[] JAVA representation: public CAENRFIDTag[] C representation: CAENRFIDErrorCodes CAENRFID_InventoryTag ( CAENRFIDHandle char CAENRFIDTag int handle, *SourceName, **Receive, *Size); InventoryTag() throws CAENRFIDException InventoryTag()

CAEN RFID API Reference Manual

51

InventoryTag Method (Byte[], Int16, Int16)


Description: A call to this method will execute a read cycle on each read point linked to the logical source. Parameters: Name Mask MaskLength Position

Description A byte array representing the bitmask to apply. A value representing the bit-oriented length of the bitmask. A value representing the first bit of ID where the match will start.

Return value: An array containing the CAENRFIDTag objects representing the tags read from the read points. Syntax: C# representation: public CAENRFIDTag[] InventoryTag( byte[] short short Mask, MaskLength, Position)

JAVA representation: public CAENRFIDTag[] InventoryTag( byte[] Mask, short MaskLength, short Position) throws CAENRFIDException

C representation: CAENRFIDErrorCodes CAENRFID_FilteredInventoryTag( CAENRFIDHandle handle, char *SourceName, char *Mask, unsigned char MaskLength, unsigned char Position, CAENRFIDTag **Receive, int *Size);

Remarks: Depending on the air protocol setting it will execute the appropriate anticollision algorithm. This version of the method permits to specify a bitmask for filtering tag's populations as described by the EPC Class1 Gen2 (ISO18000-6C) air protocol. The filtering will be performend on the memory bank specified by bank parameter, starting at the bit indicated by the Position index and for a MaskLength length. The method will return only the tags that matches the given Mask. Passing a zero value for MaskLength it performs as the non-filtering InventoryTag method.

52

CAEN RFID API Reference Manual

InventoryTag Method (Byte[], Int16, Int16, Int16)


Description: A call to this method will execute a read cycle on each read point linked to the logical source. Parameters: Name Mask MaskLength Position Flag

Description A byte array representing the bitmask to apply. A value representing the bit-oriented length of the bitmask. A value representing the first bit of ID where the match will start. A bitmask representing the InventoryTag options.

Return value: An array containing the CAENRFIDTag objects representing the tags read from the read points. Syntax: C# representation: public CAENRFIDTag[] InventoryTag( byte[] short short short Mask, MaskLength, Position, Flag)

JAVA representation: public CAENRFIDTag[] InventoryTag( byte[] Mask, short MaskLength, short Position, short Flag) throws CAENRFIDException

C representation: CAENRFIDErrorCodes CAENRFID_FlagInventoryTag ( CAENRFIDHandle char char unsigned char unsigned char unsigned char CAENRFIDTag int handle, *SourceName, *Mask, MaskLength, Position, Flag, **Receive, *Size);

CAEN RFID API Reference Manual

53

Remarks: Depending on the air protocol setting it will execute the appropriate anticollision algorithm. This version of the method permits to specify a bitmask for filtering tag's populations as described by the EPC Class1 Gen2 (ISO18000-6C) air protocol. The filtering will be performend on the memory bank specified by bank parameter, starting at the bit indicated by the Position index and for a MaskLength length. The method will return only the tags that matches the given Mask. Passing a zero value for MaskLength it performs as the non-filtering InventoryTag method. The Flags parameter permits to set InventoryTag method's options.In this case bit 1 and 2 of the flag (continuos and framed mode) are ignored. Flag value meaning RSSI: a 1 value indicates the reader will transmit the RSSI (Return Signal Strength Bit 0 Indicator) in the response. Framed data: a 1 value indicates that the tag's data will be transmitted by the reader to the PC as soon as the tag is detected, a 0 value means that all the tags detected Bit 1 are buffered in the reader and trasmitted all together at the end of the inventory cycle. Continuous acquisition: a 1 value indicates that the inventory cycle is repeated by the reader depending on the SetReadCycle setting value, a 0 value means that only one inventory cycle will be performed. If the continuous mode is selected a 0 value in Bit 2 the ReadCycle setting will instruct the reader to repeat the inventory cycle until an InventoryAbort method is invoked, a value X different from 0 means that the inventory cycle will be performed X times by the reader. Compact data: a 1 value indicates that only the EPC of the tag will be returned by the reader, a 0 value indicates that the complete data will be returned. In case that Bit 3 the compact option is enabled all the other data will be populated by this library with fakes values. TID reading: a 1 value indicates that also the TID of the tag will be returned by the Bit 4 reader together with the other informations. Bit 6 XPC : a 1 value allows the reader to get the XPC word if backscattered by a tag.Tags that do not backscatter the XPC words will return an XPC array with all the 4 bytes set to 0

54

CAEN RFID API Reference Manual

InventoryTag Method (Int16, Byte[], Int16, Int16)


Description: A call to this method will execute a read cycle on each read point linked to the logical source. Parameters: Name bank Mask MaskLength Position

Description A value representing the memory bank where apply the filter. A byte array representing the bitmask to apply. A value representing the bit-oriented length of the bitmask. A value representing the first bit of ID where the match will start.

Return value: An array containing the CAENRFIDTag objects representing the tags read from the read points. Syntax: C# representation: public CAENRFIDTag[] InventoryTag( short byte[] short short bank, Mask, MaskLength, Position)

JAVA representation: public CAENRFIDTag[] InventoryTag( short bank, byte[] Mask, short MaskLength, short Position) throws CAENRFIDException

C representation: CAENRFIDErrorCodes CAENRFID_BankFilteredInventoryTag ( CAENRFIDHandle handle, char *SourceName, short bank, short Position, short MaskLength, char *Mask, CAENRFIDTag **Receive, int *Size);

Remarks: Depending on the air protocol setting it will execute the appropriate anticollision algorithm. This version of the method permits to specify a bitmask for filtering tag's populations as described by the EPC Class1 Gen2 (ISO18000-6C) air protocol. The filtering will be performend on the memory bank specified by bank parameter, starting at the bit indicated by the Position index and for a MaskLength length. The method will return only the tags that matches the given Mask. Passing a zero value for MaskLength it performs as the non-filtering InventoryTag method.

CAEN RFID API Reference Manual

55

InventoryTag Method (Int16, Byte[], Int16, Int16, Int16)


Description: A call to this method will execute a read cycle on each read point linked to the logical source. Parameters: Name bank Mask MaskLength Position Flag

Description A value representing the memory bank where apply the filter. A byte array representing the bitmask to apply. A value representing the bit-oriented length of the bitmask. A value representing the first bit of ID where the match will start. A bitmask representing the InventoryTag options.

Return value: An array containing the CAENRFIDTag objects representing the tags read from the read points. Syntax: C# representation: public CAENRFIDTag[] InventoryTag( short byte[] short short short bank, Mask, MaskLength, Position, Flag)

JAVA representation: public CAENRFIDTag[] InventoryTag( short bank, byte[] Mask, short MaskLength, short Position, short Flag) throws CAENRFIDException

C representation: CAENRFIDErrorCodes CAENRFID_BankFilteredFlagInventoryTag ( CAENRFIDHandle handle, char *SourceName, short bank, short Position, short MaskLength, char *Mask, unsigned char Flag, CAENRFIDTag **Receive, int *Size);

56

CAEN RFID API Reference Manual

Remarks: Depending on the air protocol setting it will execute the appropriate anticollision algorithm. This version of the method permits to specify a bitmask for filtering tag's populations as described by the EPC Class1 Gen2 (ISO18000-6C) air protocol. The filtering will be performend on the memory bank specified by bank parameter, starting at the bit indicated by the Position index and for a MaskLength length. The method will return only the tags that matches the given Mask. Passing a zero value for MaskLength it performs as the non-filtering InventoryTag method. The Flags parameter permits to set InventoryTag method's options.In this case bit 1 and 2 of the flag (continuos and framed mode) are ignored. Flag value meaning RSSI: a 1 value indicates the reader will transmit the RSSI (Return Signal Strength Bit 0 Indicator) in the response. Framed data: a 1 value indicates that the tag's data will be transmitted by the reader Bit 1 to the PC as soon as the tag is detected, a 0 value means that all the tags detected are buffered in the reader and trasmitted all together at the end of the inventory cycle. Continuous acquisition: a 1 value indicates that the inventory cycle is repeated by the reader depending on the SetReadCycle setting value, a 0 value means that only one inventory cycle will be performed. If the continuous mode is selected a 0 value in the Bit 2 ReadCycle setting will instruct the reader to repeat the inventory cycle until an InventoryAbort method is invoked, a value X different from 0 means that the inventory cycle will be performed X times by the reader. Compact data: a 1 value indicates that only the EPC of the tag will be returned by the reader, a 0 value indicates that the complete data will be returned. In case that the Bit 3 compact option is enabled all the other data will be populated by this library with fakes values. TID reading: a 1 value indicates that also the TID of the tag will be returned by the Bit 4 reader together with the other informations. Bit 6 XPC : a 1 value allows the reader to get the XPC word if backscattered by a tag.Tags that do not backscatter the XPC words will return an XPC array with all the 4 bytes set to 0

FreeTagsMemory
Description: The function permits to free the allocated memory by CAENRFID_InventoryTag. Unlike the C#/Java languages where objects are automatically destroyed by the Runtime Environment, in C language it is necessary to esplicitly deallocate the memory allocated by the identified tags. To do that, the FreeTagsMemory function is available, passing the pointer to the identified tags list. Parameters: Name Tags Syntax: C representation: void CAENRFID_FreeTagsMemory( CAENRFIDTag **Tags);

Description tags array returned by one of the inventory family function.

CAEN RFID API Reference Manual

57

isReadPointPresent Method
Description: This method checks if a read point is present in the logical source. Parameters: Name ReadPoint

Description A string representing the name of the read point (antenna).

Return value: A boolean value representing the presence of a read point in the logical source (true means that it is present, false if it is not present). Syntax: C# representation: public bool JAVA representation: public boolean isReadPointPresent( java.lang.String ReadPoint) throws CAENRFIDException isReadPointPresent( string ReadPoint)

C representation: CAENRFIDErrorCodes CAENRFID_isReadPointPresent( CAENRFIDHandle char char short handle, *ReadPoint, *SourceName, *isPresent);

KillTag_EPC_C1G1 Method
Description: This method can be used to kill a EPC Class 1 Gen 1 tag. Parameters: Name Tag Password Syntax: C# representation: public void KillTag_EPC_C1G1( CAENRFIDTag short Tag, Password)

Description The CAENRFIDTag representing the tag to be killed. The tag's kill password.

JAVA representation: public void KillTag_EPC_C1G1( CAENRFIDTag Tag, short Password) throws CAENRFIDException

C representation: CAENRFIDErrorCodes CAENRFID_KillTag_EPC_C1G1( CAENRFIDHandle CAENRFIDTag char handle, *Tag, Password);

58

CAEN RFID API Reference Manual

KillTag_EPC_C1G2 Method
KillTag_EPC_C1G2 Method (CAENRFIDTag, Int32)
Description: This method can be used to kill a EPC Class 1 Gen 2 tag. Parameters: Name Tag Password Syntax: C# representation: public void KillTag_EPC_C1G2( CAENRFIDTag int Tag, Password)

Description The CAENRFIDTag representing the tag to be killed. The tag's kill password.

JAVA representation: public void KillTag_EPC_C1G2( CAENRFIDTag Tag, int Password) throws CAENRFIDException

C representation: CAENRFIDErrorCodes CAENRFID_KillTag_EPC_C1G2( CAENRFIDHandle CAENRFIDTag int handle, *Tag, Password);

CAEN RFID API Reference Manual

59

KillTag_EPC_C1G2 Method (Int16, Int16, Int16, Byte[], Int32)


Description: This method can be used to kill a EPC Class 1 Gen 2 tag. Parameters: Name BankMask PositionMask LengthMask Mask Password Syntax: C# representation: public void KillTag_EPC_C1G2( short short short byte[] int BankMask, PositionMask, LengthMask, Mask, Password)

Description Memory bank for tag identificantion. Bit position (from the start of the selected bank) where apply the mask to match. Length of the mask. Mask of byte. The tag's kill password.

JAVA representation: public void KillTag_EPC_C1G2( short BankMask, short PositionMask, short LengthMask, byte[] Mask, int Password) throws CAENRFIDException

C representation: CAENRFIDErrorCodes CAENRFID_BankFilteredKillTag_EPC_C1G2( CAENRFIDHandle handle, char *SourceName, short BankMask, short PositionMask, short LengthMask, char *Mask, int Password);

60

CAEN RFID API Reference Manual

LockBlockPermaLock_EPC_C1G2 Method
Description: This method implements the BLockPermaLock with ReadLock=1 as specified in EPC C1G2 rev. 1.2.0 protocol. Parameters: Name Tag MemBank BlockPtr BlockRange Mask AccessPassword Syntax: C# representation: public void LockBlockPermaLock_EPC_C1G2( CAENRFIDTag short short short byte[] int Tag, MemBank, BlockPtr, BlockRange, Mask, AccessPassword)

Description The CAENRFIDTag representing the tag to be written. The memory bank where to write the data. The address where to start writing the data. The number of word of the mask. A bitmask that permit to select which of the four bytes have to be locked (i.e. mask 0x05 write the bytes on position Address + 1 and Address + 3). The access password.

JAVA representation: public void LockBlockPermaLock_EPC_C1G2( CAENRFIDTag Tag, short MemBank, short BlockPtr, short BlockRange, byte[] Mask, int AccessPassword) throws CAENRFIDException

C representation: CAENRFIDErrorCodes CAENRFID_LockBlockPermaLock_EPC_C1G2( CAENRFIDHandle handle, CAENRFIDTag *Tag, short MemBank, short BlockPtr, short BlockRange, byte[] Mask, int AccessPassword);

CAEN RFID API Reference Manual

61

LockTag_EPC_C1G2 Method
LockTag_EPC_C1G2 Method (CAENRFIDTag, Int32)
Description: This method can be used to lock a memory bank of a EPC Class 1 Gen 2 tag. Parameters: Name Tag Payload Syntax: C# representation: public void LockTag_EPC_C1G2( CAENRFIDTag int Tag, Payload)

Description The CAENRFIDTag representing the tag to be locked. The Payload parameter for the lock command as defined by the EPC Class 1 Gen 2 protocol specification.

JAVA representation: public void LockTag_EPC_C1G2( CAENRFIDTag Tag, int Payload) throws CAENRFIDException

C representation: CAENRFIDErrorCodes CAENRFID_LockTag_EPC_C1G2( CAENRFIDHandle CAENRFIDTag int handle, *Tag, Payload);

LockTag_EPC_C1G2 Method (CAENRFIDTag, Int32, Int32)


Description: This method can be used to lock a memory bank of a EPC Class 1 Gen 2 tag after having put it in Secured state using the Access command. Parameters: Name Tag Payload AccessPassword Syntax: C# representation: public void LockTag_EPC_C1G2( CAENRFIDTag int int Tag, Payload, AccessPassword)

Description The CAENRFIDTag representing the tag to be locked. The Payload parameter for the lock command as defined by the EPC Class 1 Gen 2 protocol specification. The access password.

JAVA representation: public void LockTag_EPC_C1G2( CAENRFIDTag Tag, int Payload, int AccessPassword) throws CAENRFIDException

C representation: CAENRFIDErrorCodes CAENRFID_SecureLockTag_EPC_C1G2( CAENRFIDHandle handle, CAENRFIDTag *Tag, int Payload, int AccessPassword);

62

CAEN RFID API Reference Manual

LockTag_EPC_C1G2 Method (Int16, Int16, Int16, Byte[], Int32)


Description: This method can be used to lock a memory bank of a EPC Class 1 Gen 2 tag. Parameters: Name BankMask PositionMask LengthMask Mask Payload Syntax: C# representation: public void LockTag_EPC_C1G2( short short short byte[] int BankMask, PositionMask, LengthMask, Mask, Payload)

Description Memory bank for tag identificantion. Bit position (from the start of the selected bank) where apply the mask to match. Length of the mask. Mask of byte. The Payload parameter for the lock command as defined by the EPC Class 1 Gen 2 protocol specification.

JAVA representation: public void LockTag_EPC_C1G2( short BankMask, short PositionMask, short LengthMask, byte[] Mask, int Payload) throws CAENRFIDException

C representation: CAENRFIDErrorCodes CAENRFID_BankFilteredLockTag_EPC_C1G2( CAENRFIDHandle handle, char *SourceName, short BankMask, short PositionMask, short LengthMask, char *Mask, int Payload);

CAEN RFID API Reference Manual

63

LockTag_EPC_C1G2 Method (Int16, Int16, Int16, Byte[], Int32, Int32)


Description: This method can be used to lock a memory bank of a EPC Class 1 Gen 2 tag after having put it in Secured state using the Access command. Parameters: Name BankMask PositionMask LengthMask Mask Payload AccessPassword Syntax: C# representation: public void LockTag_EPC_C1G2( short short short byte[] int int BankMask, PositionMask, LengthMask, Mask, Payload, AccessPassword)

Description Memory bank for tag identification. Bit position (from the start of the selected bank) where apply the mask to match. Length of the mask. Mask of byte. The Payload parameter for the lock command as defined by the EPC Class 1 Gen 2 protocol specification. Access password.

JAVA representation: public void LockTag_EPC_C1G2( short BankMask, short PositionMask, short LengthMask, byte[] Mask, int Payload, int AccessPassword) throws CAENRFIDException

C representation: CAENRFIDErrorCodes CAENRFID_SecureBankFilteredLockTag_EPC_C1G2( CAENRFIDHandle handle, char *SourceName, short BankMask, short PositionMask, short LengthMask, char *Mask, int Payload, int AccessPassword);

64

CAEN RFID API Reference Manual

LockTag_ISO180006B Method
Description: This method can be used to lock a byte in the memory of a ISO18000-6B tag. Parameters: Name Tag Address Syntax: C# representation: public void LockTag_ISO180006B( CAENRFIDTag short Tag, Address)

Description The CAENRFIDTag representing the tag to be locked. The byte's address to lock.

JAVA representation: public void LockTag_ISO180006B( CAENRFIDTag Tag, short Address) throws CAENRFIDException

C representation: CAENRFIDErrorCodes CAENRFID_LockTag_ISO180006B( CAENRFIDHandle CAENRFIDTag short handle, *Tag, Address);

NXP_ChangeEAS Method
Description: This method can be used to issue a ChangeEAS custom command as defined by the NXP G2XM and G2XL datasheet after having put it in Secured state using the Access command. Parameters: Name Tag EAS AccessPassword Syntax: C# representation: public void NXP_ChangeEAS( CAENRFIDTag bool int Tag, EAS, AccessPassword)

Description The CAENRFIDTag object representing the tag to select. A boolean representing the EAS state to set. The access password.

JAVA representation: public void NXP_ChangeEAS( CAENRFIDTag Tag, boolean EAS, int AccessPassword) throws CAENRFIDException

C representation: CAENRFIDErrorCodes CAENRFID_NXP_SecureChangeEAS( CAENRFIDHandle CAENRFIDTag char int handle, *Tag, EAS, AccessPassword);

CAEN RFID API Reference Manual

65

NXP_EAS_Alarm Method
Description: This method can be used to issue a EAS_Alarm custom command as defined by the NXP G2XM and G2XL datasheet. Return value: An array of bytes representing the EAS Code. Syntax: C# representation: public byte[] JAVA representation: public byte[] C representation: CAENRFIDErrorCodes CAENRFID_NXP_EAS_Alarm( CAENRFIDHandle char handle, *TRData); NXP_EAS_Alarm() throws CAENRFIDException NXP_EAS_Alarm()

NXP_ReadProtect Method
NXP_ReadProtect Method (CAENRFIDTag)
Description: This method can be used to issue a ReadProtect custom command as defined by the NXP G2XM and G2XL datasheet. Parameters: Name Tag Syntax: C# representation: public void JAVA representation: public void NXP_ReadProtect( CAENRFIDTag Tag) throws CAENRFIDException NXP_ReadProtect( CAENRFIDTag Tag)

Description The CAENRFIDTag object representing the tag to select.

C representation: CAENRFIDErrorCodes CAENRFID_NXP_ReadProtect( CAENRFIDHandle CAENRFIDTag handle, *Tag);

66

CAEN RFID API Reference Manual

NXP_ReadProtect Method (CAENRFIDTag, Int32)


Description: This method can be used to issue a ReadProtect custom command as defined by the NXP G2XM and G2XL datasheet after having put it in Secured state using the Access command. Parameters: Name Tag AccessPassword Syntax: C# representation: public void NXP_ReadProtect( CAENRFIDTag int Tag, AccessPassword)

Description The CAENRFIDTag object representing the tag to select. The access password.

JAVA representation: public void NXP_ReadProtect( CAENRFIDTag Tag, int AccessPassword) throws CAENRFIDException

C representation: CAENRFIDErrorCodes CAENRFID_NXP_SecureReadProtect( CAENRFIDHandle handle, CAENRFIDTag *Tag, int AccessPassword);

NXP_ResetReadProtect Method
Description: This method can be used to issue a ResetReadProtect custom command as defined by the NXP G2XM and G2XL datasheet. Parameters: Name Tag Password Syntax: C# representation: public void NXP_ResetReadProtect( CAENRFIDTag int Tag, Password)

Description The CAENRFIDTag object representing the tag to reset the read protection. The ReadProtect password.

JAVA representation: public void NXP_ResetReadProtect( CAENRFIDTag Tag, int Password) throws CAENRFIDException

C representation: CAENRFIDErrorCodes CAENRFID_NXP_ResetReadProtect( CAENRFIDHandle handle, CAENRFIDTag *Tag, int Password);

CAEN RFID API Reference Manual

67

ProgramID_EPC_C1G1 Method
Description: This method can be used to write the EPC of a EPC Class 1 Gen 1 tag. Parameters: Name Tag Password Lock Syntax: C# representation: public void ProgramID_EPC_C1G1( CAENRFIDTag short bool Tag, Password, Lock)

Description The CAENRFIDTag representing the tag to be programmed, the ID contained in this object will be programmed into the tag. The password needed in order to write into the tag. A flag used to lock the EPC in the tag (1 if the EPC have to be locked).

JAVA representation: public void ProgramID_EPC_C1G1( CAENRFIDTag Tag, short Password, boolean Lock) throws CAENRFIDException

C representation: CAENRFIDErrorCodes CAENRFID_ProgramID_EPC_C1G1( CAENRFIDHandle CAENRFIDTag char unsigned short handle, *Tag, Password, Lock);

ProgramID_EPC_C1G2 Method
ProgramID_EPC_C1G2 Method (CAENRFIDTag, Int16)
Description: This method can be used to write the EPC of a EPC Class 1 Gen 2 tag. Parameters: Name Tag NSI Syntax: C# representation: public void ProgramID_EPC_C1G2( CAENRFIDTag short Tag, NSI)

Description The CAENRFIDTag representing the tag to be programmed, the ID contained in this object will be programmed into the tag. The Numbering System Identifier as defined in EPC Class 1 Gen 2 protocol specifications.

JAVA representation: public void ProgramID_EPC_C1G2( CAENRFIDTag Tag, short NSI) throws CAENRFIDException

C representation: CAENRFIDErrorCodes CAENRFID_ProgramID_EPC_C1G2( CAENRFIDHandle handle,

68

CAEN RFID API Reference Manual

CAENRFIDTag unsigned short

*Tag, NSI);

ProgramID_EPC_C1G2 Method (CAENRFIDTag, Int16, Int32)


Description: This method can be used to write the EPC of a EPC Class 1 Gen 2 tag after having put it in Secured state using the Access command. Parameters: Name Tag NSI AccessPassword Syntax: C# representation: public void ProgramID_EPC_C1G2( CAENRFIDTag short int Tag, NSI, AccessPassword)

Description The CAENRFIDTag representing the tag to be programmed, the ID contained in this object will be programmed into the tag. The Numbering System Identifier as defined in EPC Class 1 Gen 2 protocol specifications. The access password.

JAVA representation: public void ProgramID_EPC_C1G2( CAENRFIDTag Tag, short NSI, int AccessPassword) throws CAENRFIDException

C representation: CAENRFIDErrorCodes CAENRFID_SecureProgramID_EPC_C1G2( CAENRFIDHandle handle, CAENRFIDTag *Tag, unsigned short NSI, int AccessPassword);

ProgramID_EPC119 Method
Description: This method can be used to write the UID of a EPC 1.19 tag. Parameters: Name Tag NewID Syntax: C# representation: public void ProgramID_EPC119( CAENRFIDTag byte[] Tag, NewID)

Description The CAENRFIDTag representing the tag to be programmed. An array of bytes representing the new UID for the tag.

JAVA representation: public void ProgramID_EPC119( CAENRFIDTag byte[] Tag, NewID)

C representation: CAENRFIDErrorCodes CAENRFID_ProgramID_EPC119( CAENRFIDHandle CAENRFIDTag char handle, *Tag, *NewID);

CAEN RFID API Reference Manual

69

Query_EPC_C1G2 Method
Description: This method makes the reader generate a EPC Class1 Gen2 Query command. Return value: True on successfull completion. Syntax: C# representation: public bool JAVA representation: public boolean C representation: CAENRFIDErrorCodes CAENRFID_Query_EPC_C1G2( CAENRFIDHandle char short handle, *SourceName, *isPresent); Query_EPC_C1G2() throws CAENRFIDException Query_EPC_C1G2()

QueryAck_EPC_C1G2 Method
Description: This method make the reader generate a sequence of EPC Class1 Gen2 Query and Ack commands. It can be used to read a single tag under the field. If there are more than one tag under the field the method fails. Return value: An array of bytes representing the EPC of the tag Syntax: C# representation: public byte[] JAVA representation: public byte[] C representation: CAENRFIDErrorCodes QueryAck_EPC_C1G2( CAENRFIDHandle char byte handle, *SourceName, *Tag); QueryAck_EPC_C1G2() throws CAENRFIDException QueryAck_EPC_C1G2()

70

CAEN RFID API Reference Manual

ReadBLockPermalock_EPC_C1G2 Method
Description: This method implements the BLockPermaLock with ReadLock=0 as specified in EPCC1G2 rev. 1.2.0 protocol. Parameters: Name Tag MemBank Blockptr BlockRange AccessPassword

Description The CAENRFIDTag representing the tag to be read. The memory bank where to read the data. The address where to start reading the data. The number of word to be read. The access password.

Return value: An array of bytes representing the data read from the tag. Syntax: C# representation: public byte[] ReadBLockPermalock_EPC_C1G2( CAENRFIDTag short short short int Tag, MemBank, Blockptr, BlockRange, AccessPassword)

JAVA representation: public byte[] ReadBLockPermalock_EPC_C1G2( CAENRFIDTag Tag, short MemBank, short Blockptr, short BlockRange, int AccessPassword) throws CAENRFIDException

C representation: CAENRFIDErrorCodes CAENRFID_ReadBLockPermalock_EPC_C1G2( CAENRFIDHandle handle, CAENRFIDTag *Tag, short MemBank, short Blockptr, short BlockRange, int AccessPassword)

CAEN RFID API Reference Manual

71

ReadTagData Method
Description: This method can be used to read a portion of the user memory in a ISO18000-6B tag. Parameters: Name Tag Address Length

Description The CAENRFIDTag representing the tag to be read. The address where to start reading the data. The number of byte to be read.

Return value: An array of bytes representing the data read from the tag. Syntax: C# representation: public byte[] ReadTagData( CAENRFIDTag short short Tag, Address, Length)

JAVA representation: public byte[] ReadTagData( CAENRFIDTag Tag, short Address, short Length) throws CAENRFIDException

C representation: CAENRFIDErrorCodes CAENRFID_ReadTagData( CAENRFIDHandle CAENRFIDTag int int void handle, *Tag, Address, Length, *Data);

72

CAEN RFID API Reference Manual

ReadTagData_EPC_C1G2 Method
ReadTagData_EPC_C1G2 Method (CAENRFIDTag, Int16, Int16, Int16)
Description: This method can be used to read a portion of memory in a ISO18000-6C (EPC Class1 Gen2) tag. Parameters: Name Tag MemBank Address Length

Description The CAENRFIDTag representing the tag to be read. The memory bank where to read the data. The address where to start reading the data. The number of byte to be read.

Return value: An array of bytes representing the data read from the tag. Syntax: C# representation: public byte[] ReadTagData_EPC_C1G2( CAENRFIDTag short short short Tag, MemBank, Address, Length)

JAVA representation: public byte[] ReadTagData_EPC_C1G2( CAENRFIDTag Tag, short MemBank, short Address, short Length) throws CAENRFIDException

C representation: CAENRFIDErrorCodes CAENRFID_ReadTagData_EPC_C1G2( CAENRFIDHandle handle, CAENRFIDTag *Tag, short MemBank, int Address, int Length, void *Data);

CAEN RFID API Reference Manual

73

ReadTagData_EPC_C1G2 Method (CAENRFIDTag, Int16, Int16, Int16, Int32)


Description: This method can be used to read a portion of memory in a ISO18000-6C (EPC Class1 Gen2) tag after having put the tag in Secured state using the Access command. Parameters: Name Tag MemBank Address Length AccessPassword

Description The CAENRFIDTag representing the tag to be read. The memory bank where to read the data. The address where to start reading the data. The number of byte to be read. The access password.

Return value: An array of bytes representing the data read from the tag. Syntax: C# representation: public byte[] ReadTagData_EPC_C1G2( CAENRFIDTag short short short int Tag, MemBank, Address, Length, AccessPassword)

JAVA representation: public byte[] ReadTagData_EPC_C1G2( CAENRFIDTag Tag, short MemBank, short Address, short Length, int AccessPassword) throws CAENRFIDException

C representation: CAENRFIDErrorCodes CAENRFID_SecureReadTagData_EPC_C1G2 ( CAENRFIDHandle handle, CAENRFIDTag *Tag, short MemBank, int Address, int Length, int AccessPassword, void *Data);

74

CAEN RFID API Reference Manual

ReadTagData_EPC_C1G2 Method (Int16, Int16, Int16, Byte[], Int16, Int16, Int16)


Description: This method can be used to read a portion of memory in a ISO18000-6C (EPC Class1 Gen2) tag. In this case the target tag is identified by 'LenghtMask' bytes of passed mask placed in a memory bank 'BankMask' at 'PositionMask' byte from bank starting address byte. Parameters: Name BankMask PositionMask LengthMask Mask MemBank Address Length

Description Memory bank for tag identificantion. Bit position (from the start of the selected bank) where apply the mask to match. Length of the mask. Mask of byte. Memory bank where read. Address where starts reading. Number of byte to read.

Return value: An array of bytes representing the data read from the tag. Syntax: C# representation: public byte[] ReadTagData_EPC_C1G2( short short short byte[] short short short BankMask, PositionMask, LengthMask, Mask, MemBank, Address, Length)

JAVA representation: public byte[] ReadTagData_EPC_C1G2( short BankMask, short PositionMask, short LengthMask, byte[] Mask, short MemBank, short Address, short Length) throws CAENRFIDException

C representation: CAENRFIDErrorCodes CAENRFID_BankFilteredReadTagData_EPC_C1G2( CAENRFIDHandle handle, char *SourceName, short BankMask, short PositionMask, short LengthMask, char *Mask, short MemBank, int Address, int Length, void *Data);

CAEN RFID API Reference Manual

75

ReadTagData_EPC_C1G2 Method (Int16, Int16, Int16, Byte[], Int16, Int16, Int16, Int32)
Description: This method can be used to read a portion of memory in a ISO18000-6C (EPC Class1 Gen2) tag. In this case the target tag is identified by 'LenghtMask' bytes of passed mask placed in a memory bank 'BankMask' at 'PositionMask' byte from bank starting address byte. This is the secure version using the Access command. Parameters: Name BankMask PositionMask LengthMask Mask MemBank Address Length AccessPassword

Description Memory bank for tag identificantion. Bit position (from the start of the selected bank) where apply the mask to match. Length of the mask. Mask of byte. Memory bank where read. Address where starts reading. Number of byte to read. Access Password.

Return value: An array of bytes representing the data read from the tag. Syntax: C# representation: public byte[] ReadTagData_EPC_C1G2( short short short byte[] short short short int BankMask, PositionMask, LengthMask, Mask, MemBank, Address, Length, AccessPassword)

JAVA representation: public byte[] ReadTagData_EPC_C1G2( short BankMask, short PositionMask, short LengthMask, byte[] Mask, short MemBank, short Address, short Length, int AccessPassword) throws CAENRFIDException

C representation: CAENRFIDErrorCodes CAENRFID_SecureBankFilteredReadTagData_EPC_C1G2 ( CAENRFIDHandle handle, char *SourceName, short BankMask, short PositionMask, short LengthMask, byte[] Mask, short MemBank, int Address, int Length, void *Data, int AccessPassword);

76

CAEN RFID API Reference Manual

RemoveReadPoint Method
Description: This method removes a read point from the logical source. Parameters: Name ReadPoint Syntax: C# representation: public void JAVA representation: public void RemoveReadPoint( java.lang.String ReadPoint) throws CAENRFIDException RemoveReadPoint( string ReadPoint)

Description A string representing the name of the read point (antenna).

C representation: CAENRFIDErrorCodes CAENRFID_RemoveReadPoint( CAENRFIDHandle char char handle, *SourceName, *ReadPoint);

ResetSession_EPC_C1G2 Method
Description: This method can be used to reset the Session status for EPC Class1 Gen2 tags. After the execution of this method all the tags in the field of the antennas belonging to this logical source are back in the default Session. Syntax: C# representation: public void JAVA representation: public void C representation: CAENRFIDErrorCodes CAENRFID_ResetSession_EPC_C1G2( CAENRFIDHandle handle, char *SourceName); ResetSession_EPC_C1G2() throws CAENRFIDException ResetSession_EPC_C1G2()

CAEN RFID API Reference Manual

77

SetDESB_ISO180006B Method
Description: This method can be used to set the Data Exchange Status Bit (see ISO18000-6B protocol specification) used by the anticollision algorithm when called on this logical source. Parameters: Name Value Syntax: C# representation: public void JAVA representation: public void SetDESB_ISO180006B( CAENRFIDLogicalSourceConstants throws CAENRFIDException Value) SetDESB_ISO180006B( CAENRFIDLogicalSourceConstants Value)

Description The DESB setting value.

C representation: CAENRFIDErrorCodes CAENRFID_SetDESB_ISO180006B( CAENRFIDHandle unsigned int handle, Value);

SetQ_EPC_C1G2 Method
Description: This method can be used to set the initial Q value (see EPC Class1 Gen2 protocol specification) used by the anticollision algorithm when called on this logical source. Parameters: Name Value Syntax: C# representation: public void JAVA representation: public void SetQ_EPC_C1G2( int Value) throws CAENRFIDException SetQ_EPC_C1G2( int Value)

Description The initial Q value setting.

C representation: CAENRFIDErrorCodes CAENRFID_SetQValue_EPC_C1G2( CAENRFIDHandle char int handle, *SourceName, Value);

78

CAEN RFID API Reference Manual

SetReadCycle Method
Description: This method sets the number of read cycles to be performed by the logical source during the inventory algorithm execution. Parameters: Name value Syntax: C# representation: public void JAVA representation: public void SetReadCycle( int value) throws CAENRFIDException SetReadCycle( int value)

Description The number of read cycles.

C representation: CAENRFIDErrorCodes CAENRFID_SetReadCycle( CAENRFIDHandle char int handle, *SourceName, value);

SetSelected_EPC_C1G2 Method
Description: This method can be used to set the Selected flag (see EPC Class1 Gen2 protocol specification) used by the anticollision algorithm when called on this logical source. Parameters: Name Value Syntax: C# representation: public void JAVA representation: public void SetSelected_EPC_C1G2( CAENRFIDLogicalSourceConstants throws CAENRFIDException Value) SetSelected_EPC_C1G2( CAENRFIDLogicalSourceConstants Value)

Description The Selected flag value.

C representation: CAENRFIDErrorCodes CAENRFID_SetSelected_EPC_C1G2( CAENRFIDHandle char CAENRFIDLogicalSourceConstants handle, *SourceName, Value);

CAEN RFID API Reference Manual

79

SetSession_EPC_C1G2 Method
Description: This method can be used to set the Session (see EPC Class1 Gen2 protocol specification) used by the anticollision algorithm when called on this logical source. Parameters: Name Value Syntax: C# representation: public void JAVA representation: public void SetSession_EPC_C1G2( CAENRFIDLogicalSourceConstants throws CAENRFIDException Value) SetSession_EPC_C1G2( CAENRFIDLogicalSourceConstants Value)

Description The Session value.

C representation: CAENRFIDErrorCodes CAENRFID_SetSession_EPC_C1G2( CAENRFIDHandle char CAENRFIDLogicalSourceConstants handle, *SourceName, Value);

SetTarget_EPC_C1G2 Method
Description: This method can be used to set the Target setting (see EPC Class1 Gen2 protocol specification) used by the anticollision algorithm when called on this logical source. Parameters: Name Value Syntax: C# representation: public void JAVA representation: public void SetTarget_EPC_C1G2( CAENRFIDLogicalSourceConstants throws CAENRFIDException Value) SetTarget_EPC_C1G2( CAENRFIDLogicalSourceConstants Value)

Description The Target value.

C representation: CAENRFIDErrorCodes CAENRFID_SetTarget_EPC_C1G2( CAENRFIDHandle char CAENRFIDLogicalSourceConstants handle, *SourceName, Value);

80

CAEN RFID API Reference Manual

WriteTagData Method
Description: This method can be used to write a portion of the user memory in a ISO18000-6B tag. Parameters: Name Tag Address Length Data Syntax: C# representation: public void WriteTagData( CAENRFIDTag short short byte[] Tag, Address, Length, Data)

Description The CAENRFIDTag representing the tag to be written. The address where to start writing the data. The number of byte to be written. The data to be written into the tag's user memory.

JAVA representation: public void WriteTagData( CAENRFIDTag Tag, short Address, short Length, byte[] Data) throws CAENRFIDException

C representation: CAENRFIDErrorCodes CAENRFID_WriteTagData( CAENRFIDHandle CAENRFIDTag int int void handle, *Tag, Address, Length, *Data);

CAEN RFID API Reference Manual

81

WriteTagData_EPC_C1G2 Method
WriteTagData_EPC_C1G2 Method (CAENRFIDTag, Int16, Int16, Int16, Byte[])
Description: This method can be used to write a portion of memory in a ISO18000-6C (EPC Class1 Gen2) tag. Parameters: Name Tag MemBank Address Length Data Syntax: C# representation: public void WriteTagData_EPC_C1G2( CAENRFIDTag short short short byte[] Tag, MemBank, Address, Length, Data)

Description The CAENRFIDTag representing the tag to be written. The memory bank where to write the data. The address where to start writing the data. The number of byte to be written. An array of bytes representing the data to be written into the tag.

JAVA representation: public void WriteTagData_EPC_C1G2( CAENRFIDTag Tag, short MemBank, short Address, short Length, byte[] Data) throws CAENRFIDException

C representation: CAENRFIDErrorCodes CAENRFID_WriteTagData_EPC_C1G2( CAENRFIDHandle handle, CAENRFIDTag *Tag, short MemBank, int Address, int Length, void *Data);

82

CAEN RFID API Reference Manual

WriteTagData_EPC_C1G2 Method (CAENRFIDTag, Int16, Int16, Int16, Byte[], Int32)


Description: This method can be used to write a portion of memory in a ISO18000-6C (EPC Class1 Gen2) tag after having put the tag in Secured state using the Access command. Parameters: Name Tag MemBank Address Length Data AccessPassword Syntax: C# representation: public void WriteTagData_EPC_C1G2( CAENRFIDTag short short short byte[] int Tag, MemBank, Address, Length, Data, AccessPassword)

Description The CAENRFIDTag representing the tag to be written. The memory bank where to write the data. The address where to start writing the data. The number of byte to be written. An array of bytes representing the data to be written into the tag. The access password.

JAVA representation: public void WriteTagData_EPC_C1G2( CAENRFIDTag Tag, short MemBank, short Address, short Length, byte[] Data, int AccessPassword) throws CAENRFIDException

C representation: CAENRFIDErrorCodes CAENRFID_SecureWriteTagData_EPC_C1G2( CAENRFIDHandle handle, CAENRFIDTag *Tag, short MemBank, int Address, int Length, void *Data, int AccessPassword);

CAEN RFID API Reference Manual

83

WriteTagData_EPC_C1G2 Method (Int16, Int16, Int16, Byte[], Int16, Int16, Int16, Byte[])
Description: This method can be used to write a portion of memory in a ISO18000-6C (EPC Class1 Gen2) tag. Parameters: Name BankMask PositionMask LengthMask Mask MemBank Address Length Data Syntax: C# representation: public void WriteTagData_EPC_C1G2( short short short byte[] short short short byte[] BankMask, PositionMask, LengthMask, Mask, MemBank, Address, Length, Data)

Description Memory bank for tag identificantion. Bit position (from the start of the selected bank) where apply the mask to match. Length of the mask. Mask of byte. The memory bank where to write the data. The address where to start writing the data. The number of byte to be written. An array of bytes representing the data to be written into the tag.

JAVA representation: public void WriteTagData_EPC_C1G2( short BankMask, short PositionMask, short LengthMask, byte[] Mask, short MemBank, short Address, short Length, byte[] Data) throws CAENRFIDException

C representation: CAENRFIDErrorCodes CAENRFID_BankFilteredWriteTagData_EPC_C1G2( CAENRFIDHandle handle, char *SourceName, short BankMask, short PositionMask, short LengthMask, char *Mask, short MemBank, int Address, int Length, void *Data);

84

CAEN RFID API Reference Manual

WriteTagData_EPC_C1G2 Method (Int16, Int16, Int16, Byte[], Int16, Int16, Int16, Byte[], Int32)
Description: This method can be used to write a portion of memory in a ISO18000-6C (EPC Class1 Gen2) tag after having put the tag in Secured state using the Access command. Parameters: Name BankMask PositionMask LengthMask Mask MemBank Address Length Data AccessPassword Syntax: C# representation: public void WriteTagData_EPC_C1G2( short short short byte[] short short short byte[] int BankMask, PositionMask, LengthMask, Mask, MemBank, Address, Length, Data, AccessPassword)

Description Memory bank for tag identificantion. Bit position (from the start of the selected bank) where apply the mask to match. Length of the mask. Mask of byte. The memory bank where to write the data. The address where to start writing the data. The number of byte to be written. An array of bytes representing the data to be written into the tag. The access password.

JAVA representation: public void WriteTagData_EPC_C1G2( short BankMask, short PositionMask, short LengthMask, byte[] Mask, short MemBank, short Address, short Length, byte[] Data, int AccessPassword) throws CAENRFIDException

C representation: CAENRFIDErrorCodes CAENRFID_SecureBankFilteredWriteTagData_EPC_C1G2( CAENRFIDHandle handle, char *SourceName, short BankMask, short PositionMask, short LengthMask, char *Mask, short MemBank, int Address, int Length, void *Data, int AccessPassword);

CAEN RFID API Reference Manual

85

CAENRFIDNotify Class
The CAENRFIDNotify class defines the structure of a notification message. In both Java and C# lanuguage this class is composed by methods while in C language is present as a struct (for more informations see Overview on SDK pag.7): C representation: typedef struct { byte short char char CAENRFIDProtocol short byte short byte } CAENRFIDNotify; ID[MAX_ID_LENGTH]; Length; LogicalSource[MAX_LOGICAL_SOURCE_NAME]; ReadPoint[MAX_READPOINT_NAME]; Type; RSSI; TID[MAX_TID_SIZE]; TIDLen; XPC[XPC_LENGTH];

getDate Method
Description: This method returns a timestamp representing the time at which the event was generated. Return value: The timestamp value. Syntax: C# representation: public DateTime JAVA representation: public java.util.Date getDate() getDate()

getReadPoint Method
Description: This method returns the read point that has detected the tag. Return value: The name of the read point that has detected the Tag. Syntax: C# representation: public string JAVA representation: public java.lang.String getReadPoint() getReadPoint()

86

CAEN RFID API Reference Manual

getRSSI Method
Description: This method returns the RSSI value measured for the tag. Return value: The tag's RSSI. Syntax: C# representation: public short JAVA representation: public short getRSSI() getRSSI()

getStatus Method
Description: This method returns the event type associated to the tag. Return value: The event type associated to the Tag. Syntax: C# representation: public CAENRFIDTagEventType JAVA representation: public CAENRFIDTagEventType getStatus() getStatus()

getTagID Method
Description: This method returns the tag's ID (the EPC code in Gen2 tags). Return value: An array of bytes representing the tag's ID (the EPC code in EPC Class 1 Gen 2 tags). Syntax: C# representation: public byte[] JAVA representation: public byte[] getTagID() getTagID()

getTagLength Method
Description: This method returns the tag's ID length. Return value: The tag's length. Syntax: C# representation: public short JAVA representation: getTagLength()

CAEN RFID API Reference Manual

87

public short

getTagLength()

getTagSource Method
Description: This method returns the name of the logical source that has detected the tag. Return value: The name of the logical source that has detected the tag. Syntax: C# representation: public string JAVA representation: public java.lang.String getTagSource() getTagSource()

getTagType Method
Description: This method returns the air protocol of the tag. Return value: The air protocol of the tag. Syntax: C# representation: public short JAVA representation: public CAENRFIDProtocol getTagType() getTagType()

getTID Method
Description: This method returns the TID field value in a EPC Class 1 Gen 2 Tag Return value: The bytes of the TID field. Syntax: C# representation: public byte[] JAVA representation: public java.lang.String getAntenna() getTID()

GetXPC Method
Description: This method returns the tags XPC words. Return value: The tags XPC words. Syntax: C# representation: public byte[] JAVA representation: GetXPC()

88

CAEN RFID API Reference Manual

public byte[]

GetXPC()

CAEN RFID API Reference Manual

89

CAENRFIDReader Class
The CAENRFIDReader class is used to create reader objects which permit to access to CAEN RFID readers' configuration and control commands.

Connect Method
Description: In C# and Java languages, this method starts the communication with the reader. It must be called before any other call to method of the CAENRFIDReader object. See Managing connections with the readers pag. 7 for more informations. Parameters: Name ConType Address

Description The communication link to use for the connection. Depending on ConType parameter: IP address for TCP/IP communications ("xxx.xxx.xxx.xxx"), COM port for RS232 communications ("COMx"), An index for USB communications (not yet supported).

Syntax: C# representation: public void Connect( CAENRFIDPort string JAVA representation: public void Connect( CAENRFIDPort ConType, java.lang.String Address) throws CAENRFIDException ConType, Address)

Init Function
Description: In C language, this function generates an opaque handle to identify a module attached to the PC. See Managing connections with the readers pag. 7 for more informations. Parameters: Name ConType Address handle Syntax: C representation: CAENRFIDErrorCodes CAENRFID_Init( CAENRFIDPort char CAENRFIDHandle CAENRFIDProtocol ConType, *Address, *handle, *Protocol);

Description The communication link to use for the connection. Communication address (i.e.: "COM1" for RS232, "USB0" for USB of IP address for TCP/IP etc.). The handle that identifies the device.

90

CAEN RFID API Reference Manual

Disconnect Method
Description: In C# and Java languages, this method closes the connection with the CAEN RFID Reader releasing all the allocated resources. See Managing connections with the readers pag. 7 for more informations. Syntax: C# representation: public void JAVA representation: public void Disconnect() throws CAENRFIDException Disconnect()

End
Description: In C language, this function closes the connection with the CAEN RFID Reader releasing all the allocated resources. See Managing connections with the readers pag. 7 for more informations. Parameters: Name handle Syntax: C representation: CAENRFIDErrorCodes CAENRFID_End( CAENRFIDHandle handle);

Description The handle that identifies the device.

GetBitRate Method
Description: This method gets the current setting of the RF bit rate. Return value: The current RF bit rate value. Syntax: C# representation: public CAENRFIDBitRate JAVA representation: public CAENRFIDBitRate C representation: CAENRFIDErrorCodes CAENRFID_GetBitrate( CAENRFIDHandle CAENRFID_Bitrate handle, *Bitrate); GetBitRate() throws CAENRFIDException GetBitRate()

CAEN RFID API Reference Manual

91

GetFirmwareRelease Method
Description: This method permits to read the release of the firmware loaded into the device. Return value: A string representing the firmware release of the device. Syntax: C# representation: public string JAVA representation: public java.lang.String GetFirmwareRelease() throws CAENRFIDException C representation: CAENRFIDErrorCodes CAENRFID_GetFirmwareRelease( CAENRFIDHandle handle, char *FWRel); GetFirmwareRelease()

GetIO Method
Description: This method gets the current digital Input and Output lines status. Return value: A bitmask representing the I/O lines status. The format and the meaning of the bits depends on the Reader's model. Please refer to the corresponding user manual available on http://www.caen.it/rfid Syntax: C# representation: public int JAVA representation: public int C representation: CAENRFIDErrorCodes CAENRFID_GetIO( CAENRFIDHandle unsigned int handle, *IORegister); GetIO() throws CAENRFIDException GetIO()

92

CAEN RFID API Reference Manual

GetIODirection Method
Description: This method gets the current I/O direction setting as a bitmask. Each bit represent a I/O line, a value of 0 means that the line is configured as an input, 1 as an output. This setting has a meaning only for those readers with configurable I/O lines. Return value: A bitmask representing the I/O setting. Syntax: C# representation: public int JAVA representation: public int C representation: CAENRFIDErrorCodes CAENRFID_GetIODirection( CAENRFIDHandle unsigned int handle, *IODirection); GetIODirection() throws CAENRFIDException GetIODirection()

GetLBTMode Method
Description: This method gets the current LBT mode setting. If the current regulation is based on the frequency hopping mechanism it returns the FH status. Return value: A zero value if the LBT/FH is disabled, non-zero value if it is enabled. Syntax: C# representation: public short JAVA representation: public short C representation: CAENRFIDErrorCodes CAENRFID_GetLBTMode( CAENRFIDHandle unsigned short handle, *LBTMode); GetLBTMode() throws CAENRFIDException GetLBTMode()

CAEN RFID API Reference Manual

93

GetPower Method
Description: This method gets the current setting of the RF power expressed in mW. Return value: The current conducted RF power expressed in mW. Syntax: C# representation: public int JAVA representation: public int C representation: CAENRFIDErrorCodes CAENRFID_GetPower( CAENRFIDHandle unsigned int handle, *Power); GetPower() throws CAENRFIDException GetPower()

GetProtocol Method
Description: This method gets the current air protocol of the Reader. Return value: A CAENRFIDProtocol representing the current air protocol set on the reader. Syntax: C# representation: public CAENRFIDProtocol GetProtocol() JAVA representation: public CAENRFIDProtocol GetProtocol() throws CAENRFIDException C representation: CAENRFIDErrorCodes CAENRFID_GetProtocol( CAENRFIDHandle CAENRFIDProtocol handle, *Protocol);

94

CAEN RFID API Reference Manual

GetReaderInfo Method
Description: This method permits to read the reader information loaded into the device. Return value: The reader information of the device. Syntax: C# representation: public CAENRFIDReaderInfo JAVA representation: public CAENRFIDReaderInfo C representation: CAENRFIDErrorCodes CAENRFID_GetReaderInfo( CAENRFIDHandle char char handle, *Model, *SerialNum); GetReaderInfo() throws CAENRFIDException GetReaderInfo()

GetReadPoints Method
Description: This method gets the names of the read points (antennas) available in the reader. Return value: An array containing the read points (antennas) names available in the reader. Syntax: C# representation: public string[] JAVA representation: public java.lang.String[] C representation: CAENRFIDErrorCodes CAENRFID_GetReadPoints( CAENRFIDHandle char int handle, **AntNames [], *AntNumber); GetReadPoints() GetReadPoints()

CAEN RFID API Reference Manual

95

GetReadPointStatus Method
Description: This method gets the CAENRFIDReadPointStatus object representing the status of a read point (antenna). Parameters: Name ReadPoint

Description The name of the read point to check.

Return value: The CAENRFIDReadPointStatus object rapresenting the current status of the read point. Syntax: C# representation: public CAENRFIDReadPointStatus JAVA representation: public CAENRFIDReadPointStatus GetReadPointStatus( java.lang.String ReadPoint) throws CAENRFIDException GetReadPointStatus( string ReadPoint)

C representation: CAENRFIDErrorCodes CAENRFID_GetReadPointStatus( CAENRFIDHandle handle, char *ReadPoint, CAENRFIDReadPointStatus *Status);

GetRFChannel Method
Description: This method gets the index of the RF channel currently in use. The index value meaning change for different country regulations. Return value: The RF channel index. Syntax: C# representation: public short JAVA representation: public short C representation: CAENRFIDErrorCodes CAENRFID_GetRFChannel( CAENRFIDHandle unsigned short handle, *RFChannel); GetRFChannel() throws CAENRFIDException GetRFChannel()

Remarks This method is only used for testing applications.

96

CAEN RFID API Reference Manual

GetRFRegulation Method
Description: This method gets the current RF regulation setting value. Return value: The RF regulation value. Syntax: C# representation: public CAENRFIDRFRegulations JAVA representation: public CAENRFIDRFRegulations C representation: CAENRFIDErrorCodes CAENRFID_GetRFRegulation( CAENRFIDHandle handle, CAENRFIDRFRegulations *RFRegulation); GetRFRegulation() throws CAENRFIDException GetRFRegulation()

GetSource Method
Description: This method gets a CAENRFIDLogicalSource object given its name. Parameters: Name Source

Description The name of the logical source.

Return value: The CAENRFIDLogicalSource object corresponding to the requested name. Syntax: C# representation: public CAENRFIDLogicalSource JAVA representation: public CAENRFIDLogicalSource GetSource( java.lang.String Source) throws CAENRFIDException GetSource( string Source)

Remarks: This function does not exist in C language, see Overview on SDK pag. 7 for more informations.

CAEN RFID API Reference Manual

97

GetSourceNames Method
Description: This method gets the names of the logical sources available in the reader. Return value: An array containing the logical source names available in the reader. Syntax: C# representation: public static string[] JAVA representation: public static java.lang.String[] C representation: CAENRFIDErrorCodes CAENRFID_GetSourceNames( CAENRFIDHandle handle, char **SrcNames[], int *SrcNumber); GetSourceNames() GetSourceNames()

GetSources Method
Description: This method gets the CAENRFIDLogicalSource objects available on the reader. Return value: An array of the logical source objects available in the Reader. Syntax: C# representation: public CAENRFIDLogicalSource[] JAVA representation: public CAENRFIDLogicalSource[] GetSources() GetSources()

Remarks: This function does not exist in C language, see Overview on SDK pag. 7 for more informations.

InventoryAbort Method
For the description of this method, see Event Handling pag.111.

98

CAEN RFID API Reference Manual

RFControl Method
Description: Permits to control the RF CW (Carrier Wave) signal generation. Parameters: Name OnOff Syntax: C# representation: public void JAVA representation: public void RFControl( int OnOff) throws CAENRFIDException C representation: CAENRFIDErrorCodes CAENRFID_RFControl( CAENRFIDHandle int handle, OnOff); RFControl( int OnOff)

Description The value to set. 1 generates the CW , 0: stops the CW generation.

Remarks This method is only used for testing applications.

SetBitRate Method
Description: This method sets the RF bit rate to use. Parameters: Name BitRate Syntax: C# representation: public void JAVA representation: public void SetBitRate( CAENRFIDBitRate BitRate) throws CAENRFIDException SetBitRate( CAENRFIDBitRate BitRate)

Description The RF bit rate value to be set.

C representation: CAENRFIDErrorCodes CAENRFID_SetBitRate( CAENRFIDHandle CAENRFID_Bitrate handle, BitRate);

CAEN RFID API Reference Manual

99

SetDateTime Method
Description: This method sets the Date/Time of the reader. Parameters: Name DateTime Syntax: C# representation: public void JAVA representation: public void SetDateTime( java.lang.String DateTime) throws CAENRFIDException SetDateTime( string DateTime)

Description The Date/Time to be set on the reader as a string in the format: "yyyy-mmdd hh:mm:ss".

C representation: CAENRFIDErrorCodes CAENRFID_SetDateTime( CAENRFIDHandle char handle, *DateTime);

SetIO Method
Description: This method sets the Output lines value. Parameters: Name IOValue

Description A bitmask representing the I/O lines value. The format and the meaning of the bits depends on the reader's model. Please refer to the corresponding user manual available on http://www.caen.it/rfid.

Syntax: C# representation: public void JAVA representation: public void SetIO( int IOValue) throws CAENRFIDException C representation: CAENRFIDErrorCodes CAENRFID_SetIO( CAENRFIDHandle unsigned int handle, IOValue); SetIO( int IOValue)

100

CAEN RFID API Reference Manual

SetIODIRECTION Method
Description: This method sets the current I/O direction setting as a bitmask. Each bit represent a I/O line, a value of 0 means that the line is configured as an input, 1 as an output. This setting has a meaning only for those readers with configurable I/O lines. Parameters: Name IODirection Syntax: C# representation: public void JAVA representation: public void SetIODIRECTION( int IODirection) throws CAENRFIDException SetIODIRECTION( int IODirection)

Description The IODirection value to set.

C representation: CAENRFIDErrorCodes CAENRFID_SetIODirection( CAENRFIDHandle unsigned int handle, IODirection);

SetLBTMode Method
Description: This method sets/resets the LBT/FH mode. Parameters: Name LBTMode Syntax: C# representation: public void JAVA representation: public void SetLBTMode( short LBTMode) throws CAENRFIDException SetLBTMode( short LBTMode)

Description The LBT/FH setting value to be set. 1 set LBT/FH Mode to ON, 0: resets LBT/FH Mode to OFF.

C representation: CAENRFIDErrorCodes CAENRFID_SetLBTMode( CAENRFIDHandle unsigned short handle, LBTMode);

CAEN RFID API Reference Manual

101

SetNetwork Method
Description: This method permits to configure the network settings of the reader. In order to apply the changes the reader must be restarted. Parameters: Name IPAddress NetMask Gateway Syntax: C# representation: public void SetNetwork( string string string IPAddress, NetMask, Gateway)

Description The IP address to set on the reader network interface. The netmask to set on the reader network interface. The gateway to set on the reader network interface.

JAVA representation: public void SetNetwork( java.lang.String IPAddress, java.lang.String NetMask, java.lang.String Gateway) throws CAENRFIDException

C representation: CAENRFIDErrorCodes CAENRFID_SetNetwork( CAENRFIDHandle char char char handle, *IPAddress, *NetMask, *Gateway);

SetPower Method
Description: This method sets the conducted RF power of the Reader. Parameters: Name power Syntax: C# representation: public void JAVA representation: public void SetPower( int C representation: CAENRFIDErrorCodes CAENRFID_SetPower( CAENRFIDHandle unsigned int handle, Power); power) throws CAENRFIDException SetPower( int power)

Description The conducted RF power value expressed in mW.

102

CAEN RFID API Reference Manual

SetProtocol Method
Description: This method sets the air protocol of the reader. Parameters: Name Protocol Syntax: C# representation: public void JAVA representation: public void SetProtocol( CAENRFIDProtocol Protocol) throws CAENRFIDException SetProtocol( CAENRFIDProtocol Protocol)

Description The CAENRFIDProtocol representing the air protocol to be set.

C representation: CAENRFIDErrorCodes CAENRFID_SetProtocol( CAENRFIDHandle CAENRFIDProtocol handle, Protocol);

SetRFChannel Method
Description: This method sets the RF channel to use. This method fixes the RF channel only when the listen before talk or the frequency hopping feature is disabled. Parameters: Name Channel Syntax: C# representation: public void JAVA representation: public void SetRFChannel( short Channel) throws CAENRFIDException SetRFChannel( short Channel)

Description The RF channel index to be set.

C representation: CAENRFIDErrorCodes CAENRFID_SetRFChannel( CAENRFIDHandle unsigned short handle, Channel);

Remarks This method is only used for testing applications.

CAEN RFID API Reference Manual

103

SetRFRegulation Method
Description: This method sets the RF regulation setting value. Parameters: Name RFRegulation Syntax: C# representation: public void JAVA representation: public void SetRFRegulation( CAENRFIDRFRegulations throws CAENRFIDException RFRegulation) SetRFRegulation( CAENRFIDRFRegulations RFRegulation)

Description The RF regulation value to set.

C representation: CAENRFIDErrorCodes CAENRFID_SetRFRegulation( CAENRFIDHandle CAENRFIDRFRegulations handle, RFRegulation);

104

CAEN RFID API Reference Manual

SetRS232 Method
Description: This method permits to change the serial port settings. Valid settings values depend on the reader model. Parameters: Name baud datab stopb parity flowc Syntax: C# representation: public void SetRS232( int int int CAENRFIDRS232Constants CAENRFIDRS232Constants JAVA representation: public void SetRS232( int int int CAENRFIDRS232Constants CAENRFIDRS232Constants throws CAENRFIDException C representation: CAENRFIDErrorCodes CAENRFID_SetRS232( CAENRFIDHandle handle, unsigned long baud, unsigned long datab, unsigned long stopb, CAENRFID_RS232_Parity parity, CAENRFID_RS232_FlowControl flowc); baud, datab, stopb, parity, flowc) baud, datab, stopb, parity, flowc)

Description The baud rate value to set. The number of data bits to set. The number of stop bits to set. The parity value to set. The flow control value to set.

CAEN RFID API Reference Manual

105

CAENRFIDReaderInfo Class
The CAENRFIDReaderInfo class is used to create reader info objects. Reader info objects represent the information about the reader device (model and serial number).

GetModel Method
Description: This method gets the reader's model. Return value: The reader's model. Syntax: C# representation: public string JAVA representation: public java.lang.String GetModel() GetModel()

Remarks: This method does not exist in C language. It is possible to use the GetReaderInfo Method pag. 95 instead. In fact GetReaderInfo Method (in the C language) returns the readers model and the serial number.

GetSerialNumber Method
Description: This method gets the reader's serial number. Return value: The reader's serial number. Syntax: C# representation: public string JAVA representation: public java.lang.String GetSerialNumber() GetSerialNumber()

Remarks: This method does not exist in C language. It is possible to use the GetReaderInfo Method pag. 95 instead. In fact GetReaderInfo Method (in the C language) returns the readers model and the serial number.

106

CAEN RFID API Reference Manual

CAENRFIDTag Class
The CAENRFIDTag class is used to define objects representing the tags. These objects are used as return values for the inventory methods and as arguments for many tag access methods. In both Java and C# lanuguage this class is composed by methods while in C language the following struct is present (for more informations see Overview on SDK pag.7): C representation: typedef struct { byte short char char CAENRFIDProtocol short byte short byte } CAENRFIDTag; ID[MAX_ID_LENGTH]; Length; LogicalSource[MAX_LOGICAL_SOURCE_NAME]; ReadPoint[MAX_READPOINT_NAME]; Type; RSSI; TID[MAX_TID_SIZE]; TIDLen; XPC[XPC_LENGTH];

GetId Method
Description: This method returns the tag's ID (the EPC code in Gen2 tags). Return value: An array of bytes representing the tag's ID (the EPC code in EPC Class 1 Gen 2 tags). Syntax: C# representation: public byte[] JAVA representation: public byte[] GetId() GetId()

GetLength Method
Description: This method returns the tag's ID length. Return value: The tag's length. Syntax: C# representation: public short JAVA representation: public short GetLength() GetLength()

CAEN RFID API Reference Manual

107

GetReadPoint Method
Description: This method returns the read point that has detected the tag. Return value: The name of the read point that has detected the Tag Syntax: C# representation: public string JAVA representation: public java.lang.String GetReadPoint() throws CAENRFIDException GetReadPoint()

GetRSSI Method
Description: This method returns the RSSI value measured for the tag. Return value: The tag's RSSI. Syntax: C# representation: public short JAVA representation: public short GetRSSI() GetRSSI()

GetSource Method
Description: This method returns the name of the logical source that has detected the tag. Return value: The name of the logical source that has detected the tag. Syntax: C# representation: public CAENRFIDLogicalSource JAVA representation: public CAENRFIDLogicalSource GetSource() GetSource()

108

CAEN RFID API Reference Manual

GetTID Method
Description: This method returns the tag's TID (valid only for EPC Class 1 Gen 2 tags). Return value: An array of bytes representing the tag's TID. Syntax: C# representation: public byte[] JAVA representation: public byte[] GetTID() GetTID()

GetTimeStamp Method
Description: This method gets the Tag's TimeStamp. Return value: The Tags's Unix TimeStamp. Syntax: C# representation: public DateTime JAVA representation: public java.util.Date GetTimeStamp() GetTimeStamp()

GetType Method
Description: This method returns the air protocol of the tag. Return value: The air protocol of the tag. Syntax: C# representation: public new CAENRFIDProtocol JAVA representation: public CAENRFIDProtocol GetType() GetType()

GetXPC Method
Description: This method returns the tags XPC words. Return value: The tags XPC words. Syntax: C# representation: public byte[] JAVA representation: GetXPC()

CAEN RFID API Reference Manual

109

public byte[]

GetXPC()

110

CAEN RFID API Reference Manual

4 Event Handling

This chapter gives a description of CAENRFID event handling. It contains these topics: Event Handling C# Event Handling JAVA Event Handling C Event Handling

CAEN RFID API Reference Manual

111

Event Handling
Standard tag's detection method (InventoryTag) is based on a polling mechanism: a call to the InventoryTag method/function results in a single read cycle and the detected tags in that cycle are returned. An useful variant ("continuous mode") uses an event mechanism to notify detected tags: a call to the EventInventoryTag method/function starts a continuous tags' detection algorithm (multiple read cycles) and an event is generated for each read cycle to notify the detected tags (see the CAEN RFID API User Manual.for further information). The user of the library can define an event handler method/function that is called automatically when the event raises; the data related to the event is passed to the handler as a parameter. The user can define the number of read cycles that the EventInventoryTag have to perform using the ReadCycle parameter of the relevant LogicalSource. If ReadCycle is equal to 0 the EventInventoryTag method loops indefinetely. The "continuous mode" can be interrupted using the InventoryAbort method function. The event handling is implemented using the standard event handling mechanism in .NET and Java while in C it is simulated using the callback mechanism. For further information on the use of the EventInventoryTag, please refer to the CAEN RFID API User Manual.

112

CAEN RFID API Reference Manual

EventInventoryTag Method
Description: A call to this method will start a sequence of read cycle on each read point linked to the logical source. The readings will be notified to the controller via event generation. Parameters: Name Mask MaskLength Position Flag pCallBack

Description A byte array representing the bitmask to apply. A value representing the bit-oriented length of the bitmask. A value representing the first bit where the match will start. A bitmask representing the InventoryTag options. The user defined handler called by EventInventoryTag (only in C language).

Return value: A boolean value that represents the status of the command: true if the reader has accepted the command; false otherwise. Syntax: C# representation: public bool EventInventoryTag( byte[] short short short Mask, MaskLength, Position, Flag)

JAVA representation: public boolean EventInventoryTag( byte[] short short short throws CAENRFIDException Mask, MaskLength, Position, Flag)

C representation: typedef struct { char char unsigned char unsigned char CAENRFID_INVENTORY_CALLBACK short CAENRFID_EventInventoryParams; CAENRFIDErrorCodes *SourceName; *Mask; MaskLength; Position; pCallBack; flag;}

CAENRFID_EventInventoryTag ( CAENRFIDHandle handle, CAENRFID_EventInventoryParams InvParams);

CAEN RFID API Reference Manual

113

Remarks: Depending on the air protocol setting it will execute the appropriate anticollision algorithm. This version of the method permits to specify a bitmask for filtering tag's populations as described by the EPC Class1 Gen2 (ISO18000-6C) air protocol. The filtering will be performend on the memory bank specified by bank parameter, starting at the bit indicated by the Position index and for a MaskLength length. The method will return only the tags that matches the given Mask. Passing a zero value for MaskLength it performs as the non-filtering InventoryTag method. The Flags parameter permits to set InventoryTag method's options.In this case bit 1 and 2 of the flag (continuos and framed mode) are ignored. Flag value meaning RSSI: a 1 value indicates the reader will transmit the RSSI (Return Signal Strength Bit 0 Indicator) in the response. Framed data: a 1 value indicates that the tag's data will be transmitted by the reader to the PC as soon as the tag is detected, a 0 value means that all the tags Bit 1 detected are buffered in the reader and trasmitted all together at the end of the inventory cycle. Continuous acquisition: a 1 value indicates that the inventory cycle is repeated by the reader depending on the SetReadCycle setting value, a 0 value means that only one inventory cycle will be performed. If the continuous mode is selected a 0 Bit 2 value in the ReadCycle setting will instruct the reader to repeat the inventory cycle until an InventoryAbort method is invoked, a value X different from 0 means that the inventory cycle will be performed X times by the reader. Compact data: a 1 value indicates that only the EPC of the tag will be returned by the reader, a 0 value indicates that the complete data will be returned. In case Bit 3 that the compact option is enabled all the other data will be populated by this library with fakes values. TID reading: a 1 value indicates that also the TID of the tag will be returned by the Bit 4 reader together with the other informations. Bit 6 XPC : a 1 value allows the reader to get the XPC word if backscattered by a tag.Tags that do not backscatter the XPC words will return an XPC array with all the 4 bytes set to 0

InventoryAbort Method
Description: This method stops the EventInventoryTag execution. Syntax: C# representation: public void JAVA representation: public void C representation: CAENRFIDErrorCodes CAENRFID_InventoryAbort( CAENRFIDHandle handle); InventoryAbort() InventoryAbort()

114

CAEN RFID API Reference Manual

C# Event Handling
CAENRFIDEventArgs Class
The CAENRFIDEventArgs class defines the CAENRFID event arguments.

getData Method
Description: This method returns the event object value. Return value: The value of the event object. Syntax: C# representation: public CAENRFIDNotify[] getData()

CAENRFIDEventHandler Delegate
CAENRFIDEventHandler delegate declaration. Parameters: Name Event Syntax: C# representation: public delegate void CAENRFIDEventHandler( object CAENRFIDEventArgs Sender, Event)

Description the Data Event.

CAENRFIDEvent Event
The CAEN RFID event is generated by the library each time tag data arrives from the reader. The event is generated only when the EventInventoryTag method is used. It is an event of the Reader Class. Syntax: C# representation: public event CAENRFIDEventHandler CAENRFIDEvent

Event Data
The event handler receives an argument of type CAENRFIDEventArgs containing data related to this event. The following CAENRFIDEventArgs property provides information specific to this event. Property Data Description Represents the event object value.

CAEN RFID API Reference Manual

115

JAVA Event Handling


CAENRFIDEvent Class
The CAENRFIDEvent class defines the CAENRFID event arguments.

getData Method
Description: This method returns the event object value. Return value: The value of the event object. Syntax: JAVA representation: public java.util.ArrayList getData()

CAENRFIDEventListener Interface
The listener interface for receiving CAEN RFID events.

CAENRFIDTagNotify
Description: This method is invoked when an action occurs. Parameters: Name evt

Description The CAENRFIDEvent contains the Data Event.

Syntax: JAVA representation: void CAENRFIDTagNotify( CAENRFIDEvent evt)

addCAENRFIDEventListener
This is a Reader Class method. It adds the specified CAENRFIDEvent listener to receive CAENRFIDEvent events from this CAENRIFDReader. Parameters: Name listener Description listener - the CAENRFIDEvent listener.

Syntax: JAVA representation: public void addCAENRFIDEventListener( CAENRFIDEventListener listener)

removeCAENRFIDEventListener
This is a Reader Class method. It Removes the specified CAENRFIDEvent listener so that it no longer receives CAENRFID events from this CAENRIFDReader. Parameters: Name listener Description listener - the CAENRFIDEvent listener.

Syntax: JAVA representation: public void removeCAENRFIDEventListener( CAENRFIDEventListener listener)

116

CAEN RFID API Reference Manual

C Event Handling
CAENRFID_INVENTORY_CALLBACK
This function prototype defines the type of the user defined event handler (see the CAEN RFID API User Manual. for further information) Syntax: C representation: typedef CAENRFIDErrorCodes (__stdcall *CAENRFID_INVENTORY_CALLBACK) (const CAENRFIDNotify* Tags, const int Size);

CAEN RFID API Reference Manual

117

5 Enumerations Description

This chapter gives a description of CAENRFID enumerations. It contains these topics: CAENRFIDBitRate Enumeration CAENRFIDLogicalSourceConstants Enumeration CAENRFIDPort Enumeration CAENRFIDProtocol Enumeration CAENRFIDReadPointStatus Enumeration CAENRFIDRFRegulations Enumeration CAENRFIDRS232Constants Enumeration CAENRFIDSelUnselOptions Enumeration

118

CAEN RFID API Reference Manual

CAENRFIDBitRate Enumeration
The CAENRFIDBitRate Enumeration gives a list of the supported radiofrequency profiles. Syntax: C# representation: public enum JAVA representation: public final class C representation: typedef enum CAENRFID_Bitrate; CAENRFIDBitRate CAENRFIDBitRate

In the following table, the CAENRFIDBitRate Enumeration members are listed: Member DSB_ASK_FM0_TX10RX40 DSB_ASK_FM0_TX40RX40 DSB_ASK_FM0_TX40RX160 DSB_ASK_FM0_TX160RX400 DSB_ASK_M2_TX40RX160 PR_ASK_M2_TX40RX250 PR_ASK_M4_TX40RX250 PR_ASK_M4_TX40RX300 Description DSB-ASK transmission modulation, FM0 return link encoding, 10 Kbit in transmission, 40 Kbit in reception. DSB-ASK transmission modulation, FM0 return link encoding, 40 Kbit in transmission, 40 Kbit in reception. DSB-ASK transmission modulation, FM0 return link encoding, 40 Kbit in transmission, 160 Kbit in reception. DSB-ASK transmission modulation, FM0 return link encoding, 160 Kbit in transmission, 400 Kbit in reception. DSB-ASK transmission modulation, Miller (M=2) return link encoding, 40 Kbit in transmission, 160 Kbit in reception. PR-ASK transmission modulation, Miller (M=2) return link encoding, 40 Kbit in transmission, 250 Kbit in reception. PR-ASK transmission modulation, Miller (M=4) return link encoding, 40 Kbit in transmission, 250 Kbit in reception. PR-ASK transmission modulation, Miller (M=4) return link encoding, 40 Kbit in transmission, 300 Kbit in reception.

CAEN RFID API Reference Manual

119

CAENRFIDLogicalSourceConstants Enumeration
The CAENRFIDLogicalSourceConstants Enumeration gives a list of constants used for the configuration of the logical sources. Detailed explanation of the settings can be found in the EPC Class 1 Gen 2 and ISO 18000-6B specification documents. Syntax: C# representation: public enum JAVA representation: public final class C representation: typedef enum CAENRFIDLogicalSourceConstants; CAENRFIDLogicalSourceConstants CAENRFIDLogicalSourceConstants

In the following table, the CAENRFIDLogicalSourceConstants Enumeration members are listed: Member EPC_C1G2_SESSION_S0 EPC_C1G2_SESSION_S1 EPC_C1G2_SESSION_S2 EPC_C1G2_SESSION_S3 EPC_C1G2_TARGET_A EPC_C1G2_TARGET_B EPC_C1G2_SELECTED_YES Description Session 0 is selected for the anticollision algorithm execution on the logical source (valid only for the EPC Class1 Gen2 air protocol). Session 1 is selected for the anticollision algorithm execution on the logical source (valid only for the EPC Class1 Gen2 air protocol). Session 2 is selected for the anticollision algorithm execution on the logical source (valid only for the EPC Class1 Gen2 air protocol). Session 3 is selected for the anticollision algorithm execution on the logical source (valid only for the EPC Class1 Gen2 air protocol). Target A is selected for the anticollision algorithm execution on the logical source (valid only for the EPC Class1 Gen2 air protocol). Target B is selected for the anticollision algorithm execution on the logical source (valid only for the EPC Class1 Gen2 air protocol). Only the tags with the SL flag set to true are considered in the anticollision algorithm execution on the logical source (valid only for the EPC Class1 Gen2 air protocol). Only the tags with the SL flag set to false are considered in the anticollision algorithm execution on the logical source (valid only for the EPC Class1 Gen2 air protocol). All the tags are considered in the anticollision algorithm execution on the logical source (valid only for the EPC Class1 Gen2 air protocol). The Data Exchange Status Bit feature is used for the anticollision algorithm execution on the logical source (valid only for the ISO180006B air protocol). The Data Exchange Status Bit feature is not used for the anticollision algorithm execution on the logical source (valid only for the ISO180006B air protocol).

EPC_C1G2_SELECTED_NO EPC_C1G2_ALL_SELECTED ISO18006B_DESB_ON

ISO18006B_DESB_OFF

120

CAEN RFID API Reference Manual

CAENRFIDPort Enumeration
The CAENRFIDPort Enumeration gives a list of the communication ports supported by the CAEN RFID readers. Syntax: C# representation: public enum JAVA representation: public final class C representation: typedef enum CAENRFIDPort; CAENRFIDPort CAENRFIDPort

Remarks: In order to align the three libraries, the members name in C language have changed, now reporting the CAENRFID_ suffix, but the value of the members is the same of the previous library version. In the following table, the CAENRFIDPort Enumeration members are listed: Member CAENRFID_RS232 CAENRFID_TCP CAENRFID_USB Description Serial port communication link. TCP/IP network communication link. USB communication link.

CAENRFIDProtocol Enumeration
The CAENRFIDProtocol Enumeration gives a list of the air protocol supported by the CAEN RFID readers. Syntax: C# representation: public enum JAVA representation: public final class C representation: typedef enum CAENRFIDProtocol; CAENRFIDProtocol CAENRFIDProtocol

Remarks: In order to align the three libraries, the members name in C language have changed, now reporting the CAENRFID_ suffix, but the value of the members is the same of the previous library version. In the following table, the CAENRFIDProtocol Enumeration members are listed: Member CAENRFID_ISO18000_6b CAENRFID_EPC119 CAENRFID_EPC_C1G1 CAENRFID_ISO18000_6a CAENRFID_EPC_C1G2 CAENRFID_MULTIPROTOCOL Description ISO18000-6B air protocol. EPC 1.19 air protocol. EPCGlobal Class1 Gen1 air protocol. ISO18000-6A air protocol. EPCGlobal Class1 Gen2 (aka ISO18000-6C) air protocol. This value permits to use all the supported air protocol at the same time. Suggested setting only for demo purposes.

CAEN RFID API Reference Manual

121

CAENRFIDReadPointStatus Enumeration
The CAENRFIDReadPointStatus gives a list of the possible ReadPoint status values. Syntax: C# representation: public enum JAVA representation: public final class C representation: typedef enum CAENRFIDReadPointStatus; CAENRFIDReadPointStatus CAENRFIDReadPointStatus

Remarks: In order to align the three libraries, the members name in C language have changed, now reporting the STATUS_ suffix, but the value of the members is the same of the previous library version. In the following table, the CAENRFIDReadPointStatus Enumeration members are listed: Member STATUS_BAD STATUS_GOOD STATUS_POOR Description Bad antenna connection. Good antenna connection. Poor antenna connection.

CAENRFIDRFRegulations Enumeration
The CAENRFIDRFRegulations gives a list of country radiofrequency regulations. Syntax: C# representation: public enum JAVA representation: public final class C representation: typedef enum CAENRFIDRFRegulations; CAENRFIDRFRegulations CAENRFIDRFRegulations

Remarks: In order to align the three libraries, the regulations, previously declared as #define, are now members of an enumeration, but the value of the members is the same of the previous library version. In the following table, the CAENRFIDRFRegulations Enumeration members are listed: Member ETSI_302208 ETSI_300220 FCC_US MALAYSIA JAPAN KOREA AUSTRALIA CHINA TAIWAN SINGAPORE BRAZIL Description ETSI_302208 radiofrequency regulation. ETSI_300220 radiofrequency regulation. FCC_US radiofrequency regulation. MALAYSIA radiofrequency regulation. JAPAN radiofrequency regulation. KOREA radiofrequency regulation. AUSTRALIA radiofrequency regulation. CHINA radiofrequency regulation. TAIWAN radiofrequency regulation. SINGAPORE radiofrequency regulation. BRAZIL radiofrequency regulation.

122

CAEN RFID API Reference Manual

CAEN RFID API Reference Manual

123

CAENRFIDRS232Constants Enumeration
The CAENRFIDRS232Constants gives a list of settings for the serial port configuration. Syntax: C# representation: public enum JAVA representation: public final class C representation: typedef enum typedef enum CAENRFID_RS232_Parity; CAENRFID_RS232_FlowControl; CAENRFIDRS232Constants CAENRFIDRS232Constants

In the following table, the CAENRFIDRS232Constants Enumeration members are listed: Member CAENRS232_Parity_None CAENRS232_Parity_Odd CAENRS232_Parity_Even CAENRFID_RS232_FlowControl_XonXoff CAENRFID_RS232_FlowControl_Hardware CAENRFID_RS232_FlowControl_None Description No parity bit is sent at all. Odd parity. Even parity. Software flow control. Hardware flow control. No flow control.

CAENRFIDSelUnselOptions Enumeration
The CAENRFIDSelUnselOptions gives a list of operations supported by the Group Select/Unselect command (valid only for the ISO18000-6B air protocol). Syntax: C# representation: public enum JAVA representation: public final class C representation: typedef enum CAENRFID_SelUnsel_Op; CAENRFIDSelUnselOptions CAENRFIDSelUnselOptions

In the following table, the CAENRFIDSelUnselOptions Enumeration members are listed: Member SEL_EQUAL SEL_NOT_EQUAL SEL_GREATER_THAN SEL_LOWER_THAN UNS_EQUAL UNS_NOT_EQUAL UNS_GREATER_THAN UNS_LOWER_THAN Description select equal to. select not equal to. select greater than. select lower than. unselect equal to. unselect not equal to. unselect greater than. unselect lower than.

124

CAEN RFID API Reference Manual

6 CAENRFID Obsolete Methods

This chapter gives a list of CAENRFID obsolete methods, functions, members and data types. It contains these topics: C# Obsolete Methods C# Obsolete Members JAVA Obsolete Methods C Obsolete Functions C Obsolete Data Types

CAEN RFID API Reference Manual

125

Below it is available a list of obsolete methods, functions, members and data types for the three different program languages. It is recommended not to use these methods since they will not be available in new reader's firmware release. Some of these obsolete methods have been replaced by new ones as specified in the table below.

C# Obsolete Methods
Method Channel Class AddSource AddTrigger GetChannelStatus GetChannelType GetName IsSourcePresent IsTriggerPresent RemoveSource RemoveTrigger LogicalSource Class AddTrigger GetLostThreshold GetObservedThreshold Inventory KillTag LockTag NXP_Calibrate ProgramID RemoveTrigger SetLostThreshold SetObservedThreshold Reader Class ConnectRS232 CreateChannel CreateTrigger FWUpgradeTFTP GetAllocatedChannels GetAllocatedTriggers GetChannelData GetDESB GetEventMode RemoveChannel RemoveTrigger SetDESB SetEventMode SetReaderOPtions Receiver Class KillServer Trigger Class GetIOLineValue GetName GetTimerValue IsLinkedToChannel IsLinkedToSource
Tab. 6.1: C# Obsolete Methods

Description This method is now obsolete. This method is now obsolete. This method is now obsolete. This method is now obsolete. This method is now obsolete. This method is now obsolete. This method is now obsolete. This method is now obsolete. This method is now obsolete. This method is now obsolete. This method is now obsolete. This method is now obsolete. This method is now obsolete. This method is now obsolete. This method is now obsolete. This method is now obsolete. This method is now obsolete. This method is now obsolete. This method is now obsolete. This method is now obsolete. This method is now obsolete. This method is now obsolete. This method is now obsolete. This method is now obsolete. This method is now obsolete. This method is now obsolete. This method is now obsolete. This method is now obsolete. This method is now obsolete. This method is now obsolete. This method is now obsolete. This method is now obsolete. This method is now obsolete. This method is now obsolete. This method is now obsolete. This method is now obsolete. This method is now obsolete. This method is now obsolete. This method is now obsolete. This method is now obsolete.

126

CAEN RFID API Reference Manual

C# Obsolete Members
Member BitRate Enumeration TX10RX40 TX40RX40 TX40RX160 EventMode Enumeration READCYCLE_MODE TIME_MODE NOEVENT_MODE TagEventType Enumeration TAG_GLIMPSED TAG_LOST TAG_OBSERVED TAG_UNKNOWN
Tab. 6.2: C# Obsolete Members

Description This member is now obsolete. This member is now obsolete. This member is now obsolete. This member is now obsolete. This member is now obsolete. This member is now obsolete. This member is now obsolete. This member is now obsolete. This member is now obsolete. This member is now obsolete.

JAVA Obsolete Methods


Method BitRate Class TX10RX40 TX40RX40 TX40RX160 Channel Class AddSource AddTrigger GetChannelStatus GetChannelType GetName IsSourcePresent IsTriggerPresent RemoveSource RemoveTrigger Event Class Data EventMode Class READCYCLE_MODE TIME_MODE NOEVENT_MODE LogicalSource Class AddTrigger GetLostThreshold GetObservedThreshold Hitachi_GetSystemInfo Inventory NXP_Calibrate NXP_ChangeEAS (only non secure version) NXP_EAS_Alarm (only secure version) NXP_ResetReadProtect (only secure version) RemoveTrigger SetLostThreshold SetObservedThreshold Notify Class getAntenna Description This method is now obsolete. This method is now obsolete. This method is now obsolete. This method is now obsolete. This method is now obsolete. This method is now obsolete. This method is now obsolete. This method is now obsolete. This method is now obsolete. This method is now obsolete. This method is now obsolete. This method is now obsolete. This method is now obsolete. Use getData instead. This method is now obsolete. This method is now obsolete. This method is now obsolete. This method is now obsolete. This method is now obsolete. This method is now obsolete. This method is now obsolete. Use Hitachi_GetSystemInformation instead. This method is now obsolete. This method is now obsolete. This method is now obsolete. This method is now obsolete. This method is now obsolete. This method is now obsolete. This method is now obsolete. This method is now obsolete. This method is now obsolete. Use getReadPoint instead.

CAEN RFID API Reference Manual

127

Method Reader Class CreateChannel CreateTrigger FWUpgradeTFTP GetAllocatedChannels GetAllocatedTriggers GetChannelData GetEventMode RemoveChannel RemoveTrigger SetEventMode SetReaderOPtions Receiver Class KillServer TagEventType Class TAG_GLIMPSED TAG_LOST TAG_OBSERVED TAG_UNKNOWN Trigger Class GetIOLineValue GetName GetTimerValue IsLinkedToChannel IsLinkedToSource HitachiSysInfo GetBankLock GetBlockReadLock GetBlockReadWriteLock GetBlockWriteLock GetInfoFlag getReserved getSetAttenuateLevel getTID getUII getUser
Tab. 6.3: JAVA Obsolete Methods

Description This method is now obsolete. This method is now obsolete. This method is now obsolete. This method is now obsolete. This method is now obsolete. This method is now obsolete. This method is now obsolete. This method is now obsolete. This method is now obsolete. This method is now obsolete. This method is now obsolete. This method is now obsolete. This method is now obsolete. This method is now obsolete. This method is now obsolete. This method is now obsolete. This method is now obsolete. This method is now obsolete. This method is now obsolete. This method is now obsolete. This method is now obsolete. This method is now obsolete. This method is now obsolete. This method is now obsolete. This method is now obsolete. This method is now obsolete. This method is now obsolete. This method is now obsolete. This method is now obsolete. This method is now obsolete. This method is now obsolete.

128

CAEN RFID API Reference Manual

C Obsolete Functions
Function AddNotifyTrigger AddReadTrigger AddSourceToChannel AllocateChannel AllocateTrigger CustomCmd_C1G2 DeallocateChannel DeallocateTrigger ExtendedInventoryTag FirmwareUpgrade FreeNotifyMemory GetAllocatedChannels GetAllocatedTriggers GetChannelData GetChannelInTrigger GetChannelStatus GetDE_SB GetEventMode GetFWRelease GetModulation GetNotification GetQ_C1G2 GetQ_EPC_C1G2 GetReadPointInSource GetSourceConfiguration GetSourceInChannel GetSourceInTrigger GetSWRelease GetTriggerInChannel Inventory KillTag KillTag_C1G2 Lock Lock_C1G2 NXP_Calibrate NXP_ChangeEAS NXP_SecureCalibrate NXP_SecureEAS_Alarm NXP_SecureResetReadProtect ProgramID ProgramID_C1G2 QueryAck_C1G2 QueryTag_C1G2 Read Description This function is now obsolete. This function is now obsolete. This function is now obsolete. This function is now obsolete. This function is now obsolete. This function is now obsolete. Use CustomCommand_EPC_C1G2 instead. This function is now obsolete. This function is now obsolete. This function is now obsolete. This function is now obsolete. This function is now obsolete. This function is now obsolete. This function is now obsolete. This function is now obsolete. This function is now obsolete. This function is now obsolete. This function is now obsolete. Use GetDESB_ISO180006B instead. This function is now obsolete. This function is now obsolete. Use GetFirmwareRelease instead. This function is now obsolete. This function is now obsolete. This function is now obsolete. Use GetQValue_EPC_C1G2 instead. This function is now obsolete. Use GetQValue_EPC_C1G2 instead. This function is now obsolete. Use isReadPointPresent instead. This function is now obsolete. This function is now obsolete. This function is now obsolete. This function is now obsolete. This function is now obsolete. This function is now obsolete. This function is now obsolete. Use KillTag_EPC_C1G1 instead. This function is now obsolete. Use KillTag_EPC_C1G2 instead. This function is now obsolete. Use LockTag_ISO180006B instead. This function is now obsolete. Use LockTag_EPC_C1G2 instead. This function is now obsolete. This function is now obsolete. This function is now obsolete. This function is now obsolete. This function is now obsolete. This function is now obsolete. Use ProgramID_EPC_C1G1 instead. This function is now obsolete. Use ProgramID_EPC_C1G2 instead. This function is now obsolete. Use QueryAck_EPC_C1G2 instead. This function is now obsolete. Use Query_EPC_C1G2 instead. This function is now obsolete. Use ReadTagData

CAEN RFID API Reference Manual

129

Function Read_C1G2 RemoveNotifyTrigger RemoveReadTrigger RemoveSourceFromChannel SecureCustomCmd_C1G2 SecureLock_C1G2 SecureProgramID_C1G2 SecureRead_C1G2 SecureWrite_C1G2 SetBitrate SetDE_SB SetEventMode SetModulation SetQ_C1G2 SetQ_EPC_C1G2 SetSourceConfiguration Write Write_C1G2
Tab. 6.4: C Obsolete Functions

Description instead. This function is now obsolete. Use ReadTagData_EPC_C1G2 instead. This function is now obsolete. This function is now obsolete. This function is now obsolete. This function is now obsolete. Use SecureCustomCommand_EPC_C1G2 instead. This function is now obsolete. Use SecureLockTag_EPC_C1G2 instead. This function is now obsolete. Use SecureProgramID_EPC_C1G2 instead. This function is now obsolete. Use SecureReadTagData_EPC_C1G2 instead. This function is now obsolete. Use SecureWriteTagData_EPC_C1G2 instead. This function is now obsolete. Use CAENRFID_SetBitRate instead. This function is now obsolete. Use SetDESB_ISO180006B instead. This function is now obsolete. This function is now obsolete. This function is now obsolete. Use SetQValue_EPC_C1G2 instead. This function is now obsolete. Use SetQValue_EPC_C1G2 instead. This function is now obsolete. This function is now obsolete. Use WriteTagData instead. This function is now obsolete. Use WriteTagData_EPC_C1G2 instead.

C Obsolete Data Types


Data Type ETSI302208 ETSI300220 FCCUS MALAYSIA JAPAN KOREA AUSTRALIA CHINA TAIWAN SINGAPORE CAENRFID_SOURCE_Parameter CONFIG_READCYCLE CONFIG_OBSERVEDTHRESHOLD CONFIG_LOSTTHRESHOLD CONFIG_G2_Q_VALUE CONFIG_G2_SESSION CONFIG_G2_TARGET CONFIG_G2_SELECTED CONFIG_ISO18006B_DESB Description

This data type is now obsolete. Use enum CAENRFIDRFRegulations instead.

This data type is now obsolete. Use Get/SetReadCycle Method instead. This data type is now obsolete. This data type is now obsolete. This data type is now obsolete. Use Get/SetQ_EPC_C1G2 Method instead. This data type is now obsolete. Use Get/SetSession_EPC_C1G2 Method instead. This data type is now obsolete. Use Get/SetTarget_EPC_C1G2 Method instead. This data type is now obsolete. Get/SetSelected_EPC_C1G2 Method instead. This data type is now obsolete.

Use

130

CAEN RFID API Reference Manual

Data Type CAENRFID_EventMode READCYCLE_MODE TIME_MODE NOEVENT_MODE CAENRFID_FWUpgradeType RFID_TFTP CAENRFID_ExtendedInventoryParams


Tab. 6.5: C Obsolete Data Types

Description Use Get/SetDESB_ISO180006B Method instead. This data type is now obsolete. This data type is now obsolete. This data type is now obsolete. This data type is now obsolete. This data type is now obsolete.

CAEN RFID API Reference Manual

131

You might also like