|
|||||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |
java.lang.Objectcom.alien.enterpriseRFID.reader.AbstractReader
com.alien.enterpriseRFID.reader.AlienClass1Reader
com.alien.enterpriseRFID.reader.AlienClassOEMReader
This class allows the host to interact with Alien readers which use the Alien Binary Reader Protocol, otherwise known as the DLE (Data Link Escape) protocol.
Typically the Reader object will be obtained from a
DiscoveryItem
object, which is
acquired through one of the reader discovery mechanisms, such as
SerialDiscoveryListenerService
.
However if the location (serial port name) is known, a Reader object can be
instantiated directly without the need of any discovery classes.
Once a valid reader object is instantiated, the user would first open a connection to it, then use any of the simple methods that implement the full command set described by the Reader Interface Guide. Without having the benefit of an ASCII-based interface controller on the reader, much of the autonomous mode functionality found on Alien's full-sized readers must be emulated (partially) by this class. Basically, this class supports autonomous operation only in that it can read tags constantly on it's own, maintaining its own TagList.
This class inherits from AlienClass1Reader
, which supports readers with
much more functionality than the OEM readers provide. As such, the
sendString() and receiveString() methods are overridden so that commands
designed to work only with ASCII-based readers are not sent to OEM readers.
See AlienDLEObject
and AlienClassOEMReader
for information on
how the DLE protocol is used to communicate with Alien readers.
Field Summary | |
int |
lastCommandByteCount
|
byte[] |
lastCommandBytes
|
int |
lastResponseByteCount
|
byte[] |
lastResponseBytes
|
AlienDLEObject |
rc
|
Fields inherited from class com.alien.enterpriseRFID.reader.AlienClass1Reader |
ALL_MASK, CLASS0, CLASS1GEN1_64BITS, CLASS1GEN1_96BITS, CLASS1GEN1_ALL, CLASS1GEN1_LEPTON, CLASS1GEN1_OMEGA, CLASS1GEN1_QUARK, CLASS1GEN2, CUSTOM_FORMAT, DATA_INC_ALWAYS, DATA_INC_FAIL, DATA_INC_OFF, DATA_INC_SUCCESS, DATA_INC_WRITE, DATE_FORMATTER, FUNCTION_PROGRAMMER, FUNCTION_READER, G2TARGET_A, G2TARGET_AB, G2TARGET_B, GLOBAL_SCROLL, INVENTORY, LOCKTYPE_LOCK, LOCKTYPE_PERMALOCK, LOCKTYPE_PERMAUNLOCK, LOG_OFF, LOG_ON, OFF, ON, PROG_CLASS0, PROG_CLASS1GEN1, PROG_CLASS1GEN2, RFMOD_DRM, RFMOD_HS, RFMOD_STD, TERSE_FORMAT, TEXT_FORMAT, XML_FORMAT |
Fields inherited from class com.alien.enterpriseRFID.reader.AbstractReader |
DEBUG_BYTES, DEBUG_OFF, DEBUG_TEXT, DEFAULT_TIMEOUT, TIMEOUTMODE_CHARACTER, TIMEOUTMODE_COMMAND |
Constructor Summary | |
AlienClassOEMReader()
Constructs a new AlienClassOEMReader object, initializing an internal TagTable, and setting AutoMode off. |
|
AlienClassOEMReader(java.lang.String address)
Constructs a new AlienClassOEMReader object, specifying the address. |
Method Summary | |
void |
autoModeReset()
Reset all autonomous mode values to their default states, including turning autonomous mode off. |
void |
clearTagList()
Clears all the tags from the internal TagList. |
Tag[] |
doInventory()
Performs an Inventory. |
void |
eraseTag()
Erases the data in the tag's ID space, using default loop-control parameters. |
void |
eraseTag(int numVerifies,
int numErases)
Erases the data in the tag's ID space. |
int |
getAcquireC1Count()
Returns the number of reads to perform in each C1 acquire cycle. |
int |
getAcquireC1Cycles()
Returns the number of complete acquire cycles to perform with each C1 read operation. |
int |
getAcquireC1EnterWakeCount()
Returns the number of wakes to perform at the start of each C1 acquire cycle. |
int |
getAcquireC1ExitWakeCount()
Returns the number of wakes to perform at the end of each C1 acquire cycle. |
int |
getAcquireC1SleepCount()
Returns the number of sleeps to perform after each C1 acquire cycle. |
int |
getAcquireCount()
Returns the number of reads to perform in each Class1 Gen1 acquire cycle. |
int |
getAcquireCycles()
Returns the number of complete acquire cycles to perform with each Class1 Gen1 read operation. |
int |
getAcquireEnterWakeCount()
Returns the number of wakes to perform at the start of each Class1 Gen1 acquire cycle. |
int |
getAcquireExitWakeCount()
Returns the number of wakes to perform at the end of all the Class1 Gen1 acquire cycles. |
int |
getAcquireG2Count()
Returns the number of reads to perform in each G2 acquire cycle. |
int |
getAcquireG2Cycles()
Returns the number of complete acquire cycles to perform with each G2 read operation. |
int |
getAcquireG2Q()
Returns the starting Q value for each G2 acquire cycle. |
java.lang.String |
getAcquireMode()
Returns the method that the reader uses to scan for tags. |
int |
getAcquireSleepCount()
Returns the number of sleeps to perform after each Class1 Gen1 acquire cycle. |
int |
getActiveAntenna()
Returns the number of the active antenna. |
java.lang.String |
getAntennaSequence()
Returns the Antenna Sequence, as a comma-separated String of hex values. |
int |
getAntennaStatus()
Returns the Antenna Status. |
int |
getAutoMode()
Returns the ON/OFF status of Autonomous mode. |
int |
getAvailableBaudRates()
Returns a bitmap denoting the available baud rates for this reader. |
int |
getBaudRate()
Returns the reader's serial communication baud rate. |
int |
getBidirectionalDDR()
Returns a bitmap defining the direction of the Bi-Directional I/O ports. |
int |
getBidirectionalIOPorts()
Returns a bitmap specifying which of the I/O ports have been configured to be Bidirectional inputs/outputs. |
int |
getExternalInput()
Returns the decimal representation of the state of the external inputs. |
int |
getGeneralPurposeInputs()
Returns a bitmap specifying which of the I/O ports have been configured to be General Purpose Inputs. |
int |
getGeneralPurposeOutputs()
Returns a bitmap specifying which of the I/O ports have been configured to be General Purpose Outputs. |
int |
getHardwareReaderType()
Returns this reader's Reader Type. |
int |
getHopInterval()
Returns the length of time the reader dwells at each frequency before hopping to the next one. |
int |
getHopStepSize()
Returns the frequency spacing of this reader's hop table. |
int |
getIOPortValue()
Returns the current state of the input/output port pins. |
int |
getLocalizationCode()
Returns this reader's Localization Code. |
java.lang.String |
getMask()
Returns the current tag mask. |
int |
getMaxAntenna()
Returns the maximum antenna number that may be addressed by this reader. |
int |
getMaxFrequency()
Returns the maximum RF frequency that this reader may be set to. |
int |
getMaxHopTableIndex()
Returns the maximum allowable Hop Channel that is used in the hopping table. |
int |
getMaxRFChannel()
Returns the maximum RF channel used in this reader. |
int |
getMaxRFPower()
Returns the maximum RF power available with this reader hardware. |
int |
getMinFrequency()
Returns the minimum RF frequency that this reader may be set to. |
int |
getOperatingVoltage()
Returns the measured voltage level into the OEM Module, given in hundredths of a volt. |
int |
getPersistTime()
Returns the time, in seconds, that tags on the internal TagList will persist without having been read, before being purged from the list. |
int |
getPLLType()
Returns the type of PLL installed in this reader. |
int |
getProgAntenna()
Returns the number of the programming antenna. |
int |
getProgramEnableMode()
Returns a bitmap specifying which program functions are enabled for this reader. |
int |
getRadioType()
Returns the type of RF radio in this reader. |
java.lang.String |
getReaderName()
Returns the reader name. |
int |
getReaderNumber()
Returns the ReaderNumber stored in this reader. |
java.lang.String |
getReaderSerialNumber()
|
java.lang.String |
getReaderType()
Returns the reader type. |
java.lang.String |
getReaderVersion()
Returns the firmware version of this reader, including the ReaderLocale and ReaderType values. |
int |
getRFAttenuation()
Returns the RF power attenuation value from non-volatile memory. |
int |
getRFChannel()
Returns the RF channel currently being used by this reader. |
int |
getRFOnOff()
Returns the current state of the RF power while the reader is idle. |
int |
getSupportedTagTypes()
Returns the bitmap indicating which Alien RFID tag types the reader should look for. |
Tag |
getTag()
Acquires one Tag, once. |
Tag |
getTag(int multiplier)
Acquires one Tag, using a multiplier. |
java.lang.String |
getTagID()
Acquires tags, and returns the TagID of the first tag on the TagList. |
Tag[] |
getTagList()
Returns an array of tags known to the reader, once. |
Tag[] |
getTagList(int multiplier)
Fetches and returns the tag list, using a multiplier count. |
java.lang.String |
getTimer()
Returns the Timer text for the most recent acquire. |
void |
issueReaderCommand(AlienDLEObject rc)
Issues a reader command. |
void |
killTag(int numVerifies,
int numKills,
java.lang.String tagIDAndPassCode)
Kills a tag by erasing the data in a locked tag's ID space. |
void |
killTag(java.lang.String tagIDAndPassCode)
Kills a tag by erasing the data in a locked tag's ID space, using default loop-control parameters. |
void |
lockTag(int tagIDLength,
int lockCode)
Locks a Tag, using default loop-control parameters. |
void |
lockTag(int numVerifies,
int numLocks,
int tagIDLength,
int lockCode)
Locks a Tag. |
void |
lockTag(java.lang.String passCode)
Locks a Tag, using default loop-control parameters and tagID length. |
java.lang.String |
manageReserved(java.lang.String reservedCommand)
Enables one of the "Manage Reserved" DLE-based command sequences to be sent to the reader. |
java.lang.String |
manageReservedCLI()
Enables one of the "Manage Reserved" DLE-based command sequences to be sent to the reader. |
void |
programTag(int numVerifies,
int numErases,
int numPrograms,
java.lang.String tagID)
Writes data to the tag ID space. |
void |
programTag(java.lang.String tagID)
Writes data to the tag ID space, using default loop-control parameters. |
java.lang.String |
rcCLI()
Enables raw DLE-based command sequences to be sent to the reader. |
java.lang.String |
readerCommandCLI()
Enables raw DLE-based command sequences to be sent to the reader. |
void |
reboot()
Causes the reader module to reboot. |
byte[] |
receiveBytes()
Receives and entire response message from the reader. |
java.lang.String |
receiveString(boolean blockForInput)
Returns the response string prepared by the sendString() method, as it if came from a reader sporting an ASCII-based interface. |
int |
resetBaudRate()
Attempts to set the serial communication baud rate of this reader to 115,200. |
void |
run()
Run the automode function for this reader. |
void |
sendBytes(byte[] bytes)
Sends an arbitrary sequence of bytes to the reader. |
void |
sendString(java.lang.String command)
Intercepts a command string intended for the OEM reader, and attempts to handle the command using methods from this class. |
void |
setAcquireC1Count(int acquireC1Count)
Specifies the number of reads to perform in each C1 acquire cycle. |
void |
setAcquireC1Cycles(int acquireC1Cycles)
Specifies the number of complete acquire cycles to perform with each C1 read operation. |
void |
setAcquireC1EnterWakeCount(int acquireC1EnterWakeCount)
Specifies the number of wakes to perform at the start of each C1 acquire cycle. |
void |
setAcquireC1ExitWakeCount(int acquireC1ExitWakeCount)
Specifies the number of wakes to perform at the end each C1 acquire cycle. |
void |
setAcquireC1SleepCount(int acquireC1SleepCount)
Specifies the number of sleeps to perform during each C1 acquire cycle. |
void |
setAcquireCount(int acquireC1Count)
Specifies the number of reads to perform in each Class1 Gen1 acquire cycle. |
void |
setAcquireCycles(int acquireC1Cycles)
Specifies the number of complete acquire cycles to perform with each Class1 Gen1 read operation. |
void |
setAcquireEnterWakeCount(int acquireC1EnterWakeCount)
Specifies the number of wakes to perform at the start of each Class1 Gen1 acquire cycle. |
void |
setAcquireExitWakeCount(int acquireC1ExitWakeCount)
Specifies the number of wakes to perform at the end all the Class1 Gen1 acquire cycles. |
void |
setAcquireG2Count(int acquireG2Count)
Specifies the number of reads to perform in each G2 acquire cycle. |
void |
setAcquireG2Cycles(int acquireG2Cycles)
Specifies the number of complete acquire cycles to perform with each G2 read operation. |
void |
setAcquireG2Q(int acquireG2Q)
Specifies the starting Q value for each G2 acquire cycle. |
void |
setAcquireMode(java.lang.String acquireMode)
Specifies the method the reader uses to scan for tags. |
void |
setAcquireSleepCount(int acquireC1SleepCount)
Specifies the number of sleeps to perform during each Class1 Gen1 acquire cycle. |
void |
setActiveAntenna(int antennaNumber)
Sets the active antenna to the specified value. |
void |
setAntennaSequence(int[] antennaSequenceBytes)
Sets the sequence of antenna ports, using an array of ints, that is used by the reader when responding to an Inventory command. |
void |
setAntennaSequence(java.lang.String sequenceString)
Sets the sequence of antenna ports, using a comma-separated String of integer values, that is used by the reader when responding to an Inventory command. |
void |
setAutoMode(int autoMode)
Sets the ON/OFF status of Autonomous mode. |
void |
setBaudRate(int baudRate)
Sets the reader's serial communication baud rate to the value specified. |
void |
setBidirectionalDDR(int bitmap)
Sets the input/output direction of Bi-Directional I/O ports. |
void |
setDebugLevel(int level)
Sets the current Debug Level. |
void |
setExternalOutput(int value)
Changes the state of the reader's external output pins. |
void |
setG2Mask(int bitLength,
int bitPointer,
java.lang.String tagMaskBytes)
|
void |
setG2TagMask(java.lang.String tagID)
Sets the reader's Class1/Gen2 tag mask to match the specified EPC. |
void |
setIOPortValue(int portValue)
Sets or clears specified output port pins. |
void |
setMask(int bitLength,
int bitPointer,
java.lang.String tagMaskBytes)
Set the Tag Mask, using a length, pointer, and string of hex bytes as parameters. |
void |
setMask(java.lang.String maskString)
Sets the Tag Mask, as a String. |
void |
setPersistTime(int persistTime)
Sets the time, in seconds, that tags on the internal TagList will persist without having been read, before being purged from the list. |
void |
setProgAntenna(int antennaNumber)
Sets the programming antenna to the specified value. |
void |
setReaderNumber(int readerNumber)
Changes the ReaderNumber parameter of this reader. |
void |
setRFAttenuation(int attenuationValue)
Sets the RF power attenuation to the value associated with argument provided. |
void |
setRFOnOff(int powerOnOff)
Turns the RF carrier on or off while idle (not reading tags). |
void |
setSupportedTagTypes(int tagType)
Sets the bitmap indicating which Alien RFID tag types the reader should look for. |
void |
setTagMask(java.lang.String tagID)
Sets the reader's tag mask to match the specified Tag ID. |
void |
sleepTag()
Causes a tag in the field to enter the sleep state. |
java.lang.String |
toString()
Returns a String representation of this reader object (it's ReaderType). |
java.lang.String |
verifyTag()
Interrogates the state of a tag that may or may not be readable by the Acquire commands. |
void |
wakeTag()
Requests all tags in the field wake up. |
Methods inherited from class com.alien.enterpriseRFID.reader.AbstractReader |
bringIntoRange, clearInputBuffer, close, doReaderCommand, getAddress, getDebugLevel, getInputStream, getOutputStream, getReaderReply, getReaderReplyKeyword, getReaderReplyValueInt, getReaderReplyValueString, getTimeOutMilliseconds, getTimeOutMode, isOpen, isValidateOpen, open, receiveLine, setAddress, setConnection, setConnection, setInputStream, setNetworkConnection, setOutputStream, setSerialBaudRate, setSerialConnection, setTimeOutMilliseconds, setTimeOutMode, setValidateOpen, test |
Methods inherited from class java.lang.Object |
equals, getClass, hashCode, notify, notifyAll, wait, wait, wait |
Field Detail |
public AlienDLEObject rc
public byte[] lastResponseBytes
public byte[] lastCommandBytes
public int lastResponseByteCount
public int lastCommandByteCount
Constructor Detail |
public AlienClassOEMReader(java.lang.String address)
address
- the serial port address where the reader is connectedpublic AlienClassOEMReader()
Method Detail |
public void setDebugLevel(int level)
AbstractReader
Setting the Debug Level to DEBUG_TEXT causes the text of every reader command/response to be echoed to stdout. For example, calling getReaderName() with Debug Level set to DEBUG_TEXT displays the following:
Write: Get ReaderName Read: ReaderName = Alien RFID ReaderSetting the Debug Level to DEBUG_BYTES causes the raw hex data of every reader command/response to be echoed to stdout. For example, the same getReaderName() call with Debug Level set to DEBUG_BYTES displays the following:
Write: 01 47 65 74 20 52 65 61 64 65 72 4E 61 6D 65 0D 0A Read: 52 65 61 64 65 72 4E 61 Read: 6D 65 20 3D 20 41 6C 69 Read: 65 6E 20 52 46 49 44 20 Read: 52 65 61 64 65 72 0D 0A Read: 00This Debug Level shows the additional bytes sent to and received from the reader that are used to prefix and terminate commands and responses.
Setting the Debug Level to DEBUG_OFF turns off these diagnostic messages, which is the default state.
setDebugLevel
in class AbstractReader
level
- the new Debug Level settingpublic void issueReaderCommand(AlienDLEObject rc) throws AlienReaderConnectionException, AlienReaderTimeoutException, AlienReaderCommandErrorException
AlienDLEObject
,
which contains command/response buffers, manages and validates encoding and
decoding of DLE messages, and verifies response data from the reader.
This method is responsible for actually sending the command bytes and receiving the response bytes from the reader. As response bytes are received from the reader, they are passed one-at-a-time to the Reader Command object, which ensures the correct start-of-message (SOM), end-of-message (EOM), and other DLE delimiters are received properly.
All commands are atomic (that is, one command elicits a single DLE message response from the reader), except for the Inventory command. The reader responds to the Inventory command with separate STARTINV and ENDINV messages, as well as separate TAGINV messages for each tag it reads.
Any responses from the reader which indicate an error cause this class to generate an exception, which must be handled by the object which made the original call.
rc
- the AlienDLEObject containing the command
AlienReaderConnectionException
- if communication fails
AlienReaderTimeoutException
- if the communication times out
AlienReaderCommandErrorException
- if the reader returns an error response to the commandpublic void setPersistTime(int persistTime)
setPersistTime
in class AlienClass1Reader
persistTime
- the time (secs) to wait before purging unseen tagsAlienClass1Reader.getPersistTime()
public int getPersistTime()
getPersistTime
in class AlienClass1Reader
AlienClass1Reader.setPersistTime(int)
public void clearTagList()
clearTagList
in class AlienClass1Reader
AlienClass1Reader.getTagList(int)
,
AlienClass1Reader.getTagList(int)
,
AlienClass1Reader.getTag(int)
,
AlienClass1Reader.getTag(int)
public Tag[] getTagList() throws AlienReaderException
getTagList
in class AlienClass1Reader
null
if no tags
AlienReaderException
- if reader communication failsgetTagList(int)
public Tag[] getTagList(int multiplier) throws AlienReaderException
getTagList
in class AlienClass1Reader
multiplier
- the number of times to acquire tags
null
if no tags
AlienReaderException
- if reader communication failsAlienClass1Reader.getTagList(int)
,
AlienClass1Reader.getTag(int)
,
AlienClass1Reader.getTag(int)
,
AlienClass1Reader.clearTagList()
public Tag getTag() throws AlienReaderException
getTag
in class AlienClass1Reader
AlienReaderException
- if reader communication failsgetTag(int)
,
getTagList()
,
getTagList(int)
public Tag getTag(int multiplier) throws AlienReaderException
multiple
times), if necessary.
getTag
in class AlienClass1Reader
multiplier
- the number of times to acquire tags
AlienReaderException
- if reader communication failsgetTag()
,
getTagList()
,
getTagList(int)
public java.lang.String getTagID() throws AlienReaderException
getTagID
in class AlienClass1Reader
AlienReaderException
- if reader communication failsgetTag()
public int getAutoMode()
getAutoMode
in class AlienClass1Reader
setAutoMode(int)
,
AlienClass1Reader.resetAutoMode()
public void setAutoMode(int autoMode)
In the interests of future compatibility, you should use AlienClass1Reader.ON
and AlienClass1Reader.OFF
constants to set and test this parameter.
setAutoMode
in class AlienClass1Reader
autoMode
- the new ON/OFF status of AutoModegetAutoMode()
,
AlienClass1Reader.resetAutoMode()
public void autoModeReset()
autoModeReset
in class AlienClass1Reader
getAutoMode()
,
setAutoMode(int)
public java.lang.String getAcquireMode()
getAcquireMode
in class AlienClass1Reader
setAcquireMode(String)
public void setAcquireMode(java.lang.String acquireMode)
AlienClass1Reader.INVENTORY
and AlienClass1Reader.GLOBAL_SCROLL
to specify
and test for this parameter.
Inventory
The Inventory acquire mode performs a full anti-collision search on tags in
the reader's field of view. This method will locate and distinguish multiple
tags in front of the reader at the same time.
Global Scroll
The Global Scroll acquire mode instructs the reader to read a single tag
repeatedly. This is a very fast tag reading method which is most effective
when only one tag at a time is expected to be within reader range, as in
conveyor belt applications. Under such circumstances, the performance for
single tag reading is considerably faster than repeatedly doing a full tag
search using the Inventory mode.
NOTE: If multiple tags are in range of the reader when Global Scroll is used, the reader will either select one of the tags (usually the "strongest" or "loudest") to read and report it, or will read none of the tags.
setAcquireMode
in class AlienClass1Reader
acquireMode
- the method this reader uses to read tagsgetAcquireMode()
public int getAcquireG2Cycles()
getAcquireG2Cycles
in class AlienClass1Reader
setAcquireG2Cycles(int)
public void setAcquireG2Cycles(int acquireG2Cycles)
setAcquireG2Cycles
in class AlienClass1Reader
acquireG2Cycles
- the number of complete acquire cycles to perform with each G2 read operationgetAcquireG2Cycles()
public int getAcquireG2Count()
getAcquireG2Count
in class AlienClass1Reader
setAcquireG2Count(int)
public void setAcquireG2Count(int acquireG2Count)
setAcquireG2Count
in class AlienClass1Reader
acquireG2Count
- the number of reads to perform in each G2 acquire cyclegetAcquireG2Count()
public int getAcquireG2Q()
getAcquireG2Q
in class AlienClass1Reader
setAcquireG2Q(int)
public void setAcquireG2Q(int acquireG2Q)
setAcquireG2Q
in class AlienClass1Reader
acquireG2Q
- the starting Q value for each G2 acquire cyclegetAcquireG2Q()
public int getAcquireC1Cycles()
getAcquireC1Cycles
in class AlienClass1Reader
setAcquireC1Cycles(int)
public int getAcquireCycles()
AlienClass1Reader
getAcquireCycles
in class AlienClass1Reader
AlienClass1Reader.setAcquireCycles(int)
public void setAcquireC1Cycles(int acquireC1Cycles)
setAcquireC1Cycles
in class AlienClass1Reader
acquireC1Cycles
- the number of complete acquire cycles to perform with each C1 read operationgetAcquireC1Cycles()
public void setAcquireCycles(int acquireC1Cycles)
AlienClass1Reader
setAcquireCycles
in class AlienClass1Reader
acquireC1Cycles
- the number of complete acquire cycles to perform with each Class1 Gen1 read operationAlienClass1Reader.getAcquireCycles()
public int getAcquireC1Count()
getAcquireC1Count
in class AlienClass1Reader
setAcquireC1Count(int)
public int getAcquireCount()
AlienClass1Reader
getAcquireCount
in class AlienClass1Reader
AlienClass1Reader.setAcquireCount(int)
public void setAcquireC1Count(int acquireC1Count)
setAcquireC1Count
in class AlienClass1Reader
acquireC1Count
- the number of reads to perform in each C1 acquire cyclegetAcquireC1Count()
public void setAcquireCount(int acquireC1Count)
AlienClass1Reader
setAcquireCount
in class AlienClass1Reader
acquireC1Count
- the number of reads to perform in each Class1 Gen1 acquire cycleAlienClass1Reader.getAcquireCount()
public int getAcquireC1EnterWakeCount()
getAcquireC1EnterWakeCount
in class AlienClass1Reader
setAcquireC1EnterWakeCount(int)
public int getAcquireEnterWakeCount()
AlienClass1Reader
getAcquireEnterWakeCount
in class AlienClass1Reader
AlienClass1Reader.setAcquireEnterWakeCount(int)
public void setAcquireC1EnterWakeCount(int acquireC1EnterWakeCount)
setAcquireC1EnterWakeCount
in class AlienClass1Reader
acquireC1EnterWakeCount
- the number of wakes to perform at the start of each C1 acquire cyclegetAcquireC1EnterWakeCount()
public void setAcquireEnterWakeCount(int acquireC1EnterWakeCount)
AlienClass1Reader
setAcquireEnterWakeCount
in class AlienClass1Reader
acquireC1EnterWakeCount
- the number of wakes to perform at the start of each Class1 Gen1 acquire cycleAlienClass1Reader.getAcquireEnterWakeCount()
public int getAcquireC1ExitWakeCount()
getAcquireC1ExitWakeCount
in class AlienClass1Reader
setAcquireC1ExitWakeCount(int)
public int getAcquireExitWakeCount()
AlienClass1Reader
getAcquireExitWakeCount
in class AlienClass1Reader
AlienClass1Reader.setAcquireExitWakeCount(int)
public void setAcquireC1ExitWakeCount(int acquireC1ExitWakeCount)
setAcquireC1ExitWakeCount
in class AlienClass1Reader
acquireC1ExitWakeCount
- the number of wakes to perform at the end of each C1 acquire cyclegetAcquireC1ExitWakeCount()
public void setAcquireExitWakeCount(int acquireC1ExitWakeCount)
AlienClass1Reader
setAcquireExitWakeCount
in class AlienClass1Reader
acquireC1ExitWakeCount
- the number of wakes to perform at the end of all the Class1 Gen1 acquire cyclesAlienClass1Reader.getAcquireExitWakeCount()
public int getAcquireC1SleepCount()
getAcquireC1SleepCount
in class AlienClass1Reader
setAcquireC1SleepCount(int)
public int getAcquireSleepCount()
AlienClass1Reader
getAcquireSleepCount
in class AlienClass1Reader
AlienClass1Reader.setAcquireSleepCount(int)
public void setAcquireC1SleepCount(int acquireC1SleepCount)
setAcquireC1SleepCount
in class AlienClass1Reader
acquireC1SleepCount
- the number of sleeps to perform during each C1 acquire cyclegetAcquireC1SleepCount()
public void setAcquireSleepCount(int acquireC1SleepCount)
AlienClass1Reader
setAcquireSleepCount
in class AlienClass1Reader
acquireC1SleepCount
- the number of sleeps to perform during each Class1 Gen1 acquire cycleAlienClass1Reader.getAcquireSleepCount()
public java.lang.String getReaderName()
getReaderName
in class AlienClass1Reader
AlienClass1Reader.setReaderName(String)
public java.lang.String getReaderType()
getReaderType
in class AlienClass1Reader
public java.lang.String getReaderVersion() throws AlienReaderException
ReaderVersion = 00.00.88 ReaderLocale = 01 ReaderType = 04These values are not ASCII encoded but rather numeric hexadecimal values. The firmware version is compiled into the firmware load file. The localization code and the reader type are stored in non-volatile memory by a protected command as part of the manufacturing.
getReaderVersion
in class AlienClass1Reader
AlienReaderException
- if reader communication failspublic void setReaderNumber(int readerNumber) throws AlienReaderException
setReaderNumber
in class AlienClass1Reader
readerNumber
- the new number for this reader
AlienReaderException
- if reader communication failsgetReaderNumber()
public int getReaderNumber() throws AlienReaderException
The factory default reader number is 0xFF (255).
getReaderNumber
in class AlienClass1Reader
AlienReaderException
- if reader communication failssetReaderNumber(int)
public int getBaudRate() throws AlienReaderConnectionException
19200 38400 57600 115200 230400If the reader's baud rate is undetermined, this throws an AlienReaderConnectionException;
AlienReaderConnectionException
- if the baud rate cannot be determinedpublic void setBaudRate(int baudRate) throws AlienReaderException
19200 38400 57600 115200 230400Any other values will be ignored.
baudRate
- the new baud rate
AlienReaderException
- if reader communication failspublic int resetBaudRate() throws AlienReaderConnectionException
AlienReaderConnectionException
- if the attempt failspublic void reboot() throws AlienReaderException
AlienReaderException
- if reader communication failspublic void setIOPortValue(int portValue) throws AlienReaderException
Ports start at LSB and are bitmapped toward the MSB. The actual number of available outputs is hardware dependant. Bits in the send data with no corresponding physical port are ignored. If the reader hardware is bi-directional, the value will be ignored in the case of the corresponding port pin defined as input. A bit value of 1 in the send data will cause the corresponding port to tri-state or be set to a logical one depending on hardware. A bit value of 0 will cause the corresponding port pin to be pulled low.
portValue
- the bitmap representing the desired output port state
AlienReaderException
- if reader communication failsgetIOPortValue()
,
getGeneralPurposeInputs()
,
getGeneralPurposeOutputs()
,
getBidirectionalDDR()
,
setBidirectionalDDR(int)
,
getBidirectionalIOPorts()
public int getIOPortValue() throws AlienReaderException
AlienReaderException
- if reader communication failssetIOPortValue(int)
,
getGeneralPurposeInputs()
,
getGeneralPurposeOutputs()
,
getBidirectionalDDR()
,
setBidirectionalDDR(int)
,
getBidirectionalIOPorts()
public int getExternalInput() throws AlienReaderException
The command returns a single byte result that represents the bit mask settings of the external input pins. Bit 0 represents the state of pin 0, Bit 1 represents the state of pin 1, etc. For example, if pin 1 is high and pin 0 is low, the bit mask would be 10binary which translates to 2decimal.
getExternalInput
in class AlienClass1Reader
AlienReaderException
- if reader communication failspublic void setExternalOutput(int value) throws AlienReaderException
With this command you can set the external output pin values. The command takes a single integer parameter that represents the bit mask settings of the external pins.
Bit 0 represents the state of pin 0, and Bit 1 represents the state of pin 1, etc. For example, to set pin 1 to high and all other pins low, use the bit mask of 10binary which translates to 2decimal.
setExternalOutput
in class AlienClass1Reader
value
- the decimal representation of the desired state of the external outputs
AlienReaderException
- if reader communication failsAlienClass1Reader.getExternalOutput()
public void setActiveAntenna(int antennaNumber) throws AlienReaderException
antennaNumber
- the number of the antenna to use
AlienReaderException
- if reader communication failsgetActiveAntenna()
,
setAntennaSequence(String)
,
setAntennaSequence(int[])
,
getAntennaSequence()
public int getActiveAntenna() throws AlienReaderException
AlienReaderException
- if reader communication failssetActiveAntenna(int)
,
setAntennaSequence(String)
,
setAntennaSequence(int[])
,
getAntennaSequence()
public void setProgAntenna(int antennaNumber) throws AlienReaderException
Antennas are numbered 0 through N, where N is hardware dependent. If a non-supported antenna number is requested, the response packet indicates "unknown value" and no antenna set operation is performed.
setProgAntenna
in class AlienClass1Reader
antennaNumber
- the number of the antenna to program on
AlienReaderException
- if reader communication failsgetProgAntenna()
public int getProgAntenna() throws AlienReaderException
getProgAntenna
in class AlienClass1Reader
AlienReaderException
- if reader communication failssetProgAntenna(int)
public void setRFAttenuation(int attenuationValue) throws AlienReaderException
setRFAttenuation
in class AlienClass1Reader
attenuationValue
- the new RF attenuation
AlienReaderException
- if reader communication failsgetRFAttenuation()
public int getRFAttenuation() throws AlienReaderException
getRFAttenuation
in class AlienClass1Reader
AlienReaderException
- if reader communication failssetRFAttenuation(int)
public int getProgramEnableMode() throws AlienReaderException
Bit 0 = Program enabled Bit 1 = Erase enabled Bit 2 = Lock enabled Bit 3 = Kill enabled
AlienReaderException
- if reader communication failspublic int getGeneralPurposeOutputs() throws AlienReaderException
AlienReaderException
- if reader communication failsgetGeneralPurposeInputs()
,
getBidirectionalIOPorts()
public int getGeneralPurposeInputs() throws AlienReaderException
AlienReaderException
- if reader communication failsgetGeneralPurposeOutputs()
,
getBidirectionalIOPorts()
public int getBidirectionalIOPorts() throws AlienReaderException
getBidirectionalDDR()
method.
To change the input/output status of these bidirectional I/O ports, use the
setBidirectionalDDR(int)
method.
AlienReaderException
- if reader communication failsgetBidirectionalDDR()
,
setBidirectionalDDR(int)
public int getMaxHopTableIndex() throws AlienReaderException
AlienReaderException
- if reader communication failspublic int getHardwareReaderType() throws AlienReaderException
0x00 - Unspecified 0x01 - ALR-9750 0x02 - ALR-9930 0x03 - ALR-9780 0x04 - ALR-9930-A
AlienReaderException
- if reader communication failsgetReaderVersion()
public int getLocalizationCode() throws AlienReaderException
0x00 - Unspecified 0x01 - USA 0x02 - Japan 0x03 - Europe
AlienReaderException
- if reader communication failsgetReaderVersion()
public int getRadioType() throws AlienReaderException
Upper nibble: 1 antenna = 0x0X 4 antennas = 0x3X 16 antennas = 0xFXThe lower nibble defines the frequency band:
Lower nibble: 868 MHz = 0xX1 915 MHz = 0xX2 950 MHz = 0xX3 2450 MHz = 0xX4For example, a 4-antenna 915 MHz reader reports a Radio Type of 0x32.
AlienReaderException
- if reader communication failspublic int getMinFrequency() throws AlienReaderException
AlienReaderException
- if reader communication failsgetMaxFrequency()
public int getMaxFrequency() throws AlienReaderException
AlienReaderException
- if reader communication failsgetMinFrequency()
public int getHopStepSize() throws AlienReaderException
AlienReaderException
- if reader communication failsgetHopInterval()
public int getPLLType() throws AlienReaderException
0x00 - Unspecified 0x01 - Varil PLL400-915 0x02 - Varil PLL400-864
AlienReaderException
- if reader communication failspublic int getMaxRFChannel() throws AlienReaderException
AlienReaderException
- if reader communication failsgetRFChannel()
public int getMaxRFPower() throws AlienReaderException
AlienReaderException
- if reader communication failspublic int getAvailableBaudRates() throws AlienReaderException
Baud Rate Bitmap: bit 0 - 19,200 bit 1 - 38,400 bit 2 - 57,600 bit 3 - 76,800 bit 4 - 115,200 bit 5 - 230,400 bit 6 - 460,800 bit 7 - unused
AlienReaderException
- if reader communication failspublic int getSupportedTagTypes() throws AlienReaderException
This is primarily due to the fact that "Lepton" tags have longer id spaces (128 bits) than "Quark" and "Omega" tags (96 bits). If the reader is looking only for Leptons, or only for Quarks and Omegas, it knows beforehand how many bits of ID to expect from a tag, and can therefore operate more quickly.
The value returned is a bit map, where each bit enables a certain tag type:
Bit 0 : Class 1, Gen 1 (64-bits) "Quark" Bit 1 : Class 1, Gen 2 (64-bits) "Omega" Bit 2 : Class 1, Gen 2 (96-bits) "Lepton" Bit 3 : reserved (if C0 is supported) Bit 4 : Class 1, Gen 2 Bit 5 : reserved Bit 6 : reserved Bit 7 : reservedSo, a TagType of 3 ("011" decimal) indicates that the reader is looking only for Quark and Omega tag types. Similarly, a TagType of 7 indicates it is looking for all tag types, and a TagType of 4 indicates it is only looking for Lepton tags.
AlienReaderException
- if reader communication failssetSupportedTagTypes(int)
public void setSupportedTagTypes(int tagType) throws AlienReaderException
This is primarily due to the fact that "Lepton" tags have longer id spaces (128 bits) than "Quark" and "Omega" tags (96 bits). If the reader is looking only for Leptons, or only for Quarks and Omegas, it knows beforehand how many bits of ID to expect from a tag, and can therefore operate more quickly.
The value returned is a bit map, where each bit enables a certain tag type:
Bit 0 : Class 1, Gen 1 (64-bits) "Quark" Bit 1 : Class 1, Gen 2 (64-bits) "Omega" Bit 2 : Class 1, Gen 2 (96-bits) "Lepton" Bit 3 : reserved (if C0 is supported) Bit 4 : Class 1, Gen 2 Bit 5 : reserved Bit 6 : reserved Bit 7 : reservedSo, to have the reader look only for Quark and Omega tag types, use a TagType of 3 ("011" decimal). Similarly, use a TagType of 7 to specify looking for all tag types, and a TagType of 4 to specify Lepton tags only.
tagType
- the bitmap indicating the tag types the reader should look for
AlienReaderException
- if reader communication failsgetSupportedTagTypes()
public int getHopInterval() throws AlienReaderException
AlienReaderException
- if reader communication failsgetHopStepSize()
public int getRFChannel() throws AlienReaderException
AlienReaderException
- if reader communication failsgetMaxRFChannel()
public int getMaxAntenna() throws AlienReaderException
getMaxAntenna
in class AlienClass1Reader
AlienReaderException
- if reader communication failspublic java.lang.String getReaderSerialNumber() throws AlienReaderException
AlienReaderException
public java.lang.String manageReserved(java.lang.String reservedCommand) throws AlienReaderException
reservedCommand
argument is a string of hex
bytes. The first byte is the Manage Reserved Parameters subcommand, followed
by additional bytes which may be required for each subcommand.
reservedCommand
- a string of hex bytes, including subcommand and data bytes
AlienReaderException
- if reader communication failspublic void setMask(int bitLength, int bitPointer, java.lang.String tagMaskBytes) throws AlienReaderException
setTagMask(32, 0, "A1 03") matches only tags where the first 32 bits match the hex value 0xA103The number of tagMaskBytes should equal (bitLength + 7) / 8. All compares start with earliest ID bit modulated and compare towards last bit modulated. The mask is evaluated MSB first. The mask is stored in volatile memory (not retained when the reader is rebooted), and is initialized with a bitLength of zero, which indicates all tags are selected. bitPointer and tagMaskBytes are only used when bitLength is non-zero.
setMask
in class AlienClass1Reader
bitLength
- the number of bits in the tag maskbitPointer
- the pointer into the TagID to compare with the masktagMaskBytes
- a string of hex bytes defining the mask value
AlienReaderException
- if reader communication failssetTagMask(String)
,
getMask()
public void setMask(java.lang.String maskString) throws AlienReaderException
This version of setMask takes one String argument, consisting of three comma separated values:
setMask
in class AlienClass1Reader
maskString
- a string representation of the new mask
AlienReaderException
- if reader communication failsgetMask()
,
setMask(int, int, String)
,
setTagMask(String)
public void setTagMask(java.lang.String tagID) throws AlienReaderException
setTagMask
in class AlienClass1Reader
tagID
- the tag ID to mask to for subsequent reads and writes
AlienReaderException
- if reader communication failsgetMask()
,
setMask(String)
,
setMask(int, int, String)
public java.lang.String getMask() throws AlienReaderException
64, 0, 11 22 33 44 55 66 77 88 indicates a tag mask that is 64 bits long, starts at the first tagID bit and matches against the hex bytes 0x11 0x22 0x33 0x44 0x55 0x66 0x77 0x88.
getMask
in class AlienClass1Reader
AlienReaderException
- if reader communication failssetTagMask(String)
,
setMask(int, int, String)
public void setG2Mask(int bitLength, int bitPointer, java.lang.String tagMaskBytes) throws AlienReaderException
AlienReaderException
public void setG2TagMask(java.lang.String tagID) throws AlienReaderException
AlienClass1Reader
null
or "0" for all tags.
setG2TagMask
in class AlienClass1Reader
tagID
- the EPC to mask to for subsequent reads and writes
AlienReaderException
- if reader communication failsAlienClass1Reader.getAcqG2Mask()
,
AlienClass1Reader.setAcqG2Mask(String)
,
AlienClass1Reader.setAcqG2Mask(int, int, int, String)
,
AlienClass1Reader.setG2MaskBits(int, String)
public void setBidirectionalDDR(int bitmap) throws AlienReaderException
bitmap
- the bitmap defining I/O state of bi-directional I/O ports
AlienReaderException
- if reader communication failsgetBidirectionalDDR()
,
getBidirectionalIOPorts()
public int getBidirectionalDDR() throws AlienReaderException
AlienReaderException
- if reader communication failssetBidirectionalDDR(int)
,
getBidirectionalIOPorts()
public void setRFOnOff(int powerOnOff) throws AlienReaderException
When performing multiple commands on a tag, it is more efficient if the carrier is not turned off between commands. It is therefore advisable to turn RF on explicitly before issuing multiple commands, then turn RF off explicitly after the commands have finished.
In the interests of future compatibility, you should use AlienClass1Reader.ON
and AlienClass1Reader.OFF
constants to set and test this parameter.
powerOnOff
- the new idle ON/OFF state of the RF carrier
AlienReaderException
- if reader communication failsgetRFOnOff()
public int getRFOnOff() throws AlienReaderException
AlienReaderException
- if reader communication failssetRFOnOff(int)
public void setAntennaSequence(int[] antennaSequenceBytes) throws AlienReaderException
It should be noted that any array element can be set to any valid antenna number, thus allowing the sequence of antennas to be executed in any order, and the same antenna can be used multiple times in response to one Inventory command. The default values for the array are 0 in the first array element and 0xFF is the other seven.
antennaSequenceBytes
- an array listing the sequence of antennas to use
AlienReaderException
- if reader communication failssetAntennaSequence(String)
,
getAntennaSequence()
public void setAntennaSequence(java.lang.String sequenceString) throws AlienReaderException
It should be noted that any array element can be set to any valid antenna number, thus allowing the sequence of antennas to be executed in any order, and the same antenna can be used multiple times in response to one Inventory command. The default values for the array are 0 in the first array element and 0xFF is the other seven.
setAntennaSequence
in class AlienClass1Reader
sequenceString
- a comma-separated list of antenna ports
AlienReaderException
- if reader communication failssetAntennaSequence(int[])
,
getAntennaSequence()
public java.lang.String getAntennaSequence() throws AlienReaderException
getAntennaSequence
in class AlienClass1Reader
AlienReaderException
- if reader communication failssetAntennaSequence(int[])
,
setAntennaSequence(String)
public int getAntennaStatus() throws AlienReaderException
AlienReaderException
- if reader communication failspublic int getOperatingVoltage() throws AlienReaderException
AlienReaderException
- if reader communication failspublic void sleepTag() throws AlienReaderException
AlienReaderException
- if reader communication failswakeTag()
public void wakeTag() throws AlienReaderException
AlienReaderException
- if reader communication failssleepTag()
public java.lang.String verifyTag() throws AlienReaderException
A Verify command cannot sort multiple tags; it should only be used on one tag at a time.
verifyTag
in class AlienClass1Reader
AlienReaderException
- if reader communication failspublic Tag[] doInventory() throws AlienReaderException
Two main types of Inventory are supported, and are selected by setting the
acquireMode property to AlienClass1Reader.INVENTORY
or
AlienClass1Reader.GLOBALSCROLL
.
Inventory - Tree based. This will use binary mask selection techniques, and optionally sleep/wake commands to attempt to isolate all tags in the field in a binary tree method. This technique is best when large numbers of tags are expected in the field. This method is the slowest but has the strongest collision detection/avoidance algorithm. Global Scroll - Scroll N based. This will use the starting mask and optionally sleep/wake commands to repeatedly send MASKED SCROLL type commands to try to gather the IDs of tags in the field. This technique is best used when only one or a small number of tags is expected in the field. This technique is faster than the tree based, but depends only on variance of tag signal strength for collision detection and avoidance.All four types of inventory are executed within a nested loop. The outer loop, governed by the
acquireCycles
parameters, executes Wake commands
before the actual inventory type is executed. The number of wakes issued is
determined by the acquireEnterWakeCount
parameter. Note that
acquireEnterWakeCount
can equal 0, in which case no Wakes will
be issued. The inner loop, governed by the acquireCount
parameter, determines how many times the specified inventory type will execute
without sending Wake commands. As each tag ID is gathered, an optional series
of Sleep commands can be issued to this tag. The acquireSleepCount
parameter determines how many will be sent, and may equal zero if no Sleep
commands are desired.
The antenna list is examined within the looping structure, and each portion
of the loop is executed for all valid antenna entries in the list. Therefore
the inner and outer loops can be executed up to 8 times the acquireCycles
and acquireCount
values, dependent on the entries in the antenna
list. After the inner and outer loops are executed, a series of Wake commands
may be executed to wake any tags that were issued a Sleep command during the
inventory process. The number of Wake commands executed is determined by the
acquireExitWakeCount parameter
. This parameter may be set to
zero if no exit wakes are desired.
AlienReaderException
- if reader communication failssetAcquireMode(String)
,
setAcquireCycles(int)
,
setAcquireEnterWakeCount(int)
,
setAcquireCount(int)
,
setAcquireSleepCount(int)
,
setAcquireExitWakeCount(int)
,
setAntennaSequence(String)
public void programTag(int numVerifies, int numErases, int numPrograms, java.lang.String tagID) throws AlienReaderException
The reader automatically generates the CRC for the supplied tag ID data and programs it into the first two bytes of ID space. This command does not lock the tag or program a kill code.
numVerifies
- the number of times to verify the existence of the tag prior to programmingnumErases
- the number of times to erase the tag prior to programmingnumPrograms
- the number of times to try to program the tagtagID
- the string representation of the 8- or 12-byte tag ID to program
AlienReaderException
- if reader communication failsprogramTag(String)
public void programTag(java.lang.String tagID) throws AlienReaderException
The reader automatically generates the CRC for the supplied tag ID data and programs it into the first two bytes of ID space. This command does not lock the tag or program a lock code.
programTag
in class AlienClass1Reader
tagID
- the string representation of the 8- or 12-byte tag ID to program
AlienReaderException
- if reader communication failsprogramTag(int, int, int, String)
public void eraseTag(int numVerifies, int numErases) throws AlienReaderException
numVerifies
- the number of times to verify the existence of the tag prior to erasingnumErases
- the number of times to try to erase the tag
AlienReaderException
- if reader communication failseraseTag()
public void eraseTag() throws AlienReaderException
eraseTag
in class AlienClass1Reader
AlienReaderException
- if reader communication failseraseTag(int, int)
public void killTag(int numVerifies, int numKills, java.lang.String tagIDAndPassCode) throws AlienReaderException
numVerifies
- the number of times to verify the existence of the tag prior to killingnumKills
- the number of times to try to kill the tagtagIDAndPassCode
- a string representing the tag's ID, followed by its PassCode
AlienReaderException
- if reader communication failskillTag(String)
public void killTag(java.lang.String tagIDAndPassCode) throws AlienReaderException
killTag
in class AlienClass1Reader
tagIDAndPassCode
- a string representing the tag's ID, followed by its PassCode
AlienReaderException
- if reader communication failskillTag(int, int, String)
public void lockTag(int numVerifies, int numLocks, int tagIDLength, int lockCode) throws AlienReaderException
numVerifies
- the number of times to verify the existence of the tag prior to lockingnumLocks
- the number of times to try to lock the tagtagIDLength
- the number of bytes in the tag's ID (8 or 12)lockCode
- the byte value used to lock and kill the tag
AlienReaderException
- if reader communication failslockTag(int, int)
,
lockTag(String)
public void lockTag(int tagIDLength, int lockCode) throws AlienReaderException
tagIDLength
- the number of bytes in the tag's ID (8 or 12)lockCode
- the byte value used to lock and kill the tag
AlienReaderException
- if reader communication failslockTag(int, int, int, int)
,
lockTag(String)
public void lockTag(java.lang.String passCode) throws AlienReaderException
lockTag
in class AlienClass1Reader
passCode
- a String representing the byte value used to lock and kill the tag
AlienReaderException
- if reader communication failslockTag(int, int, int, int)
,
lockTag(int, int)
public void run()
run
in interface java.lang.Runnable
public java.lang.String getTimer()
public java.lang.String readerCommandCLI()
public java.lang.String rcCLI()
public java.lang.String manageReservedCLI()
public void sendString(java.lang.String command) throws AlienReaderConnectionException
This gives the illusion that the reader is accepting and returning ASCII-based communications.
Furthermore, if the command string is not preceeded by a \1 character (which doReaderCommand() adds automatically, then it is assumed that the command is coming from a command line interface, and appropriate "Alien>" prompts are attached to the response string.
sendString
in class AbstractReader
command
- the text string to send
AlienReaderConnectionException
- if communication failsreceiveString(boolean)
public java.lang.String receiveString(boolean blockForInput)
receiveString
in class AbstractReader
blockForInput
- ignored
sendString(String)
public void sendBytes(byte[] bytes) throws AlienReaderException
bytes
- the array of bytes to send to the reader
AlienReaderException
- if reader communication failsreceiveBytes()
public byte[] receiveBytes() throws AlienReaderException
AlienReaderException
- if reader communication failssendBytes(byte[])
public java.lang.String toString()
toString
in class AlienClass1Reader
|
|||||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |