CAEN RFID srl CAENRFID019 R1250IU - Tile - Compact UHF RFID Desktop Reader User Manual CAEN RFID API Reference Manual rev 10

CAEN RFID srl R1250IU - Tile - Compact UHF RFID Desktop Reader CAEN RFID API Reference Manual rev 10

User Manual

CAEN RFID API   Reference ManualReference ManualRevision n. 1016/06/2015Visit 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 ManualThis manual documents the API used by C, Java, Android and .Net programmers who want to write applications forcontrolling and using CAEN RFID readers.Change Document RecordDate Revision Changes Pages29 Jun 2010 01 Initial release -14 Jan 2011 02 Corrected GetTimeStamp Method’s return value 94Added Federal Communications Commission (FCC) Notice 322 Mar 2011 03 Added   R1260U   Reader   in   the   declaration   of   FederalCommunications Commission (FCC) note 306 Sep 2011 04 Added XPC field information13, 14, 32, 35,72, 75, 72, 92,95, 9908 Aug 2012 05 Added R4300P reader in the Federal Communications Commission(FCC) Notice (Preliminary) 329 Nov 2012 06Added bit 5 (event trigger), bit 7 (match tag) and bit 8 (PC) in thetables Flag value meaning 32, 35, 99Changed bit 1 and bit 2 description in the table Flag value meaningof the InventoryTag Method and EventInventoryTag Method 32, 35, 99Added the following members in the CAENRFIDBitRateEnumeration:  DSB_ASK_M4_TX40RX256, PR_ASK_FM0_TX40RX640,PR_ASK_M4_TX40RX256, PR_ASK_M4_TX40RX320,PR_ASK_M4_TX80RX320104Added NXP_ChangeConfig Method in the LogicalSource Class 11, 47Added  SL900A_EndLog   Method,  SL900A_GetLogState   Method,SL900A_GetSensorValue   Method,  SL900A_Initialize   Method,SL900A_SetLogMode   Method,  SL900A_StartLog   Method  in   theLogicalSource Class11, 61÷66Added methods representation in Android language 16÷119Removed the following methods: Hitachi_BlockLock,Hitachi_BlockReadLock, Hitachi_GetSystemInformation,Hitachi_ReadLock, Hitachi_SetAttenuate,Hitachi_WriteMultipleWords . See § CAENRFID Obsolete Methodschapter113÷119Removed the following methods: Fujitsu_BurstErase,Fujitsu_BurstWrite, Fujitsu_ChgBlockGroupPassword,Fujitsu_ChgBlockLock, Fujitsu_ChgWordLock,Fujitsu_ReadBlockLock, Fujitsu_Refresh. See § CAENRFID ObsoleteMethods chapter113÷119Added CAENRFIDLogicalSource.InventoryFlag Enumeration 15, 106Added overloaded Connect Method.76Added IDSTagData Class 11, 14, 17÷18Added PC field information 11, 32, 35, 72,93, 9919 Apr 2013 07Added PC field in C representation of CAENRFIDTag Class 92Added A528B Reader in the declaration of Federal CommunicationsCommission (FCC) note 311 Sep 2013 08Added CAENRFIDRFRegulations Enumeration 15, 109Added CAENRFIDTag.MemBanks Enumeration 15, 112Added information about SDK Web Page 103 Jul 2014 09 Added R1270 Quark Up and R1170I qIDmini Reader in thedeclaration of Federal Communications Commission (FCC) note  316 Jun 2015 10 Added R1250I Tile in the declaration of Federal CommunicationsCommission (FCC) note  3
CAEN RFID srlVia Vetraia, 11 55049 Viareggio (LU) - ITALYTel. +39.0584.388.398  Fax +39.0584.388.959info@caenrfid.comwww.caenrfid.com© CAEN RFID srl – 2010DisclaimerNo  part   of  this  manual  may   be  reproduced  in  any  form  or  by  any  means,  electronic,  mechanical,  recording,  orotherwise, without the prior written permission of CAEN RFID.The information contained herein has been carefully checked and is believed to be accurate; however, no responsibilityis assumed for inaccuracies. CAEN RFID reserves the  right to modify its products specifications  without  giving  anynotice; for up to date information please visit www.caenrfid.com.Federal Communications Commission (FCC) Notice 1This device was tested and found to comply with the limits set forth in Part 15 of the FCC Rules. Operation is subject tothe  following conditions: (1) this device may not cause harmful interference, and (2) this device must accept anyinterference received including interference that may cause undesired operation. These limits are designed to providereasonable 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 theinstruction manual, the product may cause harmful interference to radio communications. Operation of this product ina residential area is likely to cause harmful interference, in which case, the user is required to correct the interferenceat their own expense. The authority to operate this product is conditioned by the requirements that no modificationsbe 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, R1270, R1170I (Mod.WR1170IUAPLP and WR1170IUHIDP), R1250I (Mod. WR1250IUXAAA, WR1250IUXAFL, WR1250IUXBAA, WR1250IUXBFL)
Index… Scope of Manual                                                                                                                                                                                                   ........................................................................................................................................................................   2   Change Document Record                                                                                                                                                                                  ..........................................................................................................................................................   2   Index…                                                                                                                                                                                                                                ..........................................................................................................................................................................................   4   List of Tables                                                                                                                                                                                                                     .................................................................................................................................................................................   6  1 Introduction                                                                                                                                                                                                                    ................................................................................................................................................................................   7   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  2 CAEN RFID API Structure                                                                                                                                                                                            ...........................................................................................................................................................   10    CAENRFID Classes                                                                                                                                                                                               .....................................................................................................................................................................   11    CAENRFID Enumerations                                                                                                                                                                                   ..........................................................................................................................................................   15   3 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   CAEN RFID API – Reference Manual 5
GetRSSI Method                                                                                                                                                                                           ..................................................................................................................................................................   93   GetSource Method                                                                                                                                                                                       .............................................................................................................................................................   94   GetTID Method                                                                                                                                                                                             ...................................................................................................................................................................   94   GetTimeStamp Method                                                                                                                                                                               ......................................................................................................................................................   94   GetType Method                                                                                                                                                                                          .................................................................................................................................................................   95   GetXPC Method                                                                                                                                                                                            ..................................................................................................................................................................   95   4 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   5 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   6 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   List of TablesTab. 2.1: CAENRFID classes...........................................................................................................................................................11Tab. 2.2: CAENRFID methods .......................................................................................................................................................14Tab. 2.3: CAENRFID Enumerations................................................................................................................................................15Tab. 6.4: C# Obsolete Methods...................................................................................................................................................115Tab. 6.5: C# Obsolete Members..................................................................................................................................................115Tab. 6.6: Java and Android Obsolete Methods...........................................................................................................................116Tab. 6.7: C Obsolete Functions...................................................................................................................................................118Tab. 6.8: C Obsolete Data Types.................................................................................................................................................119CAEN RFID API – Reference Manual6
1 IntroductionThis Chapter gives basic  information about CAENRFID Software Development Kit (SDK). Itcontains 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 SDKCAEN RFID provides a Software Development Kit (SDK) aimed to facilitate the software developers in interfacing withits readers.  The  SDK provides   Application Program  Interfaces  (API) for three  programming   languages:  C,  Java andJ#/C#/Visual Basic .NET.The functionalities and the behaviors exported by the libraries are exactly the same for all the languages but, due tothe syntax differences between them, there are differences in the implementation of functions and methods. Javaand   .NET   implementation   are   very   similar   because   they   are   both   Object   Oriented   environments   while   the   Cimplementation 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 mainmethods used to configure general readers' parameters like the output power, the link interface and so on, the latterprovides   the   methods   to   be   used   in   order   to   communicate   with   the   RFID   tags   (tags   detection,   read   and  writecommands 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 theJava and .NET classes. In the Object Oriented languages (C# and Java) there are some methods that return objects, these methods have nocorrespondent 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 functionsFunctions and methods namesThe functions and methods with the same functionalities have the same name in all languages. The only exceptions aredue to the absence of the overloading feature in the C language: methods that are overloaded in Java and .NET aretranslated 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   stillfunctional to preserve backward compatibility (see § CAENRFID Obsolete Methods pag.113).Error HandlingJava and .NET language API handle error conditions using the exceptions mechanism: when a method encounters anerror, an exception is thrown to the calling code. The API defines a proper class for the exception generated by itsmethods (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   thefunctions.  Each   C   function   returns   a   numeric   error   code   that   can   be   interpreted   using   the   CAENRFIDErrorCodesenumeration. Since no exceptions are generated, the execution flow of the program is not interrupted by the errors soit is always suggested to check for error conditions in the code before to call other functions.Managing connections with the readersJava and .NET languages allow to initiate and terminate the communication with the reader by means of two specificmethods of the CAENRFIDReader objects. So, after an object of the class CAENRFIDReader is instantiated, the Connectmethod permits to start the communication with a reader while the Disconnect method permits to terminate thecommunication.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 structuresCAEN RFID API – Reference Manual8
needed in order to maintain the communication active. The function returns a "handle" (very similar to the handlesused in managing files) that have to be used in any subsequent function calls relative to that reader. At the end of theoperation, a call to the CAENRFID_End function permits to close the communication link and to free the internal datastructures.Return data mechanismAs seen in the Error Handling paragraph, all the C functions return a numeric error codes. Due to that reason, functionsthat need to return data to the caller use output parameters. Output parameters for the C functions are highlighted inthis 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 thereturn 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 differencesare due to the implicit reference of the methods to their objects. This characteristic of object oriented languages isemulated 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,   forexample, have implicit size in Java/.NET that permit to pass a single parameter to methods requiring this data type. In Cfunctions, 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 StructureThis chapter describes CAEN RFID API Structure. It contains these topics:•CAENRFID Classes   •CAENRFID Enumerations   CAEN RFID API – Reference Manual10
CAENRFID ClassesIn .NET (henceforth C#), Java and Android languages, CAENRFID methods are divided into the following classes:Class DescriptionCAENRFIDEventArgs2This class defines the CAENRFID event arguments.CAENRFIDException This class defines the CAEN RFID exceptions.IDSTagData This   class   represents   data   returned   by   tags   based   on   IDS   ChipSL900A.CAENRFIDLogicalSourceThe   CAENRFIDLogicalSource   class   is   used   to   create   logical   sourceobjects.   Logical   source   objects   represent   an   aggregation   of   readpoints (antennas). Operations on the tags are performed using thelogical source methods. In addition to the methods used to operateon the tags, the logical source class exports methods to configure theanticollision   algorithm   and   to   configure   the   composition   of   thelogical source itself.CAENRFIDNotify This class defines the structure of a notification message.CAENRFIDReaderThe CAENRFIDReader class  is used to  create reader  objects whichpermit to   access  to  CAEN  RFID readers'  configuration  and  controlcommands.CAENRFIDReaderInfoThe CAENRFIDReaderInfo class is used to create reader info objects.Reader   info   objects   represent   the   information   about   the   readerdevice (model and serial number).CAENRFIDTagThis   class   is   used   to   define   objects   representing   the   tags.   Theseobjects are used as return value for the inventory methods and asarguments for many tag access methods.Tab. 2.1: CAENRFID classesEach class contains the following methods:Methods DescriptionCAENRFIDEventArgs ClassgetData Returns the event object value.CAENRFIDException ClassgetError Gets the error string associated to the exception.CAENRFID IDSTagData ClassgetADError Gets the error status of the A/D.getRangeLimit Gets the range limit parameter.getSensorValue Gets the value obtained by the sensor.CAENRFIDLogicalSource ClassAddReadPoint Adds a read point to the logical source.BlockWriteTagDataOverloaded. This method can be used to write a portion of the usermemory  in  an   ISO18000-6B  tag   using  blocks  of  four  bytes  for  eachcommand.CustomCommand_EPC_C1G2Overloaded.   This   method   can   be   used   to   issue   a   generic   Customcommand  as  defined by the EPC Class1 Gen2  protocol specification.The parameters are used to specify the type of the custom commandand its parameters.EventInventoryTagA call to this method will start a sequence of read cycle on each readpoint linked to the logical source. The readings will be notified to thecontroller via event generation.GetBufferedData The function returns all the Tags stored in reader's memory using allthe ReadPoints belonging to the Source.GetDESB_ISO180006BThis   method   can  be   used   to  retrieve   the   Data   Exchange   Status  Bitsetting   (see   ISO18000-6B   protocol   specification)   used   by   theanticollision algorithm when called on this logical source.GetName Gets a string representing the name of the logical source.GetQ_EPC_C1G2This method can be used to retrieve the current setting for the initial Qvalue   (see   EPC   Class1   Gen2   protocol   specification)   used   by   theanticollision algorithm when called on this logical source.2 For the description of this class, see § Event Handling pag.97 CAEN RFID API – Reference Manual 11
Methods DescriptionGetReadCycle Gets the current setting for the number of read cycles performed bythe logical source during the inventory algorithm execution.GetSelected_EPC_C1G2This method can be used to retrieve the Selected flag (see EPC Class1Gen2 protocol specification) used by the anticollision algorithm whencalled on this logical source.GetSession_EPC_C1G2This method can be used to retrieve the Session setting (see EPC Class1Gen2 protocol specification) used by the anticollision algorithm whencalled on this logical source.GetTarget_EPC_C1G2This method can be used to retrieve the Target setting (see EPC Class1Gen2 protocol specification) used by the anticollision algorithm whencalled on this logical source.GroupSelUnsel This method can be used to send a Group Select/Unselect command tothe tag (see ISO18000-6B protocol specification).InventoryTagOverloaded. A call to this method will execute a read cycle on eachread point linked to the logical source. Depending on the air protocolsetting it will execute the appropriate anticollision algorithm.isReadPointPresent Checks if a read point is present in the logical source.KillTag_EPC_C1G1 This method can be used to kill an EPC Class 1 Gen 1 tag.KillTag_EPC_C1G2 Overloaded. This method can be used to kill an EPC of an EPC Class 1Gen 2 tag.LockBlockPermaLock_EPC_C1G2 This   method   implements   the   BLockPermaLock   with   ReadLock=1   asspecified in EPCC1G2 rev. 1.2.0 protocol.LockTag_EPC_C1G2 Overloaded. This method can be used to lock a memory bank of an EPCClass 1 Gen 2 tag.LockTag_ISO180006B This method can be used to lock a byte in the memory of a ISO18000-6B tag.NXP_ChangeEASThis method can be used to issue a ChangeEAS custom command asdefined by the NXP G2XM and G2XL datasheet after having put it inSecured state using the Access command.NXP_ChangeConfigOverloaded. This method can  be  used to issue a  NXP_ChangeConfigcustom   command   as   defined   in   the   NXP   UCODE   G2iM   and   G2iM+datasheet.NXP_EAS_Alarm This method can be used to issue an EAS_Alarm custom command asdefined by the NXP G2XM and G2XL datasheet.NXP_ReadProtect Overloaded. This method can be used to issue a ReadProtect customcommand as defined by the NXP G2XM and G2XL datasheet.NXP_ResetReadProtect This   method   can   be   used   to   issue   a   ResetReadProtect   customcommand as defined by the NXP G2XM and G2XL datasheet.ProgramID_EPC_C1G1 This method can be used to write the EPC of an EPC Class 1 Gen 1 tag.ProgramID_EPC_C1G2 Overloaded. This method can be used to write the EPC of an EPC Class1 Gen 2 tag.ProgramID_EPC119 This method can be used to write the UID of an EPC 1.19 tag.Query_EPC_C1G2 This  method   make   the   reader   generate   an   EPC   Class1   Gen2   Querycommand.QueryAck_EPC_C1G2This method make the reader generate a sequence of EPC Class1 Gen2Query and Ack commands. It can be used to read a single tag under thefield. If there are more than one tag under the field the method fails.ReadBLockPermalock_EPC_C1G2 This   method   implements   the   BLockPermaLock   with   ReadLock=0   asspecified in EPCC1G2 rev. 1.2.0 protocol.ReadTagData This method can be used to read a portion of the user memory in aISO18000-6B tag.ReadTagData_EPC_C1G2 Overloaded. This method can be used to read a portion of memory in aISO18000-6C (EPC Class1 Gen2) tag.RemoveReadPoint Removes a read point from the logical source.ResetSession_EPC_C1G2This method  can  be used to reset the  Session status for EPC Class1Gen2 tags. After the execution of this method all the tags in the field ofthe antennas belonging to this logical source are back in the defaultSession.SetDESB_ISO180006BThis  method   can   be   used  to   set   the   Data   Exchange   Status  Bit   (seeISO18000-6B protocol specification) used by the anticollision algorithmwhen called on this logical source.SetQ_EPC_C1G2 This method can be used to set the initial Q value (see EPC Class1 Gen2CAEN RFID API – Reference Manual12
Methods Descriptionprotocol specification) used by the anticollision algorithm when calledon this logical source.SetReadCycle Sets the number of read cycles to be performed by the logical sourceduring the inventory algorithm execution.SetSelected_EPC_C1G2This   method   can  be   used   to  set  the   Session  (see   EPC  Class1  Gen2protocol specification) used by the anticollision algorithm when calledon this logical source.SetSession_EPC_C1G2This   method   can  be   used   to  set  the   Session  (see   EPC  Class1  Gen2protocol specification) used by the anticollision algorithm when calledon this logical source.SetTarget_EPC_C1G2This method can be used to set the Target setting (see EPC Class1 Gen2protocol specification) used by the anticollision algorithm when calledon this logical source.SL900A_EndLog This   method   can   be   used   to   issue   an   IDS   SL900A   EndLog   customcommand as defined in the IDS SL900A datasheet.SL900A_GetLogState  This method can be used to issue an IDS SL900A GetLogState customcommand as defined in the IDS SL900A datasheet.SL900A_GetSensorValue This   method   can   be   used   to   issue   an   IDS   SL900A   GetSensorValuecustom command as defined in the IDS SL900A datasheet.SL900A_Initialize This   method   can   be   used   to   issue  an   IDS   SL900A   Initialize   customcommand as defined in the IDS SL900A datasheet.SL900A_SetLogMode This method can be used to issue an IDS SL900A SetLogMode customcommand as defined in the IDS SL900A datasheet.SL900A_StartLog This   method   can   be   used   to   issue  an   IDS_SL900A   StartLog   customcommand as defined in the IDS SL900A datasheet.WriteTagData This method can be used to write a portion of the user memory in aISO18000-6B tag.WriteTagData_EPC_C1G2 Overloaded. This method can be used to write a portion of memory ina ISO18000-6C (EPC Class1 Gen2) tag.CAENRFIDNotify ClassgetDate Returns  a timestamp  representing the time  at which the  event  wasgenerated.getPC Returns the tag's PC codegetReadPoint Returns the read point that has detected the tag.getRSSI Returns the RSSI value measured for the tag.getStatus Returns the event type associated to the tag.getTagID Returns the tag's ID (the EPC code in Gen2 tags).getTagLength Returns the tag's ID length.getTagSource Returns the name of the logical source that has detected the tag.getTagType Returns the air protocol of the tag.getTID Returns the TID field value in a EPC Class 1 Gen 2 TaggetXPC Returns the tag’s XPC words.CAENRFIDReader ClassConnect Overloaded.   Starts   the   communication   with   the   reader.   It   must   becalled before any other call to method of the CAENRFIDReader object. Disconnect Closes  the   connection  with   the   CAEN   RFID   Reader  releasing   all   theallocated resources.GetBitRate Gets the current setting of the RF bit rate.GetFirmwareRelease Permits to read the release of the firmware loaded into the device.GetIO Gets the current digital Input and Output lines status.GetIODirectionGets the current I/O direction setting as a bitmask. Each bit representsa I/O line, a value of 0 means that the line is configured as an input, 1as an output. This setting has a meaning only for those readers withconfigurable I/O lines.GetLBTMode Gets the current LBT mode setting. If the current regulation is based onthe frequency hopping mechanism it returns the FH status.GetPower Gets the current setting of the RF power expressed in mW.GetProtocol Gets the current air protocol of the Reader.GetReaderInfo Permits to read the reader information loaded into the device.GetReadPoints Gets the names of the read points (antennas) available in the reader.GetReadPointStatus Gets the CAENRFIDReadPointStatus object rapresenting the status of aread point (antenna).CAEN RFID API – Reference Manual 13
Methods DescriptionGetRFChannel Gets the   index  of  the  RF   channel  currently  in  use.  The  index   valuemeaning change for different country regulations.GetRFRegulation Gets the current RF regulation setting value.GetSource Gets a CAENRFIDLogicalSource object given its nameGetSourceNames Gets the names of the logical sources available in the reader.GetSources Gets the CAENRFIDLogicalSource objects available on the reader.InventoryAbort Stops the EventInventoryTag execution.RFControl Method Permits to control the RF CW (Carrier Wave) signal generation.SetBitRate Sets the RF bit rate to use.SetDateTime Sets the Date/Time of the reader.SetIO Sets the Output lines value.SetIODIRECTIONSets the current I/O direction setting as a bitmask. Each bit representsa I/O line, a value of 0 means that the line is configured as an input, 1as an output. This setting has a meaning only for those readers withconfigurable I/O lines.SetNetwork Permits to configure the  network settings of the reader.  In order toapply the changes the reader must be restarted.SetPower Sets the conducted RF power of the Reader.SetProtocol Set the air protocol of the reader.SetRFChannel Sets the RF channel to use. This method fixes the RF channel only whenthe listen before talk or the frequency hopping feature is disabled.SetRS232 Permits to change the serial port settings. Valid settings values dependon the reader model.CAENRFIDReaderInfo ClassGetModel Gets the reader's model.GetSerialNumber Gets the reader's serial number.CAENRFIDTag ClassGetId Returns the tag's ID (the EPC code in Gen2 tags).GetLength Returns the tag's ID length.GetPC Returns the tag's PC codeGetReadPoint Returns the read point that has detected the tag.GetRSSI Returns the RSSI value measured for the tag.GetSource Returns the name of the logical source that has detected the tag.GetTID Returns the tag's TID (valid only for EPC Class 1 Gen 2 tags).GetTimeStamp Gets the Tag's TimeStamp.GetType Returns the air protocol of the tag.GetXPC Returns the tag’s XPC words.Tab. 2.2: CAENRFID methods CAEN RFID API – Reference Manual14
CAENRFID EnumerationsThe   following   enumerations   are   present   in   C#   language.   They   correspond   to   classes   in   Java   language   and   toenumerations and data types in C language:Enumerations DescriptionBitRate Gives a list of the supported radiofrequency profiles.LogicalSourceConstantsGives  a  list   of  constants   used  for   the  configuration   of   the  logicalsources. Detailed explanation of the settings can be found in the EPCClass 1 Gen 2 and ISO 18000-6B specification documents.CAENRFIDLogicalSource.InventoryFlag Gives a list of constants used for the configuration of the inventoryfunction.Port Gives a list of the communication ports supported by the CAEN RFIDreaders.Protocol Gives a list of the air protocol supported by the CAEN RFID readers.ReadPointStatus Gives a list of the possible ReadPoint status values.CAENRFIDRFRegulations The  CAENRFIDRFRegulations gives  a  list  of  country radiofrequencyregulations.RS232Constants Gives a list of settings for the serial port configuration.SelUnselOptions Gives a  list  of operations supported  by the Group Select/Unselectcommand (valid only for the ISO18000-6B air protocol).CAENRFIDTag.MemBanks The   CAENRFIDTag.MemBanks   enumerates   the   bank   name   of   ageneric ISO18000-6C tag.Tab. 2.3: CAENRFID EnumerationsCAEN RFID API – Reference Manual 15
3 Classes DescriptionThis chapter gives a description of CAENRFID methods divided into classes. It contains thesetopics:•CAENRFIDException Class   •IDSTagData Class•CAENRFIDLogicalSource Class   •CAENRFIDNotify Class   •CAENRFIDReader Class   •CAENRFIDReaderInfo Class   •CAENRFIDTag Class   CAEN RFID API – Reference Manual16
CAENRFIDException ClassThe 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 ClassThis 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 ADError_i;unsigned int RangeLimit_i;unsigned int SensorValue_i;} CAENRFID_IDSTagData;getADError MethodDescription: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 MethodDescription: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 MethodDescription: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()CAEN RFID API – Reference Manual18
CAENRFIDLogicalSource ClassThe   CAENRFIDLogicalSource   class   is   used   to   create   logical   source   objects.   Logical   source   objects   represent   anaggregation of read points (antennas). Operations on the tags are performed using methods belonging to the logicalsource. In addition to the methods used to operate on the tags, the logical source class exports methods to configurethe anticollision algorithm and to configure the composition of the logical source itself.AddReadPoint MethodDescription: This method adds a read point to the logical source.Parameters:Name DescriptionReadPoint 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 CAENRFIDExceptionC representation:CAENRFIDErrorCodes CAENRFID_AddReadPoint(CAENRFIDHandle handle, char *SourceName, char *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 foreach command.Parameters:Name DescriptionTag The CAENRFIDTag representing the tag to be written.Address The address where to start writing the data.Length The number of byte to be written.Data The data to be written into the tag's user memory.Syntax:C# representation:public void BlockWriteTagData(CAENRFIDTag Tag,short Address,short Length,byte[] Data)Java and Android representation:public void BlockWriteTagData(CAENRFIDTag Tag,short Address,short Length,byte[]  Data)throws CAENRFIDExceptionC representation:CAENRFIDErrorCodes  CAENRFID_BlockWriteTagData(CAENRFIDHandle  handle,CAENRFIDTag  *Tag,int  Address,int  Length,void  *Data);CAEN RFID API – Reference Manual20
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 foreach command.Parameters:Name DescriptionTag The CAENRFIDTag representing the tag to be written.Address The address where to start writing the data.Mask A bitmask that permit to select which of the four bytes have to be written (i.e. mask0x05 write the bytes on position Address + 1 and Address + 3).Length The number of byte to be written.Data The data to be written into the tag's user memory.Syntax:C# representation:public void  BlockWriteTagData(CAENRFIDTag  Tag,short  Address,short  Mask,short  Length,byte[]  Data)Java and Android representation:public void  BlockWriteTagData(CAENRFIDTag  Tag,short Address,short  Mask,short  Length,byte[]  Data)throws CAENRFIDExceptionC representation:CAENRFIDErrorCodes  CAENRFID_FilterBlockWriteTagData(CAENRFIDHandle  handle,CAENRFIDTag  *ID,int  Address,short  Mask,int  Length,void  *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 DescriptionTag The CAENRFIDTag object representing the tag to which send the Custom command.SubCmd The SubCommand field of the Custom command.TxLen The length of the data to be sent to the tag.Data The data to be sent to the tag.RxLen 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  Tag,byte  SubCmd,short  TxLen,byte[]  Data,short  RxLen)Java and Android representation:public byte[]  CustomCommand_EPC_C1G2(CAENRFIDTag  Tag,byte  SubCmd,short  TxLen,byte[]  Data,short  RxLen)throws CAENRFIDExceptionC representation:CAENRFIDErrorCodes  CAENRFID_CustomCommand_EPC_C1G2(CAENRFIDHandle  handle, CAENRFIDTag  *Tag, unsigned char  SubCmd,int  TxLen, void  *Data, int  RxLen, void  *TRData);CAEN RFID API – Reference Manual22
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 isexecuted after an Access command to switch the tag in the Secured state using the provided password.Parameters:Name DescriptionTag The CAENRFIDTag object representing the tag to select.SubCmd The SubCommand field of the Custom command.TxLen The length of the data to be sent to the tag.Data The data to be sent to the tag.RxLen The length of the data to be received by the tag.AccessPassword 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 Tag,byte SubCmd,short TxLen,byte[] Data,short RxLen,int AccessPassword)JAVArepresentation:public byte[]  CustomCommand_EPC_C1G2(CAENRFIDTag  Tag,byte  SubCmd,short  TxLen,byte[]  Data,short  RxLen,int  AccessPassword)throws CAENRFIDExceptionC representation:CAENRFIDErrorCodes  CAENRFID_SecureCustomCommand_EPC_C1G2(CAENRFIDHandle  handle, CAENRFIDTag  *Tag, unsigned char SubCmd,int  TxLen, void  *Data, int  RxLen, int  AccessPassword, void  *TRData);EventInventoryTag MethodFor the description of this method, see § Event Handling pag.96.CAEN RFID API – Reference Manual 23
GetBufferedData MethodDescription:This method returns all the Tags stored in reader's buffer using all the ReadPoints belonging to the Source. Only onA828BT reader.Return value:An array of CAENRFIDTag objects detected.Syntax:C# representation:public CAENRFIDTag[] GetBufferedData()Java and Android representation:public CAENRFIDTag[]  GetBufferedData()throws CAENRFIDExceptionC representation:CAENRFIDErrorCodes  CAENRFID_GetBufferedData(CAENRFIDHandle  handle,char  *source,CAENRFIDTag  **Receive,int  *Size);GetDESB_ISO180006B MethodDescription:This method can be used to retrieve the Data Exchange Status Bit setting (see ISO18000-6B protocol specification) usedby 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()throws CAENRFIDExceptionC representation:CAENRFIDErrorCodes  GetDESB_ISO180006B(CAENRFIDHandle  handle,unsigned short  *Status);CAEN RFID API – Reference Manual24
GetName MethodDescription: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 MethodDescription:This   method   can   be   used   to   retrieve   the   current   setting   for   the   initial   Q   value   (see   EPC   Class1   Gen2   protocolspecification) 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 CAENRFIDExceptionC representation:CAENRFIDErrorCodes  CAENRFID_GetQValue_EPC_C1G2(CAENRFIDHandle  handle,char  *SourceName,int  *Q);CAEN RFID API – Reference Manual 25
GetReadCycle MethodDescription:This  method   gets   the   current   setting  for   the  number   of   read  cycles  performed   by   the   logical  source   during   theinventory 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 CAENRFIDExceptionC representation:CAENRFIDErrorCodes  CAENRFID_GetReadCycle(CAENRFIDHandle  handle,char  *SourceName,int  *value);GetSelected_EPC_C1G2 MethodDescription:This  method   can  be  used  to   retrieve  the   Selected  flag   (see  EPC   Class1   Gen2  protocol   specification)   used   by  theanticollision algorithm when called on this logical source.Return value:The current Selected valueSyntax:C# representation:public CAENRFIDLogicalSourceConstants  GetSelected_EPC_C1G2()Java and Android representation:public CAENRFIDLogicalSourceConstants  GetSelected_EPC_C1G2()throws CAENRFIDExceptionC representation:CAENRFIDErrorCodes  CAENRFID_GetSelected_EPC_C1G2(CAENRFIDHandle  handle,char  *SourceName,CAENRFIDLogicalSourceConstants *value);CAEN RFID API – Reference Manual26
GetSession_EPC_C1G2 MethodDescription:This method can be used to retrieve the Session setting (see EPC Class1 Gen2  protocol specification) used by  theanticollision 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 CAENRFIDExceptionC representation:CAENRFIDErrorCodes  CAENRFID_GetSession_EPC_C1G2(CAENRFIDHandle  handle,char  *SourceName,CAENRFIDLogicalSourceConstants *value);GetTarget_EPC_C1G2 MethodDescription:This method  can  be used  to retrieve the  Target setting  (see EPC  Class1 Gen2 protocol   specification) used  by theanticollision 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 CAENRFIDExceptionC representation:CAENRFIDErrorCodes  CAENRFID_GetTarget_EPC_C1G2(CAENRFIDHandle  handle,char  *SourceName,CAENRFIDLogicalSourceConstants *value);CAEN RFID API – Reference Manual 27
GroupSelUnsel MethodDescription:This   method   can   be   used   to   send   a   Group   Select/Unselect   command   to   the   tag   (see   ISO18000-6B   protocolspecification).Parameters:Name DescriptionCode The operation code as defined by the protocol.Address The Address from which start the comparison.BitMask The bit mask to use.Data The data to be compared.Return value:The selected tag.Syntax:C# representation:public CAENRFIDTag  GroupSelUnsel(CAENRFIDSelUnselOptions Code,short  Address,short  BitMask,byte[]  Data)Java and Android representation:public CAENRFIDTag  GroupSelUnsel(CAENRFIDSelUnselOptions Code,short  Address,short  BitMask,byte[]  Data)throws CAENRFIDExceptionC representation:CAENRFIDErrorCodes  CAENRFID_GroupSelUnsel(CAENRFIDHandle handle,char  *SourceName,CAENRFID_SelUnsel_Op Code,int  Address,int  BitMask,void  *Data,CAENRFIDTag  *Tag);CAEN RFID API – Reference Manual28
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 airprotocol 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[]  InventoryTag()throws CAENRFIDExceptionC representation:CAENRFIDErrorCodes  CAENRFID_InventoryTag (CAENRFIDHandle  handle,char  *SourceName,CAENRFIDTag  **Receive,int  *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 DescriptionMask A byte array representing the bitmask to apply.MaskLength A value representing the bit-oriented length of the bitmask.Position 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[]  Mask,short  MaskLength,short  Position)Java and Android representation:public CAENRFIDTag[]  InventoryTag(byte[]  Mask,short  MaskLength,short  Position)throws CAENRFIDExceptionC representation:CAENRFIDErrorCodes  CAENRFID_FilteredInventoryTag(CAENRFIDHandle  handle,char  *SourceName,char *Mask,unsigned char  MaskLength,unsigned char  Position,CAENRFIDTag  **Receive,int  *Size);Remarks:Depending on the air protocol setting it will execute the appropriate anticollision algorithm. This version of the methodpermits to specify a bitmask for filtering tag's populations as  described by the EPC Class1 Gen2 (ISO18000-6C) airprotocol.  The  filtering  will  be   performend  on  the   memory   bank  specified   by  bank  parameter,   starting  at  the   bitindicated by the Position index and for a MaskLength length. The method will return only the tags that match the givenMask. Passing a zero value for MaskLength it performs as the non-filtering InventoryTag method.CAEN RFID API – Reference Manual30
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 DescriptionMask A byte array representing the bitmask to apply.MaskLength A value representing the bit-oriented length of the bitmask.Position A value representing the first bit of ID where the match will start.Flag A bitmask representing the InventoryTag options.Return value:An array containing the CAENRFIDTag objects representing the tags read from the read points.Syntax:C# representation:public CAENRFIDTag[]  InventoryTag(byte[]  Mask,short  MaskLength,short  Position,short  Flag)Java and Android representation:public CAENRFIDTag[]  InventoryTag(byte[]  Mask,short  MaskLength,short  Position,short  Flag)throws CAENRFIDExceptionC representation:CAENRFIDErrorCodes  CAENRFID_FlagInventoryTag (CAENRFIDHandle  handle,char  *SourceName,char *Mask,unsigned char  MaskLength,unsigned char  Position,unsigned char  Flag,CAENRFIDTag  **Receive,int  *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 methodpermits to specify a bitmask for filtering tag's populations as  described by the EPC Class1 Gen2 (ISO18000-6C) airprotocol.  The  filtering  will  be   performend  on  the   memory   bank  specified   by  bank  parameter,   starting  at  the   bitindicated by the Position index and for a MaskLength length. The method will return only the tags that match the givenMask. Passing a zero value for MaskLength it performs as the non-filtering InventoryTag method. The Flags parameterpermits to set InventoryTag method's options.In this case bit 1 and 2 of the flag (continuos and framed mode) areignored.Flag value meaningBit 0 RSSI: a 1 value indicates that the reader will transmit the RSSI (Return Signal Strength Indicator) in theresponse.Bit 1Framed data: a 1 value indicates that the tag's data will be transmitted by the reader to the PC as soonas the tag is detected, a 0 value means that all the tags detected are buffered in the reader andtrasmitted all together at the end of the inventory cycle.Bit 2Continuous acquisition: a 1 value indicates that the inventory cycle is repeated by the readerdepending on the SetReadCycle setting value, a 0 value means that only one inventory cycle will beperformed. If the continuous mode is selected a 0 value in the ReadCycle setting will instruct thereader to repeat the inventory cycle until an InventoryAbort method is invoked, a value X differentfrom 0 means that the inventory cycle will be performed X times by the reader.Bit 3Compact data: a 1 value indicates that only the EPC of the tag will be returned by the reader, a 0 valueindicates that the complete data will be returned. In case that the compact option is enabled all theother data will be populated by this library with fakes values.Bit 4 TID reading: a 1 value indicates that also the TID of the tag will be returned by the reader togetherwith the other information.Bit 5Event trigger: when this flag is set together with the continuous acquisition flag, the inventory cycle isperformed in the same way of the continuous mode with the only difference that the inventorycommand is sent only by pressing the left key of the A828BT reader.Bit 6 XPC: a 1 value allows the reader to get the XPC word if backscattered by a tag.Tags that do notbackscatter the XPC words will return an XPC array with all the 4 bytes set to 0Bit 7 Match tag: a 1 value enables the matching of readed tags with a tag present in the memory (A828BTreader only). Bit 8 PC: a 1 value allows the reader to return the PC of a Gen2 tag in addition to the ID (A828BT readeronly).CAEN RFID API – Reference Manual32
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 Descriptionbank A value representing the memory bank where apply the filter.Mask A byte array representing the bitmask to apply.MaskLength A value representing the bit-oriented length of the bitmask.Position 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  bank,byte[]  Mask,short  MaskLength,short  Position)Java and Android representation:public CAENRFIDTag[]  InventoryTag(short  bank,byte[]  Mask,short  MaskLength,short  Position)throws CAENRFIDExceptionC representation:CAENRFIDErrorCodes  CAENRFID_BankFilteredInventoryTag (CAENRFIDHandle  handle,char  *SourceName,short  bank,short  Position,short  MaskLength,char  *Mask,CAENRFIDTag  **Receive,int  *Size);Remarks:Depending on the air protocol setting it will execute the appropriate anticollision algorithm. This version of the methodpermits to specify a bitmask for filtering tag's populations as  described by the EPC Class1 Gen2 (ISO18000-6C) airprotocol.  The  filtering  will  be   performend  on  the   memory   bank  specified   by  bank  parameter,   starting  at  the   bitindicated by the Position index and for a MaskLength length. The method will return only the tags that match the givenMask. 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 Descriptionbank A value representing the memory bank where apply the filter.Mask A byte array representing the bitmask to apply.MaskLength A value representing the bit-oriented length of the bitmask.Position A value representing the first bit of ID where the match will start.Flag 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  bank,byte[]  Mask,short  MaskLength,short  Position,short  Flag)Java and Android representation:public CAENRFIDTag[]  InventoryTag(short  bank,byte[]  Mask,short  MaskLength,short  Position,short  Flag)throws CAENRFIDExceptionC representation:CAENRFIDErrorCodes  CAENRFID_BankFilteredFlagInventoryTag (CAENRFIDHandle  handle,char  *SourceName,short  bank,short  Position,short  MaskLength,char  *Mask,unsigned char  Flag,CAENRFIDTag  **Receive,int  *Size);CAEN RFID API – Reference Manual34
Remarks:Depending on the air protocol setting it will execute the appropriate anticollision algorithm. This version of the methodpermits to specify a bitmask for filtering tag's populations as  described by the EPC Class1 Gen2 (ISO18000-6C) airprotocol.  The  filtering  will  be   performend  on  the   memory   bank  specified   by  bank  parameter,   starting  at  the   bitindicated by the Position index and for a MaskLength length. The method will return only the tags that match the givenMask. Passing a zero value for MaskLength it performs as the non-filtering InventoryTag method. The Flags parameterpermits to set InventoryTag method's options.In this case bit 1 and 2 of the flag (continuos and framed mode) areignored.Flag value meaningBit 0 RSSI: a 1 value indicates that the reader will transmit the RSSI (Return Signal Strength Indicator) in theresponse.Bit 1Framed data: a 1 value indicates that the tag's data will be transmitted by the reader to the PC as soonas the tag is detected, a 0 value means that all the tags detected are buffered in the reader andtrasmitted all together at the end of the inventory cycle.Bit 2Continuous acquisition: a 1 value indicates that the inventory cycle is repeated by the reader dependingon the SetReadCycle setting value, a 0 value means that only one inventory cycle will be performed. Ifthe continuous mode is selected a 0 value in the ReadCycle setting will instruct the reader to repeat theinventory cycle until an InventoryAbort method is invoked, a value X different from 0 means that theinventory cycle will be performed X times by the reader.Bit 3Compact data: a 1 value indicates that only the EPC of the tag will be returned by the reader, a 0 valueindicates that the complete data will be returned. In case that the compact option is enabled all theother data will be populated by this library with fakes values.Bit 4 TID reading: a 1 value indicates that also the TID of the tag will be returned by the reader together withthe other information.Bit 5Event trigger: when this flag is set together with the continuous acquisition flag, the inventory cycle isperformed in the same way of the continuous mode with the only difference that the inventorycommand is sent only by pressing the left key of the A828BT reader.Bit 6 XPC: a 1 value allows the reader to get the XPC word if backscattered by a tag.Tags that do notbackscatter the XPC words will return an XPC array with all the 4 bytes set to 0Bit 7 Match tag: a 1 value enables the matching of readed tags with a tag present in the memory (A828BTreader only). Bit 8 PC: a 1 value allows the reader to return the PC of a Gen2 tag in addition to the ID (A828BT reader only).FreeTagsMemoryDescription: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 itis necessary to esplicitly deallocate the memory allocated by the identified tags. To do that, the FreeTagsMemoryfunction is available, passing the pointer to the identified tags list.Parameters:Name DescriptionTags tags array returned by one of the inventory family function.Syntax:C representation:void  CAENRFID_FreeTagsMemory(CAENRFIDTag  **Tags);CAEN RFID API – Reference Manual 35
isReadPointPresent MethodDescription:This method checks if a read point is present in the logical source.Parameters:Name DescriptionReadPoint 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 itis not present).Syntax:C# representation:public bool  isReadPointPresent(string  ReadPoint)Java and Android representation:public boolean  isReadPointPresent(java.lang.String  ReadPoint)throws CAENRFIDExceptionC representation:CAENRFIDErrorCodes  CAENRFID_isReadPointPresent(CAENRFIDHandle  handle,char  *ReadPoint,char  *SourceName,short  *isPresent);KillTag_EPC_C1G1 MethodDescription:This method can be used to kill a EPC Class 1 Gen 1 tag.Parameters:Name DescriptionTag The CAENRFIDTag representing the tag to be killed.Password The tag's kill password.Syntax:C# representation:public void  KillTag_EPC_C1G1(CAENRFIDTag  Tag,short  Password)Java and Android representation:public void  KillTag_EPC_C1G1(CAENRFIDTag  Tag,short  Password)throws CAENRFIDExceptionC representation:CAENRFIDErrorCodes  CAENRFID_KillTag_EPC_C1G1(CAENRFIDHandle  handle, CAENRFIDTag  *Tag,char  Password);CAEN RFID API – Reference Manual36
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 DescriptionTag The CAENRFIDTag representing the tag to be killed.Password The tag's kill password.Syntax:C# representation:public void  KillTag_EPC_C1G2(CAENRFIDTag  Tag,int  Password)Java and Android representation:public void  KillTag_EPC_C1G2(CAENRFIDTag  Tag,int  Password)throws CAENRFIDExceptionC representation:CAENRFIDErrorCodes CAENRFID_KillTag_EPC_C1G2(CAENRFIDHandle  handle,CAENRFIDTag  *Tag,int  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 DescriptionBankMask Memory bank for tag identificantion.PositionMask Bit position (from the start of the selected bank) where apply the mask to match.LengthMask Length of the mask.Mask Mask of byte.Password The tag's kill password.Syntax:C# representation:public void  KillTag_EPC_C1G2(short  BankMask,short  PositionMask,short  LengthMask,byte[]  Mask,int  Password)Java and Android representation:public void  KillTag_EPC_C1G2(short  BankMask,short  PositionMask,short  LengthMask,byte[]  Mask,int  Password)throws CAENRFIDExceptionC representation:CAENRFIDErrorCodes  CAENRFID_BankFilteredKillTag_EPC_C1G2(CAENRFIDHandle  handle,char  *SourceName,short  BankMask,short  PositionMask,short  LengthMask,char  *Mask,int  Password);CAEN RFID API – Reference Manual38
LockBlockPermaLock_EPC_C1G2 MethodDescription:This method implements the BLockPermaLock with ReadLock=1 as specified in EPC C1G2 rev. 1.2.0 protocol.Parameters:Name DescriptionTag The CAENRFIDTag representing the tag to be written.MemBank The memory bank where to write the data.BlockPtr The address where to start writing the data.BlockRange The number of word of the mask.Mask A bitmask that permit to select which of the four bytes have to be locked (i.e. mask 0x05write the bytes on position Address + 1 and Address + 3).AccessPassword The access password.Syntax:C# representation:public void  LockBlockPermaLock_EPC_C1G2(CAENRFIDTag  Tag,short  MemBank,short  BlockPtr,short  BlockRange,byte[]  Mask,int  AccessPassword)Java and Android representation:public void  LockBlockPermaLock_EPC_C1G2(CAENRFIDTag  Tag,short  MemBank,short  BlockPtr,short  BlockRange,byte[]  Mask,int  AccessPassword)throws CAENRFIDExceptionC representation:CAENRFIDErrorCodes  CAENRFID_LockBlockPermaLock_EPC_C1G2(CAENRFIDHandle  handle,CAENRFIDTag  *Tag,short  MemBank,short  BlockPtr,short  BlockRange,byte[]  Mask,int  AccessPassword);CAEN RFID API – Reference Manual 39
LockTag_EPC_C1G2 MethodLockTag_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 DescriptionTag The CAENRFIDTag representing the tag to be locked.Payload The Payload  parameter  for   the  lock  command as  defined  by   the  EPC Class  1  Gen  2protocol specification.Syntax:C# representation:public void  LockTag_EPC_C1G2(CAENRFIDTag  Tag,int  Payload)Java and Android representation:public void  LockTag_EPC_C1G2(CAENRFIDTag  Tag,int  Payload)throws CAENRFIDExceptionC representation:CAENRFIDErrorCodes  CAENRFID_LockTag_EPC_C1G2(CAENRFIDHandle  handle,CAENRFIDTag  *Tag,int  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 theAccess command.Parameters:Name DescriptionTag The CAENRFIDTag representing the tag to be locked.Payload The Payload  parameter  for   the  lock  command as  defined  by   the  EPC Class  1  Gen  2protocol specification.AccessPassword The access password.Syntax:C# representation:public void  LockTag_EPC_C1G2(CAENRFIDTag  Tag,int  Payload,int  AccessPassword)Java and Android representation:public void  LockTag_EPC_C1G2(CAENRFIDTag  Tag,int  Payload,int  AccessPassword)throws CAENRFIDExceptionC representation:CAENRFIDErrorCodes  CAENRFID_SecureLockTag_EPC_C1G2(CAENRFIDHandle  handle,CAENRFIDTag  *Tag,int  Payload,int  AccessPassword);CAEN RFID API – Reference Manual40
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 DescriptionBankMask Memory bank for tag identificantion.PositionMask Bit position (from the start of the selected bank) where apply the mask to match.LengthMask Length of the mask.Mask Mask of byte.Payload The Payload  parameter  for   the  lock  command as  defined  by   the  EPC Class  1  Gen  2protocol specification.Syntax:C# representation:public void  LockTag_EPC_C1G2(short  BankMask,short  PositionMask,short  LengthMask,byte[]  Mask,int  Payload)Java and Android representation:public void  LockTag_EPC_C1G2(short  BankMask,short  PositionMask,short  LengthMask,byte[]  Mask,int  Payload)throws CAENRFIDExceptionC representation:CAENRFIDErrorCodes  CAENRFID_BankFilteredLockTag_EPC_C1G2(CAENRFIDHandle  handle,char  *SourceName,short  BankMask,short  PositionMask,short LengthMask,char *Mask,int  Payload);CAEN RFID API – Reference Manual 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 theAccess command. Parameters:Name DescriptionBankMask Memory bank for tag identification.PositionMask Bit position (from the start of the selected bank) where apply the mask to match.LengthMask Length of the mask.Mask Mask of byte.Payload The Payload  parameter  for   the  lock  command as  defined  by   the  EPC Class  1  Gen  2protocol specification.AccessPassword Access password.Syntax:C# representation:public void  LockTag_EPC_C1G2(short  BankMask,short  PositionMask,short  LengthMask,byte[]  Mask,int  Payload,int  AccessPassword)Java and Android representation:public void  LockTag_EPC_C1G2(short  BankMask,short  PositionMask,short  LengthMask,byte[]  Mask,int  Payload,int  AccessPassword)throws CAENRFIDExceptionC representation:CAENRFIDErrorCodes  CAENRFID_SecureBankFilteredLockTag_EPC_C1G2(CAENRFIDHandle  handle,char  *SourceName,short  BankMask,short  PositionMask,short  LengthMask,char *Mask,int  Payload,int  AccessPassword);CAEN RFID API – Reference Manual42
LockTag_ISO180006B MethodDescription:This method can be used to lock a byte in the memory of a ISO18000-6B tag.Parameters:Name DescriptionTag The CAENRFIDTag representing the tag to be locked.Address The byte's address to lock.Syntax:C# representation:public void  LockTag_ISO180006B(CAENRFIDTag  Tag,short  Address)Java and Android representation:public void  LockTag_ISO180006B(CAENRFIDTag  Tag,short  Address)throws CAENRFIDExceptionC representation:CAENRFIDErrorCodes  CAENRFID_LockTag_ISO180006B(CAENRFIDHandle handle,CAENRFIDTag *Tag,short  Address);NXP_ChangeEAS MethodDescription:This method can be used to issue a ChangeEAS custom command as defined by the NXP G2XM and G2XL datasheetafter having put it in Secured state using the Access command.Parameters:Name DescriptionTag The CAENRFIDTag object representing the tag to select.EAS A boolean representing the EAS state to set.AccessPassword The access password.Syntax:C# representation:public void  NXP_ChangeEAS(CAENRFIDTag  Tag,bool  EAS,int  AccessPassword)Java and Android representation:public void  NXP_ChangeEAS(CAENRFIDTag  Tag,boolean  EAS,int  AccessPassword)throws CAENRFIDExceptionC representation:CAENRFIDErrorCodes  CAENRFID_NXP_SecureChangeEAS(CAENRFIDHandle  handle,CAENRFIDTag  *Tag,char  EAS,int  AccessPassword);CAEN RFID API – Reference Manual 43
NXP_ChangeConfig MethodNXP_ChangeConfig Method (CAENRFIDTag, UInt16)Description:This method can be used to issue a NXP_ChangeConfig custom command as defined in the NXP UCODE G2iM andG2iM+ datasheet.Parameters:Name DescriptionTag The CAENRFIDTag object representing the tag to select.ConfigWord The configuration word.Syntax:C# representation:public void  NXP_ChangeConfig(CAENRFIDTag  Tag,ushort  ConfigWord)Java and Android representation:public void  NXP_ChangeConfig(CAENRFIDTag  Tag,short  ConfigWord)throws CAENRFIDExceptionC representation:CAENRFIDErrorCodes  CAENRFID_NXP_ChangeConfig(CAENRFIDHandle  handle,CAENRFIDTag  *Tag,short  ConfigWord,char  *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 andG2iM+ datasheet after having put it in Secured state using the Access Password.Parameters:Name DescriptionTag The CAENRFIDTag object representing the tag to select.ConfigWord The configuration word.Password The access password.Syntax:C# representation:public void  NXP_ChangeConfig(CAENRFIDTag  Tag,ushort  ConfigWord,int  Password)Java and Android representation:public void  NXP_ChangeConfig(CAENRFIDTag  Tag,short  ConfigWord,int  Password)throws CAENRFIDExceptionC representation:CAENRFIDErrorCodes  CAENRFID_NXP_SecureChangeConfig(CAENRFIDHandle  handle,CAENRFIDTag  *Tag,short  ConfigWord,char  *TRData,int  SecurePassword);CAEN RFID API – Reference Manual44
NXP_EAS_Alarm MethodDescription: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 CAENRFIDExceptionC representation:CAENRFIDErrorCodes  CAENRFID_NXP_EAS_Alarm(CAENRFIDHandle  handle,char  *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 DescriptionTag 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 CAENRFIDExceptionC representation:CAENRFIDErrorCodes  CAENRFID_NXP_ReadProtect(CAENRFIDHandle  handle,CAENRFIDTag  *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 datasheetafter having put it in Secured state using the Access command.Parameters:Name DescriptionTag The CAENRFIDTag object representing the tag to select.AccessPassword The access password.Syntax:C# representation:public void  NXP_ReadProtect(CAENRFIDTag  Tag,int  AccessPassword)Java and Android representation:public void  NXP_ReadProtect(CAENRFIDTag  Tag,int  AccessPassword)throws CAENRFIDExceptionC representation:CAENRFIDErrorCodes  CAENRFID_NXP_SecureReadProtect(CAENRFIDHandle  handle,CAENRFIDTag  *Tag,int  AccessPassword);NXP_ResetReadProtect MethodDescription:This method  can be   used  to issue  a ResetReadProtect  custom  command  as defined  by the  NXP G2XM  and  G2XLdatasheet.Parameters:Name DescriptionTag The CAENRFIDTag object representing the tag to reset the read protection.Password The ReadProtect password.Syntax:C# representation:public void  NXP_ResetReadProtect(CAENRFIDTag  Tag,int  Password)Java and Android representation:public void  NXP_ResetReadProtect(CAENRFIDTag  Tag,int  Password)throws CAENRFIDExceptionC representation:CAENRFIDErrorCodes  CAENRFID_NXP_ResetReadProtect(CAENRFIDHandle  handle,CAENRFIDTag  *Tag,int  Password);CAEN RFID API – Reference Manual46
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 andG2iM+ datasheet.Parameters:Name DescriptionTag The CAENRFIDTag object representing the tag to select.ConfigWord The Configuration word.Syntax:C# representation:public void  NXP_ChangeConfig(CAENRFIDTag  Tag,ushort ConfigWord)Java and Android representation:public void  NXP_ChangeConfig(CAENRFIDTag  Tag,short  ConfigWord)throws CAENRFIDExceptionC representation:CAENRFIDErrorCodes  CAENRFID_NXP_ChangeConfig(CAENRFIDHandle  handle,CAENRFIDTag  *Tag,short  ConfigWord,char  *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 andG2iM+ datasheet after having put it in Secured state using the Access Password.Parameters:Name DescriptionTag The CAENRFIDTag object representing the tag to select.ConfigWord The Configuration word.Password The access password.Syntax:C# representation:public void  NXP_ChangeConfig(CAENRFIDTag  Tag,ushort  ConfigWord,int  Password)Java and Android representation:public void  NXP_ChangeConfig(CAENRFIDTag  Tag,short  ConfigWord,int  Password)throws CAENRFIDExceptionC representation:CAENRFIDErrorCodes  CAENRFID_NXP_SecureChangeConfig(CAENRFIDHandle  handle,CAENRFIDTag  *Tag,short  ConfigWord,char  *TRData)int  SecurePassword);CAEN RFID API – Reference Manual 47
ProgramID_EPC_C1G1 MethodDescription:This method can be used to write the EPC of a EPC Class 1 Gen 1 tag.Parameters:Name DescriptionTag The  CAENRFIDTag   representing  the   tag  to   be  programmed,  the   ID  contained   in   thisobject will be programmed into the tag.Password The password needed in order to write into the tag.Lock A flag used to lock the EPC in the tag (1 if the EPC have to be locked).Syntax:C# representation:public void  ProgramID_EPC_C1G1(CAENRFIDTag  Tag,short  Password,bool  Lock)Java and Android representation:public void  ProgramID_EPC_C1G1(CAENRFIDTag  Tag,short  Password,boolean  Lock)throws CAENRFIDExceptionC representation:CAENRFIDErrorCodes  CAENRFID_ProgramID_EPC_C1G1(CAENRFIDHandle  handle,CAENRFIDTag  *Tag,char  Password,unsigned short  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 DescriptionTag The  CAENRFIDTag   representing  the   tag  to   be  programmed,  the   ID  contained   in   thisobject will be programmed into the tag.NSI The Numbering System Identifier as defined in EPC Class 1 Gen 2 protocol specifications.Syntax:C# representation:public void  ProgramID_EPC_C1G2(CAENRFIDTag  Tag,short  NSI)Java and Android representation:public void  ProgramID_EPC_C1G2(CAENRFIDTag  Tag,short  NSI)throws CAENRFIDExceptionC representation:CAENRFIDErrorCodes  CAENRFID_ProgramID_EPC_C1G2(CAENRFIDHandle  handle,CAENRFIDTag  *Tag,unsigned short  NSI);CAEN RFID API – Reference Manual48
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 theAccess command.Parameters:Name DescriptionTag The  CAENRFIDTag   representing  the   tag  to   be  programmed,  the   ID  contained   in   thisobject will be programmed into the tag.NSI The Numbering System Identifier as defined in EPC Class 1 Gen 2 protocol specifications.AccessPassword The access password.Syntax:C# representation:public void  ProgramID_EPC_C1G2(CAENRFIDTag  Tag,short  NSI,int  AccessPassword)Java and Android representation:public void  ProgramID_EPC_C1G2(CAENRFIDTag  Tag,short  NSI,int  AccessPassword)throws CAENRFIDExceptionC representation:CAENRFIDErrorCodes  CAENRFID_SecureProgramID_EPC_C1G2(CAENRFIDHandle  handle,CAENRFIDTag  *Tag,unsigned short  NSI,int  AccessPassword);ProgramID_EPC119 MethodDescription:This method can be used to write the UID of a EPC 1.19 tag.Parameters:Name DescriptionTag The CAENRFIDTag representing the tag to be programmed.NewID An array of bytes representing the new UID for the tag.Syntax:C# representation:public void  ProgramID_EPC119(CAENRFIDTag  Tag,byte[]  NewID)Java and Android representation:public void  ProgramID_EPC119(CAENRFIDTag  Tag,byte[]  NewID)C representation:CAENRFIDErrorCodes  CAENRFID_ProgramID_EPC119(CAENRFIDHandle  handle,CAENRFIDTag  *Tag,char  *NewID);CAEN RFID API – Reference Manual 49
Query_EPC_C1G2 MethodDescription: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 CAENRFIDExceptionC representation:CAENRFIDErrorCodes  CAENRFID_Query_EPC_C1G2(CAENRFIDHandle  handle,char  *SourceName,short  *isPresent);QueryAck_EPC_C1G2 MethodDescription:This method make the reader generate a sequence of EPC Class1 Gen2 Query and Ack commands. It can be used toread 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 tagSyntax:C# representation:public byte[]  QueryAck_EPC_C1G2()Java and Android representation:public byte[]  QueryAck_EPC_C1G2()throws CAENRFIDExceptionC representation:CAENRFIDErrorCodes  QueryAck_EPC_C1G2(CAENRFIDHandle  handle,char  *SourceName,byte  *Tag);CAEN RFID API – Reference Manual50
ReadBLockPermalock_EPC_C1G2 MethodDescription:This method implements the BLockPermaLock with ReadLock=0 as specified in EPCC1G2 rev. 1.2.0 protocol.Parameters:Name DescriptionTag The CAENRFIDTag representing the tag to be read.MemBank The memory bank where to read the data.Blockptr The address where to start reading the data.BlockRange The number of word to be read.AccessPassword 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  Tag,short  MemBank,short  Blockptr,short  BlockRange,int  AccessPassword)Java and Android representation:public byte[]  ReadBLockPermalock_EPC_C1G2(CAENRFIDTag  Tag,short  MemBank,short  Blockptr,short  BlockRange,int  AccessPassword)throws CAENRFIDExceptionC representation:CAENRFIDErrorCodes  CAENRFID_ReadBLockPermalock_EPC_C1G2(CAENRFIDHandle  handle,CAENRFIDTag  *Tag,short  MemBank,short  Blockptr,short  BlockRange,int  AccessPassword)CAEN RFID API – Reference Manual 51
ReadTagData MethodDescription:This method can be used to read a portion of the user memory in a ISO18000-6B tag.Parameters:Name DescriptionTag The CAENRFIDTag representing the tag to be read.Address The address where to start reading the data.Length 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  Tag,short  Address,short  Length)Java and Android representation:public byte[]  ReadTagData(CAENRFIDTag  Tag,short  Address,short  Length)throws CAENRFIDExceptionC representation:CAENRFIDErrorCodes CAENRFID_ReadTagData(CAENRFIDHandle  handle,CAENRFIDTag  *Tag,int  Address,int  Length,void  *Data);CAEN RFID API – Reference Manual52
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 DescriptionTag The CAENRFIDTag representing the tag to be read.MemBank The memory bank where to read the data.Address The address where to start reading the data.Length 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  Tag,short  MemBank,short  Address,short  Length)Java and Android representation:public byte[]  ReadTagData_EPC_C1G2(CAENRFIDTag  Tag,short  MemBank,short  Address,short  Length)throws CAENRFIDExceptionC representation:CAENRFIDErrorCodes  CAENRFID_ReadTagData_EPC_C1G2(CAENRFIDHandle  handle,CAENRFIDTag  *Tag,short  MemBank,int  Address,int  Length,void  *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 tagin Secured state using the Access command.Parameters:Name DescriptionTag The CAENRFIDTag representing the tag to be read.MemBank The memory bank where to read the data.Address The address where to start reading the data.Length The number of byte to be read.AccessPassword 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  Tag,short  MemBank,short  Address,short  Length,int  AccessPassword)Java and Android representation:public byte[]  ReadTagData_EPC_C1G2(CAENRFIDTag  Tag,short  MemBank,short  Address,short  Length,int  AccessPassword)throws CAENRFIDExceptionC representation:CAENRFIDErrorCodes  CAENRFID_SecureReadTagData_EPC_C1G2 (CAENRFIDHandle  handle,CAENRFIDTag  *Tag,short  MemBank,int  Address,int  Length,int  AccessPassword,void  *Data);CAEN RFID API – Reference Manual54
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 targettag is identified by 'LenghtMask' bytes of passed mask placed in a memory bank 'BankMask' at 'PositionMask' bytefrom bank starting address byte.Parameters:Name DescriptionBankMask Memory bank for tag identificantion.PositionMask Bit position (from the start of the selected bank) where apply the mask to match.LengthMask Length of the mask.Mask Mask of byte.MemBank Memory bank where read.Address Address where starts reading.Length 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  BankMask,short  PositionMask,short  LengthMask,byte[]  Mask,short  MemBank,short  Address,short  Length)Java and Android representation:public byte[]  ReadTagData_EPC_C1G2(short BankMask,short PositionMask,short LengthMask,byte[] Mask,short MemBank,short Address,short Length)throws CAENRFIDExceptionC representation:CAENRFIDErrorCodes  CAENRFID_BankFilteredReadTagData_EPC_C1G2(CAENRFIDHandle  handle,char *SourceName,short BankMask,short PositionMask,short LengthMask,char *Mask,short MemBank,int Address,int Length,void *Data);CAEN RFID API – Reference Manual 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 targettag is identified by 'LenghtMask' bytes of passed mask placed in a memory bank 'BankMask' at 'PositionMask' bytefrom bank starting address byte. This is the secure version using the Access command.Parameters:Name DescriptionBankMask Memory bank for tag identificantion.PositionMask Bit position (from the start of the selected bank) where apply the mask to match.LengthMask Length of the mask.Mask Mask of byte.MemBank Memory bank where read.Address Address where starts reading.Length Number of byte to read.AccessPassword Access Password.Return value:An array of bytes representing the data read from the tag.Syntax:C# representation:public byte[]  ReadTagData_EPC_C1G2(short BankMask,short PositionMask,short LengthMask,byte[] Mask,short MemBank,short Address,short Length,int AccessPassword)Java and Android representation:public byte[]  ReadTagData_EPC_C1G2(short BankMask,short PositionMask,short LengthMask,byte[] Mask,short MemBank,short Address,short Length,int AccessPassword)throws CAENRFIDExceptionC representation:CAENRFIDErrorCodes  CAENRFID_SecureBankFilteredReadTagData_EPC_C1G2 (CAENRFIDHandle handle,char *SourceName,short BankMask,short PositionMask,short LengthMask,byte[] Mask,short MemBank,int Address,int Length,void *Data,int AccessPassword);CAEN RFID API – Reference Manual56
RemoveReadPoint MethodDescription:This method removes a read point from the logical source.Parameters:Name DescriptionReadPoint 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 CAENRFIDExceptionC representation:CAENRFIDErrorCodes  CAENRFID_RemoveReadPoint(CAENRFIDHandle  handle,char  *SourceName,char  *ReadPoint);ResetSession_EPC_C1G2 MethodDescription:This method can be used to reset the Session status for EPC Class1 Gen2 tags. After the execution of this method all thetags 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 CAENRFIDExceptionC representation:CAENRFIDErrorCodes  CAENRFID_ResetSession_EPC_C1G2(CAENRFIDHandle  handle,char  *SourceName);CAEN RFID API – Reference Manual 57
SetDESB_ISO180006B MethodDescription:This method can be used to set the Data Exchange Status Bit (see ISO18000-6B protocol specification) used by theanticollision algorithm when called on this logical source.Parameters:Name DescriptionValue The DESB setting value.Syntax:C# representation:public void  SetDESB_ISO180006B(CAENRFIDLogicalSourceConstants  Value)Java and Android representation:public void  SetDESB_ISO180006B(CAENRFIDLogicalSourceConstants  Value)throws CAENRFIDExceptionC representation:CAENRFIDErrorCodes  CAENRFID_SetDESB_ISO180006B(CAENRFIDHandle  handle,unsigned int  Value);SetQ_EPC_C1G2 MethodDescription:This method can be used to set the initial Q value (see EPC Class1 Gen2 protocol specification) used by the anticollisionalgorithm when called on this logical source.Parameters:Name DescriptionValue 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  Value)throws CAENRFIDExceptionC representation:CAENRFIDErrorCodes  CAENRFID_SetQValue_EPC_C1G2(CAENRFIDHandle  handle,char  *SourceName,int  Value);CAEN RFID API – Reference Manual58
SetReadCycle MethodDescription:This method sets the number of read cycles to be performed by the logical source during the inventory algorithmexecution.Parameters:Name Descriptionvalue The number of read cycles.Syntax:C# representation:public void  SetReadCycle(int  value)Java and Android representation:public void  SetReadCycle(int  value)throws CAENRFIDExceptionC representation:CAENRFIDErrorCodes  CAENRFID_SetReadCycle(CAENRFIDHandle  handle,char  *SourceName,int  value);SetSelected_EPC_C1G2 MethodDescription:This method can be used to set the Selected flag (see EPC Class1 Gen2 protocol specification) used by the anticollisionalgorithm when called on this logical source.Parameters:Name DescriptionValue 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 CAENRFIDExceptionC representation:CAENRFIDErrorCodes  CAENRFID_SetSelected_EPC_C1G2(CAENRFIDHandle  handle,char  *SourceName,CAENRFIDLogicalSourceConstants Value);CAEN RFID API – Reference Manual 59
SetSession_EPC_C1G2 MethodDescription:This method can be used to set the Session (see EPC Class1 Gen2 protocol specification) used by the anticollisionalgorithm when called on this logical source.Parameters:Name DescriptionValue 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 CAENRFIDExceptionC representation:CAENRFIDErrorCodes  CAENRFID_SetSession_EPC_C1G2(CAENRFIDHandle  handle,char  *SourceName,CAENRFIDLogicalSourceConstants Value);SetTarget_EPC_C1G2 MethodDescription:This method can be used to set the Target setting (see EPC Class1 Gen2 protocol specification) used by the anticollisionalgorithm when called on this logical source.Parameters:Name DescriptionValue 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 CAENRFIDExceptionC representation:CAENRFIDErrorCodes  CAENRFID_SetTarget_EPC_C1G2(CAENRFIDHandle  handle,char  *SourceName,CAENRFIDLogicalSourceConstants Value);CAEN RFID API – Reference Manual60
SL900A_EndLog MethodDescription:This method can be used to issue an IDS SL900A EndLog custom command as defined in the IDS SL900A datasheet.Parameters:Name DescriptionTag The tag where stop the logSyntax:C# representation:public void  SL900A_EndLog(CAENRFIDTag  Tag)Java and Android representation:public void  SL900A_EndLog(CAENRFIDTag  Tag)throws CAENRFIDExceptionC representation:CAENRFIDErrorCodes  CAENRFID_IDS_SL900A_EndLog(CAENRFIDHandle  handle,CAENRFIDTag  *Tag);CAEN RFID API – Reference Manual 61
SL900A_GetLogState MethodDescription:This  method  can  be  used   to   issue  an   IDS   SL900A Get   Log  State  custom   command  as  defined   in  the   IDS  SL900Adatasheet.Parameters:Name DescriptionTag The tag selectedShelfLife This  parameter   is  used   to  inform  the   reader  if   the  shelf  life   flag  is  set  in   the   tag'sEEPROMReturn Value:This method returns the status of the logging process. The structure of the byte array is the following: byte[0]÷byte[1] : Limite Counter.byte[2]÷byte[3] : System status.byte[4]÷byte[11] : Shelf Life Block (only if the ShelfLife parameter is true).byte[12]÷byte[14] : Current Shelf Life (only if the ShelfLife parameter is true).byte[15] : Status Flags (if ShelfLife parameter is false this byte follows immediately the System statusword).Syntax:C# representation:public byte[]  SL900A_GetLogState(CAENRFIDTag  Tag,bool  ShelfLife)Java and Android representation:public byte[]  SL900A_GetLogState(CAENRFIDTag  Tag,boolean  ShelfLife)throws CAENRFIDExceptionC representation:CAENRFIDErrorCodes  IDS_SL900A_GetLogState(CAENRFIDHandle  handle,CAENRFIDTag  *Tag,BOOL  ShelfLife,char  * TRData);CAEN RFID API – Reference Manual62
SL900A_GetSensorValue MethodDescription:This method can be used to issue an IDS SL900A Get Sensor Value custom command as defined in the IDS SL900Adatasheet.Parameters:Name DescriptionTag The tag to extract sensor data.SensorType 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  Tag,byte  SensorType)Java and Android representation:public IDSTagData  SL900A_GetSensorValue(CAENRFIDTag  Tag,byte  SensorType)throws CAENRFIDExceptionC representation:CAENRFIDErrorCodes  CAENRFID_IDS_SL900A_GetSensorValue(CAENRFIDHandle  handle,CAENRFIDTag  *Tag,byte  SensorType,CAENRFID_IDSTagData  *IDSTagData);Remarks:According to the IDS SL900A datasheet, the  Sensor Type byte is composed as: bit 07..02:  Extreme Lower bit 01..00:  Sensor Type.Sensor type bits can be:00:  Temperature sensor01:  External sensor 1. 10:  External sensor 2. 11:  Battery Voltage.CAEN RFID API – Reference Manual 63
SL900A_Initialize MethodDescription:This method can be used to issue an IDS SL900A Initialize custom command as defined in the IDS SL900A datasheet.Parameters:Name DescriptionTag The tag to initializeDelayTime The DelayTime parameter. See the IDS SL900A datasheet for further details.ApplicationData The Application data. See the IDS SL900A datasheet for further details.Syntax:C# representation:public void  SL900A_Initialize(CAENRFIDTag  Tag,ushort  DelayTime,ushort  ApplicationData)Java and Android representation:public void  SL900A_Initialize(CAENRFIDTag  Tag,short  DelayTime,short  ApplicationData)throws CAENRFIDExceptionC representation:CAENRFIDErrorCodes  CAENRFID_IDS_SL900A_Initialize(CAENRFIDHandle  handle,CAENRFIDTag  *Tag,unsigned short  DelayTime,unsigned short  ApplicationData);Remarks:According to the IDS SL900A datasheet, the DelayTime parameter is composed as: bit 15..4: Delay time (expressed in seconds)bit 3..2:  RFU bit 1:  Delay mode (0 : Internal timer, 1 : External switch) bit 0:  IRQ + Timer Enable According to the IDS SL900A datasheet, the Application Data parameter is composed as:bit 15..7:  Application Area size (in words) bit 6..3:  RFU bit 2..0 : Broken word pointer.CAEN RFID API – Reference Manual64
SL900A_SetLogMode MethodDescription:This  method  can  be  used  to  issue  an   IDS  SL900A  Set   Log  Mode custom  command  as  defined  in  the  IDS  SL900Adatasheet.Parameters:Name DescriptionTag  The tag to set log mode on.LogMode The LogMode parameter. See the IDS SL900A datasheet for further details.Syntax:C# representation:public void  SL900A_SetLogMode(CAENRFIDTag  Tag,uint  LogMode)Java and Android representation:public void  SL900A_SetLogMode(CAENRFIDTag  Tag,int  LogMode)throws CAENRFIDExceptionC representation:CAENRFIDErrorCodes  CAENRFID_IDS_SL900A_SetLog(CAENRFIDHandle  handle,CAENRFIDTag  *Tag,unsigned int  LogMode);Remarks:According to the IDS SL900A datasheet, the DelayTime parameter is composed as:bit 31..24:  RFU.bit 23..21: Logging Form.bit 20:  Storage Rule.bit 19:  Ext1 sensor enable.bit 18:  Ext2 sensor enable.bit 17:  Temperature sensor enable.bit 16:  Battery Check enable.bit 15..0: Log Interval.bit 0:  RFU.CAEN RFID API – Reference Manual 65
SL900A_StartLog MethodDescription:This method can be used to issue an IDS SL900A Start Log custom command as defined in the IDS SL900A datasheet.Parameters:Name DescriptionTag The Tag where start logging.StartTime The start time. See remark for structures.Syntax:C# representation:public void  SL900A_StartLog(CAENRFIDTag  Tag,uint  StartTime)Java and Android representation:public void  SL900A_StartLog(CAENRFIDTag  Tag,int  StartTime)throws CAENRFIDExceptionC representation:CAENRFIDErrorCodes  CAENRFID_IDS_SL900A_StartLog(CAENRFIDHandle  handle,CAENRFIDTag  *Tag,unsigned int  StartTime);Remarks:According to the IDS SL900A datasheet, the StartTime parameter is composed as:bit 31..26:  Yearbit 25..21:  Monthbit 15..11:  Hourbit 10.. 6:  Minutebit 5.. 0:  Second.CAEN RFID API – Reference Manual66
WriteTagData MethodDescription:This method can be used to write a portion of the user memory in an ISO18000-6B tag.Parameters:Name DescriptionTag The CAENRFIDTag representing the tag to be written.Address The address where to start writing the data.Length The number of byte to be written.Data The data to be written into the tag's user memory.Syntax:C# representation:public void  WriteTagData(CAENRFIDTag  Tag,short  Address,short  Length,byte[]  Data)Java and Android representation:public void  WriteTagData(CAENRFIDTag  Tag,short  Address,short  Length,byte[]  Data)throws CAENRFIDExceptionC representation:CAENRFIDErrorCodes  CAENRFID_WriteTagData(CAENRFIDHandle  handle,CAENRFIDTag  *Tag,int  Address,int  Length,void  *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 DescriptionTag The CAENRFIDTag representing the tag to be written.MemBank The memory bank where to write the data.Address The address where to start writing the data.Length The number of byte to be written.Data An array of bytes representing the data to be written into the tag.Syntax:C# representation:public void  WriteTagData_EPC_C1G2(CAENRFIDTag  Tag,short  MemBank,short  Address,short  Length,byte[]  Data)Java and Android representation:public void  WriteTagData_EPC_C1G2(CAENRFIDTag  Tag,short  MemBank,short  Address,short  Length,byte[]  Data)throws CAENRFIDExceptionC representation:CAENRFIDErrorCodes  CAENRFID_WriteTagData_EPC_C1G2(CAENRFIDHandle  handle,CAENRFIDTag  *Tag,short  MemBank,int  Address,int  Length,void  *Data);CAEN RFID API – Reference Manual68
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 thetag in Secured state using the Access command.Parameters:Name DescriptionTag The CAENRFIDTag representing the tag to be written.MemBank The memory bank where to write the data.Address The address where to start writing the data.Length The number of byte to be written.Data An array of bytes representing the data to be written into the tag.AccessPassword The access password.Syntax:C# representation:public void  WriteTagData_EPC_C1G2(CAENRFIDTag  Tag,short  MemBank,short  Address,short  Length,byte[]  Data,int  AccessPassword)Java and Android representation:public void  WriteTagData_EPC_C1G2(CAENRFIDTag  Tag,short  MemBank,short  Address,short  Length,byte[]  Data,int  AccessPassword)throws CAENRFIDExceptionC representation:CAENRFIDErrorCodes  CAENRFID_SecureWriteTagData_EPC_C1G2(CAENRFIDHandle  handle,CAENRFIDTag  *Tag,short  MemBank,int  Address,int  Length,void  *Data,int  AccessPassword);CAEN RFID API – Reference Manual 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 DescriptionBankMask Memory bank for tag identificantion.PositionMask Bit position (from the start of the selected bank) where apply the mask to match.LengthMask Length of the mask.Mask Mask of byte.MemBank The memory bank where to write the data.Address The address where to start writing the data.Length The number of byte to be written.Data An array of bytes representing the data to be written into the tag.Syntax:C# representation:public void  WriteTagData_EPC_C1G2(short  BankMask,short  PositionMask,short  LengthMask,byte[]  Mask,short  MemBank,short  Address,short  Length,byte[]  Data)Java and Android representation:public void  WriteTagData_EPC_C1G2(short  BankMask,short  PositionMask,short  LengthMask,byte[]  Mask,short  MemBank,short  Address,short  Length,byte[]  Data)throws CAENRFIDExceptionC representation:CAENRFIDErrorCodes  CAENRFID_BankFilteredWriteTagData_EPC_C1G2(CAENRFIDHandle  handle,char  *SourceName,short  BankMask,short  PositionMask,short  LengthMask,char  *Mask,short  MemBank,int  Address,int  Length,void  *Data);CAEN RFID API – Reference Manual70
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 thetag in Secured state using the Access command.Parameters:Name DescriptionBankMask Memory bank for tag identificantion.PositionMask Bit position (from the start of the selected bank) where apply the mask to match.LengthMask Length of the mask.Mask Mask of byte.MemBank The memory bank where to write the data.Address The address where to start writing the data.Length The number of byte to be written.Data An array of bytes representing the data to be written into the tag.AccessPassword The access password.Syntax:C# representation:public void  WriteTagData_EPC_C1G2(short  BankMask,short  PositionMask,short  LengthMask,byte[]  Mask,short  MemBank,short  Address,short  Length,byte[]  Data,int  AccessPassword)Java and Android representation:public void  WriteTagData_EPC_C1G2(short  BankMask,short  PositionMask,short  LengthMask,byte[]  Mask,short  MemBank,short  Address,short  Length,byte[]  Data,int  AccessPassword)throws CAENRFIDExceptionC representation:CAENRFIDErrorCodes  CAENRFID_SecureBankFilteredWriteTagData_EPC_C1G2(CAENRFIDHandle  handle,char  *SourceName,short  BankMask,short  PositionMask,short  LengthMask,char  *Mask,short  MemBank,int  Address,int  Length,void  *Data,int  AccessPassword);CAEN RFID API – Reference Manual 71
CAENRFIDNotify ClassThe 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 (formore information see § Overview on SDK pag.8):C representation:typedef struct {byte  ID[MAX_ID_LENGTH];short  Length;char LogicalSource[MAX_LOGICAL_SOURCE_NAME];char ReadPoint[MAX_READPOINT_NAME];CAENRFIDProtocol Type;short RSSI;byte TID[MAX_TID_SIZE];short TIDLen;byte XPC[XPC_LENGTH];byte PC[PC_LENGTH]; } CAENRFIDNotify;getDate MethodDescription: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 MethodDescription: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()CAEN RFID API – Reference Manual72
getReadPoint MethodDescription: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 MethodDescription:This method returns the RSSI value measured for the tag.Return value:The tag's RSSI.Syntax:C# representation:public short  getRSSI()Java and Android representation:public short  getRSSI()getStatus MethodDescription: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 MethodDescription: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[]  getTagID()Java and Android representation:public byte[]  getTagID()getTagLength MethodDescription:This method returns the tag's ID length.Return value:The tag's length.Syntax:C# representation:public short  getTagLength()Java and Android representation:public short  getTagLength()getTagSource MethodDescription: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()CAEN RFID API – Reference Manual74
getTagType MethodDescription: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 MethodDescription:This method returns the TID field value in a EPC Class 1 Gen 2 TagReturn value:The bytes of the TID field.Syntax:C# representation:public byte[]  getTID()Java and Android representation:public java.lang.String  getAntenna()getXPC MethodDescription:This method returns the tag’s XPC words.Return value:The tag’s XPC words.Syntax:C# representation:public byte[] getXPC()Java and Android representation:public byte[] getXPC()CAEN RFID API – Reference Manual 75
CAENRFIDReader ClassThe CAENRFIDReader class is used to create reader objects which permit to access to CAEN RFID readers' configurationand control commands. Connect MethodConnect Method (CAENRFIDPort, stringDescription:In C# and Java languages, this method starts the communication with the reader. It must be called before any other callto 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 DescriptionConType The communication link to use for the connection.AddressDepending   on   ConType   parameter:   IP   address   for   TCP/IP   communications("xxx.xxx.xxx.xxx"), COM port for RS232 communications ("COMx"), An  index  for USBcommunications (not yet supported).Syntax:C# representation:public void  Connect(CAENRFIDPort  ConType,string  Address)Java and Android representation:public void  Connect(CAENRFIDPort  ConType,java.lang.String  Address)throws CAENRFIDExceptionConnect Method (BluetoothSocket)Description:Start the andorid SPP bluetooth communication with the CAEN RFID Reader. This method must be called before anyother methods of the Reader object.Parameters:Name DescriptionBTSock The BluetoothSocket to read/write data. Syntax:Android representation:public void  Connect(BluetoothSocket BTSock)throws CAENRFIDExceptionRemarksThe 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.CAEN RFID API – Reference Manual76
Init FunctionDescription:In C language, this function generates an opaque handle to identify a module attached to the PC. See §  Managingconnections with the readers pag. 8 for more information.Parameters:Name DescriptionConType The communication link to use for the connection.Address Communication address (i.e.: "COM1" for RS232, "USB0" for USB of IP address for TCP/IPetc.).handle The handle that identifies the device.Syntax:C representation:CAENRFIDErrorCodes CAENRFID_Init(CAENRFIDPort  ConType,char  *Address,CAENRFIDHandle  *handle,CAENRFIDProtocol  *Protocol);Disconnect MethodDescription:In C# and Java languages, this method closes the connection with the CAEN RFID Reader releasing all the allocatedresources. 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 CAENRFIDExceptionEndDescription: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 Descriptionhandle The handle that identifies the device.Syntax:C representation:CAENRFIDErrorCodes  CAENRFID_End(CAENRFIDHandle  handle);CAEN RFID API – Reference Manual 77
GetBitRate MethodDescription: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 CAENRFIDExceptionC representation:CAENRFIDErrorCodes  CAENRFID_GetBitrate(CAENRFIDHandle  handle,CAENRFID_Bitrate  *Bitrate);GetFirmwareRelease MethodDescription: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 CAENRFIDExceptionC representation:CAENRFIDErrorCodes  CAENRFID_GetFirmwareRelease(CAENRFIDHandle  handle,char  *FWRel);CAEN RFID API – Reference Manual78
GetIO MethodDescription: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 CAENRFIDExceptionC representation:CAENRFIDErrorCodes  CAENRFID_GetIO(CAENRFIDHandle  handle,unsigned int  *IORegister);GetIODirection MethodDescription:This method gets the current I/O direction setting as a bitmask. Each bit represents a I/O line, a value of 0 means thatthe line is configured as an input, 1 as an output. This setting has a meaning only for those readers with configurableI/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 CAENRFIDExceptionC representation:CAENRFIDErrorCodes  CAENRFID_GetIODirection(CAENRFIDHandle  handle,unsigned int  *IODirection);CAEN RFID API – Reference Manual 79
GetLBTMode MethodDescription:This method gets the current LBT mode setting. If the current regulation is based on the frequency hopping mechanismit 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 CAENRFIDExceptionC representation:CAENRFIDErrorCodes  CAENRFID_GetLBTMode(CAENRFIDHandle  handle,unsigned short  *LBTMode);GetPower MethodDescription: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 CAENRFIDExceptionC representation:CAENRFIDErrorCodes  CAENRFID_GetPower(CAENRFIDHandle handle,unsigned int  *Power);CAEN RFID API – Reference Manual80
GetProtocol MethodDescription: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 CAENRFIDExceptionC representation:CAENRFIDErrorCodes  CAENRFID_GetProtocol(CAENRFIDHandle  handle,CAENRFIDProtocol  *Protocol);GetReaderInfo MethodDescription: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  GetReaderInfo()throws CAENRFIDExceptionC representation:CAENRFIDErrorCodes  CAENRFID_GetReaderInfo(CAENRFIDHandle  handle,char  *Model,char  *SerialNum);CAEN RFID API – Reference Manual 81
GetReadPoints MethodDescription: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 handle,char **AntNames [],int *AntNumber);GetReadPointStatus MethodDescription:This method gets the CAENRFIDReadPointStatus object representing the status of a read point (antenna).Parameters:Name DescriptionReadPoint 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  GetReadPointStatus(string  ReadPoint)Java and Android representation:public CAENRFIDReadPointStatus  GetReadPointStatus(java.lang.String  ReadPoint)throws CAENRFIDExceptionC representation:CAENRFIDErrorCodes  CAENRFID_GetReadPointStatus(CAENRFIDHandle  handle,char  *ReadPoint,CAENRFIDReadPointStatus *Status);CAEN RFID API – Reference Manual82
GetRFChannel MethodDescription:This method gets the index of the RF channel currently in use. The index value meaning changes for different countryregulations.Return value:The RF channel index.Syntax:C# representation:public short  GetRFChannel()Java and Android representation:public short  GetRFChannel()throws CAENRFIDExceptionC representation:CAENRFIDErrorCodes  CAENRFID_GetRFChannel(CAENRFIDHandle  handle,unsigned short  *RFChannel);RemarksThis method is only used for testing applications.GetRFRegulation MethodDescription: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()throws CAENRFIDExceptionC representation:CAENRFIDErrorCodes  CAENRFID_GetRFRegulation(CAENRFIDHandle  handle,CAENRFIDRFRegulations *RFRegulation);CAEN RFID API – Reference Manual 83
GetSource MethodDescription:This method gets a CAENRFIDLogicalSource object given its name.Parameters:Name DescriptionSource 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 CAENRFIDExceptionRemarks:This function does not exist in C language, see § Overview on SDK pag. 8 for more information.GetSourceNames MethodDescription: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 handle,char **SrcNames[],int *SrcNumber);CAEN RFID API – Reference Manual84
GetSources MethodDescription: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 MethodFor the description of this method, see § Event Handling pag.96.RFControl MethodDescription:Permits to control the RF CW (Carrier Wave) signal generation.Parameters:Name DescriptionOnOff 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  OnOff)throws CAENRFIDExceptionC representation:CAENRFIDErrorCodes  CAENRFID_RFControl(CAENRFIDHandle  handle,int  OnOff);RemarksThis method is only used for testing applications.CAEN RFID API – Reference Manual 85
SetBitRate MethodDescription:This method sets the RF bit rate to use.Parameters:Name DescriptionBitRate The RF bit rate value to be set.Syntax:C# representation:public void  SetBitRate(CAENRFIDBitRate  BitRate)Java and Android representation:public void  SetBitRate(CAENRFIDBitRate  BitRate)throws CAENRFIDExceptionC representation:CAENRFIDErrorCodes  CAENRFID_SetBitRate(CAENRFIDHandle  handle,CAENRFID_Bitrate  BitRate);SetDateTime MethodDescription:This method sets the Date/Time of the reader.Parameters:Name DescriptionDateTime The   Date/Time   to   be   set   on   the   reader   as   a   string   in   the   format:   "yyyy-mm-ddhh:mm:ss".Syntax:C# representation:public void  SetDateTime(string  DateTime)Java and Android representation:public void  SetDateTime(java.lang.String  DateTime)throws CAENRFIDExceptionC representation:CAENRFIDErrorCodes  CAENRFID_SetDateTime(CAENRFIDHandle  handle,char  *DateTime);CAEN RFID API – Reference Manual86
SetIO MethodDescription:This method sets the Output lines value.Parameters:Name DescriptionIOValueA bitmask  representing  the I/O  lines value.  The   format and  the  meaning of  the bitsdepend on the reader's model. Please refer to the corresponding user manual availableon www.caenrfid.comSyntax:C# representation:public void  SetIO(int  IOValue)Java and Android representation:public void  SetIO(int  IOValue)throws CAENRFIDExceptionC representation:CAENRFIDErrorCodes  CAENRFID_SetIO(CAENRFIDHandle  handle,unsigned int  IOValue);SetIODIRECTION MethodDescription:This method sets the current I/O direction setting as a bitmask. Each bit represents a I/O line, a value of 0 means thatthe line is configured as an input, 1 as an output. This setting has a meaning only for those readers with configurableI/O lines.Parameters:Name DescriptionIODirection The IODirection value to set.Syntax:C# representation:public void  SetIODIRECTION(int  IODirection)Java and Android representation:public void  SetIODIRECTION(int  IODirection)throws CAENRFIDExceptionC representation:CAENRFIDErrorCodes  CAENRFID_SetIODirection(CAENRFIDHandle  handle,unsigned int  IODirection);CAEN RFID API – Reference Manual 87
SetNetwork MethodDescription:This method permits to configure the network settings of the reader. In order to apply the changes the reader must berestarted.Parameters:Name DescriptionIPAddress The IP address to set on the reader network interface.NetMask The netmask to set on the reader network interface.Gateway The gateway to set on the reader network interface.Syntax:C# representation:public void  SetNetwork(string  IPAddress,string  NetMask,string  Gateway)Java and Android representation:public void  SetNetwork(java.lang.String  IPAddress,java.lang.String  NetMask,java.lang.String  Gateway)throws CAENRFIDExceptionC representation:CAENRFIDErrorCodes  CAENRFID_SetNetwork(CAENRFIDHandle  handle,char  *IPAddress,char  *NetMask,char  *Gateway);SetPower MethodDescription:This method sets the conducted RF power of the Reader.Parameters:Name Descriptionpower The conducted RF power value expressed in mW.Syntax:C# representation:public void  SetPower(int  power)Java and Android representation:public void  SetPower(int  power)throws CAENRFIDExceptionC representation:CAENRFIDErrorCodes  CAENRFID_SetPower(CAENRFIDHandle  handle,unsigned int  Power);CAEN RFID API – Reference Manual88
SetProtocol MethodDescription:This method sets the air protocol of the reader.Parameters:Name DescriptionProtocol 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 CAENRFIDExceptionC representation:CAENRFIDErrorCodes  CAENRFID_SetProtocol(CAENRFIDHandle  handle,CAENRFIDProtocol  Protocol);SetRFChannel MethodDescription:This method sets the RF channel to use. This method fixes the RF channel only when the listen before talk or thefrequency hopping feature is disabled.Parameters:Name DescriptionChannel The RF channel index to be set.Syntax:C# representation:public void  SetRFChannel(short  Channel)Java and Android representation:public void  SetRFChannel(short  Channel)throws CAENRFIDExceptionC representation:CAENRFIDErrorCodes  CAENRFID_SetRFChannel(CAENRFIDHandle  handle,unsigned short  Channel);RemarksThis method is only used for testing applications.CAEN RFID API – Reference Manual 89
SetRS232 MethodDescription:This method permits to change the serial port settings. Valid settings values depend on the reader model.Parameters:Name Descriptionbaud The baud rate value to set.datab The number of data bits to set.stopb The number of stop bits to set.parity The parity value to set.flowc The flow control value to set.Syntax:C# representation:public void  SetRS232(int  baud,int  datab,int  stopb,CAENRFIDRS232Constants  parity,CAENRFIDRS232Constants  flowc)Java and Android representation:public void  SetRS232(int  baud,int  datab,int  stopb,CAENRFIDRS232Constants  parity,CAENRFIDRS232Constants  flowc)throws CAENRFIDExceptionC representation:CAENRFIDErrorCodes CAENRFID_SetRS232(CAENRFIDHandle  handle,unsigned long  baud,unsigned long  datab,unsigned long  stopb,CAENRFID_RS232_Parity  parity,CAENRFID_RS232_FlowControl flowc);CAEN RFID API – Reference Manual90
CAENRFIDReaderInfo ClassThe CAENRFIDReaderInfo class is used to create reader info objects. Reader info objects represent the informationabout the reader device (model and serial number).GetModel MethodDescription: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 factGetReaderInfo Method (in the C language) returns the reader’s model and the serial number.GetSerialNumber MethodDescription: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 factGetReaderInfo Method (in the C language) returns the reader’s model and the serial number.CAEN RFID API – Reference Manual 91
CAENRFIDTag ClassThe CAENRFIDTag class is used to define objects representing the tags. These objects are used as return values for theinventory 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 {byte  ID[MAX_ID_LENGTH];short  Length;char LogicalSource[MAX_LOGICAL_SOURCE_NAME];char ReadPoint[MAX_READPOINT_NAME];CAENRFIDProtocol Type;short RSSI;byte TID[MAX_TID_SIZE];short TIDLen; byte XPC[XPC_LENGTH];byte PC[PC_LENGTH];} CAENRFIDTag;GetId MethodDescription: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()CAEN RFID API – Reference Manual92
GetPC MethodDescription: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 MethodDescription:This method returns the read point that has detected the tag.Return value:The name of the read point that has detected the TagSyntax:C# representation:public string  GetReadPoint()Java and Android representation:public java.lang.String  GetReadPoint()throws CAENRFIDException GetRSSI MethodDescription:This method returns the RSSI value measured for the tag.Return value:The tag's RSSI.Syntax:C# representation:public short  GetRSSI()Java and Android representation:public short  GetRSSI()CAEN RFID API – Reference Manual 93
GetSource MethodDescription: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 MethodDescription: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 MethodDescription: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()CAEN RFID API – Reference Manual94
GetType MethodDescription: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 MethodDescription:This method returns the tag’s XPC words.Return value:The tag’s XPC words.Syntax:C# representation:public byte[] GetXPC()Java and Android representation:public byte[] GetXPC()CAEN RFID API – Reference Manual 95
4 Event HandlingThis chapter gives a description of CAENRFID event handling. It contains these topics: •Event Handling•C# Event Handling•Java and Android Event Handling•C Event HandlingCAEN RFID API – Reference Manual96
Event HandlingStandard   tag's   detection   method   (InventoryTag)   is   based   on   a   polling   mechanism:   a   call   to   the   InventoryTagmethod/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   theEventInventoryTag method/function starts a continuous tags' detection algorithm (multiple read cycles) and an event isgenerated 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  ReadCycleparameter 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 thecontinuous 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 Cit is simulated using the callback mechanism.No other methods can be invoked on logical source and reader, during the continuous mode, nor inside the eventhandler. The only operation allowed is an inventory abort, that must be used to stop a reader which is working incontinuous 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 MethodDescription:A call to this method will start a sequence of read cycle on each read point linked to the logical source. The readingswill be notified to the controller via event generation.Parameters:Name DescriptionMask A byte array representing the bitmask to apply.MaskLength A value representing the bit-oriented length of the bitmask.Position A value representing the first bit where the match will start.Flag A bitmask representing the InventoryTag options.pCallBack 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; falseotherwise.Syntax:C# representation:public bool  EventInventoryTag(byte[] Mask,short MaskLength,short Position,short Flag)Java and Android representation:public boolean  EventInventoryTag(byte[]  Mask,short  MaskLength,short  Position,short  Flag)throws CAENRFIDExceptionC representation:typedef struct {char *SourceName;char *Mask;unsigned char MaskLength;unsigned char Position;CAENRFID_INVENTORY_CALLBACK pCallBack;short flag;}CAENRFID_EventInventoryParams;CAENRFIDErrorCodes  CAENRFID_EventInventoryTag (CAENRFIDHandle  handle,CAENRFID_EventInventoryParams  InvParams);CAEN RFID API – Reference Manual98
Remarks:Depending on the air protocol setting it will execute the appropriate anticollision algorithm. This version of the methodpermits to specify a bitmask for filtering tag's populations as  described by the EPC Class1 Gen2 (ISO18000-6C) airprotocol.  The  filtering  will  be   performend  on  the   memory   bank  specified   by  bank  parameter,   starting  at  the   bitindicated by the Position index and for a MaskLength length. The method will return only the tags that match the givenMask. Passing a zero value for MaskLength it performs as the non-filtering InventoryTag method. The Flags parameterpermits to set InventoryTag method's options.Flag value meaningBit 0 RSSI: a 1 value indicates the reader will transmit the RSSI (Return Signal Strength Indicator) in theresponse.Bit 1Framed data: a 1 value indicates that the tag's data will be transmitted by the reader to the PC assoon as the tag is detected, a 0 value means that all the tags detected are buffered in the readerand 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).Bit 2Continuous acquisition: a 1 value indicates that the inventory cycle is repeated by the readerdepending on the SetReadCycle setting value, a 0 value means that only one inventory cycle willbe performed. If the continuous mode is selected a 0 value in the ReadCycle setting will instructthe reader to repeat the inventory cycle until an InventoryAbort method is invoked, a value Xdifferent 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).Bit 3Compact data: a 1 value indicates that only the EPC of the tag will be returned by the reader, a 0value indicates that the complete data will be returned. In case that the compact option is enabledall the other data will be populated by this library with fakes values.Bit 4 TID reading: a 1 value indicates that also the TID of the tag will be returned by the reader togetherwith the other information.Bit 5Event 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 modewith the only difference that the inventory command is performed only by pressing the button ofthe A828BT and qID R1240I reader.Bit 6 XPC: a 1 value allows the reader to get the XPC word if backscattered by a tag.Tags that do notbackscatter the XPC words will return an XPC array with all the 4 bytes set to 0Bit 7 Match tag: a 1 value enables the matching of readed tags with a tag present in the memory(A828BT reader only). Bit 8 PC: a 1 value allows the reader to return the PC of a Gen2 tag in addition to the ID (A828BT readeronly).InventoryAbort MethodDescription: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 HandlingCAENRFIDEventArgs ClassThe 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 DelegateCAENRFIDEventHandler delegate declaration. Parameters:Name DescriptionEvent the Data Event.Syntax:C# representation:public delegate void  CAENRFIDEventHandler(object  Sender,CAENRFIDEventArgs  Event)CAENRFIDEvent EventThe CAEN RFID event is generated by the library each time tag data arrives from the reader. The event is generatedonly when the EventInventoryTag method is used. It is an event of the Reader Class.Syntax:C# representation:public event CAENRFIDEventHandler  CAENRFIDEventEvent DataThe   event   handler   receives   an   argument   of   type   CAENRFIDEventArgs   containing   data   related   to   this   event.   Thefollowing CAENRFIDEventArgs property provides information specific to this event.Property DescriptionData Represents the event object value.CAEN RFID API – Reference Manual100
Java and Android Event HandlingCAENRFIDEvent ClassThe 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 InterfaceThe listener interface for receiving CAEN RFID events. CAENRFIDTagNotifyDescription: This method is invoked when an action occurs.Parameters:Name Descriptionevt The CAENRFIDEvent contains the Data Event.Syntax:Java and Android representation:void  CAENRFIDTagNotify(CAENRFIDEvent  evt)addCAENRFIDEventListenerThis is a Reader Class method. It adds the specified CAENRFIDEvent listener to receive CAENRFIDEvent events from thisCAENRIFDReader.Parameters:Name Descriptionlistener listener - the CAENRFIDEvent listener.Syntax:Java and Android representation:public void  addCAENRFIDEventListener(CAENRFIDEventListener  listener)removeCAENRFIDEventListenerThis is a Reader Class method. It Removes the specified CAENRFIDEvent listener so that it no longer receives CAENRFIDevents from this CAENRIFDReader.Parameters:Name Descriptionlistener listener - the CAENRFIDEvent listener.Syntax:Java and Android representation:public void  removeCAENRFIDEventListener(CAENRFIDEventListener  listener)CAEN RFID API – Reference Manual 101
C Event HandlingCAENRFID_INVENTORY_CALLBACKThis function prototype defines the type of the user defined event handler (see the CAEN RFID API User Manual. forfurther information) Syntax:C representation:typedef CAENRFIDErrorCodes (__stdcall *CAENRFID_INVENTORY_CALLBACK)(const CAENRFIDNotify* Tags, const int Size);CAEN RFID API – Reference Manual102
5 Enumerations DescriptionThis 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 EnumerationCAEN RFID API – Reference Manual 103
CAENRFIDBitRate EnumerationThe CAENRFIDBitRate Enumeration gives a list of the supported radiofrequency profiles.Syntax:C# representation:public enum  CAENRFIDBitRateJava and Android representation:public final class  CAENRFIDBitRateC representation:typedef enum  CAENRFID_Bitrate;In the following table, the CAENRFIDBitRate Enumeration members are listed:Member DescriptionDSB_ASK_FM0_TX10RX40 DSB-ASK transmission modulation, FM0 return link encoding, 10 Kbit in transmission,40 Kbit in reception.DSB_ASK_FM0_TX40RX40 DSB-ASK transmission modulation, FM0 return link encoding, 40 Kbit in transmission,40 Kbit in reception.DSB_ASK_FM0_TX40RX160 DSB-ASK transmission modulation, FM0 return link encoding, 40 Kbit in transmission,160 Kbit in reception.DSB_ASK_FM0_TX160RX400 DSB-ASK   transmission   modulation,   FM0   return   link   encoding,   160   Kbit   intransmission, 400 Kbit in reception.DSB_ASK_M2_TX40RX160 DSB-ASK   transmission   modulation,   Miller   (M=2)   return   link   encoding,   40   Kbit   intransmission, 160 Kbit in reception.DSB_ASK_M4_TX40RX256 DSB-ASK   transmission   modulation,   Miller   (M=4)   return   link   encoding,   40   Kbit   intransmission, 256 Kbit in reception.PR_ASK_FM0_TX40RX640 PR-ASK transmission modulation, FM0 return link encoding, 40 Kbit in transmission,640 Kbit in reception.PR_ASK_M2_TX40RX250 PR-ASK   transmission   modulation,   Miller   (M=2)   return   link   encoding,   40   Kbit   intransmission, 250 Kbit in reception.PR_ASK_M4_TX40RX250 PR-ASK   transmission   modulation,   Miller   (M=4)   return   link   encoding,   40   Kbit   intransmission, 250 Kbit in reception.PR_ASK_M4_TX40RX256 PR-ASK   transmission   modulation,   Miller   (M=4)   return   link   encoding,   40   Kbit   intransmission, 256 Kbit in reception.PR_ASK_M4_TX40RX300 PR-ASK   transmission   modulation,   Miller   (M=4)   return   link   encoding,   40   Kbit   intransmission, 300 Kbit in reception.PR_ASK_M4_TX40RX320 DSB-ASK   transmission   modulation,   Miller   (M=4)   return   link   encoding,   40   Kbit   intransmission, 320 Kbit in reception.PR_ASK_M4_TX80RX320 PR-ASK   transmission   modulation,   Miller   (M=4)   return   link   encoding,   80   Kbit   intransmission, 320 Kbit in reception.CAEN RFID API – Reference Manual104
CAENRFIDLogicalSourceConstants EnumerationThe  CAENRFIDLogicalSourceConstants Enumeration gives a list of constants used for the configuration of the logicalsources. Detailed explanation of the settings can be found in the EPC Class 1 Gen 2 and ISO 18000-6B specificationdocuments.Syntax:C# representation:public enum  CAENRFIDLogicalSourceConstantsJava and Android representation:public final class  CAENRFIDLogicalSourceConstantsC representation:typedef enum  CAENRFIDLogicalSourceConstants;In the following table, the CAENRFIDLogicalSourceConstants Enumeration members are listed:Member DescriptionEPC_C1G2_SESSION_S0  Session 0 is selected for the anticollision algorithm execution on the logical source(valid only for the EPC Class1 Gen2 air protocol). EPC_C1G2_SESSION_S1  Session 1 is selected for the anticollision algorithm execution on the logical source(valid only for the EPC Class1 Gen2 air protocol). EPC_C1G2_SESSION_S2  Session 2 is selected for the anticollision algorithm execution on the logical source(valid only for the EPC Class1 Gen2 air protocol). EPC_C1G2_SESSION_S3  Session 3 is selected for the anticollision algorithm execution on the logical source(valid only for the EPC Class1 Gen2 air protocol). EPC_C1G2_TARGET_A  Target  A  is selected   for  the  anticollision  algorithm  execution on the  logical  source(valid only for the EPC Class1 Gen2 air protocol). EPC_C1G2_TARGET_B  Target B  is  selected  for  the  anticollision  algorithm   execution on the   logical  source(valid only for the EPC Class1 Gen2 air protocol). EPC_C1G2_SELECTED_YES  Only the tags with the SL flag set to true are considered in the anticollision algorithmexecution on the logical source (valid only for the EPC Class1 Gen2 air protocol). EPC_C1G2_SELECTED_NO  Only the tags with the SL flag set to false are considered in the anticollision algorithmexecution on the logical source (valid only for the EPC Class1 Gen2 air protocol). EPC_C1G2_ALL_SELECTED  All  the  tags   are   considered   in  the   anticollision   algorithm  execution   on   the   logicalsource (valid only for the EPC Class1 Gen2 air protocol). ISO18006B_DESB_ON  The Data Exchange Status Bit feature is used for the anticollision algorithm executionon the logical source (valid only for the ISO18000-6B air protocol).ISO18006B_DESB_OFF  The   Data   Exchange   Status   Bit   feature   is   not   used   for   the   anticollision   algorithmexecution on the logical source (valid only for the ISO18000-6B air protocol).CAEN RFID API – Reference Manual 105
CAENRFIDLogicalSource.InventoryFlag EnumerationThe  CAENRFIDLogicalSource.InventoryFlag   Enumeration  gives   a  list   of   constants  used   for  the   configuration  of   theinventory function that comes with Flag parameter.Syntax:C# representation:public enum  CAENRFIDLogicalSource.InventoryFlagJava and Android representation:public final class  CAENRFIDLogicalSource.InventoryFlagC representation:typedef enum  CAENRFIDLogicalSource.InventoryFlag;In the following table, the CAENRFIDLogicalSource.InventoryFlag Enumeration members are listed:Member DescriptionRSSI When  enabled,   the   RSSI   value   representing   the   backscattered   RF   field   strenght   isreturned by the reader for each tag read. Some reader cannot have this feature.FRAMEDTags found in an inventoy cycle are not bufferized in reader and sent all together, butsent  one   by   one   as  soon   as   a   tag  is  detected.   It   Is   used  in   conjunction   with   thecontinuous flag.CONTINUOUS Enables   the   continuos   mode   acquisition.   Logical   source   must   have   ReadCycleparameter set to 0. COMPACT Instruct the reader to not return any other information than the ID. Other values arefake and filled by the library.TID_READING Instruct the reader  to return the TID memory. On some reader it must be   used inconjunction with SetTIDLength to work more efficiently. EVENT_TRIGGERWork   only   in   combination   with   continuous   mode.   In   reader   provided   withidentification button, it instructs the reader to do an inventory cycle only when thebutton is pressed.XPC It instructs the reader to return XPC. If no XPC is present on the tag, the XPC field of atag is filled up with zero values. PC Instruct the reader to return the PC of the EPC bank for each inventoried tag.CAEN RFID API – Reference Manual106
CAENRFIDPort EnumerationThe CAENRFIDPort Enumeration gives a list of the communication ports supported by the CAEN RFID readers.Syntax:C# representation:public enum  CAENRFIDPortJava and Android representation:public final class  CAENRFIDPortC 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 DescriptionCAENRFID_RS232  Serial port communication link.CAENRFID_TCP  TCP/IP network communication link. CAENRFID_USB  USB communication link.CAENRFIDProtocol EnumerationThe CAENRFIDProtocol Enumeration gives a list of the air protocol supported by the CAEN RFID readers.Syntax:C# representation:public enum  CAENRFIDProtocolJava and Android representation:public final class  CAENRFIDProtocolC 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 DescriptionCAENRFID_ISO18000_6b  ISO18000-6B air protocol.CAENRFID_EPC119  EPC 1.19 air protocol. CAENRFID_EPC_C1G1 EPCGlobal Class1 Gen1 air protocol.CAENRFID_ISO18000_6a  ISO18000-6A air protocol. CAENRFID_EPC_C1G2  EPCGlobal Class1 Gen2 (aka ISO18000-6C) air protocol. CAENRFID_MULTIPROTOCOL  This value permits to use all the supported air protocol at the same time. Suggestedsetting only for demo purposes.CAEN RFID API – Reference Manual 107
CAENRFIDReadPointStatus EnumerationThe CAENRFIDReadPointStatus gives a list of the possible ReadPoint status values.Syntax:C# representation:public enum  CAENRFIDReadPointStatusJava and Android representation:public final class  CAENRFIDReadPointStatusC 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 DescriptionSTATUS_BAD  Bad antenna connection. STATUS_GOOD  Good antenna connection. STATUS_POOR  Poor antenna connection.CAEN RFID API – Reference Manual108
CAENRFIDRFRegulations EnumerationThe CAENRFIDRFRegulations gives a list of country radiofrequency regulations.Syntax:C# representation:public enum  CAENRFIDRFRegulationsJava and Android representation:public final class  CAENRFIDRFRegulationsC representation:typedef enum  CAENRFIDRFRegulations;Remarks:In   order   to   align   the   three   libraries,   the   regulations,   previously   declared   as   #define,   are   now   members   of   anenumeration, 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 DescriptionETSI_302208 ETSI_302208 radiofrequency regulation.ETSI_300220 ETSI_300220 radiofrequency regulation.FCC_US FCC_US radiofrequency regulation.MALAYSIA MALAYSIA radiofrequency regulation.JAPAN JAPAN radiofrequency regulation.KOREA KOREA radiofrequency regulation.AUSTRALIA AUSTRALIA radiofrequency regulation.CHINA CHINA radiofrequency regulation.TAIWAN TAIWAN radiofrequency regulation.SINGAPORE SINGAPORE radiofrequency regulation.BRAZIL BRAZIL radiofrequency regulation.JAPAN_STD_T106 11 JAPAN radiofrequency regulation (ARIB STD-T106 Premises radio station (1W) - LBTfree)JAPAN_STD_T107 12 JAPAN radiofrequency regulation (ARIB STD-T107 Specified low power radio station(250mW) - with LBT)CAEN RFID API – Reference Manual 109
CAENRFIDRS232Constants EnumerationThe CAENRFIDRS232Constants gives a list of settings for the serial port configuration.Syntax:C# representation:public enum  CAENRFIDRS232ConstantsJava and Android representation:public final class  CAENRFIDRS232ConstantsC representation:typedef enum  CAENRFID_RS232_Parity;typedef enum  CAENRFID_RS232_FlowControl;In the following table, the CAENRFIDRS232Constants Enumeration members are listed:Member DescriptionCAENRS232_Parity_None No parity bit is sent at all.CAENRS232_Parity_Odd Odd parity. CAENRS232_Parity_Even Even parity.CAENRFID_RS232_FlowControl_XonXoff Software flow control.CAENRFID_RS232_FlowControl_Hardware Hardware flow control.CAENRFID_RS232_FlowControl_None No flow control.CAEN RFID API – Reference Manual110
CAENRFIDSelUnselOptions EnumerationThe CAENRFIDSelUnselOptions gives a list of operations supported by the Group Select/Unselect command (valid onlyfor the ISO18000-6B air protocol).Syntax:C# representation:public enum  CAENRFIDSelUnselOptionsJava and Android representation:public final class  CAENRFIDSelUnselOptionsC representation:typedef enum  CAENRFID_SelUnsel_Op;In the following table, the CAENRFIDSelUnselOptions Enumeration members are listed:Member DescriptionSEL_EQUAL select equal to.SEL_NOT_EQUAL select not equal to.SEL_GREATER_THAN select greater than.SEL_LOWER_THAN select lower than.UNS_EQUAL unselect equal to.UNS_NOT_EQUAL unselect not equal to.UNS_GREATER_THAN unselect greater than.UNS_LOWER_THAN unselect lower than.CAEN RFID API – Reference Manual 111
CAENRFIDTag.MemBanks EnumerationThe 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 {RESERVED(0), EPC(1), TID(2), USER(3);private int code;private MemBanks(int c) {code = c;}public int getBankNum() {return code;}}C representation:typedef enum  {RESERVED   = 0,EPC        = 1,TID        = 2,USER       = 3} CAENRFIDMemBanks;In the following table, the CAENRFIDTag.MemBanks Enumeration members are listed:Member DescriptionRESERVED Indicates the reserved bankEPC  Indicates the EPC bankTID  Indicates the TID bankUSER  Indicates the USER bankCAEN RFID API – Reference Manual112
6 CAENRFID Obsolete MethodsThis 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 TypesCAEN RFID API – Reference Manual 113
Below it is available a list of obsolete methods, functions, members and data types for the three different programlanguages.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 MethodsMethod DescriptionChannel ClassAddSource This method is now obsolete.AddTrigger This method is now obsolete.GetChannelStatus This method is now obsolete.GetChannelType This method is now obsolete.GetName This method is now obsolete.IsSourcePresent This method is now obsolete.IsTriggerPresent This method is now obsolete.RemoveSource This method is now obsolete.RemoveTrigger This method is now obsolete.LogicalSource ClassAddTrigger This method is now obsolete.Fujitsu_BurstErase This method is now obsolete.Fujitsu_BurstWrite This method is now obsolete.Fujitsu_ChgBlockGroupPassword This method is now obsolete.Fujitsu_ChgBlockLock This method is now obsolete.Fujitsu_ChgWordLock This method is now obsolete.Fujitsu_ReadBlockLock This method is now obsolete.Fujitsu_Refresh This method is now obsolete.GetLostThreshold This method is now obsolete.GetObservedThreshold  This method is now obsolete.Hitachi_BlockLock  This method is now obsolete.Hitachi_BlockReadLock  This method is now obsolete.Hitachi_GetSystemInformation This method is now obsolete.Hitachi_ReadLock  This method is now obsolete.Hitachi_SetAttenuate  This method is now obsolete.Hitachi_WriteMultipleWords This method is now obsolete.Inventory This method is now obsolete.KillTag This method is now obsolete.LockTag This method is now obsolete.NXP_Calibrate This method is now obsolete.ProgramID This method is now obsolete.RemoveTrigger This method is now obsolete.SetLostThreshold This method is now obsolete.SetObservedThreshold This method is now obsolete.Reader ClassConnectRS232 This method is now obsolete.CreateChannel This method is now obsolete.CreateTrigger This method is now obsolete.FWUpgradeTFTP This method is now obsolete.GetAllocatedChannels This method is now obsolete.GetAllocatedTriggers This method is now obsolete.GetChannelData This method is now obsolete.GetDESB This method is now obsolete.GetEventMode This method is now obsolete.RemoveChannel This method is now obsolete.RemoveTrigger This method is now obsolete.SetDESB This method is now obsolete.SetEventMode This method is now obsolete.SetReaderOPtions This method is now obsolete.Receiver ClassKillServer This method is now obsolete.Trigger ClassCAEN RFID API – Reference Manual114
GetIOLineValue This method is now obsolete.GetName This method is now obsolete.GetTimerValue This method is now obsolete.IsLinkedToChannel  This method is now obsolete.IsLinkedToSource This method is now obsolete.Tab. 6.4: C# Obsolete MethodsC# Obsolete MembersMember DescriptionBitRate EnumerationTX10RX40 This member is now obsolete.TX40RX40 This member is now obsolete.TX40RX160 This member is now obsolete.EventMode EnumerationREADCYCLE_MODE This member is now obsolete.TIME_MODE This member is now obsolete.NOEVENT_MODE This member is now obsolete.TagEventType EnumerationTAG_GLIMPSED This member is now obsolete.TAG_LOST This member is now obsolete.TAG_OBSERVED This member is now obsolete.TAG_UNKNOWN This member is now obsolete.Tab. 6.5: C# Obsolete MembersJava and Android Obsolete MethodsMethod DescriptionBitRate ClassTX10RX40 This method is now obsolete.TX40RX40 This method is now obsolete.TX40RX160 This method is now obsolete.Channel ClassAddSource This method is now obsolete.AddTrigger This method is now obsolete.GetChannelStatus This method is now obsolete.GetChannelType This method is now obsolete.GetName This method is now obsolete.IsSourcePresent This method is now obsolete.IsTriggerPresent This method is now obsolete.RemoveSource This method is now obsolete.RemoveTrigger This method is now obsolete.Event ClassData This method is now obsolete. Use getData instead.EventMode ClassREADCYCLE_MODE This method is now obsolete.TIME_MODE This method is now obsolete.NOEVENT_MODE This method is now obsolete.LogicalSource ClassAddTrigger This method is now obsolete.Fujitsu_BurstErase This method is now obsolete.Fujitsu_BurstWrite This method is now obsolete.Fujitsu_ChgBlockGroupPassword This method is now obsolete.Fujitsu_ChgBlockLock This method is now obsolete.Fujitsu_ChgWordLock This method is now obsolete.Fujitsu_ReadBlockLock This method is now obsolete.Fujitsu_Refresh This method is now obsolete.GetLostThreshold This method is now obsolete.GetObservedThreshold This method is now obsolete.CAEN RFID API – Reference Manual 115
Method DescriptionHitachi_GetSystemInfo This method is now obsolete. Hitachi_BlockLock  This method is now obsolete.Hitachi_BlockReadLock  This method is now obsolete.Hitachi_GetSystemInformation This method is now obsolete.Hitachi_ReadLock  This method is now obsolete.Hitachi_SetAttenuate  This method is now obsolete.Hitachi_WriteMultipleWords This method is now obsolete.Inventory This method is now obsolete.NXP_Calibrate This method is now obsolete.NXP_ChangeEAS (only non secure version) This method is now obsolete.NXP_EAS_Alarm (only secure version) This method is now obsolete.NXP_ResetReadProtect (only secure version) This method is now obsolete.RemoveTrigger This method is now obsolete.SetLostThreshold This method is now obsolete.SetObservedThreshold This method is now obsolete.Notify ClassgetAntenna This method is now obsolete. Use getReadPoint instead.Reader ClassCreateChannel This method is now obsolete.CreateTrigger This method is now obsolete.FWUpgradeTFTP This method is now obsolete.GetAllocatedChannels This method is now obsolete.GetAllocatedTriggers This method is now obsolete.GetChannelData This method is now obsolete.GetEventMode This method is now obsolete.RemoveChannel This method is now obsolete.RemoveTrigger This method is now obsolete.SetEventMode This method is now obsolete.SetReaderOPtions This method is now obsolete.Receiver ClassKillServer This method is now obsolete.TagEventType ClassTAG_GLIMPSED This method is now obsolete.TAG_LOST This method is now obsolete.TAG_OBSERVED This method is now obsolete.TAG_UNKNOWN This method is now obsolete.Trigger ClassGetIOLineValue This method is now obsolete.GetName This method is now obsolete.GetTimerValue This method is now obsolete.IsLinkedToChannel  This method is now obsolete.IsLinkedToSource This method is now obsolete.HitachiSysInfoGetBankLock This method is now obsolete.GetBlockReadLock This method is now obsolete.GetBlockReadWriteLock This method is now obsolete.GetBlockWriteLock This method is now obsolete.GetInfoFlag This method is now obsolete.getReserved This method is now obsolete.getSetAttenuateLevel This method is now obsolete.getTID This method is now obsolete.getUII This method is now obsolete.getUser This method is now obsolete.Tab. 6.6: Java and Android Obsolete MethodsCAEN RFID API – Reference Manual116
C Obsolete FunctionsFunction DescriptionAddNotifyTrigger This function is now obsolete.AddReadTrigger This function is now obsolete.AddSourceToChannel This function is now obsolete.AllocateChannel This function is now obsolete.AllocateTrigger This function is now obsolete.CustomCmd_C1G2 This function is now obsolete. Use CustomCommand_EPC_C1G2 instead.DeallocateChannel This function is now obsolete.DeallocateTrigger This function is now obsolete.ExtendedInventoryTag This function is now obsolete.FirmwareUpgrade This function is now obsolete.FreeNotifyMemory This function is now obsolete.Fujitsu_BurstErase This function is now obsolete.Fujitsu_BurstWrite This function is now obsolete.Fujitsu_ChgBlockGroupPassword This function is now obsolete.Fujitsu_ChgBlockLock This function is now obsolete.Fujitsu_ChgWordLock This function is now obsolete.Fujitsu_ReadBlockLock This function is now obsolete.Fujitsu_Refresh This function is now obsolete.GetAllocatedChannels This function is now obsolete.GetAllocatedTriggers This function is now obsolete.GetChannelData This function is now obsolete.GetChannelInTrigger This function is now obsolete.GetChannelStatus This function is now obsolete.GetDE_SB This function is now obsolete.Use GetDESB_ISO180006B instead.GetEventMode This function is now obsolete.GetFWRelease This function is now obsolete. Use GetFirmwareRelease instead.GetModulation This function is now obsolete.GetNotification This function is now obsolete.GetQ_C1G2 This function is now obsolete. Use GetQValue_EPC_C1G2 instead.GetQ_EPC_C1G2 This function is now obsolete. Use GetQValue_EPC_C1G2 instead.GetReadPointInSource This function is now obsolete. Use isReadPointPresent instead.GetSourceConfiguration This function is now obsolete.GetSourceInChannel This function is now obsolete.GetSourceInTrigger This function is now obsolete.GetSWRelease This function is now obsolete.GetTriggerInChannel This function is now obsolete.Hitachi_BlockLock  This function is now obsolete.Hitachi_BlockReadLock  This function is now obsolete.Hitachi_GetSystemInformation This function is now obsolete.Hitachi_ReadLock  This function is now obsolete.Hitachi_SetAttenuate  This function is now obsolete.Hitachi_WriteMultipleWords This function is now obsolete.Inventory This function is now obsolete.KillTag This function is now obsolete. Use KillTag_EPC_C1G1 instead.KillTag_C1G2 This function is now obsolete. Use KillTag_EPC_C1G2 instead.Lock This function is now obsolete. Use LockTag_ISO180006B instead.Lock_C1G2 This function is now obsolete. Use LockTag_EPC_C1G2 instead.NXP_Calibrate This function is now obsolete.NXP_ChangeEAS This function is now obsolete.NXP_SecureCalibrate This function is now obsolete.NXP_SecureEAS_Alarm This function is now obsolete.NXP_SecureResetReadProtect This function is now obsolete.ProgramID This function is now obsolete. CAEN RFID API – Reference Manual 117
Function DescriptionUse ProgramID_EPC_C1G1 instead.ProgramID_C1G2 This function is now obsolete. Use ProgramID_EPC_C1G2 instead.QueryAck_C1G2 This function is now obsolete. Use QueryAck_EPC_C1G2 instead.QueryTag_C1G2 This function is now obsolete. Use Query_EPC_C1G2 instead.Read This function is now obsolete. Use ReadTagData instead.Read_C1G2 This function is now obsolete. Use ReadTagData_EPC_C1G2 instead.RemoveNotifyTrigger This function is now obsolete.RemoveReadTrigger This function is now obsolete.RemoveSourceFromChannel This function is now obsolete.SecureCustomCmd_C1G2 This function is now obsolete.Use SecureCustomCommand_EPC_C1G2 instead.SecureLock_C1G2 This function is now obsolete. Use SecureLockTag_EPC_C1G2 instead.SecureProgramID_C1G2 This function is now obsolete. Use SecureProgramID_EPC_C1G2 instead.SecureRead_C1G2 This function is now obsolete.Use SecureReadTagData_EPC_C1G2 instead.SecureWrite_C1G2 This function is now obsolete. Use SecureWriteTagData_EPC_C1G2 instead.SetBitrate This function is now obsolete. Use CAENRFID_SetBitRate instead.SetDE_SB This function is now obsolete. Use SetDESB_ISO180006B instead.SetEventMode This function is now obsolete.SetModulation This function is now obsolete.SetQ_C1G2 This function is now obsolete. Use SetQValue_EPC_C1G2 instead.SetQ_EPC_C1G2 This function is now obsolete. Use SetQValue_EPC_C1G2 instead.SetSourceConfiguration This function is now obsolete.Write This function is now obsolete. Use WriteTagData instead.Write_C1G2 This function is now obsolete. Use WriteTagData_EPC_C1G2 instead.Tab. 6.7: C Obsolete FunctionsCAEN RFID API – Reference Manual118
C Obsolete Data TypesData Type DescriptionCAENRFID_SOURCE_ParameterCONFIG_READCYCLE This data type is now obsolete. Use Get/SetReadCycle Method instead.CONFIG_OBSERVEDTHRESHOLD This data type is now obsolete.CONFIG_LOSTTHRESHOLD This data type is now obsolete.CONFIG_G2_Q_VALUE This data type is now obsolete.Use Get/SetQ_EPC_C1G2 Method instead.CONFIG_G2_SESSION This data type is now obsolete. Use Get/SetSession_EPC_C1G2 Method instead.CONFIG_G2_TARGET This data type is now obsolete. Use Get/SetTarget_EPC_C1G2 Method instead.CONFIG_G2_SELECTED This data type is now obsolete. Use Get/SetSelected_EPC_C1G2Method instead.CONFIG_ISO18006B_DESB This data type is now obsolete. Use Get/SetDESB_ISO180006B Method instead.CAENRFID_EventModeREADCYCLE_MODE This data type is now obsolete.TIME_MODE This data type is now obsolete.NOEVENT_MODE This data type is now obsolete.CAENRFID_FWUpgradeTypeRFID_TFTP This data type is now obsolete.CAENRFID_ExtendedInventoryParams This data type is now obsolete.Tab. 6.8: C Obsolete Data TypesCAEN RFID API – Reference Manual 119

Navigation menu