org.fosstrak.hal.impl.feig
Class FeigCOMController

java.lang.Object
  extended by org.fosstrak.hal.impl.feig.FeigCOMController
All Implemented Interfaces:
HardwareAbstraction, FeigController

public class FeigCOMController
extends java.lang.Object
implements FeigController

Author:
altery

Constructor Summary
FeigCOMController(java.lang.String halName, java.lang.String propFile)
           
 
Method Summary
 void addAsynchronousIdentifyListener(AsynchronousIdentifyListener listener)
          Adds an asynchronous identify listener.
 java.lang.String[] getAllParameterNames()
          (non-Javadoc)
 java.lang.String getHALName()
          Returns the HAL name.
protected  java.util.Vector<InventoryItem> getInventory()
          Throws RFIDException if error occurs.
 java.lang.String getParameter(java.lang.String param)
          (non-Javadoc)
 java.lang.String[] getReadPointNames()
          (non-Javadoc)
 int getReadPointNoiseLevel(java.lang.String readPointName, boolean normalize)
          Returns the current noise level observed at a certain read point.
 int getReadPointPowerLevel(java.lang.String readPointName, boolean normalize)
          Returns the current transmit power level of a certain read point.
 java.lang.String[] getSupportedTransponderTypes()
           
 Observation[] identify(java.lang.String[] readPointNames)
          (non-Javadoc)
 void initialize()
          Initialize the reader hardware.
protected  void initReader(int comPort, java.lang.String baudRate, java.lang.String frame)
          initializes the reader.
 boolean isAsynchronousIdentifyRunning()
          Checks whether asynchronous identify is running.
 boolean isReadPointReady(java.lang.String readPointName)
          Checks whether a read point is ready (i.e. it has been started up).
 void kill(java.lang.String readPointName, java.lang.String id, java.lang.String[] passwords)
          Kills the specified tag, if in range.
protected  void populateSystemInformation(java.util.Vector<InventoryItem> inventory)
           
 UnsignedByteArray readBytes(java.lang.String readPointName, java.lang.String id, int memoryBank, int offset, int length, java.lang.String[] passwords)
          (non-Javadoc)
 void removeAsynchronousIdentifyListener(AsynchronousIdentifyListener listener)
          removes an asynchronous identify listener.
 void reset()
          (non-Javadoc)
 boolean selectChannel(int address, int channel)
           
 boolean selectReadpoint(java.lang.String readPointName)
           
 void setParameter(java.lang.String param, java.lang.String value)
          (non-Javadoc)
 void shutDownReadPoint(java.lang.String readPointName)
          Shuts down a read point.
 void startAsynchronousIdentify(java.lang.String[] readPointNames, Trigger trigger)
          Identifies the tags in a reader's field in a continuous way that operates asynchronously.
 void startUpReadPoint(java.lang.String readPointName)
          Starts up a read point.
 void stopAsynchronousIdentify()
          Stops the asynchronous identification for a specific listener.
 boolean supportsAsynchronousIdentify()
          Checks whether this HAL controller implementation supports the startAsynchronousIdentify(), stopAsynchronousIdentify(), isAsynchronousIdentifyRunning(), addAsynchronousIdentifyListener() and removeAsynchronousIdentifyListener() methods.
 boolean supportsGetReadPointNoiseLevel()
          Checks whether this HAL controller implementation supports the getReadPointNoiseLevel() method.
 boolean supportsGetReadPointPowerLevel()
          Checks whether this HAL controller implementation supports the getReadPointPowerLevel() method.
 boolean supportsIsReadPointReady()
          Checks whether this HAL controller implementation supports the isReadPointReady() method.
 boolean supportsKill()
          Checks whether this HAL controller implementation supports the kill() method.
 boolean supportsParameters()
          (non-Javadoc)
 boolean supportsReadBytes()
          Checks whether this HAL controller implementation supports the readBytes() method.
 boolean supportsReset()
          (non-Javadoc)
 boolean supportsShutDownReadPoint()
          Checks whether this HAL controller implementation supports the shutDownReadPoint() method.
 boolean supportsStartUpReadPoint()
          Checks whether this HAL controller implementation supports the startUpReadPoint() method.
 boolean supportsWriteBytes()
          Checks whether this HAL controller implementation supports the writeBytes() method.
 boolean supportsWriteId()
          (non-Javadoc)
 void writeBytes(java.lang.String readPointName, java.lang.String id, int memoryBank, int offset, UnsignedByteArray data, java.lang.String[] passwords)
          (non-Javadoc)
 void writeId(java.lang.String readPointName, java.lang.String id, java.lang.String[] passwords)
          (non-Javadoc)
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

FeigCOMController

public FeigCOMController(java.lang.String halName,
                         java.lang.String propFile)
