com.unitech.lib.reader

## Class BaseReader

- java.lang.Object
- - com.unitech.lib.reader.BaseReader

- Direct Known Subclasses:
    EA530Reader, HT730Reader, PA768eReader, RG768Reader, RP300Reader, RP902Reader

      public abstract class BaseReader
      extends Object

  The BaseReader class is a class that controls device in connection with unitech's equipment, receives data from device, and delivers it to the application program. The BaseReader class is an abstract class that must be implemented by inheriting from BaseReader.

- - ### Field Summary

    Fields
    Modifier and Type | Field and Description
    --- | ---
    `protected ActionState` | `_actionState`
    `protected BaseDevice` | `_baseDevice`
    `protected BaseEngine` | `_baseEngine`
    `protected BaseTransport` | `_baseTransport`
    `protected BaseUHF` | `_baseUHF`
    `protected int` | `_checkInterval`
    `protected int` | `_failCount`
    `protected String` | `_fwVersion`
    `protected boolean` | `_isDisconnecting`
    `protected ResultCode` | `_lastError`
    `protected String` | `_serialNo`
    `protected static int` | `DEFAULT_BATTERY_CHECK_INTERVAL`
    `protected long` | `mLastTime`
    `protected static int` | `RETRY_COUNT`
    `protected String` | `TAG`

  - ### Constructor Summary

    Constructors
    Constructor and Description
    `BaseReader(BaseTransport baseTransport)` Creates an instance of BaseReader.

  - ### Method Summary

    All Methods Static Methods Instance Methods Abstract Methods Concrete Methods
    Modifier and Type | Method and Description
    --- | ---
    `void` | `abortFirmwareUpdate()` Aborts the ongoing firmware update process.
    `void` | `addListener(IReaderEventListener listener)` Adds a Listener to receive events on an instance of the BaseReader class.
    `protected void` | `allocateEngine(int value)` Allocates an engine based on the specified engine model.
    `protected void` | `allocateUHF(int value)` Allocates a UHF module of the device associated with the BaseReader instance.
    `protected void` | `allocateUHF(int moduleType, int handle)` Allocates a UHF module based on the specified module type and handle.
    `protected void` | `assertAction()` Check the device and action state is ready, if not, it will throw ReaderException
    `void` | `checkError()` Use only within the SDK.
    `void` | `clearListener()` Removes all listeners registered on an instance of the BaseReader class.
    `boolean` | `connect()` An instance of the BaseReader class tries to connect to the configured address
    `void` | `destroy()` Destroys an instance of the BaseReader class and cleans up resources.
    `void` | `disconnect()` Causes an instance of the BaseReader class to disconnect from the connected device.
    `void` | `eventNotify(EventNotifyId eventNotifyId, boolean enable)` Enables or disables event notifications for the specified event.
    `ResultCode` | `factoryReset()` Reset the device to factory default.
    `void` | `firmwareUpdate(String fileName, byte[] fileData)` Performs a firmware update on the device.
    `ActionState` | `getAction()` Returns the current behavior of the device associated with an instance of the BaseReader class.
    `String` | `getAddress()` Returns the address of the device associated with an instance of the BaseReader class.
    `double` | `getAmbientTemperature()` Returns the ambient temperature of the equipment.
    `int` | `getAmbientTemperatureProtection()` Returns the ambient temperature protection setting of the equipment.
    `int` | `getAutoOffTime()` Returns the time which the instrument automatically turns off.
    `int[]` | `getAutoOffTimeList()` Returns the equipment supports auto off time list, the unit is minutes
    `BaseEngine` | `getBaseEngine()` If the BaseReader instance supports the Scanner module, it returns an interface object that can control the Scanner module.
    `int` | `getBatteryState()` Returns the battery state of the equipment.
    `BatteryStatus` | `getBatteryStatus()` Returns the battery status of the equipment.
    `BatteryStatusExtended` | `getBatteryStatusExtended(BatteryStatusExtendedType[] types)` Retrieves the battery status of the device.
    `BeeperState` | `getBeeper()` Returns the beeper operation status of the equipment.
    `String` | `getBluetoothAddress()` Returns the Bluetooth address of the device.
    `String` | `getBluetoothName()` Returns the Bluetooth name of the device.
    `int` | `getCheckInterval()` Returns the time period for checking the battery status of the device associated with an instance of the BaseReader class.
    `ConnectionMode` | `getConnectionMode()` Returns the connection mode of the device.
    `ConnectType` | `getConnectType()` Returns the instance of BaseReader associated with device.
    `ControlCharacterFilter` | `getControlCharacterFilter()` Returns the Control Character Filter setting of the device.
    `DataCollectionMode` | `getDataCollectionMode()` Returns the data collection mode of the device.
    `DataFormat` | `getDataFormat()` Returns the data format setting of the equipment.
    `DataInfo` | `getDataInfo()` Returns the data info setting of the equipment.
    `DataRange` | `getDataRange()` Returns the data range setting of the equipment.
    `DataTerminator` | `getDataTerminator()` Returns the data terminator setting of the equipment.
    `String` | `getDeviceName()` Returns the name of the Device associated with an instance of the BaseReader class.
    `DeviceType` | `getDeviceType()` Returns the type of Device to which the instance is connected.
    `EngineModel` | `getEngineModel()` Returns the engine model of the device.
    `String` | `getEngineVersion()` Returns the engine version of the device.
    `FindReplace` | `getFindReplace()` Returns the FindReplace object that contains find and replace settings.
    `GS1AI` | `getGs1Ai()` Returns the GS1 Application Identifier (AI) setting of the device.
    `HIDInterCharacterDelay` | `getHidInterCharacterDelay()` Returns the HID Inter Character Delay setting of the device.
    `HIDKeyboardCase` | `getHidKeyboardCase()` Returns the HID Keyboard Case setting of the device.
    `HIDKeyboardLanguage` | `getHidKeyboardLanguage()` Returns the HID Keyboard Language setting of the device.
    `InventoryDataFormat[]` | `getInventoryDataFormat()` Returns the inventory data format of the device.
    `KeyFunction` | `getKeyFunction(KeyType keyType)` Returns the key function for the specified key type.
    `ResultCode` | `getLastError()` Returns the result code for the last action.
    `boolean` | `getLedControl()` Returns the LED control setting of the device.
    `OperatingMode` | `getOperatingMode()` Returns the operating mode of the device.
    `void` | `getParameter(DeviceParamID deviceParamID, IParameterEventListener listener)` Get a specific device parameter setting.
    `void` | `getParameter(int id, DeviceParamID deviceParamID, IParameterEventListener listener)` Get a specific device parameter setting.
    `void` | `getParameters(DeviceParamID[] deviceParamIDs, IParameterEventListener delegate)` Get multiple device parameter settings.
    `void` | `getParameters(int id, DeviceParamID[] deviceParamIDs, IParameterEventListener delegate)` Get multiple device parameter settings.
    `double` | `getPATemperature()` Returns the PA temperature of the equipment.
    `int` | `getPATemperatureProtection()` Returns the PA temperature protection setting of the equipment.
    `IProtocol` | `getProtocol()` Use only within the SDK.
    `ReadMode` | `getReadMode()` Returns the read mode status of the equipment.
    `String` | `getRfidModuleFirmware()` Returns the firmware version of the RFID module.
    `SKUType` | `getRfidModuleSkuType()` Returns the SKU type of the RFID module used in the device.
    `ModuleUHFType` | `getRfidModuleType()` Returns the type of RFID module used in the device.
    `BaseUHF` | `getRfidUhf()` If the BaseReader instance supports the RFID UHF module, it returns an interface object that can control the RFID UHF module.
    `ScannerDataFormat[]` | `getScannerDataFormat()` Returns the scanner data format of the device.
    `ScannerIndicator` | `getScannerIndicator()` Returns the scanner indicator setting of the device.
    `ScreenOffTime` | `getScreenOffTime()` Returns the time which the instrument automatically screen off.
    `String` | `getSerialNo()` Returns the serial number of the device.
    `boolean` | `getSettingByLabel()` Returns whether the device settings are applied by label.
    `SKUType` | `getSKU()` Returns the SKU type of the equipment.
    `ConnectState` | `getState()` Returns the connection status of the device with the instance of the BaseReader class.
    `DeviceParamID[]` | `getSupportedParameterIds()` Gets the supported parameter IDs of the device.
    `static DeviceParamID[]` | `getSupportedParameterIds(DeviceType deviceType)` Gets the supported parameter IDs of the device based on the specified device type.
    `DeviceParam[]` | `getSupportedParameters()` Gets the supported parameters of the device.
    `static DeviceParam[]` | `getSupportedParameters(DeviceType deviceType)` Gets the supported parameters of the device based on the specified device type.
    `double` | `getTemperature()` Returns the temperature of the equipment.
    `TemperatureProtectionMode` | `getTemperatureProtectionMode()` Returns the temperature protection mode of the equipment.
    `Date` | `getTime()` Returns the system time of the device.
    `BaseTransport` | `getTransport()` Returns an instance of the BaseTransport class that connects an instance of the BaseReader class to the Device.
    `String` | `getVersion()` Returns the firmware version of the device associated with the instance of the BaseReader class.
    `VibratorState` | `getVibrator()` Returns the vibrator operation status of the equipment.
    `abstract boolean` | `initReader()` Initializes an BaseReader instance after the BaseReader instance is associated with the device.
    `void` | `listen()` Allows the BaseReader class to wait for connection until the connection is made from the device.
    `abstract void` | `onStateChanged(ConnectState state, Object params)` Called when the connection state of the BaseTransport instance and the device changes.
    `ResultCode` | `reboot()` Reboots the device.
    `void` | `removeListener(IReaderEventListener listener)` Removes the Listener that is listening for events on an instance of the BaseReader class.
    `void` | `resetError()` Use only within the SDK.
    `void` | `retrieveBatchedData()` Retrieves batched data from the device.
    `void` | `setAction(ActionState state)` Sets the operational state of the device associated with the instance.
    `void` | `setAddress(String address)` Sets the address of the device to which the instance of BaseReader is connected.
    `void` | `setAmbientTemperatureProtection(int protection)` Sets the ambient temperature protection setting of the equipment.
    `void` | `setAutoOffTime(int time)` Sets the time which the equipment automatically turns off.
    `void` | `setBarcodeEventListener(IBarcodeEventListener barcodeEventListener)` Sets the barcode event listener for the BaseReader instance.
    `void` | `setBeeper(BeeperState state)` Sets the beeper operation status of the equipment.
    `void` | `setCheckInterval(int interval)` Sets the time period for checking the battery status of the device associated with the BaseReader class instance.
    `void` | `setConnectionMode(ConnectionMode connectionMode)` Sets the connection mode of the device.
    `void` | `setControlCharacterFilter(ControlCharacterFilter controlCharacterFilter)` Sets the Control Character Filter setting of the device.
    `void` | `setDataCollectionMode(DataCollectionMode dataCollectionMode)` Sets the data collection mode of the device.
    `void` | `setDataFormat(DataFormat dataFormat)` Sets the data format setting of the equipment.
    `void` | `setDataInfo(DataInfo dataInfo)` Sets the data info setting of the equipment.
    `void` | `setDataRange(DataRange dataRange)` Sets the data range setting of the equipment.
    `void` | `setDataTerminator(DataTerminator dataTerminator)` Sets the data terminator setting of the equipment.
    `void` | `setDeviceIndicator(DeviceIndicator deviceIndicator)` Sets the device indicator for the device.
    `void` | `setDeviceName(String name)` Sets the name of the device to which the instance of BaseReader is connected.
    `void` | `setDeviceType(DeviceType type)` Sets the type of device to which instance of BaseReader will be connected.
    `void` | `setDisplayOutput(DisplayOutput displayOut)` Sets the display output setting of the equipment.
    `void` | `setDisplayTags(DisplayTags displayTags)` Returns the display tags of the device.
    `void` | `setFindDevice(FindDevice mode)` Sets the find device status of the equipment.
    `void` | `setFindReplace(FindReplace findReplace)` Sets the FindReplace object that contains find and replace settings.
    `void` | `setGs1Ai(GS1AI gs1Ai)` Sets the GS1 Application Identifier (AI) setting of the device.
    `void` | `setHidInterCharacterDelay(HIDInterCharacterDelay hidInterCharacterDelay)` Sets the HID Inter Character Delay setting of the device.
    `void` | `setHidKeyboardCase(HIDKeyboardCase hidKeyboardCase)` Sets the HID Keyboard Case setting of the device.
    `void` | `setHidKeyboardLanguage(HIDKeyboardLanguage hidKeyboardLanguage)` Sets the HID Keyboard Language setting of the device.
    `void` | `setInventoryDataFormat(InventoryDataFormat[] formats)` Sets the inventory data format of the device.
    `void` | `setKeyFunction(TriggerKeyStatus triggerKeyStatus)` Sets the key function for the specified trigger key status.
    `void` | `setLastError(ResultCode code)` Use only within the SDK.
    `void` | `setLedControl(boolean enable)` Sets the LED control setting of the device.
    `void` | `setOperatingMode(OperatingMode operatingMode)` Sets the operating mode of the device.
    `void` | `setParameter(DeviceParam deviceParam, IParameterEventListener listener)` Set a device parameter setting.
    `void` | `setParameter(int id, DeviceParam deviceParam, IParameterEventListener listener)` Set a device parameter setting.
    `void` | `setParameters(DeviceParam[] deviceParams, IParameterEventListener delegate)` Set multiple device parameter settings.
    `void` | `setParameters(int id, DeviceParam[] deviceParams, IParameterEventListener delegate)` Set multiple device parameter settings.
    `void` | `setPATemperatureProtection(int protection)` Sets the PA temperature protection setting of the equipment.
    `void` | `setReadMode(ReadMode mode)` Sets the read mode status of the equipment.
    `void` | `setRfidEventListener(IRfidEventListener rfidEventListener)` Sets the RFID event listener for the BaseReader instance.
    `void` | `setScannerDataFormat(ScannerDataFormat[] formats)` Sets the scanner data format of the device.
    `void` | `setScannerIndicator(ScannerIndicator scannerIndicator)` Sets the scanner indicator setting of the device.
    `void` | `setScreenOffTime(ScreenOffTime time)` Sets the time which the equipment automatically screen off.
    `void` | `setSettingByLabel(boolean settingByLabel)` Sets whether the device settings are applied by label.
    `void` | `setTemperatureProtectionMode(TemperatureProtectionMode mode)` Sets the temperature protection mode of the equipment.
    `void` | `setTime(Date time)` Sets the system time of the instrument.
    `void` | `setVibrator(VibratorState state)` Sets the vibrator operation status of the equipment.
    `void` | `stagingReset()` Resets the staging area of the device.
    `void` | `startDecode()` Starts the decoding process on the device.
    `void` | `stopDecode()` Stops the decoding process on the device.
    `String` | `toString()`
    `protected void` | `triggerAccessResultEvent(BaseUHF baseUhf, TagAccessResult tagAccessResult)`
    `protected void` | `triggerActionChangedEvent(ResultCode code, ActionState action, Object params)`
    `protected void` | `triggerAntennaStatusEvent(AntennaStatusEventArgs eventArgs, Object params)`
    `protected void` | `triggerBarcodeDataEvent(BarcodeEventArgs barcodeEventArgs)`
    `protected void` | `triggerBatchDataEvent(BatchDataStatus status, Object params)`
    `protected void` | `triggerBatteryStateEvent(int batteryState, Object params)`
    `protected void` | `triggerConnectStateChangedEvent(ConnectState state, Object params)`
    `protected void` | `triggerFirmwareUpdateEvent(FirmwareUpdateState state, int percentage, Object params)`
    `protected void` | `triggerKeyChangedEvent(KeyType type, KeyState state, Object params)`
    `protected void` | `triggerLBTStatusEvent(LBTStatusEventArgs eventArgs, Object params)`
    `protected void` | `triggerNotificationStateEvent(NotificationState state, Object params)`
    `protected void` | `triggerReadTagEvent(BaseUHF baseUhf, TagExtParam tagExtParam)`
    `protected void` | `triggerTemperatureStateEvent(double temperature, Object params)`
    `void` | `unpairBluetooth()` Unpairs the Bluetooth connection of the device.

    - ### Methods inherited from class java.lang.Object

      `clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait`

