all | frequencies |
|
|
|
exhibits | applications |
---|---|---|---|---|---|---|
manuals |
app s | submitted / available | |||||||
---|---|---|---|---|---|---|---|---|
1 2 |
|
User Manual 1 | Users Manual | 1.32 MiB | September 06 2017 | |||
1 2 |
|
User Manual 2 | Users Manual | 852.36 KiB | September 06 2017 | |||
1 2 |
|
User Manual 3 | Users Manual | 1.18 MiB | September 06 2017 | |||
1 2 | Cover Letter(s) | September 06 2017 | ||||||
1 2 | Cover Letter(s) | September 06 2017 | ||||||
1 2 | External Photos | September 06 2017 | ||||||
1 2 | Internal Photos | September 06 2017 | ||||||
1 2 | ID Label/Location Info | September 06 2017 | ||||||
1 2 | ID Label/Location Info | September 06 2017 | ||||||
1 2 | Test Report | September 06 2017 | ||||||
1 2 | Test Setup Photos | September 06 2017 | ||||||
1 2 | RF Exposure Info | September 06 2017 |
1 2 | User Manual 1 | Users Manual | 1.32 MiB | September 06 2017 |
CAEN RFID API Reference Manual Reference Manual Revision n. 09 03/07/2014 Visit SDK- Software Development Kit Web Page and you will find the latest revision of manuals and software. All you need to start using your SDK software in a few clicks!
Scope of Manual This manual documents the API used by C, Java, Android and .Net programmers who want to write applications for controlling and using CAEN RFID readers. Change Document Record Date Revision Changes 29 Jun 2010 14 Jan 2011 22 Mar 2011 06 Sep 2011 08 Aug 2012 01 02 03 04 05 29 Nov 2012 06 Initial release Corrected GetTimeStamp Methods return value Added Federal Communications Commission (FCC) Notice Added R1260U Reader the declaration of Communications Commission (FCC) note in Federal Added XPC field information Added R4300P reader in the Federal Communications Commission
(FCC) Notice (Preliminary) Added bit 5 (event trigger), bit 7 (match tag) and bit 8 (PC) in the tables Flag value meaning Changed bit 1 and bit 2 description in the table Flag value meaning of the InventoryTag Method and EventInventoryTag Method Added the following members in the CAENRFIDBitRate Enumeration:
DSB_ASK_M4_TX40RX256, PR_ASK_FM0_TX40RX640, PR_ASK_M4_TX40RX256, PR_ASK_M4_TX40RX320, PR_ASK_M4_TX80RX320 Added NXP_ChangeConfig Method in the LogicalSource Class Added SL900A_EndLog Method, SL900A_GetLogState Method, SL900A_Initialize Method, SL900A_GetSensorValue Method, SL900A_SetLogMode Method, SL900A_StartLog Method in the LogicalSource Class Added methods representation in Android language Removed the following methods: Hitachi_BlockLock, Hitachi_BlockReadLock, Hitachi_GetSystemInformation, Hitachi_ReadLock, Hitachi_SetAttenuate, Hitachi_WriteMultipleWords . See CAENRFID Obsolete Methods chapter Removed the following methods: Fujitsu_BurstErase, Fujitsu_BurstWrite, Fujitsu_ChgBlockGroupPassword, Fujitsu_ChgBlockLock, Fujitsu_ChgWordLock, Fujitsu_ReadBlockLock, Fujitsu_Refresh. See CAENRFID Obsolete Methods chapter Added CAENRFIDLogicalSource.InventoryFlag Enumeration Added overloaded Connect Method. Added IDSTagData Class Added PC field information Pages
-
94 3 3 13, 14, 32, 35, 72, 75, 72, 92, 95, 99 3 32, 35, 99 32, 35, 99 104 11, 47 11, 6166 16119 113119 113119 15, 106 76 11, 14, 1718 11, 32, 35, 72, 93, 99 19 Apr 2013 07 11 Sep 2013 08 Added PC field in C representation of CAENRFIDTag Class Added A528B Reader in the declaration of Federal Communications Commission (FCC) note Added CAENRFIDRFRegulations Enumeration Added CAENRFIDTag.MemBanks Enumeration Added information about SDK Web Page 92 3 15, 109 15, 112 2 03 Jul 2014 09 Added R1270 Quark Up and R1170I qIDmini Reader declaration of Federal Communications Commission (FCC) note in the 3 CAEN RFID srl Via Vetraia, 11 55049 Viareggio (LU) - ITALY Tel. +39.0584.388.398 Fax +39.0584.388.959 info@caenrfid.com www.caenrfid.com 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.com. Federal Communications Commission (FCC) Notice 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. 1 This declaration only applies to FCC readers A828US, A829US, A528, R1230CB, R1260I, R1260U, R4300P, A528B, R1240I, R1270, R1170I (Mod. WR1170IUAPLP and WR1170IUHIDP) Index 3 2 Scope of Manual ...........................................................................................................................................................................2 Change Document Record ............................................................................................................................................................2 Index ........................................................................................................................................................................................... 4 List of Tables .................................................................................................................................................................................. 6 Introduction ........................................................................................................................................................................ 7 1 Overview on SDK ..........................................................................................................................................................................8 Functions and methods names.....................................................................................................................................................8 Error Handling ..............................................................................................................................................................................8 Managing connections with the readers ......................................................................................................................................8 Return data mechanism ...............................................................................................................................................................9 Passing parameters to methods and functions ............................................................................................................................9 CAEN RFID API Structure ................................................................................................................................................... 10 CAENRFID Classes .......................................................................................................................................................................11 CAENRFID Enumerations ............................................................................................................................................................15 Classes Description ............................................................................................................................................................ 16 CAENRFIDException Class ...........................................................................................................................................................17 getError Method ..................................................................................................................................................................17 IDSTagData Class ........................................................................................................................................................................17 getADError Method .............................................................................................................................................................17 getRangeLimit Method ........................................................................................................................................................18 getSensorValue Method ......................................................................................................................................................18 CAENRFIDLogicalSource Class.....................................................................................................................................................19 AddReadPoint Method.........................................................................................................................................................19 BlockWriteTagData Method .................................................................................................................................................20 CustomCommand_EPC_C1G2 Method ................................................................................................................................22 EventInventoryTag Method .................................................................................................................................................23 GetBufferedData Method ....................................................................................................................................................24 GetDESB_ISO180006B Method ............................................................................................................................................24 GetName Method ................................................................................................................................................................25 GetQ_EPC_C1G2 Method ....................................................................................................................................................25 GetReadCycle Method .........................................................................................................................................................26 GetSelected_EPC_C1G2 Method .........................................................................................................................................26 GetSession_EPC_C1G2 Method ...........................................................................................................................................27 GetTarget_EPC_C1G2 Method .............................................................................................................................................27 GroupSelUnsel Method ........................................................................................................................................................28 InventoryTag Method ..........................................................................................................................................................29 isReadPointPresent Method ................................................................................................................................................36 KillTag_EPC_C1G1 Method ..................................................................................................................................................36 KillTag_EPC_C1G2 Method ..................................................................................................................................................37 LockBlockPermaLock_EPC_C1G2 Method ...........................................................................................................................39 LockTag_EPC_C1G2 Method ................................................................................................................................................40 LockTag_ISO180006B Method .............................................................................................................................................43 NXP_ChangeEAS Method .....................................................................................................................................................43 NXP_ChangeConfig Method .................................................................................................................................................44 NXP_EAS_Alarm Method .....................................................................................................................................................45 NXP_ReadProtect Method ...................................................................................................................................................45 NXP_ResetReadProtect Method ..........................................................................................................................................46 NXP_ChangeConfig Method .................................................................................................................................................47 ProgramID_EPC_C1G1 Method ............................................................................................................................................48 ProgramID_EPC_C1G2 Method ............................................................................................................................................48 ProgramID_EPC119 Method ................................................................................................................................................49 Query_EPC_C1G2 Method ...................................................................................................................................................50 QueryAck_EPC_C1G2 Method .............................................................................................................................................50 ReadBLockPermalock_EPC_C1G2 Method ...........................................................................................................................51 ReadTagData Method ..........................................................................................................................................................52 ReadTagData_EPC_C1G2 Method ........................................................................................................................................53 RemoveReadPoint Method ..................................................................................................................................................57 ResetSession_EPC_C1G2 Method ........................................................................................................................................57 SetDESB_ISO180006B Method.............................................................................................................................................58 SetQ_EPC_C1G2 Method .....................................................................................................................................................58 SetReadCycle Method ..........................................................................................................................................................59 SetSelected_EPC_C1G2 Method ..........................................................................................................................................59 SetSession_EPC_C1G2 Method ............................................................................................................................................60 SetTarget_EPC_C1G2 Method .............................................................................................................................................60 SL900A_EndLog Method ......................................................................................................................................................61 SL900A_GetLogState Method ..............................................................................................................................................62 SL900A_GetSensorValue Method ........................................................................................................................................63 SL900A_Initialize Method ....................................................................................................................................................64 SL900A_SetLogMode Method ..............................................................................................................................................65 SL900A_StartLog Method ....................................................................................................................................................66 WriteTagData Method .........................................................................................................................................................67 WriteTagData_EPC_C1G2 Method .......................................................................................................................................68 CAENRFIDNotify Class .................................................................................................................................................................72 getDate Method ...................................................................................................................................................................72 getPC Method ......................................................................................................................................................................72 getReadPoint Method ..........................................................................................................................................................73 getRSSI Method ....................................................................................................................................................................73 getStatus Method ................................................................................................................................................................73 getTagID Method .................................................................................................................................................................74 getTagLength Method ..........................................................................................................................................................74 getTagSource Method ..........................................................................................................................................................74 getTagType Method .............................................................................................................................................................75 getTID Method .....................................................................................................................................................................75 getXPC Method ....................................................................................................................................................................75 CAENRFIDReader Class ...............................................................................................................................................................76 Connect Method ..................................................................................................................................................................76 Init Function .........................................................................................................................................................................77 Disconnect Method ..............................................................................................................................................................77 End .......................................................................................................................................................................................77 GetBitRate Method ..............................................................................................................................................................78 GetFirmwareRelease Method ..............................................................................................................................................78 GetIO Method ......................................................................................................................................................................79 GetIODirection Method .......................................................................................................................................................79 GetLBTMode Method ..........................................................................................................................................................80 GetPower Method ...............................................................................................................................................................80 GetProtocol Method ............................................................................................................................................................81 GetReaderInfo Method ........................................................................................................................................................81 GetReadPoints Method ........................................................................................................................................................82 GetReadPointStatus Method ...............................................................................................................................................82 GetRFChannel Method .........................................................................................................................................................83 GetRFRegulation Method.....................................................................................................................................................83 GetSource Method ...............................................................................................................................................................84 GetSourceNames Method ....................................................................................................................................................84 GetSources Method .............................................................................................................................................................85 InventoryAbort Method .......................................................................................................................................................85 RFControl Method ................................................................................................................................................................85 SetBitRate Method ...............................................................................................................................................................86 SetDateTime Method ...........................................................................................................................................................86 SetIO Method .......................................................................................................................................................................87 SetIODIRECTION Method .....................................................................................................................................................87 SetNetwork Method ............................................................................................................................................................88 SetPower Method ................................................................................................................................................................88 SetProtocol Method .............................................................................................................................................................89 SetRFChannel Method .........................................................................................................................................................89 SetRS232 Method ................................................................................................................................................................90 CAENRFIDReaderInfo Class .........................................................................................................................................................91 GetModel Method ...............................................................................................................................................................91 GetSerialNumber Method ....................................................................................................................................................91 CAENRFIDTag Class .....................................................................................................................................................................92 GetId Method .......................................................................................................................................................................92 GetLength Method ...............................................................................................................................................................92 GetPC Method ......................................................................................................................................................................93 GetReadPoint Method .........................................................................................................................................................93 GetRSSI Method ...................................................................................................................................................................93 GetSource Method ...............................................................................................................................................................94 GetTID Method ....................................................................................................................................................................94 CAEN RFID API Reference Manual 5 GetTimeStamp Method........................................................................................................................................................94 GetType Method ..................................................................................................................................................................95 GetXPC Method....................................................................................................................................................................95 Event Handling .................................................................................................................................................................. 96 Event Handling ...........................................................................................................................................................................97 EventInventoryTag Method .................................................................................................................................................98 InventoryAbort Method .......................................................................................................................................................99 C# Event Handling ....................................................................................................................................................................100 CAENRFIDEventArgs Class ..................................................................................................................................................100 CAENRFIDEventHandler Delegate ......................................................................................................................................100 CAENRFIDEvent Event ........................................................................................................................................................100 Java and Android Event Handling .............................................................................................................................................101 CAENRFIDEvent Class .........................................................................................................................................................101 CAENRFIDEventListener Interface ......................................................................................................................................101 addCAENRFIDEventListener ...............................................................................................................................................101 removeCAENRFIDEventListener .........................................................................................................................................101 C Event Handling ......................................................................................................................................................................102 CAENRFID_INVENTORY_CALLBACK ....................................................................................................................................102 Enumerations Description ............................................................................................................................................... 103 CAENRFIDBitRate Enumeration ................................................................................................................................................104 CAENRFIDLogicalSourceConstants Enumeration ......................................................................................................................105 CAENRFIDLogicalSource.InventoryFlag Enumeration ...............................................................................................................106 CAENRFIDPort Enumeration .....................................................................................................................................................107 CAENRFIDProtocol Enumeration ..............................................................................................................................................107 CAENRFIDReadPointStatus Enumeration .................................................................................................................................108 CAENRFIDRFRegulations Enumeration .....................................................................................................................................109 CAENRFIDRS232Constants Enumeration ..................................................................................................................................110 CAENRFIDSelUnselOptions Enumeration .................................................................................................................................111 CAENRFIDTag.MemBanks Enumeration ...................................................................................................................................112 CAENRFID Obsolete Methods .......................................................................................................................................... 113 C# Obsolete Methods ...............................................................................................................................................................114 C# Obsolete Members ..............................................................................................................................................................115 Java and Android Obsolete Methods .......................................................................................................................................115 C Obsolete Functions ................................................................................................................................................................117 C Obsolete Data Types ..............................................................................................................................................................119 4 5 6 List of Tables Tab. 2.1: CAENRFID classes ....................................................................................................................................................................11 Tab. 2.2: CAENRFID methods .................................................................................................................................................................14 Tab. 2.3: CAENRFID Enumerations ........................................................................................................................................................15 Tab. 6.1: C# Obsolete Methods ...........................................................................................................................................................115 Tab. 6.2: C# Obsolete Members ..........................................................................................................................................................115 Tab. 6.3: Java and Android Obsolete Methods ....................................................................................................................................116 Tab. 6.4: C Obsolete Functions ............................................................................................................................................................118 Tab. 6.5: C Obsolete Data Types ..........................................................................................................................................................119 6 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 7 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.113). 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 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 8 CAEN RFID API Reference Manual needed in order to maintain the communication active. The function returns a "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 9 2 CAEN RFID API Structure This chapter describes CAEN RFID API Structure. It contains these topics:
CAENRFID Classes CAENRFID Enumerations 10 CAEN RFID API Reference Manual CAENRFID Classes In .NET (henceforth C#), Java and Android languages, CAENRFID methods are divided into the following classes:
Class CAENRFIDEventArgs2 CAENRFIDException IDSTagData CAENRFIDLogicalSource CAENRFIDNotify CAENRFIDReader CAENRFIDReaderInfo CAENRFIDTag Tab. 2.1: CAENRFID classes Each class contains the following methods:
Methods CAENRFIDEventArgs Class getData CAENRFIDException Class getError CAENRFID IDSTagData Class getADError getRangeLimit getSensorValue CAENRFIDLogicalSource Class AddReadPoint BlockWriteTagData CustomCommand_EPC_C1G2 EventInventoryTag GetBufferedData GetDESB_ISO180006B GetName GetQ_EPC_C1G2 Description This class defines the CAENRFID event arguments. This class defines the CAEN RFID exceptions. This class represents data returned by tags based on IDS Chip SL900A. 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. Description Returns the event object value. Gets the error string associated to the exception. Gets the error status of the A/D. Gets the range limit parameter. Gets the value obtained by the sensor. Adds a read point to the logical source. Overloaded. This method can be used to write a portion of the user memory in an 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. 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 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.
(see 2 For the description of this class, see Event Handling pag.107 CAEN RFID API Reference Manual 11 Methods Description GetReadCycle GetSelected_EPC_C1G2 GetSession_EPC_C1G2 GetTarget_EPC_C1G2 GroupSelUnsel InventoryTag isReadPointPresent KillTag_EPC_C1G1 KillTag_EPC_C1G2 LockBlockPermaLock_EPC_C1G2 LockTag_EPC_C1G2 LockTag_ISO180006B NXP_ChangeEAS NXP_ChangeConfig 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 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. 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 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. Overloaded. This method can be used to issue a NXP_ChangeConfig custom command as defined in the NXP UCODE G2iM and G2iM+
datasheet. 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 12 CAEN RFID API Reference Manual Methods SetReadCycle SetSelected_EPC_C1G2 SetSession_EPC_C1G2 SetTarget_EPC_C1G2 SL900A_EndLog SL900A_GetLogState SL900A_GetSensorValue SL900A_Initialize SL900A_SetLogMode SL900A_StartLog WriteTagData WriteTagData_EPC_C1G2 CAENRFIDNotify Class getDate getPC getReadPoint getRSSI getStatus getTagID getTagLength getTagSource getTagType getTID getXPC CAENRFIDReader Class Connect Disconnect GetBitRate GetFirmwareRelease GetIO GetIODirection GetLBTMode GetPower GetProtocol GetReaderInfo GetReadPoints GetReadPointStatus Description 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 issue an IDS SL900A EndLog custom command as defined in the IDS SL900A datasheet. This method can be used to issue an IDS SL900A GetLogState custom command as defined in the IDS SL900A datasheet. This method can be used to issue an IDS SL900A GetSensorValue custom command as defined in the IDS SL900A datasheet. This method can be used to issue an IDS SL900A Initialize custom command as defined in the IDS SL900A datasheet. This method can be used to issue an IDS SL900A SetLogMode custom command as defined in the IDS SL900A datasheet. This method can be used to issue an IDS_SL900A StartLog custom command as defined in the IDS SL900A datasheet. 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 event was generated. Returns the tag's PC code 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. Overloaded. 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). CAEN RFID API Reference Manual 13 Methods Description GetRFChannel GetRFRegulation GetSource GetSourceNames GetSources InventoryAbort RFControl Method SetBitRate SetDateTime SetIO SetIODIRECTION SetNetwork SetPower SetProtocol SetRFChannel SetRS232 CAENRFIDReaderInfo Class GetModel GetSerialNumber CAENRFIDTag Class GetId GetLength GetPC GetReadPoint GetRSSI GetSource GetTID GetTimeStamp GetType GetXPC Tab. 2.2: CAENRFID methods 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. 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 feature is disabled. 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 tag's PC code 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 CAENRFIDLogicalSource.InventoryFlag Port Protocol ReadPointStatus CAENRFIDRFRegulations RS232Constants SelUnselOptions CAENRFIDTag.MemBanks Tab. 2.3: CAENRFID Enumerations 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 constants used for the configuration of the inventory function. 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. The CAENRFIDRFRegulations 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). The CAENRFIDTag.MemBanks enumerates the bank name of a generic ISO18000-6C tag. 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 IDSTagData 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 getError() Java and Android representation:
public java.lang.String getError() Remarks:
This function does not exist in C language, see Error Handling pag. 8 for more information. IDSTagData Class This class represents data returned by tags based on IDS Chip SL900A. In Java, Android and C# lanuguages this class is composed by methods while in C language is represented by a struct
(for more information see Overview on SDK pag.8):
C representation:
typedef struct {
BOOL unsigned int unsigned int
} CAENRFID_IDSTagData;
ADError_i;
RangeLimit_i;
SensorValue_i;
getADError Method Description:
This method returns if an A/D error is raised. Return value:
True if an A/D error occurs, false otherwise. Syntax:
C# representation:
public bool ADError
{
get;
}
Java and Android representation:
public boolean getADError() CAEN RFID API Reference Manual 17 getRangeLimit Method Description:
This method returns the range limit set on sensor. Return value:
A bitmask representing the range limit. Syntax:
C# representation:
public uint RangeLimit {
get;
}
Java and Android representation:
public int getRangeLimit() getSensorValue Method Description:
This method returns the sensor value. Return value:
A bitmask representing the value obtained by the sensor. Syntax:
C# representation:
public uint SensorValue {
get;
}
Java and Android representation:
public int getSensorValue() 18 CAEN RFID API Reference Manual 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 Description A string representing the name of the read point (antenna). Syntax:
C# representation:
public void AddReadPoint(
string ReadPoint) Java and Android representation:
public void AddReadPoint(
java.lang.String ReadPoint) throws CAENRFIDException C representation:
CAENRFIDErrorCodes CAENRFID_AddReadPoint(
CAENRFIDHandle char char handle,
*SourceName,
*ReadPoint);
CAEN RFID API Reference Manual 19 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:
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. public void BlockWriteTagData(
CAENRFIDTag short short byte[]
Tag, Address, Length, Data) Java and Android representation:
public void BlockWriteTagData(
Tag, CAENRFIDTag Address, short Length, short byte[]
Data) throws CAENRFIDException C representation:
CAENRFIDErrorCodes CAENRFID_BlockWriteTagData(
CAENRFIDHandle CAENRFIDTag int int void handle,
*Tag, Address, Length,
*Data);
20 CAEN RFID API Reference Manual 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:
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. public void BlockWriteTagData(
CAENRFIDTag short short short byte[]
Tag, Address, Mask, Length, Data) Java and Android representation:
public void BlockWriteTagData(
Tag, CAENRFIDTag Address, short Mask, short Length, short byte[]
Data) throws CAENRFIDException C representation:
CAENRFIDErrorCodes CAENRFID_FilterBlockWriteTagData(
CAENRFIDHandle CAENRFIDTag int short int void handle,
*ID, Address, Mask, Length,
*Data);
CAEN RFID API Reference Manual 21 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 and Android representation:
public byte[]
CustomCommand_EPC_C1G2(
CAENRFIDTag byte short byte[]
short throws CAENRFIDException Tag, SubCmd, TxLen, Data, RxLen) C representation:
CAENRFIDErrorCodes CAENRFID_CustomCommand_EPC_C1G2(
CAENRFIDHandle CAENRFIDTag unsigned char int void int void handle,
*Tag, SubCmd, TxLen,
*Data, RxLen,
*TRData);
22 CAEN RFID API Reference Manual 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[]
C representation:
CustomCommand_EPC_C1G2(
CAENRFIDTag byte short byte[]
short int throws CAENRFIDException Tag, SubCmd, TxLen, Data, RxLen, AccessPassword) CAENRFIDErrorCodes CAENRFID_SecureCustomCommand_EPC_C1G2(
handle,
*Tag, SubCmd, TxLen,
*Data, RxLen, AccessPassword,
*TRData);
CAENRFIDHandle CAENRFIDTag unsigned char int void int int void EventInventoryTag Method For the description of this method, see Event Handling pag.96. CAEN RFID API Reference Manual 23 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 reader. Return value:
An array of CAENRFIDTag objects detected. Syntax:
C# representation:
public CAENRFIDTag[]
GetBufferedData() Java and Android representation:
public CAENRFIDTag[]
C representation:
CAENRFIDErrorCodes GetBufferedData() throws CAENRFIDException CAENRFID_GetBufferedData(
CAENRFIDHandle char CAENRFIDTag int handle,
*source,
**Receive,
*Size);
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 and Android representation:
public CAENRFIDLogicalSourceConstants GetDESB_ISO180006B() C representation:
CAENRFIDErrorCodes throws CAENRFIDException GetDESB_ISO180006B(
CAENRFIDHandle unsigned short handle,
*Status);
24 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 GetName() Java and Android representation:
public java.lang.String GetName() Remarks:
This function does not exist in C language, see Overview on SDK pag. 8 for more information. 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 GetQ_EPC_C1G2() Java and Android representation:
public int GetQ_EPC_C1G2() throws CAENRFIDException C representation:
CAENRFIDErrorCodes CAENRFID_GetQValue_EPC_C1G2(
CAENRFIDHandle char int handle,
*SourceName,
*Q);
CAEN RFID API Reference Manual 25 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 pag. 23). Return value:
The number of read cycles. Syntax:
C# representation:
public int GetReadCycle() Java and Android representation:
public int GetReadCycle() throws CAENRFIDException C representation:
CAENRFIDErrorCodes CAENRFID_GetReadCycle(
CAENRFIDHandle char int handle,
*SourceName,
*value);
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 GetSelected_EPC_C1G2() Java and Android representation:
public CAENRFIDLogicalSourceConstants GetSelected_EPC_C1G2() throws CAENRFIDException C representation:
CAENRFIDErrorCodes CAENRFID_GetSelected_EPC_C1G2(
CAENRFIDHandle char CAENRFIDLogicalSourceConstants *value);
handle,
*SourceName, 26 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 GetSession_EPC_C1G2() Java and Android representation:
public CAENRFIDLogicalSourceConstants GetSession_EPC_C1G2() throws CAENRFIDException C representation:
CAENRFIDErrorCodes CAENRFID_GetSession_EPC_C1G2(
CAENRFIDHandle char CAENRFIDLogicalSourceConstants *value);
handle,
*SourceName, 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 GetTarget_EPC_C1G2() Java and Android representation:
public CAENRFIDLogicalSourceConstants GetTarget_EPC_C1G2() throws CAENRFIDException C representation:
CAENRFIDErrorCodes CAENRFID_GetTarget_EPC_C1G2(
CAENRFIDHandle char CAENRFIDLogicalSourceConstants *value);
handle,
*SourceName, CAEN RFID API Reference Manual 27 GroupSelUnsel Method Description:
This method can be used to send a Group Select/Unselect command to the tag (see ISO18000-6B protocol specification). Parameters:
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. Name Code Address BitMask Data Return value:
The selected tag. Syntax:
C# representation:
public CAENRFIDTag Java and Android representation:
public CAENRFIDTag C representation:
CAENRFIDErrorCodes GroupSelUnsel(
CAENRFIDSelUnselOptions Code, short short byte[]
Address, BitMask, Data) GroupSelUnsel(
CAENRFIDSelUnselOptions Code, Address, short BitMask, short byte[]
Data) throws CAENRFIDException CAENRFID_GroupSelUnsel(
CAENRFIDHandle char CAENRFID_SelUnsel_Op Code, int int void CAENRFIDTag Address, BitMask,
*Data,
*Tag);
handle,
*SourceName, 28 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[]
InventoryTag() Java and Android representation:
public CAENRFIDTag[]
C representation:
CAENRFIDErrorCodes InventoryTag() throws CAENRFIDException CAENRFID_InventoryTag (
CAENRFIDHandle char CAENRFIDTag int handle,
*SourceName,
**Receive,
*Size);
CAEN RFID API Reference Manual 29 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 and Android representation:
public CAENRFIDTag[]
InventoryTag(
byte[]
short short throws CAENRFIDException Mask, MaskLength, Position) C representation:
CAENRFIDErrorCodes CAENRFID_FilteredInventoryTag(
CAENRFIDHandle char char unsigned char unsigned char CAENRFIDTag int handle,
*SourceName,
*Mask, MaskLength, Position,
**Receive,
*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 match the given Mask. Passing a zero value for MaskLength it performs as the non-filtering InventoryTag method. 30 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[]
Java and Android representation:
public CAENRFIDTag[]
InventoryTag(
byte[]
short short short Mask, MaskLength, Position, Flag) InventoryTag(
Mask, byte[]
MaskLength, short Position, short 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 31 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 match 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 Bit 0 Bit 1 Bit 2 Bit 3 Bit 4 Bit 5 Bit 6 Bit 7 Bit 8 RSSI: a 1 value indicates that the reader will transmit the RSSI (Return Signal Strength 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 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 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 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 reader together with the other information. Event trigger: when this flag is set together with the continuous acquisition flag, the inventory cycle is performed in the same way of the continuous mode with the only difference that the inventory command is sent only by pressing the left key of the A828BT reader. 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 Match tag: a 1 value enables the matching of readed tags with a tag present in the memory (A828BT reader only). PC: a 1 value allows the reader to return the PC of a Gen2 tag in addition to the ID (A828BT reader only). 32 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 and Android representation:
public CAENRFIDTag[]
InventoryTag(
short byte[]
short short throws CAENRFIDException bank, Mask, MaskLength, Position) C representation:
CAENRFIDErrorCodes CAENRFID_BankFilteredInventoryTag (
CAENRFIDHandle char short short short char CAENRFIDTag int handle,
*SourceName, bank, Position, MaskLength,
*Mask,
**Receive,
*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 match the given Mask. Passing a zero value for MaskLength it performs as the non-filtering InventoryTag method. CAEN RFID API Reference Manual 33 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 and Android representation:
public CAENRFIDTag[]
InventoryTag(
bank, short Mask, byte[]
MaskLength, short Position, short short Flag) throws CAENRFIDException C representation:
CAENRFIDErrorCodes CAENRFID_BankFilteredFlagInventoryTag (
CAENRFIDHandle char short short short char unsigned char CAENRFIDTag int handle,
*SourceName, bank, Position, MaskLength,
*Mask, Flag,
**Receive,
*Size);
34 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 match 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 Bit 0 Bit 1 Bit 2 Bit 3 Bit 4 Bit 5 Bit 6 Bit 7 Bit 8 RSSI: a 1 value indicates that the reader will transmit the RSSI (Return Signal Strength 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 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 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 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 reader together with the other information. Event trigger: when this flag is set together with the continuous acquisition flag, the inventory cycle is performed in the same way of the continuous mode with the only difference that the inventory command is sent only by pressing the left key of the A828BT reader. 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 Match tag: a 1 value enables the matching of readed tags with a tag present in the memory (A828BT reader only). PC: a 1 value allows the reader to return the PC of a Gen2 tag in addition to the ID (A828BT reader only). 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 Description tags array returned by one of the inventory family function. CAENRFID_FreeTagsMemory(
CAENRFIDTag
**Tags);
CAEN RFID API Reference Manual 35 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 isReadPointPresent(
string ReadPoint) Java and Android representation:
public boolean isReadPointPresent(
java.lang.String ReadPoint) throws CAENRFIDException 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:
Description The CAENRFIDTag representing the tag to be killed. The tag's kill password. public void KillTag_EPC_C1G1(
CAENRFIDTag short Tag, Password) Java and Android representation:
public void KillTag_EPC_C1G1(
CAENRFIDTag short throws CAENRFIDException Tag, Password) C representation:
CAENRFIDErrorCodes CAENRFID_KillTag_EPC_C1G1(
CAENRFIDHandle CAENRFIDTag char handle,
*Tag, Password);
36 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:
Description The CAENRFIDTag representing the tag to be killed. The tag's kill password. public void KillTag_EPC_C1G2(
CAENRFIDTag int Tag, Password) Java and Android representation:
public void KillTag_EPC_C1G2(
CAENRFIDTag int throws CAENRFIDException Tag, Password) C representation:
CAENRFIDErrorCodes CAENRFID_KillTag_EPC_C1G2(
CAENRFIDHandle CAENRFIDTag int handle,
*Tag, Password);
CAEN RFID API Reference Manual 37 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 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. Syntax:
C# representation:
public void KillTag_EPC_C1G2(
short short short byte[]
int BankMask, PositionMask, LengthMask, Mask, Password) Java and Android representation:
public void KillTag_EPC_C1G2(
short short short byte[]
int throws CAENRFIDException BankMask, PositionMask, LengthMask, Mask, Password) C representation:
CAENRFIDErrorCodes CAENRFID_BankFilteredKillTag_EPC_C1G2(
CAENRFIDHandle char short short short char int handle,
*SourceName, BankMask, PositionMask, LengthMask,
*Mask, Password);
38 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:
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. public void LockBlockPermaLock_EPC_C1G2(
CAENRFIDTag short short short byte[]
int Tag, MemBank, BlockPtr, BlockRange, Mask, AccessPassword) Java and Android representation:
public void LockBlockPermaLock_EPC_C1G2(
CAENRFIDTag short short short byte[]
int throws CAENRFIDException Tag, MemBank, BlockPtr, BlockRange, Mask, AccessPassword) C representation:
CAENRFIDErrorCodes CAENRFID_LockBlockPermaLock_EPC_C1G2(
handle,
*Tag, MemBank, BlockPtr, BlockRange, Mask, AccessPassword);
CAENRFIDHandle CAENRFIDTag short short short byte[]
int CAEN RFID API Reference Manual 39 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:
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. public void LockTag_EPC_C1G2(
CAENRFIDTag int Tag, Payload) Java and Android representation:
public void LockTag_EPC_C1G2(
CAENRFIDTag int throws CAENRFIDException Tag, Payload) 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:
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. public void LockTag_EPC_C1G2(
CAENRFIDTag int int Tag, Payload, AccessPassword) Java and Android representation:
public void LockTag_EPC_C1G2(
CAENRFIDTag int int throws CAENRFIDException Tag, Payload, AccessPassword) C representation:
CAENRFIDErrorCodes CAENRFID_SecureLockTag_EPC_C1G2(
CAENRFIDHandle CAENRFIDTag int int handle,
*Tag, Payload, AccessPassword);
40 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 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. Syntax:
C# representation:
public void LockTag_EPC_C1G2(
short short short byte[]
int BankMask, PositionMask, LengthMask, Mask, Payload) Java and Android representation:
public void LockTag_EPC_C1G2(
short short short byte[]
int throws CAENRFIDException BankMask, PositionMask, LengthMask, Mask, Payload) C representation:
CAENRFIDErrorCodes CAENRFID_BankFilteredLockTag_EPC_C1G2(
CAENRFIDHandle char short short short char int handle,
*SourceName, BankMask, PositionMask, LengthMask,
*Mask, Payload);
CAEN RFID API Reference Manual 41 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 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. Syntax:
C# representation:
public void LockTag_EPC_C1G2(
short short short byte[]
int int BankMask, PositionMask, LengthMask, Mask, Payload, AccessPassword) Java and Android representation:
public void LockTag_EPC_C1G2(
short short short byte[]
int int throws CAENRFIDException BankMask, PositionMask, LengthMask, Mask, Payload, AccessPassword) C representation:
CAENRFIDErrorCodes CAENRFID_SecureBankFilteredLockTag_EPC_C1G2(
CAENRFIDHandle char short short short char int int handle,
*SourceName, BankMask, PositionMask, LengthMask,
*Mask, Payload, AccessPassword);
42 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:
Description The CAENRFIDTag representing the tag to be locked. The byte's address to lock. public void LockTag_ISO180006B(
CAENRFIDTag short Tag, Address) Java and Android representation:
public void LockTag_ISO180006B(
CAENRFIDTag short throws CAENRFIDException Tag, Address) 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:
Description The CAENRFIDTag object representing the tag to select. A boolean representing the EAS state to set. The access password. public void NXP_ChangeEAS(
CAENRFIDTag bool int Tag, EAS, AccessPassword) Java and Android representation:
public void NXP_ChangeEAS(
CAENRFIDTag boolean int throws CAENRFIDException Tag, EAS, AccessPassword) C representation:
CAENRFIDErrorCodes CAENRFID_NXP_SecureChangeEAS(
CAENRFIDHandle CAENRFIDTag char int handle,
*Tag, EAS, AccessPassword);
CAEN RFID API Reference Manual 43 NXP_ChangeConfig Method NXP_ChangeConfig Method (CAENRFIDTag, UInt16) Description:
This method can be used to issue a NXP_ChangeConfig custom command as defined in the NXP UCODE G2iM and G2iM+ datasheet. Parameters:
Name Tag ConfigWord Syntax:
C# representation:
Description The CAENRFIDTag object representing the tag to select. The configuration word. public void NXP_ChangeConfig(
CAENRFIDTag ushort Tag, ConfigWord) Java and Android representation:
public void NXP_ChangeConfig(
CAENRFIDTag short throws CAENRFIDException Tag, ConfigWord) C representation:
CAENRFIDErrorCodes CAENRFID_NXP_ChangeConfig(
CAENRFIDHandle CAENRFIDTag short char handle,
*Tag, ConfigWord,
*TRData);
NXP_ChangeConfig Method (CAENRFIDTag, UInt16, Int32) Description:
This method can be used to issue a NXP_ChangeConfig custom command as defined in the NXP UCODE G2iM and G2iM+ datasheet after having put it in Secured state using the Access Password. Parameters:
Name Tag ConfigWord Password Syntax:
C# representation:
Description The CAENRFIDTag object representing the tag to select. The configuration word. The access password. public void NXP_ChangeConfig(
CAENRFIDTag ushort int Tag, ConfigWord, Password) Java and Android representation:
public void NXP_ChangeConfig(
CAENRFIDTag short int throws CAENRFIDException Tag, ConfigWord, Password) C representation:
CAENRFIDErrorCodes CAENRFID_NXP_SecureChangeConfig(
CAENRFIDHandle CAENRFIDTag short char int handle,
*Tag, ConfigWord,
*TRData, SecurePassword);
44 CAEN RFID API Reference Manual 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[]
NXP_EAS_Alarm() Java and Android representation:
public byte[]
NXP_EAS_Alarm() throws CAENRFIDException C representation:
CAENRFIDErrorCodes CAENRFID_NXP_EAS_Alarm(
CAENRFIDHandle char handle,
*TRData);
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 Description The CAENRFIDTag object representing the tag to select. Syntax:
C# representation:
public void NXP_ReadProtect(
CAENRFIDTag Tag) Java and Android representation:
public void NXP_ReadProtect(
CAENRFIDTag Tag) throws CAENRFIDException C representation:
CAENRFIDErrorCodes CAENRFID_NXP_ReadProtect(
CAENRFIDHandle CAENRFIDTag handle,
*Tag);
CAEN RFID API Reference Manual 45 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 Description The CAENRFIDTag object representing the tag to select. The access password. Syntax:
C# representation:
public void NXP_ReadProtect(
CAENRFIDTag int Tag, AccessPassword) Java and Android representation:
public void NXP_ReadProtect(
CAENRFIDTag int throws CAENRFIDException Tag, AccessPassword) C representation:
CAENRFIDErrorCodes CAENRFID_NXP_SecureReadProtect(
CAENRFIDHandle CAENRFIDTag int handle,
*Tag, 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:
Description The CAENRFIDTag object representing the tag to reset the read protection. The ReadProtect password. public void NXP_ResetReadProtect(
CAENRFIDTag int Tag, Password) Java and Android representation:
public void NXP_ResetReadProtect(
CAENRFIDTag int throws CAENRFIDException Tag, Password) C representation:
CAENRFIDErrorCodes CAENRFID_NXP_ResetReadProtect(
CAENRFIDHandle CAENRFIDTag int handle,
*Tag, Password);
46 CAEN RFID API Reference Manual NXP_ChangeConfig Method NXP_ChangeConfig Method (CAENRFIDTag, UInt16) Description:
This method can be used to issue a NXP_ChangeConfig custom command as defined in the NXP UCODE G2iM and G2iM+ datasheet. Parameters:
Name Tag ConfigWord Syntax:
C# representation:
Description The CAENRFIDTag object representing the tag to select. The Configuration word. public void NXP_ChangeConfig(
CAENRFIDTag ushort ConfigWord) Tag, Java and Android representation:
public void NXP_ChangeConfig(
CAENRFIDTag short throws CAENRFIDException Tag, ConfigWord) C representation:
CAENRFIDErrorCodes CAENRFID_NXP_ChangeConfig(
CAENRFIDHandle CAENRFIDTag short char handle,
*Tag, ConfigWord,
*TRData);
NXP_ChangeConfig Method (CAENRFIDTag, UInt16, Int32) Description:
This method can be used to issue a NXP_ChangeConfig custom command as defined in the NXP UCODE G2iM and G2iM+ datasheet after having put it in Secured state using the Access Password. Parameters:
Name Tag ConfigWord Password Syntax:
C# representation:
Description The CAENRFIDTag object representing the tag to select. The Configuration word. The access password. public void NXP_ChangeConfig(
CAENRFIDTag ushort int Tag, ConfigWord, Password) Java and Android representation:
public void NXP_ChangeConfig(
CAENRFIDTag short int throws CAENRFIDException Tag, ConfigWord, Password) C representation:
CAENRFIDErrorCodes CAENRFID_NXP_SecureChangeConfig(
CAENRFIDHandle CAENRFIDTag short char int handle,
*Tag, ConfigWord,
*TRData) SecurePassword);
CAEN RFID API Reference Manual 47 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:
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). public void ProgramID_EPC_C1G1(
CAENRFIDTag short bool Tag, Password, Lock) Java and Android representation:
public void ProgramID_EPC_C1G1(
Tag, CAENRFIDTag Password, short Lock) boolean 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:
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. public void ProgramID_EPC_C1G2(
CAENRFIDTag short Tag, NSI) Java and Android representation:
public void ProgramID_EPC_C1G2(
Tag, CAENRFIDTag short NSI) throws CAENRFIDException C representation:
CAENRFIDErrorCodes CAENRFID_ProgramID_EPC_C1G2(
CAENRFIDHandle CAENRFIDTag unsigned short handle,
*Tag, NSI);
48 CAEN RFID API Reference Manual 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:
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. public void ProgramID_EPC_C1G2(
CAENRFIDTag short int Tag, NSI, AccessPassword) Java and Android representation:
public void ProgramID_EPC_C1G2(
CAENRFIDTag short int throws CAENRFIDException Tag, NSI, AccessPassword) C representation:
CAENRFIDErrorCodes CAENRFID_SecureProgramID_EPC_C1G2(
CAENRFIDHandle CAENRFIDTag unsigned short int handle,
*Tag, NSI, 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:
Description The CAENRFIDTag representing the tag to be programmed. An array of bytes representing the new UID for the tag. public void ProgramID_EPC119(
CAENRFIDTag byte[]
Tag, NewID) Java and Android 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 49 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 Query_EPC_C1G2() Java and Android representation:
public boolean Query_EPC_C1G2() throws CAENRFIDException C representation:
CAENRFIDErrorCodes CAENRFID_Query_EPC_C1G2(
CAENRFIDHandle char short handle,
*SourceName,
*isPresent);
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[]
QueryAck_EPC_C1G2() Java and Android representation:
public byte[]
QueryAck_EPC_C1G2() throws CAENRFIDException C representation:
CAENRFIDErrorCodes QueryAck_EPC_C1G2(
CAENRFIDHandle char byte handle,
*SourceName,
*Tag);
50 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 and Android representation:
public byte[]
ReadBLockPermalock_EPC_C1G2(
CAENRFIDTag short short short int throws CAENRFIDException Tag, MemBank, Blockptr, BlockRange, AccessPassword) C representation:
CAENRFIDErrorCodes CAENRFID_ReadBLockPermalock_EPC_C1G2(
handle,
*Tag, MemBank, Blockptr, BlockRange, AccessPassword) CAENRFIDHandle CAENRFIDTag short short short int CAEN RFID API Reference Manual 51 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 and Android representation:
public byte[]
ReadTagData(
CAENRFIDTag short short throws CAENRFIDException Tag, Address, Length) C representation:
CAENRFIDErrorCodes CAENRFID_ReadTagData(
CAENRFIDHandle CAENRFIDTag int int void handle,
*Tag, Address, Length,
*Data);
52 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 an 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 and Android representation:
public byte[]
ReadTagData_EPC_C1G2(
CAENRFIDTag short short short throws CAENRFIDException Tag, MemBank, Address, Length) C representation:
CAENRFIDErrorCodes CAENRFID_ReadTagData_EPC_C1G2(
CAENRFIDHandle CAENRFIDTag short int int void handle,
*Tag, MemBank, Address, Length,
*Data);
CAEN RFID API Reference Manual 53 ReadTagData_EPC_C1G2 Method (CAENRFIDTag, Int16, Int16, Int16, Int32) Description:
This method can be used to read a portion of memory in an 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 and Android representation:
public byte[]
ReadTagData_EPC_C1G2(
CAENRFIDTag short short short int throws CAENRFIDException Tag, MemBank, Address, Length, AccessPassword) C representation:
CAENRFIDErrorCodes CAENRFID_SecureReadTagData_EPC_C1G2 (
handle,
*Tag, MemBank, Address, Length, AccessPassword,
*Data);
CAENRFIDHandle CAENRFIDTag short int int int void 54 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 an 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 and Android representation:
public byte[]
ReadTagData_EPC_C1G2(
short short short byte[]
short short short throws CAENRFIDException BankMask, PositionMask, LengthMask, Mask, MemBank, Address, Length) C representation:
CAENRFIDErrorCodes CAENRFID_BankFilteredReadTagData_EPC_C1G2(
CAENRFIDHandle char short short short char short int int void handle,
*SourceName, BankMask, PositionMask, LengthMask,
*Mask, MemBank, Address, Length,
*Data);
CAEN RFID API Reference Manual 55 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 an 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 and Android representation:
public byte[]
ReadTagData_EPC_C1G2(
short short short byte[]
short short short int throws CAENRFIDException BankMask, PositionMask, LengthMask, Mask, MemBank, Address, Length, AccessPassword) C representation:
CAENRFIDErrorCodes CAENRFID_SecureBankFilteredReadTagData_EPC_C1G2 (
CAENRFIDHandle char short short short byte[]
short int int void int handle,
*SourceName, BankMask, PositionMask, LengthMask, Mask, MemBank, Address, Length,
*Data, AccessPassword);
56 CAEN RFID API Reference Manual RemoveReadPoint Method Description:
This method removes a read point from the logical source. Parameters:
Name ReadPoint Description A string representing the name of the read point (antenna). Syntax:
C# representation:
public void RemoveReadPoint(
string ReadPoint) Java and Android representation:
public void RemoveReadPoint(
java.lang.String ReadPoint) throws CAENRFIDException 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 ResetSession_EPC_C1G2() Java and Android representation:
public void ResetSession_EPC_C1G2() throws CAENRFIDException C representation:
CAENRFIDErrorCodes CAENRFID_ResetSession_EPC_C1G2(
CAENRFIDHandle char handle,
*SourceName);
CAEN RFID API Reference Manual 57 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 Description The DESB setting value. Syntax:
C# representation:
public void SetDESB_ISO180006B(
CAENRFIDLogicalSourceConstants Value) Java and Android representation:
public void SetDESB_ISO180006B(
CAENRFIDLogicalSourceConstants Value) throws CAENRFIDException 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 Description The initial Q value setting. Syntax:
C# representation:
public void SetQ_EPC_C1G2(
int Value) Java and Android representation:
public void SetQ_EPC_C1G2(
int throws CAENRFIDException Value) C representation:
CAENRFIDErrorCodes CAENRFID_SetQValue_EPC_C1G2(
CAENRFIDHandle char int handle,
*SourceName, Value);
58 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 Description The number of read cycles. Syntax:
C# representation:
public void SetReadCycle(
int value) Java and Android representation:
public void SetReadCycle(
int throws CAENRFIDException value) 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 Description The Selected flag value. Syntax:
C# representation:
public void SetSelected_EPC_C1G2(
CAENRFIDLogicalSourceConstants Value) Java and Android representation:
public void SetSelected_EPC_C1G2(
CAENRFIDLogicalSourceConstants Value) throws CAENRFIDException C representation:
CAENRFIDErrorCodes CAENRFID_SetSelected_EPC_C1G2(
CAENRFIDHandle char CAENRFIDLogicalSourceConstants Value);
handle,
*SourceName, CAEN RFID API Reference Manual 59 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 Description The Session value. Syntax:
C# representation:
public void SetSession_EPC_C1G2(
CAENRFIDLogicalSourceConstants Value) Java and Android representation:
public void SetSession_EPC_C1G2(
CAENRFIDLogicalSourceConstants Value) throws CAENRFIDException C representation:
CAENRFIDErrorCodes CAENRFID_SetSession_EPC_C1G2(
CAENRFIDHandle char CAENRFIDLogicalSourceConstants Value);
handle,
*SourceName, 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 Description The Target value. Syntax:
C# representation:
public void SetTarget_EPC_C1G2(
CAENRFIDLogicalSourceConstants Value) Java and Android representation:
public void SetTarget_EPC_C1G2(
CAENRFIDLogicalSourceConstants Value) throws CAENRFIDException C representation:
CAENRFIDErrorCodes CAENRFID_SetTarget_EPC_C1G2(
CAENRFIDHandle char CAENRFIDLogicalSourceConstants Value);
handle,
*SourceName, 60 CAEN RFID API Reference Manual SL900A_EndLog Method Description:
This method can be used to issue an IDS SL900A EndLog custom command as defined in the IDS SL900A datasheet. Parameters:
Name Tag Description The tag where stop the log Syntax:
C# representation:
public void SL900A_EndLog(
CAENRFIDTag Tag) Java and Android representation:
public void SL900A_EndLog(
CAENRFIDTag Tag) throws CAENRFIDException C representation:
CAENRFIDErrorCodes CAENRFID_IDS_SL900A_EndLog(
CAENRFIDHandle CAENRFIDTag handle,
*Tag);
CAEN RFID API Reference Manual 61 SL900A_GetLogState Method Description:
This method can be used to issue an IDS SL900A Get Log State custom command as defined in the IDS SL900A datasheet. Parameters:
Name Tag ShelfLife Description The tag selected This parameter is used to inform the reader if the shelf life flag is set in the tag's EEPROM Return Value:
This method returns the status of the logging process. The structure of the byte array is the following:
byte[0]byte[1]
byte[2]byte[3]
byte[4]byte[11]
byte[12]byte[14]
byte[15]
word). Syntax:
: Limite Counter.
: System status.
: Shelf Life Block (only if the ShelfLife parameter is true).
: Current Shelf Life (only if the ShelfLife parameter is true).
: Status Flags (if ShelfLife parameter is false this byte follows immediately the System status C# representation:
public byte[]
SL900A_GetLogState(
CAENRFIDTag bool Tag, ShelfLife) Java and Android representation:
public byte[]
SL900A_GetLogState(
CAENRFIDTag boolean throws CAENRFIDException Tag, ShelfLife) C representation:
CAENRFIDErrorCodes IDS_SL900A_GetLogState(
CAENRFIDHandle CAENRFIDTag BOOL char handle,
*Tag, ShelfLife,
* TRData);
62 CAEN RFID API Reference Manual SL900A_GetSensorValue Method Description:
This method can be used to issue an IDS SL900A Get Sensor Value custom command as defined in the IDS SL900A datasheet. Parameters:
Name Tag SensorType Description The tag to extract sensor data. Describes which sensor to choose.(see remark) Return Value:
Returns an IDSTagData object containing all the data read from the tag's selected sensor. Syntax:
C# representation:
public IDSTagData SL900A_GetSensorValue(
CAENRFIDTag byte Tag, SensorType) Java and Android representation:
public IDSTagData SL900A_GetSensorValue(
CAENRFIDTag byte throws CAENRFIDException Tag, SensorType) C representation:
CAENRFIDErrorCodes CAENRFID_IDS_SL900A_GetSensorValue(
CAENRFIDHandle CAENRFIDTag byte CAENRFID_IDSTagData handle,
*Tag, SensorType,
*IDSTagData);
Extreme Lower Sensor Type. Remarks:
According to the IDS SL900A datasheet, the Sensor Type byte is composed as:
bit 07..02:
bit 01..00:
Sensor type bits can be:
00:
01:
10:
11:
Temperature sensor External sensor 1. External sensor 2. Battery Voltage. CAEN RFID API Reference Manual 63 SL900A_Initialize Method Description:
This method can be used to issue an IDS SL900A Initialize custom command as defined in the IDS SL900A datasheet. Parameters:
Name Tag DelayTime ApplicationData Syntax:
C# representation:
Description The tag to initialize The DelayTime parameter. See the IDS SL900A datasheet for further details. The Application data. See the IDS SL900A datasheet for further details. public void SL900A_Initialize(
CAENRFIDTag ushort ushort Tag, DelayTime, ApplicationData) Java and Android representation:
public void SL900A_Initialize(
CAENRFIDTag short short throws CAENRFIDException Tag, DelayTime, ApplicationData) C representation:
CAENRFIDErrorCodes CAENRFID_IDS_SL900A_Initialize(
CAENRFIDHandle CAENRFIDTag unsigned short unsigned short handle,
*Tag, DelayTime, ApplicationData);
Remarks:
According to the IDS SL900A datasheet, the DelayTime parameter is composed as:
bit 15..4:
bit 3..2:
bit 1:
bit 0:
According to the IDS SL900A datasheet, the Application Data parameter is composed as:
bit 15..7:
bit 6..3:
Delay time (expressed in seconds) RFU Delay mode (0 : Internal timer, 1 : External switch) IRQ + Timer Enable Application Area size (in words) RFU bit 2..0 : Broken word pointer. 64 CAEN RFID API Reference Manual SL900A_SetLogMode Method Description:
This method can be used to issue an IDS SL900A Set Log Mode custom command as defined in the IDS SL900A datasheet. Parameters:
Name Tag LogMode Syntax:
C# representation:
Description The tag to set log mode on. The LogMode parameter. See the IDS SL900A datasheet for further details. public void SL900A_SetLogMode(
CAENRFIDTag uint Tag, LogMode) Java and Android representation:
public void SL900A_SetLogMode(
CAENRFIDTag int throws CAENRFIDException Tag, LogMode) C representation:
CAENRFIDErrorCodes CAENRFID_IDS_SL900A_SetLog(
CAENRFIDHandle CAENRFIDTag unsigned int handle,
*Tag, LogMode);
Remarks:
According to the IDS SL900A datasheet, the DelayTime parameter is composed as:
bit 31..24:
bit 23..21:
bit 20:
bit 19:
bit 18:
bit 17:
bit 16:
bit 15..0:
bit 0:
RFU. Logging Form. Storage Rule. Ext1 sensor enable. Ext2 sensor enable. Temperature sensor enable. Battery Check enable. Log Interval. RFU. CAEN RFID API Reference Manual 65 SL900A_StartLog Method Description:
This method can be used to issue an IDS SL900A Start Log custom command as defined in the IDS SL900A datasheet. Parameters:
Name Tag StartTime Syntax:
C# representation:
Description The Tag where start logging. The start time. See remark for structures. public void SL900A_StartLog(
CAENRFIDTag uint Tag, StartTime) Java and Android representation:
public void SL900A_StartLog(
CAENRFIDTag int throws CAENRFIDException Tag, StartTime) C representation:
CAENRFIDErrorCodes CAENRFID_IDS_SL900A_StartLog(
CAENRFIDHandle CAENRFIDTag unsigned int handle,
*Tag, StartTime);
Remarks:
According to the IDS SL900A datasheet, the StartTime parameter is composed as:
bit 31..26:
bit 25..21:
bit 15..11:
bit 10.. 6:
bit 5.. 0:
Year Month Hour Minute Second. 66 CAEN RFID API Reference Manual WriteTagData Method Description:
This method can be used to write a portion of the user memory in an ISO18000-6B tag. Parameters:
Name Tag Address Length Data Syntax:
C# representation:
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. public void WriteTagData(
CAENRFIDTag short short byte[]
Tag, Address, Length, Data) Java and Android representation:
public void WriteTagData(
Tag, CAENRFIDTag Address, short Length, short byte[]
Data) throws CAENRFIDException C representation:
CAENRFIDErrorCodes CAENRFID_WriteTagData(
CAENRFIDHandle CAENRFIDTag int int void handle,
*Tag, Address, Length,
*Data);
CAEN RFID API Reference Manual 67 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 an ISO18000-6C (EPC Class1 Gen2) tag. Parameters:
Name Tag MemBank Address Length Data Syntax:
C# representation:
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. public void WriteTagData_EPC_C1G2(
CAENRFIDTag short short short byte[]
Tag, MemBank, Address, Length, Data) Java and Android representation:
public void WriteTagData_EPC_C1G2(
Tag, CAENRFIDTag MemBank, short Address, short Length, short byte[]
Data) throws CAENRFIDException C representation:
CAENRFIDErrorCodes CAENRFID_WriteTagData_EPC_C1G2(
CAENRFIDHandle CAENRFIDTag short int int void handle,
*Tag, MemBank, Address, Length,
*Data);
68 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 an 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:
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. public void WriteTagData_EPC_C1G2(
CAENRFIDTag short short short byte[]
int Tag, MemBank, Address, Length, Data, AccessPassword) Java and Android representation:
public void WriteTagData_EPC_C1G2(
CAENRFIDTag short short short byte[]
int throws CAENRFIDException Tag, MemBank, Address, Length, Data, AccessPassword) C representation:
CAENRFIDErrorCodes CAENRFID_SecureWriteTagData_EPC_C1G2(
handle,
*Tag, MemBank, Address, Length,
*Data, AccessPassword);
CAENRFIDHandle CAENRFIDTag short int int void int CAEN RFID API Reference Manual 69 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 an ISO18000-6C (EPC Class1 Gen2) tag. Parameters:
Name BankMask PositionMask LengthMask Mask MemBank Address Length Data Syntax:
C# representation:
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. public void WriteTagData_EPC_C1G2(
short short short byte[]
short short short byte[]
BankMask, PositionMask, LengthMask, Mask, MemBank, Address, Length, Data) Java and Android representation:
public void WriteTagData_EPC_C1G2(
BankMask, short PositionMask, short LengthMask, short Mask, byte[]
MemBank, short Address, short Length, short Data) byte[]
throws CAENRFIDException C representation:
CAENRFIDErrorCodes CAENRFID_BankFilteredWriteTagData_EPC_C1G2(
CAENRFIDHandle char short short short char short int int void handle,
*SourceName, BankMask, PositionMask, LengthMask,
*Mask, MemBank, Address, Length,
*Data);
70 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 an 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:
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. public void WriteTagData_EPC_C1G2(
short short short byte[]
short short short byte[]
int BankMask, PositionMask, LengthMask, Mask, MemBank, Address, Length, Data, AccessPassword) Java and Android representation:
public void WriteTagData_EPC_C1G2(
short short short byte[]
short short short byte[]
int throws CAENRFIDException BankMask, PositionMask, LengthMask, Mask, MemBank, Address, Length, Data, AccessPassword) C representation:
CAENRFIDErrorCodes CAENRFID_SecureBankFilteredWriteTagData_EPC_C1G2(
CAENRFIDHandle char short short short char short int int void int handle,
*SourceName, BankMask, PositionMask, LengthMask,
*Mask, MemBank, Address, Length,
*Data, AccessPassword);
CAEN RFID API Reference Manual 71 CAENRFIDNotify Class The CAENRFIDNotify class defines the structure of a notification message. In Java, Android and C# lanuguages this class is composed by methods while in C language is present as a struct (for more information see Overview on SDK pag.8):
C representation:
typedef struct {
byte short char char CAENRFIDProtocol short byte short byte byte ID[MAX_ID_LENGTH];
Length;
LogicalSource[MAX_LOGICAL_SOURCE_NAME];
ReadPoint[MAX_READPOINT_NAME];
Type;
RSSI;
TID[MAX_TID_SIZE];
TIDLen;
XPC[XPC_LENGTH];
PC[PC_LENGTH];
} CAENRFIDNotify;
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 getDate() Java and Android representation:
public java.util.Date getDate() getPC Method Description:
This method represents the PC code in the tag. Return value:
The tag's Protocol Control code. Syntax:
C# representation:
public byte[]
getPC() Java and Android representation:
public byte[]
getPC() 72 CAEN RFID API Reference Manual 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 getReadPoint() Java and Android representation:
public java.lang.String 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 and Android 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 getStatus() Java and Android representation:
public CAENRFIDTagEventType getStatus() CAEN RFID API Reference Manual 73 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 and Android representation:
public byte[]
getTagLength Method Description:
This method returns the tag's ID length. Return value:
The tag's length. Syntax:
C# representation:
public short Java and Android representation:
public short getTagSource Method getTagID() getTagID() getTagLength() getTagLength() 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 getTagSource() Java and Android representation:
public java.lang.String getTagSource() 74 CAEN RFID API Reference Manual 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 getTagType() Java and Android representation:
public CAENRFIDProtocol 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[]
getTID() Java and Android representation:
public java.lang.String getAntenna() getXPC Method Description:
This method returns the tags XPC words. Return value:
The tags XPC words. Syntax:
C# representation:
public byte[]
getXPC() Java and Android representation:
public byte[]
getXPC() CAEN RFID API Reference Manual 75 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 Connect Method (CAENRFIDPort, string 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. 8 for more information. For android bluetooth connection see below Connect Method (BluetoothSocket) Parameters:
Name ConType Address Syntax:
C# representation:
Description The communication link to use for the connection. Depending on ConType parameter:
for TCP/IP communications
("xxx.xxx.xxx.xxx"), COM port for RS232 communications ("COMx"), An index for USB communications (not yet supported). IP address public void Connect(
CAENRFIDPort string ConType, Address) Java and Android representation:
public void Connect(
CAENRFIDPort ConType, java.lang.String Address) throws CAENRFIDException Connect Method (BluetoothSocket) Description:
Start the andorid SPP bluetooth communication with the CAEN RFID Reader. This method must be called before any other methods of the Reader object. Parameters:
Name BTSock Description The BluetoothSocket to read/write data. Syntax:
Android representation:
public void Connect(
BluetoothSocket BTSock) throws CAENRFIDException Remarks The BTSock parameter must be obtained trought a createRfcommSocketToServiceRecord(UUID uuid) call. The standard UUID for the Serial Port Profile is 00001101-0000-1000-8000-00805F9B34FB. 76 CAEN RFID API Reference Manual 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. 8 for more information. Parameters:
Name ConType Address handle Syntax:
C representation:
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. CAENRFIDErrorCodes CAENRFID_Init(
CAENRFIDPort char CAENRFIDHandle CAENRFIDProtocol *Protocol);
ConType,
*Address,
*handle, 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. 8 for more information. Syntax:
C# representation:
public void Disconnect() Java and Android representation:
public void Disconnect() throws CAENRFIDException 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. 8 for more information. Parameters:
Name handle Syntax:
C representation:
Description The handle that identifies the device. CAENRFIDErrorCodes CAENRFID_End(
CAENRFIDHandle handle);
CAEN RFID API Reference Manual 77 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 GetBitRate() Java and Android representation:
public CAENRFIDBitRate GetBitRate() throws CAENRFIDException C representation:
CAENRFIDErrorCodes CAENRFID_GetBitrate(
CAENRFIDHandle CAENRFID_Bitrate *Bitrate);
handle, 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 GetFirmwareRelease() Java and Android representation:
public java.lang.String GetFirmwareRelease() throws CAENRFIDException C representation:
CAENRFIDErrorCodes CAENRFID_GetFirmwareRelease(
CAENRFIDHandle char handle,
*FWRel);
78 CAEN RFID API Reference Manual 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 depend on the Reader's model. Please refer to the corresponding user manual available at www.caenrfid.com. Syntax:
C# representation:
public int GetIO() Java and Android representation:
public int GetIO() throws CAENRFIDException C representation:
CAENRFIDErrorCodes CAENRFID_GetIO(
CAENRFIDHandle unsigned int handle,
*IORegister);
GetIODirection Method Description:
This method 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. Return value:
A bitmask representing the I/O setting. Syntax:
C# representation:
public int GetIODirection() Java and Android representation:
public int GetIODirection() throws CAENRFIDException C representation:
CAENRFIDErrorCodes CAENRFID_GetIODirection(
CAENRFIDHandle unsigned int handle,
*IODirection);
CAEN RFID API Reference Manual 79 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 GetLBTMode() Java and Android representation:
public short GetLBTMode() throws CAENRFIDException C representation:
CAENRFIDErrorCodes CAENRFID_GetLBTMode(
CAENRFIDHandle unsigned short handle,
*LBTMode);
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 GetPower() Java and Android representation:
public int GetPower() throws CAENRFIDException C representation:
CAENRFIDErrorCodes CAENRFID_GetPower(
CAENRFIDHandle unsigned int handle,
*Power);
80 CAEN RFID API Reference Manual 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 and Android representation:
public CAENRFIDProtocol GetProtocol() throws CAENRFIDException C representation:
CAENRFIDErrorCodes CAENRFID_GetProtocol(
CAENRFIDHandle CAENRFIDProtocol *Protocol);
handle, 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 GetReaderInfo() Java and Android representation:
public CAENRFIDReaderInfo C representation:
CAENRFIDErrorCodes GetReaderInfo() throws CAENRFIDException CAENRFID_GetReaderInfo(
CAENRFIDHandle char char handle,
*Model,
*SerialNum);
CAEN RFID API Reference Manual 81 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[]
GetReadPoints() Java and Android representation:
public java.lang.String[]
GetReadPoints() C representation:
CAENRFIDErrorCodes CAENRFID_GetReadPoints(
CAENRFIDHandle char int handle,
**AntNames [],
*AntNumber);
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 and Android representation:
public CAENRFIDReadPointStatus C representation:
CAENRFIDErrorCodes GetReadPointStatus(
string ReadPoint) GetReadPointStatus(
java.lang.String ReadPoint) throws CAENRFIDException CAENRFID_GetReadPointStatus(
CAENRFIDHandle char CAENRFIDReadPointStatus *Status);
handle,
*ReadPoint, 82 CAEN RFID API Reference Manual GetRFChannel Method Description:
This method gets the index of the RF channel currently in use. The index value meaning changes for different country regulations. Return value:
The RF channel index. Syntax:
C# representation:
public short GetRFChannel() Java and Android representation:
public short GetRFChannel() throws CAENRFIDException C representation:
CAENRFIDErrorCodes CAENRFID_GetRFChannel(
CAENRFIDHandle unsigned short handle,
*RFChannel);
Remarks This method is only used for testing applications. GetRFRegulation Method Description:
This method gets the current RF regulation setting value. Return value:
The RF regulation value. Syntax:
C# representation:
public CAENRFIDRFRegulations GetRFRegulation() Java and Android representation:
public CAENRFIDRFRegulations GetRFRegulation() C representation:
CAENRFIDErrorCodes throws CAENRFIDException CAENRFID_GetRFRegulation(
CAENRFIDHandle CAENRFIDRFRegulations *RFRegulation);
handle, CAEN RFID API Reference Manual 83 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 GetSource(
string Source) Java and Android representation:
public CAENRFIDLogicalSource GetSource(
java.lang.String Source) throws CAENRFIDException Remarks:
This function does not exist in C language, see Overview on SDK pag. 8 for more information. 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[]
GetSourceNames() Java and Android representation:
public static java.lang.String[]
GetSourceNames() C representation:
CAENRFIDErrorCodes CAENRFID_GetSourceNames(
CAENRFIDHandle char int handle,
**SrcNames[],
*SrcNumber);
84 CAEN RFID API Reference Manual 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[]
GetSources() Java and Android representation:
public CAENRFIDLogicalSource[]
GetSources() Remarks:
This function does not exist in C language, see Overview on SDK pag. 8 for more information. InventoryAbort Method For the description of this method, see Event Handling pag.96. RFControl Method Description:
Permits to control the RF CW (Carrier Wave) signal generation. Parameters:
Name OnOff Description The value to set. 1 generates the CW , 0: stops the CW generation. Syntax:
C# representation:
public void RFControl(
int OnOff) Java and Android representation:
public void RFControl(
int throws CAENRFIDException OnOff) C representation:
CAENRFIDErrorCodes CAENRFID_RFControl(
CAENRFIDHandle int handle, OnOff);
Remarks This method is only used for testing applications. CAEN RFID API Reference Manual 85 SetBitRate Method Description:
This method sets the RF bit rate to use. Parameters:
Name BitRate Description The RF bit rate value to be set. Syntax:
C# representation:
public void SetBitRate(
CAENRFIDBitRate BitRate) Java and Android representation:
public void SetBitRate(
CAENRFIDBitRate throws CAENRFIDException BitRate) C representation:
CAENRFIDErrorCodes CAENRFID_SetBitRate(
CAENRFIDHandle CAENRFID_Bitrate BitRate);
handle, SetDateTime Method Description:
This method sets the Date/Time of the reader. Parameters:
Name DateTime Syntax:
C# representation:
Description The Date/Time to be set on the reader as a string in the format: "yyyy-mm-dd hh:mm:ss". public void SetDateTime(
string DateTime) Java and Android representation:
public void SetDateTime(
java.lang.String DateTime) throws CAENRFIDException C representation:
CAENRFIDErrorCodes CAENRFID_SetDateTime(
CAENRFIDHandle char handle,
*DateTime);
86 CAEN RFID API Reference Manual SetIO Method Description:
This method sets the Output lines value. Parameters:
Name IOValue Syntax:
C# representation:
Description A bitmask representing the I/O lines value. The format and the meaning of the bits depend on the reader's model. Please refer to the corresponding user manual available on www.caenrfid.com public void SetIO(
int IOValue) Java and Android representation:
public void SetIO(
int throws CAENRFIDException IOValue) C representation:
CAENRFIDErrorCodes CAENRFID_SetIO(
CAENRFIDHandle unsigned int handle, IOValue);
SetIODIRECTION Method Description:
This method 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. Parameters:
Name IODirection Description The IODirection value to set. Syntax:
C# representation:
public void SetIODIRECTION(
int IODirection) Java and Android representation:
public void SetIODIRECTION(
int throws CAENRFIDException IODirection) C representation:
CAENRFIDErrorCodes CAENRFID_SetIODirection(
CAENRFIDHandle unsigned int handle, IODirection);
CAEN RFID API Reference Manual 87 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:
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. public void SetNetwork(
string string string IPAddress, NetMask, Gateway) Java and Android 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 Description The conducted RF power value expressed in mW. Syntax:
C# representation:
public void SetPower(
int Java and Android representation:
public void SetPower(
power) power) int throws CAENRFIDException C representation:
CAENRFIDErrorCodes CAENRFID_SetPower(
CAENRFIDHandle unsigned int handle, Power);
88 CAEN RFID API Reference Manual SetProtocol Method Description:
This method sets the air protocol of the reader. Parameters:
Name Protocol Description The CAENRFIDProtocol representing the air protocol to be set. Syntax:
C# representation:
public void SetProtocol(
CAENRFIDProtocol Protocol) Java and Android representation:
public void SetProtocol(
CAENRFIDProtocol Protocol) throws CAENRFIDException C representation:
CAENRFIDErrorCodes CAENRFID_SetProtocol(
CAENRFIDHandle CAENRFIDProtocol Protocol);
handle, 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 Description The RF channel index to be set. Syntax:
C# representation:
public void SetRFChannel(
short Channel) Java and Android representation:
public void SetRFChannel(
short throws CAENRFIDException Channel) C representation:
CAENRFIDErrorCodes CAENRFID_SetRFChannel(
CAENRFIDHandle unsigned short handle, Channel);
Remarks This method is only used for testing applications. CAEN RFID API Reference Manual 89 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:
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. public void SetRS232(
Java and Android representation:
public void SetRS232(
int int int CAENRFIDRS232Constants CAENRFIDRS232Constants int int int CAENRFIDRS232Constants CAENRFIDRS232Constants throws CAENRFIDException baud, datab, stopb, parity, flowc) baud, datab, stopb, parity, flowc) C representation:
CAENRFIDErrorCodes CAENRFID_SetRS232(
CAENRFIDHandle unsigned long unsigned long unsigned long CAENRFID_RS232_Parity CAENRFID_RS232_FlowControl flowc);
handle, baud, datab, stopb, parity, 90 CAEN RFID API Reference Manual 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 GetModel() Java and Android representation:
public java.lang.String GetModel() Remarks:
This method does not exist in C language. It is possible to use the GetReaderInfo Method pag. 81 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 GetSerialNumber() Java and Android representation:
public java.lang.String GetSerialNumber() Remarks:
This method does not exist in C language. It is possible to use the GetReaderInfo Method pag. 81 instead. In fact GetReaderInfo Method (in the C language) returns the readers model and the serial number. CAEN RFID API Reference Manual 91 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 information see Overview on SDK pag.8):
C representation:
typedef struct {
ID[MAX_ID_LENGTH];
Length;
LogicalSource[MAX_LOGICAL_SOURCE_NAME];
ReadPoint[MAX_READPOINT_NAME];
byte short char char CAENRFIDProtocol Type;
RSSI;
short TID[MAX_TID_SIZE];
byte short TIDLen;
XPC[XPC_LENGTH];
byte byte PC[PC_LENGTH];
GetId Method
} CAENRFIDTag;
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[]
GetId() Java and Android representation:
public byte[]
GetId() GetLength Method Description:
This method returns the tag's ID length. Return value:
The tag's length. Syntax:
C# representation:
public short GetLength() Java and Android representation:
public short GetLength() 92 CAEN RFID API Reference Manual GetPC Method Description:
This method returns the Protocol Control(PC) word code of the tag. Return value:
The tag's Protocol Control code. Syntax:
C# representation:
public byte[]
GetPC() Java and Android representation:
public byte[]
GetPC() 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 GetReadPoint() Java and Android representation:
public java.lang.String GetReadPoint() throws CAENRFIDException 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 and Android representation:
public short GetRSSI() GetRSSI() CAEN RFID API Reference Manual 93 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 GetSource() Java and Android representation:
public CAENRFIDLogicalSource GetSource() 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[]
GetTID() Java and Android representation:
public byte[]
GetTID() GetTimeStamp Method Description:
This method gets the Tag's TimeStamp. Return value:
The Tags's Unix TimeStamp. Syntax:
C# representation:
public DateTime GetTimeStamp() Java and Android representation:
public java.util.Date GetTimeStamp() 94 CAEN RFID API Reference Manual 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 GetType() Java and Android representation:
public CAENRFIDProtocol GetType() GetXPC Method Description:
This method returns the tags XPC words. Return value:
The tags XPC words. Syntax:
C# representation:
public byte[]
GetXPC() Java and Android representation:
public byte[]
GetXPC() CAEN RFID API Reference Manual 95 4 Event Handling This chapter gives a description of CAENRFID event handling. It contains these topics:
Event Handling C# Event Handling Java and Android Event Handling C Event Handling 96 CAEN RFID API Reference Manual 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 is obtained by setting to 1 both framed (bit 1) and continuous (bit 2) flags. The "continuous mode" can be interrupted using the InventoryAbort method function. In readers equipped with button (like the A828BT and the qID R1240I), if the event trigger flag (bit 5) is enabled and the continuous mode is enabled (bit 1 and bit 2), the event handler is recalled every time the button is pressed. The event handling is implemented using the standard event handling mechanism in .NET and Java/Android while in C it is simulated using the callback mechanism. No other methods can be invoked on logical source and reader, during the continuous mode, nor inside the event handler. The only operation allowed is an inventory abort, that must be used to stop a reader which is working in continuous mode. For further information on the use of the EventInventoryTag, please refer to the CAEN RFID API User Manual. CAEN RFID API Reference Manual 97 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 Java and Android representation:
public boolean EventInventoryTag(
byte[]
short short short throws CAENRFIDException Mask, MaskLength, Position, Flag) Mask, MaskLength, Position, Flag) C representation:
typedef struct {
char char unsigned char unsigned char CAENRFID_INVENTORY_CALLBACK short CAENRFID_EventInventoryParams;
*SourceName;
*Mask;
MaskLength;
Position;
pCallBack;
flag;}
CAENRFIDErrorCodes CAENRFID_EventInventoryTag (
CAENRFIDHandle CAENRFID_EventInventoryParams InvParams);
handle, 98 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 match 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. Flag value meaning RSSI: a 1 value indicates the reader will transmit the RSSI (Return Signal Strength 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 are buffered in the reader and trasmitted all together at the end of the inventory cycle. Bit1 and bit 2 work in conjunction and must have the same value (00 or 11). 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 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. Bit1 and bit 2 work in conjunction and must have the same value (00 or 11). 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 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 reader together with the other information. Event trigger: when this flag is set together with the continuous mode (continuous acquisition flag
+ framed data flag), the inventory cycle is performed in the same way of the continuous mode with the only difference that the inventory command is performed only by pressing the button of the A828BT and qID R1240I reader. 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 Match tag: a 1 value enables the matching of readed tags with a tag present in the memory
(A828BT reader only). PC: a 1 value allows the reader to return the PC of a Gen2 tag in addition to the ID (A828BT reader only). Bit 0 Bit 1 Bit 2 Bit 3 Bit 4 Bit 5 Bit 6 Bit 7 Bit 8 InventoryAbort Method Description:
This method stops the EventInventoryTag execution. Syntax:
C# representation:
public void InventoryAbort() Java and Android representation:
public void InventoryAbort() C representation:
CAENRFIDErrorCodes CAENRFID_InventoryAbort(
CAENRFIDHandle handle);
CAEN RFID API Reference Manual 99 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 Description the Data Event. Syntax:
C# representation:
public delegate void CAENRFIDEvent Event CAENRFIDEventHandler(
object CAENRFIDEventArgs Event) Sender, 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. 100 CAEN RFID API Reference Manual Java and Android 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 and Android 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 and Android representation:
void addCAENRFIDEventListener CAENRFIDTagNotify(
CAENRFIDEvent evt) 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 and Android 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 and Android representation:
public void removeCAENRFIDEventListener(
CAENRFIDEventListener listener) CAEN RFID API Reference Manual 101 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);
102 CAEN RFID API Reference Manual 5 Enumerations Description This chapter gives a description of CAENRFID enumerations. It contains these topics:
CAENRFIDBitRate Enumeration CAENRFIDLogicalSourceConstants Enumeration CAENRFIDLogicalSource.InventoryFlag Enumeration CAENRFIDPort Enumeration CAENRFIDProtocol Enumeration CAENRFIDReadPointStatus Enumeration CAENRFIDRFRegulations Enumeration CAENRFIDRS232Constants Enumeration CAENRFIDSelUnselOptions Enumeration CAENRFIDTag.MemBanks Enumeration CAEN RFID API Reference Manual 103 CAENRFIDBitRate Enumeration The CAENRFIDBitRate Enumeration gives a list of the supported radiofrequency profiles. Syntax:
C# representation:
public enum CAENRFIDBitRate Java and Android representation:
public final class CAENRFIDBitRate C representation:
typedef enum CAENRFID_Bitrate;
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 DSB_ASK_M4_TX40RX256 PR_ASK_FM0_TX40RX640 PR_ASK_M2_TX40RX250 PR_ASK_M4_TX40RX250 PR_ASK_M4_TX40RX256 PR_ASK_M4_TX40RX300 PR_ASK_M4_TX40RX320 PR_ASK_M4_TX80RX320 in link encoding, 160 Kbit 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 transmission, 400 Kbit in reception. DSB-ASK transmission modulation, Miller (M=2) return link encoding, 40 Kbit in transmission, 160 Kbit in reception. DSB-ASK transmission modulation, Miller (M=4) return link encoding, 40 Kbit in transmission, 256 Kbit in reception. PR-ASK transmission modulation, FM0 return link encoding, 40 Kbit in transmission, 640 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, 256 Kbit in reception. PR-ASK transmission modulation, Miller (M=4) return link encoding, 40 Kbit in transmission, 300 Kbit in reception. DSB-ASK transmission modulation, Miller (M=4) return link encoding, 40 Kbit in transmission, 320 Kbit in reception. PR-ASK transmission modulation, Miller (M=4) return link encoding, 80 Kbit in transmission, 320 Kbit in reception. 104 CAEN RFID API Reference Manual 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 CAENRFIDLogicalSourceConstants Java and Android representation:
public final class CAENRFIDLogicalSourceConstants C representation:
typedef enum 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 EPC_C1G2_SELECTED_NO EPC_C1G2_ALL_SELECTED ISO18006B_DESB_ON ISO18006B_DESB_OFF 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 ISO18000-6B air protocol). The Data Exchange Status Bit feature is not used for the anticollision algorithm execution on the logical source (valid only for the ISO18000-6B air protocol). CAEN RFID API Reference Manual 105 CAENRFIDLogicalSource.InventoryFlag Enumeration The CAENRFIDLogicalSource.InventoryFlag Enumeration gives a list of constants used for the configuration of the inventory function that comes with Flag parameter. Syntax:
C# representation:
public enum CAENRFIDLogicalSource.InventoryFlag Java and Android representation:
public final class CAENRFIDLogicalSource.InventoryFlag C representation:
typedef enum CAENRFIDLogicalSource.InventoryFlag;
In the following table, the CAENRFIDLogicalSource.InventoryFlag Enumeration members are listed:
Member RSSI FRAMED CONTINUOUS COMPACT TID_READING EVENT_TRIGGER XPC PC Description When enabled, the RSSI value representing the backscattered RF field strenght is returned by the reader for each tag read. Some reader cannot have this feature. Tags found in an inventoy cycle are not bufferized in reader and sent all together, but sent one by one as soon as a tag is detected. It Is used in conjunction with the continuous flag. Enables the continuos mode acquisition. Logical source must have ReadCycle parameter set to 0. Instruct the reader to not return any other information than the ID. Other values are fake and filled by the library. Instruct the reader to return the TID memory. On some reader it must be used in conjunction with SetTIDLength to work more efficiently. Work only In reader provided with in combination with continuous mode. identification button, it instructs the reader to do an inventory cycle only when the button is pressed. It instructs the reader to return XPC. If no XPC is present on the tag, the XPC field of a tag is filled up with zero values. Instruct the reader to return the PC of the EPC bank for each inventoried tag. 106 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 CAENRFIDPort Java and Android representation:
public final class CAENRFIDPort C representation:
typedef enum 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 CAENRFIDProtocol Java and Android representation:
public final class CAENRFIDProtocol C representation:
typedef enum 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 107 CAENRFIDReadPointStatus Enumeration The CAENRFIDReadPointStatus gives a list of the possible ReadPoint status values. Syntax:
C# representation:
public enum CAENRFIDReadPointStatus Java and Android representation:
public final class CAENRFIDReadPointStatus C representation:
typedef enum 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. 108 CAEN RFID API Reference Manual CAENRFIDRFRegulations Enumeration The CAENRFIDRFRegulations gives a list of country radiofrequency regulations. Syntax:
C# representation:
public enum CAENRFIDRFRegulations Java and Android representation:
public final class CAENRFIDRFRegulations C representation:
typedef enum 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 JAPAN_STD_T106 11 JAPAN_STD_T107 12 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. JAPAN radiofrequency regulation (ARIB STD-T106 Premises radio station (1W) - LBT free) JAPAN radiofrequency regulation (ARIB STD-T107 Specified low power radio station
(250mW) - with LBT) CAEN RFID API Reference Manual 109 CAENRFIDRS232Constants Enumeration The CAENRFIDRS232Constants gives a list of settings for the serial port configuration. Syntax:
C# representation:
public enum CAENRFIDRS232Constants Java and Android representation:
public final class CAENRFIDRS232Constants C representation:
typedef enum typedef enum CAENRFID_RS232_Parity;
CAENRFID_RS232_FlowControl;
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. 110 CAEN RFID API Reference Manual 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 CAENRFIDSelUnselOptions Java and Android representation:
public final class CAENRFIDSelUnselOptions C representation:
typedef enum CAENRFID_SelUnsel_Op;
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. CAEN RFID API Reference Manual 111 CAENRFIDTag.MemBanks Enumeration The CAENRFIDTag.MemBanks enumerates the bank name of a generic ISO18000-6C tag. Syntax:
C# representation:
public enum MemBanks
{
RESERVED = 0, EPC = 1, TID = 2, USER = 3
}
Java and Android representation:
public enum MemBanks {
C representation:
typedef enum
{
RESERVED(0), EPC(1), TID(2), USER(3);
private int code;
private MemBanks(int c) {
code = c;
}
public int getBankNum() {
return code;
}
}
RESERVED = 0, EPC = 1, TID = 2, USER = 3
} CAENRFIDMemBanks;
In the following table, the CAENRFIDTag.MemBanks Enumeration members are listed:
Member RESERVED EPC TID USER Description Indicates the reserved bank Indicates the EPC bank Indicates the TID bank Indicates the USER bank 112 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 and Android Obsolete Methods C Obsolete Functions C Obsolete Data Types CAEN RFID API Reference Manual 113 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 Fujitsu_BurstErase Fujitsu_BurstWrite Fujitsu_ChgBlockGroupPassword Fujitsu_ChgBlockLock Fujitsu_ChgWordLock Fujitsu_ReadBlockLock Fujitsu_Refresh GetLostThreshold GetObservedThreshold Hitachi_BlockLock Hitachi_BlockReadLock Hitachi_GetSystemInformation Hitachi_ReadLock Hitachi_SetAttenuate Hitachi_WriteMultipleWords 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 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. 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. 114 CAEN RFID API Reference Manual GetIOLineValue GetName GetTimerValue IsLinkedToChannel IsLinkedToSource Tab. 6.1: C# Obsolete Methods 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 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. 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 and Android 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 Fujitsu_BurstErase Fujitsu_BurstWrite Fujitsu_ChgBlockGroupPassword Fujitsu_ChgBlockLock Fujitsu_ChgWordLock Fujitsu_ReadBlockLock Fujitsu_Refresh GetLostThreshold GetObservedThreshold 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. 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. CAEN RFID API Reference Manual 115 Method Hitachi_GetSystemInfo Hitachi_BlockLock Hitachi_BlockReadLock Hitachi_GetSystemInformation Hitachi_ReadLock Hitachi_SetAttenuate Hitachi_WriteMultipleWords 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 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 and Android 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. Use getReadPoint 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. 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. 116 CAEN RFID API Reference Manual C Obsolete Functions Function AddNotifyTrigger AddReadTrigger AddSourceToChannel AllocateChannel AllocateTrigger CustomCmd_C1G2 DeallocateChannel DeallocateTrigger ExtendedInventoryTag FirmwareUpgrade FreeNotifyMemory Fujitsu_BurstErase Fujitsu_BurstWrite Fujitsu_ChgBlockGroupPassword Fujitsu_ChgBlockLock Fujitsu_ChgWordLock Fujitsu_ReadBlockLock Fujitsu_Refresh GetAllocatedChannels GetAllocatedTriggers GetChannelData GetChannelInTrigger GetChannelStatus GetDE_SB GetEventMode GetFWRelease GetModulation GetNotification GetQ_C1G2 GetQ_EPC_C1G2 GetReadPointInSource GetSourceConfiguration GetSourceInChannel GetSourceInTrigger GetSWRelease GetTriggerInChannel Hitachi_BlockLock Hitachi_BlockReadLock Hitachi_GetSystemInformation Hitachi_ReadLock Hitachi_SetAttenuate Hitachi_WriteMultipleWords Inventory KillTag KillTag_C1G2 Lock Lock_C1G2 NXP_Calibrate NXP_ChangeEAS NXP_SecureCalibrate NXP_SecureEAS_Alarm NXP_SecureResetReadProtect ProgramID 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. 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. 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. CAEN RFID API Reference Manual 117 Function ProgramID_C1G2 QueryAck_C1G2 QueryTag_C1G2 Read 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 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 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. 118 CAEN RFID API Reference Manual C Obsolete Data Types Data Type 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 CAENRFID_EventMode READCYCLE_MODE TIME_MODE NOEVENT_MODE CAENRFID_FWUpgradeType RFID_TFTP CAENRFID_ExtendedInventoryParams Tab. 6.5: C Obsolete Data Types Description 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. Use Get/SetSelected_EPC_C1G2 Method instead. This data type is now obsolete. 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 119
1 2 | User Manual 2 | Users Manual | 852.36 KiB | September 06 2017 |
TECHNICAL INFORMATION MANUAL Revision 17 - 07 July 2014 CAEN UHF RFID READERS COMMUNICATION PROTOCOL Scope of Manual The goal of this manual is to provide the basic information to work with the CAEN UHF RFID READERS Communication Protocol. Change Document Record Date Revision 18 Apr 2011 14 Changes
-
as for the reader R1230CB supported Added AVP_PC parameter in the Tab. 2.1: Attribute types Modified Tab. 2.3: Commands with Optional Parameters Table Added Tab. 2.4: Renamed Commands Table Added bit 7 and 8 in the flag description of InventoryTag command Added reference to Ion R4300P Reader in the Tab. 2.2: Command codes and in the Tab. 2.3: Commands with Optional Parameters Table Added PowerSet unit of measurement Modified Set Power Command Added ProgramID_EPC_C1G2 command Renamed NewRawReadIDs in setProtocol in the Set Protocol Command and in the Continuous Inventory Command Renamed NewRawReadIDs in InventoryTag in the InventoryTag Command Renamed WriteTagData_EPC_C1G2 Command Renamed G2Read ReadTagData_EPC_C1G2 Command Renamed G2Lock in LockTag_EPC_C1G2 and Tag Address in G2Password in the LockTag Command Added RFRegulation in the Tab.2.1: Attribute types Added footnotes in the Tab. 2.1: Attribute types Added values for the ResultCode attribute Added reference to Muon A528B and qID R1240I Readers in the Tab. 2.2: Command codes and in the Tab. 2.3: Commands with Optional Parameters Table Added reference to Quark Up R1270 and qIDmini R1170I Readers in the Tab. 2.2: Command codes and in the Tab. 2.3: Commands with Optional Parameters Table Removed Default Configuration chapter Removed reference to obsolete readers in WriteTagData_EPC_C1G2 ReadTagData_EPC_C1G2 G2Write the the in in in 05 Oct 2012 15 15 Oct 2013 16 07 Jul 2014 17 Reference Document Pages
-
10 20 21 12 19, 20 10 28 17 23, 30 24 26 27 29 10 10 7 19, 20 19, 20
-
All pages Reader Protocol 1.0 Working Draft Version of 25 August 2004 Document revision 33 - EPCGlobal EPC Radio Frequency Identity Protocols Class-1 Generation-2 UHF RFID Protocol for Communications at 860MHz 960MHz Version 1.0.9 EPCGlobal ISO/IEC FDIS 18000-6:2003(E) Information technology automatic identification and data capture techniques Radio frequency identification for item management air interface Part 6: Parameters for air interface communication at 860-960 MHz
[RD1]
[RD2]
[RD3]
CAEN RFID srl Via Vetraia, 11 55049 Viareggio (LU) - ITALY Tel. +39.0584.388.398 Fax +39.0584.388.959 info@caenrfid.com www.caenrfid.com CAEN RFID srl 2014 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.com. 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. 1 This declaration only applies to FCC readers R1230CB, R1260I, R1260U, R4300P, A528B, R1240I, R1270, R1170I (Mod. WR1170IUAPLP and WR1170IUHIDP) Index 2 Scope of Manual ...........................................................................................................................................................................2 Change Document Record ............................................................................................................................................................2 Reference Document ....................................................................................................................................................................2 Index .......................................................................................................................................................................................... 4 List of Tables .................................................................................................................................................................................. 4 INTRODUCTION ................................................................................................................................................................... 5 1 General Information .....................................................................................................................................................................5 PROTOCOL SPECIFICATION .................................................................................................................................................. 6 Introduction ..................................................................................................................................................................................6 Attribute types .............................................................................................................................................................................7 Command codes .........................................................................................................................................................................11 Commands with Optional Parameters .......................................................................................................................................20 Renamed Commands Table ........................................................................................................................................................21 ASYNCHRONOUS NOTIFICATION ....................................................................................................................................... 22 EXAMPLES ......................................................................................................................................................................... 23 Set Protocol Command ...............................................................................................................................................................23 InventoryTag Command .............................................................................................................................................................24 WriteTagData_EPC_C1G2 Command .........................................................................................................................................26 ReadTagData_EPC_C1G2 Command ..........................................................................................................................................27 Set Power Command ..................................................................................................................................................................28 LockTag Command .....................................................................................................................................................................29 Continuous Inventory Command................................................................................................................................................30 3 4 List of Tables Tab. 2.1: Attribute types ........................................................................................................................................................................10 Tab. 2.2: Command codes .....................................................................................................................................................................19 Tab. 2.3: Commands with Optional Parameters Table ..........................................................................................................................20 Tab. 2.4: Renamed Commands Table ....................................................................................................................................................21 Tab. 3.3.1: Attribute types: Notification AVP List ..................................................................................................................................22 4 1 INTRODUCTION General Information This document describes the message format of the communication protocol used by the host and the reader in order to issuing commands and reply with responses. The protocol is based on the Attribute Value Pair (AVP) schema and foresees a message header in order to identify the message scope. The command set and the firmware architecture draw inspiration from the Reader Protocol 1.0 specification draft from EPCGlobal but, at now, this protocol is not fully compatible with the same last specifications. Message fields are described left to right, with the most significant byte on the left and the least on the right. INTRODUCTION - CAEN UHF RFID Readers Communication Protocol 5 2 PROTOCOL SPECIFICATION Introduction CAEN UHF RFID Reader protocol uses two logical communication channels: one for synchronous commands and one for asynchronous notifications. Command channel is mandatory and, at now, it is implemented on top of a TCP/IP socket (port 1000) and on RS232 while notification channels are implemented only with sockets. All the messages (commands, responses and notifications) are composed by a header and a body. In all cases the body of the message is a list of attribute-value pairs. Responses always echo the Command AVP sent by the host. All the packets for the control and notification channel share a common header format:
1 2 3 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1
+-------------------------------+------------------------------+
| FIXED | Message ID |
+-------------------------------+------------------------------+
| Vendor ID |
+-------------------------------+------------------------------+
| Length |
+-------------------------------+
FIXED: Must be 0x8001 for commands and 0x0001 for responses. Message ID: Id of the message. It is a sequence number used to map requests to its responses: a request and its corresponding response have the same message ID (the id is local to the channel). Vendor ID: Must be 21336: the IANA SMI Network Management Private Enterprise Code assigned to CAEN SpA. Length: Encodes the length of the message (in bytes) including the header. The header is followed by a list of AVPs the number of which depends on the command. Each AVP have the following format:
1 2 3 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1
+-------------------------------+------------------------------+
| RESERVED | Length |
+-------------------------------+------------------------------+
| Attribute Type | Attribute Value |
+-------------------------------+------------------------------+
| [ until length is reached ] |
+--------------------------------------------------------------+
RESERVED: The first 16 bits are reserved for future extensions. All reserved bits must be set to 0 on outgoing messages and ignored on incoming messages. Length: Encodes the length of the AVP packet including the length and the reserved fields. Attribute type: A 2 byte code identifying the attribute type. Attribute value: The actual attribute value according to the type. It follows immediately after the Attribute Type field and runs for the remaining bytes indicated in the Length (i.e. Length minus 6 bytes of header). PROTOCOL SPECIFICATION - CAEN UHF RFID Readers Communication Protocol 6 Attribute types Code 0x01 0x02 0x0E 0x0F 0x10 0x11 0x12 0x1E 0x1F 0x20 0x21 0x22 0x4D 0x4E 0x4F 0x50 Description
= 0
= 102,
= 127,
= 183,
= 200,
= 202,
= 203,
= 205,
= 206,
= 209,
= 210 CommandName: the command to be executed. All the commands are specified in the relevant table. Attribute value is 2 bytes long. ResultCode: a code representing an indication on the result of the command. All the commands are specified in the relevant table. Attribute value is 2 bytes long. The complete list of all possible return values is:
ERR_SUCCESS ERR_UNKNOWN ERR_INVALIDCMD ERR_PWROUTRANGE ERR_INVALIDPAR ERR_TAGNOTPRESENT ERR_TAGWRITE ERR_TAGBADADDRESS ERR_INVALIDFUNCTION ERR_LOCKED ERR_FAILED Note that the ERR_INVALIDPAR is used as a generic error and may be returned even if all the parameters passed to the reader are valid (for example, you may get an ERR_INVALIDPAR during the execution of a lock function just to signal that the lock operation has failed). EventType: the type of the notified event. Attribute value is 4 bytes long and can assume the following values:
0x00 = Unknown Event 0x01 = Tag glimpsed 0x02 = Tag New 0x03 = Tag Observed 0x04 = Tag Lost 0x05 = Tag Purged TagIDLen: the length of the tag ID. Attribute value is 2 bytes long. TimeStamp: an indication of the time. Attribute is 8 bytes long and must be interpreted as follow:
-
-
the 4 least significant bytes are the seconds elapsed from the 1 January 1970. the 4 most significant bytes are the micro-seconds. TagID: the ID read from the tag. Attribute value has a maximum length of 12 bytes. For ISO18000 tags only the first 8 bytes are significant while for EPC tags all the 12 bytes are significant. TagType: the tags type. Attribute value is 2 bytes long and can assume the following values:
0x00 = ISO18KB 0x01 = EPCC1G1 0x02 = ISO18KA 0x03 = EPCC1G2 0x05 = EPC119 ChannelName: the name of the notification channel. Attribute value has a maximum length of 30 bytes. ChannelAddress: the address of the notification channel. Attribute value has a maximum length of 30 bytes. TriggerName: the name of the trigger. Attribute value has a maximum length of 30 bytes. TriggerType: the type of the trigger. Attribute value has a maximum length of 30 bytes. ReadPointName: a string2 representing the name of the read point. Attribute value has a maximum length of 5 bytes and can assume the following values:
Ant0, Ant1, Ant2, Ant3 TagValue: data read from the tag memory (when applicable). Attribute value has a maximum length of 128 bytes. TagAddress: the memory location address of the tag where read or write data (when applicable). Attribute value is 2 bytes long. RESERVED. Length: a value representing the length of a parameter. Attribute value is 2 bytes long. 2 Regarding the string format our convention is to use a NULL terminate string, i.e. all the string end with 0x00. PROTOCOL SPECIFICATION - CAEN UHF RFID Readers Communication Protocol 7 Code Description BitRate: a value representing the RF BitRate. Attribute value is 2 bytes long and can assume the following values:
Receive : FM0 10kbit Receive : FM0 40kbit Receive : FM0 40kbit Receive : FM0 160kbit Receive : FM0 400kbit Receive : Miller M=2 160kbit Receive : Miller M=4 250kbit Receive : Miller M=4 300kbit Receive : Miller M=2 250kbit Receive : FM0 40kbit Receive : Miller M=4 256kbit Receive : Miller M=4 320kbit Receive : FM0 640kbit Receive : Miller M=4 320kbit Receive : Miller M=4 256kbit 0x00 Transmit : DSB ASK 10kbit, 0x01 Transmit : DSB ASK 10kbit, 0x02 Transmit : DSB ASK 40kbit, 0x03 Transmit : DSB ASK 40kbit, 0x04 Transmit : DSB ASK 160kbit, 0x05 Transmit : DSB ASK 40kbit, 0x06 Transmit : PR ASK 40kbit, 0x07 Transmit : PR ASK 40kbit, 0x08 Transmit : PR ASK 40kbit, 0x09 Transmit : PR ASK 40kbit, 0x0A Transmit : DSB ASK 40kbit, 0x0B Transmit : PR ASK 40kbit, 0x0C Transmit : PR ASK 40kbit, 0x0D Transmit : PR ASK 80kbit, 0x0E Transmit : PR ASK 40kbit, Note: not all the value are supported by all the readers. For the list of mode supported by each reader please refer to the readers user manual. PowerGet: a value representing the RF power. Attribute value is 4 bytes long. (used for read the current setting) RESERVED. Protocol: a value representing the air protocol. Attribute value is 4 bytes long and can assume the following values:
0x00 = ISO18000-6B 0x01 = EPCC1G1 0x02 = ISO18000-6A 0x03 = EPCC1G2 ReadPointStatus: a value representing the antennas status. Attribute value is 4 bytes long and can assume the following values:
0x00 = Good: antenna is well connected. 0x01 = Poor: antenna has a low quality connection. 0x02 = Bad: antenna is not connected or broken. Boolean: a value representing a boolean data. Attribute value is 2 bytes long and can assume the following values:
0x00 = FALSE. Not 0x00 = TRUE. IPAddress: a string3 representing an IP address formatted with the standard IP dotted decimal format. Attribute value has a maximum length of 30 bytes. IPNetMask: a string4 representing an IP netmask formatted with the standard IP dotted decimal format. Attribute value has a maximum length of 30 bytes. IPGateway: a string5 representing an IP address formatted with the standard IP dotted decimal format. Attribute value has a maximum length of 30 bytes. DESBEnable: used to enable/disable the Data Exchange Status Bit handling for ISO18000-6b and EPC 1.19 anti-collision algorithm. Attribute value is 2 bytes long and can assume the following values:
0x00 = Disable the DESB handling. Not 0x00 = Enable the DESB handling. FWRelease: a string6 representing the devices firmware revision. Attribute value has a maximum length of 200 bytes. DESBStatus: used to check the Data Exchange Status Bit handling for ISO18000-6b and EPC 1.19 anti-collision algorithm. Attribute value is 2 bytes long and can assume the following values:
0x00 = DESB handling is not enabled. Not 0x00 = DESB handling is enabled. EPCPWD: a value representing an EPC tag password. Attribute value is 2 bytes long. 0x51 0x52 0x53 0x54 0x56 0x57 0x58 0x59 0x5A 0x5B 0x5C 0x5D 0x5E 3 Regarding the string format our convention is to use a NULL terminate string, i.e. all the string end with 0x00. 4 Regarding the string format our convention is to use a NULL terminate string, i.e. all the string end with 0x00. 5 Regarding the string format our convention is to use a NULL terminate string, i.e. all the string end with 0x00. 6 Regarding the string format our convention is to use a NULL terminate string, i.e. all the string end with 0x00. PROTOCOL SPECIFICATION - CAEN UHF RFID Readers Communication Protocol 8 Code 0x5F 0x60 0x61 0x62 0x63 0x64 0x65 0x66 0x67 0x68 0x69 0x6A 0x6B 0x6C 0x6D 0x6E 0x6F Description RFOnOff: used to start the generation of a continuous wave for test purposes. Attribute value is 2 bytes long and can assume the following vaules:
0x00 = Stop the wave generation. Not 0x00 = Start the wave generation. BaudRate: a value representing the baudrate setting of serial port. Attribute value is 4 bytes long. DataBits: a value representing the databits setting of serial port. Attribute value is 4 bytes long. StopBits: a value representing the stopbits setting of serial port. Attribute value is 4 bytes long. Parity: a value representing the parity setting of serial port. Attribute value is 4 bytes long and can assume the following values:
0x00 = No parity 0x01 = Odd parity 0x02 = Even parity FlowCtrl: a value representing the flow control setting of serial port. Attribute value is 4 bytes long and can assume the following values:
0x00 = No flow control 0x01 = Hardware flow control 0x02 = Software flow control (not yet implemented) DateTime: a value representing a date and time. Attribute value has a maximum length of 30 bytes. The data format is:
YYYYMMDD HH:MM:SS SelUnselOp: a value representing the tag selection operation defined by the ISO18000-6B protocol. Attribute value is 2 bytes long and can assume the following values:
0x00 = select equal 0x01 = select not equal 0x02 = select greater than 0x03 = select lower than 0x04 = unselect equal 0x05 = unselect not equal 0x06 = unselect greater than 0x07 = unselect lower than Bitmask: a value representing the flag parameter used in the newRawReadID command. Attribute value is 2 bytes long (only 8 least significant bits are used). REESERVED. IORegister: a value representing the status of the I/O lines of the reader. Where input lines are separated from output ones, input lines are mapped on the less significant bits while outputs are mapped on the most significant. Attribute value is 4 bytes long (effective used bits depend on the reader model). ConfigParameter: a value representing a configuration parameter. Attribute value is 4 bytes long and can assume the following values:
0x00 = ReadCycle configuration 0x01 = Observed Threshold configuation 0x02 = Lost Threshold configuration 0x03 = Starting Q value (Valid values: 0 15). EPC C1GEN2 Protocol only. 0x04 = Session (Valid values: 0 3). EPC C1GEN2 protocol only. 0x05 = Target (Valid values: 0 1). EPC C1GEN2 protocol only. 0x06 = Selected (Valid values: 0, 1, 2, 3). EPC C1GEN2 protocol only. 0x07 = Data Exchange Status B (Valid values: 0 1). ISO 18000-6B protocol only. 0x08 = Antenna dwell time during inventory (msec). A528 only. 0x09 = Inventory type (Valid values: 0 3). A528 only. ConfigValue: a value for the configuration parameter. Attribute value is 4 bytes long. NoOfTriggers: a value representing the number of triggers. Attribute value is 2 bytes long. NoOfChannels: a value representing the number of channels. Attribute value is 2 bytes long. EventMode: a value representing the event handling mode. Attribute value is 2 bytes long and can assume the following values:
0x00 = ReadCycle mode 0x01 = Time Mode 0x02 = No Event Mode UpgradeType: a value representing the type of upgrade to perform. Attribute value is 2 bytes long and can assume the following values:
0x01 = TFTP firmware upgrade. PROTOCOL SPECIFICATION - CAEN UHF RFID Readers Communication Protocol 9 Code 0x70 0x71 0x72 0x73 0x74 0x75 0x76 0x77 0x78 0x7A 0x7B 0x7C 0x7D 0x96 0xFB Description UpgradeArgument: a value representing the argument for the requested upgrade. Attribute value has a maximum length of 255 bytes. For TFTP upgrade (code 0x01) the string7 has the form: <tftpserverip> : <filename>. MemoryBank: a value representing the memory bank of a EPC Class 1 Generation 2 tag. Attribute value is 2 bytes long and can assume the following values:
0x00 = Reserved Memory Bank 0x01 = EPC Memory Bank 0x02 = TID Memory Bank 0x03 = User Memory Bank Payload: a value representing the payload parameter for the EPC Class 1 Gen 2 lock command
(see the EPC Gen2 specification for details). Attribute value is 4 bytes long. G2Password: a value representing the Acess / Kill password parameter for the EPC Class 1 Gen 2 commands (see the EPC Gen2 specification for details). Attribute value is 4 bytes long. G2NSI: a value representing the numbering system identifier for the EPC Class 1 Gen 2 tags id
(see the EPC Gen2 specification for details). Attribute value is 2 bytes long. QParameter: a value representing the initial value for the Q parameter involved in the EPC Class 1 Gen 2 anticollision algorithm (see the EPC Gen2 specification for details). Attribute value is 2 bytes long. ReaderInfo: a string8 indicating the model and the serial number of the reader. RFRegulation: a value representing the RF regulation to use. Attribute value is 2 bytes long and can assume the following values:
0x00 = ETSI EN 302 208 0x01 = ETSI EN 300 220 0x02 = FCC 0x03 = Malaysia 0x04 = Japan 0x05 = Korea 0x06 = Australia 0x07 = China 0x08 = Taiwan 0x09 = Singapore 0x0A = Brazil 0x0B = Japan_STD_T106 0x0C = Japan_STD_T107 Note: not all the values are supported by all the readers. For the list of RF regulation supported by each reader please refer to the readers user manual. RFChannel: a value representing the RF channel to use. Attribute value is 2 bytes long and can assume values in the range 0 9. Channels are referred to the ETSI EN 302 208 regulation. RSSI: a value representing the backscattered RF field strenght. Attribute value is 2 bytes long. AVP_OPTION AVP_XPC a value representing the XPC word. Attribute value is 4 bytes long. AVP_PC a value representing the PC word. Attribute value is 4 bytes long. PowerSet: a value (mW) representing the RF power emitted during the communication with tags. Attribute value is 4 bytes long (used to set a new current value). SourceName: a string9 representing the name of the data source. Attribute value has a maximum length of 30 bytes and can assume the following values:
Source_0, Source_1, Source_2, Source_3 Tab. 2.1: Attribute types 7 Regarding the string format our convention is to use a NULL terminate string, i.e. all the string end with 0x00. 8 The reader info string 's format is in the form <reader name> <space> <serial number>.Regarding the string format our convention is to use a NULL terminate string, i.e. all the string end with 0x00. 9 Regarding the string format our convention is to use a NULL terminate string, i.e. all the string end with 0x00. PROTOCOL SPECIFICATION - CAEN UHF RFID Readers Communication Protocol 10 Command codes Note: Some commands have been renamed to align the nomenclature in this manual and in the CAEN RFID API Reference Manual. See Tab. 2.4: Renamed Commands Table pag. 21 to know the equivalence between old and new name of the renamed commands. Note: Some commands have optional parameters. See Tab. 2.3: Commands with Optional Parameters Table pag. 20 to know the CAEN RFID readers that support them. For the compliance of the command codes with the obsolete readers, please refer to the previous revisions of the manual that can be downloaded in the Manuals and Documents area of the CAEN RFID web site. Code Description Comp. 0x12 RawReadIDs: permits to get all the tags Ids that are under the RF field of the selected source [obsolete]. Parameters:
SourceNameIn: [in] the name of the source to use. SourceNameOut: [out] the name of the source used. ReadPointName: [out] the name of the readpoint. TimeStamp: [out] the time at which the tags are detected. TagIDLen: [out] the ID length of the tags detected. ListOfIDs: [out] the list of Ids detected from the source. ResultCode: [out] the result code. Note: out parameters are repeated for each readpoint in the source. A941M PROTOCOL SPECIFICATION - CAEN UHF RFID Readers Communication Protocol 11 Code Description Comp. InventoryTag: permits to get all the tags Ids that are under the RF field of the selected source. Parameters:
SourceNameIn: [in] the name of the source to use (optional) Bank: [in] the number of the bank to use (optional). Length: [in] Filter Mask Length (optional). TagID: [in] the Filter Mask Value (optional). TagAddress: [in] Filter Mask Start Address (optional) Bitmask: [in] Inventory Flags. When set to 1 for each tag detected the RSSI value is returned. Default value 0. (Optional). Flags: (optional). Bit0: RSSI: a 1 value indicates the reader will transmit the RSSI (Return Signal Strength Indicator) in the response. Bit1: FRAMED: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 are buffered in the reader and trasmitted all together at the end of the inventory cycle Bit2: CONTINUOS: 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 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. Bit3: 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 compact option is enabled all the other data will be populated by this library with fakes values. Bit4: TID reading: a 1 value indicates that also the TID of the tag will be returned by the reader together with the other information. Bit5: EventTrigger: a 1 value indicated that the continuous acquisition will start once an event as a key pressure occurs (this flag requires also bit2 flag active) Bit6: XPC: a 1 value allows the reader to get the XPC word if backscattered by a tag. Tags that do not backscatter an XPC word will return an XPC attribute with all the 4 bytes set to 0 (A528, A528B, R1230CB, R1260I, R1260E and R1260U only). Bit7: obsolete (please refer to the previous revisions of the manual that can be downloaded in the Manuals and Documents area of the CAEN RFID web site) Bit8: obsolete (please refer to the previous revisions of the manual that can be downloaded in the Manuals and Documents area of the CAEN RFID web site) For each tag detected the parameters returned by the command are:
SourceNameOut: [out] the name of the source used ReadPointName: [out] the name of the readpoint. TimeStamp: [out] the time at which the tags are detected. TagType: [out] the tags type. TagIDLen: [out] the ID length of the tags detected. TagID: [out] the tags id. RSSI: [out] the tags backscattered field strength (optional, A528, A528B, R1230CB, R1260I, R1260E, R1260U , R4300P and R1240I only). ResultCode: [out] the result code. Note: out parameters are repeated for each readpoint in the source.
(See Tab. 2.3: Commands with Optional Parameters Table pag. 20 to know the CAEN RFID readers that support them) AddReadTrigger: obsolete (please refer to the previous revisions of the manual that can be downloaded in the Manuals and Documents area of the CAEN RFID web site) AddNotifyTrigger: obsolete (please refer to the previous revisions of the manual that can be downloaded in the Manuals and Documents area of the CAEN RFID web site) RemoveReadTrigger: obsolete (please refer to the previous revisions of the manual that can be downloaded in the Manuals and Documents area of the CAEN RFID web site) A941M R1230CB R1260I R1260U R1260E R4300P A528B R1240I R1170I R1270 0x13 0x3F 0x40 0x41 PROTOCOL SPECIFICATION - CAEN UHF RFID Readers Communication Protocol 12 Code 0x42 0x49 0x4A 0x53 0x54 0x5D 0x5E 0x5F 0x60 0x64 0x6E 0x6F 0x70 0x71 0x72 0x73 Description Comp. RemoveNotifyTrigger: obsolete (please refer to the previous revisions of the manual that can be downloaded in the Manuals and Documents area of the CAEN RFID web site) AllocateTrigger: obsolete (please refer to the previous revisions of the manual that can be downloaded in the Manuals and Documents area of the CAEN RFID web site) DeallocateTrigger: obsolete (please refer to the previous revisions of the manual that can be downloaded in the Manuals and Documents area of the CAEN RFID web site) AllocateChannel: obsolete (please refer to the previous revisions of the manual that can be downloaded in the Manuals and Documents area of the CAEN RFID web site) DeallocateChannel: obsolete (please refer to the previous revisions of the manual that can be downloaded in the Manuals and Documents area of the CAEN RFID web site) AddSourceToChannel: obsolete (please refer to the previous revisions of the manual that can be downloaded in the Manuals and Documents area of the CAEN RFID web site) RemoveSourceFromChannel: obsolete (please refer to the previous revisions of the manual that can be downloaded in the Manuals and Documents area of the CAEN RFID web site) AddReadPointToSource: permits to add a readpoint to a source. Parameters:
SourceName: [in] the name of the source. ReadPointName: [in] the name of the readpoint. ResultCode: [out] the result code. RemoveReadPointFromSource: permits to remove a readpoint from a source. Parameters:
SourceName: [in] the name of the source. ReadPointName: [in] the name of the readpoint. ResultCode: [out] the result code. SetPower: permits to set the RF power level. Parameters:
PowerSet: [in] the power level to set. ResultCode: [out] the result code. ReadTagData: obsolete (please refer to the previous revisions of the manual that can be downloaded in the Manuals and Documents area of the CAEN RFID web site) WriteTagData: obsolete (please refer to the previous revisions of the manual that can be downloaded in the Manuals and Documents area of the CAEN RFID web site) LockTag: obsolete (please refer to the previous revisions of the manual that can be downloaded in the Manuals and Documents area of the CAEN RFID web site) RESERVED SetBitRate: obsolete (please refer to the previous revisions of the manual that can be downloaded in the Manuals and Documents area of the CAEN RFID web site) GetPower: permits to get the current RF power level. Parameters:
PowerGet: [out] the current power level. ResultCode: [out] the result code. A528B R1240I A528B R1240I R1230CB R1260I R1260E R1260U A941M R4300P A528B R1240I R1170I R1270 A941M A528B R1240I A941M R1230CB R1260I R1260U R1260E R4300P A528B R1240I R1170I R1270 PROTOCOL SPECIFICATION - CAEN UHF RFID Readers Communication Protocol 13 Code 0x74 0x75 0x76 0x77 0x78 0x79 0x7A 0x7B 0x7C Description Comp. SetProtocol: permits to set the protocol to use. Parameters:
Protocol: [in] the protocol to use. ResultCode: [out] the result code. RESERVED CheckReadPointStatus: permits to check the quality of the antenna connection. Parameters:
ReadPointName: [in] the name of the readpoint. ReadPointStatus: [out] the quality of the connection. ResultCode: [out] the result code. CheckSourceInChannel: obsolete (please refer to the previous revisions of the manual that can be downloaded in the Manuals and Documents area of the CAEN RFID web site) CheckReadPointInSource: permits to verify if a readpoint belongs to a givens source. Parameters:
ReadPointName: [in] the name of the readpoint. SourceName: [in] the name of the source. Value: [out] a Boolean value meaning the belonging to the source. ResultCode: [out] the result code. GetProtocol: permits to get the protocol in use. Parameters:
Protocol: [out] the protocol in use. ResultCode: [out] the result code. A941M R1230CB R1260I R1260U R1260E R4300P A528B R1240I R1170I R1270 A941M A528B R1240I A941M R1230CB R1260I R1260U R1260E R4300P A528B R1240I R1170I R1270 A941M R1230CB R1260I R1260U R1260E R4300P A528B R1240I R1170I R1270 SetNetwork: obsolete (please refer to the previous revisions of the manual that can be downloaded in the Manuals and Documents area of the CAEN RFID web site) SetDESB: obsolete (please refer to the previous revisions of the manual that can be downloaded in the Manuals and Documents area of the CAEN RFID web site) GetFirmwareRelease: permits to get the firmware revision. Parameters:
FWRelease: [in] the firmware release. ResultCode: [out] the result code. A941M R1230CB R1260I R1260U R1260E R4300P A528B R1240I R1170I R1270 PROTOCOL SPECIFICATION - CAEN UHF RFID Readers Communication Protocol 14 Code 0x7D 0x7E 0x7F 0x80 0x81 0x82 0x83 0x84 0x85 0x86 0x87 Description Comp. GetDESB: obsolete (please refer to the previous revisions of the manual that can be downloaded in the Manuals and Documents area of the CAEN RFID web site) ProgramID: obsolete (please refer to the previous revisions of the manual that can be downloaded in the Manuals and Documents area of the CAEN RFID web site) KillTag: obsolete (please refer to the previous revisions of the manual that can be downloaded in the Manuals and Documents area of the CAEN RFID web site) RFOnOff: permits to start/stop the generation of a continuous wave. Used only for test and measurements purposes. Parameters:
RFOnOff: [in] = 0 stop; != 0 start ResultCode: [out] the result code GetBitRate: permits to get the BitRate in use. Parameters:
BitRate: [out] the BitRate in. ResultCode: [out] the result code. BlockWriteTag: obsolete (please refer to the previous revisions of the manual that can be downloaded in the Manuals and Documents area of the CAEN RFID web site) SetRS232: permits to modify the settings of the serial port. Parameters:
Baudrate: [in] the baud rate value. Databits: [in] the data bits setting. Stopbits: [in] the stop bits setting. Parity: [in] the parity setting. Flowctrl: [in] the flow control setting. ResultCode: [out] the result code. SetDateTime: permits to modify date and time. Parameters:
Datetime: [in] the date and time to set up. ResultCode: [out] the result code. GroupSelectUnselect: obsolete (please refer to the previous revisions of the manual that can be downloaded in the Manuals and Documents area of the CAEN RFID web site) GetIO: permits to read the current status of the I/O lines. Parameters:
IORegister: [out] the status of the I/O lines. ResultCode: [out] the result code. SetIO: permits to set the level of the output lines. Parameters:
IORegister: [in] the value to set to the output lines. ResultCode: [out] the result code. R1230CB R1260I R1260U R4300P A528B R1240I R1170I R1270 A941M A528B R1240I A941M R1230CB R1260I R1260U R1260E R4300P R1170I R1270 A941M A941M R1230CB R1260I R1260U R1260E R4300P A528B R1240I R1170I R1270 A941M R1230CB R1260I R1260U R1260E R4300P A528B R1240I R1170I R1270 PROTOCOL SPECIFICATION - CAEN UHF RFID Readers Communication Protocol 15 Code Description Comp. A941M R1230CB R1260I R1260U R1260E R4300P A528B R1240I R1170I R1270 A941M R1230CB R1260I R1260U R1260E R4300P A528B R1240I R1170I R1270 A941M R1230CB R1260I R1260U R1260E R4300P A528B R1240I R1170I R1270 A941M R1230CB R1260I R1260U R1260E R4300P A528B R1240I R1170I R1270 SetIODirection: permits to define the direction of the I/O lines.
(0 = input; 1 = output) Parameters:
IORegister: [in] the direction to set to the I/O lines. ResultCode: [out] the result code. 0x88 GetIODirection: permits to read the current status of the I/O lines. (0 = input; 1 =
output) Parameters:
IORegister: [out] the direction of the I/O lines. ResultCode: [out] the result code. 0x89 SetSourceConfig: permits to set a configure parameter for a logical source. Parameters:
SourceName: [in] the name of the source to configure. ConfigParameter: [in] the code of the parameter. ConfigValue: [in] the value for the parameter. ResultCode: [out] the result code. 0x8A GetSourceConfig: permits to read a configure parameter for a logical source. Parameters:
SourceName: [in] the name of the source to configure. ConfigParameter: [in] the code of the parameter. ConfigValue: [out] the value for the parameter. ResultCode: [out] the result code. GetTriggers: obsolete (please refer to the previous revisions of the manual that can be downloaded in the Manuals and Documents area of the CAEN RFID web site) GetChannels: obsolete (please refer to the previous revisions of the manual that can be downloaded in the Manuals and Documents area of the CAEN RFID web site) CheckSourceInTrigger: obsolete (please refer to the previous revisions of the manual that can be downloaded in the Manuals and Documents area of the CAEN RFID web site) CheckTriggerInChannel: obsolete (please refer to the previous revisions of the manual that can be downloaded in the Manuals and Documents area of the CAEN RFID web site) CheckChannelInTrigger: obsolete (please refer to the previous revisions of the manual that can be downloaded in the Manuals and Documents area of the CAEN RFID web site) SetEventMode: obsolete (please refer to the previous revisions of the manual that can be downloaded in the Manuals and Documents area of the CAEN RFID web site) GetEventMode: obsolete (please refer to the previous revisions of the manual that can be downloaded in the Manuals and Documents area of the CAEN RFID web site) FirmwareUpgrade: obsolete (please refer to the previous revisions of the manual that can be downloaded in the Manuals and Documents area of the CAEN RFID web site) E119ProgramID: obsolete (please refer to the previous revisions of the manual that can be downloaded in the Manuals and Documents area of the CAEN RFID web site) 0x8B 0x8C 0x8D 0x8E 0x8F 0x90 0x91 0x92 0x93 0x94 PROTOCOL SPECIFICATION - CAEN UHF RFID Readers Communication Protocol 16 Code 0x95 0x96 0x97 0x98 ProgramID_EPC_C1G2: permits to write the EPC in a Class 1 Gen 2 tag. Description Comp. Parameters:
SourceName: [in] the name of the source to use. TagIDLen: [in] the ID length of the tag (must be an even number). TagID: [in] the EPC to write into the tag memory. G2NSI: [in] the EPC numbering system. G2Password: [in] the EPC Access password (optional). ResultCode: [out] the result code.
(See Tab. 2.3: Commands with Optional Parameters Table pag. 20 to know the CAEN RFID readers that support them) ReadTagData_EPC_C1G2: permits to read data from anyone of the Gen2 tag memory banks. Parameters:
SourceName: [in, optional] the name of the source to use. Bank: [in] the number of the bank to use (optional). TagAddress: [in] Filter Mask Start Address (optional) TagIDLen: [in] the ID length of the tag. TagID: [in] the ID of the tag. MemoryBank: [in] the memory bank. TagAddress: [in] the address where to read the data. Length: [in] the number of bytes to read (must be an even number). TagValue: [out] the data read from the tag memory. G2Password: [in] the EPC Access password (optional). ResultCode: [out] the result code.
(See Tab. 2.3: Commands with Optional Parameters Table pag. 20 to know the CAEN RFID readers that support them). WriteTagData_EPC_C1G2: permits to write data into anyone of the Gen2 tag memory banks. Parameters:
SourceName: [in, optional] the name of the source to use. Bank: [in] the number of the bank to use (optional). TagAddress: [in] Filter Mask Start Address (optional) TagIDLen: [in] the ID length of the tag. TagID: [in] the ID of the tag. MemoryBank: [in] the memory bank. TagAddress: [in] the address where to write the data. Length: [in] the number of bytes to write (must be an even number). TagValue: [in] the data to write to the tag memory. G2Password: [in] the EPC Access password (optional). ResultCode: [out] the result code.
(See Tab. 2.3: Commands with Optional Parameters Table pag. 20 to know the CAEN RFID readers that support them) LockTag_EPC_C1G2: permits to execute the tag lock command defined by the EPC Class 1 Gen 2 protocol. Parameters:
SourceName: [in, optional] the name of the source to use. BankMask: [in] filter mask for the bank (optional). PositionMask: [in] filter mask start address (optional). TagIDLen: [in] the ID length of the tag to lock or the filter mask length TagID: [in] the ID of the tag or the filter mask to use (optional). G2Payload: [in] the lock payload. G2Password: [in] the EPC Access password (optional). ResultCode: [out] the result code.
(See Tab. 2.3: Commands with Optional Parameters Table pag. 20 to know the CAEN RFID readers that support them) A941M R1230CB R1170I R1270 A941M R1230CB R1260I R1260U R1260E R4300P A528B R1240I R1170I R1270 A941M R1230CB R1260I R1260U R1260E R4300P A528B R1240I R1170I R1270 A941M R1230CB R1260I R1260U R1260E R4300P A528B R1240I R1170I R1270 PROTOCOL SPECIFICATION - CAEN UHF RFID Readers Communication Protocol 17 Code Description Comp. KillTag_EPC_C1G2: permits to execute the tag kill command defined by the EPC Class 1 Gen 2 protocol. 0x99 Parameters:
SourceName: [in, optional] the name of the source to use. BankMask: [in] filter mask for the bank (optional). PositionMask: [in] filter mask start address (optional). TagIDLen: [in] the ID length of the tag. TagID: [in] the ID of the tag or the filter mask to use (optional). G2Password: [in] the kill password. ResultCode: [out] the result code.
(See Tab. 2.3: Commands with Optional Parameters Table pag. 20 to know the CAEN RFID readers that support them) Query_EPC_C1G2: permits to execute the tag query command defined by the EPC Class 1 Gen 2 protocol. If a tag is in the field result code is ERROR_SUCCESS (0x00) else result code is ERROR_TAGNOTPRESENT (0xCA). 0x9A Parameters:
SourceName: [in] the name of the source to use. ResultCode: [out] the result code. SetQ_EPC_C1G2: permits to change the initial value of the Q parameter used in the Gen2 anticollision algorithm. Parameters:
QParameter: [in] the value of the Q parameter. ResultCode: [out] the result code. 0x9B GetQ_EPC_C1G2: permits to read the initial value of the Q parameter used in the Gen2 anticollision algorithm. Parameters:
QParameter: [out] the value of the Q parameter. ResultCode: [out] the result code. 0x9C QueryAck_EPC_C1G2: obsolete (please refer to the previous revisions of the manual that can be downloaded in the Manuals and Documents area of the CAEN RFID web site)ResultCode: [out] the result code. GetReaderInfo: permits to read some information about the reader itself. Parameters:
ReaderInfo: [out] a string10 with information about the reader. ResultCode: [out] the result code. 0x9D 0x9E A941M R1230CB R1260I R1260U R1260E R4300P A528B R1240I R1170I R1270 A941M R1230CB R1260I R1260U R1260E R4300P A528B R1240I R1170I R1270 A941M R1230CB R1260I R1260U R1260E R4300P A528B R1240I R1170I R1270 A941M R1230CB R1260I R1260U R1260E R4300P A528B R1240I R1170I R1270 A941M R1230CB R1260I R1260U R4300P A528B R1240I R1170I R1270 10 Regarding the string format our convention is to use a NULL terminate string, i.e. all the string end with 0x00. PROTOCOL SPECIFICATION - CAEN UHF RFID Readers Communication Protocol 18 Code Description Comp. SetLBTMode: permits to enable or disable the Listen Before Talk capability on ETSI EN 302 208 compatible readers. Parameters:
Boolean: [in] 0 to disable LBT and 0 to enable LBT. ResultCode: [out] the result code. 0x9F GetLBTMode: permits to read the current setting for the Listen Before Talk capability on ETSI EN 302 208 compatible readers. Parameters:
Boolean: [out] 0 if LBT is disabled, 0 if LBT is enabled. ResultCode: [out] the result code. 0xA0 GetRFRegulation: permits to read the RF regulation used by the reader. Parameters:
RFRegulation: [out] the desired RF regulation. ResultCode: [out] the result code. 0xA2 SetRFChannel: permits to set the RF channel where the reader emits the RF field. Parameters:
RFChannel: [in] the RF channel. ResultCode: [out] the result code. 0xA3 GetRFChannel: permits to read the RF channel currently in use. Parameters:
RFChannel: [out] the RF channel. ResultCode: [out] the result code. GetChannelData: [Obsolete]
GetBufferedData: obsolete (please refer to the previous revisions of the manual that can be downloaded in the Manuals and Documents area of the CAEN RFID web site) LockBlockPermaLock_EPC_C1G2 ReadBLockPermalock_EPC_C1G2 0xA4 0xA7 0xB0 0xB1 0xB2 0xFFFF RESERVED Tab. 2.2: Command codes A941M R1230CB R1260I R1260U R1260E R4300P A528B R1240I R1170I R1270 A941M R1230CB R1260I R1260U R1260E R4300P A528B R1240I R1170I R1270 A941M R1230CB R1260I R1260U R1260E R4300P A528B R1240I R1170I R1270 A941M R1230CB R1260I R1260U R1260E R4300P R1170I R1270 A941M R1230CB R1260I R1260U R1260E R4300P R1170I R1270 A528B R1240I A528B R1240I PROTOCOL SPECIFICATION - CAEN UHF RFID Readers Communication Protocol 19 Commands with Optional Parameters The following table shows a list of EPC C1G2 commands with optional parameters and the CAEN RFID readers that support them (for information about the obsolete readers, please refer to the previous revisions of the manual that can be downloaded in the Manuals and Documents area of the CAEN RFID web site). Reader A941EU A528B R1230CB R1260I R1260U R1260E R4300P R1240I R1270 R1170I Command InventoryTag InventoryTag
+ SourceNameIn + bank + Length + TagID
+ TagAddress + Bitmask InventoryTag
+ flags s r e t e m a r a p l a n o i t p o
+
KillTag_EPC_C1G2 s r e t e m a r a p l a n o i t p o
+
KillTag_EPC_C1G2
+ BankMask + PositionMask + TagId x x x x x x x x x x x LockTag_EPC_C1G2 s r e t e m a r a p l a n o i t p o
+
LockTag_EPC_C1G2
+ BankMask + PositionMask + TagID +
G2Password ReadTagData_EPC_C1G2 ReadTagData_EPC_C1G2 +
G2Password ReadTagData_EPC_C1G2 + Bank +
TagAddress ReadTagData_EPC_C1G2 + Bank +
TagAddress + G2Password WriteTagData_EPC_C1G2 WriteTagData_EPC_C1G2 +
G2Password WriteTagData_EPC_C1G2 + Bank +
TagAddress WriteTagData_EPC_C1G2 + Bank +
TagAddress + G2Password s r e t e m a r a p l a n o i t p o
+
s r e t e m a r a p l a n o i t p o
+
ProgramID_EPC_C1G2 x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x s r e t e m a r a p l a n o i t p o
+
ProgramID_EPC_C1G2 + G2Password Tab. 2.3: Commands with Optional Parameters Table PROTOCOL SPECIFICATION - CAEN UHF RFID Readers Communication Protocol 20 Renamed Commands Table Some commands have been renamed to align the nomenclature in this manual and in the CAEN RFID API Reference manual (you can download this manual from the CAEN RFID Web Site). The following table shows the equivalence between old and new name of the renamed commands. Old name New name NewRawReadIDs InventoryTag G2Kill G2Write G2Read G2Lock KillTag_EPC_C1G2 WriteTagData_EPC_C1G2 ReadTagData_EPC_C1G2 LockTag_EPC_C1G2 G2ProgramID ProgramID_EPC_C1G2 G2Query G2SetQ G2GetQ Query_EPC_C1G2 SetQ_EPC_C1G2 GetQ_EPC_C1G2 G2QueryAck QueryAck_EPC_C1G2 G2ReadBlockPermalock ReadBLockPermalock_EPC_C1G2 G2LockBlockPermablock LockBLockPermalock_EPC_C1G2 Tab. 2.4: Renamed Commands Table PROTOCOL SPECIFICATION - CAEN UHF RFID Readers Communication Protocol 21 3 ASYNCHRONOUS NOTIFICATION The notification channels are implemented only with sockets. All the messages notifications are composed by a header and a body. In all cases the body of the message is a list of attribute-value pairs. The first AVP of the body is fixed and called NotifyMessage. All the packets for notification channel share the same header format of other packet as described at 3. The first AVP (NotifyMessage) is followed by a list of AVPs, the number of which depends on how many tags should be notified. Each AVP has the same format of the AVP described in 3. The NotifyMessage has the following fixed format:
1 2 3 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1
+-------------------------------+------------------------------+
| RESERVED | 8 |
+-------------------------------+------------------------------+
| CommandName
|
+-------------------------------+------------------------------+
| ReportBuffer After the NotifyMessage AVP we can receive:
a) b) a list of AVPs (as described in table 3) followed by an AVP with Attribute Type ResultCode a single AVP called KillMessage with the following fixed format:
1 2 3 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1
+-------------------------------+------------------------------+
| RESERVED | 8 |
+-------------------------------+------------------------------+
| KillCommand
|
+-------------------------------+------------------------------+
| KillCommand Description TimeStamp: the timestamp of the notification TagIDLen: the ID length of the tag. TagID: the ID of the tag. SourceName: the name of the source to use. EventType: the type of the notified event Tab. 3.3.1: Attribute types: Notification AVP List ASYNCHRONOUS NOTIFICATION - CAEN UHF RFID Readers Communication Protocol 22 4 EXAMPLES Set Protocol Command Action: Set Reader Protocol to EPC C1G2 Result: Reader selects EPC C1G2 protocol. Command sent:
0x8001 0x0000 0x00005358 0x001C 0x0000 0x0008 0x0001 0x0074 0x0000 0x000A 0x0054 0x00000003 Response received:
0x0001 0x0000 0x00005358 0x001A 0x0000 0x0008 0x0001 0x0074 0x0000 0x0008 0x0002 0x0000
(Fixed)
(Message ID)
(Vendor ID = CAEN SpA)
(Message Length)
(Reserved)
(AVP Length)
(AVP Type = CommandName)
(AVP Value = SetProtocol)
(Reserved)
(AVP Length)
(AVP Type = Protocol)
(AVP Value = EPC C1G2)
(Fixed)
(Message ID)
(Vendor ID = CAEN SpA)
(Overall Message Length)
(Reserved)
(AVP Length)
(AVP Type = CommandName)
(AVP Value = SetProtocol)
(Reserved)
(AVP Length)
(AVP Type = ResultCode)
(AVP Value = Success) EXAMPLES - CAEN UHF RFID Readers Communication Protocol 23 InventoryTag Command Action: Execute an inventory cycle on the logical source Source0 Result: Two EPCC1G2 tags are returned as being inventory by the reader on Ant0. Tag1 Id = 010203040506070809101112131415161718191920 (160 bit) Tag2 Id = 300833B2DDD9014035050000 (96 bit)
(Reserved)
(AVP Length)
(AVP Type = SourceName)
(AVP Value = Source_0)
(Reserved)
(AVP Length)
(AVP Type = CommandName)
(AVP Value = InventoryTag)
(Reserved)
(AVP Length)
(AVP Type = CommandName)
(AVP Value = InventoryTag)
(Fixed)
(Message ID)
(Vendor ID = CAEN SpA)
(Overall Message Length)
(Fixed)
(Message ID)
(Vendor ID = CAEN SpA)
(Message Length) Command sent:
0x8001 0x0000 0x00005358 0x0021 0x0000 0x0008 0x0001 0x0013 0x0000 0x000F 0x00FB 0x536F757263655F3000 Response received:
0x0001 0x0000 0x00005358 0x00B6 0x0000 0x0008 0x0001 0x0013 0x0000 0x000F 0x00FB 0x536F757263655F3000 0x0000 0x000B 0x0022 416E743000 0x0000 0x000E 0x0010 0x00000578 0x00000000 0x0000 0x0008 0x0012 0x0003 0x0000 0x0008 0x000F 0x0014 0x0000 0x001A 0x0011 0x010203040506070809101112131415161718191920 0x0000 0x000F 0x00FB
(Reserved)
(AVP Length)
(AVP Type = TagID)
(Reserved)
(AVP Length)
(AVP Type = TagType)
(AVP Value = EPCC1G2)
(Reserved)
(AVP Length)
(AVP Type = TagIDLen)
(AVP Value = 160 bit)
(Reserved)
(AVP Length)
(AVP Type = SourceName)
(Reserved)
(AVP Length)
(AVP Type = SourceName)
(AVP Value = Source_0)
(Reserved)
(AVP Length)
(AVP Type = ReadPointName)
(AVP Value = Ant0)
(Reserved)
(AVP Length)
(AVP Type = TimeStamp)
(AVP Value = Thu Jan 1 01:23:20 1970)
(AVP Value) EXAMPLES - CAEN UHF RFID Readers Communication Protocol 24
(AVP Value)
(Reserved)
(AVP Length)
(AVP Type = ReadPointName)
(AVP Value = Ant0)
(Reserved)
(AVP Length)
(AVP Type = TimeStamp)
(AVP Value = Thu Jan 1 01:23:20 1970)
(AVP Value) 0x536F757263655F3000 0x0000 0x000B 0x0022 0x416E743000 0x0000 0x000E 0x0010 0x00000578 0x00000000 0x0000 0x0008 0x0012 0x0003 0x0000 0x0008 0x000F 0x000C 0x0000 0x0012 0x0011 0x300833B2DDD9014035050000 0x0000 0x0008 0x0002 0x0000
(Reserved)
(AVP Length)
(AVP Type = TagType)
(AVP Value = EPCC1G2)
(Reserved)
(AVP Length)
(AVP Type = TagIDLen)
(AVP Value = 96 bit)
(Reserved)
(AVP Length)
(AVP Type = TagID)
(Reserved)
(AVP Length)
(AVP Type = ResultCode)
(AVP Value = Success) EXAMPLES - CAEN UHF RFID Readers Communication Protocol 25 WriteTagData_EPC_C1G2 Command Command sent:
0x8001 0x001A 0x00005358 0x005d 0x0000 0x0008 0x0001 0x0097 0x0000 0x000F 0x00FB 0x536F757263655F3000 0x0000 0x0008 0x000F 0x000C 0x0000 0x0012 0x0011 0x300833B2DDD9014035050000 0x0000 0x0008 0x0071 0x0003 0x0000 0x0008 0x004e 0x0000 0x0000 0x0008 0x0050 0x0004 0x0000 0x000a 0x004d 0x00000000 Response received:
0x0001 0x001A 0x00005358 0x001A 0x0000 0x0008 0x0001 0x0097 0x0000 0x0008 0x0002 0x0000
(Fixed)
(Message ID)
(Vendor ID = CAEN SpA)
(Message Length)
(Reserved)
(AVP Length)
(AVP Type = CommandName)
(AVP Value = WriteTagData_EPC_C1G2)
(Reserved)
(AVP Length)
(AVP Type = SourceName)
(AVP Value)
(Reserved)
(AVP Length)
(AVP Type = TagIDLen)
(AVP Value = 96 bit)
(Reserved)
(AVP Length)
(AVP Type = TagID)
(Reserved)
(AVP Length)
(AVP Type = Memory Bank)
(AVP Value = User Memory Bank)
(Reserved)
(AVP Length)
(AVP Type = Tag Address)
(AVP Value = Address)
(Reserved)
(AVP Length)
(AVP Type = Length)
(AVP Value = # of bytes)
(Reserved)
(AVP Length)
(AVP Type = Tag Value)
(AVP Value = bytes to be written)
(Fixed)
(Message ID)
(Vendor ID = CAEN SpA)
(Overall Message Length)
(Reserved)
(AVP Length)
(AVP Type = CommandName)
(AVP Value = WriteTagData_EPC_C1G2)
(Reserved)
(AVP Length)
(AVP Type = ResultCode)
(AVP Value = Success) EXAMPLES - CAEN UHF RFID Readers Communication Protocol 26 ReadTagData_EPC_C1G2 Command Command sent:
0x8001 0x000E 0x00005358 0x0053 0x0000 0x0008 0x0001 0x0096 0x0000 0x000F 0x00FB 0x536F757263655F3000 0x0000 0x0008 0x000F 0x000C 0x0000 0x0012 0x0011 0x300833B2DDD9014035050000 0x0000 0x0008 0x0071 0x0003 0x0000 0x0008 0x004e 0x0000 0x0000 0x0008 0x0050 0x0004 Response received:
0x0001 0x000E 0x00005358 0x0024 0x0000 0x0008 0x0001 0x0096 0x0000 0x000A 0x004d 0x00000000 0x0000 0x0008 0x0002 0x0000
(Fixed)
(Message ID)
(Vendor ID = CAEN SpA)
(Message Length)
(Reserved)
(AVP Length)
(AVP Type = CommandName)
(AVP Value = ReadTagData_EPC_C1G2)
(Reserved)
(AVP Length)
(AVP Type = SourceName)
(AVP Value)
(Reserved)
(AVP Length)
(AVP Type = TagIDLen)
(AVP Value = 96 bit)
(Reserved)
(AVP Length)
(AVP Type = TagID)
(Reserved)
(AVP Length)
(AVP Type = Memory Bank)
(AVP Value = User Memory Bank)
(Reserved)
(AVP Length)
(AVP Type = Tag Address)
(AVP Value = Address)
(Reserved)
(AVP Length)
(AVP Type = Length)
(AVP Value = # of bytes)
(Fixed)
(Message ID)
(Vendor ID = CAEN SpA)
(Overall Message Length)
(Reserved)
(AVP Length)
(AVP Type = CommandName)
(AVP Value = ReadTagData_EPC_C1G2)
(Reserved)
(AVP Length)
(AVP Type = Tag Value)
(AVP Value = bytes to be read)
(Reserved)
(AVP Length)
(AVP Type = ResultCode)
(AVP Value = Success) EXAMPLES - CAEN UHF RFID Readers Communication Protocol 27 Set Power Command Command sent:
0x8001 0x0000 0x00005358 0x001C 0x0000 0x0008 0x0001 0x0064 0x0000 0x000A 0x0096 0x000003E8 Response received:
0x0001 0x0000 0x00005358 0x001A 0x0000 0x0008 0x0001 0x0064 0x0000 0x0008 0x0002 0x0000
(Fixed)
(Message ID)
(Vendor ID = CAEN SpA)
(Message Length)
(Reserved)
(AVP Length)
(AVP Type = CommandName)
(AVP Value = Set Power)
(Reserved)
(AVP Length)
(AVP Type = Power Set)
(AVP Value = 1000 mW)
(Fixed)
(Message ID)
(Vendor ID = CAEN SpA)
(Overall Message Length)
(Reserved)
(AVP Length)
(AVP Type = CommandName)
(AVP Value = Set Power)
(Reserved)
(AVP Length)
(AVP Type = ResultCode)
(AVP Value = Success) EXAMPLES - CAEN UHF RFID Readers Communication Protocol 28 LockTag Command Command sent:
0x8001 0x0009 0x00005358 0x004F 0x0000 0x0008 0x0001 0x0098 0x0000 0x000F 0x00FB 0x536F757263655F3000 0x0000 0x0008 0x000F 0x000C 0x0000 0x0012 0x0011 0x300833B2DDD9014035050000 0x0000 0x000A 0x0072 0x00000C02 0x0000 0x000A 0x0073 0x12345678 Response received:
0x0001 0x0009 0x00005358 0x001A 0x0000 0x0008 0x0001 0x0098 0x0000 0x0008 0x0002 0x0000
(Fixed)
(Message ID)
(Vendor ID = CAEN SpA)
(Message Length)
(Reserved)
(AVP Length)
(AVP Type = CommandName)
(AVP Value = LockTag_EPC_C1G2)
(Reserved)
(AVP Length)
(AVP Type = SourceName)
(AVP Value)
(Reserved)
(AVP Length)
(AVP Type = TagIDLen)
(AVP Value = 96 bit)
(Reserved)
(AVP Length)
(AVP Type = TagID)
(Reserved)
(AVP Length)
(AVP Type = Payload)
(AVP Value = User memory accessible on secure)
(Reserved)
(AVP Length)
(AVP Type = G2Password)
(AVP Value = Password)
(Fixed)
(Message ID)
(Vendor ID = CAEN SpA)
(Overall Message Length)
(Reserved)
(AVP Length)
(AVP Type = CommandName)
(AVP Value = LockTag_EPC_C1G2)
(Reserved)
(AVP Length)
(AVP Type = ResultCode)
(AVP Value = Success) EXAMPLES - CAEN UHF RFID Readers Communication Protocol 29 Continuous Inventory Command Command sent (set read cycle to 0):
0x8001 0x0003 0x00005358 0x0035 0x0000 0x0008 0x0001 0x008A 0x0000 0x000F 0x00FB 0x536F757263655F3000 0x0000 0x000A 0x006A 0x00000000 0x0000 0x000A 0x006B 0x00000000 Response received:
0x0001 0x0003 0x00005358 0x001A 0x0000 0x0008 0x0001 0x008A 0x0000 0x0008 0x0002 0x0000
(Fixed)
(Message ID)
(Vendor ID = CAEN SpA)
(Message Length)
(Reserved)
(AVP Length)
(AVP Type = CommandName)
(AVP Value = Set Source Config)
(Reserved)
(AVP Length)
(AVP Type = SourceName)
(AVP Value)
(Reserved)
(AVP Length)
(AVP Type = Config Parameter)
(read cycle)
(Reserved)
(AVP Length)
(AVP Type = Config Value)
(read cycle = 0)
(Fixed)
(Message ID)
(Vendor ID = CAEN SpA)
(Overall Message Length)
(Reserved)
(AVP Length)
(AVP Type = CommandName)
(AVP Value = Set Source Config)
(Reserved)
(AVP Length)
(AVP Type = ResultCode)
(AVP Value = Success) Command sent (Continuous inventory):
0x8001 0x0002 0x00005358 0x0040 0x0000 0x0008 0x0001 0x0013 0x0000 0x000F 0x00FB 0x536F757263655F3000 0x0000 0x0008 0x0050 0x0000
(Fixed)
(Message ID)
(Vendor ID = CAEN SpA)
(Message Length)
(Reserved)
(AVP Length)
(AVP Type = CommandName)
(AVP Value = InventoryTag)
(Reserved)
(AVP Length)
(AVP Type = SourceName)
(AVP Value)
(Reserved)
(AVP Length)
(AVP Type = Length)
(AVP Value = 0 byte) EXAMPLES - CAEN UHF RFID Readers Communication Protocol 30 0x0000 0x0007 0x0011 0x00 0x0000 0x0008 0x004e 0x0000 0x0000 0x0008 0x0067 0x0006 Response received:
0x0001 0x0002 0x00005358 0x0000 0x0000 0x0008 0x0001 0x0013 0x0000 0x0008 0x0002 0x0000
(Reserved)
(AVP Length)
(AVP Type = TagID)
(Reserved)
(AVP Length)
(AVP Type = Tag Address)
(AVP Value = Address)
(Reserved)
(AVP Length)
(AVP Type = Bit Mask)
(AVP Value = Flags: FRAMED and CONTINUOS)
(Fixed)
(Message ID)
(Vendor ID = CAEN SpA)
(Overall Message Length not defined)
(Reserved)
(AVP Length)
(AVP Type = CommandName)
(AVP Value = InventoryTag)
(Reserved)
(AVP Length)
(AVP Type = ResultCode)
(AVP Value = Success) Now the reader will send a data packet every time it will detect a valid tag in the field. To Exit from the Continuous Inventory mode the following byte shall be sent to the reader:
0xAB The Reader does not reply with any byte.
(Stop the continuous acquisition mode) EXAMPLES - CAEN UHF RFID Readers Communication Protocol 31
1 2 | User Manual 3 | Users Manual | 1.18 MiB | September 06 2017 |
TECHNICAL INFORMATION MANUAL Revision 0.2 - 27 April 2017 R1170I Keyfob Bluetooth UHF RFID Reader Visit qIDmini R1170I web page, you will find the latest revision of data sheets, manuals, certifications, technical drawings, software and firmware. All you need to start using your reader in a few clicks!
Scope of Manual The goal of this manual is to provide the basic information to work with the qIDmini R1170I Keyfob Bluetooth UHF RFID Reader. Change Document Record Date 23 June 2014 13 February 2017 Revision 00 0.1 27 April 2017 0.2 Reference Document Changes Preliminary release Updated FCC compliance declaration Added note for RF power of FCC compliant models Changed RF power level for FCC compliant models Updated FCC compliance declaration Pages 42, 44
-
51 47 51
[RD1] EPCglobal: EPC Radio-Frequency Identity Protocols Class-1 Generation-2 UHF RFID Protocol for Communications at 860 MHz 960 MHz, Version 1.1.0 (December 17, 2005). CAEN RFID srl Via Vetraia, 11 55049 Viareggio (LU) - ITALY Tel. +39.0584.388.398 Fax +39.0584.388.959 info@caenrfid.com www.caenrfid.com CAEN RFID srl 2017 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.com. Preliminary Product Information This document contains information for a new product. CAEN RFID reserves the right to modify this product without notice. Preliminary product information describes products that are ready for production, but for which full characterization data is not yet available. CAEN RFID believes that the information contained in this document is accurate and reliable. However, the information is subject to change without notice and is provided AS IS without warranty of any kind
(Express or implied). You are advised to obtain the latest version of relevant information to verify, before placing orders, that information being relied on is current and complete. All products are sold subject to the terms and conditions of sale supplied at the time of order acknowledgement, including those pertaining to warranty, patent infringement, and limitation of liability. No responsibility is assumed by CAEN RFID for the use of this information, including use of this information as the basis for manufacture or sale of any items, or for infringement of patents or other rights of third parties. Federal Communications Commission (FCC) Notice 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. Disposal of the product Do not dispose the product in municipal or household waste. Please check your local regulations for disposal/recycle of electronic products. Index 3 2 Scope of Manual.........................................................................................................................................................................2 Change Document Record..........................................................................................................................................................2 Reference Document..................................................................................................................................................................2 Index ..........................................................................................................................................................................................4 List of Figures.................................................................................................................................................................................5 List of Tables..................................................................................................................................................................................5 1 INTRODUCTION...................................................................................................................................................................6 Product Description....................................................................................................................................................................6 Front panel.....................................................................................................................................................................7 Charging.........................................................................................................................................................................8 USB connector................................................................................................................................................................8 Accessories.................................................................................................................................................................................8 Development Kit.........................................................................................................................................................................9 Ordering Options......................................................................................................................................................................10 GETTING STARTED.............................................................................................................................................................11 Introduction..............................................................................................................................................................................11 Bluetooth Communication Setup using the Easy Controller for Android..................................................................................11 QIDMINI EASY2RD PROFILE...............................................................................................................................................16 Introduction..............................................................................................................................................................................16 Android devices........................................................................................................................................................................17 Bluetooth Communication Setup using the Easy Controller for Android......................................................................17 Windows PCs............................................................................................................................................................................22 Bluetooth Communication Setup.................................................................................................................................22 USB Communication Setup...........................................................................................................................................24 Connecting the qIDmini using the Easy Controller for Windows..................................................................................26 iOS devices................................................................................................................................................................................28 Bluetooth Communication Setup.................................................................................................................................28 QIDMINI HID PROFILE........................................................................................................................................................31 Introduction..............................................................................................................................................................................31 Android devices........................................................................................................................................................................31 Bluetooth Communication Setup.................................................................................................................................31 Windows PCs............................................................................................................................................................................33 Bluetooth Communication Setup.................................................................................................................................33 USB Communication Setup...........................................................................................................................................36 iOS devices................................................................................................................................................................................38 Bluetooth Communication Setup.................................................................................................................................38 RESET THE QIDMINI READER..............................................................................................................................................40 QIDMINI CONFIGURATION MENU......................................................................................................................................41 Introduction..............................................................................................................................................................................41 PROFILE.....................................................................................................................................................................................43 BEEP..........................................................................................................................................................................................43 VIBRATE....................................................................................................................................................................................44 POWER......................................................................................................................................................................................44 QIDMINI FIRMWARE UPGRADE.........................................................................................................................................45 Firmware Upgrade....................................................................................................................................................................45 QIDMINI TECHNICAL SPECIFICATIONS................................................................................................................................47 Technical Specifications Table...................................................................................................................................................47 Reader Tag Link Profiles.........................................................................................................................................................48 Radiation Patterns....................................................................................................................................................................49 Model R1170IE (ETSI version).......................................................................................................................................49 Model R1170IU (FCC version).......................................................................................................................................50 QIDMINI REGULATORY COMPLIANCE................................................................................................................................51 5 6 7 8 9 4 4 List of Figures Fig. 1.1: qIDmini R1170I Keyfob Bluetooth UHF RFID Reader.................................................................................................................6 Fig. 1.2: qIDmini R1170I Front Panel......................................................................................................................................................7 Fig. 1.3: qIDmini R1170I Accessories......................................................................................................................................................8 Fig. 1.4: R1170IDK qIDmini Keyfob Bluetooth UHF RFID Reader Development Kit..............................................................................9 Fig. 8.1: qIDmini R1170IE Radiation pattern H plane...........................................................................................................................49 Fig. 8.2: qIDmini R1170IE Radiation pattern V plane............................................................................................................................49 Fig. 8.3: qIDmini R1170IU Radiation pattern H plane...........................................................................................................................50 Fig. 8.4: qIDmini R1170IU Radiation pattern V plane...........................................................................................................................50 List of Tables Tab. 1.1: qIDmini R1170I Front Panel LEDs and Buttons........................................................................................................................7 Tab. 1.2: qIDmini R1170I Power LED Status Table..................................................................................................................................8 Tab. 1.3: qIDmini R1170I Bluetooth LED status table.............................................................................................................................8 Tab. 1.4: Compatibility table between the Apple/HID models and different OS..................................................................................10 Tab. 3.1: Compatibility table between the Apple/HID models and different OS in the EASY2RD profile.............................................16 Tab. 4.1: Compatibility table between the Apple/HID models and different OS in the HID profile......................................................31 Tab. 8.1: qIDmini R1170I Technical Specifications Table......................................................................................................................47 Tab. 8.2: qIDmini R1170I Reader to tag link profiles............................................................................................................................48 5 1 INTRODUCTION Product Description The qIDmini (Model R1170I) is a handheld reader of the easy2read product family, compliant with UHF RFID ISO 18000-6C/EPC C1G2 standards. The qIDmini has an integrated antenna suited for short to medium range applications and, thanks to the Bluetooth communication interface, it is a perfect UHF RFID add-on for any Bluetooth enabled host such as a PC, a smartphone, a PDA or a tablet. The reader is compatible with Windows XP/7, Windows CE/Mobile, Android, iPhone and iPad. The HID version supports native keyboard emulation allowing to interact directly with legacy application, office automation SW or any other generic solution requiring manual input. When paired to a smartphone or a tablet, the qIDmini is a cost effective alternative to more expensive handheld devices. Designed for mobile operators in indoor or outdoor areas, the qIDmini is ideal for in-store inventory management, field sales mobility, service and maintenance applications. Fig. 1.1: qIDmini R1170I Keyfob Bluetooth UHF RFID Reader The reader is available either in ETSI or FCC version (see Ordering Options page 10):
865.600867.600 MHz (ETSI EN 302 208 v. 1.4.1) (Mod. R1170IEHIDP and R1170IEAPLP) 902928 MHz (FCC part 15.247) (Mod. R1170IUHIDP and R1170IUAPLP) Introduction - qIDmini Technical Information Manual 6 The reader is available in two models: APPLE or HID (see Ordering Options page 10):
APPLE model EASY2RD profile: the reader can be connected to all the devices supporting the Bluetooth SPP profile and to iOS devices. HID profile: not supported. HID model EASY2RD profile: the reader can be connected to all the devices supporting the Bluetooth SPP profile but not to iOS devices. HID profile: the reader can be connected to all the devices supporting the Bluetooth HID profile
(keyboard emulation), including iOS devices. For more information about EASY2RD and HID profiles, please refer to PROFILE paragraph page 43. Front panel The qIDmini R1170I front panel houses the following LEDs and buttons (see figure below):
Fig. 1.2: qIDmini R1170I Front Panel No. 1 2 3 4 5 Name Display Link LED Power LED Trigger button Power button Description LCD Alphanumeric (8 chars x 2 lines) Indicates the Bluetooth and USB/charger connection (see Tab. 1.3: qIDmini R1170I Bluetooth LED status table) Indicates the reader status and battery level (see Tab. 1.2: qIDmini R1170I Power LED Status Table) Inventory mode: press to perform an inventory cycle (hold down the button to repeat inventory cycles) Menu mode: quick press to scroll, hold down for a few seconds to activate an option Press the button to switch on the reader, press for at least 2 seconds to switch it off Menu mode: press to return to the main menu Tab. 1.1: qIDmini R1170I Front Panel LEDs and Buttons Introduction - qIDmini Technical Information Manual 7 Status Green Orange Red Status OFF Orange Blue Description Reader is active and the battery charge is in the range 35100%
Reader is active and the battery charge is in the range 1535%
Reader is active and the battery charge is in the range 015%
Tab. 1.2: qIDmini R1170I Power LED Status Table Description No connection established USB cable connected (both to a PC or to the AC power adapter) Bluetooth connected Tab. 1.3: qIDmini R1170I Bluetooth LED status table Charging The qIDmini R1170I is supplied with an USB cable and a power supply for charging (see Accessories page 8). When you put the reader in charge, the display lights up and shows the blinking charge indicator. The fixed indication
"charge 100%" informs you that the charging is complete. USB connector A micro USB Type B socket connector is located in the bottom side of qIDmini R1170I and can be used to connect the reader to an USB host port or to an AC/DC battery charger. Accessories Check for the supplied accessories below:
Fig. 1.3: qIDmini R1170I Accessories Introduction - qIDmini Technical Information Manual 8 Development Kit R1170IDK Keyfob Bluetooth UHF RFID Reader Development Kit is available:
Fig. 1.4: R1170IDK qIDmini Keyfob Bluetooth UHF RFID Reader Development Kit The qIDmini R1170IDK development kit is a complete RFID set up, for a quick implementation of RFID solutions. It includes:
n. 1 R1170I qIDmini Keyfob Bluetooth UHF RFID Reader n. 1 Set of Labels n. 1 A927Z Temperature Logger Tag n. 1 RT0005 Temperature Logger Tag n. 1 Lanyard n. 1 Retractable Roller n. 1 Power supply n. 1 USB cable Introduction - qIDmini Technical Information Manual 9 Ordering Options Reader Development kit Code WR1170IEAPLP WR1170IEHIDP WR1170IUAPLP WR1170IUHIDP WR1170IDKEAP WR1170IDKEHI WR1170IDKUAP WR1170IDKUHI Description R1170IEAPLP - qIDmini Keyfob Bluetooth UHF RFID Reader (ETSI) with Apple profile R1170IEHIDP - qIDmini Keyfob Bluetooth UHF RFID Reader (ETSI) with HID profile R1170IUAPLP - qIDmini Keyfob Bluetooth UHF RFID Reader (FCC) with Apple profile R1170IUHIDP - qIDmini Keyfob Bluetooth UHF RFID Reader (FCC) with HID profile R1170IDKEAP - Development kit with qIDmini R1170I Reader
(ETSI with Apple profile) and demo tags R1170IDKEHI - Development kit with qIDmini R1170I Reader
(ETSI with HID profile) and demo tags R1170IDKUA - Development kit with qIDmini R1170I Reader (FCC with Apple profile) and demo tags R1170IDKUA - Development kit with qIDmini R1170I Reader (FCC with HID profile) and demo tags In the following table it is shown the compatibility between the Apple/HID models and different Operating Systems
(Android, PC and iOS):
PROFILES PROFILES APPLE MODEL1 ANDROID PC iOS EASY2RD HID MODEL2 ANDROID PC iOS EASY2RD
-
HID
-
-
-
HID Tab. 1.4: Compatibility table between the Apple/HID models and different OS 1 APPLE Model Ordering Options: WR1170IEAPLP, WR1170IUAPLP, WR1170IDKEAP, WR1170IDKUAP 2 HID Model Ordering Options: WR1170IEHIDP, WR1170IUHIDP, WR1170IDKEHI, WR1170IDKUHI Introduction - qIDmini Technical Information Manual 10 2 GETTING STARTED Introduction This quickstart guide will help you to get started with your qIDmini (Model R1170I) reader. The qIDmini R1170I has two communication interfaces: USB and Bluetooth. The last one is the preferred communication interface using the SPP profile (Serial Port Profile). After powering on the reader, the Bluetooth interface is available to accept incoming connection requests
(discoverable) from Bluetooth enabled hosts like PCs, PDAs, Tablets, Smartphones and so on. In the qIDmini Configuration Menu you can choose between two different profile options:
EASY2RD (factory default): choosing this option you select the CAEN RFID easy2read communication protocol. Select this option in order to control the reader using the CAEN RFID Easy Controller Application or the SDK (Software Development Kits) library. For details on the use with the EASY2RD profile please refer to qIDmini EASY2RD Profile chapter page 16. HID3: choosing this option you select the keyboard emulation protocol. For details on the use on the HID profile please refer to qIDmini HID profile chapter page 31. The reader is sold with the factory profile set to EASY2RD. This guide helps you to getting started with your reader using the EASY2RD profile. Bluetooth Communication Setup using the Easy Controller for Android 1. 2. Download the CAEN RFID Easy Controller for Android App from the qIDmini R1170I web page, by clicking on the Android APP on Google Play icon. Launch the CAEN RFID Easy Controller for Android App. 3 HID profile is not available for qIDmini R1170I with APPLE profile (ordering options: WR1170IEAPLP, WR1170IUAPLP, WR1170IDKEAP, WR1170IDKUAP) Getting Started - qIDmini Technical Information Manual 11 3. Click on Add reader:
4. Click on Bluetooth in the Connection Type window:
Getting Started - qIDmini Technical Information Manual 12 5. Click on yes to confirm the Bluetooth permission request:
6. Select the qIDmini R1170I reader from the list of Bluetooth devices:
Getting Started - qIDmini Technical Information Manual 13 7. Confirm the passkey:
8. Once the connection is established the Bluetooth blue light turns on. 9. To start using your qIDmini R1170I, click on the reader line:
Getting Started - qIDmini Technical Information Manual 14 10. Click on Start Inventory:
11. A list of the read tags is shown:
Getting Started - qIDmini Technical Information Manual 15 3 QIDMINI EASY2RD PROFILE Introduction Choosing the EASY2RD profile option you select the CAEN RFID easy2read communication protocol. Select this option in order to control the reader using the CAEN RFID Easy Controller Application or the SDK (Software Development Kits) library. For details on the available profiles and on the activation method please refer to PROFILE paragraph page 43. Note that the APPLE model reader (see Ordering Options page 10) can be connected to all devices using the EASY2RD profile, while the HID model reader can be connected through the EASY2RD profile to all devices except the iOS ones. In the following table it is shown the compatibility between the Apple/HID models and different Operating Systems
(Android, PC and iOS) in the EASY2RD profile:
APPLE MODEL4 HID MODEL5 ANDROID PC iOS
-
Tab. 3.5: Compatibility table between the Apple/HID models and different OS in the EASY2RD profile 4 APPLE Model Ordering Options: WR1170IEAPLP, WR1170IUAPLP, WR1170IDKEAP, WR1170IDKUAP 5 HID Model Ordering Options: WR1170IEHIDP, WR1170IUHIDP, WR1170IDKEHI, WR1170IDKUHI qIDmini EASY2RD Profile - qIDmini Technical Information Manual 16 Android devices Bluetooth Communication Setup using the Easy Controller for Android 1. 2. 3. Download the CAEN RFID Easy Controller for Android App from the qIDmini R1170I web page, by clicking on the Android App on Google Play icon. Launch the CAEN RFID Easy Controller for Android App. Click on Add reader:
qIDmini EASY2RD Profile - qIDmini Technical Information Manual 17 4. Click on Bluetooth in the Connection Type window:
5. Click on yes to confirm the Bluetooth permission request:
qIDmini EASY2RD Profile - qIDmini Technical Information Manual 18 6. Select the qIDmini R1170I reader from the list of Bluetooth devices:
7. Confirm the passkey:
qIDmini EASY2RD Profile - qIDmini Technical Information Manual 19 8. Once the connection is established the Bluetooth blue light turns on. 9. To start using your qIDmini R1170I, click on the reader line:
10. Click on Start Inventory:
qIDmini EASY2RD Profile - qIDmini Technical Information Manual 20 11. A list of the read tags is shown:
qIDmini EASY2RD Profile - qIDmini Technical Information Manual 21 Windows PCs Bluetooth Communication Setup In case of Windows 8 Operating System:
Right click on the Bluetooth icon in the taskbar -> Add a Bluetooth Device:
1. Select the qID mini R1170I reader and click on Pair:
qIDmini EASY2RD Profile - qIDmini Technical Information Manual 22 Click on yes to confirm the passcode:
In case of Windows XP Operating System, when discovered by the host, the qIDmini reader can be identified by its Bluetooth device name and paired using the pass-key; both parameters are provided below:
Bluetooth device name: qIDmini + device serial number Pass-key: 1234 2. Once the connection is established the Bluetooth blue light turns on. Now you can use the CAEN RFID Easy Controller Application to control the reader. For details refer to Connecting the qIDmini using the Easy Controller for Windows page 26. Warning: Note that, in the EASY2RD profile, holding down the trigger button activates the tag inventory only if the continuous mode is active (see the function EventInventoryTag Method in the CAEN RFID API Reference Manual that can be download from qIDmini R1170I web page, Documents section). qIDmini EASY2RD Profile - qIDmini Technical Information Manual 23 USB Communication Setup The qIDmini reader can be connected to a PC using the provided USB cable and it is detected by the PC as an emulated serial port. In order to correctly operate with the reader you need to install a driver. 1. 2. Power ON the reader and plug the USB cable into the qIDmini USB port. In order to connect the qIDmini reader to the PC you need to install the VCP (Virtual Com Port) drivers for your operating system. You can download VCP drivers for Windows based systems from the CAEN RFID Web Site from the qIDmini R1170I web page, SW/FW section or from the Software and Firmware download area. 3. Open the System properties: go to Control Panel All Control Panel Items System and click on Device Manager. qIDmini EASY2RD Profile - qIDmini Technical Information Manual 24 4. After having installed the driver, the reader is detected by the PC as an emulated serial port (VCP):
Now you can use the CAEN RFID Easy Controller Application to control the reader. For details refer to Connecting the qIDmini using the Easy Controller for Windows page 26. Warning: Note that, in the EASY2RD profile, holding down the trigger button activates the tag inventory only if the continuous mode is active (see the function EventInventoryTag Method in the CAEN RFID API Reference Manual that can be download from qIDmini R1170I web page, Documents section). qIDmini EASY2RD Profile - qIDmini Technical Information Manual 25 Connecting the qIDmini using the Easy Controller for Windows Both USB and Bluetooth interface creates virtual COM ports on the host PC that can be used to connect to the reader with the CAEN RFID Easy Controller application. The activation of the EASY2RD profile is required to connect the qIDmini using the Easy Controller application for Windows. Follow the steps below to connect the qIDmini reader using the Easy Controller for Windows via Bluetooth:
1. 2. 3. Download from the CAEN RFID web site the latest version of the CAEN RFID Easy Controller for Windows software and install it. Connect the qIDmini reader to your PC using either the USB or the Bluetooth connection. Right click on the Bluetooth icon in the taskbar -> Open Settings:
qIDmini EASY2RD Profile - qIDmini Technical Information Manual 26 4. Look for the emulated serial port in the Bluetooth Settings:
Launch the CAEN RFID Easy Controller application. 5. 6. On the main application window click on File Connect; the connection dialog box will appear. 7. Select RS232 from the Connection Type combo box and the right COM port number from the RS232 Port combo box. Click on Connect. Place a tag in front of the reader and click on Start Inventory to see the tag information displayed on the main window. 8. 9. For more information on the CAEN RFID Easy Controller for Windows application usage, please refer to the relevant user manual: you can download it from the qIDmini R1170I web page, Documents Section, from the CAEN RFID Easy Controller for Windows web page or in the Manual and Documents web area. A CAEN RFID Easy Controller for Android application is also available. For more information please refer to the CAEN RFID Easy Controller for Android web page. qIDmini EASY2RD Profile - qIDmini Technical Information Manual 27 iOS devices Bluetooth Communication Setup 1. On your iOS device, go to Setting and enable the Bluetooth:
2. A list of the Bluetooth available devices is shown:
qIDmini EASY2RD Profile - qIDmini Technical Information Manual 28 3. Click on the qIDmini R1170I reader and wait while the pairing is completed:
4. Once the connection is established the Bluetooth blue light turns on. 5. 6. Download the CAEN RFID qID Start App from the qIDmini R1170I web page, by clicking on the App Store icon. Launch the qID Start App:
qIDmini EASY2RD Profile - qIDmini Technical Information Manual 29 7. Now you can start the tag inventory just clicking on button. You can see the EPC of the tags displayed on the screen:
qIDmini EASY2RD Profile - qIDmini Technical Information Manual 30 4 QIDMINI HID PROFILE Introduction Choosing the HID profile option you select the keyboard emulation protocol. For details on the available profiles and on the activation method please refer to PROFILE paragraph page 43. Note that the APPLE model reader (see Ordering Options page 10) does not implement the Bluetooth HID profile, while the HID model reader can be connected through the HID profile to all the devices, including the iOS ones. In the following table it is shown the compatibility between the Apple/HID models and different Operating Systems
(Android, PC and iOS) in the HID profile:
ANDROID iOS
-
Tab. 4.6: Compatibility table between the Apple/HID models and different OS in the HID profile APPLE MODEL6 HID MODEL7 PC
-
-
Android devices Bluetooth Communication Setup 1. On your Android device, go to Setting and enable the Bluetooth. A list of the Bluetooth available devices is shown:
6 APPLE Model Ordering Options: WR1170IEAPLP, WR1170IUAPLP, WR1170IDKEAP, WR1170IDKUAP 7 HID Model Ordering Options: WR1170IEHIDP, WR1170IUHIDP, WR1170IDKEHI, WR1170IDKUHI qIDmini HID profile - qIDmini Technical Information Manual 31 2. Click on the qIDmini R1170I reader and wait while the pairing is completed:
3. Once the connection is established the Bluetooth blue light turns on. 4. 5. 6. On the text editing App window you will see the EPCs of the tags:
Launch a text editing App (or any other App accepting keyboard input). Start an inventory cycle by pressing the trigger button. Note that, when configured in HID profile and paired to a device, the qIDmini will automatically reconnect to the same device every time the Bluetooth link is active (qIDmini switched ON and Bluetooth activated on the host). You can verify this behaviour looking at the blue LED that, in this case, turns ON automatically as soon as you switch on the qIDmini. qIDmini HID profile - qIDmini Technical Information Manual 32 Windows PCs Bluetooth Communication Setup In case of Windows 8 Operating System:
Right click on the Bluetooth icon in the taskbar -> Add a Bluetooth Device:
1. Select the qID mini R1170I reader and click on Pair:
qIDmini HID profile - qIDmini Technical Information Manual 33 Click on yes to confirm the passcode:
In case of Windows XP Operating System, when discovered by the host, the qIDmini reader can be identified by its Bluetooth device name and paired using the pass-key; both parameters are provided below:
Bluetooth device name: qIDmini + device serial number Pass-key: 1234 2. Once the connection is established the Bluetooth blue light turns on. 3. 4. 5. On the text editing window you will see the EPCs of the tags:
Launch a text editing App (or any other App accepting keyboard input). Start an inventory cycle by pressing the trigger button. Example with a .txt file:
qIDmini HID profile - qIDmini Technical Information Manual 34 Example with Microsoft Excel:
Note that, when configured in HID profile and paired to a device, the qIDmini will automatically reconnect to the same device every time the Bluetooth link is active (qIDmini switched ON and Bluetooth activated on the host). You can verify this behaviour looking at the blue LED that, in this case, turns ON automatically as soon as you switch on the qIDmini. qIDmini HID profile - qIDmini Technical Information Manual 35 USB Communication Setup The qIDmini reader can be connected to a PC using the provided USB cable and it is detected by the PC as an emulated serial port. In order to correctly operate with the reader you need to install a driver. 1. 2. Power ON the reader and plug the USB cable into the qIDmini USB port. In order to connect the qIDmini reader to the PC you need to install the VCP (Virtual Com Port) drivers for your operating system. You can download VCP drivers for Windows based systems from the CAEN RFID Web Site from the qIDmini R1170I web page, SW/FW section or from the Software and Firmware download area. 3. Open the System properties (right click on My computer icon) All Control Panel Items System and click on Device Manager. qIDmini HID profile - qIDmini Technical Information Manual 36 4. After having installed the driver, the reader is detected by the PC as an emulated serial port (VCP):
Warning: Note that, when configured in the HID profile, the qIDmini reader cannot be controlled using the CAEN RFID Easy Controller Application. The qIDmini reader, when configured in the HID profile and connected via USB to a PC, sends the EPCs of the detected tags on the serial port as ASCII characters. So, in order to operate with the reader in this configuration, follow these steps:
1. 2. 3. 4. Launch a terminal emulator application (e.g Hyperterminal) Connect the terminal emulator application to the virtual COM port assigned to the qIDmini reader Press the trigger button to perform an inventory cycle (hold down the button to repeat inventory cycles) The EPCs are displayed on the terminal emulator window qIDmini HID profile - qIDmini Technical Information Manual 37 iOS devices Bluetooth Communication Setup 1. On your iOS device, go to Setting and enable the Bluetooth:
2. A list of the Bluetooth available devices is shown:
qIDmini HID profile - qIDmini Technical Information Manual 38 3. Click on the qIDmini R1170I reader and wait while the pairing is completed:
4. Once the connection is established the Bluetooth blue light turns on. 5. 6. 7. On the text editing App window you will see the EPCs of the tags:
Launch a text editing App (or any other App accepting keyboard input). Start an inventory cycle by pressing the trigger button. qIDmini HID profile - qIDmini Technical Information Manual 39 5 RESET THE QIDMINI READER To reset the reader, press the power and the trigger buttons (see Fig. 1.2: qIDmini R1170I Front Panel page 7) simultaneously for about six seconds and then release the buttons. The reader restarts by itself. Warning: Note that the reader SHALL NOT be connected to the USB port or to the battery charger during the reset, otherwise the reader enters in the firmware upgrade state. If, by mistake, you entered in the firmware upgrade state, in order to restore the normal reader operation, disconnect the USB cable and repeat the reset procedure. Reset the qIDmini reader - qIDmini Technical Information Manual 40 6 QIDMINI CONFIGURATION MENU Introduction To access the main menu, turn on the device and hold down the trigger button within two second. To scroll through the main menu, press quickly the trigger button. The qIDmini R1170I menu options are the following:
PROFILE BEEP VIBRATE POWER To select a menu option, hold down the trigger button. qIDmini Configuration Menu - qIDmini Technical Information Manual 41 The complete structure of the qIDmini R1170I menu is the following:
PROFILE BEEP VIBRATE POWER EASY2RD HID PWR UP PWR DOWN SCAN TAG PWR UP PWR DOWN SCAN TAG 25 mW 50 mW 100 mW 200 mW 500 mW8 8 500mW is not available for FCC compliant models (R1170IUAPLP and R1170IUHIDP) qIDmini Configuration Menu - qIDmini Technical Information Manual 42 PROFILE Access the configuration menu as explained in the Introduction paragraph page 41. The PROFILE menu is the first option of the main menu. To select it, hold down the trigger button. To scroll through the PROFILE options, press quickly the trigger button. The PROFILE submenu options are the following:
EASY2RD (factory default): choosing this option you select the CAEN RFID easy2read communication protocol. Select this option in order to control the reader using the CAEN RFID Easy Controller Application or the SDK (Software Development Kits) library. For details on the use with the EASY2RD profile please refer to qIDmini EASY2RD Profile chapter page 16. HID9: choosing this option you select the keyboard emulation protocol. For details on the use on the HID profile please refer to qIDmini HID profile chapter page 31. To return to the main menu, quickly press the power button. The currently active profile is marked with an asterisk. You can activate only one profile at a time. To activate a different profile, scroll through the PROFILE options by pressing quickly the trigger button until the desired profile is displayed. Hold down the trigger button for a few seconds: the name of the profile will begin to flash. Once activated, the device returns to the main menu. When you turn on the reader, the display shows the currently active profile and then the message "ready" to inform you that the reader is ready to operate. Warning: Note that if the reader is in the HID profile you must disconnect it from any connected device before to select another profile. Access the configuration menu as explained in the Introduction paragraph page 41. To scroll through the menu options, press quickly the trigger button. The BEEP menu is the second option of the menu. To select it, hold down the trigger button. The BEEP submenu options are the following:
PWRUP: beep at the power on of the reader PWRDOWN: beep at the power off of the reader SCANTAG: beep at the identification of a tag To enable/disable the submenu options, scroll through the BEEP options menu by pressing quickly the trigger button until the desired BEEP option and then hold down the trigger button for a few seconds. Scroll through enable and disable options by pressing quickly the trigger button and hold down the trigger button for a few seconds to activate one of them. The enable (or disable) option will begin to flash. Once activated, the device returns to the main menu. The currently active state is marked with an asterisk. By default, all the BEEP options are disabled. Note that you can enable or disable the beeper for any option independently so that the beeper can be active on more than one option simultaneously. To return to the main menu, quickly press the power button. BEEP 9 HID profile is not available for qIDmini R1170I with APPLE profile (ordering options: WR1170IEAPLP, WR1170IUAPLP, WR1170IDKEAP, WR1170IDKUAP) qIDmini Configuration Menu - qIDmini Technical Information Manual 43 VIBRATE Access the configuration menu as explained in the Introduction paragraph page 41. To scroll through the menu options, press quickly the trigger button. The VIBRATE menu is the third option of the menu. To select it, hold down the trigger button. The VIBRATE submenu options are the following:
PWRUP: vibration at the power on of the reader PWRDOWN: vibration at the power off of the reader SCANTAG: vibration at the identification of a tag To enable/disable the submenu options, scroll through the VIBRATE options menu by pressing quickly the trigger button until the desired VIBRATE option and then hold down the trigger button for a few seconds. Scroll through enable and disable options by pressing quickly the trigger button and hold down the trigger button for a few seconds for the activation of one of them. The enable (or disable) option will begin to flash. Once activated, the device returns to the main menu. The currently active state is marked with an asterisk. By default, all the VIBRATE options are disabled. Note that you can enable or disable the vibration for any option independently so that the vibration can be active on more than one option simultaneously. To return to the main menu, quickly press the power button. POWER Through the POWER menu you can set the conducted RF power level transmitted by RFID section. Note that, when the reader is configured in the EASY2RD profile, to set the power you can also use the CAEN RFID Easy Controller Application or the SetPower function of the SDK (Software Development Kits) library. Access the configuration menu as explained in the Introduction paragraph page 41. To scroll through the menu options, press quickly the trigger button. The POWER menu is the fourth option of the menu. To select it, hold down the trigger button. The POWER submenu options are the following:
25 mW 50 mW 100 mW 200 mW 500 mW10 To scroll through the POWER options, press quickly the trigger button. To return to the main menu, quickly press the power button. The currently active power is marked with an asterisk. By default, the 200 mW power level is active. You can activate only one power level at a time. To activate a different power level, scroll through the POWER options by pressing quickly the trigger button until the desired power level is displayed. Hold down the trigger button for a few seconds: the power level option will begin to flash. Once activated, the device returns to the main menu. 10 Maximum power setting for FCC compliant models (R1170IUAPLP and R1170IUHIDP) is internally limited via FW to 200mW qIDmini Configuration Menu - qIDmini Technical Information Manual 44 7 QIDMINI FIRMWARE UPGRADE Firmware Upgrade The qIDmini R1170I firmware upgrade can be managed via USB by using the SW upgrade program. The qIDmini Upgrade Tool is available for free at the qIDmini R1170I web page of the CAEN RFID Web Site, SW/FW section. In order to upgrade the firmware follow the steps described below:
1. 2. 3. 4. Connect the qIDmini reader to the USB port of the PC. Press simultaneously the trigger and the power button for about six seconds. Open the FW upgrade program. Click on Next button:
5. In the window you will see the message Found 1 device (if the message is No device connected repeat the points 2,3, 4 and 5). qIDmini Firmware Upgrade - qIDmini Technical Information Manual 45 6. Select the FW image file by clicking on the Browse button:
7. 8. Click on the Upgrade Firmware button and wait for the upgrade process to be completed. At the end of procedure, if the upgrade has been successfully performed, you will see the messages reported in the image below and the module is ready for normal operation. qIDmini Firmware Upgrade - qIDmini Technical Information Manual 46 8 QIDMINI TECHNICAL SPECIFICATIONS Technical Specifications Table Frequency Band RF Power Antenna Number of Channels Standard Compliance Read Range Connectivity User Interface 865.600867.600 MHz (ETSI EN 302 208 v. 1.4.1) (Mod. R1170IEHIDP and R1170IEAPLP) 902928 MHz (FCC part 15.247) (Mod. R1170IUHIDP and R1170IUAPLP) Programmable in 18 levels from 5dBm e.r.p. (3mW e.r.p.) to 22dBm e.r.p. (150mW e.r.p.); (Mod. R1170IEHIDP and R1170IEAPLP) Programmable in 13 levels from 5dBm e.r.p. (3mW e.r.p.) to 18dBm e.r.p. (60mW e.r.p.); (Mod. R1170IUHIDP and R1170IUAPLP) Integrated linear (horizontal) 4 channels (compliant to ETSI EN 302 208 v. 2.1.1.)(Mod. R1170IEHIDP and R1170IEAPLP) 50 hopping channels (compliant to FCC part 15.247)(Mod. R1170IUHIDP and R1170IUAPLP) ISO 18000-6C/EPC C1G2 up to 90cm (typical) USB Interface: USB 2.0 Full Speed (12 Mbit/s) device port Bluetooth Interface: Class 2 with output power 4dBm e.i.r.p. Virtual COM port parameters:
- Baudrate: up to 230.400kbps
- Databits: 8
- Stopbits: 1
- Parity: none
- Flow control: none HID profile available (mod. R1170IEHIDP and R1170IUHIDP) Apple compatibility available (mod. R1170IEAPLP and R1170IUAPLP) Button #1:ON/OFF Button #2: Trigger Led #1: power indication and battery status (green: high; red: low) Led #2: communication activity (blue: Bluetooth; orange: USB) Buzzer: bitonal for events signalling Vibration: for events signalling Display: LCD Alphanumeric (8 chars x 2 lines) 48kByte (equivalent to 4096 EPC codes@96bit) (TBC) Li-Ion 3.7V, 570mAh Operating: > 12h with 40.000 tag readings Standby: > 15 days 2h (typical) IP 32
(W)99 x (L)54 x (H)20 mm3 max.
(3.9 x 2.1 x 0.8 in3) 1.5 m
-10 C to +55 C 57 g Internal Buffer Size Battery Type Battery Life Battery Charging Time IP Rating Dimensions Length of USB cable Operating Temperature Weight Tab. 8.7: qIDmini R1170I Technical Specifications Table Warning: The RF settings must match the country/region of operating to comply with local laws and regulations. qIDmini Technical Specifications - qIDmini Technical Information Manual 47 The usage of the reader in different countries/regions from the one in which the device has been sold is not allowed. Reader Tag Link Profiles The qIDmini R1170I reader supports different modulations and return link profiles according to EPC Class1 Gen2 protocol 1. All profiles that have been tested for the compliance with ETSI and FCC regulations are reported in the following table:
Link profile #
0 1 2 Regulation ETSI - FCC ETSI - FCC ETSI - FCC Tab. 8.8: qIDmini R1170I Reader to tag link profiles Modulation PRASK; f=40kHz PRASK; f=40kHz PRASK; f=40kHz Return Link FM0; f = 40kHz Miller (M=4); f = 256kHz11 Miller (M=4); f = 320kHz 11 Default value. qIDmini Technical Specifications - qIDmini Technical Information Manual 48 Radiation Patterns The radiation patterns of qIDmini R1170I are shown in the following figures. Model R1170IE (ETSI version) Fig. 8.5: qIDmini R1170IE Radiation pattern H plane Fig. 8.6: qIDmini R1170IE Radiation pattern V plane qIDmini Technical Specifications - qIDmini Technical Information Manual 49 Model R1170IU (FCC version) Fig. 8.7: qIDmini R1170IU Radiation pattern H plane Fig. 8.8: qIDmini R1170IU Radiation pattern V plane qIDmini Technical Specifications - qIDmini Technical Information Manual 50 9 QIDMINI REGULATORY COMPLIANCE FCC Compliance This equipment has been tested and found to comply with the limits for a Class B digital device, pursuant to Part 15 of the FCC Rules. These limits are designed to provide reasonable protection against harmful interference in a residential installation. This equipment generates uses and can radiate radio frequency energy and, if not installed and used in accordance with the instructions, may cause harmful interference to radio communications. However, there is no guarantee that interference will not occur in a particular installation. If this equipment does cause harmful interference to radio or television reception, which can be determined by turning the equipment off and on, the user is encouraged to try to correct the interference by one of the following measures:
a. Reorient or relocate the receiving antenna. b. Increase the separation between the equipment and receiver. c. Connect the equipment into an outlet on a circuit different from that to which the receiver is connected. d. Consult the dealer or an experienced radio/TV technician for help. This device complies with Part 15 of the FCC Rules. Operation is subject to the following two 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. Any changes or modification not approved by CAEN RFID could void the users authority to operate the equipment. qIDmini Technical Specifications - qIDmini Technical Information Manual 51
frequency | equipment class | purpose | ||
---|---|---|---|---|
1 | 2017-06-09 | JBP - Part 15 Class B Computing Device Peripheral | Original Equipment | |
2 | 902.75 ~ 927.25 | DSS - Part 15 Spread Spectrum Transmitter |
app s | Applicant Information | |||||
---|---|---|---|---|---|---|
1 2 | Effective |
2017-06-09
|
||||
1 2 | Applicant's complete, legal business name |
CAEN RFID srl
|
||||
1 2 | FCC Registration Number (FRN) |
0015858780
|
||||
1 2 | Physical Address |
via Vetraia, 11 - 55049 Viareggio (LU) - ITALY
|
||||
1 2 |
Viareggio, N/A 55049
|
|||||
1 2 |
Italy
|
|||||
app s | TCB Information | |||||
1 2 | TCB Application Email Address |
g******@emcc.de
|
||||
1 2 | TCB Scope |
A1: Low Power Transmitters below 1 GHz (except Spread Spectrum), Unintentional Radiators, EAS (Part 11) & Consumer ISM devices
|
||||
1 2 |
A4: UNII devices & low power transmitters using spread spectrum techniques
|
|||||
app s | FCC ID | |||||
1 2 | Grantee Code |
UVE
|
||||
1 2 | Equipment Product Code |
CAENRFID026
|
||||
app s | Person at the applicant's address to receive grant or for contact | |||||
1 2 | Name |
A****** B******
|
||||
1 2 | Title |
CEO
|
||||
1 2 | Telephone Number |
+3905********
|
||||
1 2 | Fax Number |
+3905********
|
||||
1 2 |
a******@caen.it
|
|||||
app s | Technical Contact | |||||
n/a | ||||||
app s | Non Technical Contact | |||||
n/a | ||||||
app s | Confidentiality (long or short term) | |||||
1 2 | Does this application include a request for confidentiality for any portion(s) of the data contained in this application pursuant to 47 CFR § 0.459 of the Commission Rules?: | Yes | ||||
1 2 | Long-Term Confidentiality Does this application include a request for confidentiality for any portion(s) of the data contained in this application pursuant to 47 CFR § 0.459 of the Commission Rules?: | No | ||||
if no date is supplied, the release date will be set to 45 calendar days past the date of grant. | ||||||
app s | Cognitive Radio & Software Defined Radio, Class, etc | |||||
1 2 | Is this application for software defined/cognitive radio authorization? | No | ||||
1 2 | Equipment Class | JBP - Part 15 Class B Computing Device Peripheral | ||||
1 2 | DSS - Part 15 Spread Spectrum Transmitter | |||||
1 2 | Description of product as it is marketed: (NOTE: This text will appear below the equipment class on the grant) | R1170I - qIDmini Keyfob Bluetooth UHF RFID Reader | ||||
1 2 | Related OET KnowledgeDataBase Inquiry: Is there a KDB inquiry associated with this application? | No | ||||
1 2 | Modular Equipment Type | Does not apply | ||||
1 2 | Purpose / Application is for | Original Equipment | ||||
1 2 | Composite Equipment: Is the equipment in this application a composite device subject to an additional equipment authorization? | Yes | ||||
1 2 | Related Equipment: Is the equipment in this application part of a system that operates with, or is marketed with, another device that requires an equipment authorization? | No | ||||
1 2 | Grant Comments | Power output listed is ERP. The highest reported SAR values for body-worn is 0.76 W/kg. The device must not be co-located or operating in conjunction with any other antenna or transmitter except in accordance with FCC accepted multi-transmitter procedures. | ||||
1 2 | Is there an equipment authorization waiver associated with this application? | No | ||||
1 2 | If there is an equipment authorization waiver associated with this application, has the associated waiver been approved and all information uploaded? | No | ||||
app s | Test Firm Name and Contact Information | |||||
1 2 | Firm Name |
G.S.D. S.r.l. Testing Laboratory
|
||||
1 2 | Name |
D******** G******
|
||||
1 2 | Telephone Number |
39050********
|
||||
1 2 | Fax Number |
39050********
|
||||
1 2 |
j******@gsd.it
|
|||||
Equipment Specifications | |||||||||||||||||||||||||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
Line | Rule Parts | Grant Notes | Lower Frequency | Upper Frequency | Power Output | Tolerance | Emission Designator | Microprocessor Number | |||||||||||||||||||||||||||||||||
1 | 1 | 15B | CC | ||||||||||||||||||||||||||||||||||||||
Line | Rule Parts | Grant Notes | Lower Frequency | Upper Frequency | Power Output | Tolerance | Emission Designator | Microprocessor Number | |||||||||||||||||||||||||||||||||
2 | 1 | 15C | CC | 902.75000000 | 927.25000000 | 0.0620000 |
some individual PII (Personally Identifiable Information) available on the public forms may be redacted, original source may include additional details
This product uses the FCC Data API but is not endorsed or certified by the FCC