Parameters:
halName -
Method Detail

initialize

public void initialize()
                throws HardwareException
Initialize the reader hardware.

Throws:
HardwareException

identify

public Observation[] identify(java.lang.String[] readPointNames)
                       throws HardwareException
(non-Javadoc)

Specified by:
identify in interface HardwareAbstraction
Parameters:
readPointNames - Array that contains the names of all read points to be scanned
Returns:
An array that contains for each read point an Observation object
Throws:
HardwareException
See Also:
HardwareAbstraction.identify(java.lang.String[])

getReadPointNames

public java.lang.String[] getReadPointNames()
(non-Javadoc)

Specified by:
getReadPointNames in interface HardwareAbstraction
Returns:
An array containing the names of all available read points
See Also:
HardwareAbstraction.getReadPointNames()

readBytes

public UnsignedByteArray readBytes(java.lang.String readPointName,
                                   java.lang.String id,
                                   int memoryBank,
                                   int offset,
                                   int length,
                                   java.lang.String[] passwords)
                            throws HardwareException,
                                   UnsupportedOperationException
(non-Javadoc)

Specified by:
readBytes in interface HardwareAbstraction
Parameters:
readPointName - The name of the read point on which the read attempt will be done
id - ID of the tag from which the data will be read
memoryBank - The number of the memory bank of the data
offset - The offset of the data in bytes
length - The number of bytes to be read
passwords - An optional list of one or more passwords (or lock code)
Returns:
The data that has been read from the tag
Throws:
HardwareException
UnsupportedOperationException
See Also:
HardwareAbstraction.readBytes(java.lang.String, java.lang.String, int, int, int, java.lang.String[])

writeBytes

public void writeBytes(java.lang.String readPointName,
                       java.lang.String id,
                       int memoryBank,
                       int offset,
                       UnsignedByteArray data,
                       java.lang.String[] passwords)
                throws HardwareException,
                       UnsupportedOperationException
(non-Javadoc)

Specified by:
writeBytes in interface HardwareAbstraction
Parameters:
readPointName - The name of the read point on which the write attempt will be done
id - ID of the tag to which the data will be written
memoryBank - The number of the memory bank of the data
offset - The offset of the data in bytes
data - The byte data to be written to the tag
passwords - An optional list of one or more passwords (or lock code)
Throws:
HardwareException
UnsupportedOperationException
See Also:
HardwareAbstraction.writeBytes(java.lang.String, java.lang.String, int, int, UnsignedByteArray, java.lang.String[])

writeId

public void writeId(java.lang.String readPointName,
                    java.lang.String id,
                    java.lang.String[] passwords)
             throws HardwareException,
                    UnsupportedOperationException
(non-Javadoc)

Specified by:
writeId in interface HardwareAbstraction
Parameters:
readPointName - The name of the read point on which the write attempt will be done
id - the new ID for the tag
passwords - an optional list of one or more passwords (or lock code)
Throws:
HardwareException
UnsupportedOperationException
See Also:
HardwareAbstraction.writeId(java.lang.String, java.lang.String, java.lang.String[])

supportsWriteId

public boolean supportsWriteId()
(non-Javadoc)

Specified by:
supportsWriteId in interface HardwareAbstraction
Returns:
true, if method is supported, false otherwise
See Also:
HardwareAbstraction.supportsWriteId()

reset

public void reset()
           throws HardwareException
(non-Javadoc)

Specified by:
reset in interface HardwareAbstraction
Throws:
HardwareException
See Also:
HardwareAbstraction.reset()

supportsReset

public boolean supportsReset()
(non-Javadoc)

Specified by:
supportsReset in interface HardwareAbstraction
Returns:
true, if method is supported, false otherwise
See Also:
HardwareAbstraction.supportsReset()

setParameter

public void setParameter(java.lang.String param,
                         java.lang.String value)
                  throws HardwareException
(non-Javadoc)

Specified by:
setParameter in interface HardwareAbstraction
Parameters:
param - The parameter name
value - The parameter value
Throws:
HardwareException
See Also:
HardwareAbstraction.setParameter(java.lang.String, java.lang.String)

getParameter

public java.lang.String getParameter(java.lang.String param)
                              throws HardwareException
(non-Javadoc)

Specified by:
getParameter in interface HardwareAbstraction
Parameters:
param - The parameter name to be read
Returns:
The parameter value
Throws:
HardwareException
See Also:
HardwareAbstraction.getParameter(java.lang.String)

supportsParameters

public boolean supportsParameters()
(non-Javadoc)

Specified by:
supportsParameters in interface HardwareAbstraction
Returns:
true, if methods are supported, false otherwise
See Also:
HardwareAbstraction.supportsParameters()

getAllParameterNames

