FEIG Configuration

Supported Reader Types

Fosstrak HAL FEIG implementation was designed for and tested on following reader types of the FEIG OBID i-scan series:

  • ID ISC.LRU1000 (Ethernet, TPC/IP)
  • ID ISC.MR101-A (RS232/485, COM)

    The implementations are tested on the reader models mentioned above but may work for other readers with the same interface and protocol: e.g. ID ISC.M02-B, ID ISC.PRH101-A, ID ISC.PR101-A.

ID ISC.LRU1000

Configuration of the Fosstrak Reader

The following XML code is an example on how to configure the Fosstrak Reader to use this readers HAL implementation. The name can be chosen arbitrary but must be unique if multiple readers are configured. The class implementing the HardwareAbstraction interface for this reader type is org.fosstrak.hal.impl.feig.FeigTCPIPController. The properties element contains the path to the configuration file. For information about this see the configuration file example below.

<?xml version="1.0" encoding="UTF-8"?>
<properties>

   <!-- ... other configuration elements ... -->

   <!-- All readers (HardwareAbstractions) used -->
      <readers>
         <reader>
            <name>FeigTCPIPController</name>
            <class>org.fosstrak.hal.impl.feig.FeigTCPIPController</class>
            <properties>/props/FeigTCPIPController.xml</properties>
            <readpoint>Antenna1</readpoint>
         </reader>
      </readers>
   <!-- End -->

   <!-- ... other configuration elements ... -->

</properties>

Configuration File Example

<?xml version="1.0" encoding="UTF-8"?>
<!-- Properties file for Feig i-scan UHF readers using a TCP/IP connection -->
<!-- Reader: Feig Long Range Reader OBID i-scan ID ISC.LRU1000 (TCP/IP) -->
<properties>

   <!-- Address of the reader -->
   <!-- Value: address (string) -->
   <address>129.132.75.246</address>

   <!-- The port the reader is listening -->
   <!-- Value: port number between 0 and 65525 -->
   <port>10001</port>

   <!-- The communication timeout in milliseconds -->
   <!-- Value: timeout (integer value) -->
   <timeout>5000</timeout>

   <!-- Configuration file with the transponder model configuration -->
   <epcTransponderModelsConfig>/props/EPCTransponderModels_default.xml</epcTransponderModelsConfig>

   <!-- The IdTypes configuration file -->
   <idTypesConfig>/props/IDTypes_default.xml</idTypesConfig>

   <!-- List of readpoints that represent specific antennas
        The name of the readpoint can be chosen arbitrary but it must be unique.
        The connector of the readpoint is the number of the channel the antenna is connected to.
        The connector number is an integer in the range 1 to 4. -->
   <readpoint>
      <name>Antenna1</name>
      <connector>1</connector>
   </readpoint>

</properties>

ID ISC.MR101-A

Configuration of the Fosstrak Reader

The following XML code is an example on how to configure the Fosstrak Reader to use this readers HAL implementation. The name can be chosen arbitrary but must be unique if multiple readers are configured. The class implementing the HardwareAbstraction interface for this reader type is org.fosstrak.hal.impl.feig.FeigCOMController. The properties element contains the path to the configuration file. For information about this see the configuration file example below.

<?xml version="1.0" encoding="UTF-8"?>
<properties>

   <!-- ... other configuration elements ... -->

   <!-- All readers (HardwareAbstractions) used -->
      <readers>
         <reader>
            <name>FeigCOMController</name>
            <class>org.fosstrak.hal.impl.feig.FeigCOMController</class>
            <properties>/props/FeigCOMController.xml</properties>
            <readpoint>Antenna1</readpoint>
            <readpoint>Antenna2</readpoint>
         </reader>
      </readers>
   <!-- End -->

   <!-- ... other configuration elements ... -->

</properties>

Configuration File Example

<?xml version="1.0" encoding="UTF-8"?>
<!-- Properties file for Feig i-scan HF readers using a serial connection (RS232) -->
<!-- Reader: Feig Midrange Reader ID ISC.MR/PR/PRH10x (serial version) -->
<properties>

   <!-- Number of the COM port the reader is attached to -->
   <!-- Value: COM port number (1-16) -->
   <comPort>1</comPort>

   <!-- The communication speed (baud rate) of the COM port -->
   <!-- Value: 115200, 57600, 38400, 19200, 9600, 4800, 2400 or 1200 -->
   <baudRate>38400</baudRate>

   <!-- The serial frame format -->
   <!-- Value format: dps, where d = databits (7, 8),
      p = parity (N[one], E[ven], O[dd]) and s = stopbit (0, 1, 2) -->
   <!-- Example: <frame>8E1</frame> -->
   <frame>8E1</frame>

   <!-- The COM communication timeout in milliseconds -->
   <!-- Note: Multiplexers and high number of tags increase the readtime.
      Use a higher timeout value in this case (~1500ms). -->
   <!-- Value: timeout (integer value) -->
   <timeout>1000</timeout>

   <!-- The Tag / Transponder model that is used in the application -->
   <!-- Note: It is possible to ommit the transponder model. In this case, the
      tag type is tried to be determined automatically. This requires additional
      read cycles for specific operations which may not be appropriate. This is
      the only possibility if more than one transponder type is used within a
      single application though. -->
   <!-- Value: transponder type name. Use getSupportedTransponderTypes() to get
      a list of supported transponders of the attached reader. (This is reader
      firmware specific and cannot be determined in advance) -->
   <!-- Example: <transponderModel>ICODESLI</transponderModel> -->
   <transponderModel>ICODE1</transponderModel>

   <!-- The multiplexer configuration file -->
   <!-- Note: Multiplexer configuration is set up in a separate properties file.
      For single antenna configuration the multiplexerConfig element can be
      commented out and a single readpoint name given in this file (see below). -->
   <!-- Value: multiplexer configuration file name -->
   <multiplexerConfig>/props/FeigMultiplex.xml</multiplexerConfig>

   <!-- If no multiplexer configuration file defined, you can declare one single
      readpoint name here. This parameter is omitted if a multiplexerConfig
      element exists above. -->
   <!-- The name of the readpoint can be chosen arbitrary but it must be unique. -->
   <!--readpoint>
      <name>Antenna</name>
   </readpoint-->

</properties>

Optional multiplex configuration:

<?xml version="1.0" encoding="UTF-8"?>
<!-- Properties file for Feig antenna multiplexers -->
<!-- Multiplexer: Feig i-scan ID ISC.ANT.MUX -->
<properties>

   <!-- List of readpoints that represent specific antennas
      The name of the readpoint can be chosen arbitrary but it must be unique.
      The map of the readpoint is a vector of channels that represent the path
         from the reader to the readpoint (antenna).
      The map vector has dimension 3 where each component defines the output
         channel (0-8) of a multiplexer at levels 1-3.
      Multiplexer levels that are unused for a specific readpoint are set to 0. -->
   <readpoint>
      <name>Antenna1</name>
      <map>1,0,0</map>
   </readpoint>
   <readpoint>
      <name>Antenna2</name>
      <map>2,0,0</map>
   </readpoint>

</properties>

Java Communications API

To communicate with the reader over a COM-port, the HAL implementation for ID ISC.MR101-A uses the Java Communications API. It has been desinged and tested with Java Communications 2.0 API on Windows XP (win32).

The current version of the Java Communications API is 3.0 and can be found on the Java Communications product page. There are versions for Solaris and Linux only, support for Windows has been dropped. Java Communication 2.0 API for Windows can be found on the internet.