Indy QT Read/Write Sample Application

Updated: January 27, 2010


Description:

This document details the use of the sample QT Read/Write
( qtreadwrite.exe ) program included with the Indy RFID SDK
source distribution.

The QT Read/Write program allows the user to perform tag 
protocol QT operations on ISO 18000-6C QT capable tags.
Refer to Impinj Monza4 Tag Chip Datasheet for the features
of QT capable tags.  


Source Code:

The source code for the QT Read/Write sample can be found within the
SDK source distribution under the directory:

host/rfid_library/samples/qtreadwrite


Binary Code:

The SDK source distribution does not contain a sample binary and it
is up to the user to perform compilation of the code based on their
platform.  The easiest way to accomplish this is by following the
detailed installation and compile instructions provided in:

Indy_Host_Library_SDK_Getting_Started_Guide

A successful build of the SDK source distribution will result in an
executable being produced for the QT Read/Write program.  The
executable file will be named:

qtreadwrite.exe

It will be located in the directory:

host/rfid_library/samples/qtreadwrite


Using the QT Read/Write program:

1) Command Line Arguments and Command Line Help

To print the QT Read/Write command line help screen, just enter the 
executable name with no arguments (or -h or -?), and the following 
help will be displayed.

Usage:  qtreadwrite [-h|?] -qtrw=READ|WRITE -qtp=TEMP|PERM -qtmm=PUB|PRIV
                    -qtsr=OFF|ON [-opt=NONE|READ|WRITE]
                    [-mb=USER|RES|EPC|TID] [-so=<value>] [-wl=<value>]
  where:
        -h or -? will display this usage
        -qtrw    Read/Write QT Control bits
        -qtp     QT Persistence (Temporary or Permanent)
        -qtmm    QT Memory Map (Public or Private)
        -qtsr    QT Short Range (OFF=tag range not reduced, ON=tag range
                     is reduced
        -opt     optional QT access command (default is NONE)
        -mb      specifies the tag memory bank (only for read/write,
                     default is EPC)
        -so      specifies the starting offset in the memory bank
                     (only for read/write, default is 2)
        -wl      specifies the number of 16-bit words to read/write,
                     (only for read/write and can not be greater than 1024,
                     default is 6)


2) Command Line Argument Details

-h or -?  Displays the help screen, as will no arguments or an invalid 
          argument.
          
-qtrw     Required argument.  Specifies the operation to perform 
          (READ or WRITE) on the tag QT control bits.
          
-qtp      Required argument.  Only applicable when -qtrw=WRITE but must
          still be specified  when -qtrw=READ is selected.  Specifies
          the persistence setting (TEMP or PERM, i.e. temporary or 
          permanent, respectively) for the memory map (-qtmm) and 
          short range (-qtsr) QT control settings.
          
-qtmm     Required argument.  Only applicable when -qtrw=WRITE but must
          still be specified  when -qtrw=READ is selected.  Specifies
          the memory map (PUB or PRIV, i.e. public or private, 
          respectively) QT control setting.
          
-qtsr     Required argument.  Only applicable when -qtrw=WRITE but must
          still be specified  when -qtrw=READ is selected.  Specifies
          the short range(OFF or ON, i.e. tag range not reduced or
          tag range is reduced, respectively) QT control setting.


-opt     Optional argument, default is NONE.  Used to specifiy an optional 
         tag access command (READ or WRITE) to be executed in conjunction 
         with the QT operation.  
         
-mb      Optional argument, default is EPC.  This argument is only meaningful
         if -opt=READ or -opt=WRITE is specified, and defines which tag memory
         bank (USER or RES or EPC or TID)is to be read or written.

-so      Optional argument, default is 2.  This argument is only meaningful
         if -opt=READ or -opt=WRITE is specified, and defines the tag memory
         bank starting offset where the read/write should begin.
         
-wl      Optional argument, default is 6.  This argument is only meaningful
         if -opt=READ or -opt=WRITE is specified, and specifies the number
         of 16-bit words to read/write.