public java.lang.String[] getAllParameterNames()
                                        throws HardwareException,
                                               UnsupportedOperationException
(non-Javadoc)

Specified by:
getAllParameterNames in interface HardwareAbstraction
Returns:
The parameter names of all supported paramters
Throws:
HardwareException
UnsupportedOperationException
See Also:
HardwareAbstraction.getAllParameterNames()

populateSystemInformation

protected void populateSystemInformation(java.util.Vector<InventoryItem> inventory)
                                  throws HardwareException
Throws:
HardwareException

getInventory

protected java.util.Vector<InventoryItem> getInventory()
                                                throws HardwareException
Throws RFIDException if error occurs. (returns empty Vector if error occurs!)

Returns:
a vector with all inventory items
Throws:
HardwareException

initReader

protected void initReader(int comPort,
                          java.lang.String baudRate,
                          java.lang.String frame)
                   throws HardwareException
initializes the reader.

Parameters:
comPort - the port number the reader is connected to.
baudRate - the baud rate used for communication with the reader
frame - a frame constisting of databit, parity and stopbit
Throws:
RFIDException - if the port is not found, the frame is not supported, an io-error occurs...
HardwareException

getHALName

public java.lang.String getHALName()
Description copied from interface: HardwareAbstraction
Returns the HAL name. The HAL name identifies the HAL controller instance and should be specified in a properties file.

Specified by:
getHALName in interface HardwareAbstraction
Returns:
The HAL name

supportsReadBytes

public boolean supportsReadBytes()
Description copied from interface: HardwareAbstraction
Checks whether this HAL controller implementation supports the readBytes() method.

Specified by:
supportsReadBytes in interface HardwareAbstraction
Returns:
true, if method is supported, false otherwise

supportsWriteBytes

public boolean supportsWriteBytes()
Description copied from interface: HardwareAbstraction
Checks whether this HAL controller implementation supports the writeBytes() method.

Specified by:
supportsWriteBytes in interface HardwareAbstraction
Returns:
true, if method is supported, false otherwise

startAsynchronousIdentify

public void startAsynchronousIdentify(java.lang.String[] readPointNames,
                                      Trigger trigger)
                               throws HardwareException,
                                      UnsupportedOperationException
Description copied from interface: HardwareAbstraction
Identifies the tags in a reader's field in a continuous way that operates asynchronously. If the controller is a single-read-point-reader the array readPointNames should contain only one read point.

Specified by:
startAsynchronousIdentify in interface HardwareAbstraction
Parameters:
readPointNames - Assay that contains the names of all read points to be scanned
trigger - The trigger that indicates the type of asynchronous identify
Throws:
HardwareException
UnsupportedOperationException

stopAsynchronousIdentify

public void stopAsynchronousIdentify()
                              throws HardwareException,
                                     UnsupportedOperationException
Description copied from interface: HardwareAbstraction
Stops the asynchronous identification for a specific listener.

Specified by:
stopAsynchronousIdentify in interface HardwareAbstraction
Throws:
HardwareException
UnsupportedOperationException

isAsynchronousIdentifyRunning

public boolean isAsynchronousIdentifyRunning()
                                      throws HardwareException,
                                             UnsupportedOperationException
Description copied from interface: HardwareAbstraction
Checks whether asynchronous identify is running.

Specified by:
isAsynchronousIdentifyRunning in interface HardwareAbstraction
Returns:
true, if asynchronous identify is running, false otherwise
Throws:
HardwareException
UnsupportedOperationException

addAsynchronousIdentifyListener

public void addAsynchronousIdentifyListener(AsynchronousIdentifyListener listener)
                                     throws HardwareException,
                                            UnsupportedOperationException
Description copied from interface: HardwareAbstraction
Adds an asynchronous identify listener.

Specified by:
addAsynchronousIdentifyListener in interface HardwareAbstraction
Throws:
HardwareException
UnsupportedOperationException

removeAsynchronousIdentifyListener

public void removeAsynchronousIdentifyListener(AsynchronousIdentifyListener listener)
                                        throws HardwareException,
                                               UnsupportedOperationException
Description copied from interface: HardwareAbstraction
removes an asynchronous identify listener.

Specified by:
removeAsynchronousIdentifyListener in interface HardwareAbstraction
Throws:
HardwareException
UnsupportedOperationException

supportsAsynchronousIdentify

public boolean supportsAsynchronousIdentify()
Description copied from interface: HardwareAbstraction
Checks whether this HAL controller implementation supports the startAsynchronousIdentify(), stopAsynchronousIdentify(), isAsynchronousIdentifyRunning(), addAsynchronousIdentifyListener() and removeAsynchronousIdentifyListener() methods.

Specified by:
supportsAsynchronousIdentify in interface HardwareAbstraction
Returns:
true, if methods are supported, false otherwise

