Convergence Systems CS101C1GEN2 Handheld Reader User Manual appendix 9 cover

Convergence Systems Limited Handheld Reader appendix 9 cover

User manual

Download: Convergence Systems CS101C1GEN2 Handheld Reader User Manual appendix 9 cover
Mirror Download [FCC.gov]Convergence Systems CS101C1GEN2 Handheld Reader User Manual appendix 9 cover
Document ID907120
Application IDVAkj4ICFQ7jnVX/jcKp9NA==
Document DescriptionUser manual
Short Term ConfidentialNo
Permanent ConfidentialNo
SupercedeYes
Document TypeUser Manual
Display FormatAdobe Acrobat PDF - pdf
Filesize200.73kB (2509084 bits)
Date Submitted2008-02-26 00:00:00
Date Available2008-03-10 00:00:00
Creation Date2007-12-17 07:11:21
Producing SoftwareAcrobat Distiller 5.0.5 (Windows)
Document Lastmod2008-02-26 15:09:24
Document TitleMicrosoft Word - appendix 9 cover
Document CreatorPScript5.dll Version 5.2.2
Document Author: leungyat

www.tuv.com
Report No.14018170 001
Appendix 9:
User Manual
FCCID: UB4CS101C1GEN2
(Total: 213 pages, include this page)
CSL CS101-2 EPC Class 1 Gen 2 RFID
Handheld Reader
User’s Manual
Version 1.0
CSL: The One-Stop-Shop for RFID Solutions
CSL CS101-2 EPC CLASS 1 GEN 2 RFID HANDHELD READER
USER'S MANUAL, VERSION 1.0
Content
CONTENT .......................................................................................................................... 2
FCC STATEMENT ............................................................................................................ 6
INTRODUCTION.............................................................................................................. 7
3.1
CS101-2 HANDHELD RFID READER ............................................................................. 7
3.2
HOW TO USE THIS MANUAL .......................................................................................... 7
3.3
PRODUCT PACKAGE ....................................................................................................... 8
3.3.1
Basic Package Content......................................................................................... 8
3.3.2
Unpacking Instructions ........................................................................................ 8
3.4
PRODUCT SPECIFICATION .............................................................................................. 9
INSTALLATION.............................................................................................................. 11
4.1
DEVICES ...................................................................................................................... 11
4.1.1
Reader ................................................................................................................ 11
4.1.2
Charger .............................................................................................................. 14
4.2
POWER UP SEQUENCE ................................................................................................. 15
4.3
USAGE RECOMMENDATION ......................................................................................... 17
4.3.1
Strap: Wrist Strap and Shoulder Strap ............................................................... 17
4.3.2
IO Connection .................................................................................................... 17
4.4
VERIFICATION AND VALIDATION .................................................................................. 18
4.5
CAUTIONS ................................................................................................................... 20
QUICK START ................................................................................................................ 21
5.1
5.2
5.3
READER LOGIN ........................................................................................................... 21
SYSTEM CONFIGURATION ............................................................................................ 22
SETUP RFID CONFIGURATION ..................................................................................... 23
5.4
READ TAGS ................................................................................................................. 24
DEMO APPLICATION................................................................................................... 25
6.1
INTRODUCTION ............................................................................................................ 25
6.2
SPLASH SCREEN .......................................................................................................... 26
6.3
ID AND PASSWORD PAGE ............................................................................................. 27
6.4
APPLICATIONS SELECTOR SCREEN .............................................................................. 28
6.4.1
Tag Read............................................................................................................. 30
6.4.2
Tag Write ............................................................................................................ 31
6.4.3
Tag Inventory...................................................................................................... 34
Copyright © Convergence Systems Limited, All Rights Reserved
CSL CS101-2 EPC CLASS 1 GEN 2 RFID HANDHELD READER
6.4.4
6.4.5
6.4.6
6.4.7
6.4.8
6.4.9
6.4.10
6.4.11
6.4.12
6.4.13
USER'S MANUAL, VERSION 1.0
Tag Ranging ....................................................................................................... 35
Tag Search .......................................................................................................... 36
Tag Commissioning ............................................................................................ 37
Tag Authentication ............................................................................................. 38
Database Management....................................................................................... 39
RFID Configuration ........................................................................................... 40
Scan Barcode...................................................................................................... 46
Tag Security........................................................................................................ 47
System Configuration ......................................................................................... 49
Factory Defaults................................................................................................. 54
SOFTWARE DEVELOPMENT KIT............................................................................. 55
7.1
SOFTWARE SPECIFICATIONS......................................................................................... 56
7.1.1
CS101-2 RFID Libraries.................................................................................... 56
7.1.2
CS101-2 Demonstration Application ................................................................. 56
7.1.3
CS101-2 Keep Alive Monitor ............................................................................. 57
7.1.4
CS101-2 Server Side Application....................................................................... 57
7.2
BLOCK DIAGRAMS ...................................................................................................... 58
7.3
APPLICATION PROGRAMMING INTERFACE (API) DEFINITIONS .................................... 63
7.4
APPLICATION SCENARIOS WITH PROGRAM SOURCE CODES....................................... 155
7.5
UNIT TESTS ............................................................................................................... 156
7.6
BUILD ENVIRONMENT ............................................................................................... 157
7.7
DEBUG METHODS ..................................................................................................... 158
7.7.1
Log File ............................................................................................................ 158
7.7.2
Error Message List........................................................................................... 158
PC SIDE DEMO PROGRAMS .................................................................................... 159
8.1
INTRODUCTION .......................................................................................................... 159
8.2
DATABASE FILES MANIPULATION DEMO ................................................................... 159
8.2.1
Installing Demo Program................................................................................. 159
8.2.2
Using Demo Program ...................................................................................... 159
USAGE TIPS FOR CS101-2 ......................................................................................... 160
9.1
9.2
9.3
9.4
10
INTRODUCTION .......................................................................................................... 160
GENERAL TIPS ........................................................................................................... 160
SYSTEM TIPS ............................................................................................................. 160
WRITE TAG TIPS ........................................................................................................ 160
RFID COOKBOOK................................................................................................... 161
10.1
INTRODUCTION .......................................................................................................... 161
Copyright © Convergence Systems Limited, All Rights Reserved
CSL CS101-2 EPC CLASS 1 GEN 2 RFID HANDHELD READER
USER'S MANUAL, VERSION 1.0
10.2 APPLICATION DETAILS .............................................................................................. 164
10.2.1
Business Process Analysis................................................................................ 164
10.2.2
Technology Selection........................................................................................ 167
10.2.3
Customer Expectation Management ................................................................ 168
10.2.4
Hardware Configuration .................................................................................. 169
10.2.5
Software Configuration .................................................................................... 170
10.2.6
System Integration............................................................................................ 172
10.2.7
Pilot Test........................................................................................................... 173
10.2.8 Optimization ..................................................................................................... 175
10.2.9
Customization................................................................................................... 176
10.2.10
Training ........................................................................................................ 177
10.2.11 Test & Commissioning...................................................................................... 178
10.2.12
Maintenance & Statistics.............................................................................. 179
10.3 READERS FOR DIFFERENT BUSINESS APPLICATIONS .................................................. 180
10.4 ANTENNAS FOR DIFFERENT BUSINESS APPLICATIONS ............................................... 181
11
RFID BEST PRACTICES............................................................................................. 182
11.1 INTRODUCTION .......................................................................................................... 182
11.2 INTEGRATION PROCESS DETAILS ............................................................................... 184
11.2.1
Familiarization Process ................................................................................... 184
11.2.1.1
Familiarizing with Browser Interface .......................................................... 184
11.2.1.2
Familiarizing with Programming Interface ................................................. 184
11.2.1.3
Full Scale Programming and Integration .................................................... 185
11.2.1.4
Reader Capability Envelope Discovery ....................................................... 185
11.2.2
Integration Process .......................................................................................... 187
11.2.2.1
Use Cases and Requirements Gathering...................................................... 187
11.2.2.2
Draft Solution and In-House Testing............................................................ 187
11.2.2.3
API Programming ........................................................................................ 187
11.2.2.4
Pilot Testing.................................................................................................. 187
11.2.2.5
Middleware Testing ...................................................................................... 188
11.2.2.6
11.2.2.7
12
12.1
12.2
12.3
12.4
12.5
Finalizing Solution ....................................................................................... 188
Scaling.......................................................................................................... 188
RFID USE CASES ..................................................................................................... 190
WAREHOUSE REAL TIME INVENTORY TRACKING ...................................................... 190
HIGH TRAFFIC HUMAN ACCESS CONTROL ................................................................ 191
REUSABLE PALLET TRACKING ................................................................................... 192
WORK-IN-PROGRESS MONITORING ........................................................................... 193
HUMAN ACCESS CONTROL BY AUTONOMOUS TAG GROUPS IN READER .................... 194
Copyright © Convergence Systems Limited, All Rights Reserved
CSL CS101-2 EPC CLASS 1 GEN 2 RFID HANDHELD READER
12.6
12.7
12.8
12.9
12.10
12.11
USER'S MANUAL, VERSION 1.0
PALLET/CARTON TAGGING VERIFICATION ................................................................. 195
BLOOD BAG TRACKING ............................................................................................. 196
PHARMACEUTICAL BOTTLES TRACKING AND ANTI-COUNTERFEIT ............................ 197
VEHICLE TRACKING IN MAINTENANCE DEPOT.......................................................... 198
VEHICLE INFORMATION SYSTEM ........................................................................... 199
DOCUMENT TRACKING .......................................................................................... 200
APPENDIX A.
RFID BASICS......................................................................................... 201
APPENDIX B.
GLOSSARY ............................................................................................ 202
APPENDIX C.FEDERAL COMMUNICATION COMMISSIONS COMPLIANCE..... 208
APPENDIX D.
MAXIMUM PERMISSIBLE EXPOSURE ......................................... 209
Copyright © Convergence Systems Limited, All Rights Reserved
CSL CS101-2 EPC CLASS 1 GEN 2 RFID HANDHELD READER
USER'S MANUAL, VERSION 1.0
FCC Statement
FCC NOTICE: To comply with FCC part 15 rules in the United States, the system must be
professionally installed to ensure compliance with the Part 15 certification. It is the
responsibility of the operator and professional installer to ensure that only certified systems are
deployed in the United States. The use of the system in any other combination (such as
co-located antennas transmitting the same information) is expressly forbidden.
Copyright © Convergence Systems Limited, All Rights Reserved
CSL CS101-2 EPC CLASS 1 GEN 2 RFID HANDHELD READER
USER'S MANUAL, VERSION 1.0
Introduction
3.1
CS101-2 Handheld RFID Reader
The CS101-2 handheld RFID reader is a ruggedized reader designed from the drawing board to
have extremely long read range and high read rate – in that it is designed to replace fixed
reader in many applications where fixed reader is a non-portable and therefore non-viable
option. In fact it is nicknamed “Fixed Reader in Your Hand”. CS101-2 is a product that
arises out of popular requests for applications such as:
1.
2.
3.
4.
5.
3.2
Dock Door applications where the handheld reader is used to complement fixed reader
when tags are not 100% read by the fixed reader.
Loading Bay applications where the fixed reader is not allowed because there is no place
to put a permanent reader stand.
Warehouse applications where the handheld is used to do long read range inventory of all
the shelves – apparently not a good idea to use a fixed reader and move it around up and
down.
Special applications where long read range is a MUST because the operator does not
want to go near the tagged item, example police inspecting the electronic license plate of
a suspect vehicle with a suspicious driver inside.
Retail shop inventory applications where high read rate is most useful – workers can go
home earlier!!
How to Use this Manual
This manual provides a comprehensive introduction to the CSL CS101-2 EPC Class1 Gen 2
handheld RFID reader (chapter 1), Installation Guide (chapter 2), Quick Start Guide (chapter 3),
Applications Interface (chapter 4), CSL Demo Programs (chapter 5), Software Development
Environment (chapter 6), Usage Tips for CS101-2(chapter 7), and Troubleshooting Guide
(chapter 11). Some other information such as RFID Cook Book (chapter 8), RFID Best
Practices (chapter 9) and RFID Use Cases (chapter 10) are also provided for reference.
Copyright © Convergence Systems Limited, All Rights Reserved
CSL CS101-2 EPC CLASS 1 GEN 2 RFID HANDHELD READER
3.3
Product Package
3.3.1
Basic Package Content
USER'S MANUAL, VERSION 1.0
The reader package contains:
•
•
•
•
•
•
•
Handheld reader
Charger with power adapter and country specific power cord
Batteries – 2 pieces
Wrist strap
Shoulder strap
Sample tags
User Manual (in CD format)
3.3.2
Unpacking Instructions
Unpacking of the reader is very simple. Just open up the box and take out the content to a
The charger should be connected and the 2 batteries charged for a
minimum of 10 hours before first use.
table.
Copyright © Convergence Systems Limited, All Rights Reserved
CSL CS101-2 EPC CLASS 1 GEN 2 RFID HANDHELD READER
3.4
USER'S MANUAL, VERSION 1.0
Product Specification
Figure 3-1 CS101-2Reader
Features:
„
„
„
„
„
„
„
„
„
„
ISO 18000-6C and EPCglobal Class 1 Gen 2 UHF RFID protocol compliant including
dense reader mode
Ultra long read range – peak at 5 to 7 meters for Banjole tag
Ultra high read rate – peak at 200 tags per second
Sophisticated data handling for efficient management of large streams of tag data.
Highly configurable buffering and tag filtering modes to eliminate the redundant tag data
so as to reduce wireless LAN traffic and server loading
400 kbps tag-to-reader data rate profile
Robust performance in dense-reader environments
Excellent in transmit and receive mode – generates a different combination of unique
reader-to-tag command rate, tag-to-reader backscatter rate, modulation format, and
backscatter type
Configurable parameters offer maximum throughput and optimal performance
Supports all Gen 2 commands, including write, lock and kill
Copyright © Convergence Systems Limited, All Rights Reserved
CSL CS101-2 EPC CLASS 1 GEN 2 RFID HANDHELD READER
USER'S MANUAL, VERSION 1.0
Specifications:
Physical Characteristics:
Environment:
Antenna:
Power:
RFID Frequency Ranges:
Interfaces
Operating System:
Maximum Tag Read Rate:
Maximum Speed of Tag:
Accessories:
Order Code:
Restrictions on Use:
Length: 20 cm; Width: 12.5 cm; Height: 22.5 cm;
Weight: 1.2 Kg
Operating Temp: 00C to 500C
Storage Temp:
-400C to 850C
Humidity: 5% to 95% non-condensing
Enclosure: IP-63
Linear with excellent polarization diversity
14.8 Volt 1400 mAh Lithium Polymer battery
902-928 MHz band
Wi Fi 802.11b/g with WPA
Configurable to use fixed IP address or DHCP
USB
RS-232
Maximum 2GB SD card storage
WinCE Profession 5.0
200 tag/sec.
660 ft/min
Charger, batteries, wrist strap, shoulder strap
CS101-2
Approvals, features and parameters may vary
depending on country legislation and may change
without notice
Copyright © Convergence Systems Limited, All Rights Reserved
10
CSL CS101-2 EPC CLASS 1 GEN 2 RFID HANDHELD READER
Installation
4.1
Devices
4.1.1
Reader
USER'S MANUAL, VERSION 1.0
The CSL CS101-2 handheld RFID Reader is an EPCglobal Class 1 Gen 2 handheld reader
product.
Status
LED
LCD Touch
Screen
58 Keys
Keyboard
Programmable
LED
Figure 1-2 CS101-2Reader front view
Copyright © Convergence Systems Limited, All Rights Reserved
11
CSL CS101-2 EPC CLASS 1 GEN 2 RFID HANDHELD READER
USER'S MANUAL, VERSION 1.0
Handle and
Battery
SD Card Slot
Figure 1-3 CS101-2Reader side view
Barcode
Reader
RFID Antenna
Inside
Figure 1-4 CS101-2Reader plan view
Copyright © Convergence Systems Limited, All Rights Reserved
12
CSL CS101-2 EPC CLASS 1 GEN 2 RFID HANDHELD READER
USER'S MANUAL, VERSION 1.0
The reader is connected to the network via Wi Fi. The reader can have a static IP address or can
obtain an IP address using DHCP. Normally, a static IP address is more convenient to use
because it does not change when the reader reboots, but the user has to make sure there is no
collision with other network devices in the network. If the reader is configured to be DHCP,
then a separate discovery program that runs on the PC side can help the user find all readers in
the same local area network.
Wi Fi
READER
Any Server/PC
in the network
READER
READER
OR
Static IP Address
DHCP Granted IP Address
USB
PC
(Running Active Syn Explore)
RS232
PC
(Running Active Syn Explore)
READER
READER
Copyright © Convergence Systems Limited, All Rights Reserved
13
CSL CS101-2 EPC CLASS 1 GEN 2 RFID HANDHELD READER
4.1.2
USER'S MANUAL, VERSION 1.0
Charger
Figure 4-1 CS101-2Charger with AC Adaptor
Copyright © Convergence Systems Limited, All Rights Reserved
14
CSL CS101-2 EPC CLASS 1 GEN 2 RFID HANDHELD READER
4.2
USER'S MANUAL, VERSION 1.0
Power Up Sequence
The reader can be turned on to run RFID operation in a most simple manner:
1. Insert battery into the handle of the handheld reader with the metal contact inward. Also,
make sure it is in the correct direction in terms of front and back. If the front-back
direction is reversed, the battery cannot go in – in that case do not force it in, just reverse
the battery and it should slide in effortlessly.
2. Press the power button on the upper right corner of the keypad continuously until LCD
screen display appears.
3. Wait till WinCE screen shows up.
4. On the WinCE screen, there is an application called CS101.
application.
Double click it to start the
5. A screen will show up asking for ID and password. For ID, input root, for password,
input root. (You can change that later, either setting it to NO ID/PASSWORD mode so
that the software will not ask for ID and password, or change to ID and password to
whatever name you want)
Figure 4-2 User Login
Copyright © Convergence Systems Limited, All Rights Reserved
15
CSL CS101-2 EPC CLASS 1 GEN 2 RFID HANDHELD READER
USER'S MANUAL, VERSION 1.0
6. After that, the screen will enter the application selection page and you can start reading and
writing tags, inventory of tags, search of tags, etc.
Copyright © Convergence Systems Limited, All Rights Reserved
16
CSL CS101-2 EPC CLASS 1 GEN 2 RFID HANDHELD READER
USER'S MANUAL, VERSION 1.0
4.3
Usage Recommendation
4.3.1
Strap: Wrist Strap and Shoulder Strap
The wrist strap and shoulder strap should be attached to the handheld reader to allow additional
weight support during use.
4.3.2
IO Connection
The IO connector consists of one USB connector (mini-USB) and an RS232 Serial connector
(Firewire) with dedicated cables that come with the reader.
RS232
(Firewire
connector)
USB
(Mini USB
connector)
Reset
Figure 4-3 IO Interface
Copyright © Convergence Systems Limited, All Rights Reserved
17
CSL CS101-2 EPC CLASS 1 GEN 2 RFID HANDHELD READER
4.4
USER'S MANUAL, VERSION 1.0
Verification and Validation
The reader comes with standard demo application to read tag and write tag:
Figure 4-4 WinCE Screen
Double click the application CS101:
Figure 4-5 Main Menu page 1
Copyright © Convergence Systems Limited, All Rights Reserved
18
CSL CS101-2 EPC CLASS 1 GEN 2 RFID HANDHELD READER
USER'S MANUAL, VERSION 1.0
Figure 4-6 Main Menu page 2
Take the sample tags and put them in front of the handheld reader:
Figure 4-7 Tag Inventory
Copyright © Convergence Systems Limited, All Rights Reserved
19
CSL CS101-2 EPC CLASS 1 GEN 2 RFID HANDHELD READER
4.5
USER'S MANUAL, VERSION 1.0
Cautions
The reader default IP address is printed on the reader label. To change this IP address,
please go to System Configuration page of the demo application to do that:
Copyright © Convergence Systems Limited, All Rights Reserved
20
CSL CS101-2 EPC CLASS 1 GEN 2 RFID HANDHELD READER
Quick Start
5.1
Reader Login
•
•
USER'S MANUAL, VERSION 1.0
Press the power button to power up the reader.
To login, input the “User Name” and “Password”, then click the “Login” button. The
default administrator login name and password are as follows:
Login: root
Password: root
Figure 5-1 Login Screen
Copyright © Convergence Systems Limited, All Rights Reserved
21
CSL CS101-2 EPC CLASS 1 GEN 2 RFID HANDHELD READER
5.2
USER'S MANUAL, VERSION 1.0
System Configuration
System configuration allows user to set basic properties of the overall system, such as identity
of the reader (reader name), authentication requirement of the application (ID and password),
etc.
Figure 5-2 System Configuration Screen
Copyright © Convergence Systems Limited, All Rights Reserved
22
CSL CS101-2 EPC CLASS 1 GEN 2 RFID HANDHELD READER
5.3
USER'S MANUAL, VERSION 1.0
Setup RFID Configuration
One can set up operation profile of the RFID reading and writing operation by going to the
RFID Configuration screen.
Please set above parameters to default operation profile.
•
Please open page “Link Profile” as shown in Figure 5-3. You can reach the page by
clicking “RFID Config -> Link Profile”.
•
Select correct values and then click “Apply” button.
Figure 5-3 Reader Configuration Screen
Copyright © Convergence Systems Limited, All Rights Reserved
23
CSL CS101-2 EPC CLASS 1 GEN 2 RFID HANDHELD READER
5.4
USER'S MANUAL, VERSION 1.0
Read Tags
To read tags one can use the Tag Read demo application. Firstly, select “Tag Read” in the main
menu, then select “Scan First”, all Tag’s EPC ID within the readable range can be read into the
handheld reader.
Figure 5-4 Tag Read Operation
Copyright © Convergence Systems Limited, All Rights Reserved
24
CSL CS101-2 EPC CLASS 1 GEN 2 RFID HANDHELD READER
6.1
USER'S MANUAL, VERSION 1.0
Demo Application
Introduction
The WinCE screen contains a short cut called CSL 101 Demo App, as shown in Figure 4-1.
Please double click that short cut to start the application.
Figure 6-1 WinCE Screen
Copyright © Convergence Systems Limited, All Rights Reserved
25
CSL CS101-2 EPC CLASS 1 GEN 2 RFID HANDHELD READER
6.2
USER'S MANUAL, VERSION 1.0
Splash Screen
The splash screen will display, wait until the application start up.
Figure 6-2
Splash Screen
Copyright © Convergence Systems Limited, All Rights Reserved
26
CSL CS101-2 EPC CLASS 1 GEN 2 RFID HANDHELD READER
6.3
USER'S MANUAL, VERSION 1.0
ID and Password Page
The ID and Password page, as shown in Figure 4-3, allows controlled access to this
application.
Figure 6-3
ID and Password Page
Figure 6-4
ID and Password Page
Copyright © Convergence Systems Limited, All Rights Reserved
27
CSL CS101-2 EPC CLASS 1 GEN 2 RFID HANDHELD READER
6.4
USER'S MANUAL, VERSION 1.0
Applications Selector Screen
The Applications Selector Screen contains buttons that carry out different CS101-2functions.
This is a multiple screen interface, where user can navigate to the next screen using the
“More…” button.
Figure 6-5
Applications Selector Screen 1
Copyright © Convergence Systems Limited, All Rights Reserved
28
CSL CS101-2 EPC CLASS 1 GEN 2 RFID HANDHELD READER
Figure 6-6
USER'S MANUAL, VERSION 1.0
Applications Selector Screen 2
Copyright © Convergence Systems Limited, All Rights Reserved
29
CSL CS101-2 EPC CLASS 1 GEN 2 RFID HANDHELD READER
6.4.1
USER'S MANUAL, VERSION 1.0
Tag Read
To read tags one can use the Tag Read demo application. Firstly, select “Tag Read” in the main
menu, then select “Scan First”, all tag’s EPC ID within the readable range will be read into the
handheld reader. If one want to read further information from the desirable tag, such as access
password or kill tag password, select the tag EPC ID from the EPC list, then press “Read
Selected”. If the tag memory banks are locked, access password is required to provide.
Figure 6-7
Tag Read
Copyright © Convergence Systems Limited, All Rights Reserved
30
CSL CS101-2 EPC CLASS 1 GEN 2 RFID HANDHELD READER
6.4.2
USER'S MANUAL, VERSION 1.0
Tag Write
To write tag by using the Tag Write demo application, firstly, select “Tag Write” in the main
menu, then select “Scan First” to read all tags IDs into the reader, now, you can read further tag
information by selecting any tag EPC ID from the EPC list and then clicking the button of
“Read Selected”. Different memory band can be selected to be written by highlighting the
memory bank and then keying in a new value, click “Write Selected” to start write tag at once.
Figure 6-8
Tag Write
Copyright © Convergence Systems Limited, All Rights Reserved
31
CSL CS101-2 EPC CLASS 1 GEN 2 RFID HANDHELD READER
USER'S MANUAL, VERSION 1.0
You can also rewrite any tag’s EPC ID regardless of its original EPC ID. Configure the reader
settings by entering the new ID in “EPC Value” and then click “Write Any” button. If your just
want to write one tag only, tick the option of “Stop at first tag”, or tick the “Auto-increment”
box to write more than one tag with the EPC value is automatically increment.
Figure 6-9
Tag Write – Auto-Increment
We can check the original ID on the left column and the corresponding written ID on the right
column.
Figure 6-10
Tag Write – Result
Copyright © Convergence Systems Limited, All Rights Reserved
32
CSL CS101-2 EPC CLASS 1 GEN 2 RFID HANDHELD READER
USER'S MANUAL, VERSION 1.0
Enter the masking value in the “Tag Group Mask” so that the tag EPC ID will not be written
when the prefix of tag EPC ID is same as the masking value.
Figure 6-11
Figure 6-12
Tag Write – Masking
Tag Write – Result
Copyright © Convergence Systems Limited, All Rights Reserved
33
CSL CS101-2 EPC CLASS 1 GEN 2 RFID HANDHELD READER
6.4.3
USER'S MANUAL, VERSION 1.0
Tag Inventory
You can read all tags at a time by using the function of tag inventory. Besides the EPC ID, you
can also read the ambient temperature and internal temperature of the handheld reader.
Figure 6-13
Inventory Main
Figure 6-14
Inventory Result
Copyright © Convergence Systems Limited, All Rights Reserved
34
CSL CS101-2 EPC CLASS 1 GEN 2 RFID HANDHELD READER
6.4.4
USER'S MANUAL, VERSION 1.0
Tag Ranging
The Tag Ranging provides the function for the user to read the tags with RSSI (RF Signal
Strength Indicator) in a list, so that RSSI value will keep changing when the handheld move to
and from the tags.
Figure 6-15
Tag Ranging Main
Figure 6-16
Tag Ranging Result
Copyright © Convergence Systems Limited, All Rights Reserved
35
CSL CS101-2 EPC CLASS 1 GEN 2 RFID HANDHELD READER
6.4.5
USER'S MANUAL, VERSION 1.0
Tag Search
The Tag Search application allows user to zero in onto tag using a Geiger like buzzer pattern.
Figure 6-17
Tag Search
Figure 6-18
Tag Search
Copyright © Convergence Systems Limited, All Rights Reserved
36
CSL CS101-2 EPC CLASS 1 GEN 2 RFID HANDHELD READER
6.4.6
USER'S MANUAL, VERSION 1.0
Tag Commissioning
The Tag Commissioning allows the user to associate the Bar Code ID and Tag ID and then save
it into a file in CSV format
Figure 6-19
Figure 6-20
Tag Commissioning – tag read
Tag Commissioning – association
Copyright © Convergence Systems Limited, All Rights Reserved
37
CSL CS101-2 EPC CLASS 1 GEN 2 RFID HANDHELD READER
6.4.7
USER'S MANUAL, VERSION 1.0
Tag Authentication
The Tag Authentication allows the user to compare the Barcode/EPC ID based on a CSV file
saved in the handheld reader with the Barcode/EPC ID that can be read currently.
Figure 6-21
Tag Authentication – Main
Figure 6-22
Tag Authentication – Result
Copyright © Convergence Systems Limited, All Rights Reserved
38
CSL CS101-2 EPC CLASS 1 GEN 2 RFID HANDHELD READER
6.4.8
USER'S MANUAL, VERSION 1.0
Database Management
Figure 6-23
Database Management
Copyright © Convergence Systems Limited, All Rights Reserved
39
CSL CS101-2 EPC CLASS 1 GEN 2 RFID HANDHELD READER
6.4.9
USER'S MANUAL, VERSION 1.0
RFID Configuration
The RFID Configuration allows the user to set parameters for the Inventory, Tag Memory,
Frequency, Link Profile, Antenna and Overheat Protection.
Inventory Setup:
Session: Session number must be different from reader to reader if they are pointing into the
same zone.
Est. Tag Population Size: it is the estimated population of tags to be read at a time.
Tag Filter Mask: Set the filter to select the tags that you want to read/write in the tag inventory
submenu.
Figure 6-24
RFID Configuration – Inventory Setup
Copyright © Convergence Systems Limited, All Rights Reserved
40
CSL CS101-2 EPC CLASS 1 GEN 2 RFID HANDHELD READER
USER'S MANUAL, VERSION 1.0
Tag Memory:
Vendors: Select the vendor type to determine the size of the memory bank
Tag Bank Sizes: Beside the predefine memory size from different vendors, you can also change
the size depending on the tag type.
Figure 6-25
RFID Configuration – Tag Memory
Copyright © Convergence Systems Limited, All Rights Reserved
41
CSL CS101-2 EPC CLASS 1 GEN 2 RFID HANDHELD READER
USER'S MANUAL, VERSION 1.0
Link Profile: Different modulation profile can be selected by the user for different situation
Figure 6-26
Figure 6-27
RFID Configuration – Link Profile
RFID Configuration – Link Profile Details
Copyright © Convergence Systems Limited, All Rights Reserved
42
CSL CS101-2 EPC CLASS 1 GEN 2 RFID HANDHELD READER
USER'S MANUAL, VERSION 1.0
Antenna: Depending on the read range and the tag type, you can adjust the antenna power
range from 0 to 30dBm
Figure 6-28
RFID Configuration – Antenna
Copyright © Convergence Systems Limited, All Rights Reserved
43
CSL CS101-2 EPC CLASS 1 GEN 2 RFID HANDHELD READER
USER'S MANUAL, VERSION 1.0
OverHeat Protection: The function in this page lets the user to set the Antenna on/off duty
cycle and transceiver temperature to protect the handheld reader to avoid overheat
Duty Cycle: The function of duty cycle prevents the user to read/write for a long time. When
tag read/write is working over the predefined period, it will stop to do the tag read/write and
then start it again for another predefined period.
Overheat Protection: Set a temperature value here so that the reader will show an overheat
warning when the handheld internal temperature is reached to this value.
Figure 6-29
RFID Configuration – OverHeat Protection
Copyright © Convergence Systems Limited, All Rights Reserved
44
CSL CS101-2 EPC CLASS 1 GEN 2 RFID HANDHELD READER
USER'S MANUAL, VERSION 1.0
Temperature: when the handheld reader temperature reaches the predefine temperature value
on this page, it will display the warning message and stop tag read/write function.
Figure 6-30
RFID Configuration – Temperature
Copyright © Convergence Systems Limited, All Rights Reserved
45
CSL CS101-2 EPC CLASS 1 GEN 2 RFID HANDHELD READER
USER'S MANUAL, VERSION 1.0
6.4.10 Scan Barcode
The Scan Barcode allows the user to scan barcode and then save it into a file in CSV format
Figure 6-31
Figure 6-32
Scan Barcode - Main
Scan Barcode - Scanning
Copyright © Convergence Systems Limited, All Rights Reserved
46
CSL CS101-2 EPC CLASS 1 GEN 2 RFID HANDHELD READER
USER'S MANUAL, VERSION 1.0
6.4.11 Tag Security
Tag Security: You can use the tag security to set the protection feature of the tag.
Firstly, click “Choose another Tag” to scan the available tag that is within the coverage of the
handheld reader, then select the tag from the tag list.
The handheld reader can let the user to set the protection of kill password, access password,
EPC ID, TID and user bank depending on the tag type.
Figure 6-33
Tag Permission
Copyright © Convergence Systems Limited, All Rights Reserved
47
CSL CS101-2 EPC CLASS 1 GEN 2 RFID HANDHELD READER
USER'S MANUAL, VERSION 1.0
Allow: allow read/write the memory bank
Always Allow: Tag can never be locked
Password Protect: need password when access the tag memory bank
Always Deny: tag cannot be read even correct password is provided
No Change: keep previous status
Figure 6-34
Tag Permission
Copyright © Convergence Systems Limited, All Rights Reserved
48
CSL CS101-2 EPC CLASS 1 GEN 2 RFID HANDHELD READER
USER'S MANUAL, VERSION 1.0
6.4.12 System Configuration
The System Configuration contains the submenu for Identity the reader, user login in/out, beep
sound for different user function.
Identity: Set the unique name/ID for the reader
Figure 6-35
System Configuration - Identity
Copyright © Convergence Systems Limited, All Rights Reserved
49
CSL CS101-2 EPC CLASS 1 GEN 2 RFID HANDHELD READER
USER'S MANUAL, VERSION 1.0
User: Set login name and password can restrict the unauthorized user to run the demo program
in this handheld reader.
Figure 6-36
System Configuration - User
Copyright © Convergence Systems Limited, All Rights Reserved
50
CSL CS101-2 EPC CLASS 1 GEN 2 RFID HANDHELD READER
USER'S MANUAL, VERSION 1.0
Sounds: Different sound melody can assign to different usage to the handheld reader.
Figure 6-37
System Configuration - Sounds
Copyright © Convergence Systems Limited, All Rights Reserved
51
CSL CS101-2 EPC CLASS 1 GEN 2 RFID HANDHELD READER
USER'S MANUAL, VERSION 1.0
Diagnostics: The Diagnostics submenu allows the user to check the version of current RFID
driver and MAC, user can also set the trace log for debugging.
Figure 6-38
System Configuration - Diagnostics
Copyright © Convergence Systems Limited, All Rights Reserved
52
CSL CS101-2 EPC CLASS 1 GEN 2 RFID HANDHELD READER
USER'S MANUAL, VERSION 1.0
Time Synchronization: This page allows you to set the NTP server so that the system time can
synchronize with NTP server when you press the “Sync. Now” button.
Figure 6-39
System Configuration – Time Synchronization
Copyright © Convergence Systems Limited, All Rights Reserved
53
CSL CS101-2 EPC CLASS 1 GEN 2 RFID HANDHELD READER
USER'S MANUAL, VERSION 1.0
6.4.13 Factory Defaults
Factory Defaults: User can use the factory defaults to reset the RFID Config, System Config
and data Folders into the default settings.
Figure 6-40
Factory Defaults
Copyright © Convergence Systems Limited, All Rights Reserved
54
CSL CS101-2 EPC CLASS 1 GEN 2 RFID HANDHELD READER
USER'S MANUAL, VERSION 1.0
Software Development Kit
The CSL CS101-2handheld reader software development kit provides the following
components for quick and easy application development:
1.
2.
3.
4.
5.
6.
7.
Software specifications
Block diagrams
Application Programming Interface (API) definitions
Application scenarios with program source codes
Unit test plan and results
Build environment
Debug methods
Copyright © Convergence Systems Limited, All Rights Reserved
55
CSL CS101-2 EPC CLASS 1 GEN 2 RFID HANDHELD READER
7.1
USER'S MANUAL, VERSION 1.0
Software Specifications
The overall software architecture consists of CS101-2 RFID Libraries on the WinCE OS inside
the handheld reader, CS101-2 Demonstration Application (which consists of a whole series of
applications, such as tag read, tag write, tag inventory, tag search, tag authentication, tag
commissioning, barcode scanning, RFID configuration, system configuration, database file
manipulation, network database file transfer, etc.), CS101-2 Keep Alive Monitor, all of the
above inside the handheld device; and then also CS101-2 Server Side Database Administration
Application, which resides on the WinXP server side.
7.1.1
CS101-2 RFID Libraries
The CS101-2 RFID Libraries consists of 3 parts:
1.
2.
3.
RfidSp
PosSp
ClsSys Util
These calls are designed to be called by C# applications with the PInvoke (Platform Invoke)
method.
7.1.2
CS101-2 Demonstration Application
The CS101-2 Demonstration Application is a comprehensive C# demonstration program that
demonstrates how to write an application on the CS101-2platform. It offers all possible RFID
related and barcode related functionalities. The functions include:
1.
2.
3.
4.
5.
6.
7.
8.
Tag Read
Tag Write
Tag Inventory
Tag Ranging
Tag Search
Tag Commissioning
Tag Authentication
Database Management
Copyright © Convergence Systems Limited, All Rights Reserved
56
CSL CS101-2 EPC CLASS 1 GEN 2 RFID HANDHELD READER
9.
10.
11.
12.
13.
7.1.3
USER'S MANUAL, VERSION 1.0
RFID Configuration
Scan Barcode
Tag Security
System Configuration
Factory Defaults
CS101-2 Keep Alive Monitor
CS101-2 Keep Alive Monitor is an independent application that is turned on during WinCE
boot up to monitor health situations, including:
1.
2.
3.
4.
5.
6.
7.
7.1.4
Battery Monitoring and Alert
Memory (RAM) Monitoring and Alert
Disk Space (Internal Flash) Monitoring and Alert
Disk Space (SD Card) Monitoring and Alert
SD Card Physical Action Monitoring and Alert (insertion and ejection)
Network Condition Monitoring and Alert
Automatic Files Backup
CS101-2 Server Side Application
The CS101-2 Server Side Application handles collection of tag data and converting them to
typical formats.
Copyright © Convergence Systems Limited, All Rights Reserved
57
CSL CS101-2 EPC CLASS 1 GEN 2 RFID HANDHELD READER
7.2
USER'S MANUAL, VERSION 1.0
Block Diagrams
The software architecture is illustrated by the following block diagram:
Interactive
User Input
WinXP
WinCE 5.0 on CS101-2 Handheld Reader
Datalog
Files
soap http protocol
C# Ref App
Web
Service
with post & push
over WiFi
C# Ref App
Web Service
Proxy
Main
Program
Rfid
User Interface
Notification Monitor
Db Access
Db Manager
Sqlce
Db Replicator
Database
Replication
Sqlce
Battery
Low
Indication
Web
Server
RfidSp Access
Battery
Sensing
Datalogger
LED &
Buzzer
PInvoke
Function Call & Message Response
Datalogger
Mfc RfidSp dll
Intel
Rfid Lib
LED Buzzer
LED
Buzzer Lib
CSL RFID Module
Copyright © Convergence Systems Limited, All Rights Reserved
58
CSL CS101-2 EPC CLASS 1 GEN 2 RFID HANDHELD READER
USER'S MANUAL, VERSION 1.0
On the WinCE machine:
The PDA is connected to the intranet through the WiFi Access Point. The PDA has a DHCP
IP-address.
It has a local SqlCe database storing all the known information (e.g. Known Inventory,
TagGroup to Lock). It should never goto the suspend state.
A) The Db Replicator is a standalone program that replicates the database data between the
WinCE & WinXP machine.
B)C# RefApp on WinCE is a reference application. It provides 2 user interfaces, 1 database
interface, 3 sub-system interfaces:
1) The Web Service:
This provides the network communication services to the Web Service on the WinXP.
2) The Rfid User Interface:
This provides the GUI (Window-Forms) on the LCD
3) The Db Access:
This connects to the local SqlCe Database (Microsoft SqlCe3.1). It has access to the data using
sql commands.
4) The RfidSp Access:
This setup the RfidSp.dll. This controls the Rfid Reader & get back raw data from the reader
&/ the post-processed data from the Rfid Middleware.
5) The LED & Buzzer Control:
This controls the 7-color LED & the buzzer (volume & frequency).
6) The Notification Monitor:
This alert the main program that the “battery-low” notification is signaled, & the main program
should alert the user to exit the Rfid application immediately (in order to terminate the
connections gracefully & has the latest data stored locally).
7) The Datalogger:
This, when enabled, writes the datalog text to the logfiles.
8) The Main Program:
This is the central unit of the application.
It controls the calling sequence to all the modules described above.
On the WinXP machine:
The PC has a fixed IP & it is in the intranet.
C) C# RefApp on WinXP provides 2 features, namely the web services & the database
management:
1) The Web Services:
This provides Soap (xml-text & binary) data over the HTTP GET, HTTP POST, or SOAP
Copyright © Convergence Systems Limited, All Rights Reserved
59
CSL CS101-2 EPC CLASS 1 GEN 2 RFID HANDHELD READER
USER'S MANUAL, VERSION 1.0
protocol to the client upon request or web-push.
2) The Database Manager:
This allows the user to edit/import/export/review the Master Database, & setup the Sql Data
(by stored procedures) for each WinCE Rfid Reader to get.
To Probe Further:
1) If there is only 1 WinCE & WinXP machine, the database file (\Program Files\Rfid\Db.sdf)
can also be copied between WinCE & WinXP through ActiveSync or ftp.
In general, the database Replication between the SqlCe server on WinCE & WinXP is done by
the RDASync ( the Remote Data Access Synchronization) technique from Microsoft.
Synchronization between Sql2005 & SqlCe on WinXP is not included in the reference solution.
2) The required 802.11 a/b/g WiFi Access Point provides intranet connection & assign DHCP
IP address for the WinCE devices. WEP/ WPA/WPA2 Encryption is recommended.
3) Encryption (using Microsoft Windows CE Enhanced Cryptographic Provider) can be added
to the C# programs for the WinXP-to-WinCE Soap data stream, if the additional loading is
acceptable.
Copyright © Convergence Systems Limited, All Rights Reserved
60
CSL CS101-2 EPC CLASS 1 GEN 2 RFID HANDHELD READER
USER'S MANUAL, VERSION 1.0
WinXP Pro, .NET2.0
msmq service
WinCE Db Client
Msmqdb
lib
Main App
RxThd
Atomic msg
C# App
Msmq Msg Handling
Client Mgr
DlgSetup_M
Main App
Msmqdb
Sql 2005
lib
Express
RxThd
Dataset
Db access
cfg Msmqdb.xml
WinXP Admin
Datagrid View
DlgSetup_M
cfg Msmqdb.xml
Copyright © Convergence Systems Limited, All Rights Reserved
61
CSL CS101-2 EPC CLASS 1 GEN 2 RFID HANDHELD READER
USER'S MANUAL, VERSION 1.0
WinXP SP2
Existing
WinCE5.0 Pro
(.xsd)
Backend System
Data Acquisition App
GUI for Sqlce Db export
Session based data update
Sqlce Db (=sdf file)
Db File (.sdf)
Periodically Backup
Card Reader
ActiveSync
http1.1 client
Data
2GB SDCard
Card Reader
usb1.1
ActiveSyn
Wireless Router
IIS web
Update Data to Server at the End Of Day
Copyright © Convergence Systems Limited, All Rights Reserved
62
CSL CS101-2 EPC CLASS 1 GEN 2 RFID HANDHELD READER
7.3
Application
Programming
USER'S MANUAL, VERSION 1.0
Interface
(API)
Definitions
Interface Definition for CSL C# libraries
RfidSp:
Overview:
RfidSp is a C# class in the that provide a C# managed interface of the Rfid Reader Threads.
RfidSp dll is designed to be used by our reference applications, which provides a wrapper class for
function calls & a Message Window class to receive messages.
C# namespace:
ClslibRfidSp .
Dependencies:
Program Files\W_RfidSp.dll;
Type Definitions:
HRESULT_RFID_STATUS
Prototype:
using HRESULT_RFID_STATUS = ClslibRfidSp.HRESULT_RFID; //= System.Int32;
Description:
This enumerates the status in the response messages.
RFID_RADIO_HANDLE
Prototype:
using RFID_RADIO_HANDLE
= System.UInt32;
Description:
This is the handle to the RFID radio object. A zero or negative is an invalid value.
e.g. A valid value is 0x00010000.
Constants:
( member variables in class RfidSp )
RFID_PACKET_18K6C_TAG_ACCESS__DATA_MAXSIZ
Prototype:
public const int RFID_PACKET_18K6C_TAG_ACCESS__DATA_MAXSIZ = 32;.
Description:
This is the maximum number of UINT32 in tag_access a message defined in the Rfid library.
Copyright © Convergence Systems Limited, All Rights Reserved
63
CSL CS101-2 EPC CLASS 1 GEN 2 RFID HANDHELD READER
USER'S MANUAL, VERSION 1.0
RFID_PACKET_18K6C_INVENTORY__DATA_MAXSIZ
Prototype:
public const int RFID_PACKET_18K6C_INVENTORY__DATA_MAXSIZ = 24;
Description:
This is the maximum number of UINT32 in a tag_inventory message defined in the Rfid library.
WM_USER
Prototype:
public const int WM_USER = 0x0400;
Description:
This is the starting index for user-defined message on WinCE.
RFID_INVALID_RADIO_HANDLE
Prototype:
public const RFID_RADIO_HANDLE RFID_INVALID_RADIO_HANDLE =
((RFID_RADIO_HANDLE)0);.
Description:
This is the invalid radio handle.
SELECTCRITERIA_COUNT
Prototype:
public const int SELECTCRITERIA_COUNT
Description:
This is the number of selectcriteria to set.
= 4;.
POSTMATCHCRITERIA_COUNT
Prototype:
public const int POSTMATCHCRITERIA_COUNT = 4;
Description:
This is the number of postmatchcriteria to set.
RFID_18K6C_SELECT_MASK_BYTE_LEN
Prototype:
public const int RFID_18K6C_SELECT_MASK_BYTE_LEN
= 32;
Description:
This is the size(in byte) of the select mask for partitioning a tag population.
RFID_18K6C_SINGULATION_MASK_BYTE_LEN
Copyright © Convergence Systems Limited, All Rights Reserved
64
CSL CS101-2 EPC CLASS 1 GEN 2 RFID HANDHELD READER
USER'S MANUAL, VERSION 1.0
Prototype:
public const int RFID_18K6C_SINGULATION_MASK_BYTE_LEN
Description:
This is the size(in byte) of the single post-singulation match mask.
= 62;
USHORTSEQNUMINVALID
Prototype:
public const int USHORTSEQNUMINVALID
= 0xffff;
Description:
This is the value of the invalid RfidMw sequence number.
Enumerations:
HRESULT_RFID
Prototype:
public enum HRESULT_RFID : uint {
S_OK
= 0x00000000, // Success
E_ABORT
= 0x80004004, // Operation aborted
E_ACCESSDENIED
= 0x80070005, // General access denied error
E_FAIL
= 0x80004005, // Unspecified failure
E_HANDLE
= 0x80070006, // Handle that is not valid
E_INVALIDARG
= 0x80070057, // One or more arguments are not valid
E_NOINTERFACE
= 0x80004002, // No such interface supported
E_NOTIMPL
= 0x80004001, // Not implemented
E_OUTOFMEMORY
= 0x8007000E, // Failed to allocate necessary memory
E_POINTER
= 0x80004003, // Pointer that is not valid
E_UNEXPECTED
= 0x8000FFFF, // Unexpected failure
S_RFID_STATUS_OK
= 0x00040000, // RFID Success
E_RFID_ERROR_ALREADY_OPEN
= 0x8004D8F1, // Attempted to open a radio that is already open
E_RFID_ERROR_BUFFER_TOO_SMALL = 0x8004d8f2, //Buffer supplied is too small
E_RFID_ERROR_FAILURE
= 0x8004d8f3, //General failure
E_RFID_ERROR_DRIVER_LOAD
= 0x8004d8f4, //Failed to load radio bus driver
E_RFID_ERROR_DRIVER_MISMATCH
= 0x8004d8f5, //Library cannot use version of radio bus driver
E_RFID_ERROR_EMULATION_MODE
= 0x8004d8f6, //Operation cannot be performed in emulation mode
E_RFID_ERROR_INVALID_ANTENNA
= 0x8004d8f7, //Antenna number is invalid
E_RFID_ERROR_INVALID_HANDLE
= 0x8004d8f8, //Radio handle provided is invalid
E_RFID_ERROR_INVALID_PARAMETER = 0x8004d8f9, //One of the parameters is invalid
E_RFID_ERROR_NO_SUCH_RADIO
= 0x8004d8fa, //Attempted to open a non-existent radio
Copyright © Convergence Systems Limited, All Rights Reserved
65
CSL CS101-2 EPC CLASS 1 GEN 2 RFID HANDHELD READER
USER'S MANUAL, VERSION 1.0
E_RFID_ERROR_NOT_INITIALIZED
= 0x8004d8fb, //Library has not been successfully initialized
E_RFID_ERROR_NOT_SUPPORTED
= 0x8004d8fc, //Function not supported
E_RFID_ERROR_OPERATION_CANCELLED = 0x8004d8fd, //Operation was cancelled by call to cancel operation,
close radio, or shut down the library
E_RFID_ERROR_OUT_OF_MEMORY
= 0x8004d8fe, //Library encountered an error allocating memory
E_RFID_ERROR_RADIO_BUSY
= 0x8004d8ff, //The operation cannot be performed, radio is busy
E_RFID_ERROR_RADIO_FAILURE
= 0x8004d900, //The underlying radio module encountered an error
E_RFID_ERROR_RADIO_NOT_PRESENT = 0x8004d901, //The radio has been detached from the system
E_RFID_ERROR_CURRENTLY_NOT_ALLOWED = 0x8004d902, //library function is not allowed at this time.
E_RFID_ERROR_RADIO_NOT_RESPONDING
= 0x8004d903 //The radio module's MAC firmware is not
responding to requests.
}; .
Description:
This enumerates the Success / Error status.
RFID_PACKET_TYPE
Prototype:
public enum RFID_PACKET_TYPE:uint{
RFID_PACKET_TYPE_COMMAND_BEGIN = 0x0000,
RFID_PACKET_TYPE_COMMAND_END ,
RFID_PACKET_TYPE_ANTENNA_CYCLE_BEGIN
RFID_PACKET_TYPE_ANTENNA_BEGIN
RFID_PACKET_TYPE_18K6C_INVENTORY_ROUND_BEGIN,
RFID_PACKET_TYPE_18K6C_INVENTORY,
RFID_PACKET_TYPE_18K6C_TAG_ACCESS,
RFID_PACKET_TYPE_ANTENNA_CYCLE_END,
RFID_PACKET_TYPE_ANTENNA_END,
RFID_PACKET_TYPE_18K6C_INVENTORY_ROUND_END,
RFID_PACKET_TYPE_INVENTORY_CYCLE_BEGIN,
RFID_PACKET_TYPE_INVENTORY_CYCLE_END,
RFID_PACKET_TYPE_CARRIER_INFO,
RFID_PACKET_TYPE_NONCRITICAL_FAULT = 0x2000
};
Description:
These are message types for the Rfid Packets.
RFID_MSGID
Copyright © Convergence Systems Limited, All Rights Reserved
66
CSL CS101-2 EPC CLASS 1 GEN 2 RFID HANDHELD READER
USER'S MANUAL, VERSION 1.0
Prototype:
public enum RFID_MSGID : uint {
RFID_REQUEST_TYPE_MSGID_Startup = RfidSp.WM_USER +0x0040,
//=RFID_REQUEST_TYPE_MSGID_START,
RFID_REQUEST_TYPE_MSGID_Shutdown,
RFID_REQUEST_TYPE_MSGID_RetrieveAttachedRadiosList,
RFID_REQUEST_TYPE_MSGID_RadioOpen,
RFID_REQUEST_TYPE_MSGID_RadioClose,
RFID_REQUEST_TYPE_MSGID_RadioSetConfigurationParameter,
RFID_REQUEST_TYPE_MSGID_RadioGetConfigurationParameter,
RFID_REQUEST_TYPE_MSGID_RadioSetOperationMode,
RFID_REQUEST_TYPE_MSGID_RadioGetOperationMode,
RFID_REQUEST_TYPE_MSGID_RadioSetPowerState,
RFID_REQUEST_TYPE_MSGID_RadioGetPowerState,
RFID_REQUEST_TYPE_MSGID_RadioSetCurrentLinkProfile,
RFID_REQUEST_TYPE_MSGID_RadioGetCurrentLinkProfile,
RFID_REQUEST_TYPE_MSGID_RadioGetLinkProfile,
RFID_REQUEST_TYPE_MSGID_RadioWriteLinkProfileRegister,
RFID_REQUEST_TYPE_MSGID_RadioReadLinkProfileRegister,
RFID_REQUEST_TYPE_MSGID_AntennaPortGetStatus,
RFID_REQUEST_TYPE_MSGID_AntennaPortSetState,
RFID_REQUEST_TYPE_MSGID_AntennaPortSetConfiguration,
RFID_REQUEST_TYPE_MSGID_AntennaPortGetConfiguration,
RFID_REQUEST_TYPE_MSGID_18K6CSetSelectCriteria,
RFID_REQUEST_TYPE_MSGID_18K6CGetSelectCriteria,
RFID_REQUEST_TYPE_MSGID_18K6CSetPostMatchCriteria,
RFID_REQUEST_TYPE_MSGID_18K6CGetPostMatchCriteria,
RFID_REQUEST_TYPE_MSGID_18K6CSetQueryTagGroup,
RFID_REQUEST_TYPE_MSGID_18K6CGetQueryTagGroup,
RFID_REQUEST_TYPE_MSGID_18K6CSetCurrentSingulationAlgorithm,
RFID_REQUEST_TYPE_MSGID_18K6CGetCurrentSingulationAlgorithm,
RFID_REQUEST_TYPE_MSGID_18K6CSetQueryParameters,
RFID_REQUEST_TYPE_MSGID_18K6CGetQueryParameters,
RFID_REQUEST_TYPE_MSGID_18K6CTagInventory,
RFID_REQUEST_TYPE_MSGID_18K6CTagRead,
RFID_REQUEST_TYPE_MSGID_18K6CTagWrite,
RFID_REQUEST_TYPE_MSGID_18K6CTagKill,
RFID_REQUEST_TYPE_MSGID_18K6CTagLock,
Copyright © Convergence Systems Limited, All Rights Reserved
67
CSL CS101-2 EPC CLASS 1 GEN 2 RFID HANDHELD READER
USER'S MANUAL, VERSION 1.0
RFID_REQUEST_TYPE_MSGID_RadioCancelOperation,
RFID_REQUEST_TYPE_MSGID_RadioAbortOperation,
RFID_REQUEST_TYPE_MSGID_RadioSetResponseDataMode,
RFID_REQUEST_TYPE_MSGID_RadioGetResponseDataMode,
RFID_REQUEST_TYPE_MSGID_MacUpdateFirmware,
RFID_REQUEST_TYPE_MSGID_MacGetVersion,
RFID_REQUEST_TYPE_MSGID_MacReadOemData,
RFID_REQUEST_TYPE_MSGID_MacWriteOemData,
RFID_REQUEST_TYPE_MSGID_MacReset,
RFID_REQUEST_TYPE_MSGID_MacClearError,
RFID_REQUEST_TYPE_MSGID_MacBypassWriteRegister,
RFID_REQUEST_TYPE_MSGID_MacBypassReadRegister,
RFID_REQUEST_TYPE_MSGID_MacSetRegion,
RFID_REQUEST_TYPE_MSGID_MacGetRegion,
RFID_REQUEST_TYPE_MSGID_RadioSetGpioPinsConfiguration,
RFID_REQUEST_TYPE_MSGID_RadioGetGpioPinsConfiguration,
RFID_REQUEST_TYPE_MSGID_RadioReadGpioPins,
RFID_REQUEST_TYPE_MSGID_RadioWriteGpioPins,
RFID_REQUEST_TYPE_MSGID_END = RFID_REQUEST_TYPE_MSGID_RadioWriteGpioPins,
//////// 43 Request ACK MsgId
RFID_REQEND_TYPE_MSGID_START = RFID_REQUEST_TYPE_MSGID_END + 0x01,
RFID_REQEND_TYPE_MSGID_Startup = RFID_REQEND_TYPE_MSGID_START,
RFID_REQEND_TYPE_MSGID_Shutdown,
RFID_REQEND_TYPE_MSGID_RetrieveAttachedRadiosList,
RFID_REQEND_TYPE_MSGID_RadioOpen,
RFID_REQEND_TYPE_MSGID_RadioClose,
RFID_REQEND_TYPE_MSGID_RadioSetConfigurationParameter,
RFID_REQEND_TYPE_MSGID_RadioGetConfigurationParameter,
RFID_REQEND_TYPE_MSGID_RadioSetOperationMode,
RFID_REQEND_TYPE_MSGID_RadioGetOperationMode,
RFID_REQEND_TYPE_MSGID_RadioSetPowerState,
RFID_REQEND_TYPE_MSGID_RadioGetPowerState,
RFID_REQEND_TYPE_MSGID_RadioSetCurrentLinkProfile,
RFID_REQEND_TYPE_MSGID_RadioGetCurrentLinkProfile,
RFID_REQEND_TYPE_MSGID_RadioGetLinkProfile,
RFID_REQEND_TYPE_MSGID_RadioWriteLinkProfileRegister,
RFID_REQEND_TYPE_MSGID_RadioReadLinkProfileRegister,
RFID_REQEND_TYPE_MSGID_AntennaPortGetStatus,
Copyright © Convergence Systems Limited, All Rights Reserved
68
CSL CS101-2 EPC CLASS 1 GEN 2 RFID HANDHELD READER
USER'S MANUAL, VERSION 1.0
RFID_REQEND_TYPE_MSGID_AntennaPortSetState,
RFID_REQEND_TYPE_MSGID_AntennaPortSetConfiguration,
RFID_REQEND_TYPE_MSGID_AntennaPortGetConfiguration,
RFID_REQEND_TYPE_MSGID_18K6CSetQueryTagGroup,
RFID_REQEND_TYPE_MSGID_18K6CGetQueryTagGroup,
RFID_REQEND_TYPE_MSGID_18K6CSetCurrentSingulationAlgorithm,
RFID_REQEND_TYPE_MSGID_18K6CGetCurrentSingulationAlgorithm,
RFID_REQEND_TYPE_MSGID_18K6CSetSelectCriteria,
RFID_REQEND_TYPE_MSGID_18K6CGetSelectCriteria,
RFID_REQEND_TYPE_MSGID_18K6CSetPostMatchCriteria,
RFID_REQEND_TYPE_MSGID_18K6CGetPostMatchCriteria,
RFID_REQEND_TYPE_MSGID_18K6CSetQueryParameters,
RFID_REQEND_TYPE_MSGID_18K6CGetQueryParameters,
RFID_REQEND_TYPE_MSGID_18K6CTagInventory,
RFID_REQEND_TYPE_MSGID_18K6CTagRead,
RFID_REQEND_TYPE_MSGID_18K6CTagWrite,
RFID_REQEND_TYPE_MSGID_18K6CTagKill,
RFID_REQEND_TYPE_MSGID_18K6CTagLock,
RFID_REQEND_TYPE_MSGID_RadioCancelOperation,
RFID_REQEND_TYPE_MSGID_RadioAbortOperation,
RFID_REQEND_TYPE_MSGID_RadioSetResponseDataMode,
RFID_REQEND_TYPE_MSGID_RadioGetResponseDataMode,
RFID_REQEND_TYPE_MSGID_MacUpdateFirmware,
RFID_REQEND_TYPE_MSGID_MacGetVersion,
RFID_REQEND_TYPE_MSGID_MacReadOemData,
RFID_REQEND_TYPE_MSGID_MacWriteOemData,
RFID_REQEND_TYPE_MSGID_MacReset,
RFID_REQEND_TYPE_MSGID_MacClearError,
RFID_REQEND_TYPE_MSGID_MacBypassWriteRegister,
RFID_REQEND_TYPE_MSGID_MacBypassReadRegister,
RFID_REQEND_TYPE_MSGID_MacSetRegion,
RFID_REQEND_TYPE_MSGID_MacGetRegion,
RFID_REQEND_TYPE_MSGID_RadioSetGpioPinsConfiguration,
RFID_REQEND_TYPE_MSGID_RadioGetGpioPinsConfiguration,
RFID_REQEND_TYPE_MSGID_RadioReadGpioPins,
RFID_REQEND_TYPE_MSGID_RadioWriteGpioPins,
RFID_REQEND_TYPE_MSGID_END = RFID_REQEND_TYPE_MSGID_RadioWriteGpioPins,
//////// Packets
Copyright © Convergence Systems Limited, All Rights Reserved
69
CSL CS101-2 EPC CLASS 1 GEN 2 RFID HANDHELD READER
USER'S MANUAL, VERSION 1.0
RFID_PACKET_TYPE_MSGID_START
= RFID_REQEND_TYPE_MSGID_END + 0x01, /// 12 Pkt MsgId. 0x0000+ MSGID_START
RFID_PACKET_TYPE_MSGID_COMMAND_BEGIN
= RFID_PACKET_TYPE.RFID_PACKET_TYPE_COMMAND_BEGIN +
RFID_PACKET_TYPE_MSGID_START,
RFID_PACKET_TYPE_MSGID_COMMAND_END
= RFID_PACKET_TYPE.RFID_PACKET_TYPE_COMMAND_END +
RFID_PACKET_TYPE_MSGID_START,
RFID_PACKET_TYPE_MSGID_ANTENNA_CYCLE_BEGIN
= RFID_PACKET_TYPE.RFID_PACKET_TYPE_ANTENNA_CYCLE_BEGIN +
RFID_PACKET_TYPE_MSGID_START,
RFID_PACKET_TYPE_MSGID_ANTENNA_BEGIN
= RFID_PACKET_TYPE.RFID_PACKET_TYPE_ANTENNA_BEGIN +
RFID_PACKET_TYPE_MSGID_START,
RFID_PACKET_TYPE_MSGID_18K6C_INVENTORY_ROUND_BEGIN
= RFID_PACKET_TYPE.RFID_PACKET_TYPE_18K6C_INVENTORY_ROUND_BEGIN +
RFID_PACKET_TYPE_MSGID_START,
RFID_PACKET_TYPE_MSGID_18K6C_INVENTORY
= RFID_PACKET_TYPE.RFID_PACKET_TYPE_18K6C_INVENTORY +
RFID_PACKET_TYPE_MSGID_START,
RFID_PACKET_TYPE_MSGID_18K6C_TAG_ACCESS
= RFID_PACKET_TYPE.RFID_PACKET_TYPE_18K6C_TAG_ACCESS +
RFID_PACKET_TYPE_MSGID_START,
RFID_PACKET_TYPE_MSGID_ANTENNA_CYCLE_END
= RFID_PACKET_TYPE.RFID_PACKET_TYPE_ANTENNA_CYCLE_END
+RFID_PACKET_TYPE_MSGID_START,
RFID_PACKET_TYPE_MSGID_ANTENNA_END
= RFID_PACKET_TYPE.RFID_PACKET_TYPE_ANTENNA_END
RFID_PACKET_TYPE_MSGID_START,
RFID_PACKET_TYPE_MSGID_18K6C_INVENTORY_ROUND_END
= RFID_PACKET_TYPE.RFID_PACKET_TYPE_18K6C_INVENTORY_ROUND_END +
RFID_PACKET_TYPE_MSGID_START,
RFID_PACKET_TYPE_MSGID_INVENTORY_CYCLE_BEGIN
= RFID_PACKET_TYPE.RFID_PACKET_TYPE_INVENTORY_CYCLE_BEGIN +
RFID_PACKET_TYPE_MSGID_START,
RFID_PACKET_TYPE_MSGID_INVENTORY_CYCLE_END
= RFID_PACKET_TYPE.RFID_PACKET_TYPE_INVENTORY_CYCLE_END +
RFID_PACKET_TYPE_MSGID_START,
Copyright © Convergence Systems Limited, All Rights Reserved
70
CSL CS101-2 EPC CLASS 1 GEN 2 RFID HANDHELD READER
USER'S MANUAL, VERSION 1.0
RFID_PACKET_TYPE_MSGID_CARRIER_INFO
= RFID_PACKET_TYPE.RFID_PACKET_TYPE_CARRIER_INFO
RFID_PACKET_TYPE_MSGID_START,
// non for the diagnostics pkt., for the status pkt. 0x2000+ MSGID_START
RFID_PACKET_TYPE_MSGID_NONCRITICAL_FAULT =
RFID_PACKET_TYPE.RFID_PACKET_TYPE_NONCRITICAL_FAULT +
RFID_PACKET_TYPE_MSGID_START,
RFID_PACKET_TYPE_MSGID_END =
RFID_PACKET_TYPE_MSGID_NONCRITICAL_FAULT,
RFIDMW_REQUEST_TYPE_MSGID_START= RFID_PACKET_TYPE_MSGID_END + 0x01,
RFIDMW_REQUEST_TYPE_MSGID_TagInv_SetAllTaglist =
RFIDMW_REQUEST_TYPE_MSGID_START,
RFIDMW_REQUEST_TYPE_MSGID_TagInv_AddATag,
RFIDMW_REQUEST_TYPE_MSGID_TagInv_FindATag,
RFIDMW_REQUEST_TYPE_MSGID_TagInv_ClearAllTaglist,
RFIDMW_REQUEST_TYPE_MSGID_TagInv_UpdateAllTaglistToFile,
RFIDMW_REQUEST_TYPE_MSGID_TagInv_GetUpdateTaglist,
RFIDMW_REQUEST_TYPE_MSGID_TagInv_GetAllTaglist,
RFIDMW_REQUEST_TYPE_MSGID_END =
RFIDMW_REQUEST_TYPE_MSGID_TagInv_GetAllTaglist,
RFIDMW_REQEND_TYPE_MSGID_START = RFIDMW_REQUEST_TYPE_MSGID_END +
0x01,
RFIDMW_REQEND_TYPE_MSGID_TagInv_SetAllTaglist =
RFIDMW_REQEND_TYPE_MSGID_START,
RFIDMW_REQEND_TYPE_MSGID_TagInv_AddATag,
RFIDMW_REQEND_TYPE_MSGID_TagInv_FindATag,
RFIDMW_REQEND_TYPE_MSGID_TagInv_ClearAllTaglist,
RFIDMW_REQEND_TYPE_MSGID_TagInv_UpdateAllTaglistToFile ,
RFIDMW_REQEND_TYPE_MSGID_TagInv_GetUpdateTaglist,
RFIDMW_REQEND_TYPE_MSGID_TagInv_GetAllTaglist,
RFIDMW_REQEND_TYPE_MSGID_END =
RFIDMW_REQEND_TYPE_MSGID_TagInv_GetAllTaglist
};
Description:
These are message types for the Rfid request, response & packet messages.
N.B. Rfid request message is not required by the application, request are done by calling the
corresponding functions.
Copyright © Convergence Systems Limited, All Rights Reserved
71
CSL CS101-2 EPC CLASS 1 GEN 2 RFID HANDHELD READER
USER'S MANUAL, VERSION 1.0
RFID_RADIO_OPERATION_MODE
Prototype:
public enum RFID_RADIO_OPERATION_MODE : uint {
RFID_RADIO_OPERATION_MODE_CONTINUOUS,
RFID_RADIO_OPERATION_MODE_NONCONTINUOUS
};
Description:
This is the operation mode of the radio.
RFID_RADIO_POWER_STATE
Prototype:
public enum RFID_RADIO_POWER_STATE : uint {
RFID_RADIO_POWER_STATE_FULL,
RFID_RADIO_POWER_STATE_STANDBY
};
Description:
This is the power state of the radio.
RFID_ANTENNA_PORT_STATE
Prototype:
public enum RFID_ANTENNA_PORT_STATE : uint {
RFID_ANTENNA_PORT_STATE_DISABLED,
RFID_ANTENNA_PORT_STATE_ENABLED
};
Description:
This gives the state of a logical antenna port.
RFID_18K6C_SELECTED
Prototype:
public enum RFID_18K6C_SELECTED : uint {
RFID_18K6C_SELECTED_ALL = 0,
RFID_18K6C_SELECTED_OFF = 2,
RFID_18K6C_SELECTED_ON = 3
};
Description:
This defines the states for SL flag of a tag.
Copyright © Convergence Systems Limited, All Rights Reserved
72
CSL CS101-2 EPC CLASS 1 GEN 2 RFID HANDHELD READER
USER'S MANUAL, VERSION 1.0
RFID_18K6C_INVENTORY_SESSION
Prototype:
public enum RFID_18K6C_INVENTORY_SESSION : uint {
RFID_18K6C_INVENTORY_SESSION_S0 = 0,
RFID_18K6C_INVENTORY_SESSION_S1 = 1,
RFID_18K6C_INVENTORY_SESSION_S2 = 2,
RFID_18K6C_INVENTORY_SESSION_S3 = 3
};
Description:
This defines the valid states for a tag's ISO 18000-6C inventory flags.
RFID_18K6C_INVENTORY_SESSION_TARGET
Prototype:
public enum RFID_18K6C_INVENTORY_SESSION_TARGET : uint {
RFID_18K6C_INVENTORY_SESSION_TARGET_A = 0,
RFID_18K6C_INVENTORY_SESSION_TARGET_B = 1
};
Description:
This defines the valid states for a tag's ISO 18000-6C inventory flags.
RFID_18K6C_MODULATION_TYPE
Prototype:
public enum RFID_18K6C_MODULATION_TYPE : uint {
RFID_18K6C_MODULATION_TYPE_DSB_ASK,
RFID_18K6C_MODULATION_TYPE_SSB_ASK,
RFID_18K6C_MODULATION_TYPE_PR_ASK
};
Description:
This defines ISO 18000-6C modulation types.
RFID_18K6C_DATA_0_1_DIFFERENCE
Prototype:
public enum RFID_18K6C_DATA_0_1_DIFFERENCE : uint {
RFID_18K6C_DATA_0_1_DIFFERENCE_HALF_TARI,
RFID_18K6C_DATA_0_1_DIFFERENCE_ONE_TARI
};
Description:
This is the Tari between data zero.
Copyright © Convergence Systems Limited, All Rights Reserved
73
CSL CS101-2 EPC CLASS 1 GEN 2 RFID HANDHELD READER
USER'S MANUAL, VERSION 1.0
RFID_18K6C_DIVIDE_RATIO
Prototype:
public enum RFID_18K6C_DIVIDE_RATIO : uint {
RFID_18K6C_DIVIDE_RATIO_8,
RFID_18K6C_DIVIDE_RATIO_64DIV3
};
Description:
This is the ISO 18000-6C divide ratios.
RFID_18K6C_MILLER_NUMBER
Prototype:
public enum RFID_18K6C_MILLER_NUMBER : uint {
RFID_18K6C_MILLER_NUMBER_FM0,
RFID_18K6C_MILLER_NUMBER_2,
RFID_18K6C_MILLER_NUMBER_4,
RFID_18K6C_MILLER_NUMBER_8
};
Description:
This is the ISO 18000-6C Miller encoding sub-carrier.
RFID_RADIO_PROTOCOL
Prototype:
public enum RFID_RADIO_PROTOCOL : uint {
RFID_RADIO_PROTOCOL_ISO18K6C
};
Description:
The is the tag protocol.
RFID_18K6C_MEMORY_BANK
Prototype:
public enum RFID_18K6C_MEMORY_BANK : uint {
RFID_18K6C_MEMORY_BANK_RESERVED,
RFID_18K6C_MEMORY_BANK_EPC,
RFID_18K6C_MEMORY_BANK_TID,
RFID_18K6C_MEMORY_BANK_USER
};
Description:
Copyright © Convergence Systems Limited, All Rights Reserved
74
CSL CS101-2 EPC CLASS 1 GEN 2 RFID HANDHELD READER
USER'S MANUAL, VERSION 1.0
This is the RFID tag's memory bank.
RFID_18K6C_TARGET
Prototype:
public enum RFID_18K6C_TARGET : uint {
RFID_18K6C_TARGET_INVENTORY_S0,
RFID_18K6C_TARGET_INVENTORY_S1,
RFID_18K6C_TARGET_INVENTORY_S2,
RFID_18K6C_TARGET_INVENTORY_S3,
RFID_18K6C_TARGET_SELECTED
};
Description:
This defines the tag's flags that will be modified.
RFID_18K6C_ACTION
Prototype:
public enum RFID_18K6C_ACTION : uint {
RFID_18K6C_ACTION_ASLINVA_DSLINVB,
RFID_18K6C_ACTION_ASLINVA_NOTHING,
RFID_18K6C_ACTION_NOTHING_DSLINVB,
RFID_18K6C_ACTION_NSLINVS_NOTHING,
RFID_18K6C_ACTION_DSLINVB_ASLINVA,
RFID_18K6C_ACTION_DSLINVB_NOTHING,
RFID_18K6C_ACTION_NOTHING_ASLINVA,
RFID_18K6C_ACTION_NOTHING_NSLINVS
};
Description:
This is the action performed upon the tag populations (i.e, matching and non-matching) during the select
operation.
The constants are named RFID_18K6C_ACTION_xxx_yyy where "xxx" is the action to be applied to
matching tags and "yyy" is the action to be applied to non-matching tags.
Actions are:
ASL
- Assert SL
INVA
- Set inventoried flag to A
DSL
- Deassert SL
INVB
- Set inventoried flag to B
NSL
- Negate SL
INVS
- Switch inventoried flag (A -> B, B -> A)
Copyright © Convergence Systems Limited, All Rights Reserved
75
CSL CS101-2 EPC CLASS 1 GEN 2 RFID HANDHELD READER
USER'S MANUAL, VERSION 1.0
NOTHING - Do nothing.
RFID_18K6C_SELECTED
Prototype:
public enum RFID_18K6C_SELECTED: uint {
RFID_18K6C_SELECTED_ALL = 0,
RFID_18K6C_SELECTED_OFF = 2,
RFID_18K6C_SELECTED_ON = 3
};
Description:
This is the states for a tag's SL flag.
RFID_18K6C_INVENTORY_SESSION
Prototype:
public enum RFID_18K6C_INVENTORY_SESSION : uint {
RFID_18K6C_INVENTORY_SESSION_S0,
RFID_18K6C_INVENTORY_SESSION_S1,
RFID_18K6C_INVENTORY_SESSION_S2,
RFID_18K6C_INVENTORY_SESSION_S3
};
Description:
This is the ISO 18000-6C inventory session flags that are available.
RFID_18K6C_INVENTORY_SESSION
Prototype:
public enum RFID_18K6C_INVENTORY_SESSION_TARGET : uint {
RFID_18K6C_INVENTORY_SESSION_TARGET_A,
RFID_18K6C_INVENTORY_SESSION_TARGET_B
};
Description:
This is the valid states for a tag's ISO 18000-6C inventory flags.
RFID_18K6C_SINGULATION_ALGORITHM
Prototype:
public enum RFID_18K6C_SINGULATION_ALGORITHM : uint{
RFID_18K6C_SINGULATION_ALGORITHM_FIXEDQ
= 0,
RFID_18K6C_SINGULATION_ALGORITHM_DYNAMICQ
= 1,
RFID_18K6C_SINGULATION_ALGORITHM_DYNAMICQ_ADJUST
= 2,
Copyright © Convergence Systems Limited, All Rights Reserved
76
CSL CS101-2 EPC CLASS 1 GEN 2 RFID HANDHELD READER
USER'S MANUAL, VERSION 1.0
RFID_18K6C_SINGULATION_ALGORITHM_DYNAMICQ_THRESH
=3
};
Description:
This is the valid singulation algorithms.
RFID_18K6C_WRITE_TYPE
Prototype:
public enum RFID_18K6C_WRITE_TYPE: uint {
RFID_18K6C_WRITE_TYPE_SEQUENTIAL,
RFID_18K6C_WRITE_TYPE_RANDOM
};
Description:
This is the type of tag write operation to be performed..
RFID_18K6C_TAG_PWD_PERM
Prototype:
public enum RFID_18K6C_TAG_PWD_PERM : uint {
RFID_18K6C_TAG_PWD_PERM_ACCESSIBLE,
RFID_18K6C_TAG_PWD_ALWAYS_ACCESSIBLE,
RFID_18K6C_TAG_PWD_SECURED_ACCESSIBLE,
RFID_18K6C_TAG_PWD_ALWAYS_NOT_ACCESSIBLE,
RFID_18K6C_TAG_PWD_PERM_NO_CHANGE
};
Description:
This is the ISO 18000-6C tag password permission values..
RFID_18K6C_TAG_MEM_PERM
Prototype:
public enum RFID_18K6C_TAG_MEM_PERM : uint {
RFID_18K6C_TAG_MEM_PERM_WRITEABLE,
RFID_18K6C_TAG_MEM_ALWAYS_WRITEABLE,
RFID_18K6C_TAG_MEM_SECURED_WRITEABLE,
RFID_18K6C_TAG_MEM_ALWAYS_NOT_WRITEABLE,
RFID_18K6C_TAG_MEM_NO_CHANGE
};
Description:
This is the ISO 18000-6C tag memory bank permission values.
Copyright © Convergence Systems Limited, All Rights Reserved
77
CSL CS101-2 EPC CLASS 1 GEN 2 RFID HANDHELD READER
USER'S MANUAL, VERSION 1.0
RFID_RESPONSE_TYPE
Prototype:
public enum RFID_RESPONSE_TYPE: uint {
RFID_RESPONSE_TYPE_DATA = 0xFFFFFFFF
};
Description:
This is the tag-access operation response type.
RFID_RESPONSE_MODE
Prototype:
public enum RFID_RESPONSE_MODE: uint {
RFID_RESPONSE_MODE_COMPACT
= 0x00000001,
RFID_RESPONSE_MODE_NORMAL
= 0x00000003,
RFID_RESPONSE_MODE_EXTENDED
= 0x00000007
};
Description:
This is the tag-access operation data-reporting mode.
RFID_MAC_RESET_TYPE
Prototype:
public enum RFID_MAC_RESET_TYPE: uint {
RFID_MAC_RESET_TYPE_SOFT
};
Description:
This is the types of resets available on the MAC.
RFID_MAC_REGION
Prototype:
public enum RFID_MAC_REGION: uint{
RFID_MAC_REGION_FCC_GENERIC,
RFID_MAC_REGION_ETSI_GENERIC
};
Description:
This is the regulatory mode regions.
RFID_RADIO_GPIO_PIN
Prototype:
Copyright © Convergence Systems Limited, All Rights Reserved
78
CSL CS101-2 EPC CLASS 1 GEN 2 RFID HANDHELD READER
USER'S MANUAL, VERSION 1.0
public enum RFID_RADIO_GPIO_PIN: uint {
RFID_RADIO_GPIO_PIN_0
= 0x00000001<< 0, // SET_BIT(0),
RFID_RADIO_GPIO_PIN_1
= 0x00000001<< 1, // SET_BIT(1),
RFID_RADIO_GPIO_PIN_2
= 0x00000001<< 2, // SET_BIT(2),
RFID_RADIO_GPIO_PIN_3
= 0x00000001<< 3, // SET_BIT(3),
RFID_RADIO_GPIO_PIN_4
= 0x00000001<< 4, // SET_BIT(4),
RFID_RADIO_GPIO_PIN_5
= 0x00000001<< 5, // SET_BIT(5),
RFID_RADIO_GPIO_PIN_6
= 0x00000001<< 6, // SET_BIT(6),
RFID_RADIO_GPIO_PIN_7
= 0x00000001<< 7, // SET_BIT(7),
RFID_RADIO_GPIO_PIN_8
= 0x00000001<< 8, // SET_BIT(8),
RFID_RADIO_GPIO_PIN_9
= 0x00000001<< 9, // SET_BIT(9),
RFID_RADIO_GPIO_PIN_10 = 0x00000001<<10, // SET_BIT(10),
RFID_RADIO_GPIO_PIN_11 = 0x00000001<<11, // SET_BIT(11),
RFID_RADIO_GPIO_PIN_12 = 0x00000001<<12, // SET_BIT(12),
RFID_RADIO_GPIO_PIN_13 = 0x00000001<<13, // SET_BIT(13),
RFID_RADIO_GPIO_PIN_14 = 0x00000001<<14, // SET_BIT(14),
RFID_RADIO_GPIO_PIN_15 = 0x00000001<<15, // SET_BIT(15),
RFID_RADIO_GPIO_PIN_16 = 0x00000001<<16, // SET_BIT(16),
RFID_RADIO_GPIO_PIN_17 = 0x00000001<<17, // SET_BIT(17),
RFID_RADIO_GPIO_PIN_18 = 0x00000001<<18, // SET_BIT(18),
RFID_RADIO_GPIO_PIN_19 = 0x00000001<<19, // SET_BIT(19),
RFID_RADIO_GPIO_PIN_20 = 0x00000001<<20, // SET_BIT(20),
RFID_RADIO_GPIO_PIN_21 = 0x00000001<<21, // SET_BIT(21),
RFID_RADIO_GPIO_PIN_22 = 0x00000001<<22, // SET_BIT(22),
RFID_RADIO_GPIO_PIN_23 = 0x00000001<<23, // SET_BIT(23),
RFID_RADIO_GPIO_PIN_24 = 0x00000001<<24, // SET_BIT(24),
RFID_RADIO_GPIO_PIN_25 = 0x00000001<<25, // SET_BIT(25),
RFID_RADIO_GPIO_PIN_26 = 0x00000001<<26, // SET_BIT(26),
RFID_RADIO_GPIO_PIN_27 = 0x00000001<<27, // SET_BIT(27),
RFID_RADIO_GPIO_PIN_28 = 0x00000001<<28, // SET_BIT(28),
RFID_RADIO_GPIO_PIN_29 = 0x00000001<<29, // SET_BIT(29),
RFID_RADIO_GPIO_PIN_30 = 0x00000001<<30, // SET_BIT(30),
RFID_RADIO_GPIO_PIN_31 = 0x80000000 //1<<31 // SET_BIT(31)
};
Description:
This is the bit mask values for the radio module GPIO pins.
RFID_Startup_EMULATION_FLAG
Copyright © Convergence Systems Limited, All Rights Reserved
79
CSL CS101-2 EPC CLASS 1 GEN 2 RFID HANDHELD READER
USER'S MANUAL, VERSION 1.0
Prototype:
public enum RFID_Startup_EMULATION_FLAG{
RFID_FLAG_LIBRARY_EMULATION = 0x00000001
};
Description:
This is the flag for the RFID_Startup function.
User can set to system emulation mode during RfidStartup.
RFID_RadioOpen_EMULATION_FLAG
Prototype:
public enum RFID_RadioOpen_EMULATION_FLAG{
RFID_FLAG_MAC_EMULATION
= 0x00000001
};
Description:
This is the flag for the RFID_RadioOpen function.
In system emulation mode, user can set to MAC emulation mode while calling RadioOpen .
RFID_18K6CTag_FLAG
Prototype:
public enum RFID_18K6CTag_FLAG{
RFID_FLAG_PERFORM_SELECT
= 0x00000001,
RFID_FLAG_PERFORM_POST_MATCH
= 0x00000002
};
Description:
This is the flag for the RFID_18K6CTag* functions.
Structures:
RFID_Startup_T
Prototype:
public struct RFID_Startup_T{
public RFID_VERSION
LibraryVersion; //[out] RFID_VERSION*
public UInt32
flags;
public HRESULT_RFID_STATUS
status; //[ret]
};
Fields:
[out] LibraryVersion:
[in] flags:
emulation mode or live.
Copyright © Convergence Systems Limited, All Rights Reserved
80
CSL CS101-2 EPC CLASS 1 GEN 2 RFID HANDHELD READER
USER'S MANUAL, VERSION 1.0
Description:
This is the data structure for f_RfidDev_Startup operation.
RFID_Shutdown_T
Prototype:
public struct RFID_Shutdown_T{
public HRESULT_RFID_STATUS status;
};
Fields:
-Description:
This is the data structure for f_RfidDev_Shutdown operation.
RFID_RetrieveAttachedRadiosList_T
Prototype:
public struct RFID_RetrieveAttachedRadiosList_T{
public RFID_RADIO_ENUM_T
radio_enum;
public UInt32
flags;
public HRESULT_RFID_STATUS status;
};
Fields:
[in] radio_enum: enum of radio object.
[in] flags:
0. reserved.
Description:
This is the data structure for f_RfidDev_RetrieveAttachedRadiosList operation.
CS101 only has a single radio object for RFID_RADIO_ENUM, array of objects is not required.
RFID_RadioOpen_T
Prototype:
public struct RFID_RadioOpen_T{
public UInt32
public RFID_RADIO_HANDLE
public UInt32
public HRESULT_RFID_STATUS
};
Fields:
[in] cookie: cookie in radio_enum above.
[out] handle: the rfid_handle to be returned.
cookie;
handle; //[out]
flags;
status;
Copyright © Convergence Systems Limited, All Rights Reserved
81
CSL CS101-2 EPC CLASS 1 GEN 2 RFID HANDHELD READER
USER'S MANUAL, VERSION 1.0
[in] flags: MAC emulation mode or live.
Description:
This is the data structure for f_RfidDev_RadioOpen operation.
RFID_RadioClose_T
Prototype:
public struct RFID_RadioClose_T{
public RFID_RADIO_HANDLE
handle;
public HRESULT_RFID_STATUS
status;
};
Fields:
-Description:
This is the data structure for f_RfidDev_RadioClose operation.
RFID_RadioGetSetConfigurationParameter_T
Prototype:
public struct RFID_RadioGetSetConfigurationParameter_T{
public RFID_RADIO_HANDLE
handle;
public UInt16
parameter;
public UInt32
value; //[out/in]
public HRESULT_RFID_STATUS
status;
};
Fields:
[in] parameter: The parameter address to set.
[out/in] value:
The value content to get/set.
Description:
This is the data structure for
f_RfidDev_RadioGetConfigurationParameter /
f_RfidDev_RadioSetConfigurationParameter operation.
RFID_RadioGetSetOperationMode_T
Prototype:
public struct RFID_RadioGetSetOperationMode_T{
public RFID_RADIO_HANDLE
handle;
public RFID_RADIO_OPERATION_MODE
mode;
public HRESULT_RFID_STATUS
status;
};
Copyright © Convergence Systems Limited, All Rights Reserved
82
CSL CS101-2 EPC CLASS 1 GEN 2 RFID HANDHELD READER
USER'S MANUAL, VERSION 1.0
Fields:
[out/in] mode: continuous or non-continuous.
Description:
This is the data structure for
f_RfidDev_RadioGetOperationMode /
f_RfidDev_RadioSetOperationMode operation.
RFID_RadioGetSetPowerState_T
Prototype:
public struct RFID_RadioGetSetPowerState_T{
public RFID_RADIO_HANDLE
public RFID_RADIO_POWER_STATE
public HRESULT_RFID_STATUS
};
Fields:
[out/in] state: power on/off state.
Description:
This is the data structure for
f_RfidDev_RadioGetPowerState /
f_RfidDev_RadioSetPowerState operation.
handle;
state;
status;
RFID_RadioGetSetCurrentLinkProfile_T
Prototype:
public struct RFID_RadioGetSetCurrentLinkProfile_T{
public RFID_RADIO_HANDLE
handle;
public UInt32
profile;
public HRESULT_RFID_STATUS
status;
};
Fields:
[out/in] profile: profile 0--5 .
Description:
This is the data structure for
f_RfidDev_RadioGetCurrentLinkProfile /
f_RfidDev_RadioSetCurrentLinkProfile operation.
RFID_RadioGetLinkProfile_T
Prototype:
Copyright © Convergence Systems Limited, All Rights Reserved
83
CSL CS101-2 EPC CLASS 1 GEN 2 RFID HANDHELD READER
USER'S MANUAL, VERSION 1.0
public struct RFID_RadioGetLinkProfile_T{
public RFID_RADIO_HANDLE
handle;
public UInt32
profile;
public RFID_RADIO_LINK_PROFILE linkProfileInfo; //[out]
public HRESULT_RFID_STATUS
status;
};
Fields:
[in]
profile:
profile 0-- 5.
[out/in] linkProfileInfo: link profile information.
Description:
This is the data structure for f_RfidDev_RadioGetLinkProfile operation.
RFID_RadioReadWriteLinkProfileRegister_T
Prototype:
public struct RFID_RadioReadWriteLinkProfileRegister_T{
public RFID_RADIO_HANDLE
handle;
public UInt32
profile;
public UInt16
address;
public UInt16
value;
public HRESULT_RFID_STATUS
status;
};
Fields:
[in]
profile: profile id (0--5) for the link-profile register to be accessed.
[in]
address: address of the register.
[out/in]
value: content.
Description:
This is the data structure for f_RfidDev_RadioRead(/Write)LinkProfileRegister operation.
RFID_AntennaPortGetStatus_T
Prototype:
public struct RFID_AntennaPortGetStatus_T{
public RFID_RADIO_HANDLE
public UInt32
public RFID_ANTENNA_PORT_STATUS
public HRESULT_RFID_STATUS
};
Fields:
handle;
antennaPort;
portStatus; //[out]
status;
Copyright © Convergence Systems Limited, All Rights Reserved
84
CSL CS101-2 EPC CLASS 1 GEN 2 RFID HANDHELD READER
USER'S MANUAL, VERSION 1.0
[in] antennaPort: always = 0 for CS101.
[out] portStatus: enabled/disabled.
Description:
This is the data structure for f_RfidDev_AntennaPortGetStatus operation.
RFID_AntennaPortSetState_T
Prototype:
public struct RFID_AntennaPortSetState_T{
public RFID_RADIO_HANDLE
handle;
public UInt32
antennaPort;
public RFID_ANTENNA_PORT_STATE
state;
public HRESULT_RFID_STATUS
status;
};
Fields:
[in] antennaPort: always = 0 for CS101.
[in] state:
enabled / disabled.
Description:
This is the data structure for f_RfidDev_AntennaPortSetState operation.
RFID_AntennaPortGetSetConfiguration_T
Prototype:
public struct RFID_AntennaPortGetSetConfiguration_T{
public RFID_RADIO_HANDLE
handle;
public UInt32
antennaPort;
public RFID_ANTENNA_PORT_CONFIG
config; // [const struct*]
public HRESULT_RFID_STATUS
status;
};
Fields:
[in] antennaPort: always 0 for CS101 .
[in/out] config: the structure to be configured.
Description:
This is the data structure for
f_RfidDev_AntennaPortGetConfiguration /
f_RfidDev_AntennaPortSetConfiguration operation.
RFID_18K6CSetSelectCriteria__T
Prototype:
public struct RFID_18K6CSetSelectCriteria__T{
Copyright © Convergence Systems Limited, All Rights Reserved
85
CSL CS101-2 EPC CLASS 1 GEN 2 RFID HANDHELD READER
USER'S MANUAL, VERSION 1.0
public RFID_RADIO_HANDLE
handle;
public UInt32
countCriteria;
public RFID_18K6C_SELECT_CRITERIA
criteria; //[in] const*
public UInt32
flags;
public HRESULT_RFID_STATUS
status;
};
Fields:
[in] countCriteria: criteria count.
[in] criteria:
criteria to set.
[in] flags:
flags.
Description:
This is the data structure for f_RfidDev_18K6CSetSelectCriteria… operation.
RFID_18K6CGetSelectCriteria__T
Prototype:
public struct RFID_18K6CGetSelectCriteria__T{
public RFID_RADIO_HANDLE
handle;
public UInt32
countCriteria;
public RFID_18K6C_SELECT_CRITERIA criteria;
public HRESULT_RFID_STATUS
status;
};
Fields:
[in] countCriteria: criteria count.
[in] criteria:
criteria to get.
Description:
This is the data structure for f_RfidDev_18K6CGetSelectCriteria… operation.
RFID_18K6CSetPostMatchCriteria__T
Prototype:
public struct RFID_18K6CSetPostMatchCriteria__T{
public RFID_RADIO_HANDLE
handle;
public UInt32
countCriteria;
public RFID_18K6C_SINGULATION_CRITERIA criteria; //[in] const*
public UInt32
flags;
public HRESULT_RFID_STATUS
status;
};
Fields:
[in] countCriteria: criteria count.
Copyright © Convergence Systems Limited, All Rights Reserved
86
CSL CS101-2 EPC CLASS 1 GEN 2 RFID HANDHELD READER
USER'S MANUAL, VERSION 1.0
[in] criteria:
criteria to set.
Description:
This is the data structure for f_RfidDev_18K6CSetPostMatchCriteria… operation.
RFID_18K6CGetPostMatchCriteria__T
Prototype:
public struct RFID_18K6CGetPostMatchCriteria__T{
public RFID_RADIO_HANDLE
handle;
public UInt32
countCriteria;
public RFID_18K6C_SINGULATION_CRITERIA criteria;
public HRESULT_RFID_STATUS
status;
};
Fields:
[in] countCriteria: criteria count.
[in] criteria:
criteria to get.
Description:
This is the data structure for f_RfidDev_18K6CGetPostMatchCriteria… operation.
RFID_18K6CGetSetQueryTagGroup_T
Prototype:
public struct RFID_18K6CGetSetQueryTagGroup_T{
public RFID_RADIO_HANDLE
handle;
public RFID_18K6C_TAG_GROUP
group;
public HRESULT_RFID_STATUS
status;
};
Fields:
[out / in] Group: the tag group for subsequent tag-protocol operations applied to it.
This is not NULL.
Description:
This is the data structure for f_RfidDev_18K6CGet(/Set)QueryTagGroup operation.
RFID_18K6CGetSetCurrentSingulationAlgorithm_T
Prototype:
public struct RFID_18K6CGetSetCurrentSingulationAlgorithm_T{
public RFID_RADIO_HANDLE
handle;
public RFID_18K6C_SINGULATION_ALGORITHMalgorithm;
public HRESULT_RFID_STATUS
status;
};
Copyright © Convergence Systems Limited, All Rights Reserved
87
CSL CS101-2 EPC CLASS 1 GEN 2 RFID HANDHELD READER
USER'S MANUAL, VERSION 1.0
Fields:
[out/ in] Algorithm: enum of the Q type of interest.
0 = fixedQ;
1 = dynamicQ
2 = dynamicQAdjust
3 = dynamicQThresh;
Description:
This is the data structure for f_RfidDev_18K6CGet(/Set)CurrentSingulationAlgorithm operation.
RFID_18K6CGetSetSingulationAlgorithmParameters_T
Prototype:
public struct RFID_18K6CGetSetSingulationAlgorithmParameters_T{
public RFID_RADIO_HANDLE
handle;
public RFID_18K6C_SINGULATION_ALGORITHM_PARMS_T singulationParms;
public HRESULT_RFID_STATUS
status;
};
Fields:
[in] parms: singulation algorithm parameters
Description:
This is the data structure for f_RfidDev_18K6CGet(/Set)SingulationAlgorithmParameters operation.
RFID_18K6CSetQueryParameters_T
Prototype:
public struct RFID_18K6CSetQueryParameters_T{
public RFID_RADIO_HANDLE
handle;
public RFID_18K6C_QUERY_PARMS
parms; //[in] const*
public UInt32
flags;
public HRESULT_RFID_STATUS
status;
};
Fields:
[in] parms: structure containing the query parameters..
[in] flags: flags.
Description:
This is the data structure for f_RfidDev_18K6CSetQueryParameters operation.
RFID_18K6CGetQueryParameters_T
Prototype:
public struct RFID_18K6CGetQueryParameters_T{
Copyright © Convergence Systems Limited, All Rights Reserved
88
CSL CS101-2 EPC CLASS 1 GEN 2 RFID HANDHELD READER
USER'S MANUAL, VERSION 1.0
public RFID_RADIO_HANDLE
handle;
public RFID_18K6C_QUERY_PARMS
parms;
public HRESULT_RFID_STATUS
status;
};
Fields:
[in] parms: structure obtaining the query parameters..
Description:
This is the data structure for f_RfidDev_18K6CGetQueryParameters operation.
RFID_18K6CTagInventory_T
Prototype:
public struct RFID_18K6CTagInventory_T{
public RFID_RADIO_HANDLE
handle;
public RFID_18K6C_INVENTORY_PARMS
invenParms; //[in] const*
public UInt32
flags;
public HRESULT_RFID_STATUS
status;
};
Fields:
[in] invenParms: INVENTORY_PARMS
[in] flags:
0 | RFID_FLAG_PERFORM_SELECT |&
RFID_FLAG_PERFORM_POST_MATCH
Description:
This is the data structure for f_RfidDev_18K6CTagInventory operation.
RFID_18K6CTagRead_T
Prototype:
public struct RFID_18K6CTagRead_T{
public RFID_RADIO_HANDLE
handle;
public RFID_18K6C_READ_PARMS
readParms; //[in] const*
public UInt32
flags;
public HRESULT_RFID_STATUS
status;
};
Fields:
[in] readParms: READ_PARMS
[in] flags:
0 | RFID_FLAG_PERFORM_SELECT |& RFID_FLAG_PERFORM_POST_MATCH
Description:
This is the data structure for f_RfidDev_18K6CTagRead operation.
Copyright © Convergence Systems Limited, All Rights Reserved
89
CSL CS101-2 EPC CLASS 1 GEN 2 RFID HANDHELD READER
USER'S MANUAL, VERSION 1.0
RFID_18K6CTagWrite_T
Prototype:
public struct RFID_18K6CTagWrite_T{
public RFID_RADIO_HANDLE
handle;
public RFID_18K6C_WRITE_PARMS_T writeParms; //[in] const*
public UInt32
flags;
public HRESULT_RFID_STATUS
status;
};
Fields:
[in] writeParms: PARMS
[in] flags:
0 | RFID_FLAG_PERFORM_SELECT |& RFID_FLAG_PERFORM_POST_MATCH
Description:
This is the data structure for f_RfidDev_18K6CTagWrite operation.
RFID_18K6CTagKill_T
Prototype:
public struct RFID_18K6CTagKill_T{
public RFID_RADIO_HANDLE
handle;
public RFID_18K6C_KILL_PARMS
killParms; //[in] const
public UInt32
flags;
public HRESULT_RFID_STATUS
status;
};
Fields:
[in] killParms: PARMS
[in] flags:
0 | RFID_FLAG_PERFORM_SELECT |& RFID_FLAG_PERFORM_POST_MATCH
Description:
This is the data structure for f_RfidDev_18K6CTagKill operation.
RFID_18K6CTagLock_T
Prototype:
public struct RFID_18K6CTagLock_T{
public RFID_RADIO_HANDLE
public RFID_18K6C_LOCK_PARMS
public UInt32
public HRESULT_RFID_STATUS
};
Fields:
handle;
lockParms; //[in] const*
flags;
status;
Copyright © Convergence Systems Limited, All Rights Reserved
90
CSL CS101-2 EPC CLASS 1 GEN 2 RFID HANDHELD READER
USER'S MANUAL, VERSION 1.0
[in] lockParms: PARMS
[in] flags:
0 | RFID_FLAG_PERFORM_SELECT |& RFID_FLAG_PERFORM_POST_MATCH
Description:
This is the data structure for f_RfidDev_18K6CTagLock operation.
RFID_RadioGetSetResponseDataMode_T
Prototype:
public struct RFID_RadioGetSetResponseDataMode_T {
public RFID_RADIO_HANDLE
handle;
public UInt32
responseType; //RFID_RESPONSE_TYPE
public UInt32
responseMode; //[in] |[out] RFID_RESPONSE_MODE
public HRESULT_RFID_STATUS status;
};
Fields:
[in]
responseType: currently always RFID_RESPONSE_TYPE_DATA (0xffffffff)
[out,in] responseMode: Compact, Normal(default), extended.
Description:
This is the data structure for
f_RfidDev_RadioGetResponseDataMode /
f_RfidDev_RadioSetResponseDataMode operation.
RFID_MacUpdateFirmware_T
Prototype:
public struct RFID_MacUpdateFirmware_T {
public RFID_RADIO_HANDLE
handle;
public UInt32
length;
public UIntPtr
pImage; //const INT8U*
public UInt32
flags;
public HRESULT_RFID_STATUS
status;
};
Fields:
To Be Designed .
Description:
This is the data structure for f_RfidDev_MacUpdateFirmware operation.
RFID_MacGetVersion_T
Prototype:
public struct RFID_MacGetVersion_T {
Copyright © Convergence Systems Limited, All Rights Reserved
91
CSL CS101-2 EPC CLASS 1 GEN 2 RFID HANDHELD READER
USER'S MANUAL, VERSION 1.0
public RFID_RADIO_HANDLE
handle;
public RFID_VERSION
version;
public HRESULT_RFID_STATUS status;
};
Fields:
[out] version: Rfid MAC version.
Description:
This is the data structure for f_RfidDev_MacGetVersion operation.
RFID_MacReadWriteOemData_T
Prototype:
public struct RFID_MacReadWriteOemData_T {
public RFID_RADIO_HANDLE handle;
public UInt32 address;
public UInt32 count;
public UIntPtr pData; //UI32* ptr to an BYTE-array[count*4+1]
public HRESULT_RFID_STATUS status;
};
Fields:
To Be Designed.
Description:
This is the data structure for
f_RfidDev_MacReadOemData /
f_RfidDev_MacWriteOemData operation.
RFID_MacReset_T
Prototype:
public struct RFID_MacReset_T {
public RFID_RADIO_HANDLE
handle;
public RFID_MAC_RESET_TYPE resetType; //
public HRESULT_RFID_STATUS
status;
};
Fields:
[in] resetType: soft_reset.
Description:
This is the data structure for f_RfidDev_MacReset operation.
RFID_MacClearError_T
Copyright © Convergence Systems Limited, All Rights Reserved
92
CSL CS101-2 EPC CLASS 1 GEN 2 RFID HANDHELD READER
USER'S MANUAL, VERSION 1.0
Prototype:
public struct RFID_MacClearError_T {
public RFID_RADIO_HANDLE
handle;
public HRESULT_RFID_STATUS status;
};
Fields:
-- .
Description:
This is the data structure for f_RfidDev_MacClearError operation.
RFID_MacBypassReadWriteRegister_T
Prototype:
public struct RFID_MacBypassReadWriteRegister_T{
public RFID_RADIO_HANDLE
handle;
public UInt16
address;
public UInt16
value;
public HRESULT_RFID_STATUS status;
};
Fields:
[in] address: UINT16 register address.
[out,in] value: UINT32 value.
Description:
This is the data structure for
f_RfidDev_MacBypassReadRegister /
f_RfidDev_MacBypassWriteRegister operation.
RFID_MacGetSetRegion_T
Prototype:
public struct RFID_MacGetSetRegion_T {
public RFID_RADIO_HANDLE
handle;
public UInt32
region; //RFID_MAC_REGION
public IntPtr
pRegionConfig; //void*
public HRESULT_RFID_STATUS status;
};
Fields:
To Be Designed.
Description:
This is the data structure for
Copyright © Convergence Systems Limited, All Rights Reserved
93
CSL CS101-2 EPC CLASS 1 GEN 2 RFID HANDHELD READER
USER'S MANUAL, VERSION 1.0
f_RfidDev_MacGetRegion /
f_RfidDev_MacSetRegion operation.
RFID_RadioSetGpioPinsConfiguration_T
Prototype:
public struct RFID_RadioSetGpioPinsConfiguration_T {
public RFID_RADIO_HANDLE
handle;
public UInt32
mask;
public UInt32
configuration;
public HRESULT_RFID_STATUS status;
};
Fields:
[in] mask:
bit mask of GPIO’s Ids.
[in] configuration: GPIO In or Out.
Description:
This is the data structure for f_RfidDev_RadioSetGpioPinsConfiguration operation.
RFID_RadioGetGpioPinsConfiguration_T
Prototype:
public struct RFID_RadioGetGpioPinsConfiguration_T {
public RFID_RADIO_HANDLE
handle;
public UInt32
configuration;
public HRESULT_RFID_STATUS
status;
};
Fields:
configuration: bit masked status of the 32 GPIOs (as Input or Output pin).
Description:
This is the data structure for f_RfidDev_RadioGetGpioPinsConfiguration operation.
RFID_RadioReadWriteGpioPins_T
Prototype:
public struct RFID_RadioReadWriteGpioPins_T {
public RFID_RADIO_HANDLE
handle;
public UInt32
mask;
public UInt32
value;
public HRESULT_RFID_STATUS
status;
};
Copyright © Convergence Systems Limited, All Rights Reserved
94
CSL CS101-2 EPC CLASS 1 GEN 2 RFID HANDHELD READER
USER'S MANUAL, VERSION 1.0
Fields:
[in]
mask: bit mask of GPIOs to be affected.
[out,in] value: values
Description:
This is the data structure for
f_RfidDev_RadioReadGpioPins /
f_RfidDev_RadioWriteGpioPins operation.
RFID_RadioCancelOperation_T
Prototype:
public struct RFID_RadioCancelOperation_T {
public RFID_RADIO_HANDLE
handle;
public UInt32
flags;
public HRESULT_RFID_STATUS
status;
};
Fields:
[in] flags: unreferenced.
Description:
This is the data structure for f_RfidDev_RadioCancelOperation operation.
RFID_RadioAbortOperation_T
Prototype:
public struct RFID_RadioAbortOperation_T {
public RFID_RADIO_HANDLE
handle;
public UInt32
flags;
public HRESULT_RFID_STATUS
status;
};
Fields:
[in] flags: unreferenced.
Description:
This is the data structure for f_RfidDev_RadioAbortOperation operation.
RFID_RadioIssueCommand_T
Prototype:
public struct RFID_RFID_RadioIssueCommand_T {
public RFID_RADIO_HANDLE
handle;
public UInt32
command; //e.g. 0x17
public HRESULT_RFID_STATUS
status;
Copyright © Convergence Systems Limited, All Rights Reserved
95
CSL CS101-2 EPC CLASS 1 GEN 2 RFID HANDHELD READER
USER'S MANUAL, VERSION 1.0
};
Fields:
[in] flags: unreferenced.
Description:
This is the data structure for f_RfidDev_RadioAbortOperation operation.
Note: {RFID_PACKET_CALLBACK_FUNCTION Callback; void* context; INT32S* pCallbackCode;}
is handled in rfid lib.
RFID_PACKETMSG_COMMON_T
Prototype:
public struct RFID_PACKETMSG_COMMON_T {
public Byte
pkt_ver;
//INT8U Packet specific version number
public Byte
flags;
//
Packet specific flags
public UInt16 pkt_type; //
Packet type identifier
public UInt16 pkt_len;
// Packet length preamble: number of 32-bit words that follow the
common
public UInt16 res0;
// Reserved for future use
};
Fields:
pkt_ver: Packet specific version number
flags:
Packet specific flags
pkt_type: Packet type identifier
pkt_len: Packet length preamble: number of 32-bit words that follow the common
res0:
Reserved for future use
Description:
This is the common packet preamble that contains fields that are common to all packets.
RFID_PACKETMSG_COMMAND_BEGIN_T
Prototype:
public struct RFID_PACKETMSG_COMMAND_BEGIN_T {
public RFID_PACKETMSG_COMMON_T
cmn;
public UInt32
command;
public UInt32
ms_ctr;
};
Fields:
cmn:
The command context
command: The command for which the packet sequence is in response to
ms_ctr:
Current millisecond counter.
Copyright © Convergence Systems Limited, All Rights Reserved
96
CSL CS101-2 EPC CLASS 1 GEN 2 RFID HANDHELD READER
USER'S MANUAL, VERSION 1.0
Description:
This is the command-begin packet.
RFID_PACKETMSG_COMMAND_END_T
Prototype:
public struct RFID_PACKETMSG_COMMAND_END_T {
public RFID_PACKETMSG_COMMON_T
cmn;
public UInt32
ms_ctr; // Current millisecond counter
public UInt32
status; // Command status indicator
};
Fields:
cmn:
The command context.
ms_ctr: Current millisecond counter.
Description:
This is the command-end packet.
RFID_PACKETMSG_ANTENNA_CYCLE_BEGIN_T
Prototype:
public struct RFID_PACKETMSG_ANTENNA_CYCLE_BEGIN_T {
public RFID_PACKETMSG_COMMON_T
cmn;
// No other packet specific fields
};
Fields:
cmn:
The command context.
Description:
This is the antenna-cycle-begin packet.
RFID_PACKETMSG_ANTENNA_CYCLE_END_T
Prototype:
public struct RFID_PACKETMSG_ANTENNA_CYCLE_END_T {
public RFID_PACKETMSG_COMMON_T
cmn;
// No other packet specific fields
};
Fields:
cmn:
The command context.
Description:
This is the antenna-cycle-begin packet..
Copyright © Convergence Systems Limited, All Rights Reserved
97
CSL CS101-2 EPC CLASS 1 GEN 2 RFID HANDHELD READER
USER'S MANUAL, VERSION 1.0
RFID_PACKETMSG_ANTENNA_BEGIN_T
Prototype:
public struct RFID_PACKETMSG_ANTENNA_BEGIN_T {
public RFID_PACKETMSG_COMMON_T cmn; // The logical antenna ID
public UInt32
antenna;
};
Fields:
cmn:
The command context.
antenna: The antenna id .
Description:
This is the antenna-begin packet.
RFID_PACKETMSG_ANTENNA_END_T
Prototype:
public struct RFID_PACKETMSG_ANTENNA_END_T {
public RFID_PACKETMSG_COMMON_T
cmn; // No other packet specific fields
};
Fields:
cmn:
The command context.
Description:
This is the antenna-end packet.
RFID_PACKETMSG_INVENTORY_CYCLE_BEGIN_T
Prototype:
public struct RFID_PACKETMSG_INVENTORY_CYCLE_BEGIN_T {
public RFID_PACKETMSG_COMMON_T
cmn;
public UInt32
ms_ctr;.
Fields:
cmn:
The command context.
ms_ctr:
Current millisecond counter.
Description:
This is the inventory-cycle-begin packet.
RFID_PACKETMSG_INVENTORY_CYCLE_END_T
Prototype:
public struct RFID_PACKETMSG_INVENTORY_CYCLE_END_T {
public RFID_PACKETMSG_COMMON_T
cmn;
Copyright © Convergence Systems Limited, All Rights Reserved
98
CSL CS101-2 EPC CLASS 1 GEN 2 RFID HANDHELD READER
USER'S MANUAL, VERSION 1.0
public UInt32
ms_ctr;
};
Fields:
cmn:
The command context.
ms_ctr:
Current millisecond counter.
Description:
This is the inventory-cycle-end packet.
RFID_PACKETMSG_18K6C_INVENTORY_ROUND_BEGIN_T
Prototype:
public struct RFID_PACKETMSG_18K6C_INVENTORY_ROUND_BEGIN_T {
public RFID_PACKETMSG_COMMON_T
cmn;
// No packet specific fields
};
Fields:
cmn:
The command context.
Description:
This is the data structure in the message.
RFID_PACKETMSG_18K6C_INVENTORY_ROUND_END_T
Prototype:
public struct RFID_PACKETMSG_18K6C_INVENTORY_ROUND_END_T {
public RFID_PACKETMSG_COMMON_T
cmn;
// No packet specific fields
};
Fields:
cmn:
The command context.
Description:
This is the ISO 18000-6C inventory round end packet.
RFID_PACKETMSG_18K6C_TAG_ACCESS_T
Prototype:
// Pointers and fixed size buffers may only be used in an unsafe context
public unsafe struct RFID_PACKETMSG_18K6C_TAG_ACCESS_T {
public RFID_PACKETMSG_COMMON_T
cmn;
public UInt32
ms_ctr; //UInt32
public Byte
command; //INT8U
Copyright © Convergence Systems Limited, All Rights Reserved
99
CSL CS101-2 EPC CLASS 1 GEN 2 RFID HANDHELD READER
USER'S MANUAL, VERSION 1.0
public Byte
error_code; //INT8U Error code from tag access
public UInt16
res0;
//public UInt16
public UInt32
res1;
//UInt32
public fixed UInt32
tag_data[ RfidSp.RFID_PACKET_18K6C_TAG_ACCESS__DATA_MAXSIZ ]; // Variable length
access data; 2
+16Byte for EPC Gen2
};
Fields:
cmn:
The command context.
ms_ctr:
Current millisecond counter.
command: The command for which the packet sequence is in response to.
error_code: Error code from tag access: 0=NoError,
RFID_18K6C_TAG_ACCESS_CRC_INVALID;ACCESS_TIMEOUT;
BACKSCATTER_ERROR;ACCESS_ERROR
res0:
reserved.
res1:
reserved.
tag_data[]: Variable length access data; 2+16Byte for EPC Gen2
Description:
This is the ISO 18000-6C tag-access packet.
RFID_PACKETMSG_18K6C_INVENTORY_AND_DATA_T
Prototype:
public unsafe struct RFID_PACKETMSG_18K6C_INVENTORY_AND_DATA_T {
public RFID_PACKETMSG_COMMON_T cmn;
public UInt32
ms_ctr;
public UInt16
rssi;
//public UInt16
public UInt16
ana_ctrl1;
public UInt32
res0;
//UInt32
public fixed UInt32
inv_data[4]; //_18K6C_INVENTORY__DATA_MAXSIZ
};
Fields:
cmn:
The command context.
ms_ctr:
Current millisecond counter.
rssi:
RSSI
ana_ctrl1: The antenna control data
res0:
Always 0; reserved.
inv_data[4]: integer array of data.
Copyright © Convergence Systems Limited, All Rights Reserved
100
CSL CS101-2 EPC CLASS 1 GEN 2 RFID HANDHELD READER
USER'S MANUAL, VERSION 1.0
Description:
This is the ISO 18000-6C inventory packet.
It is Obsolete to the App, since RfidMw sends AddTag messages to App instead.
RFID_PACKETMSG_NONCRITICAL_FAULT_T
Prototype:
public struct RFID_PACKETMSG_NONCRITICAL_FAULT_T {
public RFID_PACKETMSG_COMMON_T
cmn;
public UInt32
ms_ctr;
// Current millisecond counter
public UInt16
fault_type;
// Fault type
public UInt16
fault_subtype; // Fault subtype
public UInt32
context;
// Context specific data for fault
};
Fields:
cmn:
The command context.
ms_ctr:
Current millisecond counter.
fault_type:
Fault type.
fault_subtype: Fault subtype.
context:
Context specific data for fault.
Description:
This is the non-critical-fault packet.
RFID_PACKETMSG_CARRIER_INFO_T
Prototype:
public struct RFID_PACKETMSG_CARRIER_INFO_T {
public RFID_PACKETMSG_COMMON_T
cmn;
public UInt32
ms_ctr;
// Current millisecond counter
public UInt32
plldivmult;
// current plldivmult setting
public UInt16
chan;
// channel
public UInt16
cw_flags;
// carrier flags
};
Fields:
cmn:
The command context.
ms_ctr:
Current millisecond counter.
plldivmult: Current plldivmult setting.
chan:
Channel number.
cw_flags: Carrier flags.
Description:
Copyright © Convergence Systems Limited, All Rights Reserved
101
CSL CS101-2 EPC CLASS 1 GEN 2 RFID HANDHELD READER
USER'S MANUAL, VERSION 1.0
This contains info related to the transmitted carrier.
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
( The following RfidSp’ structures are used by the structures above, see RfidSp_enums.cs )
RFID_VERSION
Prototype:
public struct RFID_VERSION {
public UInt32
major;
public UInt32
minor;
public UInt32
patch;
};
Fields:
major: The major version (i.e, in 1.x.x, the 1)
minor: The minor version (i.e., in x.1.x, the 1)
patch: The patch level (i.e., in x.x.1, the 1)
Description:
This represents the version information for components in the system.
RFID_RADIO_INFO
Prototype:
public struct RFID_RADIO_INFO {
public UInt32
length;
public RFID_VERSION
driverVersion;
public UInt32
cookie;
public UInt32
idLength;
public IntPtr
pUniqueId;
};
Fields:
length:
The length of the structure in bytes (=sizeof(RFID_RADIO_INFO)).
driverVersion: The version information for the radio's bus driver.
cookie:
The unique cookie for the radio.
This cookie is passed to RFID_RadioOpen() when the application wishes to take control of the radio.
pUniqueId: A pointer to a byte array (ansi string) that contain the radio module's unique ID (=serial
number).
Description:
This is used to represent the information for the attached radio.
RFID_RADIO_ENUM_T
Copyright © Convergence Systems Limited, All Rights Reserved
102
CSL CS101-2 EPC CLASS 1 GEN 2 RFID HANDHELD READER
USER'S MANUAL, VERSION 1.0
Prototype:
public struct RFID_RADIO_ENUM_T {
public UInt32
length;
public UInt32
totalLength;
public UInt32
countRadios;
public RFID_RADIO_INFO
_RadioInfo;
};
Fields:
length:
The length of the structure in bytes (= sizeof(RFID_RADIO_ENUM)).
totalLength: The total length, in bytes, of radio enumeration structure.
Application should fill in this with the length of the radio enumeration buffer.
countRadios: The number of radio objects that are attached to the system.
_RadioInfo: The RFID_RADIO_INFO structure.
Description:
This is used in the RetrieveAttachedRadiosList function.
The data that will be returned from a request to list the radios that are attached to the system
On CS101, a process should only able to get a single radio object.
RFID_RADIO_LINK_PROFILE_ISO18K6C_CONFIG
Prototype:
public struct RFID_RADIO_LINK_PROFILE_ISO18K6C_CONFIG {
public UInt32
length;
public RFID_18K6C_MODULATION_TYPE
modulationType;
public UInt32
tari;
public RFID_18K6C_DATA_0_1_DIFFERENCE
data01Difference;
public UInt32
pulseWidth;
public UInt32
rtCalibration;
public UInt32
trCalibration;
public RFID_18K6C_DIVIDE_RATIO
divideRatio;
public RFID_18K6C_MILLER_NUMBER
millerNumber;
public UInt32
trLinkFrequency;
public UInt32
varT2Delay;
public UInt32
rxDelay;
public UInt32
minT2Delay;
public UInt32
txPropagationDelay;
};
Fields:
length:
The length of the structure in bytes.
Copyright © Convergence Systems Limited, All Rights Reserved
103
CSL CS101-2 EPC CLASS 1 GEN 2 RFID HANDHELD READER
USER'S MANUAL, VERSION 1.0
modulationType: The modulation type used by the link profile.
tari:
The duration, in nanoseconds, of the Tari.
data01Difference: The difference, in Taris, between a data zero and a data one.
pulseWidth:
The duration, in nanoseconds, of the low-going portion of the radio-to-tag PIE symbol
rtCalibration:
The width, in nanoseconds, of the radio-to-tag calibration.
trCalibration:
The width, in nanoseconds, of the tag-to-radio calibration.
divideRatio:
The divide ratio used.
millerNumber:
The miller number (i.e., cycles per symbol);
trLinkFrequency: The tag-to-radio link frequency in Hz.
varT2Delay: The delay, in microseconds, inserted to ensure meeting the minimum T2 timing.
rxDelay::
The amount of time, in 48MHz cycles, a radio module will wait between transmitting and
then attempting to receive the backscattered signal from tags.
minT2Delay: The minimum amount of ISO 18000-6C T2 time, in microseconds,
after receiving a tag response, before a radio may transmit again.
txPropagationDelay: The number of microseconds for a signal to propagate through the radio's transmit
chain.
Description:
This is used in the RFID_RadioGetLinkProfile function.
RFID_RADIO_LINK_PROFILE
Prototype:
public struct RFID_RADIO_LINK_PROFILE {
public UInt32
length;
public UInt32
enabled; // BOOL32
public UInt64
profileId;
public UInt32
profileVersion;
public RFID_RADIO_PROTOCOL
profileProtocol;
public UInt32
denseReaderMode; // BOOL32
public UInt32
widebandRssiSamples;
public UInt32
narrowbandRssiSamples;
public UInt32
realtimeRssiEnabled;
public UInt32
realtimeWidebandRssiSamples;
public UInt32
realtimeNarrowbandRssiSamples;
public RFID_RADIO_LINK_PROFILE_ISO18K6C_CONFIG iso18K6C;
};
Fields:
length: The length of the structure in bytes (= sizeof(RFID_RADIO_LINK_PROFILE)).
enabled: This indicates if the profile is active. A zero value indicates that the profile is inactive.
Copyright © Convergence Systems Limited, All Rights Reserved
104
CSL CS101-2 EPC CLASS 1 GEN 2 RFID HANDHELD READER
USER'S MANUAL, VERSION 1.0
profileId: This is the identifier for the profile.
This, in combination with profileVersion, provides a unique identifier for the profile.
profileVersion: This is the version for the profile.
This field, in combination with profileId, provides a unique identifier for the profile.
profileProtocol: This is the tag protocol for which this profile was configured.
This value is the discriminator for the profileConfig union.
denseReaderMode: This indicates if the profile is a dense-reader-mode (DRM) profile.
A zero value indicates a non-DRM profile.
widebandRssiSamples: Number of wide band Receive Signal Strength Indication (RSSI) samples to be
averaged.
narrowbandRssiSamples: Number of narrow band Receive Signal Strength Indication (RSSI) samples to
be averaged.
realtimeRssiEnabled:
Reserved for future use.
realtimeWidebandRssiSamples: Reserved for future use.
realtimeNarrowbandRssiSamples: Reserved for future use.
iso18K6C : This is the link profile configuration information.
A union of { RFID_RADIO_LINK_PROFILE_ISO18K6C_CONFIG iso18K6C;};
Description:
This is used in the RadioGetLinkProfile function.
This has the information about a radio link profile.
This is returned in repsonse to a request for link profile information.
RFID_ANTENNA_PORT_STATUS
Prototype:
public struct RFID_ANTENNA_PORT_STATUS{
public UInt32
length;
public RFID_ANTENNA_PORT_STATE state;
public UInt32
antennaSenseValue;
};
Fields:
length: The length of the structure in bytes (=sizeof(RFID_ANTENNA_PORT_STATUS)).
state:
The state (enabled/disabled) of the antenna port.
antennaSenseValue: The last measurement of the antenna-sense resistor for the logical antenna port
physical transmit antenna port.
Description:
This is the status of an logical antenna port.
RFID_ANTENNA_PORT_CONFIG
Copyright © Convergence Systems Limited, All Rights Reserved
105
CSL CS101-2 EPC CLASS 1 GEN 2 RFID HANDHELD READER
USER'S MANUAL, VERSION 1.0
Prototype:
public struct RFID_ANTENNA_PORT_CONFIG {
public UInt32 length;
public UInt32 powerLevel;
public UInt32 dwellTime;
public UInt32 numberInventoryCycles;
public UInt32 physicalRxPort;
public UInt32 physicalTxPort;
public UInt32 antennaSenseThreshold;
};
Fields:
length: The length of the structure in bytes (=sizeof(RFID_ANTENNA_PORT_CONFIG)).
powerLevel: The power level for the logical antenna port physical transmit antenna.
This is specified in 0.1 (i.e., 1/10th) dBm.
dwellTime: The number of milliseconds to spend on this antenna port during a cycle.
Zero indicates that antenna usage will be controlled by the numberInventoryCycles field.
numberInventoryCycles: The number of inventory rounds to perform with this antenna port.
Zero indicates that the antenna usage will be controlled by the dwellTime field.
physicalRxPort: The physical receive antenna port associated with the logical antenna port (between 0
and 3).
physicalTxPort: The physical transmit antenna port associated with the logical antenna port (between 0
and 3).
antennaSenseThreshold: The measured resistance, specified in ohms, above which the antenna-sense
resistance should be considered to be an open circuit: .
Description:
This is the configuration parameters for a logical antenna port.
RFID_18K6C_SELECT_MASK
Prototype:
public unsafe struct RFID_18K6C_SELECT_MASK {
public RFID_18K6C_MEMORY_BANK bank;
public UInt32
offset;
public UInt32
count;
public fixed Byte
mask[RfidSp.RFID_18K6C_SELECT_MASK_BYTE_LEN];
};
Fields:
bank: The memory bank to match against
offset: The offset of the first bit to match
Copyright © Convergence Systems Limited, All Rights Reserved
106
CSL CS101-2 EPC CLASS 1 GEN 2 RFID HANDHELD READER
USER'S MANUAL, VERSION 1.0
count: The number of bits in the mask
mask[RFID_18K6C_SELECT_MASK_BYTE_LEN]: The bit pattern to match.
Description:
This is the select mask for partitioning a tag population.
RFID_18K6C_SELECT_ACTION
Prototype:
public struct RFID_18K6C_SELECT_ACTION {
public RFID_18K6C_TARGET target;
public RFID_18K6C_ACTION
action;
public UInt32
enableTruncate; //BOOL32
};
Fields:
target: The target affected by the action.
action: The actions to be performed on the tag populations (i.e., matching and non-matching.)
enableTruncate: truncate EPC when the tag is singulated.
A non-zero value requestes that the EPC is truncated.
A zero value requests the entire EPC.
Description:
This is the matching and non-matching action to take when a selection mask matches/doesn't match
RFID_18K6C_SELECT_CRITERION
Prototype:
public struct RFID_18K6C_SELECT_CRITERION {
public RFID_18K6C_SELECT_MASK
mask;
public RFID_18K6C_SELECT_ACTION action;
};
Fields:
mask:
The selection mask to test for RFID_18K6C_SELECT_MASK.
action:
The actions to perform: .
Description:
This is the single selection criterion, as a combination of selection mask and action.
RFID_18K6C_SINGULATION_MASK
Prototype:
public unsafe struct RFID_18K6C_SINGULATION_MASK {
public UInt32 offset;
Copyright © Convergence Systems Limited, All Rights Reserved
107
CSL CS101-2 EPC CLASS 1 GEN 2 RFID HANDHELD READER
USER'S MANUAL, VERSION 1.0
public UInt32 count;
public fixed Byte mask[ RfidSp.RFID_18K6C_SINGULATION_MASK_BYTE_LEN ];
};
Fields:
offset:
count:
Offset in bits, from the start of the EPC, of the first bit to match against the mask.
The number of bits in the mask. A length of zero causes all tags to match.
If (offset + count) falls beyond the end of the mask, the tag is considered non-matching.
mask[]: The bit pattern to match.
Description:
This is a single post-singulation match mask.
RFID_18K6C_SINGULATION_CRITERION
Prototype:
public struct RFID_18K6C_SINGULATION_CRITERION {
public UInt32 match; //BOOL32
public RFID_18K6C_SINGULATION_MASK mask;
//UCHAR[32]
};
Fields:
match: Indicates if the associated tag-protocol operation will be applied to matching or non-matching
tags.
A non-zero value indicates that the tag-protocol operation is applied to matching tags.
A zero value of indicates that tag-protocol operation is applied to non- matching tags.
mask: The mask to be applied to EPC.
Description:
This is a single post-singulation match criterion.
RFID_18K6C_TAG_GROUP
Prototype:
public struct RFID_18K6C_TAG_GROUP{
public RFID_18K6C_SELECTED
selected;
public RFID_18K6C_INVENTORY_SESSION
session;
public RFID_18K6C_INVENTORY_SESSION_TARGET target;
};
Fields:
selected: The state of the SL flag.
session: The inventory session (S0, S1, etc.).
target:
The state of the inventory session specified by the session field .
Copyright © Convergence Systems Limited, All Rights Reserved
108
CSL CS101-2 EPC CLASS 1 GEN 2 RFID HANDHELD READER
USER'S MANUAL, VERSION 1.0
Description:
This specifies which tag population will be singulated.
RFID_18K6C_COMMON_PARMS
Prototype:
public struct RFID_18K6C_COMMON_PARMS{
public UInt32 tagStopCount;
public IntPtr pCallback;
//RFID_PACKET_CALLBACK_FUNCTION
public IntPtr context;
//void*
//Nullable
public IntPtr pCallbackCode; //INT 32S*
};
Fields:
tagStopCount: The maximum number of tags to which the tag-protocol operation will be applied.
If this number is zero, then the operation is applied to all tags that match the selection, and
optionally post-singulation, match criteria.
If this number is non-zero, the antenna-port dwell-time and inventory-round-count constraints still
apply, however the operation will be prematurely terminated if the maximum number of tags have the
tag-protocol operation applied to them.
pCallback: Callback function assigned in the library.
context: An value that is passed through unmodified to the application-specified callback function.
It is usually = 0 .
pCallbackCode: A pointer to a 32-bit integer that upon return will contain the return code from the last
call to the application-supplied callback function. This can be set to NULL.
Description:
This is the common parameters for ISO 18000-6C tag-protocol operation
RFID_18K6C_SINGULATION_FIXEDQ_PARMS
Prototype:
public struct RFID_18K6C_SINGULATION_FIXEDQ_PARMS{
public UInt32 length;
public UInt32 qValue;
public UInt32 retryCount;
public UInt32 toggleTarget; //BOOL32
public UInt32 repeatUntilNoTags; //BOOL32
};
Fields:
length: The length of the structure in bytes.
When calling
Copyright © Convergence Systems Limited, All Rights Reserved
109
CSL CS101-2 EPC CLASS 1 GEN 2 RFID HANDHELD READER
USER'S MANUAL, VERSION 1.0
RFID_18K6CSetQueryParameters,
RFID_18K6CSetSingulationAlgorithmParameters, or
RFID_18K6CGetSingulationAlgorithmParameters
the application must set this to sizeof(RFID_18K6C_SINGULATION_FIXEDQ_PARMS).
When calling RFID_18K6CGetQueryParameters, the library will fill in this field.
qValue: The Q value to use. Valid values are 0 to 15.
retryCount: Specifies the number of times to try another execution of the singulation algorithm for the
specified session / target before either toggling the target (if toggleTarget is non-zero) or terminating the
inventory / tag access operation. Valid values are 0-255.
toggleTarget: A flag that indicates if, after performing the inventory cycle for the specified target (i.e., A
or B), if the target should be toggled (i.e., A to B or B to A) and another inventory cycle run.
A non-zero value indicates that the target should be toggled.
Note that if the target is toggled, retryCount and repeatUntilNoTags will also apply to the new target.
repeatUntilNoTags: A flag that indicates whether or not the singulation algorithm should continue
performing inventory rounds until no tags are singulated.
A non-zero value indicates that, for each execution of the singulation algorithm, inventory rounds should
be performed until no tags are singulated.
A zero value indicates that a single inventory round should be performed for each execution of the
singulation algorithm.
Description:
This is the parameters for the fixed Q (i.e., RFID_18K6C_SINGULATION_ALGORITHM_FIXEDQ)
algorithm.
RFID_18K6C_SINGULATION_DYNAMICQ_PARMS
Prototype:
public struct RFID_18K6C_SINGULATION_DYNAMICQ_PARMS{
public UInt32 length;
public UInt32 startQValue;
public UInt32 minQValue;
public UInt32 maxQValue;
public UInt32 retryCount;
public UInt32 maxQueryRepCount;
public UInt32 toggleTarget; //BOOL32
};
Fields:
length: The length of the structure in bytes.
When calling
RFID_18K6CSetQueryParameters,
Copyright © Convergence Systems Limited, All Rights Reserved
110
CSL CS101-2 EPC CLASS 1 GEN 2 RFID HANDHELD READER
USER'S MANUAL, VERSION 1.0
RFID_18K6CSetSingulationAlgorithmParameters, or
RFID_18K6CGetSingulationAlgorithmParameters
the application must set this to sizeof(RFID_18K6C_SINGULATION_DYNAMICQ_PARMS).
When calling RFID_18K6CGetQueryParameters, the library will fill in this field
startQValue: The starting Q value to use. Valid values are 0 to 15.
minQValue <= startQValue <= maxQValue
minQValue: The minimum Q value to use. Valid values are 0 to 15.
minQValue <= startQValue <= maxQValue
maxQValue: The maximum Q value to use. Valid values are 0 to 15.
minQValue <= startQValue <= maxQValue
retryCount: Specifies the number of times to try another execution of the singulation algorithm for
the specified session/target before either toggling the target (if toggleTarget is non-zero) or terminating
the inventory/tag access operation. Valid values are 0-255.
maxQueryRepCount: The maximum number of ISO 18000-6C QueryRep commands that will follow
the ISO 18000-6C Query command during a single inventory round. Valid values are 0-255
toggleTarget: A flag that indicates if, after performing the inventory cycle for the specified target (i.e., A
or B), if the target should be toggled (i.e.A to B or B to A) and another inventory cycle run.
A non-zero value indicates that the target should be toggled.
A zero value indicates that the target should not be toggled.
Note that if the target is toggled, retryCount and maxQueryReps will also apply to the new target.
Description:
This is for the parameters for the dynamic Q (i.e.,
RFID_18K6C_SINGULATION_ALGORITHM_DYNAMICQ) algorithm.
RFID_18K6C_SINGULATION_DYNAMICQ_ADJUST_PARMS
Prototype:
public struct RFID_18K6C_SINGULATION_DYNAMICQ_ADJUST_PARMS {
public UInt32 length;
public UInt32 startQValue;
public UInt32 minQValue;
public UInt32 maxQValue;
public UInt32 retryCount;
public UInt32 maxQueryRepCount;
public UInt32 toggleTarget; //BOOL32
};
Fields:
length: sizeof(RFID_18K6C_SINGULATION_DYNAMICQ_ADJUST_PARMS) The length of the
structure in bytes.
Copyright © Convergence Systems Limited, All Rights Reserved
111
CSL CS101-2 EPC CLASS 1 GEN 2 RFID HANDHELD READER
USER'S MANUAL, VERSION 1.0
When calling
RFID_18K6CSetQueryParameters,
RFID_18K6CSetSingulationAlgorithmParameters, or
RFID_18K6CGetSingulationAlgorithmParameters
the application must set this to sizeof(RFID_18K6C_SINGULATION_DYNAMICQ_PARMS).
When calling RFID_18K6CGetQueryParameters, the library will fill in this field
startQValue: The starting Q value to use. Valid values are 0 to 15.
minQValue <= startQValue <= maxQValue
minQValue: The minimum Q value to use. Valid values are 0 to 15.
minQValue <= startQValue <= maxQValue
maxQValue: The maximum Q value to use. Valid values are 0 to 15.
minQValue <= startQValue <= maxQValue
retryCount: Specifies the number of times to try another execution of the singulation algorithm for
the specified session/target before either toggling the target (if toggleTarget is non-zero) or terminating
the inventory/tag access operation. Valid values are 0-255.
maxQueryRepCount: The maximum number of ISO 18000-6C QueryRep commands that will follow
the ISO 18000-6C Query command during a single inventory round. Valid values are 0-255
toggleTarget: A flag that indicates if, after performing the inventory cycle for the specified target (i.e., A
or B), if the target should be toggled (i.e.A to B or B to A) and another inventory cycle run.
A non-zero value indicates that the target should be toggled.
A zero value indicates that the target should not be toggled.
Note that if the target is toggled, retryCount and maxQueryReps will also apply to the new target.
Description:
This is for the dynamic Q (adjust) algorithm operation;
RFID_18K6C_SINGULATION_DYNAMICQ_THRESH_PARMS
Prototype:
public struct RFID_18K6C_SINGULATION_DYNAMICQ_THRESH_PARMS {
public UInt32 length;
public UInt32 startQValue;
public UInt32 minQValue;
public UInt32 maxQValue;
public UInt32 retryCount;
public UInt32 maxQueryRepCount;
public UInt32 toggleTarget; //BOOL32
public UInt32 thresholdMultiplier;
};
Copyright © Convergence Systems Limited, All Rights Reserved
112
CSL CS101-2 EPC CLASS 1 GEN 2 RFID HANDHELD READER
USER'S MANUAL, VERSION 1.0
Fields:
length: sizeof(RFID_18K6C_SINGULATION_DYNAMICQ_ADJUST_PARMS) The length of the
structure in bytes.
When calling
RFID_18K6CSetQueryParameters,
RFID_18K6CSetSingulationAlgorithmParameters, or
RFID_18K6CGetSingulationAlgorithmParameters
the application must set this to sizeof(RFID_18K6C_SINGULATION_DYNAMICQ_PARMS).
When calling RFID_18K6CGetQueryParameters, the library will fill in this field
startQValue: The starting Q value to use. Valid values are 0 to 15.
minQValue <= startQValue <= maxQValue
minQValue: The minimum Q value to use. Valid values are 0 to 15.
minQValue <= startQValue <= maxQValue
maxQValue: The maximum Q value to use. Valid values are 0 to 15.
minQValue <= startQValue <= maxQValue
retryCount: Specifies the number of times to try another execution of the singulation algorithm for
the specified session/target before either toggling the target (if toggleTarget is non-zero) or terminating
the inventory/tag access operation. Valid values are 0-255.
maxQueryRepCount: The maximum number of ISO 18000-6C QueryRep commands that will follow
the ISO 18000-6C Query command during a single inventory round. Valid values are 0-255
toggleTarget: A flag that indicates if, after performing the inventory cycle for the specified target (i.e., A
or B), if the target should be toggled (i.e.A to B or B to A) and another inventory cycle run.
A non-zero value indicates that the target should be toggled.
A zero value indicates that the target should not be toggled.
Note that if the target is toggled, retryCount and maxQueryReps will also apply to the new target.
thresholdMultiplier:
The multiplier, specified in units of fourths (i.e., 0.25), that will be applied to
the Q-adjustment threshold as part of the dynamic-Q algorithm.
Valid values are 0-255, inclusive.
Description:
This is for the dynamic Q with Q-threshold adjustment algorithm operation;
RFID_18K6C_SINGULATION_ALGORITHM_PARMS_T
Prototype:
public struct RFID_18K6C_SINGULATION_ALGORITHM_PARMS_T{
public RFID_18K6C_SINGULATION_ALGORITHM
singulationAlgorithm;
public RFID_18K6C_SINGULATION_FIXEDQ_PARMS
fixedQ;
public RFID_18K6C_SINGULATION_DYNAMICQ_PARMS
dynamicQ;
public RFID_18K6C_SINGULATION_DYNAMICQ_ADJUST_PARMS dynamicQAdjust; ///
Copyright © Convergence Systems Limited, All Rights Reserved
113
CSL CS101-2 EPC CLASS 1 GEN 2 RFID HANDHELD READER
USER'S MANUAL, VERSION 1.0
Aug2007
public RFID_18K6C_SINGULATION_DYNAMICQ_THRESH_PARMS dynamicQThresh; ///
};
Fields:
singulationAlgorithm: enum of the singulation algorithm to use.
This value is a discriminator that determines the exact structure that pSingulationParms points to.
0 = fixedQ;
1 = dynamicQ
2 = dynamicQAdjust
3 = dynamicQThresh
fixedQ:
this contains the FixedQ
singulation algorithm parameters.
dynamicQ:
this contains the DynamicQ singulation algorithm parameters.
dynamicQAdjust: this contains the DynamicQ singulation algorithm parameters with adjust.
dynamicQThresh: this contains the DynamicQ singulation algorithm parameters with threshold.
Description:
This is the ISO 18000-6C tag singulation algorithm parameters.
RFID_18K6C_QUERY_PARMS
Prototype:
public struct RFID_18K6C_QUERY_PARMS{
public RFID_18K6C_TAG_GROUP
tagGroup;
public RFID_18K6C_SINGULATION_ALGORITHM_PARMS_T singulationParms;
};
Fields:
tagGroup:
tag group to be used.
singulationParms: parameters to be used.
Description:
This is for the query tag singulation algorithm parameters.
RFID_18K6C_INVENTORY_PARMS
Prototype:
public struct RFID_18K6C_INVENTORY_PARMS{
public UInt32 length; //= sizeof(RFID_18K6C_INVENTORY_PARMS);
public RFID_18K6C_COMMON_PARMS common;
};
Fields:
length: The length of the structure in bytes (=sizeof(RFID_18K6C_INVENTORY_PARMS)).
common: The ISO 18000-6C tag-protocol operation common parameters.
Copyright © Convergence Systems Limited, All Rights Reserved
114
CSL CS101-2 EPC CLASS 1 GEN 2 RFID HANDHELD READER
USER'S MANUAL, VERSION 1.0
Description:
This is the parameters for ISO 18000-6C 18K6CTagInventory operation.
RFID_18K6C_READ_PARMS
Prototype:
public struct RFID_18K6C_READ_PARMS{
public UInt32
length;
public RFID_18K6C_COMMON_PARMS common;
public RFID_18K6C_MEMORY_BANK bank;
public UInt16
offset;
public UInt16
count;
public UInt32
accessPassword;
};
Fields:
length: The length of the structure in bytes (=sizeof(RFID_18K6C_READ_PARMS)).
common: The ISO 18000-6C tag-protocol operation common parameters.
bank: The memmory bank to read from.
offset: The offset of the first 16-bit word to read.
count: The nubmer of 16-bit words to read.
If this value is zero and bank is RFID_18K6C_MEMORY_BANK_EPC, the read will return the
contents of the tag EPC memory starting at the 16-bit word specified by offset through the end of the
EPC.
If this value is zero and bank is not RFID_18K6C_MEMORY_BANK_EPC, the read will return,
for the chosen memory bank, data starting from the 16-bit word specified by offset to the end of the
memory bank.
accessPassword: The access password. A value of zero indicates no access password.
Description:
This is the parameters for ISO 18000-6C tag-read (18K6CTagRead) operation.
RFID_18K6C_WRITE_SEQUENTIAL_PARMS_T
Prototype:
public unsafe struct RFID_18K6C_WRITE_SEQUENTIAL_PARMS_T{
public UInt32
length; //= sizeof(RFID_18K6C_WRITE_SEQUENTIAL_PARMS);
public RFID_18K6C_MEMORY_BANK
bank;
public UInt16
count; //1-8
public UInt16
offset;
public fixed ushort
pData[8]; //fixed
};
Copyright © Convergence Systems Limited, All Rights Reserved
115
CSL CS101-2 EPC CLASS 1 GEN 2 RFID HANDHELD READER
USER'S MANUAL, VERSION 1.0
Fields:
length: The length of this structure (=sizeof(RFID_18K6C_WRITE_SEQUENTIAL_PARMS)).
bank:
The memory bank to write to.
count:
The number of 16-bit words that will be written.
Valid values are 1 to 8.
offset: The offset, in the memory bank, of the first 16-bit word to write.
pData[]: Array of values to write to the tag's memory bank.: .
Description:
This is the parameters for specifying the data for a sequential tag write.
RFID_18K6C_WRITE_RANDOM_PARMS_T
Prototype:
public unsafe struct RFID_18K6C_WRITE_RANDOM_PARMS_T {
public UInt32
length; //=
sizeof(RFID_18K6C_WRITE_RANDOM_PARMS) (typo);
public RFID_18K6C_MEMORY_BANK
bank;
public UInt16
count;
//1-8
public UInt16
reserved;//=0
public fixed ushort
pOffset[8]; //fixed
public fixed ushort
pData[8];
};
Fields:
length: The length of this structure (= sizeof(RFID_18K6C_WRITE_SEQUENTIAL_PARMS)).
bank:
The memory bank to write to.
count: The number of 16-bit words that will be written. Valid values are 1 to 8.
reserved: Reserved. Set to zero.
pOffset: Pointer to an array of 16-bit offsets in the tag's memory bank where the corresponding array
entry in pData will be written.
pData:
Pointer to an array of 16-bit values that will be written to the tag memory offset specified in
the corresponding array entry in pOffset.
Description:
This is the parameters for specifying the data for a random, single-memory-bank tag write.
RFID_18K6C_WRITE_PARMS_T
Prototype:
public struct RFID_18K6C_WRITE_PARMS_T{
public UInt32
length; //= sizeof(RFID_18K6C_WRITE_PARMS);
public RFID_18K6C_COMMON_PARMS common;
Copyright © Convergence Systems Limited, All Rights Reserved
116
CSL CS101-2 EPC CLASS 1 GEN 2 RFID HANDHELD READER
USER'S MANUAL, VERSION 1.0
public RFID_18K6C_WRITE_TYPE
writeType;
///
public UInt32
verify; //BOOL32 0 write-only; >0 w+r verify data
public UInt32
verifyRetryCount; //0-7
public UInt32
accessPassword;
public RFID_18K6C_WRITE_SEQUENTIAL_PARMS_T sequential;
public RFID_18K6C_WRITE_RANDOM_PARMS_T
random;
};
Fields:
length: The length of the structure in bytes (= sizeof(RFID_18K6C_WRITE_PARMS)).
common: The ISO 18000-6C tag-protocol operation common parameters.
writeType: The type of write.
verify: A flag to indicate if write should be verified by reading back the data written to the tag.
A non-zero value indicates that a verify should be performed.
verifyRetryCount: If verify is non-zero, this is the number of retries in the event of a verification failure.
Valid values are 0 to 7.
accessPassword: The access password. A value of zero indicates no access password.
sequential: random tag-write parameters.
random:
random tag-write parameters.
Description:
This is the parameter for ISO 18000-6C tag-write operation.
RFID_18K6C_KILL_PARMS
Prototype:
public struct RFID_18K6C_KILL_PARMS{
public UInt32
length; //= sizeof(RFID_18K6C_KILL_PARMS);
public RFID_18K6C_COMMON_PARMS common;
public UInt32
accessPassword;
public UInt32
killPassword;
};
Fields:
length: The length of the structure in bytes (=sizeof(RFID_18K6C_KILL_PARMS)).
common: The ISO 18000-6C tag-protocol operation common parameters.
accessPassword: The access password. A value of zero indicates no access password.
killPassword:
The kill password. Must not be zero.
Description:
This is the parameter for ISO 18000-6C tag-kill operation.
Copyright © Convergence Systems Limited, All Rights Reserved
117
CSL CS101-2 EPC CLASS 1 GEN 2 RFID HANDHELD READER
USER'S MANUAL, VERSION 1.0
RFID_18K6C_LOCK_PARMS
Prototype:
public struct RFID_18K6C_LOCK_PARMS{
public UInt32
length; //= sizeof(RFID_18K6C_LOCK_PARMS)
public RFID_18K6C_COMMON_PARMS common;
public RFID_18K6C_TAG_PERM
permissions;
public UInt32
accessPassword;
};
Fields:
length: The length of the structure in bytes (=(RFID_18K6C_LOCK_PARMS)).
common: The ISO 18000-6C tag-protocol operation common parameters.
permissions: The access permissions for the tag.
accessPassword: The access password. A value of zero indicates no access password.
Description:
This is the parameter for ISO 18000-6C tag-lock operation.
RFID_18K6C_TAG_PERM
Prototype:
public struct RFID_18K6C_TAG_PERM{
public RFID_18K6C_TAG_PWD_PERM killPasswordPermissions;
public RFID_18K6C_TAG_PWD_PERM accessPasswordPermissions;
public RFID_18K6C_TAG_MEM_PERM epcMemoryBankPermissions;
public RFID_18K6C_TAG_MEM_PERM tidMemoryBankPermissions;
public RFID_18K6C_TAG_MEM_PERM userMemoryBankPermissions;
};
Fields:
killPasswordPermissions:
Permissions for the tag's kill password
accessPasswordPermissions: Permissions for the tag's access password
epcMemoryBankPermissions: Permissions for the tag's EPC memory bank
tidMemoryBankPermissions: Permissions for the tag's TID memory bank
userMemoryBankPermissions: Permissions for the tag's user memory bank.
Description:
This is the permission values for performing an ISO18000-6C tag lock operation.
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
RfidMw_CmdCommon_T
Prototype:
}. Fields::Description:
Copyright © Convergence Systems Limited, All Rights Reserved
118
CSL CS101-2 EPC CLASS 1 GEN 2 RFID HANDHELD READER
USER'S MANUAL, VERSION 1.0
This is a structure used by RfidMw_Cmd_T.
RfidMw_Cmd_T
Prototype:
Fields:
: .
Description:
This is the Cmd structure to be used
in the further.
UINT96_T
Prototype:
public struct UINT96_T{
public UInt32 m_MSB;
public UInt32 m_CSB;
public UInt32 m_LSB;
};
Fields:
m_MSB: most significant QWord.
m_CSB: center significant QWord.
m_LSB: least significant QWord.
Description:
This is a structure used by PECRECORD_T.
e.g. if the 96 bits Gen2 EPC contains 0x30101234 56789012 12345678
then m_MSB
= 0x30101234;
m_CSB
= 0x56789012;
m_LSB
= 0x12345678;
PECRECORD_T
Prototype:
public struct PECRECORD_T{
public ushort m_seqnum;
public ushort m_Pc;
public UINT96_T m_Epc;
public ushort m_Crc;
public ushort m_Cnt;
public ushort m_Flg;
//Byte 0- 1 local time-sequence
// 2- 3
// 4-15
//16-17 optional ini 0x0000
//20-21 ini from Db
//valid states 0(00):exist 2(10):exist,Cnt_chg 3(11):new,Cnt_chg
Copyright © Convergence Systems Limited, All Rights Reserved
119
CSL CS101-2 EPC CLASS 1 GEN 2 RFID HANDHELD READER
USER'S MANUAL, VERSION 1.0
public ushort m_Rssi;
//22-23 ini 0x0000
public ushort m_AntCtrl; //24-25 ini 0x0000
}; ///26B
Fields:
m_seqnum: time-sequence number, local to RfidMw internal use only
m_Pc:
PC
m_Epc:
EPC
m_Crc:
optionally filled CRC, initialize 0x0000
m_Cnt:
Count
m_Flg:
currently, the valid states are:
0(00):exist
2(10):exist,Cnt_chg
3(11):new,Cnt_chg
m_Rssi:
unnormalized RSSI value
m_AntCtrl: unnormalized Antenna Control values, initialize as 0x0000
Description:
This PEC (PC-EPC-CRC & inventory data) record is used in the middleware data list.
C# App communicates (find, read, write) with RfidMw using this PEC record format.
Function Definitions:
f_RfidSpDll_Initialize
Prototype:
public static extern HRESULT_RFID f_RfidSpDll_Initialize(
IntPtr hWnd );
Parameters: (Inputs/ Outputs/ ReturnValue)
[in] IntPtr hWnd: handle of the Message Window of the C# Application.
Message:
None.
Description:
This initializes the RfidSp.
e.g. Create C++ threads.
f_RfidSpDll_Uninitialize
Prototype:
public static extern HRESULT_RFID f_RfidSpDll_Uninitialize();
Parameters:
Copyright © Convergence Systems Limited, All Rights Reserved
120
CSL CS101-2 EPC CLASS 1 GEN 2 RFID HANDHELD READER
USER'S MANUAL, VERSION 1.0
None.
Message:
None.
Description:
This uninitializes the RfidSp.
e.g. Un-initialize & Delete C++ threads.
f_RfidMw_Initialize
Prototype:
public static extern HRESULT_RFID f_RfidMw_Initialize();
Message:
None.
Description:
No operation. Reserved for further use.
f_RfidMw_Uninitialize
Prototype:
public static extern HRESULT_RFID f_RfidMw_Uninitialize();
Message:
None.
Description:
No operation. Reserved for further use.
f_RfidMw_PostCmd
Prototype:
public static extern HRESULT_RFID f_RfidMw_PostCmd(
ref RfidMw_Cmd_T sRfidMw_cmd ); .
Message:
None.
Description:
No operation. Reserved for further use.
f_RfidMw_TagInv_SetAllTaglist
Prototype:
public static extern HRESULT_RFID f_RfidMw_TagInv_SetAllTaglist(
UInt32 siz,
ref IntPtr parylist );
Copyright © Convergence Systems Limited, All Rights Reserved
121
CSL CS101-2 EPC CLASS 1 GEN 2 RFID HANDHELD READER
USER'S MANUAL, VERSION 1.0
Parameters:
[in] UInt32 siz:
[in] ref IntPtr parylist:
Message:
RFIDMW_REQEND_TYPE_MSGID_TagInv_SetAllTaglist notification.
Description:
This set multiple tags to the RfidMw in the format defined by RfidMw.
f_RfidMw_TagInv_AddATag
Prototype:
public static extern HRESULT_RFID f_RfidMw_TagInv_AddATag(
ref PECRECORD_T st_PecRec );
Parameters:
[in] ref PECRECORD_T st_PecRec:
Message:
RFIDMW_REQEND_TYPE_MSGID_TagInv_AddATag notification.
Description:
This adds a single tag to the RfidMw in the format defined by RfidMw.
f_RfidMw_TagInv_FindATag
Prototype:
public static extern HRESULT_RFID f_RfidMw_TagInv_FindATag(
ref PECRECORD_T st_PecRec);.
Parameters:
[in] ref PECRECORD_T st_PecRec: .
Message:
RFIDMW_REQEND_TYPE_MSGID_TagInv_FindATag notification.
Description:
This finds a tag in the RfidMw cached data list.
f_RfidMw_TagInv_ClearAllTaglist
Prototype:
public static extern HRESULT_RFID f_RfidMw_TagInv_ClearAllTaglist();
Parameters:
None.
Message:
RFIDMW_REQEND_TYPE_MSGID_TagInv_ClearAllTaglist notification.
Description:
Copyright © Convergence Systems Limited, All Rights Reserved
122
CSL CS101-2 EPC CLASS 1 GEN 2 RFID HANDHELD READER
USER'S MANUAL, VERSION 1.0
This empties the RfidMw cached data list.
f_RfidMw_TagInv_UpdateAllTaglistToFile
Prototype:
public static extern HRESULT_RFID f_RfidMw_TagInv_UpdateAllTaglistToFile();
Parameters:
None.
Message:
RFIDMW_REQEND_TYPE_MSGID_TagInv_UpdateAllTaglistToFile notification.
Description:
This writes all data in RfidMw to a text file.
f_RfidMw_TagInv_GetUpdateTaglist
Prototype:
public static extern HRESULT_RFID f_RfidMw_TagInv_GetUpdateTaglist( );
Parameters:
None.
Message:
RFIDMW_REQEND_TYPE_MSGID_TagInv_GetUpdateTaglist notification.
Description:
This gets only rows of updated tags from RfidMw.
f_RfidMw_TagInv_GetAllTaglist
Prototype:
public static extern HRESULT_RFID f_RfidMw_TagInv_GetAllTaglist( ).
Parameters:
None.
Message:
RFIDMW_REQEND_TYPE_MSGID_TagInv_ notification.
Description:
This gets all rows of tags from RfidMw.
f_RfidMw_TagInv_SetMsgMode
Prototype:
public static extern HRESULT_RFID f_RfidMw_TagInv_SetMsgMode( int mode );
Parameters:
[in] int mode: .
if mode == 0 all tags’ notifications are sent;
Copyright © Convergence Systems Limited, All Rights Reserved
123
CSL CS101-2 EPC CLASS 1 GEN 2 RFID HANDHELD READER
USER'S MANUAL, VERSION 1.0
if mode == 1, only the “1st read” of each tag is sent.
Message:
RFIDMW_REQEND_TYPE_MSGID_TagInv_ notification.
Description:
This is optional…
This sets the RfidMw into an message output mode, where only the 1st read tag data is sent to the C#
App. This reduces the number of messages & the amount of data to be processed by C#, in both normal
or compact response mode.
f_RfidMw_TagInv_PecRssiMin_Set
Prototype:
public static extern HRESULT_RFID f_RfidMw_TagInv_PecRssiMin_Set ( ref UInt16 val );
Parameters:
[in] ref UInt16 val:
Message:
RFIDMW_REQEND_TYPE_MSGID_TagInv_ notification.
Description:
This sets the Rssi Threshold of the RfidMw module;
Tag data is not added to the cached data-list if its Rssi element is below threshold.
f_RfidMw_TagInv_PecRssiMin_Get
Prototype:
public static extern HRESULT_RFID f_RfidMw_TagInv_PecRssiMin_Get ( ref UInt16 val );
Parameters:
[out] ref UInt16 val:
Message:
RFIDMW_REQEND_TYPE_MSGID_TagInv_ notification.
Description:
This gets the Rssi Threshold of the RfidMw module.
f_RfidMw_TagInv_PecAntCtrlMin_Set
Prototype:
public static extern HRESULT_RFID f_RfidMw_TagInv_PecAntCtrlMin_Set( ref UInt16 val );
Parameters:
[in] ref UInt16 val: .
Message:
RFIDMW_REQEND_TYPE_MSGID_TagInv_ notification.
Description:
Copyright © Convergence Systems Limited, All Rights Reserved
124
CSL CS101-2 EPC CLASS 1 GEN 2 RFID HANDHELD READER
USER'S MANUAL, VERSION 1.0
This sets the AntCtrl Threshold of the RfidMw module;
Tag data is not added to the cached data-list if its AntCtrl element is below threshold.
f_RfidMw_TagInv_PecAntCtrlMin_Get
Prototype:
public static extern HRESULT_RFID f_RfidMw_TagInv_PecAntCtrlMin_Get( ref UInt16 val );.
Parameters:
[out] ref UInt16 val: .
Message:
RFIDMW_REQEND_TYPE_MSGID_TagInv_ notification.
Description:
This gets the AntCtrl Threshold of the RfidMw module.
f_RfidDev_Initialize
Prototype:
public static extern HRESULT_RFID f_RfidDev_Initialize();
Description:
No operation. Reserved for further use.
f_RfidDev_Uninitialize
Prototype:
public static extern HRESULT_RFID f_RfidDev_Uninitialize();
Description:
No operation. Reserved for further use.
f_RfidDev_Startup
Prototype:
public static extern HRESULT_RFID f_RfidDev_Startup(
ref RFID_Startup_T st_RfidSpReq_Startup );
Parameters:
[in] ref RFID_Startup_T st_RfidSpReq_Startup: .
Message:
RFID_REQEND_TYPE_MSGID_Startup notification.
Description:
This initializes the Rfid Library.
f_RfidDev_Shutdown
Copyright © Convergence Systems Limited, All Rights Reserved
125
CSL CS101-2 EPC CLASS 1 GEN 2 RFID HANDHELD READER
USER'S MANUAL, VERSION 1.0
Prototype:
public static extern HRESULT_RFID f_RfidDev_Shutdown(
ref RFID_Shutdown_T st_RfidSpReq_Shutdown );
Parameters:
[in] ref RFID_Shutdown_T st_RfidSpReq_Shutdown: .
Message:
RFID_REQEND_TYPE_MSGID_Shutdown notification.
Description:
This shuts down the Rfid Library.
This also cleans up all resources including closing all open radio handles and returning radios to idle.
f_RfidDev_RetrieveAttachedRadiosList
Prototype:
public static extern HRESULT_RFID f_RfidDev_RetrieveAttachedRadiosList(
ref RFID_RetrieveAttachedRadiosList_T st_RfidSpReq_RetrieveAttachedRadiosList );
Parameters:
[out] ref RFID_RetrieveAttachedRadiosList_T st_RfidSpReq_RetrieveAttachedRadiosList: .
Message:
RFID_REQEND_TYPE_MSGID_RetrieveAttachedRadiosList notification.
Description:
Retrieves the list of radio modules attached to the system.
If succeeded, application can open the Radio Object then.
f_RfidDev_RadioOpen
Prototype:
public static extern HRESULT_RFID f_RfidDev_RadioOpen(
ref RFID_RadioOpen_T st_RfidSpReq_RadioOpen );
Parameters:
[out] ref RFID_RadioOpen_T st_RfidSpReq_RadioOpen: .
Message:
RFID_REQEND_TYPE_MSGID_RadioOpen notification.
Description:
This requests explicit control of a radio. The following function calls will use the return rfid_handle the
access the radio object.
f_RfidDev_RadioClose
Prototype:
public static extern HRESULT_RFID f_RfidDev_RadioClose(
Copyright © Convergence Systems Limited, All Rights Reserved
126
CSL CS101-2 EPC CLASS 1 GEN 2 RFID HANDHELD READER
USER'S MANUAL, VERSION 1.0
ref RFID_RadioClose_T st_RfidSpReq_RadioClose );
Parameters:
[in] ref RFID_RadioClose_T st_RfidSpReq_RadioClose.
Message:
RFID_REQEND_TYPE_MSGID_RadioClose notification.
Description:
This releases the rfid_handle, thus also releasing the radio object of the opened radio.
On close, any executing or outstanding requests are cancelled and the radio is returned to idle.
f_RfidDev_RadioSetConfigurationParameter
Prototype:
public static extern HRESULT_RFID f_RfidDev_RadioSetConfigurationParameter(
ref RFID_RadioGetSetConfigurationParameter_T st_RfidSpReq_RadioSetConfigurationParameter );.
Parameters:
[in] ref RFID_RadioGetSetConfigurationParameter_T
st_RfidSpReq_RadioSetConfigurationParameter: .
Message:
RFID_REQEND_TYPE_MSGID_RadioSetConfigurationParameter notification.
Description:
This sets the low-level configuration parameter of the radio.
f_RfidDev_RadioGetConfigurationParameter
Prototype:
public static extern HRESULT_RFID f_RfidDev_RadioGetConfigurationParameter(
ref RFID_RadioGetSetConfigurationParameter_T st_RfidSpReq_RadioGetConfigurationParameter );.
Parameters:
[out] ref RFID_RadioGetSetConfigurationParameter_T
st_RfidSpReq_RadioGetConfigurationParameter: .
Message:
RFID_REQEND_TYPE_MSGID_RadioGetConfigurationParameter notification.
Description:
This gets the low-level configuration parameter of the radio.
f_RfidDev_RadioSetOperationMode
Prototype:
public static extern HRESULT_RFID f_RfidDev_RadioSetOperationMode(
ref RFID_RadioGetSetOperationMode_T
st_RfidSpReq_RadioSetOperationMode );
Parameters:
Copyright © Convergence Systems Limited, All Rights Reserved
127
CSL CS101-2 EPC CLASS 1 GEN 2 RFID HANDHELD READER
USER'S MANUAL, VERSION 1.0
[in] ref RFID_RadioGetSetOperationMode_T st_RfidSpReq_RadioSetOperationMode: .
Message:
RFID_REQEND_TYPE_MSGID_RadioSetOperationMode notification.
Description:
f_RfidDev_RadioGetOperationMode
Prototype:
public static extern HRESULT_RFID f_RfidDev_RadioGetOperationMode(
ref RFID_RadioGetSetOperationMode_T st_RfidSpReq_RadioGetOperationMode );.
Parameters:
[out] ref RFID_RadioGetSetOperationMode_T st_RfidSpReq_RadioGetOperationMode: .
Message:
RFID_REQEND_TYPE_MSGID_RadioGetOperationMode notification.
Description:
This sets the radio's operation mode.
The operation mode will remain in effect until it is explicitly changed via
RFID_RadioSetOperationMode.
f_RfidDev_RadioSetPowerState
Prototype:
public static extern HRESULT_RFID f_RfidDev_RadioSetPowerState(
ref RFID_RadioGetSetPowerState_T st_RfidSpReq_RadioSetPowerState );
Parameters:
[in] : .
Message:
RFID_REQEND_TYPE_MSGID_ RadioSetPowerState notification.
Description:
f_RfidDev_RadioGetPowerState
Prototype:
public static extern HRESULT_RFID f_RfidDev_RadioGetPowerState(
ref RFID_RadioGetSetPowerState_T st_RfidSpReq_RadioGetPowerState );.
Parameters:
[out] : .
Message:
RFID_REQEND_TYPE_MSGID_RadioGetPowerState notification.
Copyright © Convergence Systems Limited, All Rights Reserved
128
CSL CS101-2 EPC CLASS 1 GEN 2 RFID HANDHELD READER
USER'S MANUAL, VERSION 1.0
Description:
This retrieves the radio's power state (not the antenna RF power.).
f_RfidDev_RadioSetCurrentLinkProfile
Prototype:
public static extern HRESULT_RFID f_RfidDev_RadioSetCurrentLinkProfile(
ref RFID_RadioGetSetCurrentLinkProfile_T st_RfidSpReq_RadioSetCurrentLinkProfile );
Parameters:
[out] ref RFID_RadioGetSetCurrentLinkProfile_T st_RfidSpReq_RadioSetCurrentLinkProfile:.
Message:
RFID_REQEND_TYPE_MSGID_RadioSetCurrentLinkProfile notification.
Description:
This sets the current link profile for the radio module.
f_RfidDev_RadioGetCurrentLinkProfile
Prototype:
public static extern HRESULT_RFID f_RfidDev_RadioGetCurrentLinkProfile(
ref RFID_RadioGetSetCurrentLinkProfile_T st_RfidSpReq_RadioGetCurrentLinkProfile );
Parameters:
[out] ref RFID_RadioGetSetCurrentLinkProfile_T st_RfidSpReq_RadioGetCurrentLinkProfile:.
Message:
RFID_REQEND_TYPE_MSGID_RadioGetCurrentLinkProfile notification.
Description:
This gets the current link profile for the radio module.
f_RfidDev_RadioGetLinkProfile
Prototype:
public static extern HRESULT_RFID f_RfidDev_RadioGetLinkProfile(
ref RFID_RadioGetLinkProfile_T
st_RfidSpReq_RadioGetLinkProfile );
Parameters:
[out] ref RFID_RadioGetLinkProfile_T st_RfidSpReq_RadioGetLinkProfile:
Message:
RFID_REQEND_TYPE_MSGID_RadioGetLinkProfile notification.
Description:
This retrieves the information for the specified link profile for the radio.
f_RfidDev_RadioWriteLinkProfileRegister
Prototype:
Copyright © Convergence Systems Limited, All Rights Reserved
129
CSL CS101-2 EPC CLASS 1 GEN 2 RFID HANDHELD READER
USER'S MANUAL, VERSION 1.0
public static extern HRESULT_RFID f_RfidDev_RadioWriteLinkProfileRegister(
ref RFID_RadioReadWriteLinkProfileRegister_T
st_RfidSpReq_RadioWriteLinkProfileRegister );
Parameters:
[out] ref RFID_RadioReadWriteLinkProfileRegister_Tst_RfidSpReq_RadioWriteLinkProfileRegister:
Message:
RFID_REQEND_TYPE_MSGID_RadioWriteLinkProfileRegister notification.
Description:
This writes a value to a link-profile register for the specified link profile.
f_RfidDev_RFID_RadioReadLinkProfileRegister
Prototype:
public static extern HRESULT_RFID f_RfidDev_RadioReadLinkProfileRegister(
ref RFID_RadioReadWriteLinkProfileRegister_T
st_RfidSpReq_RadioReadLinkProfileRegister );
Parameters:
[out] ref RFID_RadioReadWriteLinkProfileRegister_T st_RfidSpReq_RadioReadLinkProfileRegister:
Message:
RFID_REQEND_TYPE_MSGID_RadioReadLinkProfileRegister notification.
Description:
This retrieves the contents of a link-profile register for the specified link profile.
f_RfidDev_AntennaPortGetStatus
Prototype:
public static extern HRESULT_RFID f_RfidDev_AntennaPortGetStatus(
ref RFID_AntennaPortGetStatus_T st_RfidSpReq_AntennaPortGetStatus);
Parameters:
[out] ref RFID_AntennaPortGetStatus_T st_RfidSpReq_AntennaPortGetStatus:
Message:
RFID_REQEND_TYPE_MSGID_AntennaPortGetStatus notification.
Description:
This retrieves the status of a radio module's antenna port.
f_RfidDev_AntennaPortSetState
Prototype:
public static extern HRESULT_RFID f_RfidDev_AntennaPortSetState(
ref RFID_AntennaPortSetState_T st_RfidSpReq_AntennaPortSetState);
Parameters:
Copyright © Convergence Systems Limited, All Rights Reserved
130
CSL CS101-2 EPC CLASS 1 GEN 2 RFID HANDHELD READER
USER'S MANUAL, VERSION 1.0
[in] ref RFID_AntennaPortSetState_T st_RfidSpReq_AntennaPortSetState:.
Message:
RFID_REQEND_TYPE_MSGID_AntennaPortSetState notification.
Description:
This sets the state (ON/OFF) of a radio’s antenna port.
f_RfidDev_AntennaPortSetConfiguration
Prototype:
public static extern HRESULT_RFID f_RfidDev_AntennaPortSetConfiguration(
ref RFID_AntennaPortGetSetConfiguration_T st_RfidSpReq_AntennaPortSetConfiguration);
Parameters:
[in] ref RFID_AntennaPortGetSetConfiguration_T st_RfidSpReq_AntennaPortSetConfiguration:.
Message:
RFID_REQEND_TYPE_MSGID_AntennaPortSetConfiguration notification.
Description:
This sets the configuration for a radio’s antenna port.
f_RfidDev_AntennaPortGetConfiguration
Prototype:
public static extern HRESULT_RFID f_RfidDev_AntennaPortGetConfiguration(
ref RFID_AntennaPortGetSetConfiguration_T st_RfidSpReq_AntennaPortGetConfiguration);
Parameters:
[out] ref RFID_AntennaPortGetSetConfiguration_T st_RfidSpReq_AntennaPortGetConfiguration:.
Message:
RFID_REQEND_TYPE_MSGID_AntennaPortGetConfiguration notification.
Description:
This retrieves the configuration for a radio's antenna port.
f_RfidDev_18K6CSetSelectCriteria01
Prototype:
public static extern HRESULT_RFID f_RfidDev_18K6CSetSelectCriteria01(
ref RFID_18K6CSetSelectCriteria__T st_RfidSpReq_18K6CSetSelectCriteria,
ref RFID_18K6C_SELECT_CRITERION criteria01 );.
Parameters:
[in] ref RFID_18K6CSetSelectCriteria__T st_RfidSpReq_18K6CSetSelectCriteria: .
[in] ref RFID_18K6C_SELECT_CRITERION criteria01: .
Message:
RFID_REQEND_TYPE_MSGID_18K6CSetSelectCriteria notification.
Copyright © Convergence Systems Limited, All Rights Reserved
131
CSL CS101-2 EPC CLASS 1 GEN 2 RFID HANDHELD READER
USER'S MANUAL, VERSION 1.0
Description:
This configures the tag-selection criteria for the ISO 18000-6C select command.
The supplied tag-selection criteria will be used for any tag-protocol operations in which the application
specifies that an ISO 18000-6C select command should be issued prior to executing the tag-protocol
operation.
The tag-selection criteria will stay in effect until the next call to RFID_18K6CSetSelectCriteria.
f_RfidDev_18K6CGetSelectCriteria01
Prototype:
public static extern HRESULT_RFID f_RfidDev_18K6CGetSelectCriteria01(
ref RFID_18K6CGetSelectCriteria__T st_RfidSpReq_18K6CGetSelectCriteria,
ref RFID_18K6C_SELECT_CRITERION criteria01 );
Parameters:
[out] ref RFID_18K6CGetSelectCriteria__T st_RfidSpReq_18K6CGetSelectCriteria: .
[out] ref RFID_18K6C_SELECT_CRITERION criteria01: .
Message:
RFID_REQEND_TYPE_MSGID _18K6CGetSelectCriteria notification.
Description:
This retrieves the configured tag-selection criteria for the ISO 18000-6C select command.
f_RfidDev_18K6CSetPostMatchCriteria01
Prototype:
public static extern HRESULT_RFID f_RfidDev_18K6CSetPostMatchCriteria01(
ref RFID_18K6CSetPostMatchCriteria__T st_RfidSpReq_18K6CSetPostMatchCriteria,
ref RFID_18K6C_SINGULATION_CRITERION criteria01 );
Parameters:
[in] ref RFID_18K6CSetPostMatchCriteria__T st_RfidSpReq_18K6CSetPostMatchCriteria: .
[in] ref RFID_18K6C_SINGULATION_CRITERION criteria01: .
Message:
RFID_REQEND_TYPE_MSGID_18K6CSetPostMatchCriteria notification.
Description:
This configures the post-singulation match criteria to be used by the radio.
The supplied post-singulation match criteria will be used for any tag-protocol operations in
which the application specifies that a post-singulation match should be performed on the tags that are
singulated by the tag-protocol operation.
The post-singulation match criteria will stay in effect until the next call to
RFID_18K6CSetPostMatchCriteria.
Copyright © Convergence Systems Limited, All Rights Reserved
132
CSL CS101-2 EPC CLASS 1 GEN 2 RFID HANDHELD READER
USER'S MANUAL, VERSION 1.0
f_RfidDev_18K6CGetPostMatchCriteria01
Prototype:
public static extern HRESULT_RFID f_RfidDev_18K6CGetPostMatchCriteria01(
ref RFID_18K6CGetPostMatchCriteria__T st_RfidSpReq_18K6CGetPostMatchCriteria,
ref RFID_18K6C_SINGULATION_CRITERION criteria01 );.
Parameters:
[out] ref RFID_18K6CGetPostMatchCriteria__T st_RfidSpReq_18K6CGetPostMatchCriteria: .
[out] ref RFID_18K6C_SINGULATION_CRITERION criteria01: .
Message:
RFID_REQEND_TYPE_MSGID_18K6CGetPostMatchCriteria notification.
Description:
This Retrieves the configured post-singulation match criteria.
f_RfidDev_18K6CSetQueryTagGroup
Prototype:
public static extern HRESULT_RFID f_RfidDev_18K6CSetQueryTagGroup (
ref RFID_18K6CGetSetQueryTagGroup_T st_RfidSpReq_18K6CSetQueryTagGroup );
Parameters:
[in] ref RFID_18K6CGetSetQueryTagGroup_T st_RfidSpReq_18K6CSetQueryTagGroup: .
Message:
RFID_REQEND_TYPE_MSGID_18K6CSetQueryTagGroup notification.
Description:
This specifies which tag group will have subsequent tag-protocol operations applied to it.
f_RfidDev_18K6CGetQueryTagGroup
Prototype:
public static extern HRESULT_RFID f_RfidDev_18K6CGetQueryTagGroup (
ref RFID_18K6CGetSetQueryTagGroup_T st_RfidSpReq_18K6CGetQueryTagGroup );
Parameters:
[out] ref RFID_18K6CGetSetQueryTagGroup _T st_RfidSpReq_18K6CGetQueryTagGroup: .
Message:
RFID_REQEND_TYPE_MSGID_18K6CGetQueryTagGroup notification.
Description:
This retrieves the tag group that will have subsequent tag-protocol operations applied to it.
f_RfidDev_18K6CSetCurrentSingulationAlgorithm
Prototype:
Copyright © Convergence Systems Limited, All Rights Reserved
133
CSL CS101-2 EPC CLASS 1 GEN 2 RFID HANDHELD READER
USER'S MANUAL, VERSION 1.0
public static extern HRESULT_RFID f_RfidDev_18K6CSetCurrentSingulationAlgorithm (
ref RFID_18K6CGetSetCurrentSingulationAlgorithm_T
st_RfidSpReq_18K6CSetCurrentSingulationAlgorithm );
Parameters:
[in] ref RFID_18K6CGetSetCurrentSingulationAlgorithm_T
st_RfidSpReq_18K6CSetCurrentSingulationAlgorithm: .
Message:
RFID_REQEND_TYPE_MSGID_18K6CSetCurrentSingulationAlgorithm notification.
Description:
This sets the currently-active singulation algorithm (= the algorithm that is used when performing a
tag-protocol operation).
f_RfidDev_18K6CGetCurrentSingulationAlgorithm
Prototype:
public static extern HRESULT_RFID f_RfidDev_18K6CGetCurrentSingulationAlgorithm (
ref RFID_18K6CGetSetCurrentSingulationAlgorithm_T
st_RfidSpReq_18K6CGetCurrentSingulationAlgorithm);
Parameters:
[out] ref RFID_18K6CGetSetCurrentSingulationAlgorithm_T
st_RfidSpReq_18K6CGetCurrentSingulationAlgorithm: .
Message:
RFID_REQEND_TYPE_MSGID_18K6CGetCurrentSingulationAlgorithm notification.
Description:
This retrieves the currently-active singulation algorithm.
f_RfidDev_18K6CSetSingulationAlgorithmParameters
Prototype:
public static extern HRESULT_RFID f_RfidDev_18K6CSetSingulationAlgorithmParameters(
ref RFID_18K6CGetSetSingulationAlgorithmParameters_T
st_RfidSpReq_18K6CSetSingulationAlgorithmParameters);
Parameters:
[in] ref RFID_18K6CGetSetSingulationAlgorithmParameters_T
st_RfidSpReq_18K6CSetSingulationAlgorithmParameters: .
Message:
RFID_REQEND_TYPE_MSGID_18K6CSetSingulationAlgorithmParameters notification.
Description:
This configures the settings for a particular singulation algorithm.
Please notice that: configuring a singulation algorithm does not automatically set it as the current
Copyright © Convergence Systems Limited, All Rights Reserved
134
CSL CS101-2 EPC CLASS 1 GEN 2 RFID HANDHELD READER
USER'S MANUAL, VERSION 1.0
singulation algorithm.
f_RfidDev_18K6CGetSingulationAlgorithmParameters
Prototype:
public static extern HRESULT_RFID f_RfidDev_18K6CGetSingulationAlgorithmParameters (
ref RFID_18K6CGetSetSingulationAlgorithmParameters_T
st_RfidSpReq_18K6CGetSingulationAlgorithmParameters);
Parameters:
[out] ref RFID_18K6CGetSetSingulationAlgorithmParameters_T
st_RfidSpReq_18K6CGetSingulationAlgorithmParameters: .
Message:
RFID_REQEND_TYPE_MSGID_18K6CGetSingulationAlgorithmParameters notification.
Description:
This retrieves the settings for a particular singulation algorithm.
f_RfidDev_18K6CSetQueryParameters
Prototype:
public static extern HRESULT_RFID f_RfidDev_18K6CSetQueryParameters(
ref RFID_18K6CSetQueryParameters_T st_RfidSpReq_18K6CSetQueryParameters);
Parameters:
[in] ref RFID_18K6CSetQueryParameters_T st_RfidSpReq_18K6CSetQueryParameters: .
Message:
RFID_REQEND_TYPE_MSGID_18K6CSetQueryParameters notification.
Description:
This configures the parameters for the ISO 18000-6C query command.
Failure to call this prior to executing the first tag-protocol operation will result in the RFID radio module
using default values.
Currently, this has been deprecated and replaced by the combination of
RFID_18K6CGetQueryTagGroup, RFID_18K6CSetCurrentSingulationAlgorithm, and
RFID_18K6CSetSingulationAlgorithmParameters.
This remains for backwards compatibility only; code should not use it as this function.
f_RfidDev_18K6CGetQueryParameters
Prototype:
public static extern HRESULT_RFID f_RfidDev_18K6CGetQueryParameters (
ref RFID_18K6CGetQueryParameters_T st_RfidSpReq_18K6CGetQueryParameters);
Parameters:
[out] ref RFID_18K6CGetQueryParameters_T st_RfidSpReq_18K6CGetQueryParameters: .
Copyright © Convergence Systems Limited, All Rights Reserved
135
CSL CS101-2 EPC CLASS 1 GEN 2 RFID HANDHELD READER
USER'S MANUAL, VERSION 1.0
Message:
RFID_REQEND_TYPE_MSGID_18K6CGetQueryParameters notification.
Description:
This retrieves the query parameters for the ISO 18000-6C query command.
The query parameters may not be retrieved while a radio module is executing a tag-protocol operation.
Currently, this has been deprecated and replaced by the combination of
RFID_18K6CGetQueryTagGroup, RFID_18K6CGetCurrentSingulationAlgorithm, and
RFID_18K6CGetSingulationAlgorithmParameters.
This remains for backwards compatibility only; code should not use it as this function.
f_RfidDev_18K6CTagInventory
Prototype:
public static extern HRESULT_RFID f_RfidDev_18K6CTagInventory(
ref RFID_18K6CTagInventory_T st_RfidSpReq_18K6CTagInventory);
Parameters:
[in] ref RFID_18K6CTagInventory_T st_RfidSpReq_18K6CTagInventory: .
Message:
RFIDMW_REQEND_TYPE_MSGID_18K6CTagInventory notification.
Description:
This executes a tag inventory for the tags of interest.
If the RFID_FLAG_PERFORM_SELECT flag is specified, the tag population is partitioned (i.e., ISO
18000-6C select) prior to the inventory operation.
If the RFID_FLAG_PERFORM_POST_MATCH flag is specified, the post-singulation match mask is
applied to a singulated tag's EPC to determine if the tag will be returned to the application.
An application may prematurely stop an inventory operation by calling
RFID_Radio{Cancel|Abort}Operation on another thread or by returning a non-zero value from the
callback function..
f_RfidDev_18K6CTagRead
Prototype:
public static extern HRESULT_RFID f_RfidDev_18K6CTagRead(
ref RFID_18K6CTagRead_T st_RfidSpReq_18K6CTagRead);
Parameters:
[in] ref RFID_18K6CTagRead_T st_RfidSpReq_18K6CTagRead: .
Message:
RFIDMW_REQEND_TYPE_MSGID_18K6CTagRead notification.
Description:
This executes a tag read for the tags of interest.
Copyright © Convergence Systems Limited, All Rights Reserved
136
CSL CS101-2 EPC CLASS 1 GEN 2 RFID HANDHELD READER
USER'S MANUAL, VERSION 1.0
If the RFID_FLAG_PERFORM_SELECT flag is specified, the tag population is
partitioned (i.e., ISO 18000-6C select) prior to the tag-read operation.
If the RFID_FLAG_PERFORM_POST_MATCH flag is specified, the post-singulation match mask is
applied to a singulated tag's EPC to determine if the tag will be read from.
Reads may only be performed on 16-bit word boundaries and for multiples of 16-bit words.
If one or more of the memory words specified by the offset/count combination do not exist or are
read-locked, the read from the tag will fail and this failure will be reported through the operation
response packet.
The operation-response packets will be returned to the application via the application-supplied callback
function.
Each tag-read record is grouped with its corresponding tag inventory record.
An application may prematurely stop a read operation by calling RFID_Radio{Cancel|Abort}
Operation.
f_RfidDev_18K6CTagWrite
Prototype:
public static extern HRESULT_RFID f_RfidDev_18K6CTagWrite(
ref RFID_18K6CTagWrite_T st_RfidSpReq_18K6CTagWrite);
Parameters:
[in] ref RFID_18K6CTagWrite_T st_RfidSpReq_18K6CTagWrite: .
Message:
RFIDMW_REQEND_TYPE_MSGID_18K6CTagWrite notification.
Description:
This executes a tag write for the tags of interest.
f_RfidDev_18K6CTagKill
Prototype:
public static extern HRESULT_RFID f_RfidDev_18K6CTagKill(
ref RFID_18K6CTagKill_T st_RfidSpReq_18K6CTagKill);
Parameters:
[in] ref RFID_18K6CTagKill_T st_RfidSpReq_18K6CTagKill: .
Message:
RFIDMW_REQEND_TYPE_MSGID_18K6CTagKill notification.
Description:
This executes a tag kill for the tags of interest.
f_RfidDev_18K6CTagLock
Prototype:
Copyright © Convergence Systems Limited, All Rights Reserved
137
CSL CS101-2 EPC CLASS 1 GEN 2 RFID HANDHELD READER
USER'S MANUAL, VERSION 1.0
public static extern HRESULT_RFID f_RfidDev_18K6CTagLock(
ref RFID_18K6CTagLock_T st_RfidSpReq_18K6CTagLock);
Parameters:
[in] ref RFID_18K6CTagLock_T st_RfidSpReq_18K6CTagLock: .
Message:
RFIDMW_REQEND_TYPE_MSGID_18K6CTagLock notification.
Description:
This executes a tag lock for the tags of interest.
f_RfidDev_RadioSetResponseDataMode
Prototype:
public static extern HRESULT_RFID f_RfidDev_RadioSetResponseDataMode(
ref RFID_RadioGetSetResponseDataMode_T st_RfidSpReq_RadioSetResponseDataMode);
Parameters:
[in] ref RFID_RadioGetSetResponseDataMode_T st_RfidSpReq_RadioSetResponseDataMode: .
Message:
RFIDMW_REQEND_TYPE_MSGID_RadioSetResponseDataMode notification.
Description:
This sets the operation response data reporting mode for tag-protocol operations. The
reporting mode will remain in effect until a subsequent call to
RFID_RadioSetResponseDataMode.
The mode may not be changed while the radio is executing a tag-protocol operation..
f_RfidDev_RadioGetResponseDataMode
Prototype:
public static extern HRESULT_RFID f_RfidDev_RadioGetResponseDataMode(
ref RFID_RadioGetSetResponseDataMode_T st_RfidSpReq_RadioGetResponseDataMode);
Parameters:
[out] ref RFID_RadioGetSetResponseDataMode_T st_RfidSpReq_RadioGetResponseDataMode:..
Message:
RFIDMW_REQEND_TYPE_MSGID_RadioGetResponseDataMode notification.
Description:
This retrieves the operation response data reporting mode.
f_RfidDev_MacGetVersion
Prototype:
public static extern HRESULT_RFID f_RfidDev_MacGetVersion(
Copyright © Convergence Systems Limited, All Rights Reserved
138
CSL CS101-2 EPC CLASS 1 GEN 2 RFID HANDHELD READER
USER'S MANUAL, VERSION 1.0
ref RFID_MacGetVersion_T st_RfidSpReq_MacGetVersion);;
Parameters:
[in] ref RFID_MacGetVersion_T st_RfidSpReq_MacGetVersion: .
Message:
RFIDMW_REQEND_TYPE_MSGID_MacGetVersion notification.
Description:
This gets the version of the MAC.
f_RfidDev_MacReadOemData
Prototype:
public static extern HRESULT_RFID f_RfidDev_MacReadOemData(
ref RFID_MacReadWriteOemData_T st_RfidSpReq_MacReadOemData);
Parameters:
[in] ref RFID_MacReadWriteOemData_T st_RfidSpReq_MacReadOemData: .
Message:
RFIDMW_REQEND_TYPE_MSGID_MacReadOemData notification.
Description:
This reads one or more 32-bit words from the MAC's OEM configuration data.
f_RfidDev_MacWriteOemData
Prototype:
public static extern HRESULT_RFID f_RfidDev_MacWriteOemData(
ref RFID_MacReadWriteOemData_T st_RfidSpReq_MacWriteOemData);
Parameters:
[out] ref RFID_MacReadWriteOemData_T st_RfidSpReq_MacWriteOemData: .
Message:
RFIDMW_REQEND_TYPE_MSGID_MacWriteOemData notification.
Description:
This writes one or more 32-bit words to the MAC's OEM configuration data.
f_RfidDev_MacReset
Prototype:
public static extern HRESULT_RFID f_RfidDev_MacReset(
ref RFID_MacReset_T st_RfidSpReq_MacReset);
Parameters:
[in] ref RFID_MacReset_T st_RfidSpReq_MacReset.
Message:
RFIDMW_REQEND_TYPE_MSGID_MacReset notification.
Copyright © Convergence Systems Limited, All Rights Reserved
139
CSL CS101-2 EPC CLASS 1 GEN 2 RFID HANDHELD READER
USER'S MANUAL, VERSION 1.0
Description:
This instructs the radio module's MAC firmware to perform the specified reset.
Any currently executing tag-protocol operations will be aborted, any unconsumed data will be discarded,
and tag-protocol operation functions will return immediately with an
RFID_ERROR_OPERATION_CANCELLED error.
Upon reset, the connection to the radio module is lost and the handle to the radio is invalid.
To obtain control of the radio module after it has been reset, the application must re-enumerate the radio
modules, via RFID_RetrieveAttachedRadiosList, and request control via RFID_RadioOpen..
f_RfidDev_MacClearError
Prototype:
public static extern HRESULT_RFID f_RfidDev_MacClearError(
ref RFID_MacClearError_T st_RfidSpReq_MacClearError);
Parameters:
[in] ref RFID_MacClearError_T st_RfidSpReq_MacClearError: .
Message:
RFID_REQEND_TYPE_MSGID_MacClearError notification.
Description:
This attempts to clear the error state for the radio module’s MAC firmware.
f_RfidDev_MacBypassWriteRegister
Prototype:
public static extern HRESULT_RFID f_RfidDev_MacBypassWriteRegister(
ref RFID_MacBypassReadWriteRegister_T st_RfidSpReq_MacBypassWriteRegister);
Parameters:
[in] ref RFID_MacBypassReadWriteRegister_T st_RfidSpReq_MacBypassWriteRegister.
Message:
RFID_REQEND_TYPE_MSGID_MacBypassWriteRegister notification.
Description:
This allows for direct writing of registers on the radio (i.e. bypassing the MAC & take effect at the RF
Front end immediately ).
f_RfidDev_MacBypassReadRegister
Prototype:
public static extern HRESULT_RFID f_RfidDev_MacBypassReadRegister(
ref RFID_MacBypassReadWriteRegister_T st_RfidSpReq_MacBypassReadRegister);
Parameters:
[out] ref RFID_MacBypassReadWriteRegister_T st_RfidSpReq_MacBypassReadRegister.
Copyright © Convergence Systems Limited, All Rights Reserved
140
CSL CS101-2 EPC CLASS 1 GEN 2 RFID HANDHELD READER
USER'S MANUAL, VERSION 1.0
Message:
RFID_REQEND_TYPE_MSGID_MacBypassReadRegister notification.
Description:
This allows for direct reading of registers.
f_RfidDev_MacSetRegion
Prototype:
public static extern HRESULT_RFID f_RfidDev_MacSetRegion(
ref RFID_MacGetSetRegion_T st_RfidSpReq_MacSetRegion);
Parameters:
[in] ref RFID_MacGetSetRegion_T st_RfidSpReq_MacSetRegion: .
Message:
RFID_REQEND_TYPE_MSGID_MacSetRegion notification.
Description:
This sets the regulatory mode region for the MAC's operation.
f_RfidDev_MacGetRegion
Prototype:
public static extern HRESULT_RFID f_RfidDev_MacGetRegion(
ref RFID_MacGetSetRegion_T st_RfidSpReq_MacGetRegion);
Parameters:
[out] ref RFID_MacGetSetRegion_T st_RfidSpReq_MacGetRegion: .
Message:
RFID_REQEND_TYPE_MSGID_MacGetRegion notification.
Description:
This gets the regulatory mode region for the MAC's operation.
f_RfidDev_RadioSetGpioPinsConfiguration
Prototype:
public static extern HRESULT_RFID f_RfidDev_RadioSetGpioPinsConfiguration(
ref RFID_RadioSetGpioPinsConfiguration_T st_RfidSpReq_RadioSetGpioPinsConfiguration);
Parameters:
[in] ref RFID_RadioSetGpioPinsConfiguration_T st_RfidSpReq_RadioSetGpioPinsConfiguration: .
Message:
RFID_REQEND_TYPE_MSGID_RadioSetGpioPinsConfiguration notification.
Description:
This configures the specified radio module's GPIO pins. GPIO pins 0-3 are valid..
Copyright © Convergence Systems Limited, All Rights Reserved
141
CSL CS101-2 EPC CLASS 1 GEN 2 RFID HANDHELD READER
USER'S MANUAL, VERSION 1.0
f_RfidDev_RadioGetGpioPinsConfiguration
Prototype:
public static extern HRESULT_RFID f_RfidDev_RadioGetGpioPinsConfiguration(
ref RFID_RadioGetGpioPinsConfiguration_T st_RfidSpReq_RadioGetGpioPinsConfiguration);
Parameters:
[out] ref RFID_RadioGetGpioPinsConfiguration_T st_RfidSpReq_RadioGetGpioPinsConfiguration.
Message:
RFID_REQEND_TYPE_MSGID_RadioGetGpioPinsConfiguration notification.
Description:
This retrieves the configuration for the radio module's GPIO pins.
f_RfidDev_RadioReadGpioPins
Prototype:
public static extern HRESULT_RFID f_RfidDev_RadioReadGpioPins(
ref RFID_RadioReadWriteGpioPins_T st_RfidSpReq_RadioReadGpioPins);
Parameters:
[out] ref RFID_RadioReadWriteGpioPins_T st_RfidSpReq_RadioReadGpioPins.
Message:
RFID_REQEND_TYPE_MSGID_RadioReadGpioPins notification.
Description:
This reads the specified radio module's GPIO pins. Attempting to read from an output GPIO pin
results in an error.
f_RfidDev_RadioWriteGpioPins
Prototype:
public static extern HRESULT_RFID f_RfidDev_RadioWriteGpioPins(
ref RFID_RadioReadWriteGpioPins_T st_RfidSpReq_RadioWriteGpioPins);
Parameters:
[in] ref RFID_RadioReadWriteGpioPins_T st_RfidSpReq_RadioWriteGpioPins.
Message:
RFID_REQEND_TYPE_MSGID_RadioWriteGpioPins notification.
Description:
This writes the specified radio module's GPIO pins. Attempting to write to an input GPIO pin results in
an error.
f_RfidDev_MacEmulationConfigure
f_RfidDev_RadioIssueCommand
Copyright © Convergence Systems Limited, All Rights Reserved
142
CSL CS101-2 EPC CLASS 1 GEN 2 RFID HANDHELD READER
USER'S MANUAL, VERSION 1.0
Prototype:
public static extern HRESULT_RFID f_RfidDev_RadioIssueCommand (
ref RFID_RadioIssueCommand_T st_RfidSpReq_RadioIssueCommand);
Parameters:
[in] ref RFID_RadioIssueCommand_T st_RfidSpReq_RadioIssueCommand.
Message:
RFID_REQEND_TYPE_MSGID_ notification.
Description:
This issues a radio command. Application needs to process the resulting message packet and verify if the
command was success.
f_RfidDev_RadioCancelOperation
Prototype:
public static extern HRESULT_RFID
f_RfidDev_RadioCancelOperation(
ref RFID_RadioCancelOperation_T st_RfidSpReq_RadioCancelOperation );
Parameters:
[in] ref RFID_RadioCancelOperation_T st_RfidSpReq_RadioCancelOperation: .
Message:
RFID_REQEND_TYPE_MSGID_RadioCancelOperation notification.
Description:
This cancels the current RfidSp tag.operation. RfidSp will return after all the pending message for the
current operations are sent to the application.
f_RfidDev_RadioAbortOperation
Prototype:
public static extern HRESULT_RFID
f_RfidDev_RadioAbortOperation(
ref RFID_RadioAbortOperation_T st_RfidSpReq_RadioAbortOperation );
Parameters:
[in] ref RFID_RadioAbortOperation_T st_RfidSpReq_RadioAbortOperation: .
Message:
RFID_REQEND_TYPE_MSGID_RadioAbortOperation notification.
Description:
This aborts the current RfidSp tag.operation. RfidSp will return quickly.
PosSp:
Overview:
PosSp is a C# class in the PosSp_Apis class library.
It provides a managed interface to the C# application to access the pda specific peripherals
Copyright © Convergence Systems Limited, All Rights Reserved
143
CSL CS101-2 EPC CLASS 1 GEN 2 RFID HANDHELD READER
USER'S MANUAL, VERSION 1.0
synchronously.
C# namespace:
PosSp_Apis .
Dependencies:
Program Files\W_PosSp.dll;
Type Definitions:
Not needed.
Enumerations:
PosSp_Apis.BUZZER_SOUND
Prototype:
public enum BUZZER_SOUND : uint {
BUZZER_LOW_SOUND,
BUZZER_MIDDLE_SOUND,
BUZZER_HIGH_SOUND
};
Description:
This is the volume of the buzzer on pda.
Macros:
Not needed.
Function Definitions:
f_PosSp_Initialize
Prototype:
public static extern int f_PosSp_Initialize();
Parameters:
None.
Description:
Initialization of the POS SP library at the caller thread.
f_PosSp_Uninitialize
Prototype:
public static extern int f_PosSp_Uninitialize();
Parameters:
None.
Description:
Copyright © Convergence Systems Limited, All Rights Reserved
144
CSL CS101-2 EPC CLASS 1 GEN 2 RFID HANDHELD READER
USER'S MANUAL, VERSION 1.0
Un-initialized the POS SP & free all resources..
f_PosSp_GetDeviceName
Prototype:
public static extern void f_PosSp_GetDeviceName(string DeviceName); .
Parameters:
[out] DeviceName: the device name in WinCE registry. This name can be changed in the
“control_panel/system/”
Description:
This gets the DeviceNane of the WinCE from the Registry.
f_PosSp_LedSetOn
Prototype:
public static extern bool f_PosSp_LedSetOn(uint Color);
Parameters:
Color: 32bits COLORREF in the format of 0x00bbggrr (bb=blue, gg=green, rr=red color byte).
Description:
This turns on the Led.
f_PosSp_LedBlink
Prototype:
public static extern bool f_PosSp_LedBlink(uint colorRGB, short Period, short OnTime);
Parameters:
colorRGB:
32bits COLORREF in the format of 0x00bbggrr.
Period:
repetition interval [ms].
OnTime:
duration of lights-on time in each interval [ms].
Description:
This blinks the Led at maximum brightness.
f_PosSp_LedSetOff
Prototype:
public static extern void f_PosSp_LedSetOff();
Parameters:
None.
Description:
This turns off the Led.
f_PosSp_ToneOn
Copyright © Convergence Systems Limited, All Rights Reserved
145
CSL CS101-2 EPC CLASS 1 GEN 2 RFID HANDHELD READER
USER'S MANUAL, VERSION 1.0
Prototype:
public static extern void f_PosSp_ToneOn(short freq, short Duration, uint SoundLevel);
Parameters:
freq:
frequency of the tone [Hz]..
Duration:
duration [ms]
SoundLevel: one of the value in BUZZER_SOUND enumeration.
Description:
This plays a tone at the given frequency, for the given duration. at the buzzer.
f_PosSp_ToneOff
Prototype:
public static extern void f_PosSp_ToneOff();.
Parameters:
None.
Description:
This stops a playing tone.
f_PosSp_MelodyPlay
Prototype:
public static extern void f_PosSp_MelodyPlay(int ToneID, short Duration, uint SoundLevel);
Parameters:
ToneID:
0-4
Duration:
duration [ms]
SoundLevel: one of the value in BUZZER_SOUND enumeration.
Description:
This plays 1 of the 5 predefined melody for the given duration. at the buzzer.
f_PosSp_MelodyStop
Prototype:
public static extern void f_PosSp_MelodyStop();
Parameters:
None.
Description:
This stops a playing melody.
f_PosSp_WiFiPoweron
Prototype:
public static extern bool f_PosSp_WiFiPoweron();
Copyright © Convergence Systems Limited, All Rights Reserved
146
CSL CS101-2 EPC CLASS 1 GEN 2 RFID HANDHELD READER
USER'S MANUAL, VERSION 1.0
Parameters:
None.
Description:
This powers up the WiFi device.
f_PosSp_WiFiPowerdown
Prototype:
public static extern bool f_PosSp_WiFiPowerdown();
Parameters:
None.
Description:
This powers down the WiFi device.
f_PosSp_WiFiReset
Prototype:
public static extern bool f_PosSp_WiFiReset();
Parameters:
None.
Description:
This resets the WiFi device.
f_PosSp_GpioIni
Prototype:
public static extern bool f_PosSp_GpioIni();
Parameters:
None.
Description:
This initializes the 4 GPIOs & set them to HI.
f_PosSp_GpioUnini
Prototype:
public static extern bool f_PosSp_GpioUnini();
Parameters:
None.
Description:
This un-initializes the 4 GPIOs.
f_PosSp_GpioSetIo
Copyright © Convergence Systems Limited, All Rights Reserved
147
CSL CS101-2 EPC CLASS 1 GEN 2 RFID HANDHELD READER
USER'S MANUAL, VERSION 1.0
Prototype:
public static extern bool f_PosSp_GpioSetIo(int iGpio );
Parameters:
iGpio: Set the GPIOs ( 0-3) to HI.
Description:
Set the IO of Gpio 0--3.
f_PosSp_GpioWrite
Prototype:
public static extern bool f_PosSp_GpioWrite(int iGpio, char iState);
Parameters:
iGpio: index of GPIOs. Valid values are 0 to 3.
iState: the state (1==HI or 0==LO to be written.
Description:
This writes HI or LO state to a GPIO.
f_PosSp_GpioRead
Prototype:
public static extern bool f_PosSp_GpioRead( int iGpio, ref char piState);
Parameters:
iGpio: index of GPIOs. Valid values are 0 to 3.
piState the state (1==HI or 0==LO to be read.
Description:
This reads the current state of a GPIO.
ClsSysUtil:
Overview:
This is a C# class in the ClslibSysUtil library.
It provides the C# managed interface for some OS utilities.
C# namespace:
ClslibSysutil .
Dependencies:
coredll.dll;
iphlpapi.dll;
Type Definitions:
LMEM_ZEROINIT.
Prototype:
Copyright © Convergence Systems Limited, All Rights Reserved
148
CSL CS101-2 EPC CLASS 1 GEN 2 RFID HANDHELD READER
USER'S MANUAL, VERSION 1.0
const int LMEM_ZEROINIT = 0x40;.
Description:
Equivalent to the LMEM_ZEROINIT flag in WinCE
Structures:
None.
Macros:
None.
Function Definitions:
f_LaunchBlockingApp
Prototype:
public static void f_LaunchBlockingApp(string strPath, string strParms)
Parameters:
strPath: path and executable filename
strParms: .paramter list
Description:
This lauch a blockiong App Launch in a new process
f_Ping
Prototype:
public static int f_Ping(string addr,ulong udCount, ref string strResult).
Parameters:
addr: IP address of the destination.
udCount: number of ping packets.
strResult: the ping response text.
Description:
This pings an (url or ip) address using ICMP ipv4 packets
Copyright © Convergence Systems Limited, All Rights Reserved
149
CSL CS101-2 EPC CLASS 1 GEN 2 RFID HANDHELD READER
USER'S MANUAL, VERSION 1.0
PInvoke lib
The pda also uses some of the generic (non OEM driver specific) APIs from Microsoft PInvoke sample
library (2004)
High-Level Design of some Sample Applications:
TestGslSdk:
Introduction:
TestGslSdk let the user to experience some of the IO & system devices available on the WinCE
platform.
TestGslSdk is a simple C# application; it can:
turn on/off the on-board LED.
play a tone (single-tone-generation) or a build-in melody at a given volume & duration.
start, restart, stop the WiFi device.
get the IPAddress from DNS, ping a remote server.
get the current battery level.
control 4 GPIOs.
control ( set options, open, send data, receive data, close) the 2 serial port.
TestGslSdk can be enhanced to a system testing application for field-test, in-factory QA purpose.
Known Limitations:
Power notifications cannot be used on this platform, use polling instead.
High-Level Callfow:
Results:
Unit test passed..
Issues & Suggested Solution:
Nil.
Copyright © Convergence Systems Limited, All Rights Reserved
150
CSL CS101-2 EPC CLASS 1 GEN 2 RFID HANDHELD READER
USER'S MANUAL, VERSION 1.0
Appendix:
Native Code Interoperability:
Reset Suspend/Pda
Overview:
C# to C++ Interoperability is done by using DllImport (see msdn)
This sample shows how to reset / suspend the pda
Interface Definition:
Dependencies:
Coredll.dll
Function Definitions:
GwesPowerOffSystem:
Prototype:
public extern static void GwesPowerOffSystem();
Description:
This suspends CS101’s pda.
ResetPocketPC:
Prototype:
public uint ResetPocketPC()
Description:
This resets CS101’s pda using standard KernelIoCtrl Procedure
Code:
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Text;
using System.Windows.Forms;
using System.Runtime.InteropServices;
namespace CsDevReset
public partial class Form1 : Form
public Form1()
InitializeComponent();
Copyright © Convergence Systems Limited, All Rights Reserved
151
CSL CS101-2 EPC CLASS 1 GEN 2 RFID HANDHELD READER
USER'S MANUAL, VERSION 1.0
ResetDevice();
////////////////////////////////////////////////////////////////////////////////////
public const uint FILE_DEVICE_HAL = 0x00000101;
public const uint METHOD_BUFFERED = 0;
public const uint FILE_ANY_ACCESS = 0;
[DllImport("Coredll.dll")]
public extern static uint KernelIoControl
uint dwIoControlCode,
IntPtr lpInBuf,
uint nInBufSize,
IntPtr lpOutBuf,
uint nOutBufSize,
ref uint lpBytesReturned
);
//void GwesPowerOffSystem(void); //This API is OEM implementation dependent
[DllImport("Coredll.dll")] // a suspend operation on GslPos pda
public extern static void GwesPowerOffSystem();
public uint ResetPocketPC()
{ /// KernelIo may be called by CF .NET only.
uint bytesReturned = 0;
uint IOCTL_HAL_REBOOT = CTL_CODE(FILE_DEVICE_HAL, 15,
METHOD_BUFFERED, FILE_ANY_ACCESS);
return KernelIoControl(IOCTL_HAL_REBOOT, IntPtr.Zero, 0,
IntPtr.Zero, 0, ref bytesReturned);
private void ResetDevice()
DialogResult r = MessageBox.Show( "Execute reset(Yes) or PowerDown(No)?", "Test",
MessageBoxButtons.YesNo, MessageBoxIcon.Question, MessageBoxDefaultButton.Button2 );
if (r == DialogResult.Yes)
ResetPocketPC();
}else{
GwesPowerOffSystem();
Copyright © Convergence Systems Limited, All Rights Reserved
152
CSL CS101-2 EPC CLASS 1 GEN 2 RFID HANDHELD READER
USER'S MANUAL, VERSION 1.0
Copyright © Convergence Systems Limited, All Rights Reserved
153
CSL CS101-2 EPC CLASS 1 GEN 2 RFID HANDHELD READER
USER'S MANUAL, VERSION 1.0
Copyright © Convergence Systems Limited, All Rights Reserved
154
CSL CS101-2 EPC CLASS 1 GEN 2 RFID HANDHELD READER
7.4
USER'S MANUAL, VERSION 1.0
Application Scenarios with Program Source
Codes
Additional application scenarios with program source codes will be supplied and included here
in future versions of user manuals.
Copyright © Convergence Systems Limited, All Rights Reserved
155
CSL CS101-2 EPC CLASS 1 GEN 2 RFID HANDHELD READER
7.5
USER'S MANUAL, VERSION 1.0
Unit Tests
Basic unit tests for performance tuning will be added and included here in future versions of
user manuals.
Copyright © Convergence Systems Limited, All Rights Reserved
156
CSL CS101-2 EPC CLASS 1 GEN 2 RFID HANDHELD READER
7.6
USER'S MANUAL, VERSION 1.0
Build Environment
The build environment consists of tools and the corresponding configurations of the Visual
Studio. Details will be added and included here in future versions of the user manuals.
Copyright © Convergence Systems Limited, All Rights Reserved
157
CSL CS101-2 EPC CLASS 1 GEN 2 RFID HANDHELD READER
7.7
Debug Methods
7.7.1
Log File
The log file provides an important method to track problems.
and sent to CSL support team asap if any bug is encountered.
7.7.2
USER'S MANUAL, VERSION 1.0
The log file should be captured
Error Message List
The list of error messages that can be seen on the screen will be listed and included here in
future versions.
Copyright © Convergence Systems Limited, All Rights Reserved
158
CSL CS101-2 EPC CLASS 1 GEN 2 RFID HANDHELD READER
USER'S MANUAL, VERSION 1.0
PC Side Demo Programs
8.1
Introduction
8.2
Database Files Manipulation Demo
There is a Windows-based program to help manipulate data collected from the handheld reader.
8.2.1
Installing Demo Program
Please make sure the demo program version is compatible with the firmware version of reader.
Refer to the file “compatibility matrix.xls” for the compatibility of demo program and reader
firmware.
Please make sure “Microsoft .NET Framework Version 2.0 Redistributable Package” is
installed before using the demo program.
Normally, the executed file of demo program is archived as RAR or ZIP file. The archived file
is distributed through email, ftp server or website.
Please extract the demo program to a directory (e.g. “C:\CS101-2DEMO\”). Then, run the
demo program from the installed directory.
8.2.2
Using Demo Program
Run the demo program from installed directory. More details will be included in future
versions of the user manual.
Copyright © Convergence Systems Limited, All Rights Reserved
159
CSL CS101-2 EPC CLASS 1 GEN 2 RFID HANDHELD READER
Usage Tips for CS101-2
9.1
Introduction
USER'S MANUAL, VERSION 1.0
The objective of this chapter is to recommend the best practices of using the CSL CS101-2
Reader. The following areas will be covered in this document
General usage
Write tag
Event and alert
System
9.2
General Tips
This will be added in future version of user manual.
9.3
System Tips
This will be added in future version of user manual.
9.4
Write Tag Tips
This will be added in future version of user manual.
Copyright © Convergence Systems Limited, All Rights Reserved
160
CSL CS101-2 EPC CLASS 1 GEN 2 RFID HANDHELD READER
10
RFID Cookbook
10.1
Introduction
USER'S MANUAL, VERSION 1.0
RFID (radio frequency identification) is a wireless means to obtain a unique ID that can
identify a product (similar to barcode that however requires optical line of sight). Since 2004,
it was applied by companies in USA and Europe successfully to various business processes and
brought major cost benefits. Because of the success of these early adopters, such as Walmart
(USA) and Mark & Spencer (Europe), there is a growing trend throughout the world to replace
barcode (or augment) with RFID. The advantages of RFID over barcode are widely
publicized, consisting of the following:
Features
RFID
Barcode
Line of Sight
Line of sight is not required
Must be line-of-sight visible – items
must be tediously separated out for
reading, very inconvenient
Storage
Store data up to 1 Kbyte
No storage capability
Anti-Counterfeit
Ability
Hard to counterfeit, hard to Easy to counterfeit, always exposed
find (can be stowed inside outside and therefore easy to copy
item)
Processing Speed
Automatic processing possible Processing has to be manual in most
at very high speed
cases, with very low speed and
throughput
Bulk Reading
Many tags can be read at the Must be read sequentially
same time – virtually parallel
reading
Durability
Durable, usually safely stowed Easily scratched, wrinkled or wetted
inside item.
beyond reading.
Copyright © Convergence Systems Limited, All Rights Reserved
161
CSL CS101-2 EPC CLASS 1 GEN 2 RFID HANDHELD READER
USER'S MANUAL, VERSION 1.0
RFID can be applied with the following purposes:
1.
2.
3.
4.
Supply chain optimization
Asset tracking
Inventory control
etc.
Benefits of RFID include:
1.
2.
3.
4.
5.
6.
Increase supply chain velocity
Reduce human involvement (cost, error, hiring cycle and other issues)
Enhanced visibility (tracking, scheduling, planning)
Enhanced security (total visibility monitoring, zonal tracking)
Real time supply chain re-route (dynamic multi-destination fulfillment)
etc.
Physical locations where RFID can be applied include:
1.
2.
3.
4.
5.
6.
7.
Distribution centers
Warehouses Shelves
Warehouse Loading/Unloading Zone (Yard Management)
Retail shops in conjunction with fulfillment center
Returns & warranty processing office
Vehicle windshields
etc.
It is widely believed that the adoption of RFID will happen in the following sequence in terms
of company category:
1.
2.
3.
4.
Mandate affected units (suppliers to Walmart, DoD, etc.)
High value products
Fast moving assets
etc.
The application of RFID to a company or a group of companies in a supply chain has to be
executed systematically and methodically. The following is a flowchart that describes a
typical application process:
Copyright © Convergence Systems Limited, All Rights Reserved
162
CSL CS101-2 EPC CLASS 1 GEN 2 RFID HANDHELD READER
USER'S MANUAL, VERSION 1.0
Initial Customer Interests, RFI or RFQ
Business Process Analysis
Technology Selection
Customer Expectation Management
Hardware Configuration
Software Configuration
System Integration
Pilot Test
Optimization
Customization
Training
Test & Commissioning
Maintenance & Statistics
Copyright © Convergence Systems Limited, All Rights Reserved
163
CSL CS101-2 EPC CLASS 1 GEN 2 RFID HANDHELD READER
10.2
USER'S MANUAL, VERSION 1.0
Application Details
10.2.1 Business Process Analysis
The business process of the customer must be analyzed carefully to find places where the RFID
tagging and reading can occur. The system integrator may be applying RFID to the whole
process or may only be able to apply RFID to part of the process. The most important
principle is NOT to force change the business process to adapt for RFID implementation, but to
have RFID implementation slip in as effortlessly and as un-noticeably as possible.
Business Nature?
Business Process Mapping
Identify stakeholders, their requirements and their wish lists.
Apply RFID to Whole/Part of Process?
Closed Loop or Open Loop?
Mandate Satisfaction Only?
ROI Expected?
ROI Analysis
Intangible Return Analysis
Copyright © Convergence Systems Limited, All Rights Reserved
164
CSL CS101-2 EPC CLASS 1 GEN 2 RFID HANDHELD READER
USER'S MANUAL, VERSION 1.0
RFID Project Goals Definition & Agreement with All Stakeholders
Initial Feasibility Planning of Applying RFID to Business
Tagging Required? Types of tags?
Tagging Throughput Requirements
Tagging Quality Requirements
Tag Lifetime Requirement
Writing Data onto Tag Required?
Correlation with Barcode on Tagging?
Real time & Time Critical Data Processing & Use?
Mobile or Stationary Target?
Density of Tags? No./pallet?
Velocity of Tags? Meters/sec?
Yield Requirement?
Copyright © Convergence Systems Limited, All Rights Reserved
165
CSL CS101-2 EPC CLASS 1 GEN 2 RFID HANDHELD READER
USER'S MANUAL, VERSION 1.0
Typical Read Range Requirement
Number of Nodes?
Node-to-node Separation Distances?
Sensor Fusion Possibilities/Requirements
Control Automation Requirements
Detailed Feasibility Planning of Applying RFID to Business
Throughput Estimation
Data Networking Requirements
Network Traffic Estimation
Redundancy Requirements
Fault Tolerance Requirements
Maintenance Requirements
Backup Requirements
Monitoring Requirements
Copyright © Convergence Systems Limited, All Rights Reserved
166
CSL CS101-2 EPC CLASS 1 GEN 2 RFID HANDHELD READER
USER'S MANUAL, VERSION 1.0
10.2.2 Technology Selection
Once the points where the business process allows for RFID implementation is found, the most
appropriate technology must be chosen for the job. The following are questions to help you
choose the appropriate technology:
Active or Passive RFID Technology?
Air Protocol: EPC, iPX, ISO18000-7?
Antenna-Tag Interaction Scheme: backscatter, bistatic?
Antenna: single/dual antenna box, 1, 2, 3, or more pairs?
Tag: size, form factor, single/dual antenna, material
Capture Mode: Windowed, Total Visibility, Cumulative
Frequency Setting for Compliance
Networking Option: wired or wireless
Copyright © Convergence Systems Limited, All Rights Reserved
167
CSL CS101-2 EPC CLASS 1 GEN 2 RFID HANDHELD READER
USER'S MANUAL, VERSION 1.0
10.2.3 Customer Expectation Management
Customer expectation must be well managed. It is the job of the system integrator,
particularly the sales person, to warn the customer away from expecting perfect scores. The
truth is, even if 100% read is not achieved, the user can still benefit (in the sense of ROI,
efficiency, lead time, cycle time, etc.) to a substantial extent. It is this extent that should be
considered as the result, not a 100% score. It is almost like getting married to a man or
woman – you will never find the perfect half, but even if she or he is not perfect, you still get to
enjoy from the marriage.
Yield Expectation Managed?
Implementation Process & Time Expectation Managed?
Cost Expectation Managed?
Maintenance Response Time Expectation Managed?
Copyright © Convergence Systems Limited, All Rights Reserved
168
CSL CS101-2 EPC CLASS 1 GEN 2 RFID HANDHELD READER
USER'S MANUAL, VERSION 1.0
10.2.4 Hardware Configuration
Hardware configuration consists of designing and defining what reader, antenna and tag
combination will be implemented at each of the nodes in the business process. It is not a pure
drawing board exercise, as some kind of minimally realistic testing must be implemented even
at this stage to help better define the hardware configuration that in turn can give more insight
for software configuration and system integration.
Reader 2D Floor Plan Placement
Reader-Antenna Grouping Design
Initial Tag Selection
Antenna 2D Floor Plan Placement
Antenna 3D Alignment
Antenna-Tag Separation Design
Antenna Isolation Measurement/Estimation
Static Tag Collection Statistics
Dynamic Tag Collection Statistics
Mounting structures ergonomics
Configuration Review & Redesign
Copyright © Convergence Systems Limited, All Rights Reserved
169
CSL CS101-2 EPC CLASS 1 GEN 2 RFID HANDHELD READER
USER'S MANUAL, VERSION 1.0
10.2.5 Software Configuration
Software configuration of the reader is very important – it ensures the reader will operate
exactly as the business process requires, not more or not less.
The following page has a flowchart that the system integrator needs to go through in order to
set up the software.
The first step is to configure the users parameter, such as operator name, ID, password, etc. The
second step is to configure the networking parameters, such as IP addresses, access point SSID,
etc. The third step is to configure system parameters, such as reader ID, frequency setting, tag
baud rate, capture mode, etc.
The third step is to configure time and time filter, such as system date and time (hour, minute
and second), time filter (define various time intervals, time slots, repeat modes), etc. The
fourth step is to configure capture point, such as capture point type, capture point area, capture
point details.
The fifth step is to configure IO, such as sensor input name, control output name, default
positions, etc. The sixth step is to configure tag and tag filtering, such as tag group, tag filter,
etc. The seventh step is to configure audio and video, such as audio messages and video
messages resident path (remote or local).
The eighth step is to configure event, such as triggering logic, resultant action, event
sequencing, etc.
The ninth step is to configure database, such as database fields, etc. The
tenth step is to configure report, such as report definition, etc.
The eleventh step is to configure statistics, such as parameters for long term monitoring, etc.
The twelfth step is to back up the set up into a standard configuration set up file.
Copyright © Convergence Systems Limited, All Rights Reserved
170
CSL CS101-2 EPC CLASS 1 GEN 2 RFID HANDHELD READER
USER'S MANUAL, VERSION 1.0
Users Management Set Up
Network Configuration Set Up
System Configuration Set Up
Time & Time Filter Set Up
Capture Point Set Up
IO Set Up
Tag & Tag Filter Set Up
Audio & Video Set Up
Event Set Up
Database Set Up
Report Set Up
Statistics Set Up
Overall Configuration Backup
Copyright © Convergence Systems Limited, All Rights Reserved
171
CSL CS101-2 EPC CLASS 1 GEN 2 RFID HANDHELD READER
USER'S MANUAL, VERSION 1.0
10.2.6 System Integration
The actual system integration should most desirably be carried out in two steps: 1. in house
integration and test; 2. onsite integration and test.
System Blocks Diagram
Data Flow Map
Physical Blocks Architecture
Network Connections Map
Hardware Units Preparation
Sensors or Input Simulators connect
Output or Output Simulators connect
Backend server & plug-ins boot up
Connection and Function Test
Tagged Operation Test
Performance Metrics Logging
Re-configuration & redesign
Copyright © Convergence Systems Limited, All Rights Reserved
172
CSL CS101-2 EPC CLASS 1 GEN 2 RFID HANDHELD READER
USER'S MANUAL, VERSION 1.0
10.2.7 Pilot Test
Pilot test must of course be done on site. The unique building infrastructure and environment
of the end-customer venue can result in dramatically different performance (worse, usually)
scores compared to that in the system integrator’s own office. Therefore pilot test must be
done on site.
The system integrator, when testing the set up in end-customer’s venue, should endeavor to put
the set up directly at the position that it plans to be, or in a place that most closely resembles
that of the final site. If the site does not run round-the-clock shifts, then it is OK to do the
initial testing when it is off-shift and temporarily clearing up the site for testing (if something is
in the way). Eventually when good enough results are obtained through tuning and
optimization in off-shift time, then the testing should be conducted in the actual shift when the
operation will happen in the future. The emphasis on having the environment as real and true
as possible is due to the fact that wireless emission is a very site specific and dynamic event.
The propagation and scattering behavior is different from site to site. The noise floor can be
different in the day and in the night. There is no pilot test better than doing it right at the spot
and right at that time.
The following are basic steps for pilot testing (please also refer to next section of
optimization):
Copyright © Convergence Systems Limited, All Rights Reserved
173
CSL CS101-2 EPC CLASS 1 GEN 2 RFID HANDHELD READER
USER'S MANUAL, VERSION 1.0
Define goals and metrics
Set up RFID system as realistic as possible
Set up tags target as realistic as possible
Track behavior of system all the way
Photo/video record as much as possible
Measure site-specific parameters
Test and optimize RFID operations
* See next section
Burn-in system for extended time for reliability
Check Mounting Structures for Potential Collisions
Check network traffic is within limits. Do overload tests
Check user satisfaction on interface friendliness, reaction time, etc.
Copyright © Convergence Systems Limited, All Rights Reserved
174
CSL CS101-2 EPC CLASS 1 GEN 2 RFID HANDHELD READER
USER'S MANUAL, VERSION 1.0
10.2.8 Optimization
Optimization of the performance of the RFID application in business processes is the most
difficult step. It is in this step where the variation of performance caused by the law of
physics has to be tackled. The following are a few questions that may help. However, due
to the unfortunate fact that RFID application involves too many topics: RF transmitter circuits,
antennas, propagation (static and dynamic), scattering (backscatter and bistatic scattering), RF
receiving circuits, software (all layers), it is not an easy task to give a “10 steps to successful
RFID implementation” rule based implementation guideline that works in all environment!
Use real time interface to optimize
Optimize capture point time slotting
Optimize antenna placement
Optimize number of antennas
Optimize power levels
Optimize frequency channels
Optimize hopping sequences
Optimize tag types
Optimize tag sizes
Optimize tagging process & methods
Copyright © Convergence Systems Limited, All Rights Reserved
175
CSL CS101-2 EPC CLASS 1 GEN 2 RFID HANDHELD READER
USER'S MANUAL, VERSION 1.0
10.2.9 Customization
Customization is the step that comes out of optimization. If, after intense optimization, the
performance still is not acceptable (or the customer will not accept a lowering of their
performance expectation), then some customization may be necessary. The following are just
a few possibilities and suggestions for customization. Note that these customizations require
the cooperation of the solution provider (i.e. the manufacturer of the products). Very few
solution providers are willing to do this without good business justification, though.
Antenna Transmitting Pattern
Antenna Receiving Pattern
Antenna Polarization
Tag Polarization
Tag Parasitic Attachment
Tag Antenna Design
Tag Size
Tag Transponding Pattern
Copyright © Convergence Systems Limited, All Rights Reserved
176
CSL CS101-2 EPC CLASS 1 GEN 2 RFID HANDHELD READER
USER'S MANUAL, VERSION 1.0
10.2.10Training
Training is an extremely important step where the operators of the RFID system in the
end-customer company must be taught the basics of the operation, plus the necessary tricks in
day-to-day trouble shooting and fault isolation – up to a certain extent, of course.
Train overall architecture
Train on-board user-interface
Train browser based interface
Train upgrading methods
Train common problems handling
Train debugging
Train material handling methods
Train environmental effects
Copyright © Convergence Systems Limited, All Rights Reserved
177
CSL CS101-2 EPC CLASS 1 GEN 2 RFID HANDHELD READER
USER'S MANUAL, VERSION 1.0
10.2.11Test & Commissioning
Test and commissioning is an important step to allow customer to verify the performance
achieved, and formally approve the system to enter operational status. The most important
part of test and commissioning is of course a mutually agreed test plan and commissioning
criteria.
The experienced system integrator can probably propose this test and commissioning plan early
in the project. This is particularly valid if the system integrator has done similar jobs before.
However, sometimes a T&C document too early in the way will make it very difficult to
accommodate for surprisingly low performances due to some uncontrollable environmental or
business process related factors. So really it is at the system integrator’s own discretion and
wisdom when it should best be proposed.
Final Full Scale Installation On Site
Full Scale Tag Issuing & Correlation
Testing & Verification
Pre-commission Training Revision
Commissioning Round #1
Intermission Period Independently Handled by Customer
Commissioning Round #2
Further Tuning
Final Acceptance & Transfer
Copyright © Convergence Systems Limited, All Rights Reserved
178
CSL CS101-2 EPC CLASS 1 GEN 2 RFID HANDHELD READER
USER'S MANUAL, VERSION 1.0
10.2.12Maintenance & Statistics
Maintenance of the RFID system is important. It includes preventive maintenance, collection
and analysis of statistics of operation, etc.
Track all environmental parameters
Track all tag collection statistics
Track CRC error statistics
Track network efficiency statistics
Visual check all equipment
Track all cables wear and tear
Occasional/Regular Reboot
Copyright © Convergence Systems Limited, All Rights Reserved
179
CSL CS101-2 EPC CLASS 1 GEN 2 RFID HANDHELD READER
10.3
USER'S MANUAL, VERSION 1.0
Readers for Different Business Applications
For different business applications, one should use the appropriate corresponding readers, such
as multiport fixed reader, integrated reader, handheld reader, embedded reader module, etc.
Copyright © Convergence Systems Limited, All Rights Reserved
180
CSL CS101-2 EPC CLASS 1 GEN 2 RFID HANDHELD READER
10.4
USER'S MANUAL, VERSION 1.0
Antennas for Different Business Applications
Various antennas have been designed and optimized for different business processes, such as
dock door, ware house, access control, and item level tracking.
Products
Part Number
Photo
Business Application
Antenna
(Mono-static
area or zonal
antenna, long
range)
CS-771-LHCP
CS-771-RHCP
Logistics
Warehouse management
Distribution center
Transportation management
Asset management
Baggage management
Antenna
(Monostatic
access control
antenna)
CS-713
Access control
Human & animal tracking
Antenna
(Brickyard
near-field
antenna)
CS-777
Retail shop POS
Document management
Blood bag management
Pharmaceutical bottle
tracking
Copyright © Convergence Systems Limited, All Rights Reserved
181
CSL CS101-2 EPC CLASS 1 GEN 2 RFID HANDHELD READER
11
RFID Best Practices
11.1
Introduction
USER'S MANUAL, VERSION 1.0
System integration of RFID operation is not a simple task. It involves processes such as
software configuration, hardware setting, pilot testing, scaling, and more. A good integration is
a crucial step to ensure successful ROI for the RFID investment. Improper integration
process could affect the system performance as well as functionality. This section describes the
best practice for system integrator to familiarize and integrate with an RFID reader, from
getting the reader out of the box to deploying the system in production environment.
The following flowcharts show the typical familiarization and integration process of CSL
CS101-2reader. They represent what a typical system integrator will go through when they
adopt the CS101-2technology. By following the path described, the system integrator can
quickly deploy CS101-2and earn revenue within a very short period.
1. Familiarization Process
Familiarizing with Browser Interface
Familiarizing with Programming Interface
Full Scale Programming and Integration
Reader Capability Envelope Discovery
Copyright © Convergence Systems Limited, All Rights Reserved
182
CSL CS101-2 EPC CLASS 1 GEN 2 RFID HANDHELD READER
USER'S MANUAL, VERSION 1.0
2. Integration Process
Use Cases and Requirement Gathering
Draft Solution and In-House Testing
API Programming
Pilot Testing
Middleware Testing
Finalizing Solution
Scaling
Copyright © Convergence Systems Limited, All Rights Reserved
183
CSL CS101-2 EPC CLASS 1 GEN 2 RFID HANDHELD READER
11.2
USER'S MANUAL, VERSION 1.0
Integration Process Details
11.2.1 Familiarization Process
11.2.1.1 Familiarizing with Browser Interface
The CSL CS-461 reader comes with a browser interface. Once the reader is connected to the
network, it can be accessed from any PC via the Internet Explorer browser. The browser
interface allows configuration of reader in a convenient and user-friendly way. The browser
interface also allows quick testing of the reader functionalities, including read tag, write tag
and kill tag, with and without halt filter, and also for various Gen 2 profiles. Thus, it is an
excellent starting point to get familiar with the reader’s features in a relatively short period of
time. In other words, browser interface allows and enables a good out-of-box experience for
the user, even if he/she is a layman in the area of RFID.
With the browser interface, system integrators can try to configure the reader by setting up the
operation profile, trigger, action and event. By collecting read tags result under various
configurations, system integrators can experience the behavior and characteristics of the reader.
For details of the usage of browser interface, please refer to chapter 6.
11.2.1.2 Familiarizing with Programming Interface
The CSL CS101-2reader provides two sets of Application Programming Interfaces (API).
One is the High Level API which utilizes HTTP protocol and TCP connection for
request/response and notification respectively. The other one is the Low Level API which
utilizes TCP connection solely. The High Level API provides features such as event engine,
machine automation, etc.
Before starting to program the reader, system integrators are recommended to go through the
sample codes which are available for download in CSL web site. The sample codes allow ones
to learn how to program the reader in a correct and effective way. The example program flow,
API request making and result processing give a general idea of how to interface with the
reader. Sample codes of the following demonstrations utilizing the High Level API are
described in chapter:
Access Control
Copyright © Convergence Systems Limited, All Rights Reserved
184
CSL CS101-2 EPC CLASS 1 GEN 2 RFID HANDHELD READER
USER'S MANUAL, VERSION 1.0
Conveyor Belt
Gambling
11.2.1.3 Full Scale Programming and Integration
Full scale programming allows one to fully control the reader and receive data from the reader
with the final goal of integrating the reader with existing business processes, operations and
business intelligence software of the customer, such as middleware, ERP system, database, etc.
Every system integrator has his own favorite such program, either developed by themselves or
based on platforms available from the market, such as Websphere, Weblogic, Biztalk,
SensorEdge, RFIDAnywhere, SAP, Oracle, DB2, Sybase, etc.
Once the system integrator passes through the two initial stages of experimenting with the
browser interface and the programming interface, he/she needs to start looking at what subset
of API calls are needed to enable RFID use in his/her typical customers’ business environment.
The complete library is rather large (CS101-2API library is rich and flexible, and for initial
customers may be not all commands are needed), and .
The API includes a number of commands with different parameters. When programming the
reader, one should understand clearly the command’s usage, effect and the meaning of each
parameter since they affect the reader performance directly.
One example is the set operation profile command. The parameter “duplicateEliminationTime”
is the time interval in which duplicate tags will be eliminated such that the same tag would not
be reported repeatedly during that time interval. It should be set according to situation. Large
value of this parameter does not introduce latency since tag is still reported to trusted server
once it is read if the action mode is configured to “Instant Alert to Server”. However,
unnecessarily small value would increase the reader loading and network traffic. In the worst
scenario, if this value is set to minimum (i.e. 0.5s) and all four antennas are enabled, note that
0.5s is not enough for the reader to switch over all four antennas for the reading operation, as a
result, some tags may be lost.
11.2.1.4 Reader Capability Envelope Discovery
Once full scale programming is started, the user needs to map out the full “flight envelope” of
the reader. Important parameters to figure out includes response time, maximum API sending
rate, necessary and optimal combinations and sequences of API to achieve different states of
Copyright © Convergence Systems Limited, All Rights Reserved
185
CSL CS101-2 EPC CLASS 1 GEN 2 RFID HANDHELD READER
USER'S MANUAL, VERSION 1.0
the machines, fastest possible read and/or best possible yields for various profile combinations,
etc. Once the capability envelope is discovered, the system integrator can then work on
business projects knowing what the reader is capable of doing and knowing the projects are not
requiring the reader to do something it cannot handle.
Copyright © Convergence Systems Limited, All Rights Reserved
186
CSL CS101-2 EPC CLASS 1 GEN 2 RFID HANDHELD READER
USER'S MANUAL, VERSION 1.0
11.2.2 Integration Process
11.2.2.1 Use Cases and Requirements Gathering
Before starting the development process, system integrators should fully understand the
requirements from customer, such as the throughput requirement, latency requirement,
bandwidth requirement. etc, that are specific to the reader. Besides, they could document the
use cases which will help in decision making later on in the development process.
11.2.2.2 Draft Solution and In-House Testing
Once the requirements are gathered and use cases are defined, system integrators can develop a
draft solution. Draft solution means that it is subjected to final adjustment or tuning after pilot
testing. In-house testing allows system integrators to test the feasibility of the solution before
deploying to customer’s site.
11.2.2.3 API Programming
The API Programming process here is different from the one in Familiarization Process. In
Familiarization Process, system integrators should familiar with the configurations and
functioning modes of the reader by using the API. In System Integration Process, they should
determine and focus on the configurations and functioning modes to be used in the solution to
fulfill user requirements.
11.2.2.4 Pilot Testing
RFID system is greatly affected by environmental factors. For example, background RF noise
and metallic object around may affect the read range of antenna dramatically. The same RFID
system may function well in the system integrator’s own office but fail in end-customer’s site.
Therefore system integrators should conduct on-site pilot testing.
During the on-site pilot testing, system integrators should tackle the site-specific problems that
affect the RFID system. For example, if there is metallic object around, position of the antenna
Copyright © Convergence Systems Limited, All Rights Reserved
187
CSL CS101-2 EPC CLASS 1 GEN 2 RFID HANDHELD READER
USER'S MANUAL, VERSION 1.0
should be adjusted to overcome the effect of it.
Apart from system settings, RFID tags should be tested as well. System integrators should
select suitable tags to cater the business requirement. For example, 3D tag can be read from all
directions, but it is less sensitive and large in size. Regular tag has better sensitivity but the
read result is highly affected by orientation of the tag.
Some problems may not appear instantly, but only after the system running continuously for
hours or days. To identify such problems, long time burn-in testing is required. If any problem
related to the reader is found, the system integrator could send a bug report with reader settings,
antenna setup and site-specific factors to CSL for troubleshooting.
11.2.2.5 Middleware Testing
Usually, a middleware is used between the reader and enterprise application. It plays an
important role in the integration of reader and therefore it must be fully tested as well. CSL
provides service for such testing. System integrators can give the executable of the middleware
to CSL for long term testing to ensure that the middleware is free of problem after running
continuously. Moreover, all API calls requested by the middleware are logged in the reader
which allows CSL to analyst the cause of problem if there is any.
11.2.2.6 Finalizing Solution
The finalized solution should tackle all of the problems found in pilot test and fine tune the
solution if necessary. Then it is ready for production running.
11.2.2.7 Scaling
Scaling process should be done after the system is tested to be stable. Moreover, scaling
gradually at the end-customer site (if end-customer permits, of course) can reduce the chance
of system failure due to overloading. For a large scale RFID system that involves hundred of
readers, the system integrators should pay attention to the followings:
1.
Readers that are close to each other are recommended to use Profile 2 or 3 of Modulation
Profile. It allows the readers to work in dense reader mode such that jamming could be
Copyright © Convergence Systems Limited, All Rights Reserved
188
CSL CS101-2 EPC CLASS 1 GEN 2 RFID HANDHELD READER
USER'S MANUAL, VERSION 1.0
avoided. Remember to select different session numbers for readers to avoid tag replying
wrongly to other reader.
2.
If dense reader mode is not required, Profile 0 should be used as it allows the fastest tag
read.
3.
Adjust the power of reader to take a balance between read range and cross read effect.
4.
Employ inspection process for identifying malfunction reader. For example, reading
testing tags from all readers and then collecting the read data from edge server. Analysis
of the data helps assessing the reader health.
5.
Remote reboot of reader and remote control of power grid should be supported since the
readers may distribute in vast area.
6.
During network failure, reader is not able to send tags read to trusted server. If Network
Failure Data Backlog is enabled, those tags are buffered in the reader. Backlog tags are
sent to trusted server after the TCP connection is re-established. Therefore, system
integrators should also provide application level failover for this feature.
Copyright © Convergence Systems Limited, All Rights Reserved
189
CSL CS101-2 EPC CLASS 1 GEN 2 RFID HANDHELD READER
USER'S MANUAL, VERSION 1.0
12
RFID Use Cases
12.1
Warehouse Real Time Inventory Tracking
Use Case
In warehouse with huge amount of inventory and fast turnover, acquiring real-time inventory
data becomes a big challenge.
Current Approach
Stocktaking is done manually or using barcode system. The process is costly and slow.
Inventory data are inaccurate due to human errors. Real-time visibility of inventory data is not
available.
Suggested Approach
By equipping RFID read points in warehouse, inventory is being monitored continuously.
Inventory data are updated in real time, giving warehouse manager real-time visibility to
inventory level and status. This is particularly important for time sensitive merchandise. It also
helps identifying potential theft for high-value merchandise, greatly reduce the labor cost and
human error.
Recommendation
The CSL CS101-2reader is has extremely high inventory rate, which is important for providing
high accuracy on inventory data. It is also able to manage large streams of tag data efficiently
so that it can cope with tremendous amount of tags in warehouse environment. Moreover, the
highly configurable buffering and tag filtering modes allow the elimination of redundant tag
data so as to reduce network traffic and server loading.
Copyright © Convergence Systems Limited, All Rights Reserved
190
CSL CS101-2 EPC CLASS 1 GEN 2 RFID HANDHELD READER
12.2
USER'S MANUAL, VERSION 1.0
High Traffic Human Access Control
Use Case
Many companies world-wide already use RFID technology for employee access control
systems. The access control system can fulfill purposes such as limiting access to a restricted
area and capturing entry and exit time information for wages calculation.
Current Approach
HF technology is adopted in many access control systems. The read range of HF is short such
that presenting of access card in front of the read point is required. This process can cause
congestion under high traffic of access especially right before and after the office hour.
Suggested Approach
For access control system with high traffic of access, UHF has advantage over HF because the
employees do not have to present the access card to the read point one by one, instead they can
just walk by the read point and the access card can be read.
Recommendation
The CSL CS101-2reader is powered by CSL technology with extremely high inventory rate.
This ensures the information captured is accurate and reliable.
Copyright © Convergence Systems Limited, All Rights Reserved
191
CSL CS101-2 EPC CLASS 1 GEN 2 RFID HANDHELD READER
12.3
USER'S MANUAL, VERSION 1.0
Reusable Pallet Tracking
Use Case
Reusable pallets travel through the supply chain many times in its life time. If the pallets can be
tracked, they can be maintained in a better and manageable way.
Current Approach
Barcode system is used. Time of scanning the barcodes in large stack of pallets is long since
only one barcode can be scanned at a time and line-of-sight is required.
Suggested Approach
Tagging of reusable pallets allows tracking them throughout the entire operation and
maintenance cycle. This usage can even be extended to track movement of goods on the pallet
throughout the distribution cycle. This offers the pallet providers as well as the goods
distributors a complete visibility of their pallets and goods at every distribution point.
Recommendation
Powered by CSL technology, the CSL CS101-2reader has extremely high inventory rate which
can read the tags in large stack of pallets accurately. This ensures accuracy of data about the
pallets together with the goods.
Copyright © Convergence Systems Limited, All Rights Reserved
192
CSL CS101-2 EPC CLASS 1 GEN 2 RFID HANDHELD READER
12.4
USER'S MANUAL, VERSION 1.0
Work-In-Progress Monitoring
Use Case
The manufacturing process in factory can be long and complicated. Once the raw materials are
sent into the manufacturing plant, they remain invisible until emerging as a finished product.
Better visibility of work-in-progress is required for production decision-making.
Current Approach
Tracking of manufacturing process is not automated. Status of parts and work-in-progress are
out-dated, distributed and manually collected.
Suggested Approach
The introduction of RFID technology to the manufacturing process in factory can improve the
visibility of the work-in-progress. Parts and subassemblies within the manufacturing plant are
tracked precisely such that more accurate part level and work-in-progress records are available.
Moreover, automatic monitoring of work-in-progress status on semi-finished assemblies
throughout the production cycle can reduce downtime and ensure on-time delivery. Combining
RFID reader with output device can also help in decision making. For example, alarm is
triggered when semi-finished items or batches are routed to the wrong manufacturing cell.
Recommendation
As powered by the advance and intelligent technology from CSL, the CSL CS-461 reader has
the unique feature of Dense Reader mode. It allows multiple readers to be used in very close
separation or area without jamming each other. This is particularly suitable for deploying in
manufacturing plant with RFID readers equipped in conveyors, gates...etc.
Copyright © Convergence Systems Limited, All Rights Reserved
193
CSL CS101-2 EPC CLASS 1 GEN 2 RFID HANDHELD READER
12.5
USER'S MANUAL, VERSION 1.0
Human Access Control by Autonomous Tag
Groups in Reader
Use Case
RFID can be applied to access control system for preventing unauthorized access to a restricted
area.
Current Approach
Most RFID access control systems rely on backend server and database for security controls. If
the server is down or network service is not available, the whole access control system fails.
Suggested Approach
Autonomous access control system with embedded event engine for security controls.
Recommendation
With the embedded event engine in CSL CS-461 reader, autonomous tag group filtering for
access control is achieved. Tag groups can be pre-programmed into the reader easily. Once set,
the access control system can run autonomously even when network or server is down.
Copyright © Convergence Systems Limited, All Rights Reserved
194
CSL CS101-2 EPC CLASS 1 GEN 2 RFID HANDHELD READER
12.6
USER'S MANUAL, VERSION 1.0
Pallet/Carton Tagging Verification
Use Case
RFID implementation is growing in different industries. The automated handling solutions
driven by RFID are very much relying on the tags. Therefore missing or failed tags can have a
major impact on operating efficiencies.
Current Approach
Verification of tag on pallet or carton is not automated. Missing or failed tags are difficult to be
identified and replaced.
Suggested Approach
By combining input and output devices, RFID technology can be applied to verification of tag
existence in pallet or carton. In this case, infrared sensor is used to trigger the start inventory in
reader. When the pallet or carton passes the read point, status of infrared sensor changes which
triggers the reader to start inventory. If no tag is read after the trigger, output device such as
alarm is turned on. This application helps to identify missing or failed RFID tags such that tag
replacement action can be taken.
Recommendation
The CSL CS-461 reader contains I/O port which allows maximum four inputs and eight
outputs. The embedded event engine also allows I/O trigger and event to be programmed into
the reader easily. Once these are set, the tag verification process is done autonomously.
Copyright © Convergence Systems Limited, All Rights Reserved
195
CSL CS101-2 EPC CLASS 1 GEN 2 RFID HANDHELD READER
12.7
USER'S MANUAL, VERSION 1.0
Blood Bag Tracking
Use Case
RFID technology can be widely adopted in medical field. One of the applications is blood bag
tracking and blood type verification for transfusion.
Current Approach
Blood bags in blood banks are managed manually or using barcode system. Real-time visibility
of inventory data is not available.
Suggested Approach
Before transfusion, the nurse can check the blood type contained in blood bag against patient’s
blood type by cross checking the RFID tags on both the blood bag and patient’s wristband. In
this way, chance that a patient being transfused the wrong blood type due to human error is
greatly reduced. Moreover, by equipping RFID read points in the blood bank, real time
inventory data can be grasped, giving medical staff real-time visibility to inventory level and
status.
Recommendation
One of the major challenges in implementing RFID system for blood bag tracking is the liquid
content inside blood bag, as fluid can degrade the radio frequency signal. However, with CSL
CS-777 near-field antenna, this problem can be overcome since it can achieve outstanding
performance when reading and writing tags on container with different contents even liquid.
Copyright © Convergence Systems Limited, All Rights Reserved
196
CSL CS101-2 EPC CLASS 1 GEN 2 RFID HANDHELD READER
12.8
Pharmaceutical
Bottles
USER'S MANUAL, VERSION 1.0
Tracking
and
Anti-counterfeit
Use Case
Counterfeit problem is a major concern in pharmaceutical industry for years. It does not only
threaten the public safety, but also poses economic damage to pharmaceutical manufacturers.
An effective measure is required to combat the growing counterfeit problem.
Current Approach
Effective measure for anti-counterfeit is difficult to implement without the tracking of
pharmaceutical bottles throughout supply chain.
Suggested Approach
With the introduction of RFID technology, item level supply chain visibility for pharmaceutical
product can be facilitated. It provides the track and trace of drugs as distributed throughout the
entire supply chain, which in turns protects the public health. Pharmaceutical manufacturers
can also benefit from reduced liability, brand protection and additional revenue that was
previously diverted to makers of counterfeit drugs.
Recommendation
The CSL CS-777 near-field antenna achieves outstanding performance when reading and
writing tags on variety of packaging options including pharmaceutical bottles and metals found
in blister packs. In the magnetic near-field, UHF Gen 2 tags works well with container of
different contents such as powders, pills and even liquids. This ensures the technology can be
applied to all kinds of materials characteristically found in pharmaceutical products and
packaging including vials of vaccines and bottles of liquid medication.
Copyright © Convergence Systems Limited, All Rights Reserved
197
CSL CS101-2 EPC CLASS 1 GEN 2 RFID HANDHELD READER
12.9
USER'S MANUAL, VERSION 1.0
Vehicle Tracking in Maintenance Depot
Use Case
In maintenance depot, vehicles arrive for maintenance and checking. If the activities of
vehicles inside the maintenance depot can be tracked, better arrangement of vehicles
maintenance can be achieved.
Current Approach
Vehicle maintenance is tracked manually. Human errors may occur such as omitting particular
maintenance checking on a vehicle.
Suggested Approach
RFID technology can be applied to track vehicles’ activities inside the depot. Once a vehicle is
tagged, it's movement can be recorded anywhere in the RFID enabled depot. The process is
completely automatic in the sense that the vehicle does not have to stop for being recorded.
Moreover, no staff is involved in the process and thus human errors can be eliminated. The
vehicles’ movement record gives accurate maintenance checking and repairing history which is
important for vehicle management such as identifying obsolete parts.
Recommendation
One of the challenges in tracking vehicles in maintenance depot is that high tag resolution is
required. Cross reading of tags by different entry points would affect the accuracy of
identifying the vehicles in the lane. This problem can be overcome by shielding the capture
points such that each capture point would only read tags that are corresponding to it.
Furthermore, the CSL CS-461 reader allows filtering of tags by both RF Signal Strength
Indicator (RSSI) and read count to prevent cross reading of tags by read points in multiple
lanes.
Copyright © Convergence Systems Limited, All Rights Reserved
198
CSL CS101-2 EPC CLASS 1 GEN 2 RFID HANDHELD READER
USER'S MANUAL, VERSION 1.0
12.10 Vehicle Information System
Use Case
In many countries, the possibility of using an RFID tag as a license plate is very welcome
because that enables a host of analysis, tracking and law enforcement operations.
Current Approach
Vehicle license has traditionally been tracked visually or optically.
Suggested Approach
RFID technology can be applied to the label on the windshield, or to a stand on the dashboard,
or to the inside of the Taxi light box on top of a taxi, or even directly onto the front and back
license plate. The reader antenna can be mounted either on a low overhang/footbridge or
simply on a pole on the side of the road.
Recommendation
The CS101-2has been tested with tagged vehicles traveling at 90 Km/hr and still achieves
100% read yield. Test beyond 90 Km/hr can be done by customers with such facilities
(including a stretch of road for testing!!)
Copyright © Convergence Systems Limited, All Rights Reserved
199
CSL CS101-2 EPC CLASS 1 GEN 2 RFID HANDHELD READER
USER'S MANUAL, VERSION 1.0
12.11 Document Tracking
Use Case
In some organizations, costs associated with tracking documents are high. An automatic
document management system is especially beneficial in those environments where the
documents are of high value to the organization, and the loss of a document would have
significant negative impact. Examples include hospitals, lawyer’s offices and government
departments.
Current Approach
Documents are tracked and managed manually. Human error may lead to lost of documents.
Moreover, time spent in searching for document is long, especially when documents are not
systematically well organized.
Suggested Approach
RFID technology has made a dramatic improvement in tracking and managing documents. By
tagging the documents and equipping read points for checking in and out, status and location of
documents can be traced easily. Other usages such as inventory checking and locating lost
documents can also be achieved.
Recommendation
Different antennas are designed to be used with the CSL CS-461 reader to fulfill different
requirements of document tracking. For example, for checking in and out of documents, short
and constrained read range is required such that documents that are put near the read points
would not be included accidentally. In this case, the CS-777 near-field antenna that is
optimized to read near-field tags should be used. Oppositely, for inventory taking, longer read
range is required such that all documents within the area are read rapidly. In this case, the
CS-771 Mono-static Antenna with long read range should be used.
Copyright © Convergence Systems Limited, All Rights Reserved
200
CSL CS101-2 EPC CLASS 1 GEN 2 RFID HANDHELD READER
USER'S MANUAL, VERSION 1.0
Appendix A. RFID Basics
Passive tag RFID technology involves the reader, the antenna and the tag.
The reader sends out energy in the relevant frequency band to the antenna via RF cables, and
the antenna radiates the energy out. This energy impinges on an RFID tag.
The RFID tag consists of an antenna coupled to an RFID IC. This IC converts the AC voltage
it receives at the antenna port to DC voltage that in turn is used to empower the digital circuit
inside.
The digital circuit then turns on and off some components connected to the antenna port,
thereby changing its scattering behavior, in a pre-designed clock rate.
This changing of antenna port parameters then causes a “modulation” of the back-scattered RF
energy.
This modulated back-scattered energy is detected by the reader and the modulation is captured
and analyzed.
Copyright © Convergence Systems Limited, All Rights Reserved
201
CSL CS101-2 EPC CLASS 1 GEN 2 RFID HANDHELD READER
USER'S MANUAL, VERSION 1.0
Appendix B. Glossary
Air interface
The complete communication link between an Interrogator and a Tag including the physical
layer, collision arbitration algorithm, command and response structure, and data-coding
methodology.
Autonomous time trigger
Each tag will only be reported once within a duplicate elimination time. See also duplicate
elimination time.
Batch alert to server
Collected tag information are sent to server at the end of each duplicate elimination cycle
(Time Window)
Capture point
Unique name corresponding to each of the four antennas
Command set
The set of commands used to explore and modify a Tag population.
Continuous wave
Typically a sinusoid at a given frequency, but more generally any Interrogator waveform
suitable for powering a passive Tag without amplitude and/or phase modulation of sufficient
magnitude to be interpreted by a Tag as transmitted data.
Cover-coding
A method by which an Interrogator obscures information that it is transmitting to a Tag. To
cover-code data or a password, an Interrogator first requests a random number from the Tag.
The Interrogator then performs a bit-wise EXOR of the data or password with this random
number, and transmits the cover-coded (also called
ciphertext) string to the Tag. The Tag uncovers the data or password by performing a bit-wise
EXOR of the received cover-coded string with the original random number.
Dense-Interrogator environment
An operating environment (defined below) within which the number of simultaneously active
Copyright © Convergence Systems Limited, All Rights Reserved
202
CSL CS101-2 EPC CLASS 1 GEN 2 RFID HANDHELD READER
USER'S MANUAL, VERSION 1.0
Interrogators is large relative to the number of available channels (for example, 50 active
Interrogators operating in 50 available channels).
Duplicate elimination time
Time span of a duplicate elimination cycle, within which duplicate tags will be removed.
Duplicate Elimination Triggering Method
The method used to trigger inventory with duplicate elimination. See also autonomous time
trigger and polling trigger by client.
Estimated tag time in field
An estimation of how long a tag will remain within the read zone of antenna
Event
An event defines action to be performed for a specific triggering logic. See also inventory
enabling trigger, trigger, inventory disabling trigger, and resultant action.
Extended temperature range
–40 °C to +65 °C (see nominal temperature range).
Full-duplex communications
A communications channel that carries data in both directions at once. See also half-duplex
communications.
Half-duplex communications
A communications channel that carries data in one direction at a time rather than in both
directions at once. See also full-duplex communications.
Instant alert to server
Collected tag information are sent to server immediately as it is read
Inventoried flag
A flag that indicates whether a Tag may respond to an Interrogator. Tags maintain a separate
inventoried flag for each of four sessions; each flag has symmetric A and B values. Within any
given session, Interrogators typically inventory Tags from A to B followed by a re-inventory of
Tags from B back to A (or vice versa).
Inventory enabling trigger
Copyright © Convergence Systems Limited, All Rights Reserved
203
CSL CS101-2 EPC CLASS 1 GEN 2 RFID HANDHELD READER
USER'S MANUAL, VERSION 1.0
The initial trigger that turns on the RF power of the reader to start doing inventory
Inventory Enabling Cycle
Time between an inventory enabling trigger and inventory disabling trigger.
Inventory disabling trigger
The trigger that turns off the RF power of the reader to stop doing inventory
Inventory round
The period between successive Query commands.
Inventory Search Mode
Method of reading tags by antenna. See also Single Target Large Population Inventory.
Modulation Profile
Way of transmitting information between tags and reader.
Multiple-Interrogator environment
An operating environment (defined below) within which the number of simultaneously active
Interrogators is modest relative to the number of available channels (for example, 10 active
Interrogators operating in 50 available channels).
Network failure data backlog
Tag data buffered in reader memory during network failure. Buffered tags are sent to trusted
server when network is restored.
Nominal temperature range
–25 °C to +40 °C (see extended temperature range).
Operating environment
A region within which an Interrogator’s RF transmissions are attenuated by less than 90dB. In
free space, the operating environment is a sphere whose radius is approximately 1000m, with
the Interrogator located at the © 2004, EPCglobal Inc. Page 13 of 94 31 January 2005 center.
In a building or other enclosure, the size and shape of the operating environment depends on
factors such as the material properties and shape of the building, and may be less than 1000m
in certain directions and greater than 1000m in other directions.
Operating procedure
Copyright © Convergence Systems Limited, All Rights Reserved
204
CSL CS101-2 EPC CLASS 1 GEN 2 RFID HANDHELD READER
USER'S MANUAL, VERSION 1.0
Collectively, the set of functions and commands used by an Interrogator to identify and modify
Tags. (Also known as the Tag-identification layer.)
Passive Tag (or passive Label)
A Tag (or Label) whose transceiver is powered by the RF field.
Permalock or Permalocked
A memory location whose lock status is unchangeable (i.e. the memory location is permanently
locked or permanently unlocked) is said to be permalocked.
Persistent memory or persistent flag
A memory or flag value whose state is maintained during a brief loss of Tag power.
Physical layer
The data coding and modulation
Tag-to-Interrogator signaling.
waveforms
used
in
Interrogator-to-Tag
and
Polling Trigger by Client
Tags read are buffered in reader until client application polls the read result. A tag will only be
reported once in each polling trigger.
Protocol
Collectively, a physical layer and a Tag-identification layer specification.
A parameter that an Interrogator uses to regulate the probability of Tag response. An
Interrogator commands Tags in an inventory round to load a Q-bit random (or pseudo-random)
number into their slot counter; the Interrogator may also command Tags to decrement their slot
counter. Tags reply when the value in their slot counter (i.e. their slot – see below) is zero. Q is
an integer in the range (0,15); the corresponding Tagresponse probabilities range from 20 = 1
to 2–15 = 0.000031.
Resultant Action
Resultant action that will be enforced when an event logic is established
Single Target Large Population Inventory
A mode for reading a large number of tags at a time accurately. When this mode is used, tags
that are read already will not respond to the reader for a short period of time. This can avoid the
Copyright © Convergence Systems Limited, All Rights Reserved
205
CSL CS101-2 EPC CLASS 1 GEN 2 RFID HANDHELD READER
USER'S MANUAL, VERSION 1.0
strong tags from dominating the week ones.
Session
An inventory process comprising an Interrogator and an associated Tag population. An
Interrogator chooses one of four sessions and inventories Tags within that session. The
Interrogator and associated Tag population operate in one and only one session for the duration
of an inventory round (defined above). For each session, Tags maintain a corresponding
inventoried flag. Sessions allow Tags to keep track of their inventoried status separately for
each of four possible time-interleaved inventory processes, using an independent inventoried
flag for each process.
Single-Interrogator environment
An operating environment (defined above) within which there is a single active Interrogator at
any given time.
Singulation
Identifying an individual Tag in a multiple-Tag environment.
Slot
Slot corresponds to the point in an inventory round at which a Tag may respond. Slot is the
value output by a Tag’s slot counter; Tags reply when their slot (i.e. the value in their slot
counter) is zero. See also Q (above).
Slotted random anticollision
An anticollision algorithm where Tags load a random (or pseudo-random) number into a slot
counter, decrement this slot counter based on Interrogator commands, and reply to the
Interrogator when their slot counter reaches zero.
Tag-identification layer
Collectively, the set of functions and commands used by an Interrogator to identify and modify
Tags (also known as the operating procedure).
Tari
Reference time interval for a data-0 in Interrogator-to-Tag signaling. The mnemonic “Tari”
derives from the ISO/IEC 18000-6 (part A) specification, in which Tari is an abbreviation for
Type A Reference Interval.
Trigger
Copyright © Convergence Systems Limited, All Rights Reserved
206
CSL CS101-2 EPC CLASS 1 GEN 2 RFID HANDHELD READER
USER'S MANUAL, VERSION 1.0
A stimulus that causes the reader to recognize it and do something about it.
Trusted Server
Server for automatic data submission by the reader using the event engine.
Copyright © Convergence Systems Limited, All Rights Reserved
207
CSL CS101-2 EPC CLASS 1 GEN 2 RFID HANDHELD READER
USER'S MANUAL, VERSION 1.0
Appendix C. Federal Communication
Commissions Compliance
This equipment has been tested and found to comply with the limits for a class B digital device,
pursuant to Part 15 of the FCC Rules. These limits are designed to provide reasonable
protection against harmful interference when the equipment is operated in a commercial
environment. This equipment generates, uses and can radiate radio frequency energy and, if not
installed and used in accordance with the instructions, may cause harmful interference to radio
communications. However, there is no guarantee that interference will not occur in a particular
installation. If this equipment does cause harmful interference to radio or television reception,
which can be determined by turning the equipment off and on, the user is encouraged to try to
correct the interference by one or more of the following measures:
Reorient or relocate the receiving antenna
Increase the separation between the equipment and receiver
Consult the dealer or an qualified radio/TV technician for assistance
FCC NOTICE: To comply with FCC part 15 rules in the United States, the system must be
professionally installed to ensure compliance with the Part 15 certification. It is the
responsibility of the operator and professional installer to ensure that only certified systems are
deployed in the United States. The use of the system in any other combination (such as
co-located antennas transmitting the same information) is expressly forbidden.
Note:
Changes or modifications not expressly approved by the party responsible for compliance
could void the user’s authority to operate the equipment.
Copyright © Convergence Systems Limited, All Rights Reserved
208
CSL CS101-2 EPC CLASS 1 GEN 2 RFID HANDHELD READER
USER'S MANUAL, VERSION 1.0
Appendix D. Maximum Permissible Exposure
This section has been prepared on behalf of CSL CS101-2 RFID Handheld Reader Device to
show compliance with the RF exposure requirements as defined in FCC Section 47 §1.1307.
Three different categories of transmitters are defined by the FCC in OET Bulletin 65. These
categories are fixed installation, mobile, and portable and are defined as follows:
•
Fixed Installations: fixed location means that the device, including its antenna, is
physically secured at a permanent location and is not able to be easily moved to another
location. Additionally, distance to humans from the antenna is maintained to at least 2
meters.
•
Mobile Devices: a mobile device is defined as a transmitting device designed to be
used in other than fixed locations and to be generally used in such a way that a
separation distance of at least 20 centimeters is normally maintained between the
transmitter's radiating structures and the body of the user or nearby persons.
Transmitters designed to be used by consumers or workers that can be easily re-located,
such as a wireless modem operating in a laptop computer, are considered mobile
devices if they meet the 20 centimeter separation requirement. The FCC rules for
evaluating mobile devices for RF compliance are found in 47 CFR §2.1091.
•
Portable Devices: a portable device is defined as a transmitting device designed to be
used so that the radiating structure(s) of the device is/are within 20 centimeters of the
body of the user. Portable device requirements are found in Section 2.1093 of the FCC's
Rules (47 CFR§2.1093).
The CS101-2 RFID reader is considered as a mobile device as it is used for the purpose of
reading tags.
The FCC also categorizes the use of the device as based upon the user’s awareness and ability
to exercise control over his or her exposure. The two categories defined are Occupational/
Controlled Exposure and General Population/Uncontrolled Exposure. These two categories are
defined as follows:
•
Occupational/Controlled Exposure: In general, occupational/controlled exposure
limits are applicable to situations in which persons are exposed as a consequence of
Copyright © Convergence Systems Limited, All Rights Reserved
209
CSL CS101-2 EPC CLASS 1 GEN 2 RFID HANDHELD READER
USER'S MANUAL, VERSION 1.0
their employment, who have been made fully aware of the potential for exposure and
can exercise control over their exposure. This exposure category is also applicable
when the exposure is of a transient nature due to incidental passage through a location
where the exposure levels may be higher than the general population/uncontrolled
limits, but the exposed person is fully aware of the potential for exposure and can
exercise control over his or her exposure by leaving the area or by some other
appropriate means. Awareness of the potential for RF exposure in a workplace or
similar environment can be provided through specific training as part of a RF safety
program. If appropriate, warning signs and labels can also be used to establish such
awareness by providing prominent information on the risk of potential exposure and
instructions on methods to minimize such exposure risks.
•
General Population/Uncontrolled Exposure: The general population / uncontrolled
exposure limits are applicable to situations in which the general public may be exposed
or in which persons who are exposed as a consequence of their employment may not be
made fully aware of the potential for exposure or cannot exercise control over their
exposure. Members of the general public would come under this category when
exposure is not employment-related; for example, in the case of a wireless transmitter
that exposes persons in its vicinity. Warning labels placed on low-power consumer
devices such as cellular telephones are not considered sufficient to allow the device to
be considered under the occupational/controlled category, and the general
population/uncontrolled exposure limits apply to these devices.
Copyright © Convergence Systems Limited, All Rights Reserved
210
CSL CS101-2 EPC CLASS 1 GEN 2 RFID HANDHELD READER
USER'S MANUAL, VERSION 1.0
Radio Frequency Radiation Exposure Evaluation ─ RFID Mode:
The measured highest RF output power of the EUT feeding to the embedded antenna was
28.6dBm at 927.25MHz. According to §1.1310 of the FCC rules, the power density limit for
General Population/Uncontrolled Exposure at 927.25 MHz is f(MHz)/1500 = 0.6182mW/cm2.
The maximum permissible exposure (MPE) is calculated to show the required separation
distance that must be maintained during installation to maintain compliance with the power
density limit.
The following formula was used to calculate the Power Density:
S=
PG
4πR 2
where:
S = Power density
P = Power feeding to the embedded patch antenna
G = Tx gain of the antenna (linear gain)
R = Distance from the antenna
For the EUT, the calculation is as follows:
P = 28.6dBm = 724.4mW
G = Maximum Antenna Gain = 5.5dBi = anti-log(5.5/10) = 3.55
At 20cm separation,
S=
724.4 × 3.55
=0.5116mW/cm2
4π (20) 2
Based on the above calculation for 20cm separation, the power density does not exceed FCC
limit of 0.6182mW/cm2.
Copyright © Convergence Systems Limited, All Rights Reserved
211
CSL CS101-2 EPC CLASS 1 GEN 2 RFID HANDHELD READER
USER'S MANUAL, VERSION 1.0
Radio Frequency Radiation Exposure Evaluation ─ WiFi Mode:
The measured highest RF output power of the EUT feeding to the embedded antenna was
11.5dBm at 2412MHz. According to §1.1310 of the FCC rules, the power density limit for
General Population/Uncontrolled Exposure at 2412MHz is = 1.0 mW/cm2. The maximum
permissible exposure (MPE) is calculated to show the required separation distance that must be
maintained during installation to maintain compliance with the power density limit.
The following formula was used to calculate the Power Density:
S=
PG
4πR 2
where:
S = Power density
P = Power feeding to the embedded patch antenna
G = Tx gain of antenna (linear gain)
R = Distance from the antenna
For the EUT, the calculation is as follows:
P = 11.5dBm = 14.13mW
G = Maximum Antenna Gain = 1.6dBi = anti-log(1.6/10) = 1.445
At 20cm separation,
S=
14.13 × 1.445
=0.004062mW/cm2
4π (20) 2
Based on the above calculation for 20cm separation, the power density does not exceed FCC
limit of 1.0mW/cm2.
Copyright © Convergence Systems Limited, All Rights Reserved
212

Source Exif Data:
File Type                       : PDF
File Type Extension             : pdf
MIME Type                       : application/pdf
PDF Version                     : 1.4
Linearized                      : No
Create Date                     : 2007:12:17 07:11:21Z
Modify Date                     : 2008:02:26 15:09:24+08:00
Page Count                      : 213
Creation Date                   : 2007:12:17 07:11:21Z
Mod Date                        : 2008:02:26 15:09:24+08:00
Producer                        : Acrobat Distiller 5.0.5 (Windows)
Author                          : leungyat
Metadata Date                   : 2008:02:26 15:09:24+08:00
Creator                         : leungyat
Title                           : Microsoft Word - appendix 9 cover
Has XFA                         : No
EXIF Metadata provided by EXIF.tools
FCC ID Filing: UB4CS101C1GEN2

Navigation menu