- - ### Field Detail

    - #### DEFAULT_BATTERY_CHECK_INTERVAL

          protected static final int DEFAULT_BATTERY_CHECK_INTERVAL

      See Also:
        Constant Field Values

    - #### RETRY_COUNT

          protected static final int RETRY_COUNT

      See Also:
        Constant Field Values

    - #### TAG

          protected String TAG

    - #### _baseTransport

          protected BaseTransport _baseTransport

    - #### _baseDevice

          protected BaseDevice _baseDevice

    - #### _baseUHF

          protected BaseUHF _baseUHF

    - #### _baseEngine

          protected BaseEngine _baseEngine

    - #### _actionState

          protected volatile ActionState _actionState

    - #### _serialNo

          protected String _serialNo

    - #### _fwVersion

          protected String _fwVersion

    - #### _lastError

          protected ResultCode _lastError

    - #### _checkInterval

          protected int _checkInterval

    - #### _failCount

          protected int _failCount

    - #### _isDisconnecting

          protected boolean _isDisconnecting

    - #### mLastTime

          protected long mLastTime

  - ### Constructor Detail

    - #### BaseReader

          public BaseReader(BaseTransport baseTransport)

      Creates an instance of BaseReader.
      Parameters:
        `baseTransport` - An instance of an inherited class of the BaseTransport class that defines how an instance is associated with a Device.

  - ### Method Detail

    - #### getSupportedParameterIds

          public DeviceParamID[] getSupportedParameterIds()

      Gets the supported parameter IDs of the device.
      Returns:
        The supported parameter IDs of the device.

    - #### getSupportedParameterIds

          public static DeviceParamID[] getSupportedParameterIds(DeviceType deviceType)

      Gets the supported parameter IDs of the device based on the specified device type.
      Parameters:
        `deviceType` - The DeviceType enumeration indicating the type of device.
      Returns:
        The supported parameter IDs of the device for the specified device type.

    - #### getSupportedParameters

          public DeviceParam[] getSupportedParameters()

      Gets the supported parameters of the device.
      Returns:
        The supported parameters of the device.

    - #### getSupportedParameters

          public static DeviceParam[] getSupportedParameters(DeviceType deviceType)

      Gets the supported parameters of the device based on the specified device type.
      Parameters:
        `deviceType` - The DeviceType enumeration indicating the type of device.
      Returns:
        The supported parameters of the device for the specified device type.

    - #### connect

          public boolean connect()

      An instance of the BaseReader class tries to connect to the configured address
      Returns:
        Returns true if the connection attempt is successful, false on failure.

    - #### listen

          public void listen()

      Allows the BaseReader class to wait for connection until the connection is made from the device.

    - #### disconnect

          public void disconnect()

      Causes an instance of the BaseReader class to disconnect from the connected device.

    - #### getDeviceType

          public DeviceType getDeviceType()

      Returns the type of Device to which the instance is connected.
      Returns:
        The DeviceType enumeration indicating the type of device.

    - #### setDeviceType

          public void setDeviceType(DeviceType type)

      Sets the type of device to which instance of BaseReader will be connected.
      Parameters:
        `type` - The DeviceType enumeration indicating the type of device.

    - #### getDeviceName

          public String getDeviceName()

      Returns the name of the Device associated with an instance of the BaseReader class.
      Returns:
        A string representing the name of the Device.

    - #### setDeviceName

          public void setDeviceName(String name)

      Sets the name of the device to which the instance of BaseReader is connected.
      Parameters:
        `name` - A string representing the name of the Device.

    - #### addListener

          public void addListener(IReaderEventListener listener)

      Adds a Listener to receive events on an instance of the BaseReader class. Events are only notified to the last added Listener.
      Parameters:
        `listener` - An instance of IReaderEventListener to receive events fired by instances of the BaseReader class.

    - #### removeListener

          public void removeListener(IReaderEventListener listener)

      Removes the Listener that is listening for events on an instance of the BaseReader class. If the Listener being deleted is the last event, the Listener that was added before the last is notified of the event.
      Parameters:
        `listener` - An instance of IReaderEventListener that is receiving events fired by instances of the BaseReader class.

    - #### clearListener

          public void clearListener()

      Removes all listeners registered on an instance of the BaseReader class.

    - #### getSerialNo

          public String getSerialNo()

      Returns the serial number of the device.
      Returns:
        A string representing the serial number of the device.

    - #### getTransport

          public BaseTransport getTransport()

      Returns an instance of the BaseTransport class that connects an instance of the BaseReader class to the Device.
      Returns:
        An instance of the BaseTransport class that defines a connection with a Device.

    - #### getAddress

          public String getAddress()

      Returns the address of the device associated with an instance of the BaseReader class.
      Returns:
        A string representing the address of the Device.

    - #### setAddress

          public void setAddress(String address)

      Sets the address of the device to which the instance of BaseReader is connected.
      Parameters:
        `address` - A string representing the address of the Device.

    - #### getConnectType

          public ConnectType getConnectType()

      Returns the instance of BaseReader associated with device.
      Returns:
        A ConnectType enumeration that indicates how the device is connected.

    - #### getState

          public ConnectState getState()

      Returns the connection status of the device with the instance of the BaseReader class.
      Returns:
        A ConnectState enumeration indicating the connection status of the BaseReader.

    - #### getRfidUhf

          public BaseUHF getRfidUhf()

      If the BaseReader instance supports the RFID UHF module, it returns an interface object that can control the RFID UHF module.
      Returns:
        Returns an instance of BaseUHF.

    - #### getBaseEngine

          public BaseEngine getBaseEngine()

      If the BaseReader instance supports the Scanner module, it returns an interface object that can control the Scanner module.
      Returns:
        Returns an instance of BaseEngine.

    - #### destroy

          public void destroy()

      Destroys an instance of the BaseReader class and cleans up resources.

    - #### getLastError

          public ResultCode getLastError()

      Returns the result code for the last action.
      Returns:
        The ResultCode enumeration indicating the result of the operation.

    - #### getVersion

          public String getVersion()

      Returns the firmware version of the device associated with the instance of the BaseReader class.
      Returns:
        A string representing the firmware version.

    - #### getAction

          public ActionState getAction()

      Returns the current behavior of the device associated with an instance of the BaseReader class.
      Returns:
        An ActionState enumeration that indicates the operational state of the device.

    - #### setAction

          public void setAction(ActionState state)

      Sets the operational state of the device associated with the instance. The setAction Method is a method used inside the SDK and should not be used by the user.
      Parameters:
        `state` - ActionState enumeration indicating the state of the action.

    - #### getCheckInterval

          public int getCheckInterval()

      Returns the time period for checking the battery status of the device associated with an instance of the BaseReader class.
      Returns:
        An integer representing the device's battery check cycle time. The unit is ms

    - #### setCheckInterval

          public void setCheckInterval(int interval)

      Sets the time period for checking the battery status of the device associated with the BaseReader class instance.
      Parameters:
        `interval` - Integer type indicating the battery check cycle time of the equipment. The unit is ms.

    - #### setRfidEventListener

          public void setRfidEventListener(IRfidEventListener rfidEventListener)

      Sets the RFID event listener for the BaseReader instance.
      Parameters:
        `rfidEventListener` - An instance of IRfidEventListener to receive RFID events.

    - #### setBarcodeEventListener

          public void setBarcodeEventListener(IBarcodeEventListener barcodeEventListener)

      Sets the barcode event listener for the BaseReader instance.
      Parameters:
        `barcodeEventListener` - An instance of IBarcodeEventListener to receive barcode events.

    - #### allocateUHF

          protected void allocateUHF(int value)

      Allocates a UHF module of the device associated with the BaseReader instance.

    - #### allocateUHF

          protected void allocateUHF(int moduleType,
                                     int handle)

      Allocates a UHF module based on the specified module type and handle.
      Parameters:
        `moduleType` - The type of the UHF module to allocate.
        `handle` - The handle for the UHF module.

    - #### allocateEngine

          protected void allocateEngine(int value)

      Allocates an engine based on the specified engine model.
      Parameters:
        `value` - The value representing the engine model.

    - #### toString

          public String toString()

      Overrides:
        `toString` in class `Object`

    - #### triggerConnectStateChangedEvent

          protected void triggerConnectStateChangedEvent(ConnectState state,
                                                         Object params)

    - #### triggerActionChangedEvent

          protected void triggerActionChangedEvent(ResultCode code,
                                                   ActionState action,
                                                   Object params)

    - #### triggerBatteryStateEvent

          protected void triggerBatteryStateEvent(int batteryState,
                                                  Object params)

    - #### triggerKeyChangedEvent

          protected void triggerKeyChangedEvent(KeyType type,
                                                KeyState state,
                                                Object params)

    - #### triggerNotificationStateEvent

          protected void triggerNotificationStateEvent(NotificationState state,
                                                       Object params)

    - #### triggerTemperatureStateEvent

          protected void triggerTemperatureStateEvent(double temperature,
                                                      Object params)

    - #### triggerAntennaStatusEvent

          protected void triggerAntennaStatusEvent(AntennaStatusEventArgs eventArgs,
                                                   Object params)

    - #### triggerLBTStatusEvent

          protected void triggerLBTStatusEvent(LBTStatusEventArgs eventArgs,
                                               Object params)

    - #### triggerFirmwareUpdateEvent

          protected void triggerFirmwareUpdateEvent(FirmwareUpdateState state,
                                                    int percentage,
                                                    Object params)

    - #### triggerBatchDataEvent

          protected void triggerBatchDataEvent(BatchDataStatus status,
                                               Object params)

    - #### triggerReadTagEvent

          protected void triggerReadTagEvent(BaseUHF baseUhf,
                                             TagExtParam tagExtParam)

    - #### triggerAccessResultEvent

          protected void triggerAccessResultEvent(BaseUHF baseUhf,
                                                  TagAccessResult tagAccessResult)

    - #### triggerBarcodeDataEvent

          protected void triggerBarcodeDataEvent(BarcodeEventArgs barcodeEventArgs)

    - #### initReader

          public abstract boolean initReader()

      Initializes an BaseReader instance after the BaseReader instance is associated with the device.
      Returns:
        Returns true if successful, false against failure

    - #### getBeeper

          public BeeperState getBeeper()
                                throws ReaderException

      Returns the beeper operation status of the equipment.
      Returns:
        To specify the status of the equipment's beeper BeeperState enumeration.
      Throws:
        `ReaderException` - An ReaderException exception is thrown if a failure occurs while setting data on the instrument or returning data.

    - #### setBeeper

          public void setBeeper(BeeperState state)
                         throws ReaderException

      Sets the beeper operation status of the equipment.
      Parameters:
        `state` - To specify the status of the beeper BeeperState enumeration.
      Throws:
        `ReaderException` - An ReaderException exception is thrown if a failure occurs while setting data on the instrument or returning data.

    - #### getVibrator

          public VibratorState getVibrator()
                                    throws ReaderException

      Returns the vibrator operation status of the equipment.
      Returns:
        To specify the status of the equipment's vibrator VibratorState enumeration.
      Throws:
        `ReaderException` - An ReaderException exception is thrown if a failure occurs while setting data on the instrument or returning data.

    - #### setVibrator

          public void setVibrator(VibratorState state)
                           throws ReaderException

      Sets the vibrator operation status of the equipment.
      Parameters:
        `state` - To specify the status of the vibrator VibratorState enumeration.
      Throws:
        `ReaderException` - An ReaderException exception is thrown if a failure occurs while setting data on the instrument or returning data.

    - #### getBatteryState

          public int getBatteryState()
                              throws ReaderException

      Returns the battery state of the equipment.
      Returns:
        To specify the status of the equipment's battery.
      Throws:
        `ReaderException` - An ReaderException exception is thrown if a failure occurs while setting data on the instrument or returning data.

    - #### getBatteryStatus

          public BatteryStatus getBatteryStatus()
                                         throws ReaderException

      Returns the battery status of the equipment.
      Returns:
        An instance of BatteryStatus representing the current battery status of the device.
      Throws:
        `ReaderException` - An ReaderException exception is thrown if a failure occurs while setting data on the instrument or returning data.

    - #### getTime

          public Date getTime()
                       throws ReaderException

      Returns the system time of the device.
      Returns:
        An instance of Date representing the current date and time on the device.
      Throws:
        `ReaderException` - An ReaderException exception is thrown if a failure occurs while setting data on the instrument or returning data.

    - #### setTime

          public void setTime(Date time)
                       throws ReaderException

      Sets the system time of the instrument.
      Parameters:
        `time` - An instance of Date representing the current date and time on the device.
      Throws:
        `ReaderException` - An ReaderException exception is thrown if a failure occurs while setting data on the instrument or returning data.

    - #### onStateChanged

          public abstract void onStateChanged(ConnectState state,
                                              Object params)

      Called when the connection state of the BaseTransport instance and the device changes.
      Parameters:
        `state` - A ConnectState enumeration that indicates the device and its connection status.
        `params` - This parameter is used to transmit additional information that is generated

    - #### getAutoOffTimeList

          public int[] getAutoOffTimeList()

      Returns the equipment supports auto off time list, the unit is minutes
      Returns:
        This is an integer list that indicates the time that the device supported auto off time.

    - #### getAutoOffTime

          public int getAutoOffTime()
                             throws ReaderException

      Returns the time which the instrument automatically turns off.
      Returns:
        This is an integer that indicates the time that the device is turned off automatically.
      Throws:
        `ReaderException` - An ReaderException exception is thrown if a failure occurs while setting data on the instrument or returning data.

    - #### setAutoOffTime

          public void setAutoOffTime(int time)
                              throws ReaderException

      Sets the time which the equipment automatically turns off.
      Parameters:
        `time` - An integer that indicates how long the device will automatically turn itself off. The time unit is specified in minutes. If you set the time to 0, the instrument will not turn off automatically.
      Throws:
        `ReaderException` - An ReaderException exception is thrown if a failure occurs while setting data on the instrument or returning data.

    - #### factoryReset

          public ResultCode factoryReset()
                                  throws ReaderException

      Reset the device to factory default.
      Returns:
        The ResultCode enumeration indicating the result of the method's operation.
      Throws:
        `ReaderException` - An ReaderException exception is thrown if a failure occurs while setting data on the instrument or returning data.

    - #### reboot

          public ResultCode reboot()
                            throws ReaderException

      Reboots the device.
      Returns:
        The ResultCode enumeration indicating the result of the method's operation.
      Throws:
        `ReaderException` - An ReaderException exception is thrown if a failure occurs while setting data on the instrument or returning data.

    - #### getSKU

          public SKUType getSKU()
                         throws ReaderException

      Returns the SKU type of the equipment.
      Returns:
        An SKUType enumeration that indicates the SKU type of the device.
      Throws:
        `ReaderException` - An ReaderException exception is thrown if a failure occurs while setting data on the instrument or returning data.

    - #### getTemperature

          public double getTemperature()
                                throws ReaderException

      Returns the temperature of the equipment.
      Returns:
        The temperature of the device and the range is ~128 to 127.
      Throws:
        `ReaderException` - An ReaderException exception is thrown if a failure occurs while setting data on the instrument or returning data.

    - #### getAmbientTemperature

          public double getAmbientTemperature()
                                       throws ReaderException

      Returns the ambient temperature of the equipment.
      Returns:
        The ambient temperature of the device and the range is ~128 to 127.
      Throws:
        `ReaderException` - An ReaderException exception is thrown if a failure occurs while setting data on the instrument or returning data.

    - #### getPATemperature

          public double getPATemperature()
                                  throws ReaderException

      Returns the PA temperature of the equipment.
      Returns:
        The PA temperature of the device and the range is ~128 to 127.
      Throws:
        `ReaderException` - An ReaderException exception is thrown if a failure occurs while setting data on the instrument or returning data.

    - #### getAmbientTemperatureProtection

          public int getAmbientTemperatureProtection()
                                              throws ReaderException

      Returns the ambient temperature protection setting of the equipment.
      Returns:
        An integer representing the ambient temperature protection setting.
      Throws:
        `ReaderException` - An ReaderException exception is thrown if a failure occurs while setting data on the instrument or returning data.

    - #### setAmbientTemperatureProtection

          public void setAmbientTemperatureProtection(int protection)
                                               throws ReaderException

      Sets the ambient temperature protection setting of the equipment.
      Parameters:
        `protection` - An integer representing the ambient temperature protection setting.
      Throws:
        `ReaderException` - An ReaderException exception is thrown if a failure occurs while setting data on the instrument or returning data.

    - #### getPATemperatureProtection

          public int getPATemperatureProtection()
                                         throws ReaderException

      Returns the PA temperature protection setting of the equipment.
      Returns:
        An integer representing the PA temperature protection setting.
      Throws:
        `ReaderException` - An ReaderException exception is thrown if a failure occurs while setting data on the instrument or returning data.

    - #### setPATemperatureProtection

          public void setPATemperatureProtection(int protection)
                                          throws ReaderException

      Sets the PA temperature protection setting of the equipment.
      Parameters:
        `protection` - An integer representing the PA temperature protection setting.
      Throws:
        `ReaderException` - An ReaderException exception is thrown if a failure occurs while setting data on the instrument or returning data.

    - #### getTemperatureProtectionMode

          public TemperatureProtectionMode getTemperatureProtectionMode()
                                                                 throws ReaderException

      Returns the temperature protection mode of the equipment.
      Returns:
        To specify the status of the equipment's temperature protection mode TemperatureProtectionMode enumeration.
      Throws:
        `ReaderException` - An ReaderException exception is thrown if a failure occurs while setting data on the instrument or returning data.

    - #### setTemperatureProtectionMode

          public void setTemperatureProtectionMode(TemperatureProtectionMode mode)
                                            throws ReaderException

      Sets the temperature protection mode of the equipment.
      Parameters:
        `mode` - To specify the status of the temperature protection mode TemperatureProtectionMode enumeration.
      Throws:
        `ReaderException` - An ReaderException exception is thrown if a failure occurs while setting data on the instrument or returning data.

    - #### getReadMode

          public ReadMode getReadMode()
                               throws ReaderException

      Returns the read mode status of the equipment.
      Returns:
        To specify the status of the equipment's read mode ReadMode enumeration.
      Throws:
        `ReaderException` - An ReaderException exception is thrown if a failure occurs while setting data on the instrument or returning data.

    - #### setReadMode

          public void setReadMode(ReadMode mode)
                           throws ReaderException

      Sets the read mode status of the equipment.
      Parameters:
        `mode` - To specify the status of the read mode ReadMode enumeration.
      Throws:
        `ReaderException`

    - #### setFindDevice

          public void setFindDevice(FindDevice mode)
                             throws ReaderException

      Sets the find device status of the equipment.
      Parameters:
        `mode` - To specify the status of the find device FindDevice class.
      Throws:
        `ReaderException` - An ReaderException exception is thrown if a failure occurs while setting data on the instrument or returning data.

    - #### getDataFormat

          public DataFormat getDataFormat()
                                   throws ReaderException

      Returns the data format setting of the equipment.
      Returns:
        To specify the setting of the equipment's data format DataFormat enumeration.
      Throws:
        `ReaderException` - An ReaderException exception is thrown if a failure occurs while setting data on the instrument or returning data.

    - #### setDataFormat

          public void setDataFormat(DataFormat dataFormat)
                             throws ReaderException

      Sets the data format setting of the equipment.
      Parameters:
        `dataFormat` - To specify the setting of the data format DataFormat enumeration.
      Throws:
        `ReaderException` - An ReaderException exception is thrown if a failure occurs while setting data on the instrument or returning data.

    - #### getDataInfo

          public DataInfo getDataInfo()
                               throws ReaderException

      Returns the data info setting of the equipment.
      Returns:
        To specify the setting of the equipment's data info DataInfo enumeration.
      Throws:
        `ReaderException` - An ReaderException exception is thrown if a failure occurs while setting data on the instrument or returning data.

    - #### setDataInfo

          public void setDataInfo(DataInfo dataInfo)
                           throws ReaderException

      Sets the data info setting of the equipment.
      Parameters:
        `dataInfo` - To specify the setting of the data info DataInfo enumeration.
      Throws:
        `ReaderException` - An ReaderException exception is thrown if a failure occurs while setting data on the instrument or returning data.

    - #### getDataRange

          public DataRange getDataRange()
                                 throws ReaderException

      Returns the data range setting of the equipment.
      Returns:
        To specify the setting of the equipment's data range DataRange enumeration.
      Throws:
        `ReaderException` - An ReaderException exception is thrown if a failure occurs while setting data on the instrument or returning data.

    - #### setDataRange

          public void setDataRange(DataRange dataRange)
                            throws ReaderException

      Sets the data range setting of the equipment.
      Parameters:
        `dataRange` - To specify the setting of the data range DataRange enumeration.
      Throws:
        `ReaderException` - An ReaderException exception is thrown if a failure occurs while setting data on the instrument or returning data.

    - #### getDataTerminator

          public DataTerminator getDataTerminator()
                                           throws ReaderException

      Returns the data terminator setting of the equipment.
      Returns:
        To specify the setting of the equipment's data terminator DataTerminator enumeration.
      Throws:
        `ReaderException` - An ReaderException exception is thrown if a failure occurs while setting data on the instrument or returning data.

    - #### setDataTerminator

          public void setDataTerminator(DataTerminator dataTerminator)
                                 throws ReaderException

      Sets the data terminator setting of the equipment.
      Parameters:
        `dataTerminator` - To specify the setting of the data terminator DataTerminator enumeration.
      Throws:
        `ReaderException` - An ReaderException exception is thrown if a failure occurs while setting data on the instrument or returning data.

    - #### setDisplayOutput

          public void setDisplayOutput(DisplayOutput displayOut)
                                throws ReaderException

      Sets the display output setting of the equipment.
      Parameters:
        `displayOut` - To specify the setting of the display output DisplayOutput enumeration.
      Throws:
        `ReaderException` - An ReaderException exception is thrown if a failure occurs while setting data on the instrument or returning data.

    - #### getScreenOffTime

          public ScreenOffTime getScreenOffTime()
                                         throws ReaderException

      Returns the time which the instrument automatically screen off.
      Returns:
        This is an integer that indicates the time that the device is screen off automatically.
      Throws:
        `ReaderException` - An ReaderException exception is thrown if a failure occurs while setting data on the instrument or returning data.

    - #### setScreenOffTime

          public void setScreenOffTime(ScreenOffTime time)
                                throws ReaderException

      Sets the time which the equipment automatically screen off.
      Parameters:
        `time` - It indicates how long the device will automatically screen off. The time is specified in minutes and seconds. If you set the minutes to 0 and seconds to 0, the instrument will not screen off automatically.
      Throws:
        `ReaderException` - An ReaderException exception is thrown if a failure occurs while setting data on the instrument or returning data.

    - #### eventNotify

          public void eventNotify(EventNotifyId eventNotifyId,
                                  boolean enable)
                           throws ReaderException

      Enables or disables event notifications for the specified event.
      Parameters:
        `eventNotifyId` - An EventNotifyId enumeration that specifies the event for which notifications
        `enable` - A boolean value indicating whether to enable (true) or disable (false) notifications for the specified event.
      Throws:
        `ReaderException` - An ReaderException exception is thrown if a failure occurs while setting data on the instrument or returning data.

    - #### getInventoryDataFormat

          public InventoryDataFormat[] getInventoryDataFormat()
                                                       throws ReaderException

      Returns the inventory data format of the device.
      Returns:
        An array of InventoryDataFormat that indicates the inventory data format.
      Throws:
        `ReaderException` - An ReaderException exception is thrown if a failure occurs while setting data on the instrument or returning data.

    - #### setInventoryDataFormat

          public void setInventoryDataFormat(InventoryDataFormat[] formats)
                                      throws ReaderException

      Sets the inventory data format of the device.
      Parameters:
        `formats` - An array of InventoryDataFormat that indicates the inventory data format.
      Throws:
        `ReaderException` - An ReaderException exception is thrown if a failure occurs while setting data on the instrument or returning data.

    - #### getScannerDataFormat

          public ScannerDataFormat[] getScannerDataFormat()
                                                   throws ReaderException

      Returns the scanner data format of the device.
      Returns:
        An array of ScannerDataFormat that indicates the scanner data format.
      Throws:
        `ReaderException` - An ReaderException exception is thrown if a failure occurs while setting data on the instrument or returning data.

    - #### setScannerDataFormat

          public void setScannerDataFormat(ScannerDataFormat[] formats)
                                    throws ReaderException

      Sets the scanner data format of the device.
      Parameters:
        `formats` - An array of ScannerDataFormat that indicates the scanner data format.
      Throws:
        `ReaderException` - An ReaderException exception is thrown if a failure occurs while setting data on the instrument or returning data.

    - #### firmwareUpdate

          public void firmwareUpdate(String fileName,
                                     byte[] fileData)
                              throws ReaderException

      Performs a firmware update on the device.
      Parameters:
        `fileName` - A String representing the name of the firmware file.
        `fileData` - A byte array containing the firmware data.
      Throws:
        `ReaderException` - An ReaderException exception is thrown if a failure occurs while setting data on the instrument or returning data.

    - #### abortFirmwareUpdate

          public void abortFirmwareUpdate()

      Aborts the ongoing firmware update process. This method is used to stop a firmware update that is currently in progress.

    - #### getRfidModuleFirmware

          public String getRfidModuleFirmware()
                                       throws ReaderException

      Returns the firmware version of the RFID module.
      Returns:
        A String representing the firmware version of the RFID module.
      Throws:
        `ReaderException` - An ReaderException exception is thrown if a failure occurs while setting data on the instrument or returning data.

    - #### getRfidModuleType

          public ModuleUHFType getRfidModuleType()
                                          throws ReaderException

      Returns the type of RFID module used in the device.
      Returns:
        An ModuleUHFType enumeration indicating the type of RFID module.
      Throws:
        `ReaderException` - An ReaderException exception is thrown if a failure occurs while setting data on the instrument or returning data.

    - #### getRfidModuleSkuType

          public SKUType getRfidModuleSkuType()
                                       throws ReaderException

      Returns the SKU type of the RFID module used in the device.
      Returns:
        An SKUType enumeration indicating the SKU type of the RFID module.
      Throws:
        `ReaderException` - An ReaderException exception is thrown if a failure occurs while setting data on the instrument or returning data.

    - #### getEngineModel

          public EngineModel getEngineModel()
                                     throws ReaderException

      Returns the engine model of the device.
      Returns:
        An EngineModel enumeration indicating the engine model of the device.
      Throws:
        `ReaderException` - An ReaderException exception is thrown if a failure occurs while setting data on the instrument or returning data.

    - #### getEngineVersion

          public String getEngineVersion()
                                  throws ReaderException

      Returns the engine version of the device.
      Returns:
        A String representing the engine version of the device.
      Throws:
        `ReaderException` - An ReaderException exception is thrown if a failure occurs while setting data on the instrument or returning data.

    - #### getBluetoothAddress

          public String getBluetoothAddress()
                                     throws ReaderException

      Returns the Bluetooth address of the device.
      Returns:
        A String representing the Bluetooth address of the device.
      Throws:
        `ReaderException` - An ReaderException exception is thrown if a failure occurs while setting data on the instrument or returning data.

    - #### getBluetoothName

          public String getBluetoothName()
                                  throws ReaderException

      Returns the Bluetooth name of the device.
      Returns:
        A String representing the Bluetooth name of the device.
      Throws:
        `ReaderException` - An ReaderException exception is thrown if a failure occurs while setting data on the instrument or returning data.

    - #### getFindReplace

          public FindReplace getFindReplace()
                                     throws ReaderException

      Returns the FindReplace object that contains find and replace settings.
      Returns:
        A FindReplace object containing the find and replace settings.
      Throws:
        `ReaderException` - An ReaderException exception is thrown if a failure occurs while setting data on the instrument or returning data.

    - #### setFindReplace

          public void setFindReplace(FindReplace findReplace)
                              throws ReaderException

      Sets the FindReplace object that contains find and replace settings.
      Parameters:
        `findReplace` - A FindReplace object containing the find and replace settings.
      Throws:
        `ReaderException` - An ReaderException exception is thrown if a failure occurs while setting data on the instrument or returning data.

    - #### getKeyFunction

          public KeyFunction getKeyFunction(KeyType keyType)
                                     throws ReaderException

      Returns the key function for the specified key type.
      Parameters:
        `keyType` - The KeyType enumeration representing the type of key.
      Returns:
        A KeyFunction object representing the key function.
      Throws:
        `ReaderException` - An ReaderException exception is thrown if a failure occurs while setting data on the instrument or returning data.

    - #### setKeyFunction

          public void setKeyFunction(TriggerKeyStatus triggerKeyStatus)
                              throws ReaderException

      Sets the key function for the specified trigger key status.
      Parameters:
        `triggerKeyStatus` - The TriggerKeyStatus enumeration representing the status of the trigger key.
      Throws:
        `ReaderException` - An ReaderException exception is thrown if a failure occurs while setting data on the instrument or returning data.

    - #### getSettingByLabel

          public boolean getSettingByLabel()
                                    throws ReaderException

      Returns whether the device settings are applied by label.
      Returns:
        A boolean value indicating whether the device settings are applied by label.
      Throws:
        `ReaderException` - An ReaderException exception is thrown if a failure occurs while setting data on the instrument or returning data.

    - #### setSettingByLabel

          public void setSettingByLabel(boolean settingByLabel)
                                 throws ReaderException

      Sets whether the device settings are applied by label.
      Parameters:
        `settingByLabel` - A boolean value indicating whether to set the device settings by label.
      Throws:
        `ReaderException` - An ReaderException exception is thrown if a failure occurs while setting data on the instrument or returning data.

    - #### getDataCollectionMode

          public DataCollectionMode getDataCollectionMode()
                                                   throws ReaderException

      Returns the data collection mode of the device.
      Returns:
        A DataCollectionMode enumeration indicating the data collection mode.
      Throws:
        `ReaderException` - An ReaderException exception is thrown if a failure occurs while setting data on the instrument or returning data.

    - #### setDataCollectionMode

          public void setDataCollectionMode(DataCollectionMode dataCollectionMode)
                                     throws ReaderException

      Sets the data collection mode of the device.
      Parameters:
        `dataCollectionMode` - A DataCollectionMode enumeration indicating the data collection mode to set.
      Throws:
        `ReaderException` - An ReaderException exception is thrown if a failure occurs while setting data on the instrument or returning data.

    - #### getGs1Ai

          public GS1AI getGs1Ai()
                         throws ReaderException

      Returns the GS1 Application Identifier (AI) setting of the device.
      Returns:
        A GS1AI object representing the GS1 Application Identifier.
      Throws:
        `ReaderException` - An ReaderException exception is thrown if a failure occurs while setting data on the instrument or returning data.

    - #### setGs1Ai

          public void setGs1Ai(GS1AI gs1Ai)
                        throws ReaderException

      Sets the GS1 Application Identifier (AI) setting of the device.
      Parameters:
        `gs1Ai` - A GS1AI object representing the GS1 Application Identifier to set.
      Throws:
        `ReaderException` - An ReaderException exception is thrown if a failure occurs while setting data on the instrument or returning data.

    - #### getHidInterCharacterDelay

          public HIDInterCharacterDelay getHidInterCharacterDelay()
                                                           throws ReaderException

      Returns the HID Inter Character Delay setting of the device.
      Returns:
        A HIDInterCharacterDelay object representing the HID Inter Character Delay.
      Throws:
        `ReaderException` - An ReaderException exception is thrown if a failure occurs while setting data on the instrument or returning data.

    - #### setHidInterCharacterDelay

          public void setHidInterCharacterDelay(HIDInterCharacterDelay hidInterCharacterDelay)
                                         throws ReaderException

      Sets the HID Inter Character Delay setting of the device.
      Parameters:
        `hidInterCharacterDelay` - A HIDInterCharacterDelay object representing the HID Inter Character Delay to set.
      Throws:
        `ReaderException` - An ReaderException exception is thrown if a failure occurs while setting data on the instrument or returning data.

    - #### getHidKeyboardLanguage

          public HIDKeyboardLanguage getHidKeyboardLanguage()
                                                     throws ReaderException

      Returns the HID Keyboard Language setting of the device.
      Returns:
        A HIDKeyboardLanguage object representing the HID Keyboard Language.
      Throws:
        `ReaderException` - An ReaderException exception is thrown if a failure occurs while setting data on the instrument or returning data.

    - #### setHidKeyboardLanguage

          public void setHidKeyboardLanguage(HIDKeyboardLanguage hidKeyboardLanguage)
                                      throws ReaderException

      Sets the HID Keyboard Language setting of the device.
      Parameters:
        `hidKeyboardLanguage` - A HIDKeyboardLanguage object representing the HID Keyboard Language to set.
      Throws:
        `ReaderException` - An ReaderException exception is thrown if a failure occurs while setting data on the instrument or returning data.

    - #### getHidKeyboardCase

          public HIDKeyboardCase getHidKeyboardCase()
                                             throws ReaderException

      Returns the HID Keyboard Case setting of the device.
      Returns:
        A HIDKeyboardCase object representing the HID Keyboard Case.
      Throws:
        `ReaderException` - An ReaderException exception is thrown if a failure occurs while setting data on the instrument or returning data.

    - #### setHidKeyboardCase

          public void setHidKeyboardCase(HIDKeyboardCase hidKeyboardCase)
                                  throws ReaderException

      Sets the HID Keyboard Case setting of the device.
      Parameters:
        `hidKeyboardCase` - A HIDKeyboardCase object representing the HID Keyboard Case to set.
      Throws:
        `ReaderException` - An ReaderException exception is thrown if a failure occurs while setting data on the instrument or returning data.

    - #### getControlCharacterFilter

          public ControlCharacterFilter getControlCharacterFilter()
                                                           throws ReaderException

      Returns the Control Character Filter setting of the device.
      Returns:
        A ControlCharacterFilter object representing the control character filter.
      Throws:
        `ReaderException` - An ReaderException exception is thrown if a failure occurs while setting data on the instrument or returning data.

    - #### setControlCharacterFilter

          public void setControlCharacterFilter(ControlCharacterFilter controlCharacterFilter)
                                         throws ReaderException

      Sets the Control Character Filter setting of the device.
      Parameters:
        `controlCharacterFilter` - A ControlCharacterFilter object representing the control character filter to set.
      Throws:
        `ReaderException` - An ReaderException exception is thrown if a failure occurs while setting data on the instrument or returning data.

    - #### getLedControl

          public boolean getLedControl()
                                throws ReaderException

      Returns the LED control setting of the device.
      Returns:
        A boolean value indicating whether LED control is enabled (true) or disabled (false).
      Throws:
        `ReaderException` - An ReaderException exception is thrown if a failure occurs while setting data on the instrument or returning data.

    - #### setLedControl

          public void setLedControl(boolean enable)
                             throws ReaderException

      Sets the LED control setting of the device.
      Parameters:
        `enable` - A boolean value indicating whether to enable (true) or disable (false) LED control.
      Throws:
        `ReaderException` - An ReaderException exception is thrown if a failure occurs while setting data on the instrument or returning data.

    - #### getScannerIndicator

          public ScannerIndicator getScannerIndicator()
                                               throws ReaderException

      Returns the scanner indicator setting of the device.
      Returns:
        A ScannerIndicator object representing the scanner indicator.
      Throws:
        `ReaderException` - An ReaderException exception is thrown if a failure occurs while setting data on the instrument or returning data.

    - #### setScannerIndicator

          public void setScannerIndicator(ScannerIndicator scannerIndicator)
                                   throws ReaderException

      Sets the scanner indicator setting of the device.
      Parameters:
        `scannerIndicator` - A ScannerIndicator object representing the scanner indicator to set.
      Throws:
        `ReaderException` - An ReaderException exception is thrown if a failure occurs while setting data on the instrument or returning data.

    - #### unpairBluetooth

          public void unpairBluetooth()
                               throws ReaderException

      Unpairs the Bluetooth connection of the device. This method is used to unpair the Bluetooth connection and reset the device.
      Throws:
        `ReaderException` - An ReaderException exception is thrown if a failure occurs while unpairing Bluetooth or resetting the device.

    - #### setDeviceIndicator

          public void setDeviceIndicator(DeviceIndicator deviceIndicator)
                                  throws ReaderException

      Sets the device indicator for the device.
      Parameters:
        `deviceIndicator` - A DeviceIndicator object representing the device indicator to set.
      Throws:
        `ReaderException` - An ReaderException exception is thrown if a failure occurs while setting data on the instrument or returning data.

    - #### startDecode

          public void startDecode()
                           throws ReaderException

      Starts the decoding process on the device. This method is used to initiate the decoding of data from the device.
      Throws:
        `ReaderException` - An ReaderException exception is thrown if a failure occurs while starting the decoding process.

    - #### stopDecode

          public void stopDecode()
                          throws ReaderException

      Stops the decoding process on the device. This method is used to stop the ongoing decoding of data from the device.
      Throws:
        `ReaderException` - An ReaderException exception is thrown if a failure occurs while stopping the decoding process.

    - #### stagingReset

          public void stagingReset()
                            throws ReaderException

      Resets the staging area of the device. This method is used to reset the staging area, clearing any staged data.
      Throws:
        `ReaderException` - An ReaderException exception is thrown if a failure occurs while resetting the staging area.

    - #### getConnectionMode

          public ConnectionMode getConnectionMode()
                                           throws ReaderException

      Returns the connection mode of the device.
      Returns:
        A ConnectionMode enumeration indicating the current connection mode.
      Throws:
        `ReaderException` - An ReaderException exception is thrown if a failure occurs while setting data on the instrument or returning data.

    - #### setConnectionMode

          public void setConnectionMode(ConnectionMode connectionMode)
                                 throws ReaderException

      Sets the connection mode of the device.
      Parameters:
        `connectionMode` - A ConnectionMode enumeration indicating the connection mode to set.
      Throws:
        `ReaderException` - An ReaderException exception is thrown if a failure occurs while setting data on the instrument or returning data.

    - #### retrieveBatchedData

          public void retrieveBatchedData()
                                   throws ReaderException

      Retrieves batched data from the device. This method is used to retrieve data that has been batched by the device.
      Throws:
        `ReaderException` - An ReaderException exception is thrown if a failure occurs while retrieving batched data.

    - #### getBatteryStatusExtended

          public BatteryStatusExtended getBatteryStatusExtended(BatteryStatusExtendedType[] types)
                                                         throws ReaderException

      Retrieves the battery status of the device. This method is used to get the current battery status of the device.
      Returns:
        A BatteryStatus object representing the current battery status.
      Throws:
        `ReaderException` - An ReaderException exception is thrown if a failure occurs while retrieving the battery status.

    - #### resetError

          public void resetError()

      Use only within the SDK.

    - #### setLastError

          public void setLastError(ResultCode code)

      Use only within the SDK.
      Parameters:
        `code` -

    - #### getProtocol

          public IProtocol getProtocol()

      Use only within the SDK.
      Returns:

    - #### checkError

          public void checkError()

      Use only within the SDK.

    - #### assertAction

          protected void assertAction()
                               throws ReaderException

      Check the device and action state is ready, if not, it will throw ReaderException
      Throws:
        `ReaderException` - An ReaderException exception is thrown if a failure occurs while setting data on the instrument or returning data.

    - #### getParameter

          public void getParameter(int id,
                                   DeviceParamID deviceParamID,
                                   IParameterEventListener listener)

      Get a specific device parameter setting.
      Parameters:
        `id` - The request ID. Default is 0.
        `deviceParamID` - The parameter ID.
        `listener` - The listener to receive the result.

    - #### getParameter

          public void getParameter(DeviceParamID deviceParamID,
                                   IParameterEventListener listener)

      Get a specific device parameter setting.
      Parameters:
        `deviceParamID` - The parameter ID.
        `listener` - The listener to receive the result.

    - #### setParameter

          public void setParameter(int id,
                                   DeviceParam deviceParam,
                                   IParameterEventListener listener)

      Set a device parameter setting.
      Parameters:
        `id` - The request ID. Default is 1.
        `deviceParam` - The parameter setting.
        `listener` - The listener to receive the result.

    - #### setParameter

          public void setParameter(DeviceParam deviceParam,
                                   IParameterEventListener listener)

      Set a device parameter setting.
      Parameters:
        `deviceParam` - The parameter setting.
        `listener` - The listener to receive the result.

    - #### getParameters

          public void getParameters(int id,
                                    DeviceParamID[] deviceParamIDs,
                                    IParameterEventListener delegate)

      Get multiple device parameter settings.
      Parameters:
        `id` - The request ID. Default is 0.
        `deviceParamIDs` - The parameter IDs.
        `delegate` - The listener to receive the result.

    - #### getParameters

          public void getParameters(DeviceParamID[] deviceParamIDs,
                                    IParameterEventListener delegate)

      Get multiple device parameter settings.
      Parameters:
        `deviceParamIDs` - The parameter IDs.
        `delegate` - The listener to receive the result.

    - #### setParameters

          public void setParameters(int id,
                                    DeviceParam[] deviceParams,
                                    IParameterEventListener delegate)

      Set multiple device parameter settings.
      Parameters:
        `id` - The request ID. Default is 1.
        `deviceParams` - The parameter settings.
        `delegate` - The listener to receive the result.

    - #### setParameters

          public void setParameters(DeviceParam[] deviceParams,
                                    IParameterEventListener delegate)

      Set multiple device parameter settings.
      Parameters:
        `deviceParams` - The parameter settings.
        `delegate` - The listener to receive the result.

    - #### getOperatingMode

          public OperatingMode getOperatingMode()
                                         throws ReaderException

      Returns the operating mode of the device. This method is only supported for RP902 devices.
      Returns:
        An OperatingMode enumeration representing the current operating mode.
      Throws:
        `ReaderException` - An ReaderException exception is thrown if a failure occurs while setting data on the instrument or returning data.

    - #### setOperatingMode

          public void setOperatingMode(OperatingMode operatingMode)
                                throws ReaderException

      Sets the operating mode of the device. This method is only supported for RP902 devices.
      Parameters:
        `operatingMode` - An OperatingMode enumeration representing the operating mode to set.
      Throws:
        `ReaderException` - An ReaderException exception is thrown if a failure occurs while setting data on the instrument or returning data.

    - #### setDisplayTags

          public void setDisplayTags(DisplayTags displayTags)

      Returns the display tags of the device. This method is only supported for RP902 devices.