isReadPointReady

public boolean isReadPointReady(java.lang.String readPointName)
Description copied from interface: HardwareAbstraction
Checks whether a read point is ready (i.e. it has been started up).

Specified by:
isReadPointReady in interface HardwareAbstraction
Parameters:
readPointName - The name of the read point
Returns:
true it the antenna is ready, false otherwise

supportsIsReadPointReady

public boolean supportsIsReadPointReady()
Description copied from interface: HardwareAbstraction
Checks whether this HAL controller implementation supports the isReadPointReady() method.

Specified by:
supportsIsReadPointReady in interface HardwareAbstraction
Returns:
true, if method is supported, false otherwise

kill

public void kill(java.lang.String readPointName,
                 java.lang.String id,
                 java.lang.String[] passwords)
          throws HardwareException,
                 UnsupportedOperationException
Description copied from interface: HardwareAbstraction
Kills the specified tag, if in range. A killed tag doesn't respond to requests any longer.

Specified by:
kill in interface HardwareAbstraction
Parameters:
readPointName - the name of the read point on which the kill attempt will be done
id - id of the tag that will be killed
passwords - an optional list of one or more passwords (or lock code)
Throws:
HardwareException
UnsupportedOperationException

shutDownReadPoint

public void shutDownReadPoint(java.lang.String readPointName)
Description copied from interface: HardwareAbstraction
Shuts down a read point.

Specified by:
shutDownReadPoint in interface HardwareAbstraction
Parameters:
readPointName - The name of the read point

supportsShutDownReadPoint

public boolean supportsShutDownReadPoint()
Description copied from interface: HardwareAbstraction
Checks whether this HAL controller implementation supports the shutDownReadPoint() method.

Specified by:
supportsShutDownReadPoint in interface HardwareAbstraction
Returns:
true, if method is supported, false otherwise

startUpReadPoint

public void startUpReadPoint(java.lang.String readPointName)
Description copied from interface: HardwareAbstraction
Starts up a read point.

Specified by:
startUpReadPoint in interface HardwareAbstraction
Parameters:
readPointName - The name of the read point

supportsStartUpReadPoint

public boolean supportsStartUpReadPoint()
Description copied from interface: HardwareAbstraction
Checks whether this HAL controller implementation supports the startUpReadPoint() method.

Specified by:
supportsStartUpReadPoint in interface HardwareAbstraction
Returns:
true, if method is supported, false otherwise

supportsKill

public boolean supportsKill()
Description copied from interface: HardwareAbstraction
Checks whether this HAL controller implementation supports the kill() method.

Specified by:
supportsKill in interface HardwareAbstraction
Returns:
true, if method is supported, false otherwise

getReadPointNoiseLevel

public int getReadPointNoiseLevel(java.lang.String readPointName,
                                  boolean normalize)
Description copied from interface: HardwareAbstraction
Returns the current noise level observed at a certain read point.

Specified by:
getReadPointNoiseLevel in interface HardwareAbstraction
Parameters:
readPointName - The name of the read point
normalize - Specifies whether the noise level should be returned in a normalized form (i.e. in a range from 0 to 255)
Returns:
The current noise level observed at the read point

supportsGetReadPointNoiseLevel

public boolean supportsGetReadPointNoiseLevel()
Description copied from interface: HardwareAbstraction
Checks whether this HAL controller implementation supports the getReadPointNoiseLevel() method.

Specified by:
supportsGetReadPointNoiseLevel in interface HardwareAbstraction
Returns:
true, if method is supported, false otherwise

getReadPointPowerLevel

public int getReadPointPowerLevel(java.lang.String readPointName,
                                  boolean normalize)
Description copied from interface: HardwareAbstraction
Returns the current transmit power level of a certain read point.

Specified by:
getReadPointPowerLevel in interface HardwareAbstraction
Parameters:
readPointName - The name of the read point
normalize - Specifies whether the power level should be returned in a normalized form (i.e. in a range from 0 to 255)
Returns:
The current transmit power level of the read point

supportsGetReadPointPowerLevel

public boolean supportsGetReadPointPowerLevel()
Description copied from interface: HardwareAbstraction
Checks whether this HAL controller implementation supports the getReadPointPowerLevel() method.

Specified by:
supportsGetReadPointPowerLevel in interface HardwareAbstraction
Returns:
true, if method is supported, false otherwise

selectReadpoint

public boolean selectReadpoint(java.lang.String readPointName)

selectChannel

public boolean selectChannel(int address,
                             int channel)
                      throws HardwareException
Specified by:
selectChannel in interface FeigController
Throws:
HardwareException

getSupportedTransponderTypes

public java.lang.String[] getSupportedTransponderTypes()


Copyright © 2008. All Rights Reserved.