|
|||||||||||
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
This class allows the system to interact with an Alien Class 1 Reader. The Reader classes are the primary classes for communicating with a reader either over the network or serial port.
Typically the Reader object will be obtained from a
DiscoveryItem
object, which is
acquired through one of the reader discovery mechanisms
(NetworkDiscoveryListenerService
and SerialDiscoveryListenerService
).
However if the location (either serial port name or network address) 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.
Field Summary | |
static java.lang.String |
ALL_MASK
Specifies a Tag Mask of "All" (scan for all tags). |
static int |
CLASS0
Specifies only the Class0 tags for use with the TagType function. |
static int |
CLASS1GEN1_64BITS
Specifies all 64-bit Class1 tags for use with the TagType function. |
static int |
CLASS1GEN1_96BITS
Specifies all 96-bit Class 1 tags for use with the TagType function. |
static int |
CLASS1GEN1_ALL
Specifies all Class1 (64-bit and 96-bit) tags for use with the TagType function. |
static int |
CLASS1GEN1_LEPTON
Specifies only the "Lepton" flavor of 96-bit Class 1 tags for use with the TagType function. |
static int |
CLASS1GEN1_OMEGA
Specifies only the "Omega" flavor of 64-bit Class 1 tags for use with the TagType function. |
static int |
CLASS1GEN1_QUARK
Specifies only the "Quark" flavor of 64-bit Class 1 tags for use with the TagType function. |
static int |
CLASS1GEN2
Specifies only the Class1 Gen2 tags for use with the TagType function. |
static java.lang.String |
CUSTOM_FORMAT
Specifies a format of "Custom". |
static java.lang.String |
DATA_INC_ALWAYS
Used for the ProgEPCDataInc and ProgUserDataInc commands to indicate that the corresponding data field should not be automatically incremented after a program operation. |
static java.lang.String |
DATA_INC_FAIL
Used for the ProgEPCDataInc and ProgUserDataInc commands to indicate that the corresponding data field should not be automatically incremented after a program operation. |
static java.lang.String |
DATA_INC_OFF
Used for the ProgEPCDataInc and ProgUserDataInc commands to indicate that the corresponding data field should not be automatically incremented after a program operation. |
static java.lang.String |
DATA_INC_SUCCESS
Used for the ProgEPCDataInc and ProgUserDataInc commands to indicate that the corresponding data field should not be automatically incremented after a program operation. |
static java.lang.String |
DATA_INC_WRITE
Used for the ProgEPCDataInc and ProgUserDataInc commands to indicate that the corresponding data field should not be automatically incremented when a write operation is attempted. |
static java.text.SimpleDateFormat |
DATE_FORMATTER
The formatter used to format and parse date/time strings. |
static java.lang.String |
FUNCTION_PROGRAMMER
Specifies the one of two possible reader functions. |
static java.lang.String |
FUNCTION_READER
Specifies the one of two possible reader functions. |
static java.lang.String |
G2TARGET_A
|
static java.lang.String |
G2TARGET_AB
|
static java.lang.String |
G2TARGET_B
|
static java.lang.String |
GLOBAL_SCROLL
Specifies an acquire mode of "Global Scroll". |
static java.lang.String |
INVENTORY
Specifies an acquire mode of "Inventory". |
static java.lang.String |
LOCKTYPE_LOCK
Used for the ProgG2LockType commands to indicate that which type of lock to perform during the next lock/unlock operation. |
static java.lang.String |
LOCKTYPE_PERMALOCK
Used for the ProgG2LockType commands to indicate that which type of lock to perform during the next lock/unlock operation. |
static java.lang.String |
LOCKTYPE_PERMAUNLOCK
Used for the ProgG2LockType commands to indicate that which type of lock to perform during the next lock/unlock operation. |
static int |
LOG_OFF
|
static int |
LOG_ON
|
static int |
OFF
Specifies an OFF state. |
static int |
ON
Specifies an ON state. |
static int |
PROG_CLASS0
Specifies the ProgProtocol associated with Class0 tags. |
static int |
PROG_CLASS1GEN1
Specifies the ProgProtocol associated with Class1, Gen1 tags. |
static int |
PROG_CLASS1GEN2
Specifies the ProgProtocol associated with Class1, Gen2 tags. |
static java.lang.String |
RFMOD_DRM
Specifies the "Dense Reader Mode" RFModulation. |
static java.lang.String |
RFMOD_HS
Specifies the "High Speed" RFModulation. |
static java.lang.String |
RFMOD_STD
Specifies the "Standard" RFModulation. |
static java.lang.String |
TERSE_FORMAT
Specifies a format of "Terse". |
static java.lang.String |
TEXT_FORMAT
Specifies a format of "TEXT". |
static java.lang.String |
XML_FORMAT
Specifies a format of "XML". |
Fields inherited from class com.alien.enterpriseRFID.reader.AbstractReader |
DEBUG_BYTES, DEBUG_OFF, DEBUG_TEXT, DEFAULT_TIMEOUT, TIMEOUTMODE_CHARACTER, TIMEOUTMODE_COMMAND |
Constructor Summary | |
AlienClass1Reader()
Constructs a new AlienClass1Reader object. |
|
AlienClass1Reader(java.lang.String address)
Constructs a new AlienClass1Reader object, specifying its address. |
|
AlienClass1Reader(java.lang.String networkAddress,
int networkPort)
Constructs a new AlienClass1Reader object, specifying its address. |
Method Summary | |
void |
autoModeReset()
Reset all autonomous mode values to their default states, including turning autonomous mode off. |
void |
autoModeTriggerNow()
Emulates an external IO trigger event to start AutoMode. |
void |
clearIOList()
Instructs the reader to immediately clear its internal I/O event list. |
void |
clearTagList()
Instructs the reader to immediately clear its internal tag list. |
void |
eraseTag()
Attempt to erase the memory of a tag in the reader’s field of view. |
void |
g2Erase(int bank,
int wordPtr,
int wordLen)
Erases (fills with zeros) data in a Class1/Gen2 tag. |
byte[] |
g2Read(int bank,
int wordPtr,
int wordLen)
Performs a low-level read of data from the Class1/Gen2 tag. |
void |
g2Wake()
Causes the reader to issue a single G2 Select command, in order to return tags in the field back to the "not inventoried" state. |
void |
g2Wake(int numWakes)
Causes the reader to issue a number of G2 Select commands, in order to return tags in the field back to the "not inventoried" state. |
void |
g2Write(int bank,
int wordPtr,
byte[] bytes,
int offset,
int len)
Performs a low-level write of data to a Class1/Gen2 tag, at an arbitrary memory bank and location. |
java.lang.String |
getAcqC1Mask()
Deprecated. Current readers only support AcqG2Mask. |
java.lang.String |
getAcqG2AccessPwd()
Returns the Access password that the reader will use to gain access to password-protected portions of Class1/Gen2 tag memory. |
java.lang.String |
getAcqG2Mask()
Returns the current tag Class1/Gen2 mask, as a String. |
java.lang.String |
getAcqG2MaskAction()
Returns the current include/exclude behavior of the Class1/Gen2 mask. |
java.lang.String |
getAcqG2MaskAntenna()
Returns the current value of AcqG2MaskAntenna. |
java.lang.String |
getAcqG2SL()
Returns the current value of AcqG2SL. |
java.lang.String |
getAcqMask()
Deprecated. Current readers only support AcqG2Mask. |
int |
getAcquireC0Count()
Returns the number of reads to perform in each Class0 acquire cycle. |
int |
getAcquireC0Cycles()
Returns the number of complete acquire cycles to perform with each Class0 read operation. |
int |
getAcquireC1Count()
Performs the same task as getAcquireCount(). |
int |
getAcquireC1Cycles()
Performs the same task as getAcquireCycles(). |
int |
getAcquireC1EnterWakeCount()
Performs the same task as getAcquireEnterWakeCount(). |
int |
getAcquireC1ExitWakeCount()
Performs the same task as getAcquireExitWakeCount(). |
int |
getAcquireC1SleepCount()
Performs the same task as getAcquireSleepCount(). |
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 Class1 Gen2 acquire cycle. |
int |
getAcquireG2Cycles()
Returns the number of complete acquire cycles to perform with each Class1 Gen2 read operation. |
java.lang.String |
getAcquireG2Ops()
|
java.lang.String |
getAcquireG2Ops(int opsNum)
|
int |
getAcquireG2OpsMode()
Returns the ON/OFF status of AcqG2OpsMode. |
int |
getAcquireG2Q()
Returns the starting Q value to use in each Class1 Gen2 acquire cycle. |
int |
getAcquireG2Selects()
Returns the number of SELECT commands issued at the start of each Class1/Gen2 acquire cycle. |
int |
getAcquireG2Session()
Returns the G2 Session that the reader will operate on when inventorying Class1/Gen2 tags. |
java.lang.String |
getAcquireG2TagData()
Returns a String specifying which additional locations in G2 tag memory to fetch in the course of an inventory. |
java.lang.String |
getAcquireG2Target()
Returns the String which specifies the manner in which the reader manages the population of inventoried G2 tags. |
java.lang.String |
getAcquireMode()
Returns the method that the reader uses to scan for tags. |
int |
getAcquireSleep()
Returns the ON/OFF AcquireSleep state, which specifies whether tags are slept as they are read. |
int |
getAcquireSleepCount()
Returns the number of sleeps to perform after each Class1 Gen1 acquire cycle. |
int |
getAcquireTime()
Returns the maximum inventory duration, after which the reader aborts the inventory. |
int |
getAcquireWakeCount()
Returns the number of acquire events the reader will perform in between issuing Wakes. |
java.lang.String |
getAntennaSequence()
Return the sequence of antenna ports the reader cycles through as it performs reads. |
java.lang.String |
getAutoAction()
Returns the action the reader performs while in autonomous mode. |
java.lang.String |
getAutoErrorOutput()
Returns the reader setting specifying which AutoMode errors to react to, and the external output setting to apply when one of those errors is encountered. |
int |
getAutoFalseOutput()
Returns the value of the external output pins while in the "false pause" state. |
int |
getAutoFalsePause()
Returns the time the reader pauses after the autonomous mode evaluation returns a false condition. |
int |
getAutoMode()
Returns the ON/OFF status of Autonomous mode. |
java.lang.String |
getAutoModeStatus()
Returns a value representing the current state of autonomous mode state machine. |
int |
getAutoProgError()
Returns the antenna value reported by the reader when a programming attempt in AutoMode fails. |
int |
getAutoStartPause()
Returns the time the reader pauses after receiving a start trigger before it actually enters the work state. |
int[] |
getAutoStartTrigger()
Returns the external input pins the reader monitors that trigger autonomous mode to jump into the working state. |
int |
getAutoStopPause()
Returns the time the reader pauses after receiving a stop trigger before it actually leaves the work state. |
int |
getAutoStopTimer()
Returns the time the reader spends in the work state before moving on to the evaluate state. |
int[] |
getAutoStopTrigger()
Returns the external input pins the reader monitors that trigger autonomous mode to leave the working state. |
int |
getAutoTrueOutput()
Returns the value of the external output pins while in the "true pause" state. |
int |
getAutoTruePause()
Returns the time the reader pauses after the autonomous mode evaluation returns a true condition. |
int |
getAutoWaitOutput()
Returns the value of the external output pins while in the wait state. |
int |
getAutoWorkOutput()
Returns the value of the external output pins while in the work state. |
int |
getCommandPort()
Returns the port number that this reader listens on for command messages. |
Tag[] |
getCustomTagList()
Immediately scans the field for tags once and reports the results. |
Tag[] |
getCustomTagList(int multiplier)
Immediately scans the field for tags a specified number of times and reports the results. |
int |
getDHCP()
Returns the ON/OFF status of DHCP. |
java.lang.String |
getDNS()
Returns the Domain Name Server for this reader. |
int |
getExternalInput()
Returns the decimal representation of the state of the external inputs. |
int |
getExternalOutput()
Returns the decimal representation of the state of the external outputs. |
java.lang.String |
getGateway()
Returns the IP address of the network Gateway server. |
java.lang.String |
getHeartbeatAddress()
Returns the IP address where reader heartbeat messages are delivered. |
int |
getHeartbeatCount()
Returns the number of heartbeat messages that the reader will broadcast following startup. |
int |
getHeartbeatPort()
Returns the port number over which the reader sends its UDP heartbeat messages. |
int |
getHeartbeatTime()
Returns the time interval between heartbeat messages. |
java.lang.String |
getHostname()
Returns the network hostname for this reader. |
java.lang.String |
getInfo()
Returns the reader's information dump, which includes all of the current reader settings. |
int |
getInitExternalOutput()
Returns the value used to set the external output state during startup. |
int |
getInvertExternalInput()
Returns the ON/OFF status of the external input inverter. |
int |
getInvertExternalOutput()
Returns the ON/OFF status of the external output inverter. |
ExternalIO[] |
getIOList()
Asks the reader for its current IOList and reports the results. |
java.lang.String |
getIOListCustomFormat()
Returns the current custom IOList formatting string. |
java.lang.String |
getIOListDump()
Returns a single dump of the reader's current IOList. |
java.lang.String |
getIOListFormat()
Returns the current format for IOLists. |
java.lang.String |
getIOStreamAddress()
Returns the address of the device to push IOStream events to. |
java.lang.String |
getIOStreamCustomFormat()
Returns the current custom IOStream formatting string. |
java.lang.String |
getIOStreamFormat()
Returns the type of format used for IOStream event messages. |
int |
getIOStreamKeepAliveTime()
Returns the time period (in seconds) the reader will hold an idle IOStream TCP socket open before closing it. |
int |
getIOStreamMode()
Returns the ON/OFF status of the the reader's IOStream functionality. |
java.lang.String |
getIOType()
Returns the type of external I/Os that the reader will report from its internal IOList. |
java.lang.String |
getIPAddress()
Returns the configured IP Address of this reader. |
int |
getLBT()
Returns the ON/OFF status of LBT. |
int |
getLBTLimit()
Returns the current setting for the LBT threshold. |
int |
getLBTValue()
Returns the current wide-band noise level that the reader is detecting. |
java.lang.String |
getMACAddress()
Returns the reader's MAC address. |
java.lang.String |
getMailFrom()
Returns the email address associated with this reader. |
java.lang.String |
getMailServer()
Returns the SMTP (Simple Mail Transfer Protocol) mail server. |
java.lang.String |
getMask()
Deprecated. Current readers only support AcqG2Mask. |
int |
getMaxAntenna()
Returns the maximum antenna port number that this reader's hardware supports. |
java.lang.String |
getMyData()
Returns the arbitrary "MyData" stored on the reader. |
java.lang.String |
getNetmask()
Returns the netmask of this reader. |
int |
getNetworkTimeout()
Returns the time period (in seconds) the reader will wait on an idle network connection before timing out. |
int |
getNetworkUpgrade()
Returns the ON/OFF status of the network upgrade flag. |
java.lang.String |
getNotifyAddress()
Returns the address of the device to push notifications to. |
java.lang.String |
getNotifyFormat()
Returns the type of format used for notification messages. |
int |
getNotifyHeader()
Returns the ON/OFF status of NotifyHeader. |
java.lang.String |
getNotifyInclude()
Returns the value indicating whether Tag data, I/O data, or both will be included in Notification messages. |
int |
getNotifyKeepAliveTime()
Returns the time period (in seconds) the reader will hold an idle Notify TCP socket open before closing it. |
int |
getNotifyMode()
Returns the ON/OFF status of Notify mode. |
int |
getNotifyQueueLimit()
Returns the total number of failed TCP notification messages that the reader will queue up, waiting for the connection to the NotifyAddress to be reestablished. |
int |
getNotifyRetryCount()
Returns the number of times the reader should retry a notification message that failed to be delivered, before turning NotifyMode off. |
int |
getNotifyRetryPause()
Returns the amount of time (in seconds) that the reader should retry wait before reattempting a failed notification message. |
int |
getNotifyTime()
Returns the time interval for automatic pushing of tag lists. |
java.lang.String |
getNotifyTrigger()
Returns the event conditions (other than time-based) upon which a notification message is sent out to any listener. |
java.lang.String |
getPassword()
Returns the password that this AlienClass1Reader uses to authenticate
with a reader via the network. |
int |
getPersistTime()
Returns the length of time a read tag will remain in the reader's internal list of active tags. |
java.lang.String |
getProgAlienImageMap()
Returns the current memory map specifier used by the ProgramAlienImage command. |
java.lang.String |
getProgAlienImageNSI()
Returns the NSI data that the reader will write to the tag during the next ProgramAlienImage. |
int |
getProgAntenna()
Returns the antenna that the reader uses for programming operations. |
int |
getProgAttempts()
Returns the number of times the reader attempts to program a tag. |
int |
getProgBlockAlign()
Returns the current ON/OFF status of ProgBlockAlign. |
int |
getProgBlockSize()
Returns the current ProgBlockSize value. |
java.lang.String |
getProgC1KillPwd()
Returns the kill password that the reader will use to lock or kill the next Class 1, Gen 1 tag while operating in AutoMode. |
java.lang.String |
getProgDataUnit()
Returns the size of the data unit used to read and write to Gen2 tags. |
java.lang.String |
getProgEPCData()
Returns the EPC data that the reader will use to program the next tag in AutoMode, or when the ProgramEPC command is issued without a corresponding EPC data argument. |
java.lang.String |
getProgEPCDataInc()
Returns the programming result that triggers the ProgEPCData property of the reader to be incremented. |
int |
getProgEPCDataIncCount()
Returns the maximum number of times the reader will automatically increment the ProgEPCData value before prohibiting further programming operations. |
int |
getProgEraseAttempts()
Returns the number of times the reader attempts to erase a tag, before programming it. |
java.lang.String |
getProgG2AccessPwd()
Returns the Access Password that the reader will use when the ProgramAccessPwd command is issued without a corresponding data argument. |
java.lang.String |
getProgG2KillPwd()
Returns the kill password that the reader will use to lock or kill the next Class 1, Gen 2 tag while operating in AutoMode. |
java.lang.String |
getProgG2LockType()
Returns the type of lock used to lock the next Class1/Gen2 tag. |
java.lang.String |
getProgG2NSI()
Returns the NSI data that the reader will write to the tag during the next ProgramEPC operation. |
int |
getProgIncrementOnFail()
Returns the ON/OFF status of the ProgIncrementOnFail flag. |
int |
getProgProtocol()
Returns the tag protocol that the reader is using for programming operations. |
java.lang.String |
getProgramID()
Returns the tagID the reader will use to program the next tag in AutoMode. |
java.lang.String |
getProgramPassCode()
Returns the kill password that the reader will use to lock or kill the next Class 1, Gen 1 tag while operating in AutoMode. |
int |
getProgReadAttempts()
Returns the number of times the reader attempts to verify the presence of a tag, before programming it. |
int |
getProgSingulate()
Returns the ON/OFF status of whether the reader will try to singulate a tag before programming it. |
java.lang.String |
getProgUserData()
Returns the USER data that the reader will use when the ProgramUser command is issued without a corresponding data argument. |
java.lang.String |
getProgUserDataInc()
Returns the programming result that triggers the ProgUserData property of the reader to be incremented. |
int |
getProgUserDataIncCount()
Returns the maximum number of times the reader will automatically increment the ProgUserData value before prohibiting further programming operations. |
int |
getReaderBaudRate()
Returns the reader's current serial baud rate. |
java.lang.String |
getReaderFunction()
Returns the reader's current operating mode. |
java.lang.String |
getReaderName()
Returns the reader's Name. |
int |
getReaderNumber()
Returns the reader's numerical identifier. |
java.lang.String |
getReaderPassword()
Returns the password stored in the reader that is used to authenticate users attempting to access this reader via the network. |
java.lang.String |
getReaderType()
Returns a string describing the type of reader. |
java.lang.String |
getReaderUsername()
Returns the username stored in the reader that is used to authenticate users attempting to access this reader via the network. |
java.lang.String |
getReaderVersion()
Returns a string describing the version of the reader. |
int |
getRFAttenuation()
Returns the reader's RFAttenuation value. |
int |
getRFAttenuation(int antenna)
Returns the reader's RFAttenuation value for the given antenna. |
int[] |
getRFAttenuations()
Returns the reader's RFAttenuation values for reading tags and writing tags. |
int[] |
getRFAttenuations(int antenna)
Returns the reader's RFAttenuation values for a specific antenna for reading tags and writing tags. |
int |
getRFLevel()
Returns the reader's RFLevel value. |
int |
getRFLevel(int antenna)
Returns the reader's RFLevel value for a specific antenna. |
int[] |
getRFLevels()
Returns the reader's RFLevel values for reading tags and writing tags. |
int[] |
getRFLevels(int antenna)
Returns the reader's RFLevel values for a specific antenna for reading tags and writing tags. |
java.lang.String |
getRFModulation()
Returns the reader's current Class 1 Gen2 modulation mode. |
java.lang.String |
getRSSIFilter()
Returns the String defining the current RSSIFilter ranges. |
java.lang.String |
getSpeedFilter()
Returns the String defining the current SpeedFilter ranges. |
int |
getStreamHeader()
Returns the ON/OFF status of the StreamHeader. |
Tag |
getTag()
Immediately scans the field for tags once and reports the results the first tag. |
Tag |
getTag(int multiplier)
Immediately scans the field for tags a specified number of times and reports the first tag. |
java.lang.String |
getTagAuth()
Returns the current TagAuth setting on the reader. |
java.lang.String |
getTagID()
Immediately scans the field for tags once and reports the ID of the first tag. |
java.lang.String |
getTagID(int multiplier)
Immediately scans the field for tags a specified number of times and reports the ID of the first tag. |
java.lang.String |
getTagInfo()
The TagInfo command returns low-level information about a tag, such as the manufacturer ID, tag model and version. |
Tag[] |
getTagList()
Immediately scans the field for tags once and reports the results. |
Tag[] |
getTagList(int multiplier)
Immediately scans the field for tags a specified number of times and reports the results. |
int |
getTagListAntennaCombine()
Returns the ON/OFF status of TagList Antenna Combine feature. |
java.lang.String |
getTagListCustomFormat()
Returns the current printf-style custom tag list formatting string. |
java.lang.String |
getTagListFormat()
Returns the current format for tag lists. |
int |
getTagListMillis()
Returns the ON/OFF status of TagList Milliseconds feature. |
java.lang.String |
getTagStreamAddress()
Returns the address of the device to push TagStream events to. |
int[] |
getTagStreamCountFilter()
Returns the minimum and maximum values for the TagStreamCountFilter, as the first two elements of an int[]. |
int |
getTagStreamCountFilterMinimum()
Returns the minimum number of times a given tag has to be read before the reader will start streaming that tag data. |
java.lang.String |
getTagStreamCustomFormat()
Returns the current custom TagStream formatting string. |
java.lang.String |
getTagStreamFormat()
Returns the type of format used for TagStream event messages. |
int |
getTagStreamKeepAliveTime()
Returns the time period (in seconds) the reader will hold an idle TagStream TCP socket open before closing it. |
int |
getTagStreamMode()
Returns the ON/OFF status of the the reader's TagStream functionality. |
int |
getTagType()
Returns the bitmap indicating which Alien RFID tag types the reader should look for. |
java.util.Date |
getTime()
Returns the date and time of the reader's onboard clock, as a Date object. |
java.lang.String |
getTimeServer()
Returns the address of the external TimeServer the reader uses to accurately set its internal clock each time it is rebooted. |
int |
getTimeZone()
Returns the reader's time zone setting. |
java.lang.String |
getUpgradeAddress()
Returns the URL where the reader will look for upgrade files. |
java.lang.String |
getUpgradeIPAddress()
Returns the IP address for the Reader Upgrade Service (RUS) where the reader will look for upgrade files. |
int |
getUpgradePort()
Returns the port number for the Reader Upgrade Service (RUS) that the reader will connect to when it looks for upgrades over the network. |
int |
getUptime()
Returns the elapsed time, in seconds, since the last time the reader was rebooted. |
java.lang.String |
getUsername()
Returns the username that this AlienClass1Reader uses to authenticate
with a reader via the network. |
int |
getWWWPort()
Returns the port number that the reader's built-in web server listens on. |
java.lang.String |
heartbeatNow()
Sends an immediate heartbeat. |
void |
hideAlienUserBlocks(byte blocksToHideMask)
Hides or reveals selected blocks of User memory. |
void |
killTag(java.lang.String tagIDAndPassCode)
Completely erases a locked tag to allow it to be reprogrammed again. |
void |
lockAccessPwd()
Locks a tag's Access Password field with the default accessPwd. |
void |
lockAccessPwd(java.lang.String accessPwd)
Locks a tag's Access Password field with the supplied accessPwd. |
void |
lockEPC()
Locks a tag's EPC with the default lockData. |
void |
lockEPC(java.lang.String lockData)
Locks a tag's EPC with the supplied lockData. |
void |
lockKillPwd()
Locks a tag's Kill Password field with the default accessPwd. |
void |
lockKillPwd(java.lang.String accessPwd)
Locks a tag's Kill Password field with the supplied accessPwd. |
void |
lockTag(java.lang.String lockData)
Locks a tag's EPC with the supplied lockData. |
void |
lockUser()
Locks a tag's User bank with the default accessPwd. |
void |
lockUser(java.lang.String accessPwd)
Locks a tag's User bank with the supplied accessPwd. |
void |
lockUserBlocks(byte blocksToLockMask)
Permanently locks a some or all of the blocks of data in the tag's User bank. |
void |
macroDel(java.lang.String macroName)
Permanently deletes the named macro stored on the reader. |
void |
macroDelAll()
Permanently deletes all of the macros stored on the reader. |
java.lang.String |
macroList()
Returns the list of macros currently stored on the reader. |
void |
macroRun(java.lang.String macroName)
Runs the named macro stored on the reader. |
void |
macroStartRec(java.lang.String macroName)
Begins recording of a new macro with the specified name. |
void |
macroStopRec()
Halts recording of the macro. |
java.lang.String |
macroView(java.lang.String macroName)
Returns the contents of a named macro stored on the reader. |
void |
notifyNow()
Send an immediate message via the notification system. |
java.lang.String |
ping(java.lang.String networkAddress)
Instructs the reader to attempt a network ping to the specified address. |
java.lang.String |
ping(java.lang.String networkAddress,
int port)
Instructs the reader to attempt to make a socket connection to the device specified by networkAddress, at the specified port. |
void |
programAccessPwd()
Writes data to the tag's Access Password space. |
void |
programAccessPwd(java.lang.String accessPwd)
Writes data to the tag's Access Password space. |
void |
programAlienImage()
Writes a complete image of data to an Alien Higgs tag. |
void |
programAndLockEPC()
Writes data to the tag's EPC space, writes the tag's Access Password, and then locks the EPC bank. |
void |
programAndLockEPC(java.lang.String epcData)
Writes data to the tag's EPC space, writes the tag's Access Password, and then locks the EPC bank. |
void |
programAndLockUser()
Writes data to the tag's User space, writes the tag's Access Password, and then locks the User bank. |
void |
programAndLockUser(java.lang.String userData)
Writes data to the tag's User space, writes the tag's Access Password, and then locks the User bank. |
void |
programEPC()
Writes data to the tag's EPC space. |
void |
programEPC(java.lang.String epcData)
Writes data to the tag's EPC space. |
void |
programKillPwd()
Writes data to the tag's Kill Password space. |
void |
programKillPwd(java.lang.String killPwd)
Writes data to the tag's Kill Password space. |
void |
programTag(java.lang.String epcData)
Writes data to the tag's EPC space. |
void |
programUser()
Writes data to the tag's User space. |
void |
programUser(java.lang.String userData)
Writes data to the tag's User space. |
void |
reboot(boolean waitForReboot)
Reboots the reader, optionally waiting for the reader to finish booting before returning. |
void |
resetAutoMode()
Deprecated. use #autoModeReset instead |
void |
saveSettings()
Saves the current reader setting to flash memory. |
void |
setAcqC1Mask(int bitPointer,
int bitLength,
java.lang.String hexString)
Deprecated. Current readers only support AcqG2Mask. |
void |
setAcqC1Mask(java.lang.String maskString)
Deprecated. Current readers only support AcqG2Mask. |
void |
setAcqG2AccessPwd(java.lang.String accessPwd)
Sets the Access password that the reader will use to gain access to password-protected portions of Class1/Gen2 tag memory. |
void |
setAcqG2Mask(int bank,
int bitPointer,
int bitLength,
java.lang.String hexString)
Sets the Class1/Gen2 Mask, specifying individual values. |
void |
setAcqG2Mask(java.lang.String maskString)
Sets the Class1/Gen2 mask, as a String. |
void |
setAcqG2MaskAction(java.lang.String maskAction)
Sets the include/exclude behavior of the Class1/Gen2 mask. |
void |
setAcqG2MaskAntenna(java.lang.String maskAntenna)
Sets the current value of AcqG2MaskAntenna. |
void |
setAcqG2SL(java.lang.String acqG2SL)
Sets the value of AcqG2SL, using a String. |
void |
setAcqMask(int bitLength,
int bitPointer,
java.lang.String hexString)
Deprecated. Current readers only support AcqG2Mask. |
void |
setAcqMask(java.lang.String maskString)
Deprecated. Current readers only support AcqG2Mask. |
void |
setAcquireC0Count(int acqC0Count)
Specifies the number of reads to perform in each Class0 acquire cycle. |
void |
setAcquireC0Cycles(int acqC0Cycles)
Specifies the number of complete acquire cycles to perform with each Class0 read operation. |
void |
setAcquireC1Count(int acqC1Count)
Performs the same task as setAcquireCount(). |
void |
setAcquireC1Cycles(int acqC1Cycles)
Performs the same task as setAcquireCycles(). |
void |
setAcquireC1EnterWakeCount(int acqC1EnterWakeCount)
Performs the same task as setAcquireEnterWakeCount(). |
void |
setAcquireC1ExitWakeCount(int acqC1ExitWakeCount)
Performs the same task as setAcquireExitWakeCount(). |
void |
setAcquireC1SleepCount(int acqC1SleepCount)
Performs the same task as setAcquireSleepCount(). |
void |
setAcquireCount(int acqC1Count)
Specifies the number of reads to perform in each Class1 Gen1 acquire cycle. |
void |
setAcquireCycles(int acqC1Cycles)
Specifies the number of complete acquire cycles to perform with each Class1 Gen1 read operation. |
void |
setAcquireEnterWakeCount(int acqC1EnterWakeCount)
Specifies the number of wakes to perform at the start of each Class1 Gen1 acquire cycle. |
void |
setAcquireExitWakeCount(int acqC1ExitWakeCount)
Specifies the number of wakes to perform at the end all the Class1 Gen1 acquire cycles. |
void |
setAcquireG2Count(int acqG2Count)
Specifies the number of reads to perform in each Class1 Gen2 acquire cycle. |
void |
setAcquireG2Cycles(int acqG2Cycles)
Specifies the number of complete acquire cycles to perform with each Class1 Gen2 read operation. |
void |
setAcquireG2Ops(int opNum,
java.lang.String op)
|
void |
setAcquireG2Ops(int opNum,
java.lang.String opAction,
java.lang.String opArgs)
|
void |
setAcquireG2Ops(java.lang.String g2OpsCommand)
|
void |
setAcquireG2OpsMode(int g2OpsMode)
Changes the ON/OFF status of AcqG2OpsMode. |
void |
setAcquireG2Q(int acqG2Q)
Specifies the starting Q value to use in each Class1 Gen2 acquire cycle. |
void |
setAcquireG2Selects(int acqG2Select)
Specifies the number of SELECT commands issued at the start of each Class1/Gen2 acquire cycle. |
void |
setAcquireG2Session(int acqG2Session)
Specifies the G2 Session that the reader will operate on when inventorying Class1/Gen2 tags. |
void |
setAcquireG2TagData(int bank,
int wordPtr,
int wordCount)
Specifies a single additional location in G2 tag memory to fetch in the course of an inventory. |
void |
setAcquireG2TagData(java.lang.String g2TagDataString)
Specifies which additional locations in G2 tag memory to fetch in the course of an inventory. |
void |
setAcquireG2Target(java.lang.String g2Target)
Specifies the manner in which the reader manages the population of inventoried G2 tags. |
void |
setAcquireMode(java.lang.String acquireMode)
Specifies the method the reader uses to scan for tags. |
void |
setAcquireSleep(int acquireSleep)
Changes the ON/OFF AcquireSleep setting. |
void |
setAcquireSleepCount(int acqC1SleepCount)
Specifies the number of sleeps to perform during each Class1 Gen1 acquire cycle. |
void |
setAcquireTime(int acquireTime)
Sets the maximum inventory duration, after which the reader aborts the inventory. |
void |
setAcquireWakeCount(int acquireWakeCount)
Changes how often the reader performs automatic Wakes. |
void |
setAntennaSequence(java.lang.String antennaSequence)
Change the sequence of antenna ports the reader cycles through as it performs reads. |
void |
setAutoAction(java.lang.String autoAction)
Specifies the action the reader performs while in autonomous mode. |
void |
setAutoErrorOutput(java.lang.String errorOutput)
Sets the reader setting specifying which AutoMode errors to react to, and the external output setting to apply when one of those errors is encountered. |
void |
setAutoFalseOutput(int autoFalseOutput)
Specifies the value of the external output pins while in the "false pause" state. |
void |
setAutoFalsePause(int autoFalsePause)
Specifies the time the reader pauses after the autonomous mode evaluation returns a false condition. |
void |
setAutoMode(int autoMode)
Changes the ON/OFF status of Autonomous mode. |
void |
setAutoProgError(int autoProgError)
Specifies the time the reader pauses after the autonomous mode evaluation returns a false condition. |
void |
setAutoStartPause(int autoStartPause)
Specifies the time the reader pauses after receiving a start trigger before it actually enters the work state. |
void |
setAutoStartTrigger(int risingEdge,
int fallingEdge)
Specifies the external input pins the reader monitors that trigger autonomous mode to jump into the working state. |
void |
setAutoStartTrigger(java.lang.String trigger)
Specifies the external input pins the reader monitors that trigger autonomous mode to jump into the working state, as a comma-separated string. |
void |
setAutoStopPause(int autoStopPause)
Specifies the time the reader pauses after receiving a stop trigger before it actually leaves the work state. |
void |
setAutoStopTimer(int timer)
Specifies the time the reader spends in the work state before moving on to the evaluate state. |
void |
setAutoStopTrigger(int risingEdge,
int fallingEdge)
Specifies the external input pins the reader monitors that trigger autonomous mode to leave the working state. |
void |
setAutoStopTrigger(java.lang.String trigger)
Specifies the external input pins the reader monitors that trigger autonomous mode to leave the working state, as a comma-separated string. |
void |
setAutoTrueOutput(int autoTrueOutput)
Specifies the value of the external output pins while in the "true pause" state. |
void |
setAutoTruePause(int autoTruePause)
Specifies the time the reader pauses after the autonomous mode evaluation returns a true condition. |
void |
setAutoWaitOutput(int autoWaitOutput)
Specify the value of the external output pins while in the wait state. |
void |
setAutoWorkOutput(int autoWorkOutput)
Specifies the value of the external output pins while in the work state. |
void |
setC1MaskBits(int bitPointer,
java.lang.String bitString)
Deprecated. Current readers only support AcqG2Mask. |
void |
setC1TagMask(java.lang.String tagID)
Deprecated. Current readers only support AcqG2Mask. |
void |
setCommandPort(int commandPort)
Changes the port that this reader listens on for command messages. |
void |
setDefaultIOListFormat()
Sets the IOListFormat to it's default setting, TEXT_FORMAT. |
void |
setDefaultTagListFormat()
Returns the tag list format to it's default setting, TEXT_FORMAT. |
void |
setDHCP(int dhcp)
Sets the ON/OFF status of DHCP. |
void |
setDNS(java.lang.String dns)
Changes the Domain Name Server for this reader. |
void |
setExternalOutput(int value)
Changes the state of the reader's external output pins. |
void |
setFactorySettings()
Resets the reader to its original factory settings, and waits for it to reboot. |
void |
setFactorySettings(boolean waitForReboot)
Resets the reader to its original factory settings, and optional waits for it to reboot. |
void |
setG2MaskBits(int bitPointer,
java.lang.String bitString)
Sets the Class1/Gen2 Mask, specifying individual bit values. |
void |
setG2TagMask(java.lang.String tagID)
Sets the reader's Class1/Gen2 tag mask to match the specified EPC. |
void |
setGateway(java.lang.String gatewayAddress)
Sets the IP address of the network Gateway server. |
void |
setHeartbeatAddress(java.lang.String heartbeatAddress)
Changes the IP address where reader heartbeat messages are delivered. |
void |
setHeartbeatCount(int heartbeatCount)
Sets the number of heartbeat messages that the reader will broadcast following startup. |
void |
setHeartbeatPort(int heartbeatPort)
Changes the port number over which the reader sends its UDP heartbeat messages. |
void |
setHeartbeatTime(int heartbeatTime)
Sets the time interval between heartbeat messages. |
void |
setHostname(java.lang.String hostname)
Changes the network hostname for this reader. |
void |
setInitExternalOutput(int value)
Sets the value used to set the external output state during startup. |
void |
setInvertExternalInput(int value)
Sets the ON/OFF status of the external input inverter. |
void |
setInvertExternalOutput(int value)
Sets the ON/OFF status of the external output inverter. |
void |
setIOListCustomFormat(java.lang.String customFormat)
Sets the custom IOList formatting string. |
void |
setIOListFormat(java.lang.String formatMode)
Sets the type of format to use for IOLists. |
void |
setIOStreamAddress(java.lang.String address)
Sets the address of the device to push IOStream events to. |
void |
setIOStreamAddress(java.lang.String ipAddress,
int portNumber)
Sets the address of the device to push IOStream events to. |
void |
setIOStreamCustomFormat(java.lang.String customFormat)
Changes the custom IOStream formatting string. |
void |
setIOStreamFormat(java.lang.String format)
Returns the type of format used for IOStream event messages. |
void |
setIOStreamKeepAliveTime(int keepAliveTime)
Sets the time period (in seconds) the reader will hold an idle IOStream TCP socket open before closing it. |
void |
setIOStreamMode(int streamMode)
Changes the ON/OFF status of the reader's IOStream functionality. |
void |
setIOType(java.lang.String ioType)
Sets the type of external I/Os that the reader will report from its internal IOList. |
void |
setIPAddress(java.lang.String ipAddress)
Changes this reader's network IP Address. |
void |
setLBT(int lbt)
Sets the ON/OFF status of LBT. |
void |
setLBTLimit(int lbtLimit)
Sets the value for the LBT threshold. |
void |
setLogLevel(int logLevel)
|
void |
setMailFrom(java.lang.String mailFrom)
Specifies the email address associated with this reader. |
void |
setMailServer(java.lang.String mailServer)
Specifies the SMTP (Simple Mail Transfer Protocol) mail server. |
void |
setMask(int bitLength,
int bitPointer,
java.lang.String hexString)
Deprecated. Current readers only support AcqG2Mask. |
void |
setMask(java.lang.String maskString)
Deprecated. Current readers only support AcqG2Mask. |
void |
setMaskBits(int bitPointer,
java.lang.String bitString)
Deprecated. Current readers only support AcqG2Mask. |
void |
setMyData(java.lang.String myData)
Changes the arbitrary "MyData" stored on the reader. |
void |
setNetmask(java.lang.String netmask)
Changes the netmask of this reader. |
void |
setNetworkTimeout(int networkTimeout)
Sets the time period (in seconds) the reader will wait on an idle network connection before timing out. |
void |
setNetworkUpgrade(int value)
Sets the ON/OFF status of the network upgrade flag. |
void |
setNotifyAddress(java.lang.String address)
Specifies the address (as a single String) of the device to push notifications to. |
void |
setNotifyAddress(java.lang.String ipAddress,
int portNumber)
Specifies the address (as IP and port number) of the device to push notifications to. |
void |
setNotifyFormat(java.lang.String format)
Specifies the type of format used for notification messages. |
void |
setNotifyHeader(int notifyHeader)
Changes the ON/OFF status of NotifyHeader. |
void |
setNotifyInclude(java.lang.String notifyInclude)
Specifies the value indicating whether Tag data, I/O data, or both will be included in Notification messages. |
void |
setNotifyKeepAliveTime(int keepAliveTime)
Sets the time period (in seconds) the reader will hold an idle Notify TCP socket open before closing it. |
void |
setNotifyMode(int notifyMode)
Changes the ON/OFF status of Notify mode. |
void |
setNotifyQueueLimit(int queueLimit)
Serts the total number of failed TCP notification messages that the reader will queue up, waiting for the connection to the NotifyAddress to be reestablished. |
void |
setNotifyRetryCount(int retryCount)
Specifies the number of times the reader should retry a notification message that failed to be delivered, before turning NotifyMode off. |
void |
setNotifyRetryPause(int retryPause)
Specifies the amount of time (in seconds) that the reader should retry wait before reattempting a failed notification message. |
void |
setNotifyTime(int seconds)
Specifies the time interval for automatic pushing of tag lists. |
void |
setNotifyTrigger(java.lang.String trigger)
Specifies the event conditions (other than time-based) upon which a notification message is sent out to any listener. |
void |
setPassword(java.lang.String password)
Change the password this AlienClass1Reader uses to authenticate
with the reader over the network. |
void |
setPersistTime(int persistTime)
Sets the length of time a tag's data will remain in the reader's internal list of active tags. |
void |
setProgAlienImageMap(java.lang.String imageMap)
Set the memory map specifier used by the ProgramAlienImage command. |
void |
setProgAlienImageNSI(java.lang.String nsiData)
Sets the NSI data that the reader will write to the tag during the next ProgramAlienImage. |
void |
setProgAntenna(int antenna)
Sets the antenna that the reader uses for programming operations. |
void |
setProgAttempts(int progAttempts)
Sets the number of times the reader attempts to program a tag. |
void |
setProgBlockAlign(int progBlockAlign)
Sets the new ON/OFF value for ProgBlockAlign. |
void |
setProgBlockSize(int progBlockSize)
Sets the new ProgBlockSize value. |
void |
setProgC1KillPwd(java.lang.String killPwd)
Sets the kill password that the reader will use to lock or kill the next Class 1, Gen 1 tag, while operating in AutoMode. |
void |
setProgDataUnit(java.lang.String dataUnit)
Sets the size of the data unit used to read and write to Gen2 tags. |
void |
setProgEPCData(java.lang.String epcData)
Sets the EPC data reader will use to program the next tag in AutoMode, or when the ProgramEPC command is issued without a corresponding EPC data argument. |
void |
setProgEPCDataInc(java.lang.String epcDataInc)
Sets the programming result that triggers the ProgEPCData property of the reader to be incremented. |
void |
setProgEPCDataIncCount(int epcDataIncCount)
Returns the maximum number of times the reader will automatically increment the ProgEPCData value before prohibiting further programming operations. |
void |
setProgEraseAttempts(int eraseAttempts)
Sets the number of times the reader attempts to erase a tag, before programming it. |
void |
setProgG2AccessPwd(java.lang.String accessPwd)
Sets the Access Password that the reader will use when the ProgramAccessPwd command is issued without a corresponding data argument. |
void |
setProgG2KillPwd(java.lang.String killPwd)
Sets the kill password that the reader will use to lock or kill the next Class 1, Gen 2 tag, while operating in AutoMode. |
void |
setProgG2LockType(java.lang.String lockType)
Sets the type of lock used to lock the next Class1/Gen2 tag. |
void |
setProgG2NSI(java.lang.String nsiData)
Sets the NSI data that the reader will write to the tag during the next ProgramEPC operation. |
void |
setProgIncrementOnFail(int incrementOnFail)
Sets the ON/OFF status of the ProgIncrementOnFail flag. |
void |
setProgProtocol(int progProtocol)
Sets the tag protocol that the reader uses for programming operations. |
void |
setProgramID(java.lang.String programID)
Sets the tagID the reader will use to program the next tag in AutoMode. |
void |
setProgramPassCode(java.lang.String passCode)
Sets the PassCode the reader will use to lock or kill the next tag, while in AutoMode. |
void |
setProgReadAttempts(int readAttempts)
Sets the number of times the reader attempts to verify the presence of a tag, before programming it . |
void |
setProgSingulate(int progSingulate)
Changes the ON/OFF status of whether the reader will try to singulate a tag before programming it. |
void |
setProgUserData(java.lang.String userData)
Sets the USER data that the reader will use when the ProgramUser command is issued without a corresponding data argument. |
void |
setProgUserDataInc(java.lang.String userDataInc)
Sets the programming result that triggers the ProgUserData property of the reader to be incremented. |
void |
setProgUserDataIncCount(int userDataIncCount)
Returns the maximum number of times the reader will automatically increment the ProgUserData value before prohibiting further programming operations. |
void |
setReaderBaudRate(int readerBaudRate)
Sets the reader's current serial baud rate. |
void |
setReaderFunction(java.lang.String function)
Sets the reader's current operating mode. |
void |
setReaderName(java.lang.String readerName)
Changes the reader's Name. |
void |
setReaderNumber(int readerNumber)
Sets the reader's numerical identifier. |
void |
setReaderPassword(java.lang.String password)
Changes the actual password stored in the reader. |
void |
setReaderUsername(java.lang.String username)
Changes the actual username stored in the reader. |
void |
setRFAttenuation(int attenuation)
Sets the reader's RFAttenuation value. |
void |
setRFAttenuation(int antenna,
int attenuation)
Sets the reader's RFAttenuation value for a specific antenna. |
void |
setRFAttenuations(int antenna,
int readLevel,
int writeLevel)
Sets the reader's RFAttenuation values for a specific antenna, with different values for reading and writing operations. |
void |
setRFLevel(int level)
Sets the reader's RFLevel value. |
void |
setRFLevel(int antenna,
int level)
Sets the reader's RFLevel value for a specific antenna. |
void |
setRFLevels(int antenna,
int readLevel,
int writeLevel)
Sets the reader's RFLevel value for a specific antenna, with different values for reading and writing operations. |
void |
setRFModulation(java.lang.String rfModulationMode)
Sets the reader's current Class 1 Gen2 modulation mode. |
void |
setRSSIFilter(float R1,
float R2)
Sets the String defining the current RSSIFilter ranges. |
void |
setRSSIFilter(java.lang.String filterStr)
Sets the String defining the current RSSIFilter ranges. |
void |
setSpeedFilter(float S1,
float S2)
Sets the String defining the current SpeedFilter ranges. |
void |
setSpeedFilter(java.lang.String filterStr)
Sets the String defining the current SpeedFilter ranges. |
void |
setStreamHeader(int streamHeader)
Changes the ON/OFF status of StreamHeader. |
void |
setTagAuth(java.lang.String tagAuth)
Sets the TagAuth setting on the reader. |
void |
setTagListAntennaCombine(int tagListAntennaCombineMode)
Changes the ON/OFF status of the TagList Antenna Combine feature. |
void |
setTagListCustomFormat(java.lang.String customFormat)
Changes the custom tag list formatting string. |
void |
setTagListFormat(java.lang.String formatMode)
Sets the type of format to use for tag lists. |
void |
setTagListMillis(int tagListMillis)
Changes the ON/OFF status of the TagList Milliseconds feature. |
void |
setTagMask(java.lang.String tagID)
Sets the reader's tag mask to match the specified Tag ID. |
void |
setTagStreamAddress(java.lang.String address)
Sets the address of the device to push TagStream events to. |
void |
setTagStreamAddress(java.lang.String ipAddress,
int portNumber)
Sets the address of the device to push TagStream events to. |
void |
setTagStreamCountFilter(int minCount)
Sets the minimum number of times a given tag has to be read before the reader will start streaming that tag data. |
void |
setTagStreamCountFilter(int minCount,
int maxCount)
Sets the minimum number of times a given tag has to be read before the reader will start streaming that tag data. |
void |
setTagStreamCustomFormat(java.lang.String customFormat)
Changes the custom TagStream formatting string. |
void |
setTagStreamFormat(java.lang.String format)
Returns the type of format used for TagStream event messages. |
void |
setTagStreamKeepAliveTime(int keepAliveTime)
Sets the time period (in seconds) the reader will hold an idle TagStream TCP socket open before closing it. |
void |
setTagStreamMode(int streamMode)
Changes the ON/OFF status of the reader's TagStream functionality. |
void |
setTagType(int tagType)
Sets the bitmap indicating which Alien RFID tag types the reader should look for. |
void |
setTime()
Changes the date and time of the reader's onboard clock to the host's current values. |
void |
setTime(java.util.Date theDate)
Changes the date and time of the reader's onboard clock. |
void |
setTime(java.lang.String dateTimeString)
Changes the date and time of the reader's onboard clock. |
void |
setTimeServer(java.lang.String timeServer)
Specifies the address of the external TimeServer the reader uses to accurately set its internal clock each time it is rebooted. |
void |
setTimeZone(int timeZone)
Changes the reader's time zone setting. |
void |
setUpgradeAddress(java.lang.String upgradeAddress)
Changes the URL where the reader will look for upgrade files. |
void |
setUpgradeIPAddress(java.lang.String upgradeIPAddress)
Changes the IP address for the Reader Upgrade Service (RUS) where the reader will look for upgrade files. |
void |
setUpgradePort(int upgradePort)
Changes the port number for the Reader Upgrade Service (RUS) that the reader will connect to when it looks for upgrades over the network. |
void |
setUsername(java.lang.String username)
Change the username this AlienClass1Reader uses to authenticate
with the reader over the network. |
void |
setWWWPort(int wwwPort)
Sets the port number that the reader's built-in web server listens on. |
void |
sleep(java.lang.String tagID)
Deprecated. use sleepTag() instead |
void |
sleepTag(java.lang.String tagID)
Requests all tags in the field sleep. |
java.lang.String |
toString()
Returns a String representation of this reader object (it's ReaderType). |
void |
unlockAccessPwd()
Unocks a tag's Access Password field with the default accessPwd. |
void |
unlockAccessPwd(java.lang.String accessPwd)
Unlocks a tag's Access Password field with the supplied accessPwd. |
void |
unlockEPC()
Unlocks a tag's EPC with the default accessPwd. |
void |
unlockEPC(java.lang.String accessPwd)
Unlocks a tag's EPC with the supplied accessPwd. |
void |
unlockKillPwd()
Unocks a tag's Kill Password field with the default accessPwd. |
void |
unlockKillPwd(java.lang.String accessPwd)
Unlocks a tag's Kill Password field with the supplied accessPwd. |
void |
unlockUser()
Unlocks a tag's User bank with the default accessPwd. |
void |
unlockUser(java.lang.String accessPwd)
Unlocks a tag's User bank with the supplied accessPwd. |
java.lang.String |
upgradeNow()
Causes the reader to attempt to download and install a firmware upgrade, using its current UpgradeAddress value. |
java.lang.String |
upgradeNow(java.lang.String upgradeAddress)
Causes the reader to attempt to download and install a firmware upgrade, using the supplied upgradeAddress value. |
java.lang.String |
upgradeNowList()
Causes the reader to examine files located at the current UpgradeAddress, reporting back the filenames of firmware referenced there. |
java.lang.String |
upgradeNowList(java.lang.String upgradeAddress)
Causes the reader to examine files located at the given upgradeAddress, reporting back the filenames of firmware referenced there. |
java.lang.String |
verifyTag()
Interrogates the state of a tag that may or may not be readable by the Acquire commands. |
void |
waitForReboot()
Waits for the reader to reboot. |
void |
wake(java.lang.String tagID)
Deprecated. use wakeTag() instead |
void |
wakeTag(java.lang.String tagID)
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, receiveString, sendString, setAddress, setConnection, setConnection, setDebugLevel, 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 static final int ON
setAutoMode(int)
,
setNotifyMode(int)
, and setDHCP(int)
.
public static final int OFF
setAutoMode(int)
,
setNotifyMode(int)
, and setDHCP(int)
.
public static final java.lang.String GLOBAL_SCROLL
setAcquireMode(java.lang.String)
.
public static final java.lang.String INVENTORY
setAcquireMode(java.lang.String)
.
public static final java.lang.String XML_FORMAT
setTagListFormat(java.lang.String)
and setNotifyFormat(java.lang.String)
.
public static final java.lang.String TEXT_FORMAT
setTagListFormat(java.lang.String)
and setNotifyFormat(java.lang.String)
.
public static final java.lang.String CUSTOM_FORMAT
setTagListFormat(java.lang.String)
.
public static final java.lang.String TERSE_FORMAT
setTagListFormat(java.lang.String)
.
public static final java.lang.String ALL_MASK
public static final java.lang.String RFMOD_STD
setRFModulation(java.lang.String)
.
public static final java.lang.String RFMOD_DRM
setRFModulation(java.lang.String)
.
public static final java.lang.String RFMOD_HS
setRFModulation(java.lang.String)
.
public static final java.lang.String FUNCTION_READER
setReaderFunction(String)
,
getReaderFunction()
,
Constant Field Valuespublic static final java.lang.String FUNCTION_PROGRAMMER
setReaderFunction(String)
,
getReaderFunction()
,
Constant Field Valuespublic static final int PROG_CLASS0
setProgProtocol(int)
,
getProgProtocol()
,
Constant Field Valuespublic static final int PROG_CLASS1GEN1
setProgProtocol(int)
,
getProgProtocol()
,
Constant Field Valuespublic static final int PROG_CLASS1GEN2
setProgProtocol(int)
,
getProgProtocol()
,
Constant Field Valuespublic static final int CLASS1GEN1_QUARK
setTagType(int)
,
getTagType()
,
Constant Field Valuespublic static final int CLASS1GEN1_OMEGA
setTagType(int)
,
getTagType()
,
Constant Field Valuespublic static final int CLASS1GEN1_64BITS
setTagType(int)
,
getTagType()
,
Constant Field Valuespublic static final int CLASS1GEN1_LEPTON
setTagType(int)
,
getTagType()
,
Constant Field Valuespublic static final int CLASS1GEN1_96BITS
setTagType(int)
,
getTagType()
,
Constant Field Valuespublic static final int CLASS1GEN1_ALL
setTagType(int)
,
getTagType()
,
Constant Field Valuespublic static final int CLASS0
setTagType(int)
,
getTagType()
,
Constant Field Valuespublic static final int CLASS1GEN2
setTagType(int)
,
getTagType()
,
Constant Field Valuespublic static final java.lang.String DATA_INC_OFF
getProgEPCDataInc()
,
setProgEPCDataInc(String)
,
getProgUserDataInc()
,
setProgUserDataInc(String)
,
Constant Field Valuespublic static final java.lang.String DATA_INC_SUCCESS
getProgEPCDataInc()
,
setProgEPCDataInc(String)
,
getProgUserDataInc()
,
setProgUserDataInc(String)
,
Constant Field Valuespublic static final java.lang.String DATA_INC_FAIL
getProgEPCDataInc()
,
setProgEPCDataInc(String)
,
getProgUserDataInc()
,
setProgUserDataInc(String)
,
Constant Field Valuespublic static final java.lang.String DATA_INC_ALWAYS
getProgEPCDataInc()
,
setProgEPCDataInc(String)
,
getProgUserDataInc()
,
setProgUserDataInc(String)
,
Constant Field Valuespublic static final java.lang.String DATA_INC_WRITE
getProgEPCDataInc()
,
setProgEPCDataInc(String)
,
getProgUserDataInc()
,
setProgUserDataInc(String)
,
Constant Field Valuespublic static final java.lang.String LOCKTYPE_LOCK
getProgG2LockType()
,
setProgG2LockType(String)
,
Constant Field Valuespublic static final java.lang.String LOCKTYPE_PERMALOCK
getProgG2LockType()
,
setProgG2LockType(String)
,
Constant Field Valuespublic static final java.lang.String LOCKTYPE_PERMAUNLOCK
getProgG2LockType()
,
setProgG2LockType(String)
,
Constant Field Valuespublic static final java.lang.String G2TARGET_A
public static final java.lang.String G2TARGET_B
public static final java.lang.String G2TARGET_AB
public static final java.text.SimpleDateFormat DATE_FORMATTER
public static final int LOG_OFF
public static final int LOG_ON
Constructor Detail |
public AlienClass1Reader()
public AlienClass1Reader(java.lang.String address)
address
- the reader's address, "COMX" or "111.222.333.444:55"public AlienClass1Reader(java.lang.String networkAddress, int networkPort)
networkAddress
- the IPAddress of this readernetworkPort
- the command port of this readerMethod Detail |
public void setLogLevel(int logLevel)
public java.lang.String getUsername()
AlienClass1Reader
uses to authenticate
with a reader via the network. To retrieve the username actually stored in the
reader, use getReaderUsername()
.
setUsername(String)
,
getReaderUsername()
,
setReaderUsername(String)
public void setUsername(java.lang.String username)
AlienClass1Reader
uses to authenticate
with the reader over the network. To change the actual username stored in the
reader, use setReaderUsername(String)
.
The reader can be operated over the network. When operated in this mode it uses a simple username/password authentication scheme to stop unwelcome visitors accessing it.
username
- the new usernamegetUsername()
,
getReaderUsername()
,
setReaderUsername(String)
public java.lang.String getReaderUsername() throws AlienReaderException
AlienClass1Reader
uses to authenticate itself with the reader,
use setUsername(String)
.
AlienReaderException
- if reader communication failssetReaderUsername(String)
,
getUsername()
,
setUsername(String)
public void setReaderUsername(java.lang.String username) throws AlienReaderException
AlienClass1Reader
uses to autheticate itself with the reader, use
setUsername(String)
.
username
- the new username
AlienReaderException
- if reader communication failsgetReaderUsername()
,
getUsername()
,
setUsername(String)
public java.lang.String getPassword()
AlienClass1Reader
uses to authenticate
with a reader via the network. To retrieve the password actually stored in the
reader, use getReaderPassword()
.
setPassword(String)
,
getReaderPassword()
,
setReaderPassword(String)
public void setPassword(java.lang.String password)
AlienClass1Reader
uses to authenticate
with the reader over the network. To change the actual password stored in the
reader, use setReaderPassword(String)
.
The reader can be operated over the network. When operated in this mode it uses a simple username/password authentication scheme to stop unwelcome visitors accessing it.
password
- the new passwordgetPassword()
,
getReaderPassword()
,
setReaderPassword(String)
public java.lang.String getReaderPassword() throws AlienReaderException
AlienClass1Reader
uses to authenticate itself with the reader,
use setPassword(String)
.
AlienReaderException
- if reader communication failssetReaderPassword(String)
,
getPassword()
,
setPassword(String)
public void setReaderPassword(java.lang.String password) throws AlienReaderException
AlienClass1Reader
uses to autheticate itself with the reader, use
setPassword(String)
.
password
- the new password
AlienReaderException
- if reader communication failsgetReaderPassword()
,
getPassword()
,
setPassword(String)
public java.lang.String getReaderName() throws AlienReaderException
AlienReaderException
- if reader communication failssetReaderName(String)
public void setReaderName(java.lang.String readerName) throws AlienReaderException
readerName
- the new Name for this reader
AlienReaderException
- if reader communication failsgetReaderName()
public java.lang.String getReaderType() throws AlienReaderException
AlienReaderException
- if reader communication failspublic java.lang.String getReaderVersion() throws AlienReaderException
Ent. SW Rev: 02.01.07 Beta : Nov 19 2003 : 13:34:19 Country Code: 01, Reader Type: 03, Firmware Rev: 1.0.1
AlienReaderException
- if reader communication failspublic int getReaderNumber() throws AlienReaderException
AlienReaderException
- if reader communication failssetReaderNumber(int)
public void setReaderNumber(int readerNumber) throws AlienReaderException
readerNumber
- the reader's new numerical identifier
AlienReaderException
- if reader communication failsgetReaderNumber()
public java.lang.String getMyData() throws AlienReaderException
AlienReaderException
- if reader communication failssetMyData(String)
public void setMyData(java.lang.String myData) throws AlienReaderException
myData
- the new MyData for this reader
AlienReaderException
- if reader communication failsgetMyData()
public int getReaderBaudRate() throws AlienReaderException
Older readers enumerate the baudrates with the numerals 0-4, while newer readers give the actual baud rate value. This method will convert the 0-4 enumeration to the actual baud rate value and return it.
AlienReaderException
- if reader communication failssetReaderBaudRate(int)
public void setReaderBaudRate(int readerBaudRate) throws AlienReaderException
Older readers enumerate the baudrates with the numerals 0-4, while newer readers give the actual baud rate value. If the new baud rate is greater than 4, it will attempt to convert the value to one of the enumerations, for better compatibility with all readers.
Changes do not take effect until the reader reboots.
readerBaudRate
- the reader new serial baud rate
AlienReaderException
- if reader communication failsgetReaderBaudRate()
public int getUptime() throws AlienReaderException
AlienReaderException
- if reader communication failspublic int getMaxAntenna() throws AlienReaderException
AlienReaderException
- if reader communication failspublic java.lang.String getAntennaSequence() throws AlienReaderException
AlienReaderException
- if reader communication failssetAntennaSequence(String)
public void setAntennaSequence(java.lang.String antennaSequence) throws AlienReaderException
NOTE: Currently, the reader supports antenna ports 0 and 1. Future readers may support more, or less.
antennaSequence
- the sequence of antenna ports the reader should use
AlienReaderException
- if reader communication failsgetAntennaSequence()
public java.lang.String getMACAddress() throws AlienReaderException
A MAC address is read-only, and is structured as six hex bytes, separated by colons:
e.g. 00:90:c2:c3:14:38
AlienReaderException
- if reader communication failspublic int getRFAttenuation() throws AlienReaderException
AlienReaderException
- if reader communication failsgetRFAttenuation(int)
,
setRFAttenuation(int)
,
setRFAttenuation(int, int)
,
getRFLevel()
,
getRFLevel(int)
,
setRFLevel(int)
,
setRFLevel(int, int)
public int getRFAttenuation(int antenna) throws AlienReaderException
Not all readers support per-antenna attenuation.
antenna
- the antenna number you wish to know the attenuation of
AlienReaderException
- if reader communication failsgetRFAttenuation()
,
getRFAttenuations()
,
getRFAttenuations(int)
,
setRFAttenuation(int)
,
setRFAttenuation(int, int)
,
getRFLevel()
,
getRFLevel(int)
,
setRFLevel(int)
,
setRFLevel(int, int)
public int[] getRFAttenuations() throws AlienReaderException
AlienReaderException
- if reader communication failsgetRFLevel(int)
,
getRFLevels(int)
,
setRFLevel(int)
,
setRFLevel(int, int)
,
setRFLevels(int, int, int)
,
getRFAttenuation()
,
getRFAttenuation(int)
,
setRFAttenuation(int)
,
setRFAttenuation(int, int)
,
setRFAttenuations(int, int, int)
public int[] getRFAttenuations(int antenna) throws AlienReaderException
Not all readers support per-antenna RFAttenuation.
antenna
- the antenna number you wish to get the attenuation for
AlienReaderException
- if reader communication failsgetRFLevel()
,
getRFLevels()
,
setRFLevel(int)
,
setRFLevel(int, int)
,
setRFLevels(int, int, int)
,
getRFAttenuation()
,
getRFAttenuation(int)
,
setRFAttenuation(int)
,
setRFAttenuation(int, int)
,
setRFAttenuations(int, int, int)
public void setRFAttenuation(int attenuation) throws AlienReaderException
attenuation
- the reader's RFAttenuation value
AlienReaderException
- if reader communication failsgetRFAttenuation()
,
getRFAttenuation(int)
,
setRFAttenuation(int, int)
,
getRFLevel()
,
getRFLevel(int)
,
setRFLevel(int)
,
setRFLevel(int, int)
public void setRFAttenuation(int antenna, int attenuation) throws AlienReaderException
Not all readers support per-antenna attenuation.
antenna
- the antenna number you wish to set the attenuation forattenuation
- the reader's RFAttenuation value
AlienReaderException
- if reader communication failsgetRFAttenuation()
,
getRFAttenuation(int)
,
setRFAttenuation(int)
,
getRFLevel()
,
getRFLevel(int)
,
setRFLevel(int)
,
setRFLevel(int, int)
public void setRFAttenuations(int antenna, int readLevel, int writeLevel) throws AlienReaderException
Not all readers support per-antenna RFAttenuation.
antenna
- the antenna number you wish to set the level ofreadLevel
- the reader's RFAttenuation value when reading tagswriteLevel
- the reader's RFAttenuation value when writing tags
AlienReaderException
- if reader communication failsgetRFLevel()
,
getRFLevel(int)
,
getRFLevels()
,
getRFLevels(int)
,
setRFLevel(int)
,
getRFAttenuation()
,
getRFAttenuation(int)
,
setRFAttenuation(int)
,
setRFAttenuation(int, int)
public int getRFLevel() throws AlienReaderException
AlienReaderException
- if reader communication failsgetRFLevel(int)
,
getRFLevels()
,
getRFLevels(int)
,
setRFLevel(int)
,
setRFLevel(int, int)
,
setRFLevels(int, int, int)
,
getRFAttenuation()
,
getRFAttenuation(int)
,
setRFAttenuation(int)
,
setRFAttenuation(int, int)
,
setRFAttenuations(int, int, int)
public int getRFLevel(int antenna) throws AlienReaderException
Not all readers support per-antenna RFLevel.
antenna
- the antenna number you wish to get the level for
AlienReaderException
- if reader communication failsgetRFLevel()
,
getRFLevels()
,
getRFLevels(int)
,
setRFLevel(int)
,
setRFLevel(int, int)
,
setRFLevels(int, int, int)
,
getRFAttenuation()
,
getRFAttenuation(int)
,
setRFAttenuation(int)
,
setRFAttenuation(int, int)
,
setRFAttenuations(int, int, int)
public int[] getRFLevels() throws AlienReaderException
AlienReaderException
- if reader communication failsgetRFLevel(int)
,
getRFLevels(int)
,
setRFLevel(int)
,
setRFLevel(int, int)
,
setRFLevels(int, int, int)
,
getRFAttenuation()
,
getRFAttenuation(int)
,
setRFAttenuation(int)
,
setRFAttenuation(int, int)
,
setRFAttenuations(int, int, int)
public int[] getRFLevels(int antenna) throws AlienReaderException
Not all readers support per-antenna RFLevel.
antenna
- the antenna number you wish to get the level for
AlienReaderException
- if reader communication failsgetRFLevel()
,
getRFLevels()
,
setRFLevel(int)
,
setRFLevel(int, int)
,
setRFLevels(int, int, int)
,
getRFAttenuation()
,
getRFAttenuation(int)
,
setRFAttenuation(int)
,
setRFAttenuation(int, int)
,
setRFAttenuations(int, int, int)
public void setRFLevel(int level) throws AlienReaderException
level
- the reader's RFLevel value
AlienReaderException
- if reader communication failsgetRFLevel()
,
getRFLevel(int)
,
getRFLevels()
,
getRFLevels(int)
,
setRFLevel(int, int)
,
setRFLevels(int, int, int)
,
getRFAttenuation()
,
getRFAttenuation(int)
,
setRFAttenuation(int)
,
setRFAttenuation(int, int)
,
setRFAttenuations(int, int, int)
public void setRFLevel(int antenna, int level) throws AlienReaderException
Not all readers support per-antenna RFLevel.
antenna
- the antenna number you wish to set the level oflevel
- the reader's RFLevel value
AlienReaderException
- if reader communication failsgetRFLevel()
,
getRFLevel(int)
,
getRFLevels()
,
getRFLevels(int)
,
setRFLevel(int)
,
setRFLevels(int, int, int)
,
getRFAttenuation()
,
getRFAttenuation(int)
,
setRFAttenuation(int)
,
setRFAttenuation(int, int)
,
setRFAttenuations(int, int, int)
public void setRFLevels(int antenna, int readLevel, int writeLevel) throws AlienReaderException
Not all readers support per-antenna RFLevel.
antenna
- the antenna number you wish to set the level ofreadLevel
- the reader's RFLevel value when reading tagswriteLevel
- the reader's RFLevel value when writing tags
AlienReaderException
- if reader communication failsgetRFLevel()
,
getRFLevel(int)
,
getRFLevels()
,
getRFLevels(int)
,
setRFLevel(int)
,
getRFAttenuation()
,
getRFAttenuation(int)
,
setRFAttenuation(int)
,
setRFAttenuation(int, int)
public java.lang.String getReaderFunction() throws AlienReaderException
AlienReaderException
- if reader communication failssetReaderFunction(String)
,
FUNCTION_READER
,
FUNCTION_PROGRAMMER
public void setReaderFunction(java.lang.String function) throws AlienReaderException
function
- the reader's new operating mode
AlienReaderException
- if reader communication failsgetReaderFunction()
,
FUNCTION_READER
,
FUNCTION_PROGRAMMER
public java.lang.String getRFModulation() throws AlienReaderException
AlienReaderException
- if reader communication failssetRFModulation(String)
,
RFMOD_STD
,
RFMOD_DRM
,
RFMOD_HS
public void setRFModulation(java.lang.String rfModulationMode) throws AlienReaderException
rfModulationMode
- the reader's RFModulation mode
AlienReaderException
- if reader communication failsgetRFModulation()
,
RFMOD_STD
,
RFMOD_DRM
,
RFMOD_HS
public void setFactorySettings() throws AlienReaderException
AlienReaderException
- if reader communication failspublic void setFactorySettings(boolean waitForReboot) throws AlienReaderException
waitForReboot
- true
to wait for the reader to reboot
AlienReaderException
- if reader communication failspublic void saveSettings() throws AlienReaderException
For this reason, reader values aren't written to flash as they are changed, but rather it is the responsibility of the user to perform this extra step.
AlienReaderException
- if reader communication failssetFactorySettings()
,
setFactorySettings(boolean)
public void reboot(boolean waitForReboot) throws AlienReaderException
If waitForReboot
is true, this method
waits for the reader to finish rebooting. Otherwise, it returns immediately
after receiving the response to the "reboot" command.
waitForReboot
- indicates if this method should return immediately, or after the reader boots
AlienReaderException
- if reader communication failspublic void waitForReboot() throws AlienReaderException
AlienReaderException
- if reader communication failspublic java.lang.String getInfo() throws AlienReaderException
For instance, ALR-9780 looks like this:
*********************************************** * * Current Settings * *********************************************** GENERAL: Function = Reader ReaderName = Alien RFID Reader ReaderType = Alien RFID Tag Reader, Model: ALR-9780 (Four Antenna / EPC Class 1 Gen 2/ 915 MHz) ReaderVersion = 3.5.0 ...
While the ALR-x800/x900/9650 looks like this:
************************************************************** GENERAL FUNCTIONS ************************************************************** Function = Reader ReaderName = myreader ReaderType = Alien RFID Tag Reader, Model ALR-9800 (Four Antenna / Multi-Protocol / 902-928 MHz) ReaderVersion = 06.06.13.00 ...
AlienReaderException
- if reader communication failssetRFModulation(String)
,
RFMOD_STD
,
RFMOD_DRM
,
RFMOD_HS
public int getDHCP() throws AlienReaderException
AlienReaderException
- if reader communication failssetDHCP(int)
public void setDHCP(int dhcp) throws AlienReaderException
The reader supports automatic network configuration using the widely available DHCP protocol. If DHCP is available at the reader installation site, this protocol can be switched on. If DHCP is not available or not desired the use of this protocol can be switched off.
ON
and OFF
for future compatibility.
dhcp
- the new ON/OFF state of DHCP
AlienReaderException
- if reader communication failsgetDHCP()
,
setIPAddress(String)
,
setGateway(String)
,
setNetmask(String)
,
setDNS(String)
public java.lang.String getIPAddress() throws AlienReaderException
AlienReaderException
- if reader communication failssetIPAddress(String)
public void setIPAddress(java.lang.String ipAddress) throws AlienReaderException
NOTE: After making changes with this command, you must reboot the reader to implement the changes.
ipAddress
- the new IP Address of this reader
AlienReaderException
- if reader communication failsgetIPAddress()
,
setDHCP(int)
,
setGateway(String)
,
setNetmask(String)
,
setDNS(String)
public java.lang.String getGateway() throws AlienReaderException
AlienReaderException
- if reader communication failssetGateway(String)
public void setGateway(java.lang.String gatewayAddress) throws AlienReaderException
NOTE: After making changes with this command, you must reboot the reader to implement the changes.
gatewayAddress
- the address of the network Gateway
AlienReaderException
- if reader communication failsgetGateway()
,
setDHCP(int)
,
setIPAddress(String)
,
setNetmask(String)
,
setDNS(String)
public java.lang.String getNetmask() throws AlienReaderException
AlienReaderException
- if reader communication failssetNetmask(String)
public void setNetmask(java.lang.String netmask) throws AlienReaderException
NOTE: After making changes with this command, you must reboot the reader to implement the changes.
netmask
- the network mask of this reader
AlienReaderException
- if reader communication failsgetNetmask()
,
setDHCP(int)
,
setIPAddress(String)
,
setGateway(String)
,
setDNS(String)
public java.lang.String getDNS() throws AlienReaderException
AlienReaderException
- if reader communication failssetDNS(String)
public void setDNS(java.lang.String dns) throws AlienReaderException
NOTE: After making changes with this command, you must reboot the reader to implement the changes.
dns
- the address of the DNS server
AlienReaderException
- if reader communication failsgetDNS()
,
setDHCP(int)
,
setIPAddress(String)
,
setGateway(String)
,
setNetmask(String)
public java.lang.String getHostname() throws AlienReaderException
AlienReaderException
- if reader communication failssetHostname(String)
public void setHostname(java.lang.String hostname) throws AlienReaderException
NOTE: After making changes with this command, you must reboot the reader to implement the changes.
hostname
- the new network hostname for the reader
AlienReaderException
- if reader communication failsgetHostname()
public int getNetworkTimeout() throws AlienReaderException
AlienReaderException
- if reader communication failssetNetworkTimeout(int)
public void setNetworkTimeout(int networkTimeout) throws AlienReaderException
networkTimeout
- the time before the reader closes an idle network connection
AlienReaderException
- if reader communication failsgetNetworkTimeout()
public java.lang.String getHeartbeatAddress() throws AlienReaderException
By specifying a particular HeartbeatAddress, these UDP packets will go only to that one address.
AlienReaderException
- if reader communication failssetHeartbeatAddress(String)
public void setHeartbeatAddress(java.lang.String heartbeatAddress) throws AlienReaderException
By specifying a particular HeartbeatAddress, these UDP packets will go only to that one address.
heartbeatAddress
- the address of the DNS server
AlienReaderException
- if reader communication failsgetHeartbeatAddress()
public int getHeartbeatPort() throws AlienReaderException
AlienReaderException
- if reader communication failssetHeartbeatPort(int)
,
getHeartbeatTime()
,
setHeartbeatTime(int)
public void setHeartbeatPort(int heartbeatPort) throws AlienReaderException
The setHeartbeatPort
command allows you to configure the actual port number
that this packet is sent out to. Listening for this heartbeat can be used to
initially locate a reader on a network and subsequently make sure that the
reader is still alive.
The default port setting for this command is 3988.
The format of the UDP packet is a single XML document detailing the reader:
<Alien-RFID-Reader-Heartbeat> <ReaderName>Alien RFID Reader</ReaderName> <ReaderType>Alien RFID Tag Reader (Class 1 / 915Mhz)</ReaderType> <IPAddress>10.1.60.5</IPAddress> <CommandPort>23</CommandPort> <HeartbeatTime>30</HeartbeatTime> </Alien-RFID-Reader-Heartbeat>NOTE: Changes made with this command will take effect immediately.
heartbeatPort
- the port to broadcast heartbeat messages on
AlienReaderException
- if reader communication failsgetHeartbeatPort()
,
getHeartbeatTime()
,
setHeartbeatTime(int)
public int getHeartbeatTime() throws AlienReaderException
AlienReaderException
- if reader communication failsgetHeartbeatPort()
,
setHeartbeatPort(int)
,
setHeartbeatTime(int)
public void setHeartbeatTime(int heartbeatTime) throws AlienReaderException
The time interval between heartbeats can be assigned and retrieved using this command.
heartbeatTime
- the new time interval the reader waits before sending another heartbeat message
AlienReaderException
- if reader communication failsgetHeartbeatPort()
,
setHeartbeatPort(int)
,
getHeartbeatTime()
public int getHeartbeatCount() throws AlienReaderException
A HeartbeatCount of -1 is the default value, and it indicates that the heartbeat service should continue indefinitely.
A HeartbeatCount of 0 shuts off the heartbeat service.
AlienReaderException
- if reader communication failssetHeartbeatCount(int)
public void setHeartbeatCount(int heartbeatCount) throws AlienReaderException
A HeartbeatCount of -1 is the default value, and it indicates that the heartbeat service should continue indefinitely.
A HeartbeatCount of 0 shuts off the heartbeat service.
heartbeatCount
- the number of heartbeat messages to broadcast
AlienReaderException
- if reader communication failsgetHeartbeatCount()
public java.lang.String heartbeatNow() throws AlienReaderException
AlienReaderException
- if reader communication failspublic int getCommandPort() throws AlienReaderException
AlienReaderException
- if reader communication failssetCommandPort(int)
public void setCommandPort(int commandPort) throws AlienReaderException
The default setting for this command is 23 (the standard Telnet port).
Changes to this setting do not affect serial communication.
NOTE: Changes made with this command will take effect immediately.
commandPort
- the port number this reader will listen of for command messages
AlienReaderException
- if reader communication failsgetCommandPort()
public int getNetworkUpgrade() throws AlienReaderException
AlienReaderException
- if reader communication failssetNetworkUpgrade(int)
public void setNetworkUpgrade(int value) throws AlienReaderException
ALR-x780, ALR-9640:
These readers require a Reader Upgrade Service (RUS) to be running, waiting
for the reader to connect to the service at bootup time. The reader connects
to the RUS at the IP address given by UpgradeIPAddress, at the port given
by UpgradePort. See the Reader Interface Guide for details on how to
implement a RUS.
ALR-x800/x900/9650:
These readers connect to an FTP or HTTP server and download any available
updates using the appropriate standard protocol. The reader connects to the
upgrade repository given by UpgradeAddress. Specific port information, or
login credentials are included in the UpgradeAddress URL. See the Reader
Interface Guide for details on how to implement remote network upgrades.
value
- the new ON/OFF value for NetworkUpgrade
AlienReaderException
- if reader communication failsgetNetworkUpgrade()
,
setUpgradeAddress(String)
,
setUpgradeIPAddress(String)
,
setUpgradePort(int)
public java.lang.String getUpgradeAddress() throws AlienReaderException
This property only applies to ALR-x800/x900/9650 readers. For other readers that can perform network ugprades, use the getUpgradeIPAddress() and getUpgradePort() commands.
AlienReaderException
- if reader communication failssetUpgradeAddress(String)
public void setUpgradeAddress(java.lang.String upgradeAddress) throws AlienReaderException
This property only applies to ALR-x800/x900/9650 readers. For other readers that can perform network ugprades, use the setUpgradeIPAddress(String) and setUpgradePort(int) commands.
upgradeAddress
- the new URL where the reader can find upgrades
AlienReaderException
- if reader communication failsgetUpgradeAddress()
public java.lang.String getUpgradeIPAddress() throws AlienReaderException
This property only applies to ALR-x780 and ALR-9640 readers. For ALR-x800/x900/9650 readers, use the getUpgradeAddress() command instead.
AlienReaderException
- if reader communication failssetUpgradeIPAddress(String)
public void setUpgradeIPAddress(java.lang.String upgradeIPAddress) throws AlienReaderException
This property only applies to ALR-x780 and ALR-9640 readers. For ALR-x800/x900/9650 readers, use the setUpgradeAddress(String) command instead.
upgradeIPAddress
- the new IP address where the reader can find upgrades
AlienReaderException
- if reader communication failsgetUpgradeIPAddress()
public int getUpgradePort() throws AlienReaderException
This property only applies to ALR-x780 and ALR-9640 readers. The ALR-x800/x900/9650 readers, use a single UpgradeAddress property, which is a URL containing any port or authentication information for the connection.
AlienReaderException
- if reader communication failssetUpgradePort(int)
public void setUpgradePort(int upgradePort) throws AlienReaderException
This property only applies to ALR-x780 and ALR-9640 readers. The ALR-x800/x900/9650 readers, use a single UpgradeAddress property, which is a URL containing any port or authentication information for the connection.
upgradePort
- the port number will connect to for upgrades
AlienReaderException
- if reader communication failsgetUpgradePort()
public java.lang.String upgradeNow() throws AlienReaderException
If this command results in an actual firmware upgrade (as opposed to just checking and finding the same version), the connection to the reader will eventually be broken, while the reader services are shut down and restarted. It is up to you to close() and open() the connection again, possibly after waiting some period of time for the reader services to come up.
This command only applies to ALR-x800/x900/9650 (and newer) readers.
AlienReaderException
- if reader communication failsupgradeNow(String)
,
upgradeNowList()
,
upgradeNowList(String)
public java.lang.String upgradeNow(java.lang.String upgradeAddress) throws AlienReaderException
If this command results in an actual firmware upgrade (as opposed to just checking and finding the same version), the connection to the reader will eventually be broken, while the reader services are shut down and restarted. It is up to you to close() and open() the connection again, possibly after waiting some period of time for the reader services to come up.
This command only applies to ALR-x800/x900/9650 (and newer) readers.
upgradeAddress
- the URL to the location of the firmware upgrades
AlienReaderException
- if reader communication failsupgradeNow()
,
upgradeNowList()
,
upgradeNowList(String)
public java.lang.String upgradeNowList() throws AlienReaderException
This command only applies to ALR-x800/x900/9650 (and newer) readers.
AlienReaderException
- if reader communication failsupgradeNowList(String)
,
upgradeNow()
,
upgradeNow(String)
public java.lang.String upgradeNowList(java.lang.String upgradeAddress) throws AlienReaderException
This command only applies to ALR-x800/x900/9650 (and newer) readers.
upgradeAddress
- the URL of the location of the files to list
AlienReaderException
- if reader communication failsupgradeNowList()
,
upgradeNow()
,
upgradeNow(String)
public int getWWWPort() throws AlienReaderException
AlienReaderException
- if reader communication failssetWWWPort(int)
public void setWWWPort(int wwwPort) throws AlienReaderException
Care should be taken when choosing a port number. It should not conflict with a port number that may already be in use by a network service, such as: Telnet (23), SSH (22), SNMP (161), etc.
wwwPort
- the port number where the reader's web server listens
AlienReaderException
- if reader communication failsgetWWWPort()
public java.lang.String ping(java.lang.String networkAddress) throws AlienReaderException
The response is the underlying operating system's default ping response, which may vary from one reader model to another. It is left for the developer to interpret the ping response.
The associated method, ping(String, int) goes one step further than ping(String). The ping(String, int) call instructs the reader to attempt to make a socket connection to the device at the specified port.
networkAddress
- the address to ping
AlienReaderException
- if reader communication failsping(String, int)
public java.lang.String ping(java.lang.String networkAddress, int port) throws AlienReaderException
networkAddress
- the address to pingport
- the port number to make a socket connection to
AlienReaderException
- if reader communication failsping(String)
public int getExternalInput() throws AlienReaderException
The reader monitors two external input pins, which can subsequently be controlled by external proximity detectors and other input devices such as “magic-eyes” and magnetic switches. This command allows these external input pin values to be obtained.
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.
AlienReaderException
- if reader communication failspublic int getExternalOutput() throws AlienReaderException
The reader controls two external output pins, which can subsequently be used to control external devices such a doors/gates, security lights. etc. This command allows these external output pin values to be obtained.
This command returns a single byte result that represents the bit mask settings of the external output 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.
AlienReaderException
- if reader communication failssetExternalOutput(int)
public void setExternalOutput(int value) throws AlienReaderException
The reader controls two or four external output pins (depending on the model), which can subsequently be used to control external devices such a doors/gates, security lights, etc. 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.
value
- the decimal representation of the desired state of the external outputs
AlienReaderException
- if reader communication failsgetExternalOutput()
public int getInitExternalOutput() throws AlienReaderException
The returned value is a bitmap of the external output pins. Bit 0 represents the state of pin 0, and Bit 1 represents the state of pin 1, etc.
AlienReaderException
- if reader communication failssetInitExternalOutput(int)
public void setInitExternalOutput(int value) throws AlienReaderException
The value is a bitmap of the external output pins. Bit 0 represents the state of pin 0, and Bit 1 represents the state of pin 1, etc.
value
- the new initial startup state of the external outputs
AlienReaderException
- if reader communication failsgetInitExternalOutput()
public int getInvertExternalOutput() throws AlienReaderException
If the connected device is active low, it may be more convenient to simply invert the logic of the pins, so that when you tell an output pin to go high, it actually goes low - thereby activating the device - and vice versa. This is especially relevant when you have to indicate which output pins to activate using a bitmap. Rather than using "15" to turn off all the connected (active-low) devices, you would invert the outputs and use "0" instead.
Turning InvertExternalOutput on inverts both the value use to set outputs, as well as the value returned when the output state is queried. In this way, the invert state is transparent, unless you actually measure the voltages on the pins.
AlienReaderException
- if reader communication failssetInvertExternalOutput(int)
public void setInvertExternalOutput(int value) throws AlienReaderException
If the connected device is active low, it may be more convenient to simply invert the logic of the pins, so that when you tell an output pin to go high, it actually goes low - thereby activating the device - and vice versa. This is especially relevant when you have to indicate which output pins to activate using a bitmap. Rather than using "15" to turn off the connected devices, you would invert the outputs and use "0" instead.
Turning InvertExternalOutput on inverts both the value use to set outputs, as well as the value returned when the output state is queried. In this way, the invert state is transparent, unless you actually measure the voltages on the pins.
value
- the new ON/OFF status of InvertExternalOutput
AlienReaderException
- if reader communication failsgetInvertExternalOutput()
public int getInvertExternalInput() throws AlienReaderException
If the connected device is active low, it may be more convenient to simply invert the logic of the input pins, so that when the device brings the pin low, it is interpreted by the reader as being high (i.e. "on"), and vice versa.
AlienReaderException
- if reader communication failssetInvertExternalInput(int)
public void setInvertExternalInput(int value) throws AlienReaderException
If the connected device is active low, it may be more convenient to simply invert the logic of the input pins, so that when the device brings the pin low, it is interpreted by the reader as being high (i.e. "on"), and vice versa.
value
- the new ON/OFF status of InvertExternalInput
AlienReaderException
- if reader communication failsgetInvertExternalInput()
public java.lang.String getAcquireMode() throws AlienReaderException
AlienReaderException
- if reader communication failssetAcquireMode(String)
public void setAcquireMode(java.lang.String acquireMode) throws AlienReaderException
INVENTORY
and 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.
NOTE: Changes made with this command will take effect immediately.
acquireMode
- the method this reader uses to read tags
AlienReaderException
- if reader communication failsgetAcquireMode()
public int getAcquireWakeCount() throws AlienReaderException
AlienReaderException
- if reader communication failssetAcquireWakeCount(int)
public void setAcquireWakeCount(int acquireWakeCount) throws AlienReaderException
For example, is AcquireWakeCount is set to 10, a Wake command will be issued after every 10 acquire commands (either Global Scrolls or Inventories). If AcquireWakeCount is set to zero or less, no Wake commands will be issued.
acquireWakeCount
- the number of read cycles before the reader issues an automatic Wake command
AlienReaderException
- if reader communication failsgetAcquireWakeCount()
public int getAcquireSleep() throws AlienReaderException
ON
if the reader automatically Sleeps tags as it reads them
AlienReaderException
- if reader communication failssetAcquireSleep(int)
public void setAcquireSleep(int acquireSleep) throws AlienReaderException
If AcquireSleep is set to OFF, tags will be left awake once they have been read. Thus repeated reads will return the same tag IDs.
NOTE: Changes made with this command will take effect immediately.
acquireSleep
- whether the reader should automatically Sleep tags as it sees them
AlienReaderException
- if reader communication failsgetAcquireSleep()
public java.lang.String getAcqMask() throws AlienReaderException
AlienReaderException
- if reader communication failssetAcqMask(String)
,
setAcqMask(int, int, String)
,
setMaskBits(int, String)
,
setTagMask(String)
public java.lang.String getMask() throws AlienReaderException
AlienReaderException
- if reader communication failssetMask(String)
,
setMask(int, int, String)
,
setMaskBits(int, String)
,
setTagMask(String)
public void setAcqMask(java.lang.String maskString) throws AlienReaderException
This version of setMask takes one String argument, consisting of three comma separated values:
In readers that support both Class1/Gen1 and Class1/Gen2 protocols, this mask always points directly at the tag's EPC, no matter where it may be within tag memory. For more control over masks, including selection of protocol, use the AcqC1Mask and AcqG2Mask commands.
maskString
- a string representation of the new mask
AlienReaderException
- if reader communication failsgetAcqMask()
,
setAcqMask(int, int, String)
,
setMaskBits(int, String)
,
setTagMask(String)
public void setMask(java.lang.String maskString) throws AlienReaderException
maskString
- a string representation of the new mask
AlienReaderException
- if reader communication failsgetMask()
,
setMask(int, int, String)
,
setMaskBits(int, String)
,
setTagMask(String)
public void setAcqMask(int bitLength, int bitPointer, java.lang.String hexString) throws AlienReaderException
This version of setMask takes three arguments:
To clear the mask, use the string-argument method setMask(ALL_MASK)
.
In readers that support both Class1/Gen1 and Class1/Gen2 protocols, this mask always points directly at the tag's EPC, no matter where it may be within tag memory. For more control over masks, including selection of protocol, use the AcqC1Mask and AcqG2Mask commands.
bitLength
- the length of the mask, in bitsbitPointer
- the bit-position in the Tag ID to start maskinghexString
- the mask value, as a string of hex numbers
AlienReaderException
- if reader communication failsgetAcqMask()
,
setAcqMask(String)
,
setMaskBits(int, String)
,
setTagMask(String)
public void setMask(int bitLength, int bitPointer, java.lang.String hexString) throws AlienReaderException
bitLength
- the length of the mask, in bitsbitPointer
- the bit-position in the Tag ID to start maskinghexString
- the mask value, as a string of hex numbers
AlienReaderException
- if reader communication failsgetMask()
,
setMask(String)
,
setMaskBits(int, String)
,
setTagMask(String)
public void setMaskBits(int bitPointer, java.lang.String bitString) throws AlienReaderException
This version of setMask takes two arguments:
setMask(ALL_MASK)
.
In readers that support both Class1/Gen1 and Class1/Gen2 protocols, this mask always points directly at the tag's EPC, no matter where it may be within tag memory. For more control over masks, including selection of protocol, use the AcqC1Mask and AcqG2Mask commands.
bitPointer
- the bit-position in the Tag ID to start maskingbitString
- the mask value, as a string of bit values
AlienReaderException
- if reader communication failsgetMask()
,
setMask(String)
,
setMask(int, int, String)
,
setTagMask(String)
public void setTagMask(java.lang.String tagID) throws AlienReaderException
null
or "ALL" for all tags.
tagID
- the tag ID to mask to for subsequent reads and writes
AlienReaderException
- if reader communication failsgetMask()
,
setMask(String)
,
setMask(int, int, String)
,
setMaskBits(int, String)
public java.lang.String getAcqC1Mask() throws AlienReaderException
This is a mask that applies only to Class1/Gen1 tags, and may not be implemented by older readers. The structure of this value is different from that of the AcqMask command in two significant ways:
If this command returns -1, this indicates the C1-specific mask hasn't been set yet, so the more general AcqMask is in effect.
AlienReaderException
- if reader communication failssetAcqC1Mask(String)
,
setAcqC1Mask(int, int, String)
,
setC1MaskBits(int, String)
,
setC1TagMask(String)
public void setAcqC1Mask(java.lang.String maskString) throws AlienReaderException
This version of setAcqC1Mask takes one String argument, consisting of three comma-separated values:
The bitPointer points the the start of the tag's memory bank containing the EPC. In Class1/Gen1 tags, the first 16 bits of this bank contain the EPC's CRC value, so to address the tag's EPC, the bitPointer should start at 16. This offset was handled automatically in the AcqMask command.
maskString
- a string representation of the new mask
AlienReaderException
- if reader communication failsgetAcqC1Mask()
,
setAcqC1Mask(int, int, String)
,
setC1MaskBits(int, String)
,
setC1TagMask(String)
public void setAcqC1Mask(int bitPointer, int bitLength, java.lang.String hexString) throws AlienReaderException
This version of setMask takes three arguments:
The bitPointer points the the start of the tag's memory bank containing the EPC. In Class1/Gen1 tags, the first 16 bits of this bank contain the EPC's CRC value, so to address the tag's EPC, the bitPointer should start at 16. This offset was handled automatically in the AcqMask command.
To clear the mask, use the string-argument method setAcqC1Mask(ALL_MASK)
.
bitPointer
- the bit-position in the tag's memory to start maskingbitLength
- the length of the mask, in bitshexString
- the mask value, as a string of hex numbers
AlienReaderException
- if reader communication failsgetAcqC1Mask()
,
setAcqC1Mask(String)
,
setC1MaskBits(int, String)
,
setC1TagMask(String)
public void setC1MaskBits(int bitPointer, java.lang.String bitString) throws AlienReaderException
This version of setAcqC1Mask takes two arguments:
The bitPointer points the the start of the tag's memory bank containing the EPC. In Class1/Gen1 tags, the first 16 bits of this bank contain the EPC's CRC value, so to address the tag's EPC, the bitPointer should start at 16.
To clear the mask, use the string-argument method setAcqC1Mask(ALL_MASK)
.
bitPointer
- the bit-position in the tag's memory to start maskingbitString
- the mask value, as a string of bit values
AlienReaderException
- if reader communication failsgetAcqC1Mask()
,
setAcqC1Mask(String)
,
setAcqC1Mask(int, int, String)
,
setC1TagMask(String)
public void setC1TagMask(java.lang.String tagID) throws AlienReaderException
null
or "ALL" for all tags.
tagID
- the EPC to mask to for subsequent reads and writes
AlienReaderException
- if reader communication failsgetAcqC1Mask()
,
setAcqC1Mask(String)
,
setAcqC1Mask(int, int, String)
,
setC1MaskBits(int, String)
public java.lang.String getAcqG2Mask() throws AlienReaderException
This is a mask that applies only to Class1/Gen2 tags, and may not be implemented by older readers. The structure of this value is different from that of the AcqMask command in three significant ways:
If this command returns -1, this indicates the G2-specific mask hasn't been set yet, so the more general AcqMask is in effect.
AlienReaderException
- if reader communication failssetAcqG2Mask(String)
,
setAcqG2Mask(int, int, int, String)
,
setG2MaskBits(int, String)
,
setG2TagMask(String)
public void setAcqG2Mask(java.lang.String maskString) throws AlienReaderException
This version of setAcqG2Mask takes one String argument, consisting of four comma-separated values:
Bank 0 contains passwords and may not be masked. Bank 1 contains the EPC. Bank 2 contains the Tag Identification information (TID). Bank 3 contains user data, if implemented by the tag.
The bitPointer points the the start of the tag's memory bank containing the EPC. In Class1/Gen2 tags, the first 32 bits of this bank contain the EPC's CRC value and Procotol Control data, so to address the tag's EPC, the bitPointer should start at 32. This offset was handled automatically in the AcqMask command.
maskString
- a string representation of the new mask
AlienReaderException
- if reader communication failsgetAcqG2Mask()
,
setAcqG2Mask(int, int, int, String)
,
setG2MaskBits(int, String)
,
setG2TagMask(String)
public void setAcqG2Mask(int bank, int bitPointer, int bitLength, java.lang.String hexString) throws AlienReaderException
This version of setMask takes four arguments:
The bitPointer points the the start of the tag's memory bank containing the EPC. In Class1/Gen2 tags, the first 32 bits of this bank contain the EPC's CRC value and Procotol Control data, so to address the tag's EPC, the bitPointer should start at 32. This offset was handled automatically in the AcqMask command.
To clear the mask, use the string-argument method setAcqG2Mask(ALL_MASK)
.
bitPointer
- the bit-position in the tag's memory to start maskingbitLength
- the length of the mask, in bitshexString
- the mask value, as a string of hex numbers
AlienReaderException
- if reader communication failsgetAcqG2Mask()
,
setAcqG2Mask(String)
,
setG2MaskBits(int, String)
,
setG2TagMask(String)
public void setG2MaskBits(int bitPointer, java.lang.String bitString) throws AlienReaderException
This version of setAcqG2Mask takes two arguments:
The bitPointer points the the start of the tag's memory bank containing the EPC. In Class1/Gen2 tags, the first 32 bits of this bank contain the EPC's CRC value and Procotol Control data, so to address the tag's EPC, the bitPointer should start at 32. This offset was handled automatically in the AcqMask command.
To clear the mask, use the string-argument method setAcqG2Mask(ALL_MASK)
.
bitPointer
- the bit-position in the tag's memory to start maskingbitString
- the mask value, as a string of bit values
AlienReaderException
- if reader communication failsgetAcqG2Mask()
,
setAcqG2Mask(String)
,
setAcqG2Mask(int, int, int, String)
,
setG2TagMask(String)
public void setG2TagMask(java.lang.String tagID) throws AlienReaderException
null
or "0" for all tags.
tagID
- the EPC to mask to for subsequent reads and writes
AlienReaderException
- if reader communication failsgetAcqG2Mask()
,
setAcqG2Mask(String)
,
setAcqG2Mask(int, int, int, String)
,
setG2MaskBits(int, String)
public java.lang.String getAcqG2MaskAction() throws AlienReaderException
AlienReaderException
- if reader communication failssetAcqG2MaskAction(String)
public void setAcqG2MaskAction(java.lang.String maskAction) throws AlienReaderException
maskAction
- a string representation of the new mask
AlienReaderException
- if reader communication failsgetAcqG2MaskAction()
public java.lang.String getAcqG2MaskAntenna() throws AlienReaderException
AlienReaderException
- if reader communication failssetAcqG2MaskAntenna(String)
public void setAcqG2MaskAntenna(java.lang.String maskAntenna) throws AlienReaderException
maskAntenna
- a string representation of the new AcqG2MaskAntenna
AlienReaderException
- if reader communication failsgetAcqG2MaskAntenna()
public java.lang.String getAcqG2SL() throws AlienReaderException
AlienReaderException
- if reader communication failssetAcqG2SL(String)
public void setAcqG2SL(java.lang.String acqG2SL) throws AlienReaderException
acqG2SL
- a string representation of the new AcqG2SL
AlienReaderException
- if reader communication failsgetAcqG2SL()
public java.lang.String getAcqG2AccessPwd() throws AlienReaderException
The value is a sequence of four hexadecimal bytes.
AlienReaderException
- if reader communication failssetAcqG2AccessPwd(String)
public void setAcqG2AccessPwd(java.lang.String accessPwd) throws AlienReaderException
The value is a sequence of four hexadecimal bytes.
accessPwd
- the access password used to operate on password-protected G2 tags
AlienReaderException
- if reader communication failsgetAcqG2AccessPwd()
public java.lang.String getTagAuth() throws AlienReaderException
TagAuth can take on any reasonable combination of these values, separated by a "|" character.
OFF - do not authenticate ON - authenticate all known tag types H3 - report only authenticated Alien Higgs-3 tags -H3 - report only Alien Higgs-3 tags that fail to authenticate * - used in conjunction with H3 and -H3 to report both authenticated and non-authenticated tags. NOT - used in conjunction with H3 and -H3, NOT inverts the meaning of the options
AlienReaderException
- if reader communication failssetTagAuth(String)
public void setTagAuth(java.lang.String tagAuth) throws AlienReaderException
TagAuth can take on any reasonable combination of these values, separated by a "|" character.
OFF - do not authenticate ON - authenticate all known tag types H3 - report only authenticated Alien Higgs-3 tags -H3 - report only Alien Higgs-3 tags that fail to authenticate * - used in conjunction with H3 and -H3 to report both authenticated and non-authenticated tags. NOT - used in conjunction with H3 and -H3, NOT inverts the meaning of the options
tagAuth
- the String representing the new TagAuth settings
AlienReaderException
- if reader communication failsgetTagAuth()
public int getPersistTime() throws AlienReaderException
AlienReaderException
- if reader communication failssetPersistTime(int)
public void setPersistTime(int persistTime) throws AlienReaderException
NOTE: Changes made with this command will take effect immediately.
persistTime
- the time, in seconds, that a stale tag will remain on the taglist before being purged
AlienReaderException
- if reader communication failsgetPersistTime()
public java.lang.String getTagListFormat() throws AlienReaderException
AlienReaderException
- if reader communication failssetTagListFormat(String)
,
setDefaultTagListFormat()
public void setTagListFormat(java.lang.String formatMode) throws AlienReaderException
TEXT_FORMAT
- Tag lists displayed as plain text messages, one tag
ID per line.
XML_FORMAT
- Tag lists are displayed in XML text format.
CUSTOM_FORMAT
- Tag lists are displayed in the format described by
TagListCustomFormat.
TEXT formatted tag lists take the following form:
Tag:1115 F268 81C3 C012, Disc:2003/01/21 09:00:51, Count:1, Ant:0 Tag:0100 0100 0002 0709, Disc:2003/01/21 11:00:10, Count:1, Ant:0 Tag:1054 A334 54E1 7409, Disc:2003/01/21 11:50:03, Count:1, Ant:0XML formatted tag lists take the form:
<Alien-RFID-Tag-List> <Alien-RFID-Tag> <TagID>0102 0304 0506 0709</TagID> <DiscoveryTime>2003/01/17 11:37:01</DiscoveryTime> <Antenna>0</Antenna> <ReadCount>1413726</ReadCount> </Alien-RFID-Tag> <Alien-RFID-Tag> <TagID>2283 1668 ADC3 E804</TagID> <DiscoveryTime>2003/01/19 07:01:19</DiscoveryTime> <Antenna>0</Antenna> <ReadCount>1</ReadCount> </Alien-RFID-Tag> </Alien-RFID-Tag-List>In all cases the following information is reported per tag:
formatMode
- the type of format to use for tag lists
AlienReaderException
- if reader communication failsgetTagListFormat()
,
setDefaultTagListFormat()
public void setDefaultTagListFormat() throws AlienReaderException
AlienReaderException
- if reader communication failssetTagListFormat(String)
,
getTagListFormat()
public java.lang.String getTagListCustomFormat() throws AlienReaderException
AlienReaderException
- if reader communication failssetTagListCustomFormat(String)
public void setTagListCustomFormat(java.lang.String customFormat) throws AlienReaderException
When the reader is required to print a taglist, the tokens in the custom format are replaced with their runtime values.
%i - Tag ID with a white space between each pair of bytes - 8000 00FE 8010 2AB7 %k - Tag ID with no spaces between - 800000FE80102AB7 %d - Discovery date of tag, in format YY/MM/DD %t - Discovery time of tag, in format hh:mm:ss %a - Antenna the tag was last seen at %c - Checksum (CRC) of the tag ID %r - Read Count of tags
NOTE: Changes made with this command will take effect immediately.
customFormat
- the formatting string that describes how the reader custom formats tag lists
AlienReaderException
- if reader communication failsgetTagListCustomFormat()
public int getTagListAntennaCombine() throws AlienReaderException
AlienReaderException
- if reader communication failssetTagListAntennaCombine(int)
public void setTagListAntennaCombine(int tagListAntennaCombineMode) throws AlienReaderException
For example, reading a tag that is visible to both antenna 0 and antenna 1, with an antennaSequence of "0,1", would give the following tag list:
TagListAntennaCombine = ON Tag:8000 8004 2665 8426, Count:2, Ant:1 TagListAntennaCombine = OFF Tag:8000 8004 2665 8426, Count:1, Ant:0 Tag:8000 8004 2665 8426, Count:1, Ant:1In the interests of future compatibility, you should use
ON
and OFF
constants to set and test this parameter.
NOTE: Changes made with this command will take effect immediately.
tagListAntennaCombineMode
- the new ON/OFF status
AlienReaderException
- if reader communication failsgetTagListAntennaCombine()
public int getTagListMillis() throws AlienReaderException
AlienReaderException
- if reader communication failssetTagListMillis(int)
public void setTagListMillis(int tagListMillis) throws AlienReaderException
For example, with TagListMillis off:
TagListMillis = OFF Tag:0000 0000 0000 6103, Disc:2006/02/28 11:47:51, Last:2006/02/28 11:47:51... TagListMillis = ON Tag:0000 0000 0000 6103, Disc:2006/02/28 11:48:39.398, Last:2006/02/28 11:48:39.398...In the interests of future compatibility, you should use
ON
and OFF
constants to set and test this parameter.
NOTE: Changes made with this command will take effect immediately.
tagListMillis
- the new ON/OFF status
AlienReaderException
- if reader communication failsgetTagListMillis()
public void clearTagList() throws AlienReaderException
AlienReaderException
- if reader communication failsgetTagList(int)
,
getTagList(int)
,
getTag(int)
,
getTag(int)
public Tag[] getTagList(int multiplier) throws AlienReaderException
If the reader is currently in Interactive mode, the reader immediately performs
a full tag search (read and report) a number of times specified by
multiplier
and returns its current internal tag list.
If multiplier
is less than 1, it is taken to be 1.
If the reader is in Autonomous mode, the reader returns its current internal tag list only.
The response is an array of Tag
s. The maximum number of tags that
can be stored in the tag list is 1000.
multiplier
- the number of read cycles to perform when constructing the tag list
null
if no tags
AlienReaderException
- if reader communication failsgetTagList(int)
,
getTag(int)
,
getTag(int)
,
clearTagList()
public Tag[] getTagList() throws AlienReaderException
If the reader is currently in Interactive mode, the reader immediately performs a full tag search (read and report) and returns its current internal taglist.
If the reader is in Autonomous mode, the reader returns its current internal taglist only.
The response is an array of Tag
s. The maximum number of tags that
can be stored in the tag list is 1000.
null
if no tags
AlienReaderException
- if reader communication failsgetTagList(int)
,
getTag(int)
,
getTag(int)
,
clearTagList()
public Tag[] getCustomTagList(int multiplier) throws AlienReaderException
If the reader is currently in Interactive mode, the reader immediately performs
a full tag search (read and report) a number of times specified by
multiplier
and returns its current internal tag list.
If multiplier
is less than 1, it is taken to be 1.
If the reader is in Autonomous mode, the reader returns its current internal tag list only.
The response is an array of Tag
s. The maximum number of tags that
can be stored in the tag list is 1000.
multiplier
- the number of read cycles to perform when constructing the tag list
null
if no tags
AlienReaderException
- if reader communication failsgetCustomTagList(int)
public Tag[] getCustomTagList() throws AlienReaderException
If the reader is currently in Interactive mode, the reader immediately performs a full tag search (read and report) and returns its current internal taglist.
If the reader is in Autonomous mode, the reader returns its current internal taglist only.
The response is an array of Tag
s. The maximum number of tags that
can be stored in the tag list is 1000.
null
if no tags
AlienReaderException
- if reader communication failsgetCustomTagList(int)
public Tag getTag(int multiplier) throws AlienReaderException
If the multiplier is less than 1, then 1 will be used.
multiplier
- the number of read cycles to perform
null
if no tags
AlienReaderException
- if reader communication failsgetTagList(int)
,
getTagList(int)
,
getTag(int)
,
clearTagList()
public Tag getTag() throws AlienReaderException
AlienReaderException
- if reader communication failsgetTagList(int)
,
getTagList(int)
,
getTag(int)
,
clearTagList()
public java.lang.String getTagID(int multiplier) throws AlienReaderException
multiplier
- the number of read cycles to perform
null
if no tags
AlienReaderException
- if reader communication failsgetTagID()
public java.lang.String getTagID() throws AlienReaderException
AlienReaderException
- if reader communication failsgetTagID(int)
public int getStreamHeader() throws AlienReaderException
The StreamHeader is only sent when the socket connects, not before every piece of data.
The StreamHeader looks like the following:
#Alien RFID Reader I/O Stream\r\n #ReaderName: Alien RFID Reader\r\n #Hostname: alien-10116A\r\n #IPAddress: 192.168.1.100\r\n #CommandPort: 23\r\n #MACAddress: 00:80:66:10:11:6A\r\n #Time: 2006/12/18 11:19:26\r\n\0 ...stream data follows...
The XML header looks similar to the above, only with appropriate XML tags around each element.
In the interests of future compatibility, you should use ON
and OFF
constants to set and test this parameter.
AlienReaderException
- if reader communication failssetStreamHeader(int)
public void setStreamHeader(int streamHeader) throws AlienReaderException
In the interests of future compatibility, you should use ON
and OFF
constants to set and test this parameter.
streamHeader
- the new ON/OFF status of NotifyHeader
AlienReaderException
- if reader communication failsgetStreamHeader()
public int getTagStreamMode() throws AlienReaderException
In the interests of future compatibility, you should use ON
and OFF
constants to set and test this parameter.
AlienReaderException
- if reader communication failssetTagStreamMode(int)
public void setTagStreamMode(int streamMode) throws AlienReaderException
In the interests of future compatibility, you should use ON
and OFF
constants to set and test this parameter.
streamMode
- the new ON/OFF status of TagStreamMode
AlienReaderException
- if reader communication failsgetTagStreamMode()
public java.lang.String getTagStreamAddress() throws AlienReaderException
hostname:port - Send a message to a specified port on a networked machine. For example, “123.01.02.98:3450” or “listener.alientechnology.com:10002” SERIAL - Send a message to the serial port. The word “serial” is used as the address, and is not case sensitive.
AlienReaderException
- if reader communication failssetTagStreamAddress(String, int)
,
setTagStreamAddress(String)
public void setTagStreamAddress(java.lang.String address) throws AlienReaderException
hostname:port - Send a message to a specified port on a networked machine. For example, “123.01.02.98:3450” or “listener.alientechnology.com:10002” SERIAL - Send a message to the serial port. The word “serial” is used as the address, and is not case sensitive.
address
- the address of the device that this reader will send TagStream events to
AlienReaderException
- if reader communication failsgetTagStreamAddress()
,
setTagStreamAddress(String, int)
public void setTagStreamAddress(java.lang.String ipAddress, int portNumber) throws AlienReaderException
ipAddress
- the IP Address of the device to send TagStream events toportNumber
- the destination port number for TagStream messages
AlienReaderException
- if reader communication failsgetTagStreamAddress()
,
setTagStreamAddress(String)
public int getTagStreamKeepAliveTime() throws AlienReaderException
The TagStreamKeepAliveTime command specifies the amount of time (in seconds) that the reader will keep this socket open. For rapid events, it may be advantageous for the reader to hold the socket open continuously. You do this by setting TagStreamKeepAliveTime to some value greater than the expected time between TagStream events.
AlienReaderException
- if reader communication failssetTagStreamKeepAliveTime(int)
public void setTagStreamKeepAliveTime(int keepAliveTime) throws AlienReaderException
The TagStreamKeepAliveTime command specifies the amount of time (in seconds) that the reader will keep this socket open. For rapid events, it may be advantageous for the reader to hold the socket open continuously. You do this by setting TagStreamKeepAliveTime to some value greater than the expected time between TagStreamevents.
keepAliveTime
- the time before the reader closes an idle TagStream socket
AlienReaderException
- if reader communication failsgetTagStreamKeepAliveTime()
public java.lang.String getTagStreamFormat() throws AlienReaderException
The reader may optionally send out a StreamHeader when it makes the initial connection to the TagStreamAddress. This StreamHeader is also formatted according to the TagStreamFormat.
The format may be one of the following:
TEXT - TagStream events are plain text messages, one tag event per line. TERSE - Similar to TEXT, with minimal data and syntax XML - TagStream events are XML text format. CUSTOM - TagStream events are formatted according to the TagStreamCustomFormat.
In the interests of future compatibility, you should use the constants
TEXT_FORMAT
, TERSE_FORMAT
, XML_FORMAT
, and CUSTOM_FORMAT
when setting and testing this parameter.
The formatting style of TagStream data is the same as for TagList data.
AlienReaderException
- if reader communication failssetTagStreamFormat(String)
public void setTagStreamFormat(java.lang.String format) throws AlienReaderException
The reader may optionally send out a StreamHeader when it makes the initial connection to the TagStreamAddress. This StreamHeader is also formatted according to the TagStreamFormat.
The format may be one of the following:
TEXT - TagStream events are plain text messages, one tag event per line. TERSE - Similar to TEXT, with minimal data and syntax XML - TagStream events are XML text format. CUSTOM - TagStream events are formatted according to the TagStreamCustomFormat.
In the interests of future compatibility, you should use the constants
TEXT_FORMAT
, TERSE_FORMAT
, XML_FORMAT
, and CUSTOM_FORMAT
when setting and testing this parameter.
The formatting style of TagStream data is the same as for TagList data.
format
- the type of format to use for TagStream messages
AlienReaderException
- if reader communication failsgetTagStreamFormat()
public java.lang.String getTagStreamCustomFormat() throws AlienReaderException
AlienReaderException
- if reader communication failssetTagStreamCustomFormat(String)
public void setTagStreamCustomFormat(java.lang.String customFormat) throws AlienReaderException
When the reader is required to print a TagStream event, the tokens in the custom format are replaced with their runtime values. The custom tokens used for TagStreamCustomFormat are the same as those used for TagListCustomFormat.
NOTE: Changes made with this command will take effect immediately.
customFormat
- the formatting string that describes how the reader custom formats TagStreams
AlienReaderException
- if reader communication failsgetTagStreamCustomFormat()
public int getTagStreamCountFilterMinimum() throws AlienReaderException
AlienReaderException
- if reader communication failsgetTagStreamCountFilter()
,
setTagStreamCountFilter(int)
,
setTagStreamCountFilter(int, int)
public int[] getTagStreamCountFilter() throws AlienReaderException
AlienReaderException
- if reader communication failsgetTagStreamCountFilterMinimum()
,
setTagStreamCountFilter(int)
,
setTagStreamCountFilter(int, int)
public void setTagStreamCountFilter(int minCount) throws AlienReaderException
The default value is "0", which effectively turns off the TagStreamCountFilter and causes the reader to stream all tags (like before). This also happens to have the same effect as "setTagStreamCountFilter(1)".
minCount
- the minimum number of reads require before a tag is streamed
AlienReaderException
- if reader communication failsgetTagStreamCountFilterMinimum()
,
setTagStreamCountFilter(int, int)
public void setTagStreamCountFilter(int minCount, int maxCount) throws AlienReaderException
If the optional maximum value is specified, then the tag will not be streamed once the count exceeds the maximum. Allowed ranges for both minimum and maximum are 0...65535, and the maximum must be greater than the minimum.
The default value is "0", which effectively turns off the TagStreamCountFilter and causes the reader to stream all tags (like before). This also happens to have the same effect as "TagStreamCountFilter = 1".
To stream tags only once, use setTagStreamCountFilter(0, 1).
minCount
- the minimum number of reads require before a tag is streamedmaxCount
- the maximum number of reads to still stream a tag
AlienReaderException
- if reader communication failsgetTagStreamCountFilterMinimum()
,
setTagStreamCountFilter(int)
public void clearIOList() throws AlienReaderException
AlienReaderException
- if reader communication failsgetIOList()
public ExternalIO[] getIOList() throws AlienReaderException
ExternalIO
s, or null
if there are no I/O
events.
null
if no I/Os
AlienReaderException
- if reader communication failspublic java.lang.String getIOListDump() throws AlienReaderException
This method returns the entire IOList dump, as a single String.
AlienReaderException
- if reader communication failsclearIOList()
public java.lang.String getIOType() throws AlienReaderException
The value returned is a String, which can include one or more of the following:
DI : record changes to inputs only (default value) DO : record changes to outputs only DIO : record changes to both inputs and outputsThe DI and DO options can be combined with a vertical bar (a.k.a. "or"). In this case, both the inputs and outputs are reported, but as separate lists. The DIO option returns both, but interleaved according to when the I/O events occured.
AlienReaderException
- if reader communication failssetIOType(String)
public void setIOType(java.lang.String ioType) throws AlienReaderException
The value returned is a String, which can include one or more of the following:
DI : record changes to inputs only (default value) DO : record changes to outputs only DIO : record changes to both inputs and outputsThe DI and DO options can be combined with a vertical bar (a.k.a. "or"). In this case, both the inputs and outputs are reported, but as separate lists. The DIO option returns both, but interleaved according to when the I/O events occured.
ioType
- the String indicating the I/O event types the reader should report
AlienReaderException
- if reader communication failsgetIOType()
public java.lang.String getIOListFormat() throws AlienReaderException
AlienReaderException
- if reader communication failssetIOListFormat(String)
,
setDefaultIOListFormat()
public void setIOListFormat(java.lang.String formatMode) throws AlienReaderException
TEXT_FORMAT
- IOLists displayed as plain text messages, one tag
ID per line.
XML_FORMAT
- IOLists are displayed in XML text format.
CUSTOM_FORMAT
- IOLists are displayed in the format described by
IOListCustomFormat.
TEXT formatted IOLists take the following form:
IO:DI, Time:2007/01/26 15:34:02.552, Data:0 IO:DO, Time:2007/01/26 15:34:11.553, Data:0XML formatted IOLists take the form:
<Alien-RFID-IO-List> <Alien-RFID-IO> <Type>DI</Type> <Time>2007/01/26 15:34:02.552</Time> <Data>0</Data> </Alien-RFID-IO> <Alien-RFID-IO> <Type>D0</Type> <Time>2007/01/26 15:34:11.553</Time> <Data>0</Data> </Alien-RFID-IO> </Alien-RFID-IO-List>In all cases the following information is reported per tag:
formatMode
- the type of format to use for IOLists
AlienReaderException
- if reader communication failsgetIOListFormat()
,
setDefaultIOListFormat()
public void setDefaultIOListFormat() throws AlienReaderException
AlienReaderException
- if reader communication failssetIOListFormat(String)
,
getIOListFormat()
public java.lang.String getIOListCustomFormat() throws AlienReaderException
AlienReaderException
- if reader communication failssetIOListCustomFormat(String)
public void setIOListCustomFormat(java.lang.String customFormat) throws AlienReaderException
When the reader is required to print an IOList, the tokens in the custom format are replaced with their runtime values.
%e - The I/O event type (textual) - DI or DO %E - The I/O event type (numeric) - 1=>DI, 2=>DO %t - The time of the I/O event (numeric) - milliseconds since 1/1/70 %T - The time of the I/O event, in format hh:mm:ss.xxx (xxx=milliseconds) %d - The date of the I/O event, in format YY/MM/DD %D - The date and time of the I/O event, in format YY/MM/DD hh:mm:ss.xxx %v - The new (bit mask) value of the DIs or DOs
NOTE: Changes made with this command will take effect immediately.
customFormat
- the formatting string that describes how the reader custom formats IOLists
AlienReaderException
- if reader communication failsgetIOListCustomFormat()
public int getIOStreamMode() throws AlienReaderException
In the interests of future compatibility, you should use ON
and OFF
constants to set and test this parameter.
AlienReaderException
- if reader communication failssetIOStreamMode(int)
public void setIOStreamMode(int streamMode) throws AlienReaderException
In the interests of future compatibility, you should use ON
and OFF
constants to set and test this parameter.
streamMode
- the new ON/OFF status of IOStreamMode
AlienReaderException
- if reader communication failsgetIOStreamMode()
public java.lang.String getIOStreamAddress() throws AlienReaderException
hostname:port - Send a message to a specified port on a networked machine. For example, “123.01.02.98:3450” or “listener.alientechnology.com:10002” SERIAL - Send a message to the serial port. The word “serial” is used as the address, and is not case sensitive.
AlienReaderException
- if reader communication failssetIOStreamAddress(String, int)
,
setIOStreamAddress(String)
public void setIOStreamAddress(java.lang.String address) throws AlienReaderException
hostname:port - Send a message to a specified port on a networked machine. For example, “123.01.02.98:3450” or “listener.alientechnology.com:10002” SERIAL - Send a message to the serial port. The word “serial” is used as the address, and is not case sensitive.
address
- the address of the device that this reader will send IOStream events to
AlienReaderException
- if reader communication failsgetIOStreamAddress()
,
setIOStreamAddress(String, int)
public void setIOStreamAddress(java.lang.String ipAddress, int portNumber) throws AlienReaderException
ipAddress
- the IP Address of the device to send IOStream events toportNumber
- the destination port number for IOStream messages
AlienReaderException
- if reader communication failsgetIOStreamAddress()
,
setIOStreamAddress(String)
public int getIOStreamKeepAliveTime() throws AlienReaderException
The IOStreamKeepAliveTime command specifies the amount of time (in seconds) that the reader will keep this socket open. For rapid events, it may be advantageous for the reader to hold the socket open continuously. You do this by setting IOStreamKeepAliveTime to some value greater than the expected time between IOStream events.
AlienReaderException
- if reader communication failssetIOStreamKeepAliveTime(int)
public void setIOStreamKeepAliveTime(int keepAliveTime) throws AlienReaderException
The IOStreamKeepAliveTime command specifies the amount of time (in seconds) that the reader will keep this socket open. For rapid events, it may be advantageous for the reader to hold the socket open continuously. You do this by setting IOStreamKeepAliveTime to some value greater than the expected time between IOStream events.
keepAliveTime
- the time before the reader closes an idle IOStream socket
AlienReaderException
- if reader communication failsgetIOStreamKeepAliveTime()
public java.lang.String getIOStreamFormat() throws AlienReaderException
The reader may optionally send out a StreamHeader when it makes the initial connection to the IOStreamAddress. This StreamHeader is also formatted according to the IOStreamFormat.
The format may be one of the following:
TEXT - IOStream events are plain text messages, one I/O event per line. TERSE - Similar to TEXT, with minimal data and syntax XML - IOStream events are XML text format. CUSTOM - IOStream events are formatted according to the IOStreamCustomFormat.
In the interests of future compatibility, you should use the constants
TEXT_FORMAT
, TERSE_FORMAT
, XML_FORMAT
, and CUSTOM_FORMAT
when setting and testing this parameter.
The formatting style of IOStream data is the same as for IOList data.
AlienReaderException
- if reader communication failssetIOStreamFormat(String)
public void setIOStreamFormat(java.lang.String format) throws AlienReaderException
The reader may optionally send out a StreamHeader when it makes the initial connection to the IOStreamAddress. This StreamHeader is also formatted according to the IOStreamFormat.
The format may be one of the following:
TEXT - IOStream events are plain text messages, one I/O event per line. TERSE - Similar to TEXT, with minimal data and syntax XML - IOStream events are XML text format. CUSTOM - IOStream events are formatted according to the IOStreamCustomFormat.
In the interests of future compatibility, you should use the constants
TEXT_FORMAT
, TERSE_FORMAT
, XML_FORMAT
, and CUSTOM_FORMAT
when setting and testing this parameter.
The formatting style of IOStream data is the same as for IOList data.
format
- the type of format to use for IOStream messages
AlienReaderException
- if reader communication failsgetIOStreamFormat()
public java.lang.String getIOStreamCustomFormat() throws AlienReaderException
AlienReaderException
- if reader communication failssetIOStreamCustomFormat(String)
public void setIOStreamCustomFormat(java.lang.String customFormat) throws AlienReaderException
When the reader is required to print a IOStream event, the tokens in the custom format are replaced with their runtime values. The custom tokens used for IOStreamCustomFormat are the same as those used for IOListCustomFormat.
NOTE: Changes made with this command will take effect immediately.
customFormat
- the formatting string that describes how the reader custom formats IOStreams
AlienReaderException
- if reader communication failsgetIOStreamCustomFormat()
public int getAutoMode() throws AlienReaderException
AlienReaderException
- if reader communication failssetAutoMode(int)
,
resetAutoMode()
public void setAutoMode(int autoMode) throws AlienReaderException
In the interests of future compatibility, you should use ON
and OFF
constants to set and test this parameter.
autoMode
- the new ON/OFF status of AutoMode
AlienReaderException
- if reader communication failsgetAutoMode()
,
resetAutoMode()
public void resetAutoMode() throws AlienReaderException
AlienReaderException
- if reader communication failsgetAutoMode()
,
setAutoMode(int)
public void autoModeReset() throws AlienReaderException
AlienReaderException
- if reader communication failsgetAutoMode()
,
setAutoMode(int)
public void autoModeTriggerNow() throws AlienReaderException
AlienReaderException
- if reader communication failspublic int getAutoWaitOutput() throws AlienReaderException
The reader controls two external output pins, which can subsequently be used to control external devices such a doors/gates, security lights. etc. This command allows these external output pin values to be obtained. The reader is is the wait state when autonomous mode is ON, and the start condition hasn't been met yet.
This command returns a single byte result that represents the bit mask settings of the external output 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.
AlienReaderException
- if reader communication failssetAutoWaitOutput(int)
public void setAutoWaitOutput(int autoWaitOutput) throws AlienReaderException
The reader controls two or four external output pins (depending on model), which can subsequently be used to control external devices such a doors/gates, security lights. etc. This command allows these external output pin values to be obtained. The reader is is the wait state when autonomous mode is ON, and the start condition hasn't been met yet.
This command requires a single byte that represents the bit mask settings of the external output 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 all other pins are low, the bit mask would be 10binary which translates to 2decimal.
autoWaitOutput
- the decimal state representation of the external Output pins, while the reader is waiting
AlienReaderException
- if reader communication failsgetAutoWaitOutput()
public int[] getAutoStartTrigger() throws AlienReaderException
This method returns an array if ints, where:
Array[0] = Rising Edge value Array[1] = Falling Edge value
Each value is a single byte 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 the reader is triggering when pin 0 and pin 1 are rising, the Rising Edge value bit mask would be 11binary which translates to 3decimal. The Falling Edge value would be zero.
The reader can only trigger on rising edges or falling edges, but not both.
AlienReaderException
- if reader communication failssetAutoStartTrigger(int, int)
,
setAutoStartTrigger(String)
public void setAutoStartTrigger(int risingEdge, int fallingEdge) throws AlienReaderException
This method requires two ints:
risingEdge = Rising Edge value fallingEdge = Falling Edge value
Each value is a single byte 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, to cause the reader to trigger when pin 0 and pin 1 are rising, the risingEdge value bit mask would be 11binary which translates to 3decimal, and the fallingEdge value would be zero.
NOTE: Changes made with this command will take effect immediately.
risingEdge
- the external Input pins that, when rising, trigger an AutoMode cyclefallingEdge
- the external Input pins that, when falling, trigger an AutoMode cycle
AlienReaderException
- if reader communication failsgetAutoStartTrigger()
,
setAutoStartTrigger(String)
public void setAutoStartTrigger(java.lang.String trigger) throws AlienReaderException
This method requires one String, trigger, consisting of 2 comma-separated integers:
trigger = "<risingEdge>, <fallingEdge>" risingEdge = Rising Edge value fallingEdge = Falling Edge value
Each value is a single byte 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, to cause the reader to trigger when pin 0 and pin 1 are rising, the risingEdge value bit mask would be 11binary which translates to 3decimal, and the fallingEdge value would be zero.
The reader can only trigger on rising edges or falling edges, but not both.
NOTE: Changes made with this command will take effect immediately.
trigger
- a String representing the external Input triggers that start an AutoMode cycle
AlienReaderException
- if reader communication failsgetAutoStartTrigger()
,
setAutoStartTrigger(int, int)
public int getAutoStartPause() throws AlienReaderException
This feature exists only in the ALR-x800/x900/9650.
AlienReaderException
- if reader communication failssetAutoStartPause(int)
public void setAutoStartPause(int autoStartPause) throws AlienReaderException
This feature exists only in the ALR-x800/x900/9650.
autoStartPause
- the time (in milliseconds) the reader will pause after a start trigger
AlienReaderException
- if reader communication failsgetAutoStartPause()
public int getAutoWorkOutput() throws AlienReaderException
The reader controls external output pins, which can subsequently be used to control external devices such a doors/gates, security lights. etc. This command allows these external output pin values to be obtained. The reader is is the work state when autonomous mode is ON, and the reader is doing its autonomous action.
This command returns a single byte result that represents the bit mask settings of the external output 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.
AlienReaderException
- if reader communication failssetAutoWorkOutput(int)
public void setAutoWorkOutput(int autoWorkOutput) throws AlienReaderException
The reader controls external output pins, which can subsequently be used to control external devices such a doors/gates, security lights. etc. This command allows these external output pin values to be obtained. The reader is is the work state when autonomous mode is ON, and the reader is doing its autonomous action.
This command requires a single byte that represents the bit mask settings of the external output pins. Bit 0 represents the state of pin 0, Bit 1 represents the state of pin 1, etc. For example, to set pin 1 high and all other pins, the bit mask would be 10binary which translates to 2decimal.
autoWorkOutput
- the decimal state representation of the external Output pins, while the reader is working
AlienReaderException
- if reader communication failsgetAutoWorkOutput()
public java.lang.String getAutoAction() throws AlienReaderException
None - perform no action Acquire - perform an acquire action, as specified by the AcquireMode parameter ProgramEPC - write the tag's EPC ProgramAndLockEPC - write and lock the tag's EPC Erase - erase the tag ProgramAlienImage - write a complete tag image to an Alien tag ProgramUser - write user data ProgramAndLockUser - write and lock user data
The default setting is Acquire.
AlienReaderException
- if reader communication failssetAutoAction(String)
public void setAutoAction(java.lang.String autoAction) throws AlienReaderException
None - perform no action Acquire - perform an acquire action, as specified by the AcquireMode parameter ProgramEPC - write the tag's EPC ProgramAndLockEPC - write and lock the tag's EPC Erase - erase the tag ProgramAlienImage - write a complete tag image to an Alien tag ProgramUser - write user data ProgramAndLockUser - write and lock user data
The default setting is Acquire.
NOTE: Changes made with this command will take effect immediately.
autoAction
- the type of action the reader performs while in AutoMode
AlienReaderException
- if reader communication failsgetAutoAction()
public int[] getAutoStopTrigger() throws AlienReaderException
This method returns an array if ints, where:
Array[0] = Rising Edge value Array[1] = Falling Edge value
Each value is a single byte 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 the reader is triggering when pin 0 and pin 1 are rising, the Rising Edge value bit mask would be 11binary which translates to 3decimal. The Falling Edge value would be zero.
The reader can only trigger on rising edges or falling edges, but not both.
AlienReaderException
- if reader communication failssetAutoStopTrigger(int, int)
,
setAutoStopTrigger(String)
public void setAutoStopTrigger(int risingEdge, int fallingEdge) throws AlienReaderException
This method requires two ints:
risingEdge = Rising Edge value fallingEdge = Falling Edge value
Each value is a single byte 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, to cause the reader to trigger when pin 0 and pin 1 are rising, the risingEdge value bit mask would be 11binary which translates to 3decimal, and the fallingEdge value would be zero.
NOTE: Changes made with this command will take effect immediately.
risingEdge
- the external Input pins that, when rising, stop an AutoMode cyclefallingEdge
- the external Input pins that, when falling, stop an AutoMode cycle
AlienReaderException
- if reader communication failsgetAutoStopTrigger()
,
setAutoStopTrigger(String)
public void setAutoStopTrigger(java.lang.String trigger) throws AlienReaderException
This method requires one String, trigger
, consisting of 2 comma-separated
integers:
trigger = "<risingEdge>, <fallingEdge>" risingEdge = Rising Edge value fallingEdge = Falling Edge value
Each value is a single byte 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, to cause the reader to trigger when pin 0 and pin 1 are rising, the risingEdge value bit mask would be 11binary which translates to 3decimal, and the fallingEdge value would be zero.
The reader can only trigger on rising edges or falling edges, but not both.
NOTE: Changes made with this command will take effect immediately.
trigger
- a String representing the external Input triggers that stop an AutoMode cycle
AlienReaderException
- if reader communication failsgetAutoStopTrigger()
,
setAutoStopTrigger(int, int)
public int getAutoStopPause() throws AlienReaderException
This feature current exists only in the ALR-x800/x900/9650.
AlienReaderException
- if reader communication failssetAutoStopPause(int)
public void setAutoStopPause(int autoStopPause) throws AlienReaderException
This feature current exists only in the ALR-x800/x900/9650.
autoStopPause
- the time (in milliseconds) the reader will continue after a stop trigger
AlienReaderException
- if reader communication failsgetAutoStopPause()
public int getAutoStopTimer() throws AlienReaderException
AlienReaderException
- if reader communication failssetAutoStopTimer(int)
public void setAutoStopTimer(int timer) throws AlienReaderException
NOTE: Changes made with this command will take effect immediately.
timer
- the time (in milliseconds) before the reader transitions from the work state to the evaluate state
AlienReaderException
- if reader communication failsgetAutoStopTimer()
public int getAutoTrueOutput() throws AlienReaderException
The reader controls external output pins, which can subsequently be used
to control external devices such a doors/gates, security lights. etc. This
command allows these external output pin values to be obtained. The reader is
is the "true pause" state when autonomous mode is ON, the reader has performed
its autonomous action, and that action evaluates to true
.
This command returns a integer that represents the bit mask settings of the external output 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.
true
AlienReaderException
- if reader communication failssetAutoTrueOutput(int)
public void setAutoTrueOutput(int autoTrueOutput) throws AlienReaderException
The reader controls external output pins, which can subsequently be used
to control external devices such a doors/gates, security lights. etc. This
command allows these external output pin values to be obtained. The reader is
is the "true pause" state when autonomous mode is ON, the reader has performed
its autonomous action, and that action evaluates to true
.
This command requires a single integer that represents the bit mask settings of the external output 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 all other pins, the bit mask would be 10binary which translates to 2decimal.
autoTrueOutput
- the decimal state representation of the external Output pins, after the reader's eval state is true
AlienReaderException
- if reader communication failsgetAutoTrueOutput()
public int getAutoTruePause() throws AlienReaderException
true
condition. This pause will occur after the
AutoTrueOutput external outputs have been set.
true
AlienReaderException
- if reader communication failssetAutoTruePause(int)
public void setAutoTruePause(int autoTruePause) throws AlienReaderException
true
condition. This pause will occur after the
AutoTrueOutput external outputs have been set.
NOTE: Changes made with this command will take effect immediately.
autoTruePause
- the time (in milliseconds) the reader will pause after an autonomous mode cycle evaluates to true
AlienReaderException
- if reader communication failsgetAutoTruePause()
public int getAutoFalseOutput() throws AlienReaderException
The reader controls external output pins, which can subsequently be used
to control external devices such a doors/gates, security lights. etc. This
command allows these external output pin values to be obtained. The reader is
is the "false pause" state when autonomous mode is ON, the reader has performed
its autonomous action, and that action evaluates to false
.
This command returns an integer that represents the bit mask settings of the external output 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.
false
AlienReaderException
- if reader communication failssetAutoFalseOutput(int)
public void setAutoFalseOutput(int autoFalseOutput) throws AlienReaderException
The reader controls two external output pins, which can subsequently be used
to control external devices such a doors/gates, security lights. etc. This
command allows these external output pin values to be obtained. The reader is
is the "false pause" state when autonomous mode is ON, the reader has performed
its autonomous action, and that action evaluates to false
.
This command requires an integer that represents the bit mask settings of the external output 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 all other pins low, the bit mask would be 10binary which translates to 2decimal.
autoFalseOutput
- the decimal state representation of the external Output pins, after the reader's eval state is false
AlienReaderException
- if reader communication failsgetAutoFalseOutput()
public int getAutoFalsePause() throws AlienReaderException
false
condition. This pause will occur after the
AutoFalseOutput external outputs have been set.
false
AlienReaderException
- if reader communication failssetAutoFalsePause(int)
public void setAutoFalsePause(int autoFalsePause) throws AlienReaderException
false
condition. This pause will occur after the
AutoFalseOutput external outputs have been set.
NOTE: Changes made with this command will take effect immediately.
autoFalsePause
- the time, in milliseconds, the reader will pause after an autonomous mode cycle evaluates to false
AlienReaderException
- if reader communication failsgetAutoFalsePause()
public java.lang.String getAutoModeStatus() throws AlienReaderException
The following details the different states returned:
0 - Auto Mode is OFF 10 - Auto Mode is initializing 20 - Auto Mode is listening for a start trigger 30 - Auto Mode is starting its Action 40 - Auto Mode is processing its Action 50 - Auto Mode is listening for a Stop condition 60 - Auto Mode is entering its evaluation stage 70 - Auto Mode is in its true or false pause stage 80 - Auto Mode is in notify stage
Additionally the status may be followed by an asterisk character (*). If present, it indicates that a complete auto mode cycle has occurred since the last getAutoModeStatus command was issued. Calling this method will always clear the * flag.
AlienReaderException
- if reader communication failspublic java.lang.String getAutoErrorOutput() throws AlienReaderException
public void setAutoErrorOutput(java.lang.String errorOutput) throws AlienReaderException
To disable this feature, just set AutoErrorOuput to -1. Any other value for
the
errorOutput
- the data unit used to optimize programming operations
AlienReaderException
- if reader communication failsgetAutoErrorOutput()
public int getAutoProgError() throws AlienReaderException
Setting AutoProgError to '-1' results in reporting the actual error code. The default value is 255 for compatibility.
AlienReaderException
- if reader communication failssetAutoProgError(int)
public void setAutoProgError(int autoProgError) throws AlienReaderException
false
condition. This pause will occur after the
AutoFalseOutput external outputs have been set.
NOTE: Changes made with this command will take effect immediately.
autoProgError
- the antenna value reported during failed Automode programming
AlienReaderException
- if reader communication failsgetAutoProgError()
public int getNotifyMode() throws AlienReaderException
AlienReaderException
- if reader communication failssetNotifyMode(int)
public void setNotifyMode(int notifyMode) throws AlienReaderException
In the interests of future compatibility, you should use ON
and OFF
constants to set and test this parameter.
notifyMode
- the new ON/OFF status of NotifyMode
AlienReaderException
- if reader communication failsgetNotifyMode()
public int getNotifyHeader() throws AlienReaderException
In the interests of future compatibility, you should use ON
and OFF
constants to set and test this parameter.
AlienReaderException
- if reader communication failssetNotifyHeader(int)
public void setNotifyHeader(int notifyHeader) throws AlienReaderException
In the interests of future compatibility, you should use ON
and OFF
constants to set and test this parameter.
notifyHeader
- the new ON/OFF status of NotifyHeader
AlienReaderException
- if reader communication failsgetNotifyHeader()
public java.lang.String getNotifyFormat() throws AlienReaderException
TEXT - Tag lists are sent out as plain text messages, one tag ID per line. XML - Tag lists are sent out as an XML text format. CUSTOM - Tag lists are sent out as plain text messages, each tag line being defined by the TagListCustomFormat specification.
TEXT formatted tag lists take the form:
#Alien RFID Reader Auto Notification Message #ReaderName: Spinner Reader #ReaderType: Alien RFID Tag Reader (Class 1 / 915Mhz) #IPAddress: 10.1.70.13 #CommandPort: 23 #Time: 2003/01/21 12:48:59 #Reason: TEST MESSAGE Tag:1115 F268 81C3 C012, Disc:2003/01/21 09:00:51, Count:1, Ant:0 Tag:0100 0100 0002 0709, Disc:2003/01/21 11:00:10, Count:1, Ant:0 Tag:1054 A334 54E1 7409, Disc:2003/01/21 11:50:03, Count:1, Ant:0 #End of Notification Message
XML formatted tag lists take the form:
<Alien-RFID-Reader-Auto-Notification< <ReaderName<Spinner Reader</ReaderName< <ReaderType<Alien RFID Tag Reader (Class 1 / 915Mhz)</ReaderType< <IPAddress<10.1.70.13</IPAddress< <CommandPort<23</CommandPort< <Time<2003/01/21 12:49:22</Time< <Reason<TEST MESSAGE</Reason< <Alien-RFID-Tag-List< <Alien-RFID-Tag< <TagID<0102 0304 0506 0709</TagID< <DiscoveryTime<2003/01/17 11:37:01</DiscoveryTime< <Antenna<0</Antenna< <ReadCount<1413726</ReadCount< </Alien-RFID-Tag< <Alien-RFID-Tag< <TagID<2283 1668 ADC3 E804</TagID< <DiscoveryTime<2003/01/19 07:01:19</DiscoveryTime< <Antenna<0</Antenna< <ReadCount<1</ReadCount< </Alien-RFID-Tag< </Alien-RFID-Tag-List< </Alien-RFID-Reader-Auto-Notification<
AlienReaderException
- if reader communication failssetNotifyFormat(String)
public void setNotifyFormat(java.lang.String format) throws AlienReaderException
TEXT - Tag lists are sent out as plain text messages, one tag ID per line. XML - Tag lists are sent out as an XML text format. CUSTOM - Tag lists are sent out as plain text messages, each tag line being defined by the TagListCustomFormat specification.
In the interests of future compatibility, you should use the constants
TEXT_FORMAT
, XML_FORMAT
, and CUSTOM_FORMAT
when setting and testing this
parameter.
TEXT formatted tag lists take the form:
#Alien RFID Reader Auto Notification Message #ReaderName: Spinner Reader #ReaderType: Alien RFID Tag Reader (Class 1 / 915Mhz) #IPAddress: 10.1.70.13 #CommandPort: 23 #Time: 2003/01/21 12:48:59 #Reason: TEST MESSAGE Tag:1115 F268 81C3 C012, Disc:2003/01/21 09:00:51, Count:1, Ant:0 Tag:0100 0100 0002 0709, Disc:2003/01/21 11:00:10, Count:1, Ant:0 Tag:1054 A334 54E1 7409, Disc:2003/01/21 11:50:03, Count:1, Ant:0 #End of Notification Message
XML formatted tag lists take the form:
<Alien-RFID-Reader-Auto-Notification< <ReaderName<Spinner Reader</ReaderName< <ReaderType<Alien RFID Tag Reader (Class 1 / 915Mhz)</ReaderType< <IPAddress<10.1.70.13</IPAddress< <CommandPort<23</CommandPort< <Time<2003/01/21 12:49:22</Time< <Reason<TEST MESSAGE</Reason< <Alien-RFID-Tag-List< <Alien-RFID-Tag< <TagID<0102 0304 0506 0709</TagID< <DiscoveryTime<2003/01/17 11:37:01</DiscoveryTime< <Antenna<0</Antenna< <ReadCount<1413726</ReadCount< </Alien-RFID-Tag< <Alien-RFID-Tag< <TagID<2283 1668 ADC3 E804</TagID< <DiscoveryTime<2003/01/19 07:01:19</DiscoveryTime< <Antenna<0</Antenna< <ReadCount<1</ReadCount< </Alien-RFID-Tag< </Alien-RFID-Tag-List< </Alien-RFID-Reader-Auto-Notification<
format
- the type of format to use for notification messages
AlienReaderException
- if reader communication failsgetNotifyFormat()
public java.lang.String getNotifyAddress() throws AlienReaderException
Currently there are 3 delivery methods supported as shown in the table below:
user@domain.com | Send a message via
e-mail to the address specified. The address is specified in standard email form. NOTE: the MailServer parameter must be configured for this to work. There is also an optional MailFrom parameter that can be used. |
hostname:port | Send a message to a specified port on a networked machine. The address takes the form “hostname:port.” For example, “123.01.02.98:3450” or “listener.alientechnology.com:10002” |
serial | Send a message to the serial port. The word “serial” is used as the address. The word is not case sensitive. |
AlienReaderException
- if reader communication failssetNotifyAddress(String, int)
,
setNotifyAddress(String)
public void setNotifyAddress(java.lang.String address) throws AlienReaderException
Currently there are 3 delivery methods supported as shown in the table below:
user@domain.com | Send a message via
e-mail to the address specified. The address is specified in standard email form. NOTE: the MailServer parameter must be configured for this to work. There is also an optional MailFrom parameter that can be used. |
hostname:port | Send a message to a specified port on a networked machine. The address takes the form “hostname:port.” For example, “123.01.02.98:3450” or “listener.alientechnology.com:10002” |
serial | Send a message to the serial port. The word “serial” is used as the address. The word is not case sensitive. |
address
- the address of the device that this reader will send notification messages to
AlienReaderException
- if reader communication failsgetNotifyAddress()
,
setNotifyAddress(String, int)
public void setNotifyAddress(java.lang.String ipAddress, int portNumber) throws AlienReaderException
Currently there are 3 delivery methods supported: e-mail, TCP/IP, and serial. This method only supports the TCP/IP delivery method, where the delivery address is of the form: hostname:port. For example, “123.01.02.98:3450” or “listener.alientechnology.com:10002”
ipAddress
- the IP Address of the device that this reader will send notification messages toportNumber
- the destination port number for notification messages
AlienReaderException
- if reader communication failsgetNotifyAddress()
,
setNotifyAddress(String)
public int getNotifyTime() throws AlienReaderException
AlienReaderException
- if reader communication failssetNotifyTime(int)
public void setNotifyTime(int seconds) throws AlienReaderException
NOTE: Changes made with this command will take effect immediately.
seconds
- the time interval for automatic pushing of notications
AlienReaderException
- if reader communication failsgetNotifyTime()
public java.lang.String getNotifyTrigger() throws AlienReaderException
AlienReaderException
- if reader communication failssetNotifyTrigger(String)
public void setNotifyTrigger(java.lang.String trigger) throws AlienReaderException
Notify messages can be triggered under any of the following conditions:
ADD - a new tag is read and added to the TagList REMOVE - a tag is removed from the TagList CHANGE - a tag is either added to or removed from the TagList TRUE - the evaluation task of the autonomous state loop evaluates to true (typically when tags are added) FALSE - the evaluation task of the autonomous state loop evaluates to false (typically when tags are not found) TRUEFALSE - the evaluation task of the autonomous state loop evaluates to true or false
NOTE: Changes made with this command will take effect immediately.
trigger
- the AutoMode condition which triggers a notification event
AlienReaderException
- if reader communication failsgetNotifyTrigger()
public int getNotifyKeepAliveTime() throws AlienReaderException
The NotifyKeepAliveTime command specifies the amount of time (in seconds) that the reader will keep this socket open. For rapid notifications, it may be advantageous for the reader to hold the socket open continuously. You do this by setting NotifyKeepAliveTime to some value greater than the expected time between notifications.
AlienReaderException
- if reader communication failssetNotifyKeepAliveTime(int)
public void setNotifyKeepAliveTime(int keepAliveTime) throws AlienReaderException
The NotifyKeepAliveTime command specifies the amount of time (in seconds) that the reader will keep this socket open. For rapid notifications, it may be advantageous for the reader to hold the socket open continuously. You do this by setting NotifyKeepAliveTime to some value greater than the expected time between notifications.
keepAliveTime
- the time before the reader closes an idle Notify socket
AlienReaderException
- if reader communication failsgetNotifyKeepAliveTime()
public int getNotifyRetryCount() throws AlienReaderException
Network notifications can place burdens on the reader - especially the older models - particular when the notification fails to be delivered. While the older readers are attempting to deliver a notification message, they are not reading tags. This retry mechanism was put in place to catch conditions where notifications are consistently failing, and shut off the notify engine so that AutoMode can continue functioning. The tag data is typically retained by the reader until notifications resume, or you ask for the reader's taglist explicitly.
After the first failed notification, the reader tries to resend the notification after NotifyRetryPause seconds. It will continue to retry until the count exceeds NotifyRetryCount, at which point NotifyMode will be turned off.
AlienReaderException
- if reader communication failssetNotifyRetryCount(int)
public void setNotifyRetryCount(int retryCount) throws AlienReaderException
Network notifications can place burdens on the reader - especially the older models - particular when the notification fails to be delivered. While the older readers are attempting to deliver a notification message, they are not reading tags. This retry mechanism was put in place to catch conditions where notifications are consistently failing, and shut off the notify engine so that AutoMode can continue functioning. The tag data is typically retained by the reader until notifications resume, or you ask for the reader's taglist explicitly.
After the first failed notification, the reader tries to resend the notification after NotifyRetryPause seconds. It will continue to retry until the count exceeds NotifyRetryCount, at which point NotifyMode will be turned off.
retryCount
- the number of times to retry failed notifications
AlienReaderException
- if reader communication failsgetNotifyTime()
public int getNotifyRetryPause() throws AlienReaderException
Network notifications can place burdens on the reader - especially the older models - particular when the notification fails to be delivered. While the older readers are attempting to deliver a notification message, they are not reading tags. This retry mechanism was put in place to catch conditions where notifications are consistently failing, and shut off the notify engine so that AutoMode can continue functioning. The tag data is typically retained by the reader until notifications resume, or you ask for the reader's taglist explicitly.
After the first failed notification, the reader tries to resend the notification after NotifyRetryPause seconds. It will continue to retry until the count exceeds NotifyRetryCount, at which point NotifyMode will be turned off.
AlienReaderException
- if reader communication failssetNotifyRetryPause(int)
public void setNotifyRetryPause(int retryPause) throws AlienReaderException
Network notifications can place burdens on the reader - especially the older models - particular when the notification fails to be delivered. While the older readers are attempting to deliver a notification message, they are not reading tags. This retry mechanism was put in place to catch conditions where notifications are consistently failing, and shut off the notify engine so that AutoMode can continue functioning. The tag data is typically retained by the reader until notifications resume, or you ask for the reader's taglist explicitly.
After the first failed notification, the reader tries to resend the notification after NotifyRetryPause seconds. It will continue to retry until the count exceeds NotifyRetryCount, at which point NotifyMode will be turned off.
retryPause
- the time interval between notification retries
AlienReaderException
- if reader communication failsgetNotifyRetryPause()
public java.lang.String getNotifyInclude() throws AlienReaderException
The Notification messages are still triggered by the same timers and triggers - typically based on TagList events.
Possible values are:
Tags - Only TagList data in included - the default value DI - Only IOList data involving digital inputs is included DO - Only IOList data involving digital outputs is included DIO - Only IOlist data (inputs and outputs, interleaved) is included All - Both Taglist data and all IOList data is included
AlienReaderException
- if reader communication failssetNotifyInclude(String)
public void setNotifyInclude(java.lang.String notifyInclude) throws AlienReaderException
The Notification messages are still triggered by the same timers and triggers - typically based on TagList events.
Possible values are:
Tags - Only TagList data in included - the default value DI - Only IOList data involving digital inputs is included DO - Only IOList data involving digital outputs is included DIO - Only IOlist data (inputs and outputs, interleaved) is included All - Both Taglist data and all IOList data is included
notifyInclude
- the String indicating what data to include in notifications
AlienReaderException
- if reader communication failsgetNotifyInclude()
public int getNotifyQueueLimit() throws AlienReaderException
Setting NotifyQueueLimit to smaller values will decrease the maximum number of messages in the queue, and therefore how many "stale" messages will be delivered once the notification channel is reestablished. Setting NotifyQueueLimit to zero will prevent any failed messages from being reset.
AlienReaderException
- if reader communication failssetNotifyQueueLimit(int)
public void setNotifyQueueLimit(int queueLimit) throws AlienReaderException
Setting NotifyQueueLimit to smaller values will decrease the maximum number of messages in the queue, and therefore how many "stale" messages will be delivered once the notification channel is reestablished. Setting NotifyQueueLimit to zero will prevent any failed messages from being reset.
queueLimit
- the number of failed notification messages to retain
AlienReaderException
- if reader communication failsgetNotifyQueueLimit()
public java.lang.String getMailServer() throws AlienReaderException
AlienReaderException
- if reader communication failssetMailServer(String)
public void setMailServer(java.lang.String mailServer) throws AlienReaderException
NOTE: Changes to this setting will take immediate effect.
mailServer
- the address of the SMTP server for e-mail notifications
AlienReaderException
- if reader communication failsgetMailServer()
public java.lang.String getMailFrom() throws AlienReaderException
AlienReaderException
- if reader communication failssetMailFrom(String)
public void setMailFrom(java.lang.String mailFrom) throws AlienReaderException
NOTE: Changes to this setting will take immediate effect.
mailFrom
- the e-mail address that e-mailed notifications will have as their sender
AlienReaderException
- if reader communication failsgetMailFrom()
public void notifyNow() throws AlienReaderException
AlienReaderException
- if reader communication failspublic void wakeTag(java.lang.String tagID) throws AlienReaderException
tagID
is null or "" the Reader Mask will not be changed.tagID
is not null or "", the Reader mask will be set to the required value.tagID
can be in the format "XX XX XX XX...", or
"XXXX XXXX...", or "XXXXXXXX...", where "X" is one byte.
tagID
- the tag ID to mask to for the Wake command
AlienReaderException
- if reader communication failssleep(String)
public void wake(java.lang.String tagID) throws AlienReaderException
wakeTag(String)
.
tagID
- the tag ID to mask to for the Wake command
AlienReaderException
- if reader communication failswakeTag(String)
public void g2Wake(int numWakes) throws AlienReaderException
The numWakes argument allows you to specify how make G2 Select commands will be issued. In large tag populations, or in difficult RF environments, a tag may not "hear" every Select command, so issuing more of them increases the chances of waking up all of the tags.
This command only works in ALR-x800/x900/9650 readers.
numWakes
- the number of times the reader should try to wake the tags
AlienReaderException
- if reader communication failsg2Wake()
public void g2Wake() throws AlienReaderException
This command only works in ALR-x800/x900/9650 readers.
AlienReaderException
- if reader communication failsg2Wake(int)
public void sleepTag(java.lang.String tagID) throws AlienReaderException
tagID
is null or "" the Reader Mask will not be changed.tagID
is not null or "", the Reader mask will be set to the required value.tagID
can be in the format "XX XX XX XX...", or
"XXXX XXXX...", or "XXXXXXXX...", where "X" is one byte.
tagID
- the tag ID to mask to for the Sleep command
AlienReaderException
- if reader communication failswake(String)
public void sleep(java.lang.String tagID) throws AlienReaderException
sleepTag(String)
.
tagID
- the tag ID to mask to for the Sleep command
AlienReaderException
- if reader communication failssleepTag(String)
public int getProgAntenna() throws AlienReaderException
AlienReaderException
- if reader communication failssetProgAntenna(int)
public void setProgAntenna(int antenna) throws AlienReaderException
antenna
- the new programming antenna value
AlienReaderException
- is reader communication failsgetProgAntenna()
public int getProgProtocol() throws AlienReaderException
AlienReaderException
- if reader communication failssetProgProtocol(int)
,
PROG_CLASS0
,
PROG_CLASS1GEN1
,
PROG_CLASS1GEN2
public void setProgProtocol(int progProtocol) throws AlienReaderException
progProtocol
- the new programming protocol
AlienReaderException
- is reader communication failsgetProgProtocol()
,
PROG_CLASS0
,
PROG_CLASS1GEN1
,
PROG_CLASS1GEN2
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.
AlienReaderException
- if reader communication failspublic void programTag(java.lang.String epcData) throws AlienReaderException
The reader automatically generates the CRC for the supplied tag EPC data and programs it into the appropriate bytes of EPC space. This command does not lock the tag or program a LockCode.
epcData
- the string representation of the tag EPC to program
AlienReaderException
- if reader communication failsprogramEPC(String)
,
programEPC()
public void programEPC(java.lang.String epcData) throws AlienReaderException
The reader automatically generates the CRC for the supplied tag EPC data and programs it into the appropriate bytes of EPC space. This command does not lock the tag or program any passwords.
Older readers instead use the "Program Tag" command to write this data. While the newer readers will support "Program Tag" (as an alias to ProgramEPC), it is recommended that you use ProgramEPC when possible.
epcData
- the string representation of the tag EPC to program
AlienReaderException
- if reader communication failsprogramTag(java.lang.String)
,
programEPC()
public void programEPC() throws AlienReaderException
Older readers may not support this command, instead using the "Program Tag" command (which requires an argument) to write this data. While the newer readers will support "Program Tag" (as an alias to ProgramEPC), it is recommended that you use ProgramEPC when possible.
AlienReaderException
- if reader communication failsprogramTag(java.lang.String)
,
programEPC(String)
public void programUser(java.lang.String userData) throws AlienReaderException
This command does not lock the tag or program any passwords.
Older readers may not support this command, and most tag silicon available on the market does not implement User memory.
userData
- the string representation of the tag's User data to program
AlienReaderException
- if reader communication failsprogramUser()
public void programUser() throws AlienReaderException
Older readers may not support this command, and most tag silicon available on the market does not implement User memory.
AlienReaderException
- if reader communication failsprogramUser(String)
public void programAlienImage() throws AlienReaderException
For instance, Alien Higgs2 tags support three memory maps, and which one you pick determines which portions of tag memory make up the resulting image. The Alien Higgs3 tags support both EPC and User memory, with a sliding bar between them, so they don't really have a memory map, per se. Instead, Higgs3 supports a new "Fast Load Image" command, which writes a 96-bit EPC, Access, and Kill passwords, but no User memory (User memory on the tag is cleared). This much-faster image loading is implemented in the Alien Reader Protocol as a different Higgs3 memory map to select with the ProgAlienImageMap command.
Some readers may not support this command, and only Alien Higgs tags support the LoadImage Gen2 command.
AlienReaderException
- if reader communication failspublic void programAndLockEPC(java.lang.String epcData) throws AlienReaderException
After writing the specified EPC, the reader then writes the Access Password specified by the ProgG2AccessPwd reader property. It then locks the EPC bank with the lock type specified by the ProgG2LockType reader property.
Older readers may not support the ProgramAndLockEPC command, but the same functionality can be achieved in those readers in AutoMode using the "Program and Lock" AutoAction and presetting ProgramID property with the desired EPC data.
epcData
- the string representation of the tag EPC to program
AlienReaderException
- if reader communication failsprogramAndLockEPC()
public void programAndLockEPC() throws AlienReaderException
Older readers may not support the ProgramAndLockEPC command, but the same functionality can be achieved in those readers in AutoMode using the "Program and Lock" AutoAction.
AlienReaderException
- if reader communication failsprogramAndLockEPC(String)
public void programAndLockUser(java.lang.String userData) throws AlienReaderException
After writing the specified User data, the reader then writes the Access Password specified by the ProgG2AccessPwd reader property. It then locks the User bank with the lock type specified by the ProgG2LockType reader property.
Older readers may not support the ProgramAndLockUser command. Many tag implementations do not support User memory.
userData
- the string representation of the tag User data to program
AlienReaderException
- if reader communication failsprogramAndLockUser()
public void programAndLockUser() throws AlienReaderException
Older readers may not support the ProgramAndLockUser command. Many tag implementations do not support User memory.
AlienReaderException
- if reader communication failsprogramAndLockUser(String)
public void programAccessPwd(java.lang.String accessPwd) throws AlienReaderException
This command does not lock the tag.
Older readers may not support this command, and implementations of Gen2 tags may not support the Access Password.
accessPwd
- the string representation of the tag's Access Password data to program
AlienReaderException
- if reader communication failsprogramAccessPwd()
public void programAccessPwd() throws AlienReaderException
Older readers may not support this command, and implementations of Gen2 tags may not support the Access Password.
AlienReaderException
- if reader communication failsprogramAccessPwd(String)
public void programKillPwd(java.lang.String killPwd) throws AlienReaderException
This command does not lock the tag.
Older readers may not support this command, and implementations of Gen2 tags may not support the Kill Password.
killPwd
- the string representation of the tag's Kill Password data to program
AlienReaderException
- if reader communication failsprogramKillPwd()
public void programKillPwd() throws AlienReaderException
Older readers may not support this command, and implementations of Gen2 tags may not support the Kill Password.
AlienReaderException
- if reader communication failsprogramKillPwd(String)
public void eraseTag() throws AlienReaderException
The reader will always try to singulate a tag before issuing an Erase command. If the reader finds more than one tag or no tags at all, the Erase command will not be issued.
Tags that are Locked cannot be Erased.
AlienReaderException
- if reader communication failspublic void lockTag(java.lang.String lockData) throws AlienReaderException
When a Class1/Gen1 tag is locked, it has a single-byte lockData written to its memory. This lockData is required by the Kill command to kill the tag.
When a Class1/Gen2 tag is locked, no password is written - you must do that separately with the ProgramAccessPwd command. If a tag has a non-zero Access password stored in it, that password is required as the lockData argument to this method, in order to place the tag in a secure state that allows locking.
Newer readers have renamed the LockTag command to LockEPC. You should use that command explicitly, if you know your reader supports it.
lockData
- the data used to lock this tag
AlienReaderException
- if reader communication failslockEPC(String)
,
lockEPC()
public void lockEPC(java.lang.String lockData) throws AlienReaderException
When a Class1/Gen1 tag is locked, the supplied lockData is a single-byte passCode that is written to the tag's memory. This passCode is required by the Kill command to later kill that tag.
When a Class1/Gen2 tag is locked, no password is written - you must do that separately with the ProgramAccessPwd command. If a tag has a non-zero Access Password already stored in it, that password is the lockData required by the lockEPC command in order to place the tag in a secure state that allows locking.
Class1/Gen2 tags are locked with the lock type (Lock, PermaLock, PermaUnlock) specified by the reader's ProgG2LockType command. Older readers used the command "Lock Tag" instead of "LockEPC". You should use the "Lock Tag" command explicitly, if you know your reader doesn't support "LockEPC".
lockData
- the data used to lock this tag
AlienReaderException
- if reader communication failslockTag(String)
,
lockEPC()
public void lockEPC() throws AlienReaderException
When a Class1/Gen1 tag is locked, the lockData is a single-byte passCode that is written to the tag's memory. This passCode is later required by the Kill command to kill the tag. This version of the lockEPC method takes no arguments, so the required lockData is taken from the ProgC1KillPwd property on the reader.
When a Class1/Gen2 tag is locked, no password is written - you must do that separately with the ProgramAccessPwd command. If a tag has a non-zero Access Password stored in it, that password is required as a argument to the lockEPC command in order to place the tag in a secure state that allows locking. This version of the lockEPC method takes no arguments, so the required lockData is taken from the AcqG2AccessPwd property on the reader.
Class1/Gen2 tags are locked with the lock type (Lock, PermaLock, PermaUnlock) specified by the reader's ProgG2LockType command.
Older readers used the command "Lock Tag" instead of "LockEPC". You should use the "Lock Tag" command explicitly, if you know your reader doesn't support "LockEPC".
AlienReaderException
- if reader communication failslockTag(String)
,
lockEPC(String)
public void lockUser(java.lang.String accessPwd) throws AlienReaderException
When a Class1/Gen2's User bank is locked, no password is written - you must do that separately with the ProgramAccessPwd command. If a tag has a non-zero Access Password stored in it, that password is required as a argument to the lockUser command in order to place the tag in a secure state that allows locking.
Class1/Gen2 tags are locked with the lock type (Lock, PermaLock, PermaUnlock) specified by the reader's ProgG2LockType command.
accessPwd
- the current Access Pwd stored in the tag
AlienReaderException
- if reader communication failslockUser()
public void lockUser() throws AlienReaderException
When a Class1/Gen2's User bank is locked, no password is written - you must do that separately with the ProgramAccessPwd command. If a tag has a non-zero Access Password stored in it, that password is required as a argument to the lockUser command in order to place the tag in a secure state that allows locking. This version of the lockUser method takes no arguments, so the required accessPwd is taken from the AcqG2AccessPwd property on the reader.
Class1/Gen2 tags are locked with the lock type (Lock, PermaLock, PermaUnlock) specified by the reader's ProgG2LockType command.
AlienReaderException
- if reader communication failslockUser(String)
public void lockAccessPwd(java.lang.String accessPwd) throws AlienReaderException
When a Class1/Gen2's Access Password field is locked, no password is written - you must do that separately with the ProgramAccessPwd command. If a tag has a non-zero Access Password stored in it, that password is required as a argument to the LockAccessPwd command in order to place the tag in a secure state that allows locking.
Class1/Gen2 tags are locked with the lock type (Lock, PermaLock, PermaUnlock) specified by the reader's ProgG2LockType command.
accessPwd
- the current Access Pwd stored in the tag
AlienReaderException
- if reader communication failslockAccessPwd()
public void lockAccessPwd() throws AlienReaderException
When a Class1/Gen2's Access Password field is locked, no password is written - you must do that separately with the ProgramAccessPwd command. If a tag has a non-zero Access Password stored in it, that password is required as an argument to the LockAccessPwd command in order to place the tag in a secure state that allows locking. This version of the lockAccessPwd() method takes no arguments, so the required accessPwd is taken from the * AcqG2AccessPwd property on the reader.
Class1/Gen2 tags are locked with the lock type (Lock, PermaLock, PermaUnlock) specified by the reader's ProgG2LockType command.
AlienReaderException
- if reader communication failslockAccessPwd(String)
public void lockKillPwd(java.lang.String accessPwd) throws AlienReaderException
When a Class1/Gen2's Kill Password field is locked, no password is written - you must do that separately with the ProgramKillPwd command. If a tag has a non-zero Access Password stored in it, that password is required as an argument to the LockKillPwd command in order to place the tag in a secure state that allows locking.
Class1/Gen2 tags are locked with the lock type (Lock, PermaLock, PermaUnlock) specified by the reader's ProgG2LockType command.
accessPwd
- the current Access Pwd stored in the tag
AlienReaderException
- if reader communication failslockKillPwd()
public void lockKillPwd() throws AlienReaderException
WWhen a Class1/Gen2's Kill Password field is locked, no password is written - you must do that separately with the ProgramKillPwd command. If a tag has a non-zero Access Password stored in it, that password is required as an argument to the LockKillPwd command in order to place the tag in a secure state that allows locking. This version of the lockKillPwd() method takes no arguments, so the required accessPwd is taken from the AcqG2AccessPwd property on the reader.
Class1/Gen2 tags are locked with the lock type (Lock, PermaLock, PermaUnlock) specified by the reader's ProgG2LockType command.
AlienReaderException
- if reader communication failslockKillPwd(String)
public void unlockEPC(java.lang.String accessPwd) throws AlienReaderException
When a Class1/Gen2 EPC is unlocked, no password is written or cleared. If a tag has a non-zero Access password stored in it, that password is required as the accessPwd argument to this method, in order to place the tag in a secure state that allows unlocking.
accessPwd
- the current Access Pwd stored in the tag
AlienReaderException
- if reader communication failsunlockEPC()
public void unlockEPC() throws AlienReaderException
When a Class1/Gen2 EPC is unlocked, no password is written or cleared. If a tag has a non-zero Access password stored in it, that password is required as the accessPwd argument to the UnlockEPC command, in order to place the tag in a secure state that allows unlocking. This version of the unlockEPC method takes no arguments, so the required accessPwd is taken from the AcqG2AccessPwd property on the reader.
AlienReaderException
- if reader communication failsunlockEPC(String)
public void unlockUser(java.lang.String accessPwd) throws AlienReaderException
When a Class1/Gen2 User bank is unlocked, no password is written or cleared. If a tag has a non-zero Access password stored in it, that password is required as the accessPwd argument to this method, in order to place the tag in a secure state that allows unlocking.
accessPwd
- the current Access Pwd stored in the tag
AlienReaderException
- if reader communication failsunlockUser()
public void unlockUser() throws AlienReaderException
When a Class1/Gen2 User bank is unlocked, no password is written or cleared. If a tag has a non-zero Access password stored in it, that password is required as the accessPwd argument to the UnlockUser command, in order to place the tag in a secure state that allows unlocking. This version of the unlockUser method takes no arguments, so the required accessPwd is taken from the AcqG2AccessPwd property on the reader.
AlienReaderException
- if reader communication failsunlockUser(String)
public void unlockAccessPwd(java.lang.String accessPwd) throws AlienReaderException
When a Class1/Gen2's Access Password field is unlocked, no password is written or cleared. If a tag has a non-zero Access Password stored in it, that password is required as a argument to the UnlockAccessPwd command in order to place the tag in a secure state that allows unlocking.
accessPwd
- the current Access Pwd stored in the tag
AlienReaderException
- if reader communication failsunlockAccessPwd()
public void unlockAccessPwd() throws AlienReaderException
WWhen a Class1/Gen2's Access Password field is unlocked, no password is written or cleared. If a tag has a non-zero Access Password stored in it, that password is required as an argument to the UnlockAccessPwd command in order to place the tag in a secure state that allows unlocking. This version of the unlockAccessPwd() method takes no arguments, so the required accessPwd is taken from the AcqG2AccessPwd property on the reader.
AlienReaderException
- if reader communication failsunlockAccessPwd(String)
public void unlockKillPwd(java.lang.String accessPwd) throws AlienReaderException
When a Class1/Gen2's Kill Password field is unlocked, no password is written or cleared. If a tag has a non-zero Access Password stored in it, that password is required as a argument to the UnlockKillPwd command in order to place the tag in a secure state that allows unlocking.
accessPwd
- the current Access Pwd stored in the tag
AlienReaderException
- if reader communication failsunlockKillPwd()
public void unlockKillPwd() throws AlienReaderException
WWhen a Class1/Gen2's Kill Password field is unlocked, no password is written or cleared. If a tag has a non-zero Access Password stored in it, that password is required as an argument to the UnlockKillPwd command in order to place the tag in a secure state that allows unlocking. This version of the unlockKillPwd() method takes no arguments, so the required accessPwd is taken from the AcqG2AccessPwd property on the reader.
AlienReaderException
- if reader communication failsunlockKillPwd(String)
public void lockUserBlocks(byte blocksToLockMask) throws AlienReaderException
The blocksToLockMask value supplied is a single unsigned byte, where each bit of the mask indicates (with a 1) whether to permalock the corresponding block or User memory. The MSB of blocksToLockMask corresponds to the first block of User memory.
Alien tags that currently implement BlockPermaLock (Higgs3) only contain 8 blocks of User memory, so only one byte of mask is required.
blocksToLockMask
- the mask indicating which User blocks to permalock
AlienReaderException
- if reader communication failspublic void hideAlienUserBlocks(byte blocksToHideMask) throws AlienReaderException
The blocksToHideMask value supplied is a single unsigned byte, where each bit of the mask indicates (with a 1) whether to hide the corresponding block or User memory. The MSB of blocksToLockMask corresponds to the first block of User memory. A zero bit in the mask will remove the corresponding read lock for that block of user memory. In this way, the readlock state of all 8 of the User blocks are set all at once.
blocksToHideMask
- the mask indicating which User blocks to hide
AlienReaderException
- if reader communication failspublic void killTag(java.lang.String tagIDAndPassCode) throws AlienReaderException
Kill will erase all bytes of tag memory to zero. Kill can only be used on locked tags. There is no unlock command.
To use the Kill command the full tag ID must be provided as well as the PassCode used to lock the tag. This command takes a string representing the tagID (including PassCode) of the tag to kill. The tagID+PassCode string may be in the format "X X X X X X X X X", "XX XX XX XX X", "XXXX XXXX X", or "XXXXXXXXX", where "X" is one byte.
tagIDAndPassCode
- a string representing the tag's ID, followed by its PassCode
AlienReaderException
- if reader communication failspublic java.lang.String getProgEPCData() throws AlienReaderException
EPC data is given as a string of hex-formatted byte values, e.g. "11 22 AB DE". In general, EPCs can be variable length, depending on the tag implementation, but are always an even number of bytes.
Older readers instead use the ProgramID command to store this data. While the newer readers will support ProgramID (as an alias to ProgEPCData), it is recommended that you use ProgEPCData when possible.
AlienReaderException
- if reader communication failssetProgEPCData(String)
,
getProgramID()
,
setProgramID(String)
public void setProgEPCData(java.lang.String epcData) throws AlienReaderException
Older readers instead use the ProgramID command to store this data. While the newer readers will support ProgramID (as an alias to ProgEPCData), it is recommended that you use ProgEPCData when possible.
EPC data is given as a string of hex-formatted byte values, e.g. "11 22 AB DE". In general, EPCs can be variable length, depending on the tag implementation, but are always an even number of bytes.
epcData
- the EPC data used for the next automated ProgramEPC operation
AlienReaderException
- if reader communication failsgetProgEPCData()
,
getProgramID()
,
setProgramID(String)
public java.lang.String getProgUserData() throws AlienReaderException
USER data is given as a string of hex-formatted byte values, e.g. 11 22 AB CD. USER data is only present in some implementations of Class1/Gen2 tags. The amount of USER data also depends on the tag implementation, but is always an even number of bytes.
AlienReaderException
- if reader communication failssetProgUserData(String)
public void setProgUserData(java.lang.String userData) throws AlienReaderException
USER data is given as a string of hex-formatted byte values, e.g. 11 22 AB CD. USER data is only present in some implementations of Class1/Gen2 tags. The amount of USER data also depends on the tag implementation, but is always an even number of bytes.
userData
- the USER data used for the next automated ProgramUser operation
AlienReaderException
- if reader communication failsgetProgUserData()
public java.lang.String getProgAlienImageMap() throws AlienReaderException
AlienReaderException
- if reader communication failssetProgAlienImageMap(String)
public void setProgAlienImageMap(java.lang.String imageMap) throws AlienReaderException
For instance, Alien Higgs2 tags support three memory maps, and which one you pick determines which portions of tag memory make up the resulting image. The Alien Higgs3 tags support both EPC and User memory, with a sliding bar between them, so they don't really have a memory map, per se. Instead, Higgs3 supports a new "Fast Load Image" command, which writes a 96-bit EPC, Access, and Kill passwords, but no User memory (User memory on the tag is cleared). This much-faster image loading is implemented in the Alien Reader Protocol as a different Higgs3 memory map to select with the ProgAlienImageMap command.
imageMap
- memory map used in subsequent ProgramAlienImage commands
AlienReaderException
- if reader communication failsgetProgAlienImageMap()
public java.lang.String getProgG2NSI() throws AlienReaderException
AlienReaderException
- if reader communication failssetProgG2NSI(String)
public void setProgG2NSI(java.lang.String nsiData) throws AlienReaderException
nsiData
- the NSI data for the next ProgramEPC operation
AlienReaderException
- if reader communication failsgetProgG2NSI()
public java.lang.String getProgAlienImageNSI() throws AlienReaderException
AlienReaderException
- if reader communication failssetProgAlienImageNSI(String)
public void setProgAlienImageNSI(java.lang.String nsiData) throws AlienReaderException
nsiData
- the NSI data for the next ProgramAlienImage operation
AlienReaderException
- if reader communication failsgetProgAlienImageNSI()
public java.lang.String getProgramID() throws AlienReaderException
The ProgramID command has been renamed in newer readers to ProgEPCData. These readers still support the ProgramID command, as an alias to ProgEPCData, but if you know you are working with a newer reader, it is recommended that you use the accessors for ProgEPCData.
AlienReaderException
- if reader communication failssetProgramID(String)
,
getProgEPCData()
,
setProgEPCData(String)
public void setProgramID(java.lang.String programID) throws AlienReaderException
The ProgramID command has been renamed in newer readers to ProgEPCData. These readers still support the ProgramID command, as an alias to ProgEPCData, but if you know you are working with a newer reader, it is recommended that you use the accessors for ProgEPCData.
programID
- the tagID for the next AutoMode program operation
AlienReaderException
- if reader communication failsgetProgramID()
,
getProgEPCData()
,
setProgEPCData(String)
public java.lang.String getProgramPassCode() throws AlienReaderException
The value is a single hexadecimal byte.
Newer readers use the command, ProgC1KillPwd, instead, but ProgramPassCode still works in the newer readers, as an alias to this ProgC1KillPwd command.
AlienReaderException
- if reader communication failssetProgramPassCode(String)
,
getProgC1KillPwd()
,
setProgC1KillPwd(String)
public void setProgramPassCode(java.lang.String passCode) throws AlienReaderException
The value is a single hexadecimal byte.
Newer readers use the command, ProgC1KillPwd, instead, but ProgramPassCode still works in the newer readers, as an alias to this ProgC1KillPwd command.
passCode
- the PassCode used in AutoMode lock and kill operations
AlienReaderException
- if reader communication failsgetProgramPassCode()
,
getProgC1KillPwd()
,
setProgC1KillPwd(String)
public java.lang.String getProgC1KillPwd() throws AlienReaderException
The value is a single hexadecimal byte.
Older readers use the command, ProgramPassCode, instead, and the old command still works in the newer readers, as an alias to this ProgC1KillPwd command.
AlienReaderException
- if reader communication failssetProgC1KillPwd(String)
,
getProgramPassCode()
,
setProgramPassCode(String)
public void setProgC1KillPwd(java.lang.String killPwd) throws AlienReaderException
The value is a single hexadecimal byte.
Older readers use the command, ProgramPassCode, instead, and the old command still works in the newer readers, as an alias to this ProgC1KillPwd command.
killPwd
- the kill password used in AutoMode lock and kill operations
AlienReaderException
- if reader communication failsgetProgC1KillPwd()
,
getProgramPassCode()
,
setProgramPassCode(String)
public java.lang.String getProgG2KillPwd() throws AlienReaderException
The value is a sequence of four hexadecimal bytes.
AlienReaderException
- if reader communication failssetProgG2KillPwd(String)
public void setProgG2KillPwd(java.lang.String killPwd) throws AlienReaderException
The value is a sequence of four hexadecimal bytes.
killPwd
- the kill password used in AutoMode lock and kill operations
AlienReaderException
- if reader communication failsgetProgG2KillPwd()
public java.lang.String getProgG2AccessPwd() throws AlienReaderException
The value is a sequence of four hexadecimal bytes. Access Pwd is a feature of Class1/Gen2 tags, though a tag manufacturer is not required to implement this feature.
AlienReaderException
- if reader communication failssetProgG2AccessPwd(String)
public void setProgG2AccessPwd(java.lang.String accessPwd) throws AlienReaderException
The value is a sequence of four hexadecimal bytes. Access Pwd is a feature of Class1/Gen2 tags, though a tag manufacturer is not required to implement this feature.
accessPwd
- the Access Pwd used in automated ProgramAccessPwd operations
AlienReaderException
- if reader communication failsgetProgG2AccessPwd()
public java.lang.String getProgG2LockType() throws AlienReaderException
AlienReaderException
- if reader communication failssetProgG2LockType(String)
public void setProgG2LockType(java.lang.String lockType) throws AlienReaderException
lockType
- the type of Class1/Gen2 lock to use in the next lock/unlock operation
AlienReaderException
- if reader communication failsgetProgG2LockType()
public java.lang.String getProgDataUnit() throws AlienReaderException
AlienReaderException
- if reader communication failssetProgDataUnit(String)
public void setProgDataUnit(java.lang.String dataUnit) throws AlienReaderException
The smallest data unit, supported by all readers and tags, is Word (16 bits). When a chunk of data is written to the tag (an EPC, for instance), it is sent one word at a time, verifying the data after each write.
The Block data unit allows a large chunk of memory to me written to a Gen2 tag in one operation, but all of the data must go into one bank of memory. For instance, an entire EPC could be written in a single gen2 command, rather than seven or more individual word-size writes.
The Array data unit lets the reader write large amounts of data directly to a tag's physical memory, even crossing bank boundaries. For instance, if you know that the first four words of a tag's memory are the Access and Kill passwords (which reside in bank 0), and immediately after that are the EPC words (which reside in bank 1), you might use an Array-sized write to program all three fields in one operation.
Not every tags or reader supports every data unit.
dataUnit
- the data unit used to optimize programming operations
AlienReaderException
- if reader communication failsgetProgDataUnit()
public int getProgReadAttempts() throws AlienReaderException
AlienReaderException
- if reader communication failssetProgReadAttempts(int)
public void setProgReadAttempts(int readAttempts) throws AlienReaderException
readAttempts
- the number of times to verify a tag before a program operation
AlienReaderException
- if reader communication failsgetProgReadAttempts()
public int getProgEraseAttempts() throws AlienReaderException
AlienReaderException
- if reader communication failssetProgEraseAttempts(int)
public void setProgEraseAttempts(int eraseAttempts) throws AlienReaderException
eraseAttempts
- the number of erase attempts to make before a program operation
AlienReaderException
- if reader communication failsgetProgEraseAttempts()
public int getProgAttempts() throws AlienReaderException
AlienReaderException
- if reader communication failssetProgAttempts(int)
public void setProgAttempts(int progAttempts) throws AlienReaderException
progAttempts
- the number of program attempts to make
AlienReaderException
- if reader communication failsgetProgAttempts()
public int getProgIncrementOnFail() throws AlienReaderException
ProgIncrementOnFail has been superceded in newer readers by the ProgEPCDataInc and ProgUserDataInc commands. The new commands give you better control over the automatic incrementing of EPC and USER data.
AlienReaderException
- if reader communication failssetProgIncrementOnFail(int)
,
getProgEPCDataInc()
,
setProgEPCDataInc(String)
public void setProgIncrementOnFail(int incrementOnFail) throws AlienReaderException
ProgIncrementOnFail has been superceded in newer readers by the ProgEPCDataInc and ProgUserDataInc commands. The new commands give you better control over the automatic incrementing of EPC and USER data.
incrementOnFail
- the desired ON/OFF state
AlienReaderException
- if reader communication failsgetProgIncrementOnFail()
,
getProgEPCDataInc()
,
setProgEPCDataInc(String)
public java.lang.String getProgEPCDataInc() throws AlienReaderException
Off = never increment Success = increment if the programming operation succeeded Fail = increment if the programming operation failed Always = increment after every programming operation Write = increment after every write operationProgEPCDataInc supercedes the older ProgIncrementOnFail in newer readers, although both commands will still work. ProgEPCDataInc gives you better control over the automatic incrementing of EPC data, and works outside AutoMode, whereas ProgIncrementOnFail only works in AutoMode, and only allows you to turn on and off the increment after a programming failure.
Note that ProgEPCDataInc and ProgIncrementOnFail are coupled - changes made with one command may change the other (e.g. changing ProgIncrementOnFail from Off to On would cause ProgEPCDataInc to change from Success to Always).
The response to this command is a string. You are encouraged to use the static constants DATA_INC_SUCCESS, DATA_INC_FAIL, DATA_INC_ALWAYS, DATA_INC_OFF, and DATA_INC_WRITE.
AlienReaderException
- if reader communication failsgetProgIncrementOnFail()
,
setProgEPCDataInc(String)
public void setProgEPCDataInc(java.lang.String epcDataInc) throws AlienReaderException
Off = never increment Success = increment if the programming operation succeeded Fail = increment if the programming operation failed Always = increment after every programming operation Write = increment after every write operationProgEPCDataInc supercedes the older ProgIncrementOnFail in newer readers, although both commands will still work. ProgEPCDataInc gives you better control over the automatic incrementing of EPC data, and works outside AutoMode, whereas ProgIncrementOnFail only works in AutoMode, and only allows you to turn on and off the increment after a programming failure.
Note that ProgEPCDataInc and ProgIncrementOnFail are coupled - changes made with one command may change the other (e.g. changing ProgIncrementOnFail from Off to On would cause ProgEPCDataInc to change from Success to Always).
The argument to this method is a string. You are encouraged to use the static constants DATA_INC_SUCCESS, DATA_INC_FAIL, DATA_INC_ALWAYS, DATA_INC_OFF, and DATA_INC_WRITE.
epcDataInc
- the desired programming result to trigger incrementing ProgEPCData
AlienReaderException
- if reader communication failssetProgIncrementOnFail(int)
,
getProgEPCDataInc()
public int getProgEPCDataIncCount() throws AlienReaderException
AlienReaderException
- if reader communication failssetProgEPCDataIncCount(int)
public void setProgEPCDataIncCount(int epcDataIncCount) throws AlienReaderException
epcDataIncCount
- the new maximum EPCInc count
AlienReaderException
- if reader communication failsgetProgEPCDataIncCount()
public java.lang.String getProgUserDataInc() throws AlienReaderException
Off = never increment Success = increment if the programming operation succeeded Fail = increment if the programming operation failed Always = increment after every programming operation Write = increment after every write operationThe response to this command is a string. You are encouraged to use the static constants DATA_INC_SUCCESS, DATA_INC_FAIL, DATA_INC_ALWAYS, DATA_INC_OFF, and DATA_INC_WRITE.
AlienReaderException
- if reader communication failssetProgUserDataInc(String)
public void setProgUserDataInc(java.lang.String userDataInc) throws AlienReaderException
Off = never increment Success = increment if the programming operation succeeded Fail = increment if the programming operation failed Always = increment after every programming operation Write = increment after every write operationThe response to this command is a string. You are encouraged to use the static constants DATA_INC_SUCCESS, DATA_INC_FAIL, DATA_INC_ALWAYS, DATA_INC_OFF, and DATA_INC_WRITE.
userDataInc
- the desired programming result to trigger incrementing ProgUserData
AlienReaderException
- if reader communication failsgetProgUserDataInc()
public int getProgUserDataIncCount() throws AlienReaderException
AlienReaderException
- if reader communication failssetProgUserDataIncCount(int)
public void setProgUserDataIncCount(int userDataIncCount) throws AlienReaderException
userDataIncCount
- the new maximum UserDataInc count
AlienReaderException
- if reader communication failsgetProgUserDataIncCount()
public int getProgBlockSize() throws AlienReaderException
Trying to write data that extends across block boundaries will result in a failure of the write operation.
AlienReaderException
- if reader communication failssetProgBlockSize(int)
public void setProgBlockSize(int progBlockSize) throws AlienReaderException
Trying to write data that extends across block boundaries will result in a failure of the write operation.
progBlockSize
- the new ProgBlockSize value
AlienReaderException
- if reader communication failsgetProgBlockSize()
public int getProgBlockAlign() throws AlienReaderException
Note that for Alien Higgs tags, the block size is 32 words, which is never smaller than the size of the largest memory bank (USER), so you will never encounter block-boundary issues, unless you use a tag from a different manufacturer.
AlienReaderException
- if reader communication failssetProgBlockAlign(int)
public void setProgBlockAlign(int progBlockAlign) throws AlienReaderException
Note that for Alien Higgs tags, the block size is 32 words, which is never smaller than the size of the largest memory bank (USER), so you will never encounter block-boundary issues, unless you use a tag from a different manufacturer.
progBlockAlign
- the new ON/OFF (1/0) ProgBlockAlign value
AlienReaderException
- if reader communication failsgetProgBlockAlign()
public void g2Write(int bank, int wordPtr, byte[] bytes, int offset, int len) throws AlienReaderException
Because all G2Writes write data word-by-word, you must provide an even number of bytes (len should be even).
bank
- the bank number to write towordPtr
- the position of the first word to writebytes
- an array of data to writeoffset
- a byte-offset into the array of datalen
- the number of bytes to write
AlienReaderException
- if reader communication failspublic byte[] g2Read(int bank, int wordPtr, int wordLen) throws AlienReaderException
bank
- the bank number to read fromwordPtr
- the position of the first word to readwordLen
- the number of words to read
AlienReaderException
- if reader communication failspublic void g2Erase(int bank, int wordPtr, int wordLen) throws AlienReaderException
bank
- the bank number to erase inwordPtr
- the position of the first word to erasewordLen
- the number of words to erase
AlienReaderException
- if reader communication failspublic int getProgSingulate() throws AlienReaderException
AlienReaderException
- if reader communication failssetProgSingulate(int)
public void setProgSingulate(int progSingulate) throws AlienReaderException
In the interests of future compatibility, you should use ON
and OFF
constants to set and test this parameter.
progSingulate
- the new ON/OFF status of ProgSingulate
AlienReaderException
- if reader communication failsgetProgSingulate()
public java.lang.String getTagInfo() throws AlienReaderException
The reader finds a single tag and queries it for the information. It is best to confine your read zone, or create a mask on a specific tag when performing this command. The reader reports as much information as it can, depending on the tag type.
Alien Higgs3 & Higgs4: TagInfo = M:xxxxxxxx KP:xx AP:xx EPC:xx,n USER:xx,n UPL:xxxx URL:xxxx PC:xxxx UID:xxxx xxxx xxxx xxxx Alien Higgs2: TagInfo = M:xxxxxxxx MAP:x KP:xx AP:xx EPC:xx,n User:xx PC:xxxx Other Tags: TagInfo = M:xxxxxxxx
Where, M:xxxxxxxx is the first 2 words of the TID, indicating whether it is an EPCglobal tag, and the tag’s manufacturer and model/version codes. KP:xx is the lock state of the Kill Password AP:xx is the lock state of the Access Password EPC:xx,n is the lock state and length (in words) of the EPC bank USER:xx,n is the lock state and length (in words) of the USER bank UPL:xxxx are the User Block Permalock bits URL:xxxx are the User Read Lock bits PC:xxxx is the PC word MAP:x is the Higgs2 memory map number UID:xxxx xxxx xxxx xxxx are the four unique words guaranteed in every Higgs tag
AlienReaderException
- if reader communication failspublic int getAcquireTime() throws AlienReaderException
AlienReaderException
- if reader communication failssetAcquireTime(int)
public void setAcquireTime(int acquireTime) throws AlienReaderException
acquireTime
- the new value for AcqTime
AlienReaderException
- if reader communication failsgetAcquireTime()
public int getAcquireCycles() throws AlienReaderException
AlienReaderException
- if reader communication failssetAcquireCycles(int)
public int getAcquireC1Cycles() throws AlienReaderException
AlienReaderException
getAcquireCycles()
public void setAcquireCycles(int acqC1Cycles) throws AlienReaderException
acqC1Cycles
- the number of complete acquire cycles to perform with each Class1 Gen1 read operation
AlienReaderException
- if reader communication failsgetAcquireCycles()
public void setAcquireC1Cycles(int acqC1Cycles) throws AlienReaderException
acqC1Cycles
- the number of complete acquire cycles to perform with each Class1 Gen1 read operation
AlienReaderException
setAcquireCycles(int)
public int getAcquireEnterWakeCount() throws AlienReaderException
AlienReaderException
- if reader communication failssetAcquireEnterWakeCount(int)
public int getAcquireC1EnterWakeCount() throws AlienReaderException
AlienReaderException
getAcquireEnterWakeCount()
public void setAcquireEnterWakeCount(int acqC1EnterWakeCount) throws AlienReaderException
acqC1EnterWakeCount
- the number of wakes to perform at the start of each Class1 Gen1 acquire cycle
AlienReaderException
- if reader communication failsgetAcquireEnterWakeCount()
public void setAcquireC1EnterWakeCount(int acqC1EnterWakeCount) throws AlienReaderException
acqC1EnterWakeCount
- the number of wakes to perform at the start of each Class1 Gen1 acquire cycle
AlienReaderException
setAcquireEnterWakeCount(int)
public int getAcquireCount() throws AlienReaderException
AlienReaderException
- if reader communication failssetAcquireCount(int)
public int getAcquireC1Count() throws AlienReaderException
AlienReaderException
getAcquireCount()
public void setAcquireCount(int acqC1Count) throws AlienReaderException
acqC1Count
- the number of reads to perform in each Class1 Gen1 acquire cycle
AlienReaderException
- if reader communication failsgetAcquireCount()
public void setAcquireC1Count(int acqC1Count) throws AlienReaderException
acqC1Count
- the number of reads to perform in each Class1 Gen1 acquire cycle
AlienReaderException
setAcquireCount(int)
public int getAcquireSleepCount() throws AlienReaderException
AlienReaderException
- if reader communication failssetAcquireSleepCount(int)
public int getAcquireC1SleepCount() throws AlienReaderException
AlienReaderException
getAcquireSleepCount()
public void setAcquireSleepCount(int acqC1SleepCount) throws AlienReaderException
acqC1SleepCount
- the number of sleeps to perform during each Class1 Gen1 acquire cycle
AlienReaderException
- if reader communication failsgetAcquireSleepCount()
public void setAcquireC1SleepCount(int acqC1SleepCount) throws AlienReaderException
acqC1SleepCount
- the number of sleeps to perform during each Class1 Gen1 acquire cycle
AlienReaderException
setAcquireSleepCount(int)
public int getAcquireExitWakeCount() throws AlienReaderException
AlienReaderException
- if reader communication failssetAcquireExitWakeCount(int)
public int getAcquireC1ExitWakeCount() throws AlienReaderException
AlienReaderException
getAcquireExitWakeCount()
public void setAcquireExitWakeCount(int acqC1ExitWakeCount) throws AlienReaderException
acqC1ExitWakeCount
- the number of wakes to perform at the end of all the Class1 Gen1 acquire cycles
AlienReaderException
- if reader communication failsgetAcquireExitWakeCount()
public void setAcquireC1ExitWakeCount(int acqC1ExitWakeCount) throws AlienReaderException
acqC1ExitWakeCount
- the number of wakes to perform at the end of all the Class1 Gen1 acquire cycles
AlienReaderException
setAcquireExitWakeCount(int)
public int getAcquireC0Cycles() throws AlienReaderException
AlienReaderException
- if reader communication failssetAcquireC0Cycles(int)
public void setAcquireC0Cycles(int acqC0Cycles) throws AlienReaderException
acqC0Cycles
- the number of complete acquire cycles to perform with each Class0 read operation
AlienReaderException
- if reader communication failsgetAcquireC0Cycles()
public int getAcquireC0Count() throws AlienReaderException
AlienReaderException
- if reader communication failssetAcquireC0Count(int)
public void setAcquireC0Count(int acqC0Count) throws AlienReaderException
acqC0Count
- the number of reads to perform in each Class0 acquire cycle
AlienReaderException
- if reader communication failsgetAcquireC0Count()
public int getAcquireG2Cycles() throws AlienReaderException
AlienReaderException
- if reader communication failssetAcquireG2Cycles(int)
public void setAcquireG2Cycles(int acqG2Cycles) throws AlienReaderException
acqG2Cycles
- the number of complete acquire cycles to perform with each Class1 Gen2 read operation
AlienReaderException
- if reader communication failsgetAcquireG2Cycles()
public int getAcquireG2Count() throws AlienReaderException
AlienReaderException
- if reader communication failssetAcquireG2Count(int)
public void setAcquireG2Count(int acqG2Count) throws AlienReaderException
acqG2Count
- the number of reads to perform in each Class1 Gen2 acquire cycle
AlienReaderException
- if reader communication failsgetAcquireG2Count()
public int getAcquireG2Q() throws AlienReaderException
AlienReaderException
- if reader communication failssetAcquireG2Q(int)
public void setAcquireG2Q(int acqG2Q) throws AlienReaderException
acqG2Q
- the starting Q value to use in each Class1 Gen2 acquire cycle
AlienReaderException
- if reader communication failsgetAcquireG2Q()
public int getAcquireG2Selects() throws AlienReaderException
AlienReaderException
- if reader communication failssetAcquireG2Selects(int)
public void setAcquireG2Selects(int acqG2Select) throws AlienReaderException
acqG2Select
- the number of SELECTs in each Class1Gen2 acquire cycle
AlienReaderException
- if reader communication failsgetAcquireG2Selects()
public int getAcquireG2Session() throws AlienReaderException
The Class1/Gen2 protocol allows tags to maintain an "inventoried state" for each of four sessions, numbered 0 through 3. Theoretically, multiple readers, each operating on different sessions, can simultaneously interrogate the same population of tags (in practice, though, tags tend to operate best when only one reader at a time is transmitting). The AcqG2Session command specifies which session the reader will operate on. Another reason to use different sessions is that tags maintain the "inventoried" state for various "persistence" times, which can be helpful for different use cases.
AlienReaderException
- if reader communication failssetAcquireG2Session(int)
public void setAcquireG2Session(int acqG2Session) throws AlienReaderException
The Class1/Gen2 protocol allows tags to maintain an "inventoried state" for each of four sessions, numbered 0 through 3. Theoretically, multiple readers, each operating on different sessions, can simultaneously interrogate the same population of tags (in practice, though, tags tend to operate best when only one reader at a time is transmitting). The AcqG2Session command specifies which session the reader will operate on. Another reason to use different sessions is that tags maintain the "inventoried" state for various "persistence" times, which can be helpful for different use cases.
acqG2Session
- the G2 session used to inventory Class1/Gen2 tags
AlienReaderException
- if reader communication failsgetAcquireG2Session()
public void setAcquireG2TagData(java.lang.String g2TagDataString) throws AlienReaderException
The g2TagDataString argument is passed directly to the reader, and should be
of the form:
bank wordPtr wordLen [ | bank wordPtr wordLen ]
Up to four bank/wordPtr/wordLen entries can be given, separated by vertical bars (|). After singulating each tag in an inventory, the reader does subsequent "g2read" style operations to fetch each of the data specified by this command. This additional data appears in the taglist as "D1", "D2", ... "D4" elements.
This command only works in ALR-x800/x900/9650 readers.
g2TagDataString
- the formatted string specifying the additional data to fetch
AlienReaderException
- if reader communication failssetAcquireG2TagData(int, int, int)
,
getAcquireG2TagData()
public void setAcquireG2TagData(int bank, int wordPtr, int wordCount) throws AlienReaderException
The bank, wordPtr, and wordLen arguments define the tag memory data location to fetch. If more than one memory location is needed, you should use the String-argument version of this method.
This command only works in ALR-x800/x900/9650 readers.
bank
- the G2 memory bank where the additional data resideswordPtr
- the location within bank where the data startswordCount
- the number of words of data to read
AlienReaderException
- if reader communication failssetAcquireG2TagData(String)
,
getAcquireG2TagData()
public java.lang.String getAcquireG2TagData() throws AlienReaderException
The returned String is of the form:
bank wordPtr wordLen [ | bank wordPtr wordLen ]... (up to four entries)
This command only works in ALR-x800/x900/9650 readers. return the formatted string specifying the additional data to fetch
AlienReaderException
- if reader communication failssetAcquireG2TagData(String)
,
setAcquireG2TagData(int, int, int)
public int getAcquireG2OpsMode() throws AlienReaderException
AlienReaderException
- if reader communication failssetAcquireG2OpsMode(int)
public void setAcquireG2OpsMode(int g2OpsMode) throws AlienReaderException
In the interests of future compatibility, you should use ON
and OFF
constants to set and test this parameter.
g2OpsMode
- the new ON/OFF status of AcqG2OpsMode
AlienReaderException
- if reader communication failsgetAcquireG2OpsMode()
public java.lang.String getAcquireG2Ops() throws AlienReaderException
AlienReaderException
public java.lang.String getAcquireG2Ops(int opsNum) throws AlienReaderException
AlienReaderException
public void setAcquireG2Ops(java.lang.String g2OpsCommand) throws AlienReaderException
AlienReaderException
public void setAcquireG2Ops(int opNum, java.lang.String op) throws AlienReaderException
AlienReaderException
public void setAcquireG2Ops(int opNum, java.lang.String opAction, java.lang.String opArgs) throws AlienReaderException
AlienReaderException
public void setAcquireG2Target(java.lang.String g2Target) throws AlienReaderException
The default value, "A" means that the reader is looking for/targetting tags in the A state, and moves them to the B state as they are inventoried. Tags that leave the field of an RFID reader generally fall into the A state, although this depends on which G2 Session is in use. Specifing an AcqG2Target of "B" means the opposite. The special value, "AB", means the reader inventories tags from A to B, and the next time inventories them from B back to A, etc.
It is recommended that you use the constants, G2TARGET_A
,
G2TARGET_B
, and G2TARGET_AB
when setting/testing this value.
This command only works in ALR-x800/x900/9650 readers.
g2Target
- the String specifying the G2 target population
AlienReaderException
- if reader communication failsgetAcquireG2Target()
public java.lang.String getAcquireG2Target() throws AlienReaderException
It is recommended that you use the constants, G2TARGET_A
,
G2TARGET_B
, and G2TARGET_AB
when setting/testing this value.
This command only works in ALR-x800/x900/9650 readers.
AlienReaderException
- if reader communication failssetAcquireG2Target(String)
public java.lang.String getSpeedFilter() throws AlienReaderException
An individual filter consists of two floating-point values, "S1" and "S2". The SpeedFilter can consist of 1-4 of these filters, separated by vertical bars (|), and a tag must match at least one of the filters to be considered.
AlienReaderException
setSpeedFilter(String)
,
setSpeedFilter(float, float)
public void setSpeedFilter(java.lang.String filterStr) throws AlienReaderException
An individual filter consists of two floating-point values, "S1" and "S2". The SpeedFilter can consist of 1-4 of these filters, separated by vertical bars (|), and a tag must match at least one of the filters to be considered.
If the first value, S1, is less than the second value, S2, then only those tags with speeds within the range S1...S2 are reported. If S1 is greater than S2, then only those tags with speeds outside the range S1...S2 are reported. Another way to think of it is "greater than S1 and/or less than S2".
For example:
To read only tags with speeds close to zero (between -1.5m/s and +1.5m/s):
SpeedFilter = -1.5, 1.5
To read only tags with large speeds (less than -1.5 and greater than +1.5):
SpeedFilter = 1.5, -1.5
To clear the SpeedFilter, set it to "0".
filterStr
- the String specifying the SpeedFilter
AlienReaderException
getSpeedFilter()
,
setSpeedFilter(float, float)
public void setSpeedFilter(float S1, float S2) throws AlienReaderException
An individual filter consists of two floating-point values, "S1" and "S2". The SpeedFilter can consist of 1-4 of these filters, although this method only lets you set one filter range. To take advantage of setting more ranges, use the setSpeedFilter(String) version.
If the first value, S1, is less than the second value, S2, then only those tags with speeds within the range S1...S2 are reported. If S1 is greater than S2, then only those tags with speeds outside the range S1...S2 are reported. Another way to think of it is "greater than S1 and/or less than S2".
For example:
To read only tags with speeds close to zero (between -1.5m/s and +1.5m/s):
SpeedFilter = -1.5, 1.5
To read only tags with large speeds (less than -1.5 and greater than +1.5):
SpeedFilter = 1.5, -1.5
S1
- the 1st float defining the speed rangeS2
- the 2nd float defining the speed range
AlienReaderException
getSpeedFilter()
,
setSpeedFilter(String)
public java.lang.String getRSSIFilter() throws AlienReaderException
An individual filter consists of two floating-point values, "R1" and "R2". The RSSIFilter can consist of 1-4 of these filters, separated by vertical bars (|), and a tag must match at least one of the filters to be considered.
AlienReaderException
setRSSIFilter(String)
,
setRSSIFilter(float, float)
public void setRSSIFilter(java.lang.String filterStr) throws AlienReaderException
An individual filter consists of two floating-point values, "R1" and "R2". The RSSIFilter can consist of 1-4 of these filters, separated by vertical bars (|), and a tag must match at least one of the filters to be considered.
If the first value, R1, is less than the second value, R2, then only those tags with RSSI within the range R1...R2 are reported. If R1 is greater than R2, then only those tags with RSSI outside the range R1...R2 are reported. Another way to think of it is "greater than R1 and/or less than R2".
For example:
To read only weak tags with small RSSI (between 0 and 10000):
RSSIFilter = 0, 10000
To read only string tags with large RSSI (greater than 50000):
RSSIFilter = 50000, 0
To clear the RSSIFilter, set it to "0".
filterStr
- the String specifying the RSSIFilter
AlienReaderException
getRSSIFilter()
,
setRSSIFilter(float, float)
public void setRSSIFilter(float R1, float R2) throws AlienReaderException
An individual filter consists of two floating-point values, "R1" and "R2". The RSSIFilter can consist of 1-4 of these filters, although this method only lets you set one filter range. To take advantage of setting more ranges, use the setRSSIFilter(String) version.
If the first value, R1, is less than the second value, R2, then only those tags with RSSI within the range R1...R2 are reported. If R1 is greater than R2, then only those tags with RSSI outside the range R1...R2 are reported. Another way to think of it is "greater than R1 and/or less than R2".
For example:
To read only weak tags with small RSSI (between 0 and 10000):
RSSIFilter = 0, 10000
To read only string tags with large RSSI (greater than 50000):
RSSIFilter = 50000, 0
To clear the RSSIFilter, use 0.0 for both values.
R1
- the 1st float defining the RSSI rangeR2
- the 2nd float defining the RSSI range
AlienReaderException
getRSSIFilter()
,
setRSSIFilter(String)
public int getLBT() throws AlienReaderException
AlienReaderException
- if reader communication failssetLBT(int)
,
getLBTValue()
,
getLBTLimit()
,
setLBTLimit(int)
public void setLBT(int lbt) throws AlienReaderException
lbt
- the new ON/OFF state of LBT
AlienReaderException
- if reader communication failsgetLBT()
,
getLBTValue()
,
getLBTLimit()
,
setLBTLimit(int)
public int getLBTLimit() throws AlienReaderException
AlienReaderException
- if reader communication failsgetLBT()
,
setLBT(int)
,
getLBTValue()
,
setLBTLimit(int)
public void setLBTLimit(int lbtLimit) throws AlienReaderException
lbtLimit
- the current setting for LBTLimit
AlienReaderException
- if reader communication failsgetLBT()
,
setLBT(int)
,
getLBTValue()
,
getLBTLimit()
public int getLBTValue() throws AlienReaderException
This command can be used to get an idea of the level of noise in the environment, and this information can be used to determine an appropriate LBTLimit setting.
AlienReaderException
- if reader communication failsgetLBT()
,
setLBT(int)
,
getLBTLimit()
,
setLBTLimit(int)
public int getTagType() 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 : 64-bit Class1 (Quark) Bit 1 : 64-bit Class1 (Omega) Bit 2 : 96-bit Class1 (Lepton) Bit 3 : Class0/Class0+ Bit 4 : Class1 Gen2 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 Class1 Gen1 tag types, and a TagType of 4 indicates it is only looking for Lepton tags.
The allowable range for TagType depends on the reader, and it's list of supported tag protocols.
AlienReaderException
- if reader communication failspublic void setTagType(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 : 64-bit Class1 (Quark) Bit 1 : 64-bit Class1 (Omega) Bit 2 : 96-bit Class1 (Lepton) Bit 3 : Class0/Class0+ Bit 4 : Class1 Gen2 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 Class1 Gen1 tag types, and a TagType of 4 to specify Lepton tags only.
The allowable range for TagType depends on the reader, and it's list of supported tag protocols.
For convenience, a series of constants are defined in this class: CLASS1GEN1_QUARK, CLASS1GEN1_OMEGA, CLASS1GEN1_64BITS, CLASS1GEN1_LEPTON, CLASS1GEN1_96BITS CLASS1GEN1_ALL, CLASS0, CLASS1GEN2. These constants facilitate selecting specific tag types or combinations of tag types, by ORing ( | ) the constants together in the call to setTagType().
tagType
- the bitmap indicating the tag types the reader should look for
AlienReaderException
- if reader communication failspublic java.util.Date getTime() throws AlienReaderException
Date
object.
The time at which tags are read by a reader is particularly important for
many applications. For this reason, the reader has three time commands to
ensure that the onboard clock is always set accurately.
Date
AlienReaderException
- if reader communication failssetTime(java.lang.String)
,
setTime(String)
,
setTime(Date)
public void setTime(java.lang.String dateTimeString) throws AlienReaderException
dateTimeString
should be in the formay YYYY/MM/DD hh:mm:ss, as specified by DATE_FORMATTER
.
Times are always specified in local time, as defined by the TimeZone setting.
The time at which tags are read by a reader is particularly important for
many applications. For this reason, the reader's onboard clock should always
be set accurately.
NOTE: Changes made with this command will take effect immediately.
dateTimeString
- a string representing the date and time, in the format given by DATE_FORMATTER
AlienReaderException
- if reader communication failsgetTime()
,
setTime(java.lang.String)
,
setTime(Date)
,
setTimeZone(int)
public void setTime() throws AlienReaderException
NOTE: Changes made with this command will take effect immediately.
AlienReaderException
- if reader communication failsgetTime()
,
setTime(String)
,
setTime(Date)
public void setTime(java.util.Date theDate) throws AlienReaderException
NOTE: Changes made with this command will take effect immediately.
theDate
- a Date object with the desired date/time
AlienReaderException
- if reader communication failsgetTime()
,
setTime(String)
,
setTime(java.lang.String)
public int getTimeZone() throws AlienReaderException
setTimeServer(java.lang.String)
.
AlienReaderException
- if reader communication failssetTimeZone(int)
public void setTimeZone(int timeZone) throws AlienReaderException
setTimeServer(String)
.
NOTE: Changes made with this command will take effect immediately.
timeZone
- the time zone of the reader, specified in hours relative to GMT
AlienReaderException
- if reader communication failsgetTimeZone()
public java.lang.String getTimeServer() throws AlienReaderException
AlienReaderException
- if reader communication failssetTimeServer(String)
public void setTimeServer(java.lang.String timeServer) throws AlienReaderException
timeServer
- the address of the SNTP server
AlienReaderException
- if reader communication failsgetTimeServer()
public java.lang.String macroList() throws AlienReaderException
AlienReaderException
- if reader communication failsmacroView(String)
,
macroRun(String)
,
macroDel(String)
,
macroDelAll()
,
macroStartRec(String)
,
macroStopRec()
public java.lang.String macroView(java.lang.String macroName) throws AlienReaderException
macroName
- the name of the installed macro to view
AlienReaderException
- if reader communication failsmacroList()
,
macroRun(String)
,
macroDel(String)
,
macroDelAll()
,
macroStartRec(String)
,
macroStopRec()
public void macroRun(java.lang.String macroName) throws AlienReaderException
macroName
- the name of the installed macro to run
AlienReaderException
- if reader communication failsmacroList()
,
macroView(String)
,
macroDel(String)
,
macroDelAll()
,
macroStartRec(String)
,
macroStopRec()
public void macroDel(java.lang.String macroName) throws AlienReaderException
macroName
- the name of the installed macro to delete
AlienReaderException
- if reader communication failsmacroList()
,
macroView(String)
,
macroRun(String)
,
macroDelAll()
,
macroStartRec(String)
,
macroStopRec()
public void macroDelAll() throws AlienReaderException
AlienReaderException
- if reader communication failsmacroList()
,
macroView(String)
,
macroRun(String)
,
macroDel(String)
,
macroStartRec(String)
,
macroStopRec()
public void macroStartRec(java.lang.String macroName) throws AlienReaderException
macroName
- the name of the installed macro to begin recording
AlienReaderException
- if reader communication failsmacroList()
,
macroView(String)
,
macroRun(String)
,
macroDel(String)
,
macroDelAll()
,
macroStopRec()
public void macroStopRec() throws AlienReaderException
AlienReaderException
- if reader communication failsmacroList()
,
macroView(String)
,
macroRun(String)
,
macroDel(String)
,
macroDelAll()
,
macroStartRec(String)
public java.lang.String toString()
|
|||||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |