Package RFIDReader

Class RFIDReader

java.lang.Object
RFIDReader.RFIDReader

public class RFIDReader
extends java.lang.Object

Appendix B

API Interface Guide: RFID.Reader Namespace
Class:
public class RFIDReader
Summary:
This class provides a high-level encapsulation of many of the commands that the sensor is able to respond to for querying and changing the setup of the sensor as well as reading tags.
Comments:
A detailed description of how this class is used is provided in the "SensArray Programmers Guide". The general outline, though, is as follows:
  • Instantiate an instance of the class passing in the IP address and the port number: reader = new RFIDReader(readerIPAddress, 5000);
  • Call the method that you want to use: id = RFIDTester.reader.GetModuleHardwareId();
  • Process the result, then repeat for any additional commands that you wish to process.
  • Close the connection when finished by calling RFIDTester.reader.Shutdown();

Note that the underlying communication blocks with relatively long timeouts. Consequently, this is best used in a multi-threaded environment if these calls are made within the context of a graphical user interface.
Many of the methods will throw exceptions. Most of the methods in this API involve sending and receiving Ethernet messages. For a variety of reasons, there can be delays in the setup of the communication channel or delays in the actual communication process that result in timeout exceptions being the most common exception from these methods.
The design philosophy behind this division in the way errors are handled is to let the operating system and programming type of errors be handled through the exception handling process while data validation errors are handled through the return codes.
Author:
ST_Test
  • Nested Class Summary

    Nested Classes 
    Modifier and Type Class Description
    static class  RFIDReader.MODULE_TYPE  
    static class  RFIDReader.ModuleCommands  
    static class  RFIDReader.RFIDStatus  
    static class  RFIDReader.SensorCommands  
  • Field Summary

    Fields 
    Modifier and Type Field Description
    byte SearchModeDual  
    byte SearchModeSingle  
    java.lang.Object Tag  
  • Constructor Summary

    Constructors 
    Constructor Description
    RFIDReader​(java.lang.String sIpAddress, int iPortNumber)
    Group: Communications Setup and Control Method: constructor RFIDReader(String sIpAddress, int iPortNumber) Summary: This method creates an instance of the RFIDReader class and creates the underlying communications class.
    RFIDReader​(java.lang.String sIpAddress, int iPortNumber, OnTagReadResponse tagReadHandlerArg)  
    RFIDReader​(java.lang.String sIpAddress, int iPortNumber, OnTagReadWithReaderResponse tagReadHandlerArg)  
    RFIDReader​(java.lang.String sIpAddress, int iPortNumber, SensorDataReadResponse sensorDataReadHandlerArg, java.lang.Object obj)  
  • Method Summary

    Modifier and Type Method Description
    boolean ClearErrorList()
    Method: boolean ClearErrorList Summary: This command clears the internal error list held by the sensor
    boolean ClearInventoryFilter​(boolean makePersistent)
    Method: boolean ClearInventoryFilter(boolean makePersistent) Summary: This method clears the filter used during tag inventory cycles.
    Config24V Get24VDCStatus()
    Method: Config24V Get24VDCStatus() Summary: This method returns the current setup of the 24V DC output on the GPIO connector as well as what its state is when the sensor is started or restarted.
    int GetActiveAntenna()
    Methods: int GetActiveAntenna() Summary: Returns the numeric value of the currently active antenna.
    PowerSettings GetAntennaPowers()
    Methods: PowerSettings GetAntennaPowers() Summary: Returns the read power and write power level settings in dBm of the internal antenna (index 0) and the three external antennas (indexes 1, 2, and 3)
    PowerSettings GetAntennaPowers1()  
    java.lang.String GetAutoSenseProgram()
    Method: String GetAutoSenseProgram() Summary: This method returns a string of semicolon (';') separated SensArray macros corresponding to the currently active AutoSens macro program.
    boolean GetAutoSensStartupState()
    Method: boolean GetAutoSensStartupState() Summary: This method returns a Boolean value indicating whether the specified AutoSens program will be automatically run when the reader reboots
    java.lang.String GetBluetoothConfiguration()
    Method: String GetBluetoothConfiguration() Summary: This method retrieves the address of the Bluetooth device that the reader is configured to send data to.
    int GetBootloaderInfo()
    Methods int GetBootloaderInfo() Summary: This method returns the Ethernet port over which firmware updates are performed.
    void GetBootloaderInfo​(BootloaderInfo bootloaderObj)
    Methods int GetBootloaderInfo(BootloaderInfo bootloaderObj) Summary: This method returns the Ethernet port over which firmware updates are performed.
    boolean[] GetConnectedAntennas​(RFIDReader.MODULE_TYPE modType)
    Method: boolean[] GetConnectedAntennas(MODULE_TYPE modType) Summary: This method returns queries each of the ports of the integrated reader and returns an array sized appropriately for the reader of boolean (true/false) values indicating whether each of the port is connected or not.
    java.lang.String GetConnectionInfo​(byte connectionNumber)
    Method: String GetOperatingMode() Summary: When a data notification macro is specified in an AutoSens program, the data is sent to a connection (0-4) based on the connection information specified by the connection specified by a string with the format "IP_Address:PortNumber".
    boolean GetDRMState()
    Method: boolean GetDRMState() Summary: This method returns the current DRM setting for RF Mode 1 (M3/250kHz).
    double GetEnvRSSI()
    Method: double GetEnvRSSI() Summary: this method returns the background RSSI of the sensor in dBm.
    ErrorList GetErrorList()
    Method: ErrorList GetErrorList() Summary: This method returns the list of errors detected and recorded by the sensor
    ExpressoModeParameters GetExpressoModeParams()
    Method: ExpressoModeParameters GetExpressoModeParams() Summary: This method returns a subset of the additional Expresso Mode parameters needed to initiate an Expresso Mode inventory process.
    java.lang.String GetFirmwareBuild()
    Method: String GetFirmwareBuild() Summary: This method retrieves the reader firmware's build.
    java.lang.String GetFirmwareId()
    Method: String GetFirmwareId() Summary: This method retrieves the hardware Major.Minor.Revision number of the sensor.
    InventoryParameters GetGen2Params()
    Methods: InventoryParameters GetGen2Params() Summary: The InventoryParameters object is returned with the various Gen2 parameters filled in.
    byte GetGPIOSetup()
    Method: byte GetGPIOSetup() Summary: This method returns the settings for the general-purpose outputs and the detected state of the general-purpose inputs
    GPSConfig GetGPSConfiguration()
    Method: GPSConfig GetGPSConfiguration() Summary: This method retrieves the GPS setup configuration for the Extreme reader.
    GPSData GetGPSData()
    Method: GPSData GetGPSData() Summary: This method retrieves the GPS coordinates of the reader.
    java.lang.String GetHardwareId()
    Group Top-Level Sensor ID Queries Method: String GetHardwareId() Summary: This method retrieves the hardware Major.Minor.Revision number of the sensor.
    ReaderHeartbeatSettings GetHeartbeatConfig()
    Method: ReaderHeartbeatSettings GetHeartbeatConfig() Summary: This method returns the IP address and UDP port number over which the heartbeat is sent as well and the Interval between heartbeat messages and the number (Count) of messages that are sent before the heartbeat goes silent.
    ReaderNetworkSettings GetIPv4Info()
    Method: ReaderNetworkSettings GetIPv4Info() Summary: This method returns the various parameters comprising the IpV4 network configuration.
    byte GetLinkParams()
    Method: byte GetLinkParams() Summary: The method returns the current Link Parameter setting of the RFIDReader module.
    boolean[] GetM701ConnectedAntennas​(int antennaCount)  
    java.lang.String GetModuleFirmwareId()
    Method: String GetModuleFirmwareId() Summary: Returns the RF Module's firmware version number.
    java.lang.String GetModuleHardwareId()
    Group: RF Module ID Queries Method: String GetModuleHardwareId() Summary: Returns the RF Module's hardware identifier.
    PowerSettings GetModulePowerSetting()
    Method: PowerSettings GetModulePowerSetting() Summary: Returns the read power and write power levels from the reader module.
    java.lang.String GetModuleReaderID()
    Method: String GetModuleSerialNumber() Summary: This function returns the string value corresponding to the reader module's internal serial number.
    double GetModuleTemperature()
    Method: double GetModuleTemperature() Summary: This method retrieves the internal temperature of the RFIDReader module in degrees C.
    boolean[] GetMtiConnectedAntennas()  
    double GetMTIPortReturnLoss​(int antennaNumber)  
    java.lang.String GetOperatingMode()
    Method: String GetOperatingMode() Summary: This method returns the operating mode of the sensor.
    double GetPortReturnLoss​(int antennaNumber)
    Method: double getPortReturnLoss(int antennaNumber) Summary: This method returns the background RSSI of sensor in dBm.
    ReaderConfig GetReaderConfiguration()
    Method: ReaderConfig GetReaderConfiguration() Summary: Gets the configuration of the reader
    java.lang.String GetReaderDateAndTime()
    Method: String GetReaderDateAndTime() Summary: This method get the read-time clock date and time values of the reader.
    java.lang.String GetReaderName()
    Method: String GetReaderName() Summary: Gets the name advertised by the sensor's heartbeat messages through a direct firmware query.
    java.lang.String GetReaderType()
    Method: String GetReaderType() Summary: Gets the reader type advertised by the sensor's heartbeat messages through a direct firmware query.
    ReadGapTimes GetReadGapTimes()
    Method: ReadGapTimes GetReadGapTimes() Summary: This command retrieves the current read time interval and the time interval between read cycles.
    int[] GetReadSequence()
    Method: int[] GetReadSequence() Summary: This method retrieves the sequence of antennas that the reader loops through when performing a continuous tag inventory read cycle.
    byte GetRegionCode()
    Method: byte GetRegionCode() Summary: This method gets the byte code for the current region setting on the reader module.
    java.lang.String GetRegionSetting()
    Method: String GetRegionSetting() Summary: This method returns the byte code for the region setting of the reader module.
    byte GetSearchMode()
    Method: byte GetSearchMode() Summary: Returns the current search mode for the reader module.
    void GetSelectParameters​(SelectParameters selectParametersObj)
    Method: void GetSelectParameters(SelectParameters selectParametersObj) Summary: The method returns the inventory mode and pre-select count for the module.
    java.lang.String GetSerialNumber()
    Method: String GetSerialNumber() Summary: This method retrieves the serial number of the sensor.
    byte GetSessionParameter()
    Method: byte GetSessionParameter() Summary: Returns the current byte value for the session parameter.
    boolean GetTemperatureProtect()
    Methods: boolean GetTemperatureProtect() Summary: Returns the status of the modules temperature protection status.
    TemperatureNotificationSettings GetTempNotificationSetup()
    Method: TemperatureNotificationSettings GetTempNotificationSetup() Summary: This method returns the time intervals and thresholds for reporting module temperature during continuous tag read sessions.
    java.lang.String GetWiFiConfiguration()
    Method: String GetWiFiConfiguration() Summary: This method retrieves the name of the wireless network (SSID) for the Wi-Fi router that the SensX Extreme reader uses for Wi-Fi connections.
    boolean IsLocatorSignalActive()
    Method: boolean IsLocatorSignalActive() Summary: This method returns whether or not the locator flash pattern is active on the sensor.
    RFIDReader.RFIDStatus KillTag​(int killPassword, TagMask tagMask, TagFields tagFields)
    Method: RFIDStatus KillTag(int killPassword, TagMask tagMask, TagFields tagFields ) Summary: This method kills the tag reference by the specified input mask.
    RFIDReader.RFIDStatus LockTagData​(int accessPassword, TagMask tagMask, int killPwdLock, int accessPwdLock, int epcLock, int userDataLock, TagFields tagFields)
    Method: RFIDStatus LockTagData(int accessPassword, TagMask tagMask, int killPwdLock, int accessPwdLock, int epcLock, int userDataLock, TagFields tagFields) Summary: This method locks, unlocks, or permanently locks or unlocks one or more data banks on the tag.
    SensorInfo ReadNexSensorInfoItem()
    Method: boolean StopContinuousRead() Summary: This method is called to stop a continuous read cycle started by the StartContinuousRead() method.
    TagReadInfo ReadNextTag()
    Method: TagReadInfo ReadNextTag() Summary: This method is used to collect tag information.
    RFMicronSensorData ReadRfMicronSensorData​(RFMicronSensorData rfMicronSensorDataObj)
    Method: RFMicronSensorData ReadRfMicronSensorData(RFMicronSensorData rfMicronSensorDataObj) Summary: This method reads the tag data from the specified tag data bank: 0 = Reserved data, 1 = EPC data, 2 = Tag Identifier Data (TID), 3 = User Data.
    SingleTagInfo ReadTag()  
    TagFields ReadTagData​(int accessPassword, TagMask tagMask, TagFields tagFields)
    Method: TagFields ReadTagData(int accessPassword, TagMask tagMask, TagFields tagFields) Summary: This method reads the tag data from the specified tag data bank: 0 = Reserved data, 1 = EPC data, 2 = Tag Identifier Data (TID), 3 = User data.
    boolean Reboot()
    Method: boolean Reboot() Summary: This method issues the reboot command to the sensor.
    boolean ResetReceiveTimeout()
    Method: boolean ResetReceiveTimeout() Summary: This method requests a single inventory read cycle returning any detected tag.
    boolean ResetToDefaultConfiguration()
    Methods boolean ResetToDefaultConfiguration() Summary: This method sends a request to the sensor to restore the saved configuration values that are stored in flash memory.
    boolean RestoreSavedConfiguration()
    Method: boolean RestoreSavedConfiguration() Summary: This method sends a request to the sensor to restore the saved configuration values that are stored in flash memory.
    boolean SaveCurrentConfiguration()
    Method: boolean SaveCurrentConfiguration() Summary: This method saves the various configurable setting to flash memory so that they will be active when the sensor reboots.
    boolean Set24VStatus​(Config24V config24V)
    Method: boolean Set24VStatus(Config24V config24V) Summary: This method turns the 24VDC on or off and sets the configuration that determines whether it is on or off on startup
    boolean SetActiveAntenna​(int antennaId)
    Method: boolean SetActiveAntenna(int antennaId) Summary: Sets the specified antenna to be the active one for reading or writing.
    boolean SetAntennaPower​(int antennaId, PowerSettings pSettings)
    Method: boolean SetAntennaPower(int antennaNumber, PowerSettings pSettings) Summary: Set the read and write power levels for when the reader is transmitting through the specified antenna
    boolean SetAutoSenseProgram​(java.lang.String macroProgram)
    Method: boolean SetAutoSenseProgram(String macroProgram) Summary: This method uses a string of semicolon (';') separated SensArray macros corresponding to the active AutoSens macro program.
    boolean SetAutoSensStartupState​(boolean Running)
    Method: boolean SetAutoSensStartupState(Boolean Running) Summary: This method takes a boolean value indicating whether the specified AutoSens program is to be automatically run when the reader reboots
    boolean SetBluetoothConfiguration​(java.lang.String Address, java.lang.String PairingCode)
    Method: boolean SetBluetoothConfiguration(String Address, String PairingCode) Summary: This method configures the reader to establish a connection with a specific Bluetooth enabled devices such as a Smart Phone, a tablet computer, etc.
    boolean SetConnectionInfo​(byte connectionNumber, java.lang.String connectionString)
    Method: boolean SetConnectionInfo(byte connectionNumber, String connectionString) Summary: When a data notification macro is specified in an AutoSens program, the data is sent to a connection (0-4) based on the connection information specified by the connection string.
    boolean SetCustomerKey​(java.lang.String CustomerKeyFile)
    Method: boolean SetCustomerKey(String CustomerKeyFile) Summary: This method sets the checks and sets the customer key signature to be used for afec.
    boolean SetDRMState​(boolean newDRMState)
    Method: boolean SetDRMState() Summary: This method sets the current DRM setting for RF Mode 1 (M3/250kHz).
    boolean SetExpressoModePrams​(ExpressoModeParameters expressoParams)
    Method: boolean SetExpressoModeParams(ExpressoModeParameters expressoParams) Summary: The method sets up a subset of the additional Expresso Mode parameters needed to initiate an Expresso Mode inventory process.
    RFIDReader.RFIDStatus SetGen2Params​(InventoryParameters ip)
    Method: RFIDStatus SetGen2Params(InventoryParameters ip) Summary: The Gen2Params for the RFIDReader module are set to the values specified in the Gen2Params data structure.
    boolean SetGeneralPurposeOutputs​(byte newGPOs)
    Method: boolean SetGeneralPurposeOutputs(bytes newGPOs) Summary: This method returns the settings for the general-purpose outputs and the detected state of the general-purpose inputs
    boolean SetGPSConfiguration​(GPSConfig gpsConfig)
    Method: boolean SetGPSConfiguration(GPSConfig gpsConfig) Summary: This method is used to set the GPS configuration of the Extreme reader.
    boolean SetHeartbeatConfig​(ReaderHeartbeatSettings settings)
    Method: boolean SetHeartbeatConfig(ReaderHeartbeatSettings settings) Summary: This method sets the IP address, UDP port number, interval, and count of the heartbeat configuration
    boolean SetInventoryFilter​(TagMask filter)
    Method: boolean SetInventoryFilter(TagMask filter) Summary: This method sets the filter to be used during tag inventory cycles
    void SetIPv4CommLink​(java.lang.String sIPv4Address, int portNumber)
    Method: void SetIPv4CommLink(String sIPv4Address, int portNumber) Summary: The IP address and port number are passed on to the underlying communication layer which closes the underlying socket if the IP address and port number don't match the values already set up.
    boolean SetIPv4Info​(ReaderNetworkSettings settings)
    Method: boolean SetIPv4Info(ReaderNetworkSettings settings) Summary: This method is used to set the IpV4 network configuration for the sensor.
    void SetIPv6Address​(java.lang.String sIPv6Address)  
    boolean SetLinkParams​(byte linkParams, boolean save)
    Method: boolean SetLinkParams(byte linkParams, boolean save) Summary: The method returns the current Link Parameter setting of the RFIDReader module.
    boolean SetLocatorSignalState​(boolean stateActive)
    Method: boolean SetLocatorSignalState(boolean stateActive) Summary: This method activates or deactivates the locator signal on the sensor.
    boolean SetModulePower​(PowerSettings pSettings)
    Group: RF Setup and Query Methods Method: boolean SetModulePowerSettings(Double readPower, Double writePower) Summary: This function directly sets the read and write power of the RFIDReader module.
    boolean SetReaderDateAndTime​(java.lang.String readerDateAndTime)
    Method: String SetReaderDateAndTime() Summary: This method sets the read-time clock date and time values of the reader.
    boolean SetReaderName​(java.lang.String readerName)
    Method: boolean SetReaderName(String readerName) Summary: Sets the name advertised by the sensor's heartbeat messages.
    boolean SetReadGapTimes​(ReadGapTimes readGapTimes)
    Method: boolean SetReadGapTimes(ReadGapTimes readGapTimes) Summary: This method sets the time interval for an inventory read cycle and the time interval between reads.
    boolean SetReadSequence​(int[] antennaSequence)
    Method: boolean SetReadSequence(int[] antennaSequence) Summary: This method sets the sequence of antennas that the reader loops through when performing a continuous tag inventory read cycle.
    boolean SetSearchMode​(byte searchMode)
    Method: boolean SetSearchMode(byte searchMode) Summary: Set the search mode of the RFID module
    boolean SetSelectParameters​(byte inventoryMode, byte preSelectCount)
    Method: void GetSelectParameters(SelectParameters selectParametersObj) Summary: The method sets the inventory mode and pre-select count for the module.
    boolean SetSelectParameters​(SelectParameters selectParametersObj)
    Method: void GetSelectParameters(SelectParameters selectParametersObj) Summary: The method sets the inventory mode and pre-select count for the module.
    void SetSensorReadWithReaderCallback​(SensorDataReadResponse sensorReadHandler)  
    RFIDReader.RFIDStatus SetSessionParameter​(byte sessionParam)
    Method: RFIDStatus SetSessionParameter(byte sessionParam) Summary: This method sets the Session Parameter.
    void SetTagReadCallback​(OnTagReadResponse tagReadHandler)
    Method: void SetTagReadCallback(OnTagReadResponse tagReadHandler) Summary: This method allows the continuous read callback function to be changed or disabled (by passing the parameter value as null).
    void SetTagReadWithReaderCallback​(OnTagReadWithReaderResponse tagReadHandler)  
    boolean SetTempNotificationSetup​(TemperatureNotificationSettings tempSettings)
    Methods boolean SetTempNotificationSetup(TemperatureNotificationSettings tempSettings) Summary: This method sets the time intervals and thresholds for reporting module temperature during continuous tag read sessions.
    boolean SetWiFiConfiguration​(java.lang.String SSID, java.lang.String Passcode)
    Method: boolean SetWiFiConfiguration(String SSID, String Passcode) Summary: This method configures the Wi-Fi parameters in the SensX Extreme readers to enable connections to a Wi-Fi router.
    void Shutdown()
    Method: void Shutdown() Summary: This method closes down the underlying communications connection. ReturnType: No return value is returned from this method Comments: Once this method is called, that instance of the RFIDReader class will no longer be usable.
    boolean StartContinuousRead()
    Method: boolean StartContinuousRead() Summary: This method starts a continuous tag inventory session.
    boolean StopContinuousRead()
    Method: boolean StopContinuousRead() Summary: This method is called to stop a continuous read cycle started by the StartContinuousRead() method.
    boolean StopContinuousRead​(byte resumeTime)
    Method: boolean StopContinuousRead(byte resumeTime) Summary: This method is called to stop a continuous read cycle started by the StartContinuousRead() method.
    TagFields WriteTagData​(int accessPassword, TagMask tagMask, TagFields tagFields)
    Method: TagFields WriteTagData(int accessPassword, TagMask tagMask, TagFields tagFields) Summary: This method reads the tag data from the specified tag data bank: 0 = Reserved data, 1 = EPC data, 2 = Tag Identifier data (generally not writable), 3 = User data using the mask data against the location specified by the maskBank, maskStartBitAddress (offset into bank in number of bits) with length specified by maskBitLength number of bits.

    Methods inherited from class java.lang.Object

    equals, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
  • Field Details

  • Constructor Details

    • RFIDReader

      public RFIDReader​(java.lang.String sIpAddress, int iPortNumber)
      Group:
      Communications Setup and Control
      Method:
      constructor RFIDReader(String sIpAddress, int iPortNumber)
      Summary:
      This method creates an instance of the RFIDReader class and creates the underlying communications class.
      Parameters:
      sIpAddress - Input parameter with dotted format IP address (e.g. "192.168.1.150").
      iPortNumber - Input parameter with the TCP port that the primary command communication will take place over.
      ReturnType:
      An object instance of the RFIDReader class is returned when a new version of this class is instantiated.
      Exceptions:
      A System.FormatException will be thrown if the IP Address string is not a valid dot notation IP address.
    • RFIDReader

      public RFIDReader​(java.lang.String sIpAddress, int iPortNumber, OnTagReadResponse tagReadHandlerArg)
    • RFIDReader

      public RFIDReader​(java.lang.String sIpAddress, int iPortNumber, OnTagReadWithReaderResponse tagReadHandlerArg)
    • RFIDReader

      public RFIDReader​(java.lang.String sIpAddress, int iPortNumber, SensorDataReadResponse sensorDataReadHandlerArg, java.lang.Object obj)
  • Method Details

    • SetIPv4CommLink

      public void SetIPv4CommLink​(java.lang.String sIPv4Address, int portNumber)
      Method:
      void SetIPv4CommLink(String sIPv4Address, int portNumber)
      Summary:
      The IP address and port number are passed on to the underlying communication layer which closes the underlying socket if the IP address and port number don't match the values already set up.
      Parameters:
      sIPv4Address - Input parameter with dotted format IP address (e.g., "192.168.1.150").
      portNumber - Input parameter with the TCP port that the primary command communication will take place over.
      ReturnType:
      There is no return vale from this method.
      Exceptions:
      A System.FormatException will be thrown if the IP Address string is not a valid dot notation IP address.
      comments:
      This method is used to reset the underlying socket whenever the sensor's network configuration has changed, or when the application chooses to communicate with a second sensor without wanting to create a separate instance of the RFIDReader class.
    • SetIPv6Address

      public void SetIPv6Address​(java.lang.String sIPv6Address)
    • SetTagReadCallback

      public void SetTagReadCallback​(OnTagReadResponse tagReadHandler)
      Method:
      void SetTagReadCallback(OnTagReadResponse tagReadHandler)
      Summary:
      This method allows the continuous read callback function to be changed or disabled (by passing the parameter value as null).
      Parameters:
      tagReadHandler - this parameter specifies the callback routine that is called each time tag data is reported during a continuous inventory cycle.
      ReturnType:
      There is no return vale from this method.
      Exceptions:
      No exceptions will be thrown by this method.
    • SetTagReadWithReaderCallback

      public void SetTagReadWithReaderCallback​(OnTagReadWithReaderResponse tagReadHandler)
    • SetSensorReadWithReaderCallback

      public void SetSensorReadWithReaderCallback​(SensorDataReadResponse sensorReadHandler)
    • Shutdown

      public void Shutdown()
      Method:
      void Shutdown()
      Summary:
      This method closes down the underlying communications connection.
      ReturnType:
      No return value is returned from this method
      Comments:
      Once this method is called, that instance of the RFIDReader class will no longer be usable.
    • GetHardwareId

      public java.lang.String GetHardwareId() throws java.lang.Exception
      Group
      Top-Level Sensor ID Queries
      Method:
      String GetHardwareId()
      Summary:
      This method retrieves the hardware Major.Minor.Revision number of the sensor.
      Returns:
      This function will return the output containing the hardware identifier of the sensor.
      Throws:
      java.lang.Exception - A System.TimeoutException will be thrown if a connection to the sensor cannot be established or the module doesn't respond.
      Comments
      The value returned has the format V#.#.# where the first field (#) is the major version level of the hardware, the second the minor version level, and the third field contains the revision number.
    • GetFirmwareId

      public java.lang.String GetFirmwareId() throws java.lang.Exception
      Method:
      String GetFirmwareId()
      Summary:
      This method retrieves the hardware Major.Minor.Revision number of the sensor.
      Returns:
      This method returns a string containing the firmware version number of the sensor.
      Throws:
      java.lang.Exception - A System.TimeoutException will be thrown if a connection to the sensor cannot be established or the module doesn't respond.
      Comments
      The value returned has the format V#.#.# where the first field (#) is the major version level of the firmware, the second the minor version level, and the third field contains the firmware's revision number.
    • GetFirmwareBuild

      public java.lang.String GetFirmwareBuild() throws java.lang.Exception
      Method:
      String GetFirmwareBuild()
      Summary:
      This method retrieves the reader firmware's build.
      Returns:
      This method returns a string containing the firmware build number of the reader.
      Throws:
      java.lang.Exception - A System.TimeoutException will be thrown if a connection to the sensor cannot be established or the module doesn't respond.
      Comments
      The value returned has the format B.YY.MM.DD.RR where YY is the year of the build, MM is the month, DD is the day or the month, and RR is a sequence number if more than one version was developed on a given date. Note that initially, the first character of the build number is the letter "B". This may change for new readers if they have significantly different embedded firmware.
    • GetSerialNumber

      public java.lang.String GetSerialNumber() throws java.lang.Exception
      Method:
      String GetSerialNumber()
      Summary:
      This method retrieves the serial number of the sensor.
      Returns:
      This method returns a string value of the serial number of the sensor.
      Throws:
      java.lang.Exception - A System.TimeoutException will be thrown if a connection to the sensor cannot be established or the module doesn't respond.
    • GetReaderName

      public java.lang.String GetReaderName() throws java.lang.Exception
      Method:
      String GetReaderName()
      Summary:
      Gets the name advertised by the sensor's heartbeat messages through a direct firmware query.
      Returns:
      This method returns a string containing the name of the reader that is being advertise in the sensor's heartbeat message.
      Throws:
      java.lang.Exception - A System.TimeoutException will be thrown if a connection to the sensor cannot be established or the module doesn't respond.
    • SetReaderName

      public boolean SetReaderName​(java.lang.String readerName) throws java.lang.Exception
      Method:
      boolean SetReaderName(String readerName)
      Summary:
      Sets the name advertised by the sensor's heartbeat messages.
      Parameters:
      readerName - Input parameter specifying the name of the reader to be advertised in the sensor's heartbeat message. The name cannot be longer than 31 characters.
      Returns:
      This function will return true if it is able to set the sensor's reader name. It will return false otherwise. This command will fail if the reader name is longer than 31 characters.
      Throws:
      java.lang.Exception - A System.TimeoutException will be thrown if a connection to the sensor cannot be established or the module doesn't respond.
    • GetReaderType

      public java.lang.String GetReaderType() throws java.lang.Exception
      Method:
      String GetReaderType()
      Summary:
      Gets the reader type advertised by the sensor's heartbeat messages through a direct firmware query.
      Returns:
      This function will return a string containing the reader type advertised in the sensor's heartbeat message.
      Throws:
      java.lang.Exception - A System.TimeoutException will be thrown if a connection to the sensor cannot be established or the module doesn't respond.
    • SetReaderDateAndTime

      public boolean SetReaderDateAndTime​(java.lang.String readerDateAndTime) throws java.lang.Exception
      Method:
      String SetReaderDateAndTime()
      Summary:
      This method sets the read-time clock date and time values of the reader.
      Parameters:
      readerDateAndTime - -- This parameter provides the date/time to be set in the format: YYYY-MM-DDThh:mm:ss
      Returns:
      This function will return true if it is able to set the sensor's date and time. It will return false otherwise.
      Throws:
      java.lang.Exception - A System.TimeoutException will be thrown if a connection to the sensor cannot be established or the module doesn't respond.
      Comment:
      value returned has the format B.YY.MM.DD.RR where YY is the year of the build, MM is the month, DD is the day or the month, and RR is a sequence number if more than one version was developed on a given date. Note that initially, the first character of the build number is the letter "B". This may change for new readers if they have significantly different embedded firmware.
    • GetReaderDateAndTime

      public java.lang.String GetReaderDateAndTime() throws java.lang.Exception
      Method:
      String GetReaderDateAndTime()
      Summary:
      This method get the read-time clock date and time values of the reader.
      Returns:
      This function will return a string sensor's date and time in the format: YYYY-MM-DDThh:mm:ss
      Throws:
      java.lang.Exception - A System.TimeoutException will be thrown if a connection to the sensor cannot be established or the module doesn't respond.
    • GetReaderConfiguration

      public ReaderConfig GetReaderConfiguration() throws java.lang.Exception
      Method:
      ReaderConfig GetReaderConfiguration()
      Summary:
      Gets the configuration of the reader
      Returns:
      This method returns a ReaderConfig object containing the hardware configuration of the reader.
      Throws:
      java.lang.Exception - A System.TimeoutException will be thrown if a connection to the sensor cannot be established or the module doesn't respond.
    • GetIPv4Info

      public ReaderNetworkSettings GetIPv4Info() throws java.lang.Exception
      Method:
      ReaderNetworkSettings GetIPv4Info()
      Summary:
      This method returns the various parameters comprising the IpV4 network configuration.
      Returns:
      This method returns a ReaderNetworkSettings object the contains the IP addresses for the associated networking parameters. In dotted notation, if the address is of the form a.b.c.d, then val[0] = a, val[1] = b, val[2] = c, and val[3] = d.
      Throws:
      java.lang.Exception - A System.TimeoutException will be thrown if a connection to the sensor cannot be established or the module doesn't respond.
    • SetIPv4Info

      public boolean SetIPv4Info​(ReaderNetworkSettings settings) throws java.lang.Exception
      Method:
      boolean SetIPv4Info(ReaderNetworkSettings settings)
      Summary:
      This method is used to set the IpV4 network configuration for the sensor.
      Parameters:
      settings - This input object contains the input values for DHCPActive, IpV4 address, IpV4 netmask, IPv4Gateway, IPv4DNSServer, sensorPort.
      Returns:
      This method will return true if it is able to set the sensor's IpV4 networking setup. It will return false otherwise. This method will fail if the SensorPort number is not between 1024 and 65535.
      Throws:
      java.lang.Exception - A System.TimeoutException will be thrown if a connection to the sensor cannot be established or the module doesn't respond. A System.FormatException will be Thrown if any of the parameters IPv4Address, IPv4Netmask, IpV4Gateway, or IpV4DNSServer is not a valid dot notation IP address.
      Comments
      Note that this command will immediately change the network setup, then close and reopen the command socket. Also, this configuration will not be automatically saved as the startup configuration of the sensor. Consequently, if the sensor is rebooted before the sensor's configuration is saved it will restart using the previous sensor setup.
    • GetHeartbeatConfig

      public ReaderHeartbeatSettings GetHeartbeatConfig() throws java.lang.Exception
      Method:
      ReaderHeartbeatSettings GetHeartbeatConfig()
      Summary:
      This method returns the IP address and UDP port number over which the heartbeat is sent as well and the Interval between heartbeat messages and the number (Count) of messages that are sent before the heartbeat goes silent.
      Returns:
      This function returns an object of ReaderHeartbeatSettings that contains the Heartbeat configuration.
      Throws:
      java.lang.Exception - A System.TimeoutException will be thrown if a connection to the sensor cannot be established or the module doesn't respond.
    • SetHeartbeatConfig

      public boolean SetHeartbeatConfig​(ReaderHeartbeatSettings settings) throws java.lang.Exception
      Method:
      boolean SetHeartbeatConfig(ReaderHeartbeatSettings settings)
      Summary:
      This method sets the IP address, UDP port number, interval, and count of the heartbeat configuration
      Parameters:
      settings - This parameter is an object of ReaderHeartbeatSettings containing the heartbeat configuration to be set in the reader.
      Returns:
      This function will return true if it is able to set the heartbeat configuration. It will return false otherwise. This command will fail if the PortNumber is not between 1024 and 65535.
      Throws:
      java.lang.Exception - A System.TimeoutException will be thrown if a connection to the sensor cannot be established or the module doesn't respond.
      Comments
      The Interval and Count values should be used carefully since it could make devise network discovery difficult. During initial deployment, you may want to leave these at their default values (Interval=30, Count=0xFFFFFFFF) or even consider reducing the interval to a smaller value so that you see the heartbeat more often.
      Also, note that this configuration is not saved automatically. Be sure to save the configuration so that the new values will stay in effect when the sensor is rebooted.
    • IsLocatorSignalActive

      public boolean IsLocatorSignalActive() throws java.lang.Exception
      Method:
      boolean IsLocatorSignalActive()
      Summary:
      This method returns whether or not the locator flash pattern is active on the sensor.
      Returns:
      This function will return true if the locator signal is active, and will return false otherwise.
      Throws:
      java.lang.Exception - A System.TimeoutException will be thrown if a connection to the sensor cannot be established or the module doesn't respond.
      Comments
      The LED sensor blinks alternating red and green when the signal locator is on to help locate a specific sensor.
    • SetLocatorSignalState

      public boolean SetLocatorSignalState​(boolean stateActive) throws java.lang.Exception
      Method:
      boolean SetLocatorSignalState(boolean stateActive)
      Summary:
      This method activates or deactivates the locator signal on the sensor.
      Parameters:
      stateActive - Input parameter, when true, turns the locator flash pattern on, and when false, returns the flash pattern to normal operating mode indication.
      Returns:
      This function will return true if it is able to set the locator signal state. It will return false otherwise.
      Throws:
      java.lang.Exception - A System.TimeoutException will be thrown if a connection to the sensor cannot be established or the module doesn't respond.
      Comment
      The LED on the sensor blinks alternating red and green when the signal locator is on. It returns to its standard blinking green light when the locator is turned back off.
    • GetTempNotificationSetup

      public TemperatureNotificationSettings GetTempNotificationSetup() throws java.lang.Exception
      Method:
      TemperatureNotificationSettings GetTempNotificationSetup()
      Summary:
      This method returns the time intervals and thresholds for reporting module temperature during continuous tag read sessions.
      Returns:
      This function returns a TemperatureNotificationSettings object containing The temperature notification setup.
      Throws:
      java.lang.Exception - A System.TimeoutException will be thrown if a connection to the sensor cannot be established or the module doesn't respond.
      Comments
      See the comments under the SetTempNotification() method documentation for more details
    • SetTempNotificationSetup

      public boolean SetTempNotificationSetup​(TemperatureNotificationSettings tempSettings) throws java.lang.Exception
      Methods
      boolean SetTempNotificationSetup(TemperatureNotificationSettings tempSettings)
      Summary:
      This method sets the time intervals and thresholds for reporting module temperature during continuous tag read sessions.
      Parameters:
      tempSettings - input TemperatureNotificationSetting object that contains the information to be set to the reader.
      Returns:
      This function will return true if it is able to set the Temperature Notification Settings. It will return false otherwise. This method will fail if an attempt is made to set the alert interval to less than 10 seconds or the alarm threshold is set above 85 degrees C.
      Throws:
      java.lang.Exception - A System.TimeoutException will be thrown if a connection to the sensor cannot be established or the module doesn't respond.
      Comments
      There are two types of UDP notifications to port 3984 that are sent from the sensor related to the temperature
      The first is a periodic notification of the module's temperature at an interval specified by the NotificationInterval parameter. This can be turned off by setting it to 0. The default for this interval is 30 seconds.
      These notifications are sent when the module exceeds a couple of thresholds. A warning is issued when the temperature exceeds the value specified by the WarningThreshold parameter. An alert is issued when the temperature exceeds the value specified by AlertThreshold. As long as the temperature stays above these values, the warning or the alert is not resent. However, if the temperature drops at least 2 degrees below these levels, then rises above them again, the warning or alert is reissued.
      The warnings can be turned off by setting the WarningThreshold very high. However, to protect the module, alerts cannot be turned off and the threshold cannot be set above 85 degrees C.
      The default warning threshold is 60 degrees C. The default alert threshold is 85 degrees C. These thresholds are checked periodically determined by the AlertInterval parameter. The time interval has a default value of 30 seconds. It cannot be be lower than 10 seconds. If this value is set to a very long time interval (greater than 5 minutes) the module may become excessively hot and will automatically shut down to protect itself.
    • SaveCurrentConfiguration

      public boolean SaveCurrentConfiguration() throws java.lang.Exception
      Method:
      boolean SaveCurrentConfiguration()
      Summary:
      This method saves the various configurable setting to flash memory so that they will be active when the sensor reboots.
      Returns:
      This function will return true if it is able to save the settings. It will return false otherwise.
      Throws:
      java.lang.Exception - A System.TimeoutException will be thrown if a connection to the sensor cannot be established or the module doesn't respond.
      Comments
      The configuration information saved includes:
      • The Reader Name
      • Networking parameters
      • Heartbeat parameters
      • Antenna Power values
      • Antenna Sequencing setup
      • Temperature Management parameters
    • RestoreSavedConfiguration

      public boolean RestoreSavedConfiguration() throws java.lang.Exception
      Method:
      boolean RestoreSavedConfiguration()
      Summary:
      This method sends a request to the sensor to restore the saved configuration values that are stored in flash memory.
      Returns:
      this function will return true if it is able to restore the saved configuration. It will return false otherwise.
      Throws:
      java.lang.Exception - A System.TimeoutException will be thrown if a connection to the sensor cannot be established or the module doesn't respond.
      Comments
      This command restores the configuration information documented under the comments section of the SaveCurrentConfiguration() method. Note that the sensor does not check whether the networking parameters are reset. Consequently, the sensor shuts down the TCP communication socket and reopens it to wait for new commands. The underlying communications layer for this API handles this situation and also works to reestablish communication. Your application layer, however, will need to provide the IP address and port number to reestablish this communication link if these values are different between the saved configuration and the setup prior to calling this method.
      The primary purpose of this command is to allow you to experiment with different configurations, then elect to restore the last saved configuration if things don't behave the way you want. (This can also be achieved by rebooting or power-cycling the sensor.)
    • ResetToDefaultConfiguration

      public boolean ResetToDefaultConfiguration() throws java.lang.Exception
      Methods
      boolean ResetToDefaultConfiguration()
      Summary:
      This method sends a request to the sensor to restore the saved configuration values that are stored in flash memory.
      Returns:
      This function will return true if it is able to reset the default configuration. It will return false otherwise.
      Throws:
      java.lang.Exception - A System.TimeoutException will be thrown if a connection to the sensor cannot be established or the module doesn't respond.
      Comments
      This command restores the configuration information documented under the comments section of the SaveCurrentConfiguration() method back to its factory defaults. Once the defaults have been restored and the sensor acknowledges having received the command, it shuts down the TCP communication socket and reopens it to wait for new commands. Your application layer will need to provide the IP address and port number to reestablish to this class so that it can attempt to open communication on the right IP address and port.
    • GetBootloaderInfo

      public int GetBootloaderInfo() throws java.lang.Exception
      Methods
      int GetBootloaderInfo()
      Summary:
      This method returns the Ethernet port over which firmware updates are performed.
      Returns:
      This function will the Ethernet port over which firmware updates are performed.
      Throws:
      java.lang.Exception - A System.TimeoutException will be thrown if a connection to the sensor cannot be established or the module doesn't respond.
    • GetBootloaderInfo

      public void GetBootloaderInfo​(BootloaderInfo bootloaderObj) throws java.lang.Exception
      Methods
      int GetBootloaderInfo(BootloaderInfo bootloaderObj)
      Summary:
      This method returns the Ethernet port over which firmware updates are performed.
      Parameters:
      bootloaderObj - -- An object containing the bootloaderPort, versionMajor, versionMinor
      Throws:
      java.lang.Exception - A System.TimeoutException will be thrown if a connection to the sensor cannot be established or the module doesn't respond.
    • Reboot

      public boolean Reboot() throws java.lang.Exception
      Method:
      boolean Reboot()
      Summary:
      This method issues the reboot command to the sensor.
      Returns:
      This function always returns True.
      Throws:
      java.lang.Exception - A System.TimeoutException will be thrown if a connection to the sensor cannot be established or the module doesn't respond.
      Comments
      Note that as long as the sensor receives the command issued by this method, it will reboot immediately without sending a response. This method will close the underlying socket. Consequently, it is the responsibility of the application to provide the correct IP address and port number to this class if the saved configuration is different from the current setup.
    • GetGPIOSetup

      public byte GetGPIOSetup() throws java.lang.Exception
      Method:
      byte GetGPIOSetup()
      Summary:
      This method returns the settings for the general-purpose outputs and the detected state of the general-purpose inputs
      Returns:
      this method returns a byte value for the settings of the general-purpose inputs and outputs. The 8 bits of the value are [i4, i3, i2, i1, o4, o3, o2, o1]. A 1 for the input values indicating a high voltage level (between 5 and 24 volts) and a 0 indicating a level below 3 volts. A 1 for an output bit indicates that the output has been turned on, and a 0 indicates it is off.
      Throws:
      java.lang.Exception - A System.TimeoutException will be thrown if the connection to the sensor cannot be established or the module doesn't respond.
    • SetGeneralPurposeOutputs

      public boolean SetGeneralPurposeOutputs​(byte newGPOs) throws java.lang.Exception
      Method:
      boolean SetGeneralPurposeOutputs(bytes newGPOs)
      Summary:
      This method sets the general-purpose outputs
      Parameters:
      newGPOs - This input parameter is sent to the sensor to turn the general-purpose outputs on or off. The 8 bits of the value are [0, 0, 0, 0, 04, 03, 02, 01]. A 1 turns the output on, and a 0 turns it off
      Returns:
      This command will fail if the 4 most significant bits are not set to 0. In all other cases it will return true unless the communication with the reader times out in which case this method throws a timeout exception.
      Throws:
      Exception - A System.TimeoutException will be thrown if the connection to the sensor cannot be established or the module doesn't respond.

      Note:

      The original reader firmware returned a response to this command which made it so the command could not be sent while the reader was inventorying tags. This command now sends the command and immediately returns. This version is compatible with reader firmware version 22.07.13.* or newer. This breaks any backward compatibility with older versions of the firmware.

    • Get24VDCStatus

      public Config24V Get24VDCStatus() throws java.lang.Exception
      Method:
      Config24V Get24VDCStatus()
      Summary:
      This method returns the current setup of the 24V DC output on the GPIO connector as well as what its state is when the sensor is started or restarted.
      Returns:
      This method returns a Config24V object containing a boolean state24V that is true if the 24VDC power is turned on, and a boolean startupState24V that is true if the 24VDC is automatically turned on when the sensor is started or restarted.
      Throws:
      java.lang.Exception - A System.TimeoutException will be thrown if the connection to the sensor cannot be established or the module doesn't respond.
    • Set24VStatus

      public boolean Set24VStatus​(Config24V config24V) throws java.lang.Exception
      Method:
      boolean Set24VStatus(Config24V config24V)
      Summary:
      This method turns the 24VDC on or off and sets the configuration that determines whether it is on or off on startup
      Parameters:
      config24V - This input parameter is a Config24V object that contains a boolean, state24V, that turns 24VDC power on when true and off when false, and a boolean, startupState24V, that determines whether the 24VDC power is on (true) when the sensor is restarted, or off (false).
      Returns:
      This function will return true if it is able to change to the new setup for the 24VDC. It will return false otherwise.
      Throws:
      java.lang.Exception - A System.TimeoutException will be thrown if the connection to the sensor cannot be established or the module doesn't respond.
      Comments
      The initial configuration of the 24VDC is set via startupState24V. However, as with any configuration item that is part of the startup process, the method SaveCurrentConfiguration() needs to be called before it will be effective.
    • GetSelectParameters

      public void GetSelectParameters​(SelectParameters selectParametersObj) throws java.lang.Exception
      Method:
      void GetSelectParameters(SelectParameters selectParametersObj)
      Summary:
      The method returns the inventory mode and pre-select count for the module.
      Parameters:
      selectParametersObj - -- an object containing the inventory mode and pre-select count InventoryMode -- The value of the InventoryMode setting will be returned through this parameter. The values returned will be:
      • 0 - No Pre-selects
      • 1 - Pre-select before all query/rep cycles
      • 2 - Pre-select before each antenna change
      • 3 - Pre-select only on start of inventory process
      • 4 - Only do pre-selects; no query/rep cycles
      PreSelectCount -- The number of pre-selects that will be issued before each read cycle subject to the processing determined by the InventoryMode parameter. Note that PreSelectCount = 0 and InventoryMode = 0 are equivalent and will be implemented by setting InventoryMode to 0 when doing and inventory read.
      Throws:
      java.lang.Exception - A System.TimeoutException will be thrown if the connection to the sensor cannot be established or the module doesn't respond.
    • SetSelectParameters

      public boolean SetSelectParameters​(SelectParameters selectParametersObj) throws java.lang.Exception
      Method:
      void GetSelectParameters(SelectParameters selectParametersObj)
      Summary:
      The method sets the inventory mode and pre-select count for the module.
      Parameters:
      selectParametersObj - -- The select parameters will be set from the following object attributes: InvetoryMode -- The values set will be:
      • 0 - No Pre-selects
      • 1 - Pre-select before all query/rep cycles
      • 2 - Pre-select before each antenna change
      • 3 - Pre-select only on start of inventory process
      • 4 - Only do pre-selects; no query/rep cycles

      PreSelectCount -- The number of pre-selects that will be issued before each read cycle subject to the processing determined by the InventoryMode parameter. Note that PreSelectCount = 0 and InventoryMode = 0 are equivalent and will be implemented by setting InventoryMode to 0 when doing and inventory read.
      Returns:
      This function will return true if it is able to set the sensor's select parameters and they are within the specified range of values. This function will return false otherwise.
      Throws:
      java.lang.Exception - A System.TimeoutException will be thrown if the connection to the sensor cannot be established or the module doesn't respond.
    • SetSelectParameters

      public boolean SetSelectParameters​(byte inventoryMode, byte preSelectCount) throws java.lang.Exception
      Method:
      void GetSelectParameters(SelectParameters selectParametersObj)
      Summary:
      The method sets the inventory mode and pre-select count for the module.
      Parameters:
      inventoryMode - -- The value of the InventoryMode setting will be returned through this parameter. The values returned will be:
      • 0 - No Pre-selects
      • 1 - Pre-select before all query/rep cycles
      • 2 - Pre-select before each antenna change
      • 3 - Pre-select only on start of inventory process
      • 4 - Only do pre-selects; no query/rep cycles
      preSelectCount - -- The number of pre-selects that will be issued before each read cycle subject to the processing determined by the InventoryMode parameter. Note that PreSelectCount = 0 and InventoryMode = 0 are equivalent and will be implemented by setting InventoryMode to 0 when doing and inventory read.
      Returns:
      This function will return true if it is able to set the sensor's select parameters and they are within the specified range of values. This function will return false otherwise.
      Throws:
      java.lang.Exception - A System.TimeoutException will be thrown if the connection to the sensor cannot be established or the module doesn't respond.
    • SetCustomerKey

      public boolean SetCustomerKey​(java.lang.String CustomerKeyFile) throws java.lang.Exception
      Method:
      boolean SetCustomerKey(String CustomerKeyFile)
      Summary:
      This method sets the checks and sets the customer key signature to be used for afec.
      Parameters:
      CustomerKeyFile - -- The string will contain the full file content of the customer key file. Size is limited.
      Returns:
      This function will return true if the setting is valid. Otherwise false will be returned
      Throws:
      java.lang.Exception - A System.TimeoutException will be thrown if the connection to the sensor cannot be established or the module doesn't respond.
    • GetReadGapTimes

      public ReadGapTimes GetReadGapTimes() throws java.lang.Exception
      Method:
      ReadGapTimes GetReadGapTimes()
      Summary:
      This command retrieves the current read time interval and the time interval between read cycles.
      Returns:
      This method returns a ReadGapTimes object that contains the read time and gap time of the sensor.
      Throws:
      java.lang.Exception - A System.TimeoutException will be thrown if the connection to the sensor cannot be established or the module doesn't respond.
    • SetReadGapTimes

      public boolean SetReadGapTimes​(ReadGapTimes readGapTimes) throws java.lang.Exception
      Method:
      boolean SetReadGapTimes(ReadGapTimes readGapTimes)
      Summary:
      This method sets the time interval for an inventory read cycle and the time interval between reads.
      Parameters:
      readGapTimes - This input parameter is a ReadGapTimes object that contains the read time and gap time to be set in the sensor.
      Returns:
      This function will return true it if is able to set the read time and the gap time of the sensor. It will return false otherwise. This command will fail if an attempt is made to set the GapTime less than 10 ms.
      Throws:
      java.lang.Exception - A System.TimeoutException will be thrown if the connection to the sensor cannot be established or the module doesn't respond.
      Comments
      The read time is the time interval for reading tags for each antenna in the antenna sequence. The gap time is the time interval between read cycles where the reader switches to the next antenna in the sequence, sets up the read power level for driving that particular antenna as well as doing a bit of housekeeping. The minimum time interval allotted for these to complete is 10 ms, hence the minimum value validation for the gap time.
      Note that the read and gap times establish a duty cycle for the operation of the RF module. Since the module can overheat when run continuously, we encourage you to either monitor the module's temperature carefully during high duty cycle operation, or set the duty cycle up to allow for extended operation under your ambient temperature conditions.
      More information about selecting appropriate read and gap times based on ambient temperature can be found in the SensThys white paper "Thermal Performance of the SensArray".
    • GetReadSequence

      public int[] GetReadSequence() throws java.lang.Exception
      Method:
      int[] GetReadSequence()
      Summary:
      This method retrieves the sequence of antennas that the reader loops through when performing a continuous tag inventory read cycle.
      Returns:
      this method returns an array of antenna numbers reflecting the sequence of antennas that the reader will cycle through during a continuous inventory read cycle.
      Throws:
      java.lang.Exception - A System.TimeoutException will be thrown if the connection to the sensor cannot be established or the module doesn't respond.
      Comments
      Note that the antenna sequence can have repeats. For example, the sequence [0, 0, 1, 0, 1, 1] (with SequenceLength 6) would read antenna 0 for 2 cycle, then alternate between antenna 1 and antenna 0 for one cycle each, then read antenna 1 for 2 consecutive cycles before looping back and repeating the entire sequence.
      The purpose of this is to allow for effectively longer read periods on some antennas than on others due to tag density or other factors that might effect read accuracy.
    • SetReadSequence

      public boolean SetReadSequence​(int[] antennaSequence) throws java.lang.Exception
      Method:
      boolean SetReadSequence(int[] antennaSequence)
      Summary:
      This method sets the sequence of antennas that the reader loops through when performing a continuous tag inventory read cycle.
      Parameters:
      antennaSequence - This input parameter is used to pass an array of antenna numbers to the reader to set the sequence of antennas that it will cycle through during a continuous inventory read cycle.
      Returns:
      This function will return true if it is able to set the reader's antenna sequence. It Will return false otherwise. This command will fail if the antenna numbers in the sequence fall outside the range from 0 to 3. Also, the maximum number of antennas is 16, this method will fail if the antennaSequence length is greater than 16.
      Throws:
      java.lang.Exception - A System.TimeoutException will be thrown if the connection to the sensor cannot be established or the module doesn't respond.
      Comments
      Note that the antenna sequence can have repeats. For example, the sequence [0, 0, 1] (with SequenceLength 3) would read antenna 0 for 2 cycles, read antenna 1, then loop back repeating the entire sequence. This would effectively give antenna 0 twice as much air time as antenna 1.
      The purpose of this is to allow for effectively longer read periods on some antennas than on others due to tag density or other factors that might affect read accuracy.
    • SetInventoryFilter

      public boolean SetInventoryFilter​(TagMask filter) throws java.lang.Exception
      Method:
      boolean SetInventoryFilter(TagMask filter)
      Summary:
      This method sets the filter to be used during tag inventory cycles
      Parameters:
      filter - This input parameter is a TagMask object that contains the mask information to be used in the filter.
      Returns:
      This function will return true if it is able to set the filter. It will return false otherwise.
      Throws:
      java.lang.Exception - A System.TimeoutException will be thrown if the connection to the sensor cannot be established or the module doesn't respond.
      Comments
      Inventory filters can be cleared by calling the provided method ClearInventoryFilter(boolean makePersistent).
    • ClearInventoryFilter

      public boolean ClearInventoryFilter​(boolean makePersistent) throws java.lang.Exception
      Method:
      boolean ClearInventoryFilter(boolean makePersistent)
      Summary:
      This method clears the filter used during tag inventory cycles.
      Parameters:
      makePersistent - This parameter specifies whether or not any filter saved in the module should be permanently cleared. If set to false, the next time the module reboots, the prior saved filter will become active again.
      Returns:
      This function will return true if it is able to set the filter. It will return false otherwise.
      Throws:
      java.lang.Exception - A System.TimeoutException will be thrown if the connection to the sensor cannot be established or the module doesn't respond.
      Comments
      This is a convenience method that simply calls SetInventoryFilter(filter) with 0 values.
    • ReadTag

      public SingleTagInfo ReadTag() throws java.lang.Exception
      Throws:
      java.lang.Exception
    • StartContinuousRead

      public boolean StartContinuousRead() throws java.lang.Exception
      Method:
      boolean StartContinuousRead()
      Summary:
      This method starts a continuous tag inventory session. This session continues until the StopContinuousRead() command is received. The "Additional Information" section below describes in more detail how to use these calls
      Returns:
      This function always returns true.
      Throws:
      java.lang.Exception - a System.TimeoutException will be thrown if the initial connection to the sensor cannot be established.
      Comments
      This method along with ReadNextTag() and StopContinuousRead() form a set of commands for performing a continuous tag inventory read cycle. During a continuous read cycle, the reader automatically cycles through the antenna sequence as described in the comments sections of the SetReadGapTimes() and SetAntennaSequence() commands above.
      The primary way these commands are used it to issue StartContinuousRead(), then invoke ReadNextTag() in a loop until the return value from the method call is TagReadInfo.STATUS_DONE. TagReadInfo.STATUS_DONE is issued from ReadNextTag() when it receives the response to the StopContinuousRead() command rather than tag data. Note that due to network latency and other factors, a number of tags may be read after the stop command is issued. Because ReadNextTag() blocks indefinitely waiting for tag data to be returned, StopContinuousRead() must be issued from a separate thread. Typically, a thread would be created to run the ReadNextTag() loop, and the StopContinousRead() command can then be issued from the primary thread.
      Once the StartContinuousRead() method is invoked, the only command that should be sent to the sensor is StopContinuousRead(). ReadNextTag() can be called to listen for the data from the next tag read to be passed back. Otherwise, any other command can result in the sensor locking up and leaving the module in a continuous read state, potentially damaging the reader. This method along with ReadNextTag() – or your registered callback – and StopContinuousRead() form a set of commands for performing a continuous tag inventory read cycle. During a continuous read cycle, the reader automatically cycles through the antenna sequence as described in the comments sections of the SetReadGapTimes() and SetAntennaSequence() commands above.
      There are two ways to use these commands to perform the inventory cycle:
      • The first way to use these commands is to register a callback method with the RFIDReader class, either through the class constructor, or through the SetTagReadCallback() method. The callback interface is documented in the constructor section above. Whenever a callback is registered, StartContinuousRead() starts a background thread to read the tag data continuing until the StopContinuousRead() command is sent. Due to network and process latency, when StopContinuousRead() is sent from your application, the background thread continues to read tags until the response to the StopContinuousRead() command is received. At that point, the status data member of the TagReadInfo structure passed back as the callback parameter is set to TagReadInfo.STATUS_DONE and the background thread stops reading tags.
      • The second way to use these commands is to issue StartContinuousRead(), then invoke ReadNextTag() in a loop until the return value from the method call is TagReadInfo.STATUS_DONE. TagReadInfo.STATUS_DONE is issued from ReadNextTag() when it receives the response to the StopContinuousRead() command rather than tag data. Note that due to network latency and other factors, a number of tags may be read after the stop command is issued. Because ReadNextTag() blocks indefinitely waiting for tag data to be returned, StopContinuousRead() must be issued from a separate thread. Typically, a thread would be created to run the ReadNextTag() loop, and the StopContinousRead() command can then be issued from the primary thread.

      In either scenario, once the StartContinuousRead() method is invoked, the only command that should be sent to the sensor is StopContinuousRead(). ReadNextTag() can be called to listen for the data from the next tag read to be passed back.Otherwise, any other command can result in the sensor locking up and leaving the module in a continuous read state, potentially damaging the reader.
    • ReadNextTag

      public TagReadInfo ReadNextTag() throws java.lang.Exception
      Method:
      TagReadInfo ReadNextTag()
      Summary:
      This method is used to collect tag information.
      Returns:
      This method returns a TagReadInfo object that contains the EPC, RSSI, and Antenna Number.
      Throws:
      java.lang.Exception - Generally, no exceptions will be thrown for this call. As always, it is good practice to put this in a try/catch block to handle unusual situations that might crop up and cause your application to crash if not caught.
      Comments
      See the discussion under the Additional Information section for the StartContinuousRead() method for how to perform a continuous tag inventory cycle.
      Note that this command blocks waiting for the next tag to be returned. Because of this, the only way to stop the continuous read cycle is to call the StopContinuousRead() from a separate thread.
    • ReadNexSensorInfoItem

      public SensorInfo ReadNexSensorInfoItem() throws java.lang.Exception
      Method:
      boolean StopContinuousRead()
      Summary:
      This method is called to stop a continuous read cycle started by the StartContinuousRead() method.
      Returns:
      This always returns true.
      Throws:
      java.lang.Exception - A System.TimeoutException will be thrown if the connection to the sensor has been lost and cannot be reestablished in a timely manner.
      Comments
      See the discussions under the Additional Information section of the StartContinuousRead() method and ReadNextTag() method above.
    • StopContinuousRead

      public boolean StopContinuousRead() throws java.lang.Exception
      Method:
      boolean StopContinuousRead()
      Summary:
      This method is called to stop a continuous read cycle started by the StartContinuousRead() method.
      Returns:
      This always returns true.
      Throws:
      java.lang.Exception - A System.TimeoutException will be thrown if the connection to the sensor has been lost and cannot be reestablished in a timely manner.
      Comments
      See the discussions under the Additional Information section of the StartContinuousRead() method and ReadNextTag() method above.
    • StopContinuousRead

      public boolean StopContinuousRead​(byte resumeTime) throws java.lang.Exception
      Method:
      boolean StopContinuousRead(byte resumeTime)
      Summary:
      This method is called to stop a continuous read cycle started by the StartContinuousRead() method. This is an overloaded version where a restart time after which the stopped AutoSense program will be automatically restarted.
      Parameters:
      resumeTime - -- This parameter specifies the time after the reader stops to when the running AutoSens program is resumed. This parameter specifies the time in minutes and has a range from 0 to 15. Specifying 0 is equivalent to calling StopContinuousRead() without any parameters and results in the AutoSens program remaining stopped until manually restarted or the reader is rebooted when Start AutoSens on Boot is active.
      Returns:
      This always returns true.
      Throws:
      java.lang.Exception - A System.TimeoutException will be thrown if the connection to the sensor has been lost and cannot be reestablished in a timely manner.
      Comment:
      Note that this AutoResume feature is only applicable for AutoSens programs that do not require the main socket for data delivery. AutoResume will work for any AutoSens macro program where the data is through a connection that is established by the reader while running the AutoSens program. For those cases where the AutoSens program is streaming to the main communication port(5000), this command will result in a non-resuming stop being issued to reader.

      See the discussion under the Additional Information sections of the StartContinuousRead() method and ReadNextTag() method above.
    • ResetReceiveTimeout

      public boolean ResetReceiveTimeout()
      Method:
      boolean ResetReceiveTimeout()
      Summary:
      This method requests a single inventory read cycle returning any detected tag.
      Returns:
      This function will always return true.
    • ReadTagData

      public TagFields ReadTagData​(int accessPassword, TagMask tagMask, TagFields tagFields) throws java.lang.Exception
      Method:
      TagFields ReadTagData(int accessPassword, TagMask tagMask, TagFields tagFields)
      Summary:
      This method reads the tag data from the specified tag data bank: 0 = Reserved data, 1 = EPC data, 2 = Tag Identifier Data (TID), 3 = User data. The tags read are filtered using the mask data against the location specified by the maskBank, maskStartBitAddress (offset into bank in number of bits) with length specified by maskBitLength number of bits. DataWordLength number of words will be read from the bank specified by the dataBank parameter starting at offset dataStartWord words.
      Parameters:
      accessPassword - This specifies the password needed when reading the tag data. In general, specifying a non-zero value is only needed when the access password and/or kill password have been locked. For all other data banks and to read the passwords when they are not locked, either 0 or the value that matches the currently programmed password for the tag can be used.
      tagMask - This parameter is a TagMask object containing the mask information.
      tagFields - This parameter is a TagFields object that will contain the information read from the tag.
      Returns:
      This methods returns the TagFields object populated by this method.
      Throws:
      java.lang.Exception - A System.TimeoutException will be thrown if the connection to the sensor cannot be established or the module doesn't respond. A System.IndexOutOfRangeException will be thrown if the "data" array was not allocated with at least a size of dataWordLength.
    • ReadRfMicronSensorData

      public RFMicronSensorData ReadRfMicronSensorData​(RFMicronSensorData rfMicronSensorDataObj) throws java.lang.Exception
      Method:
      RFMicronSensorData ReadRfMicronSensorData(RFMicronSensorData rfMicronSensorDataObj)
      Summary:
      This method reads the tag data from the specified tag data bank: 0 = Reserved data, 1 = EPC data, 2 = Tag Identifier Data (TID), 3 = User Data. The tags read are filtered using the mask data against the location specified by the maskBank, maskStartBit(offset into bank in number of bits) with length specified by maskBitLength number of bits. DataWordLength number of words will be read from the bank specified by the dataBank parameter starting at offset dataStartWord words.
      Parameters:
      rfMicronSensorDataObj - -- an object containing the following parameters: access password -- This specifies the password needed when reading the tag data. In general, specifying a non-zero value is only needed when the access password and kill password have been locked. For all other data banks and to read the passwords when they are not locked, either 0 or the value that matches the currently programmed password for the tag can be used. maskBank, maskStartBit, maskBitLength, mask -- These 4 fields specify a mask for filtering which tag is to be read. The maskBank specifies the data bank to filter on (1 = EPC data, 2 = Tag Identifier data, or 3 = User data). The starting bit position within the data bank that the filter begins from is specified by maskStartBit, the length of the mask in bits is specified by maskBitLength, and the actual mask data is specified by the mask parameter.
      As an example, if you wanted to mask based on the TID of a tag with TID value E20034140117010112DD127E, maskBank = 2, maskStartBit = 0, maskBitLength = 96 (12 bytes * 8 bits/byte) and mask = [E2, 00, 34, 14, 01, 17, 01, 01, 12, DD, 12, 7E]. dataBank, dataStartWord, dataWordLength, data -- The parameter dataBank specifies the data bank to be read (0 = Reserved data, 1 = EPC data, 2 = Tag Identifier data, 3 = User Data), dataStartWord specifies the number of words to read. The data is returned as dataWordLength number of elements filler in the data array. Note that the data array is allocated by the calling program and must be at least dataWordLength elements long.
      As an example, if you wanted to read words 2 and 3 of the TID specified above, we would pass in dataBank = 2, dataStartWord = 1 (the indexing is zero based) and dataWordLength = 2. On a successful read, this method would return data = [3414, 0117]. errorCode -- This returns the underlying error code detailing any problems. Typical error codes are: 1 - the specified parameters are not supported, 2 - the password specified was wrong or provided insufficient privileges (e.g., 0 when associated parts of the tag are locked, and 3 - mask or data locations and/or lengths were not specified correctly. These error codes correspond to the values documented in Annex I of the EPCGlobal Gen2 Specification (Nov-2013, Version 2.0).
      Returns:
      This function will return the object containing the parameters listed above.
      Throws:
      java.lang.Exception - A System.TimeoutException will be thrown if the connection to the sensor has been lost and cannot be reestablished in a timely manner.
      Comment:
      Note that this AutoResume feature is only applicable for AutoSens programs that do not require the main socket for data delivery. AutoResume will work for any AutoSens macro program where the data is through a connection that is established by the reader while running the AutoSens program. For those cases where the AutoSens program is streaming to the main communication port(5000), this command will result in a non-resuming stop being issued to reader.

      See the discussion under the Additional Information sections of the StartContinuousRead() method and ReadNextTag() method above.
    • WriteTagData

      public TagFields WriteTagData​(int accessPassword, TagMask tagMask, TagFields tagFields) throws java.lang.Exception
      Method:
      TagFields WriteTagData(int accessPassword, TagMask tagMask, TagFields tagFields)
      Summary:
      This method reads the tag data from the specified tag data bank: 0 = Reserved data, 1 = EPC data, 2 = Tag Identifier data (generally not writable), 3 = User data using the mask data against the location specified by the maskBank, maskStartBitAddress (offset into bank in number of bits) with length specified by maskBitLength number of bits. DataWordLength number of words will be written to the bank specified by the dataBank parameter starting at offset dataStartWord words.
      Parameters:
      accessPassword - Described in detail under the ReadTagData() method.
      tagMask - Described in detail under the ReadTagData() method.
      tagFields - TagFields object containing the information to be written to the tag.
      Returns:
      This function will return the a TagFields object used to pass the any error codes back to the caller.
      Throws:
      java.lang.Exception - A System.TimeoutException will be thrown if the connection to the sensor cannot be established or the module doesn't respond.
    • LockTagData

      public RFIDReader.RFIDStatus LockTagData​(int accessPassword, TagMask tagMask, int killPwdLock, int accessPwdLock, int epcLock, int userDataLock, TagFields tagFields) throws java.lang.Exception
      Method:
      RFIDStatus LockTagData(int accessPassword, TagMask tagMask, int killPwdLock, int accessPwdLock, int epcLock, int userDataLock, TagFields tagFields)
      Summary:
      This method locks, unlocks, or permanently locks or unlocks one or more data banks on the tag. The tag to which the lock is to be applied can be selected using the mask data.
      Parameters:
      accessPassword - Specifies the password needed to lock the tag data.
      tagMask - object used to filter which tag is to be read
      killPwdLock - Specify the type of lock to be applied
      • RFIDLockState.NoChange = 0 -- The lock state of the associated bank is not be changed.
      • RFIDLocKState.Lock = 1-- The bank's lock bit is to be set.
      • RFIDLockState.Unlock = 2 -- The bank's lock bit is to be cleared.
      • RFIDLocKState.PermaLock = 4 -- The bank's permalock bit is to be set.
      • RFIDLockState.PermaUnlock = 8 -- The bank's permalock bit is to be cleared.
      accessPwdLock - Specify the type of lock to be applied
      • RFIDLockState.NoChange = 0 -- The lock state of the associated bank is not be changed.
      • RFIDLocKState.Lock = 1-- The bank's lock bit is to be set.
      • RFIDLockState.Unlock = 2 -- The bank's lock bit is to be cleared.
      • RFIDLocKState.PermaLock = 4 -- The bank's permalock bit is to be set.
      • RFIDLockState.PermaUnlock = 8 -- The bank's permalock bit is to be cleared.
      epcLock - Specify the type of lock to be applied
      • RFIDLockState.NoChange = 0 -- The lock state of the associated bank is not be changed.
      • RFIDLocKState.Lock = 1-- The bank's lock bit is to be set.
      • RFIDLockState.Unlock = 2 -- The bank's lock bit is to be cleared.
      • RFIDLocKState.PermaLock = 4 -- The bank's permalock bit is to be set.
      • RFIDLockState.PermaUnlock = 8 -- The bank's permalock bit is to be cleared.
      userDataLock - Specify the type of lock to be applied
      • RFIDLockState.NoChange = 0 -- The lock state of the associated bank is not be changed.
      • RFIDLocKState.Lock = 1-- The bank's lock bit is to be set.
      • RFIDLockState.Unlock = 2 -- The bank's lock bit is to be cleared.
      • RFIDLocKState.PermaLock = 4 -- The bank's permalock bit is to be set.
      • RFIDLockState.PermaUnlock = 8 -- The bank's permalock bit is to be cleared.
      tagFields - Used to return any error codes back to the caller.
      Returns:
      This function will return RFIDStatus.OK if it is able to change the lock status of all of the specified data banks. It will return RFIDStatus.Failed otherwise. and set the errorCode parameter indicating the specific error condition. In addition, none of the specified locks are applied. The values for the returned error code are documented under the ReadTagData/errorCode parameter section above.
      Throws:
      java.lang.Exception - A System.TimeoutException will be thrown if the connection to the sensor cannot be established or the module doesn't respond.
    • KillTag

      public RFIDReader.RFIDStatus KillTag​(int killPassword, TagMask tagMask, TagFields tagFields) throws java.lang.Exception
      Method:
      RFIDStatus KillTag(int killPassword, TagMask tagMask, TagFields tagFields )
      Summary:
      This method kills the tag reference by the specified input mask.
      Parameters:
      killPassword - This parameter specifies the 32 bit kill password that must have been programmed into the tag prior to making this call
      tagMask - This parameter is used to select a specific tag to be killed.
      tagFields - this parameter is used to return the errorCode back to the caller. Typical error codes are: 1 - the specified parameters are not supported, 2 - the password specified was wrong or provided insufficient privileges (e.g., 0 when associated parts of the tag are locked, and 3 - mask or data locations and/or lengths were not specified correctly. These error codes correspond to the values documented in Annex I of the EPCGlobal Gen2 Specification (Nov-2013, Version 2.0).
      Returns:
      This function will return RFIDStatus.OK if it is able to kill the specified tag. It will return RFIDStatus.FAILED otherwise and return the extended error code in the errorCode parameter.
      Throws:
      java.lang.Exception - A System.TimeoutException will be thrown if the connection to the sensor cannot be established or the module doesn't respond.
    • GetErrorList

      public ErrorList GetErrorList() throws java.lang.Exception
      Method:
      ErrorList GetErrorList()
      Summary:
      This method returns the list of errors detected and recorded by the sensor
      Returns:
      This method returns a ErrorList object that contains the number of errors, when, the code, data1 and data2.
      Throws:
      java.lang.Exception - A System.TimeoutException will be thrown if the connection to the sensor cannot be established or the module doesn't respond.
      Comments
      The specific error codes are documented in the "SensArray Communications Protocol" document.
    • ClearErrorList

      public boolean ClearErrorList() throws java.lang.Exception
      Method:
      boolean ClearErrorList
      Summary:
      This command clears the internal error list held by the sensor
      Returns:
      This function will return true if it is able to clear the sensor's error list. It will return false otherwise.
      Throws:
      java.lang.Exception - A System.TimeoutException will be thrown if the connection to the sensor cannot be established or the module doesn't respond.
      Comments
      The error list accumulates from the time the sensor starts or from the time the list is cleared. To conserve space, up to 32 errors will be recorded. Once the list is full, it overwrite the oldest error keeping the most recent 32 errors.
    • GetAutoSenseProgram

      public java.lang.String GetAutoSenseProgram() throws java.lang.Exception
      Method:
      String GetAutoSenseProgram()
      Summary:
      This method returns a string of semicolon (';') separated SensArray macros corresponding to the currently active AutoSens macro program.
      Returns:
      This function will return a string for the macro program for AutoSens.
      Throws:
      java.lang.Exception - A System.TimeoutException will be thrown if the connection to the sensor has been lost and cannot be reestablished in a timely manner.
    • SetAutoSenseProgram

      public boolean SetAutoSenseProgram​(java.lang.String macroProgram) throws java.lang.Exception
      Method:
      boolean SetAutoSenseProgram(String macroProgram)
      Summary:
      This method uses a string of semicolon (';') separated SensArray macros corresponding to the active AutoSens macro program. This string will be check to be sure that it represents a valid AutoSens program and set up as the configured program if it checks out properly.
      Parameters:
      macroProgram - -- The macro program string to be set to the reader.
      Returns:
      This function will return true if it is a valid AutoSens macro program. It will return false otherwise.
      Throws:
      A - System.TimeoutException will be thrown if the connection to the sensor cannot be established or the sensor doesn't respond.
      java.lang.Exception
    • GetOperatingMode

      public java.lang.String GetOperatingMode() throws java.lang.Exception
      Method:
      String GetOperatingMode()
      Summary:
      This method returns the operating mode of the sensor. Possible return values include:
      ERR: Sensors is not ready to communicate. Generally only appears for the first few seconds after a reboot. You will not be able to connect to the reader when it is in the state.
      APP: Sensor is in the standard operating mode and is not reading tags
      AUT: Sensor is in AutoSens mode actively reading tags.
      BLU: Sensor is updating Bootloader firmware.
      Returns:
      This function will return the operating mode string value per the values shown above.
      Throws:
      A - System.TimeoutException will be thrown if the connection to the sensor cannot be established or the sensor doesn't respond.
      Comment:
      Note that there are two ways that the reader can communicate while actively reading tags in AutoSens mode. This command will be able to connect and return the "AUT" status when AutoSens data is being delivered via the notification mechanism. However, if the reader is delivering data in streaming mode, e.g. it is being run from the RFID Console application, the message queue will be screwed up and an invalid header byte error will be returned.

      Also, there are a couple of additional modes that are displayed in the heartbeat when the reader is updating the module firmware or bootloader is loading the main application firmware. You should be very careful to be sure to not issue this command during any of the firmware update process
      java.lang.Exception
    • GetConnectionInfo

      public java.lang.String GetConnectionInfo​(byte connectionNumber) throws java.lang.Exception
      Method:
      String GetOperatingMode()
      Summary:
      When a data notification macro is specified in an AutoSens program, the data is sent to a connection (0-4) based on the connection information specified by the connection specified by a string with the format "IP_Address:PortNumber". This method returns the connection string specified for the given connection number.
      Parameters:
      connectionNumber - -- This input parameter specifies the connection number for which the connection string is to be returned. This parameter must be in the range from 0 to 4.
      Returns:
      This function will return the connection string in the following format "IP_Address:PortNumber".
      Throws:
      A - System.TimeoutException will be thrown if the connection to the sensor cannot be established or the sensor doesn't respond.
      java.lang.Exception
    • SetConnectionInfo

      public boolean SetConnectionInfo​(byte connectionNumber, java.lang.String connectionString) throws java.lang.Exception
      Method:
      boolean SetConnectionInfo(byte connectionNumber, String connectionString)
      Summary:
      When a data notification macro is specified in an AutoSens program, the data is sent to a connection (0-4) based on the connection information specified by the connection string. The connection string is in the format "IP_Address:PortNumber". Generally, an AutoSens program will deliver data to at most a single connection, we allow up to 5 connections to be specified if more than one is needed by a configuration.
      Parameters:
      connectionNumber - -- This input parameter specifies the connection number for which the connection string is to be set. This parameter must be in the range from 0 to 4.
      connectionString - -- The connection string is an input parameter comprised of an IPv4 address in dotted notation (111.222.1.2) followed by a port number in the range from 0 to 65535. As an example, a connection to be established as "192.168.8.12:8100" (without the quotation marks).
      Returns:
      This function will return true if the ConnectionNumber is between 0 and 4 and the ConnectionString is a combination of a valid IPv4 Address and a port number between 0 and 65535 separated by a ":". It will return false otherwise.
      Throws:
      A - System.TimeoutException will be thrown if the connection to the sensor cannot be established or the sensor doesn't respond.
      java.lang.Exception
    • GetAutoSensStartupState

      public boolean GetAutoSensStartupState() throws java.lang.Exception
      Method:
      boolean GetAutoSensStartupState()
      Summary:
      This method returns a Boolean value indicating whether the specified AutoSens program will be automatically run when the reader reboots
      Returns:
      This function will return a Boolean value of the AutoSens startup state status.
      Throws:
      A - System.TimeoutException will be thrown if the connection to the sensor cannot be established or the sensor doesn't respond.
      java.lang.Exception
    • SetAutoSensStartupState

      public boolean SetAutoSensStartupState​(boolean Running) throws java.lang.Exception
      Method:
      boolean SetAutoSensStartupState(Boolean Running)
      Summary:
      This method takes a boolean value indicating whether the specified AutoSens program is to be automatically run when the reader reboots
      Parameters:
      Running - -- If set to true, the Running input parameter will configure the reader to automatically start the AutoSens program when the reader is rebooted. If it is specified as false, the reader will not start the AutoSens program.
      Returns:
      This method will return true if the reader is able to set the AutoSens statup state. It will return false otherwise.
      Throws:
      A - System.TimeoutException will be thrown if the connection to the sensor cannot be established or the sensor doesn't respond.
      java.lang.Exception
    • SetWiFiConfiguration

      public boolean SetWiFiConfiguration​(java.lang.String SSID, java.lang.String Passcode) throws java.lang.Exception
      Method:
      boolean SetWiFiConfiguration(String SSID, String Passcode)
      Summary:
      This method configures the Wi-Fi parameters in the SensX Extreme readers to enable connections to a Wi-Fi router. The name of the wireless network (SSID) and the password (Passcode) needed to access that network are required for the reader to communicate on that wireless network. The SensX reader requires the wireless router to support WPA2_Personal_AES security settings.
      Parameters:
      SSID - -- This parameter is used to specify the name of the wireless network as it typically broadcast by your wireless router.
      Passcode - -- This parameter is required to allow the reader to provide the password or passphrase to the wireless router to allow it onto the wireless network.
      Returns:
      This function will return true if the SSID and Passcode are not empty strings. If one or the other of these parameters is an empty string, the method will return false.
      Throws:
      A - System.TimeoutException will be thrown if the connection to the sensor cannot be established or the sensor doesn't respond.
      java.lang.Exception
    • GetWiFiConfiguration

      public java.lang.String GetWiFiConfiguration() throws java.lang.Exception
      Method:
      String GetWiFiConfiguration()
      Summary:
      This method retrieves the name of the wireless network (SSID) for the Wi-Fi router that the SensX Extreme reader uses for Wi-Fi connections.
      Returns:
      The method will return a string containing the name of the wireless network (SSID) for the Wi-Fi router that the SensX Extreme reader uses for Wi-Fi connections.
      Throws:
      A - System.TimeoutException will be thrown if the connection to the sensor cannot be established or the sensor doesn't respond.
      java.lang.Exception
    • SetBluetoothConfiguration

      public boolean SetBluetoothConfiguration​(java.lang.String Address, java.lang.String PairingCode) throws java.lang.Exception
      Method:
      boolean SetBluetoothConfiguration(String Address, String PairingCode)
      Summary:
      This method configures the reader to establish a connection with a specific Bluetooth enabled devices such as a Smart Phone, a tablet computer, etc. This communication is enabled by providing the reader with the address and the pairing code of the device the reader will pair with and subsequently communicate with.
      Parameters:
      Address - -- This parameter specifies the Bluetooth Address of the device that will be paired with the reader. The Address must be a string in the form ##:##:##:##:##:## where each pair of ## fields specifies a hexadecimal value. An example of this might be C. Note that there are 6 fields separated by the colon ':' character. This method requires that each # character be one of the values 0-9 or A-F. Also, leading zeros must be provided -- e.g., 01:02:03:04:05:06 cannot be shortened to 1:2:3:4:5:6.
      PairingCode - -- The PairingCode is the security code required by the device that the reader will pair with. This code must be passed by the reader to the Bluetooth-enabled device to provide the credentials that allow the Bluetooth device to know that the reader is authorized to connect. Note that this can be a UTF-8 encoded string.
      Returns:
      This method will return true if the Address and PairingCode are properly formatted as specified in the parameter descriptions above. If either of these parameters is not properly formatted, this method will return false.
      Throws:
      A - System.TimeoutException will be thrown if the connection to the sensor cannot be established or the sensor doesn't respond.
      java.lang.Exception
    • GetBluetoothConfiguration

      public java.lang.String GetBluetoothConfiguration() throws java.lang.Exception
      Method:
      String GetBluetoothConfiguration()
      Summary:
      This method retrieves the address of the Bluetooth device that the reader is configured to send data to.
      Returns:
      This method will return a string with the name of the Bluetooth device the reader will send data to.
      Throws:
      A - System.TimeoutException will be thrown if the connection to the sensor cannot be established or the sensor doesn't respond.
      java.lang.Exception
    • GetGPSData

      public GPSData GetGPSData() throws java.lang.Exception
      Method:
      GPSData GetGPSData()
      Summary:
      This method retrieves the GPS coordinates of the reader.
      Returns:
      This method returns an object of GPSData with the data from the latest GPS reading. The information included in this object is latitude, longitude, altitude, GPS time, speed and heading. See the documentation for the GPSData class for the details on this structure.
      Throws:
      A - System.TimeoutException will be thrown if the connection to the sensor cannot be established or the sensor doesn't respond.
      java.lang.Exception
    • GetGPSConfiguration

      public GPSConfig GetGPSConfiguration() throws java.lang.Exception
      Method:
      GPSConfig GetGPSConfiguration()
      Summary:
      This method retrieves the GPS setup configuration for the Extreme reader. This includes data refresh rate, which fields are included when data is requested or is streamed, and whether the GPS data is to be included in the sensor data output stream from the reader.
      Returns:
      This method returns an object of GPSConfig with the current configuration of the GPS sensor from the Extreme reader. See the documentation for the GPSConfig class for details of which fields can be retrieved.
      Throws:
      A - System.TimeoutException will be thrown if the connection to the sensor cannot be established or the sensor doesn't respond.
      java.lang.Exception
    • SetGPSConfiguration

      public boolean SetGPSConfiguration​(GPSConfig gpsConfig) throws java.lang.Exception
      Method:
      boolean SetGPSConfiguration(GPSConfig gpsConfig)
      Summary:
      This method is used to set the GPS configuration of the Extreme reader. This includes data refresh rate, which fields are included when data is requested or is streamed, and whether the GPS data is to be included in the sensor data output stream from the reader.
      Parameters:
      gpsConfig - -- This parameter passes in the data structure to update the current configuration of the GPS sensor of the Extreme reader. See the documentation for the GPSConfig class for details of which fields can be set.
      Returns:
      This method will return true if the GPS configuration can be set, otherwise, the method will return false.
      Throws:
      A - System.TimeoutException will be thrown if the connection to the sensor cannot be established or the sensor doesn't respond.
      java.lang.Exception
    • GetModuleHardwareId

      public java.lang.String GetModuleHardwareId() throws java.lang.Exception
      Group:
      RF Module ID Queries
      Method:
      String GetModuleHardwareId()
      Summary:
      Returns the RF Module's hardware identifier.
      Returns:
      A string containing the module's hardware identifier is returned to the caller
      Throws:
      java.lang.Exception - A System.TimeoutException will be thrown if a connection to the sensor cannot be established or the module doesn't respond.
      Comments:
      The value returned has the format V#.#.# where the first field (#) is the major version level of the hardware, the second the minor version level, and the third filed contains the revision number.
    • GetModuleFirmwareId

      public java.lang.String GetModuleFirmwareId() throws java.lang.Exception
      Method:
      String GetModuleFirmwareId()
      Summary:
      Returns the RF Module's firmware version number.
      Returns:
      The string representation of the module's firmware version number is returned to the caller.
      Throws:
      java.lang.Exception - A System.TimeoutException will be thrown if a connection to the sensor cannot be established or the module doesn't respond.
      Comments:
      The value returned has the format V#.#.# where the first filed (#) is the major version level of the firmware, the second the minor version level, and the third field contains the firmware's revision number.
    • GetModuleReaderID

      public java.lang.String GetModuleReaderID() throws java.lang.Exception
      Method:
      String GetModuleSerialNumber()
      Summary:
      This function returns the string value corresponding to the reader module's internal serial number.
      Returns:
      The string representation of the module's serial number is returned.
      Throws:
      java.lang.Exception - A System.TimeoutException will be thrown if a connection to the sensor cannot be established or the module doesn't respond.
    • SetModulePower

      public boolean SetModulePower​(PowerSettings pSettings) throws java.lang.Exception
      Group:
      RF Setup and Query Methods
      Method:
      boolean SetModulePowerSettings(Double readPower, Double writePower)
      Summary:
      This function directly sets the read and write power of the RFIDReader module.
      Parameters:
      pSettings - Object containing readPower and writePower. readPower is to be used when reading tags in dBm. Valid range is from 5 to 30. writePower is to be used when writing tags in dBm. Valid range is from 5 to 30.
      Returns:
      This function will return true if it is able to read and return the module's hardware id. It will return false otherwise. This command will fail if readPower or writePower is either less than 5 or greater than 30
      Throws:
      java.lang.Exception - A System.TimeoutException will be thrown if a connection to the sensor cannot be established or the module doesn't respond.
    • GetModulePowerSetting

      public PowerSettings GetModulePowerSetting() throws java.lang.Exception
      Method:
      PowerSettings GetModulePowerSetting()
      Summary:
      Returns the read power and write power levels from the reader module.
      Returns:
      This function will return the object type PowerSetting containing the read power and write power of the module
      Throws:
      java.lang.Exception - A System.TimeoutException will be thrown if a connection to the sensor cannot be established or the module doesn't respond.
      Comments:
      This command is complementary to the setModulePowerSetting command. Not that if the power level has been changed y doing tag inventory reads, the power level is set to the values established by the SetAntennaPowerSettings commands.
    • SetAntennaPower

      public boolean SetAntennaPower​(int antennaId, PowerSettings pSettings) throws java.lang.Exception
      Method:
      boolean SetAntennaPower(int antennaNumber, PowerSettings pSettings)
      Summary:
      Set the read and write power levels for when the reader is transmitting through the specified antenna
      Parameters:
      antennaId - -- The number of the antenna for which the power is to be set. Range is from 0 to 3
      pSettings - Object containing readPower and writePower. readPower is to be used when reading tags in dBm. Valid range is from 5 to 30. writePower is to be used when writing tags in dBm. Valid range is from 5 to 30.
      Returns:
      This function will return the object type PowerSetting containing the read power and write power set in this method.
      Throws:
      java.lang.Exception - A System.TimeoutException will be thrown if a connection to the sensor cannot be established or the module doesn't respond.
    • GetAntennaPowers

      public PowerSettings GetAntennaPowers() throws java.lang.Exception
      Methods:
      PowerSettings GetAntennaPowers()
      Summary:
      Returns the read power and write power level settings in dBm of the internal antenna (index 0) and the three external antennas (indexes 1, 2, and 3)
      Returns:
      This function will return a PowerSettings object with the read power and write power of the internal and three external antennas.
      Throws:
      java.lang.Exception - A System.TimeoutException will be thrown if a connection to the sensor cannot be established or the module doesn't respond.
      Comments:
      This method will always return both arrays with four elements even when interrogating a 2-port device. In that situation, the last 3 elements of each array are set to 0 dBm. Since the valid power range is typically greater than 5 dBm, this acts as an indicator of the number of elements. In the future, the overloaded version with the number of antennas as an output can be used.
    • GetAntennaPowers1

      public PowerSettings GetAntennaPowers1() throws java.lang.Exception
      Throws:
      java.lang.Exception
    • SetActiveAntenna

      public boolean SetActiveAntenna​(int antennaId) throws java.lang.Exception
      Method:
      boolean SetActiveAntenna(int antennaId)
      Summary:
      Sets the specified antenna to be the active one for reading or writing.
      Parameters:
      antennaId - The id of the antenna for transmitting RF power. This value must be between 0 (the internal antenna) and 3.
      Returns:
      This function will return true if it is able to successfully set the active antenna. It will return false otherwise. The command will fail if the AntennaId is not between 0 and 3.
      Throws:
      java.lang.Exception - A System.TimeoutException will be thrown if a connection to the sensor cannot be established or the module doesn't respond.
      Comments:
      This command is typically used when testing the performance of specific antennas or when commissioning or de-commissioning tags.
    • GetActiveAntenna

      public int GetActiveAntenna() throws java.lang.Exception
      Methods:
      int GetActiveAntenna()
      Summary:
      Returns the numeric value of the currently active antenna.
      Returns:
      This function will return the numeric value of the currently active antenna to the caller.
      Throws:
      java.lang.Exception - A System.TimeoutException will be thrown if a connection to the sensor cannot be established or the module doesn't respond.
      Comments:
      The return Active Antenna will correspond to either the value set by the complementary command, SetActiveAntenna, or to the antenna set during a tag inventory cycle.
    • GetTemperatureProtect

      public boolean GetTemperatureProtect() throws java.lang.Exception
      Methods:
      boolean GetTemperatureProtect()
      Summary:
      Returns the status of the modules temperature protection status.
      Returns:
      This function will return true if it is able to read and return the module's temperature protection status. It will return false otherwise.
      Throws:
      java.lang.Exception - A System.TimeoutException will be thrown if a connection to the sensor cannot be established or the module doesn't respond.
      Comments:
      This method encapsulates the module command 0x34. See the "ALR-M UHF RFIDReader Module Communication Protocol" document for more details.
    • GetGen2Params

      public InventoryParameters GetGen2Params() throws java.lang.Exception
      Methods:
      InventoryParameters GetGen2Params()
      Summary:
      The InventoryParameters object is returned with the various Gen2 parameters filled in.
      Returns:
      This function returns the InventoryParameters object containing the various Gen2 parameters.
      Throws:
      java.lang.Exception - A System.TimeoutException will be thrown if a connection to the sensor cannot be established or the module doesn't respond.
      Comments:
      This method encapsulates the module command 0x22. See the "ALR-M UHF RFIDReader Module Communication Protocol" document for more details.
    • SetGen2Params

      public RFIDReader.RFIDStatus SetGen2Params​(InventoryParameters ip) throws java.lang.Exception
      Method:
      RFIDStatus SetGen2Params(InventoryParameters ip)
      Summary:
      The Gen2Params for the RFIDReader module are set to the values specified in the Gen2Params data structure.
      Parameters:
      ip - This is from the InventoryParamers object containing the various Gen2 p0arameters
      Returns:
      This function will return RFIDStatus.OK if it is able to read and return the RF module's Gen2 Parameters. It will return RFIDStatus.FAILED otherwise. This command will fail if an attempt is made to set values that are not valid for the specified data fields of the Gen2DataType structure.
      Throws:
      java.lang.Exception - A System.TimeoutException will be thrown if a connection to the sensor cannot be established or the module doesn't respond.
      Comments:
      This method encapsulates the module command 0x20. See the "ALR-M UHF RFIDReader Module Communication Protocol" document for more details.
    • SetSessionParameter

      public RFIDReader.RFIDStatus SetSessionParameter​(byte sessionParam) throws java.lang.Exception
      Method:
      RFIDStatus SetSessionParameter(byte sessionParam)
      Summary:
      This method sets the Session Parameter.
      Parameters:
      sessionParam - This input parameter passes in the value for the session parameter to be set. The values are 0 through 3 for session 0 through 3.
      Returns:
      This function will return RFIDStatus.OK if it is able to set the session parameter. It will return RFIDStatus.FAILED otherwise.
      Throws:
      java.lang.Exception - A System.TimeoutException will be thrown if the connection to the sensor cannot be established or the module doesn't respond.
      Comments
      The session parameter is one component in the underlying byte protocol for setting the Gen2 parameters. This method reads the Gen2 parameters, changes the session bits, then sends the command to set the Gen2 parameters.
    • GetSessionParameter

      public byte GetSessionParameter() throws java.lang.Exception
      Method:
      byte GetSessionParameter()
      Summary:
      Returns the current byte value for the session parameter.
      Returns:
      sessionParam This function will return the current value for the session parameter in the form of a byte.
      Throws:
      java.lang.Exception - A System.TimeoutException will be thrown if the connection to the sensor cannot be established or the module doesn't respond.
    • GetSearchMode

      public byte GetSearchMode() throws java.lang.Exception
      Method:
      byte GetSearchMode()
      Summary:
      Returns the current search mode for the reader module.
      Returns:
      searchMode This function will return the byte value of the search mode.
      Throws:
      java.lang.Exception - A System.TimeoutException will be thrown if a connection to the sensor cannot be established or the module doesn't respond.
    • SetSearchMode

      public boolean SetSearchMode​(byte searchMode) throws java.lang.Exception
      Method:
      boolean SetSearchMode(byte searchMode)
      Summary:
      Set the search mode of the RFID module
      Parameters:
      searchMode - This parameter specifies the search mode (0) - dual or (1) - single to be set.
      Returns:
      searchMode This function will return true if it is able to set the RF module's search mode. It will return false otherwise. This command will fail if a value other than 0 or 1 is passes in for the parameter.
      Throws:
      java.lang.Exception - A System.TimeoutException will be thrown if a connection to the sensor cannot be established or the module doesn't respond.
    • GetLinkParams

      public byte GetLinkParams() throws java.lang.Exception
      Method:
      byte GetLinkParams()
      Summary:
      The method returns the current Link Parameter setting of the RFIDReader module.
      Returns:
      linkParams This function will return the byte value of the link parameters.
      Throws:
      java.lang.Exception - A System.TimeoutException will be thrown if a connection to the sensor cannot be established or the module doesn't respond.
      Comments
      This method encapsulates the module command 0x54. See the "ALR-M UHF RFID Reader Module Communication Protocol" document for more details.
    • SetLinkParams

      public boolean SetLinkParams​(byte linkParams, boolean save) throws java.lang.Exception
      Method:
      boolean SetLinkParams(byte linkParams, boolean save)
      Summary:
      The method returns the current Link Parameter setting of the RFIDReader module.
      Parameters:
      linkParams - this parameter sets the link parameters to the following values:
      • 0 - DSB_ASK, FM0, 40 kHz
      • 1 - PR_ASK, Miller 4, 250 kHz
      • 2 - PR_ASK, Miller 4, 300 kHz
      • 3 - DSB_ASK, FM0, 400 kHz
      save - this parameter sets whether or not the link parameters will be saved to the module after a power cycle.
      Returns:
      This function will return true if it is able to successfully set the link parameters to the module. It will return false otherwise. This command will fail if the value passed is not between 0 and 3.
      Throws:
      java.lang.Exception - A System.TimeoutException will be thrown if a connection to the sensor cannot be established or the module doesn't respond.
      Comments
      This method encapsulates the module command 0x52. See the "ALR-M UHF RFIDReader Module Communication Protocol" document for more details.
    • GetExpressoModeParams

      public ExpressoModeParameters GetExpressoModeParams() throws java.lang.Exception
      Method:
      ExpressoModeParameters GetExpressoModeParams()
      Summary:
      This method returns a subset of the additional Expresso Mode parameters needed to initiate an Expresso Mode inventory process.
      Returns:
      This function will return on object containing the subset of Expresso Mode parameters.
      Throws:
      A - System.timeoutException will be thrown if a connection to the sensor cannot be established or the module doesn't respond.
      java.lang.Exception
    • SetExpressoModePrams

      public boolean SetExpressoModePrams​(ExpressoModeParameters expressoParams) throws java.lang.Exception
      Method:
      boolean SetExpressoModeParams(ExpressoModeParameters expressoParams)
      Summary:
      The method sets up a subset of the additional Expresso Mode parameters needed to initiate an Expresso Mode inventory process.
      Parameters:
      expressoParams - - an object of ExppressoModeParameters:
      • phase1Time -- The time spent in phase 1 of Expresso mode
      • phase2StartQ -- The starting Q value for phase 2 of Expresso mode
      Returns:
      This function will return true if it is able to set the extra parameters for Expresso Mode. It will return false otherwise.
      Throws:
      A - System.timeoutException will be thrown if a connection to the sensor cannot be established or the module doesn't respond.
      java.lang.Exception
    • GetDRMState

      public boolean GetDRMState() throws java.lang.Exception
      Method:
      boolean GetDRMState()
      Summary:
      This method returns the current DRM setting for RF Mode 1 (M3/250kHz).
      Returns:
      this function will return true if DRM is currently enabled and false otherwise.
      Throws:
      A - System.timeoutException will be thrown if a connection to the sensor cannot be established or the module doesn't respond.
      Comment:
      This method encapsulates the module command 0x54. See the "ALR-M UHG RFID Reader Module Communication Protocol" Document for more details.
      java.lang.Exception
    • SetDRMState

      public boolean SetDRMState​(boolean newDRMState) throws java.lang.Exception
      Method:
      boolean SetDRMState()
      Summary:
      This method sets the current DRM setting for RF Mode 1 (M3/250kHz).
      Parameters:
      newDRMState - -- This parameter becomes the new value for the DRM (Dense Reader Mode) setting for the M3/250kHz RF Mode.
      Returns:
      this function will return true if DRM is able to be set, and false otherwise.
      Throws:
      A - System.timeoutException will be thrown if a connection to the sensor cannot be established or the module doesn't respond.
      Comment:
      This method encapsulates the module command 0x52. See the "ALR-M UHG RFID Reader Module Communication Protocol" Document for more details.
      java.lang.Exception
    • GetRegionCode

      public byte GetRegionCode() throws java.lang.Exception
      Method:
      byte GetRegionCode()
      Summary:
      This method gets the byte code for the current region setting on the reader module.
      Returns:
      This function will return a byte value for the current region as follows:
      • 1 - China (1)
      • 2 - China (2)
      • 4 - Europe
      • 8 - USA
      • 16 - Korea
      • 20 - Europe (2)
      • 22 - Australia/New Zealand
      • 23 - Brazil
      • 24 - Israel
      • 25 - India
      • 32 - Japan
      Throws:
      A - System.timeoutException will be thrown if a connection to the sensor cannot be established or the module doesn't respond.
      java.lang.Exception
    • GetRegionSetting

      public java.lang.String GetRegionSetting() throws java.lang.Exception
      Method:
      String GetRegionSetting()
      Summary:
      This method returns the byte code for the region setting of the reader module.
      Returns:
      regionSetting This function will return a string containing the current region setting of the reader module with values as follows:
      • 1 - China (1)
      • 2 - China (2)
      • 4 - ETSI
      • 8 - FCC
      • 16 - Korea
      • 32 - Japan
      Throws:
      java.lang.Exception - A System.TimeoutException will be thrown if the connection to the sensor cannot be established or the module doesn't respond.
    • GetModuleTemperature

      public double GetModuleTemperature() throws java.lang.Exception
      Method:
      double GetModuleTemperature()
      Summary:
      This method retrieves the internal temperature of the RFIDReader module in degrees C.
      Returns:
      moduleTemp This function will return the double value of the module temperature
      Throws:
      java.lang.Exception - A System.TimeoutException will be thrown if a connection to the sensor cannot be established or the module doesn't respond.
    • GetEnvRSSI

      public double GetEnvRSSI() throws java.lang.Exception
      Method:
      double GetEnvRSSI()
      Summary:
      this method returns the background RSSI of the sensor in dBm.
      Returns:
      This function will return the double value of the environmental RSSI.
      Throws:
      java.lang.Exception - A System.TimeoutException will be thrown if a connection to the sensor cannot be established or the module doesn't respond.
    • GetPortReturnLoss

      public double GetPortReturnLoss​(int antennaNumber) throws java.lang.Exception
      Method:
      double getPortReturnLoss(int antennaNumber)
      Summary:
      This method returns the background RSSI of sensor in dBm.
      Parameters:
      antennaNumber - Input to the method for which the return loss will be read. This parameter must have a value in the range from 0 to 3.
      Returns:
      This function will return the double value of the Output containing the return loss in dBm for the antenna port specified by Antenna Number.
      Throws:
      java.lang.Exception - A System.TimeoutException will be thrown if a connection to the sensor cannot be established or the module doesn't respond.
      Comments
      This method will call SetActiveAntenna(AntennaNumber), the encapsulates the module command 0x32 to retrieve the return loss. See the "ALR-M UHF RFIDReader Module Communication Protocol" document for more details.
    • GetMTIPortReturnLoss

      public double GetMTIPortReturnLoss​(int antennaNumber) throws java.lang.Exception
      Throws:
      java.lang.Exception
    • GetConnectedAntennas

      public boolean[] GetConnectedAntennas​(RFIDReader.MODULE_TYPE modType) throws java.lang.Exception
      Method:
      boolean[] GetConnectedAntennas(MODULE_TYPE modType)
      Summary:
      This method returns queries each of the ports of the integrated reader and returns an array sized appropriately for the reader of boolean (true/false) values indicating whether each of the port is connected or not.
      Parameters:
      modType - -- The type of module.
      Returns:
      Returns an array of Boolean values. A "true" value indicates a reasonably matched antenna is attached. A "false" value indicates that an antenna is not attached. (However, see the notes below.)
      Throws:
      java.lang.Exception - A System.TimeoutException will be thrown if a connection to the sensor cannot be established or the module doesn't respond.
      Comments
      In addition to the external antenna ports, we return info regarding the internal port. Generally, the first element in the AntennaIsConnected array will return true.
      We have found that if the antenna is in a place where there is a lot of metal in front of the antenna resulting in much of the transmitted RF power being reflected back at the antenna, this method will indicate that the antenna port is not connected even when an antenna is present
    • GetM701ConnectedAntennas

      public boolean[] GetM701ConnectedAntennas​(int antennaCount) throws java.lang.Exception
      Throws:
      java.lang.Exception
    • GetMtiConnectedAntennas

      public boolean[] GetMtiConnectedAntennas() throws java.lang.Exception
      Throws:
      java.lang.Exception