com.rscja.deviceapi

## Class RFIDWithUHFUrxUart

- java.lang.Object
- - com.rscja.deviceapi.UhfBase
  - - com.rscja.deviceapi.RFIDWithUHFUrxUart

- All Implemented Interfaces:
    IRFIDWithUHFUrxUart, ISingleAntenna, IUHF, IUHFURx

      public class RFIDWithUHFUrxUart
      extends UhfBase
      implements IRFIDWithUHFUrxUart

  URx 模块，串口通信操作类
  URx module , serial communication operation interface
  第一步:通过`init(Context context)` 连接读写器。
  Step 1: Connect to the usb of the reader via`init(Context context)`
  第二步： 如果是设置参数，连接成功之后，调用对应的函数设置参数、读写操作。 如果是盘点调用`startInventoryTag()`函数开始执行盘点。 注意: 在盘点标签的时候rfid模块只能响应`stopInventory()`函数。
  Step 2: If it is to set parameters, after the connection is successful, call the corresponding function to set parameters, read and write operations. * If the inventory label is to call `startInventoryTag()` function to start the inventory. * Note: The rfid module can only respond to the `stopInventory()` function when inventorying tags.
  第三步：退出app调用 `free()`断开连接，如果断开之前正在盘点，请先停止盘点，在断开连接。
  Step 3: Exit the app and call `free()` to disconnect. If you are taking inventory before disconnecting, please stop the inventory first and then disconnecting.
  Example Usage:
  public class UHFDemo() {
  RFIDWithUHFUrxUart rfid = RFIDWithUHFUrxUart.getInstance();
  boolean isInventory=false;
  public void uhf(){
  boolean result = rfid.init(context);
  if (!result) {
  //connect fail
  return;
  }
  //connect success
  //configuration parameters
  // rfid.setFrequencyMode(xx);
  // rfid.setPower(30);
  if (rfid.startInventoryTag()) {
  //success
  isInventory=true;
  new ThreadInventory().start();
  } else {
  rfid.stopInventory();
  //fail
  }
  //..............
  rfid.stopInventory();
  isInventory=false;
  //.................
  //disconnect uhf
  rfid.free();
  }
  private class ThreadInventory extends Thread{
  @Override
  public void run(){
  while (isInventory){
  UHFTAGInfo uhftagInfo= rfid.readTagFromBuffer();
  if(uhftagInfo==null){
  Thread.sleep(20);
  continue;
  }
  String epc= uhftagInfo.getEPC();
  String rssi= uhftagInfo.getRssi();
  //.....
  }
  }
  }
  }
  Author:
    zhoupin

- - ### Nested Class Summary

    - ### Nested classes/interfaces inherited from class com.rscja.deviceapi.UhfBase

      `UhfBase.ErrorCode`

  - ### Field Summary

    - ### Fields inherited from interface com.rscja.deviceapi.interfaces.IUHF

      `Bank_EPC, Bank_RESERVED, Bank_TID, Bank_USER, LockBank_ACCESS, LockBank_EPC, LockBank_KILL, LockBank_TID, LockBank_USER, LockMode_LOCK, LockMode_OPEN, LockMode_PLOCK, LockMode_POPEN, UPDATE_UHF`

  - ### Method Summary

    All Methods Static Methods Instance Methods Concrete Methods
    Modifier and Type | Method and Description
    --- | ---
    `boolean` | `blockWriteData(java.lang.String accessPwd, int filterBank, int filterPtr, int filterCnt, java.lang.String filterData, int bank, int ptr, int cnt, java.lang.String writeData)` 向标签写入数据(支持大数据标签写入)、当需要写入的标签数据比较大可以使用此函数写入 Write data into tag(support big-sized data writing), user could use this function when big-sized data need to be written.
    `boolean` | `disableBeep()` 禁用蜂鸣器
    `boolean` | `enableBeep()` 启用蜂鸣器
    `boolean` | `eraseData(java.lang.String accessPwd, int bank, int ptr, int cnt)` 擦除数据，被擦除的数据块其内容将被设置成0. Data block that has been cleaned will be setup to 0.
    `boolean` | `eraseData(java.lang.String accessPwd, int filterBank, int filterPtr, int filterCnt, java.lang.String filterData, int bank, int ptr, int cnt)` 擦除指定标签的数据，被擦除的数据块其内容将被设置成0. Clean specific tag data, data block after cleaned will be set to 0.
    `boolean` | `free()` 关闭UHF模块 Switch OFF UHF module
    `java.lang.String` | `generateLockCode(java.util.ArrayList<java.lang.Integer> lockBank, int lockMode)` 获取锁定码 Get lock code
    `java.util.List<AntennaState>` | `getANT()` 获取天线
    `java.util.List<AntennaConnectState>` | `getAntennaConnectState()`
    `int` | `getAntennaWorkTime(AntennaEnum antnum)` 获取天线工作时间
    `ConnectionStatus` | `getConnectStatus()` 获取UHF连接状态 Acquire UHF connection status
    `int` | `getCW()` 获取连续波设置 Acquire CW setup
    `ReaderIPEntity` | `getDestIP()` 获取目标IP
    `InventoryModeEntity` | `getEPCAndTIDUserMode()` 获取当前循环盘点的模式(EPC或者EPC+TID或者EPC+TID+USER) Acquire current scan mode(EPC or EPC+TID or EPC+TID+USER)
    `int` | `getErrCode()`
    `int` | `getFrequencyMode()` 读取模块的工作模式 Read work mode of module
    `Gen2Entity` | `getGen2()` 获取Gen2参数 Acquire Gen2 parameter
    `byte[]` | `getInputStatus()` 获取输入口状态
    `static RFIDWithUHFUrxUart` | `getInstance()` 获取UHF操作实例 Acquire UHF operation Instance
    `int` | `getPower()` 读取模块的功率 Read module output power
    `int` | `getProtocol()` 获取协议 Acquire protocol
    `int[]` | `getPwm()` 获取占空比，仅适用于R2000模块 acquire duty ratio, used for R2000 module only
    `int` | `getRFLink()` 获取链路参数 acquire link parameter
    `java.lang.String` | `getSTM32Version()`
    `int` | `getTemperature()` 获取模块温度 Acquire module Temperature
    `int[]` | `getTriggerWorkModePara()` 获取触发工作模式参数
    `ReaderIPEntity` | `getUhfReaderIP()` 获取UHF读写器IP
    `java.lang.String` | `getVersion()` 读取UHF模块版本号 Read UHF module version
    `int` | `getWorkMode()` 获取工作模式
    `boolean` | `init(Context context)` 初始化UHF模块(仅适用于R2000模块) Initialize UHF module(used for R2000 module)
    `UHFTAGInfo` | `inventorySingleTag()` 单步识别标签 Identify tag in single mode
    `boolean` | `isEnableBeep()` 是否启用蜂鸣器
    `boolean` | `isWorking()` uhf 是否正在盘点
    `boolean` | `killTag(java.lang.String killPwd)` 销毁指定标签,默认密码(0x00 0x00 0x00 0x00)不能执行销毁 Kill specific tag, default password(0x00 0x00 0x00 0x00)
    `boolean` | `killTag(java.lang.String accessPwd, int filterBank, int filterPtr, int filterCnt, java.lang.String filterData)` 销毁指定标签 ,默认密码(0x00 0x00 0x00 0x00)不能执行销毁 Kill specific tag, default password(0x00 0x00 0x00 0x00)
    `boolean` | `lockMem(java.lang.String accessPwd, int bank, int ptr, int cnt, java.lang.String filterData, java.lang.String lockCode)` 锁定指定标签 Lock specific tag
    `boolean` | `lockMem(java.lang.String accessPwd, java.lang.String lockCode)` 锁定标签 Lock tag
    `java.lang.String` | `readData(java.lang.String accessPwd, int bank, int ptr, int cnt)` 读取标签数据 Read tag data
    `java.lang.String` | `readData(java.lang.String accessPwd, int filterBank, int filterPtr, int filterCnt, java.lang.String filterData, int bank, int ptr, int cnt)` 读取指定标签数据 Read specific tag data
    `UHFTAGInfo` | `readTagFromBuffer()` 获取缓冲区的标签数据 Get tag data from buffer `startInventoryTag()`启动识别标签之后，在子线程循环调用此函数不断获取缓冲区的标签信息，每次返回一张标签数据 `startInventoryTag()` After tag reading has been enabled, call this function in sub threads to get data information continously, return one tag information for each time. 在调用`stopInventory()`之后，应当退出子线程。 After call `stopInventory()`, exit sub threads.
    `boolean` | `setANT(java.util.List<AntennaState> antStatus)` 设置天线
    `boolean` | `setAntennaWorkTime(AntennaEnum antnum, int WorkTime)` 设置天线工作时间
    `void` | `setConnectionStatusCallback(ConnectionStatusCallback<java.lang.Object> btStatusCallback)` 设置UHF连接状态回调 Setup UHF continuous stauts call-back
    `boolean` | `setCW(int flag)` 设置连续波 Setup CW
    `boolean` | `setDestIP(ReaderIPEntity readerIPEntity)` 设置目标IP
    `boolean` | `setEPCAndTIDMode()` 设置循环盘点同时读取 EPC、TID 模式 Setup auto scan to acquire EPC, TID mode
    `boolean` | `setEPCAndTIDUserMode(int user_prt, int user_len)` 设置循环盘点同时读取 EPC、TID、USER 模式 Setup auto scan to acquire EPC, TID, User mode
    `boolean` | `setEPCMode()` 设置循环盘点只获取EPC的数据 Setup auto scan to acquire EPC only
    `boolean` | `setFastID(boolean enalbe)` 开关FastID功能 ON/OFF FastID function
    `boolean` | `setFilter(int bank, int ptr, int cnt, java.lang.String data)` 过滤循环盘点的标签，在`startInventoryTag()`循环盘点标签之前，可以设置要过滤的数据。 Filter tag in auto scan mode, before scanning tags `startInventoryTag()`, setup data that needs to be filtered. 设置过滤条件之后，盘点标签时将符合过滤条件的标签上传到缓存区`readTagFromBuffer()`。 After setup, upload filtered tags to buffer `readTagFromBuffer()`.
    `boolean` | `setFreHop(float fre)` 设置模块频点 Setup frequency Hop
    `boolean` | `setFrequencyMode(int freMode)` 设置模块的工作模式 Setup work mode of module
    `boolean` | `setGen2(Gen2Entity gen2Entity)` 设置 Gen2参数 Setup Gen2 parameter
    `void` | `setInventoryCallback(IUHFInventoryCallback inventoryCallback)`
    `boolean` | `setPower(int power)` 设置模块的功率 Setup output power
    `boolean` | `setProtocol(int protocol)` 设置协议 Setup protocol
    `boolean` | `setPwm(int WorkTime, int WaitTime)` 设置占空比，仅适用于R2000模块 setup duty ration, used for R2000 module
    `boolean` | `setRelayStatus(byte status)` 设置继电器状态
    `boolean` | `setRFLink(int mode)` 设置链路参数 Setup RFlink
    `boolean` | `setTagFocus(boolean enalbe)` 开关TagFocus功能 ON/OFF TagFocus
    `boolean` | `setTriggerWorkModePara(int input, int workTime, int waitTime, int receiveMode)` 设置触发工作模式参数
    `void` | `setUart(java.lang.String uart)` 设置uhf串口，使用此函数需要谨慎，否则uhf会无法工作。
    `boolean` | `setUhfReaderIP(ReaderIPEntity readerIPEntity)` 设置UHF读写器IP
    `boolean` | `setWorkMode(int mode)` 设置工作模式
    `boolean` | `softwareReset()` 软件复位
    `boolean` | `startInventoryTag()` 启动识别Tag循环，只是开启识别Tag循环，之后将识别到的标签号上传到缓冲区， `readTagFromBuffer()` Enable Tag auto reading and upload tag number to buffer, `readTagFromBuffer()` 用于从缓冲区读取一个标签号数据，开启循环识别之后，模块只能响应`stopInventory()`函数 。 Read tag data from buffer, after switch on auto reading, module will give feedback to `stopInventory()` only.
    `boolean` | `stopInventory()` 停止循环识别，在调用此函数之后应当退出循环获取缓冲区的标签信息的子线程 Stop auto reading, after call this function to exit sub threads of tag data of buffer.
    `boolean` | `uhfBlockPermalock(java.lang.String accessPwd, int filterBank, int filterPtr, int filterCnt, java.lang.String filterData, int ReadLock, int uBank, int uPtr, int uRange, byte[] uMaskbuf)` 数据块操作
    `boolean` | `uhfJump2Boot()` uhf进入boot模式 ，开始升级之前需要调用此函数 UHF enter boot mode, need to call this formula before upgrade
    `boolean` | `uhfJump2Boot(int type)`
    `boolean` | `uhfJump2BootSTM32()`
    `boolean` | `uhfStartUpdate()` 开始升级uhf模块 Start upgrade UHF module
    `boolean` | `uhfStopUpdate()` 停止升级uhf模块，uhf模块升级完成后需要调用此函数 Stop upgrade UHF module, call this formula after module has been upgraded.
    `boolean` | `uhfUpdating(byte[] buff)` 升级uhf模块，发送uhf固件数据 Upgrade UHF module, send UHF firmware data
    `boolean` | `writeData(java.lang.String accessPwd, int bank, int ptr, int cnt, java.lang.String data)` 向标签写入数据 Write data in tag
    `boolean` | `writeData(java.lang.String accessPwd, int filterBank, int filterPtr, int filterCnt, java.lang.String filterData, int bank, int ptr, int cnt, java.lang.String writeData)` 将数据写入指定标签 Write data
    `boolean` | `writeDataToEpc(java.lang.String accessPwd, int filterBank, int filterPtr, int filterCnt, java.lang.String filterData, java.lang.String writeData)` 将数据写入到EPC,而且自动适配盘点的EPC长度 Write data to epc
    `boolean` | `writeDataToEpc(java.lang.String accessPwd, java.lang.String writeData)` 将数据写入到EPC,而且自动适配盘点的EPC长度 Write data to epc

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

      `equals, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait`

- - ### Method Detail

    - #### getInstance

          public static RFIDWithUHFUrxUart getInstance()

      获取UHF操作实例
      Acquire UHF operation Instance
      Returns:
        RFIDWithUHFUART
      Throws:
        `ConfigurationException` - 配置错误异常 (Configuration err)

    - #### init

          public boolean init(Context context)

      初始化UHF模块(仅适用于R2000模块)
      Initialize UHF module(used for R2000 module)
      Specified by:
        `init` in interface `IUHF`
      Parameters:
        `context` - context
      Returns:
        true:成功(success) false:失败(failure)

    - #### free

          public boolean free()

      关闭UHF模块
      Switch OFF UHF module
      Specified by:
        `free` in interface `IUHF`
      Returns:
        true:成功(success) false:失败(failure)

    - #### setUart

          public void setUart(java.lang.String uart)

      设置uhf串口，使用此函数需要谨慎，否则uhf会无法工作。
      Specified by:
        `setUart` in interface `IRFIDWithUHFUrxUart`
      Parameters:
        `uart` - uart path

    - #### getVersion

          public java.lang.String getVersion()

      读取UHF模块版本号
      Read UHF module version
      Specified by:
        `getVersion` in interface `IUHF`
      Returns:
        返回模块类型，null为读取失败(Resture module type, null means read failure.)

    - #### getPower

          public int getPower()

      读取模块的功率
      Read module output power
      Specified by:
        `getPower` in interface `ISingleAntenna`
      Returns:
        返回功率，返回-1为失败(Return output power, return -1 means failure.)

    - #### setPower

          public boolean setPower(int power)

      设置模块的功率
      Setup output power
      Specified by:
        `setPower` in interface `ISingleAntenna`
      Parameters:
        `power` - 功率值(Power values)
      Returns:
        true:成功(success) false:失败(failure)

    - #### getFrequencyMode

          public int getFrequencyMode()

      读取模块的工作模式
      Read work mode of module
      Specified by:
        `getFrequencyMode` in interface `IUHF`
      Returns:
        返回工作模式，返回-1为失败 (return work mode, return -1 means failure)
        0x01：China Standard(840~845MHz)
        0x02：China Standard2(920~925MHz)
        0x04：Europe Standard(865~868MHz)
        0x08：USA(902-928MHz)
        0x16：Korea(917~923MHz)
        0x32: Japan(952~953MHz)
        0x33: South Africa(915~919MHz)
        0x34: China Taiwan
        0x35:Vietnam(918~923MHz)
        0x80 Morocco

    - #### setFrequencyMode

          public boolean setFrequencyMode(int freMode)

      Description copied from interface: `IUHF`
      设置模块的工作模式
      Setup work mode of module
      Specified by:
        `setFrequencyMode` in interface `IUHF`
      Parameters:
        `freMode` - 0x01：China Standard(840~845MHz)
        0x02：China Standard2(920~925MHz)
        0x04：Europe Standard(865~868MHz)
        0x08：USA(902-928MHz)
        0x16：Korea(917~923MHz)
        0x32: Japan(952~953MHz)
        0x33: South Africa(915~919MHz)
        0x34: China Taiwan
        0x35:Vietnam(918~923MHz)
        0x80 Morocco
      Returns:

    - #### startInventoryTag

          public boolean startInventoryTag()

      启动识别Tag循环，只是开启识别Tag循环，之后将识别到的标签号上传到缓冲区， `readTagFromBuffer()`
      Enable Tag auto reading and upload tag number to buffer, `readTagFromBuffer()`
      用于从缓冲区读取一个标签号数据，开启循环识别之后，模块只能响应`stopInventory()`函数 。
      Read tag data from buffer, after switch on auto reading, module will give feedback to `stopInventory()` only.
      `stopInventory()` 停止识别循环(Stop auto reading)
      `readTagFromBuffer()` 获取冲区的数据(get data from buffer)
      Specified by:
        `startInventoryTag` in interface `IUHF`
      Returns:
        true:成功(success) false:失败(failure)

    - #### readTagFromBuffer

          public UHFTAGInfo readTagFromBuffer()

      获取缓冲区的标签数据
      Get tag data from buffer
      `startInventoryTag()`启动识别标签之后，在子线程循环调用此函数不断获取缓冲区的标签信息，每次返回一张标签数据
      `startInventoryTag()` After tag reading has been enabled, call this function in sub threads to get data information continously, return one tag information for each time.
      在调用`stopInventory()`之后，应当退出子线程。
      After call `stopInventory()`, exit sub threads.
      Specified by:
        `readTagFromBuffer` in interface `IUHF`
      Returns:
        标签数据(Tag data)

    - #### stopInventory

          public boolean stopInventory()

      停止循环识别，在调用此函数之后应当退出循环获取缓冲区的标签信息的子线程
      Stop auto reading, after call this function to exit sub threads of tag data of buffer.
      Specified by:
        `stopInventory` in interface `IUHF`
      Returns:
        true:成功(success) false:失败(failure)

    - #### generateLockCode

          public java.lang.String generateLockCode(java.util.ArrayList<java.lang.Integer> lockBank,
                                                   int lockMode)

      获取锁定码
      Get lock code
      Specified by:
        `generateLockCode` in interface `IUHF`
      Parameters:
        `lockBank` - 要锁定的区域 (lockBank areas that need to lock ):
        `IUHF.LockBank_KILL`
        `IUHF.LockBank_ACCESS`
        `IUHF.LockBank_TID`
        `IUHF.LockBank_USER`
        `IUHF.LockBank_EPC`
        `lockMode` - 锁定的模式(lockMode lock modes):
        `IUHF.LockMode_LOCK`
        `IUHF.LockMode_OPEN`
        `IUHF.LockMode_PLOCK`
        `IUHF.LockMode_POPEN`
      Returns:
        返回锁定码，null表示失败(return lock code, null means failure)

    - #### lockMem

          public boolean lockMem(java.lang.String accessPwd,
                                 int bank,
                                 int ptr,
                                 int cnt,
                                 java.lang.String filterData,
                                 java.lang.String lockCode)

      锁定指定标签
      Lock specific tag
      Specified by:
        `lockMem` in interface `IUHF`
      Parameters:
        `accessPwd` - ACCESS PASSWORD (4 bites)
        `bank` - 标签的存储区(memory area):
        `IUHF.Bank_RESERVED`、`IUHF.Bank_EPC`、`IUHF.Bank_TID`、`IUHF.Bank_USER`
        `ptr` - 过滤起始地址,单位:bit (Filter start address,unit:bit)
        `cnt` - 过滤数据长度(单位:bit),当过滤的数据长度为0时，表示无过滤。 (Filter data length(unit:bit) when filter length is 0, it means no filter.)
        `filterData` - 过滤数据(Filter data)
        `lockCode` - 锁定码 (Lock Code)
      Returns:
        true:成功(success) false:失败(failure)

    - #### lockMem

          public boolean lockMem(java.lang.String accessPwd,
                                 java.lang.String lockCode)

      锁定标签
      Lock tag
      Specified by:
        `lockMem` in interface `IUHF`
      Parameters:
        `accessPwd` - ACCESS PASSWORD (4 bites)
        `lockCode` - 锁定码 (Lock Code)
      Returns:
        true:成功(success) false:失败(failure)

    - #### inventorySingleTag

          public UHFTAGInfo inventorySingleTag()

      单步识别标签
      Identify tag in single mode
      Specified by:
        `inventorySingleTag` in interface `IUHF`
      Returns:
        返回标签信息(return tag infor)

    - #### readData

          public java.lang.String readData(java.lang.String accessPwd,
                                           int bank,
                                           int ptr,
                                           int cnt)

      读取标签数据
      Read tag data
      Specified by:
        `readData` in interface `IUHF`
      Parameters:
        `accessPwd` - Access password
        `bank` - 读取的存储区(read storage area): `IUHF.Bank_RESERVED`、`IUHF.Bank_EPC`、`IUHF.Bank_TID`、`IUHF.Bank_USER`
        `ptr` - 读取的起始地址(单位:字) (read start address(unit: word))
        `cnt` - 读取的数据长度(单位:字) (read data length(unit: word))
      Returns:
        返回获取的数据, null表示读取失败 (return acquired data, null means read failure)

    - #### readData

          public java.lang.String readData(java.lang.String accessPwd,
                                           int filterBank,
                                           int filterPtr,
                                           int filterCnt,
                                           java.lang.String filterData,
                                           int bank,
                                           int ptr,
                                           int cnt)

      读取指定标签数据
      Read specific tag data
      Specified by:
        `readData` in interface `IUHF`
      Parameters:
        `accessPwd` - ACCESS PASSWORD (4 bites)
        `filterBank` - 过滤的存储区(Filtered storage area ): `IUHF.Bank_EPC`、`IUHF.Bank_TID`、`IUHF.Bank_USER`
        `filterPtr` - 过滤的起始地址(Filter start address)
        `filterCnt` - 过滤数据长度(单位:bit),当过滤的数据长度为0时，表示无过滤 ( Filter data length(unit:bit), when filter data length is 0, it means no filter.)
        `filterData` - 过滤的数据(Filtered data)
        `bank` - 读取的存储区(Read storage area) `IUHF.Bank_RESERVED`、`IUHF.Bank_EPC`、`IUHF.Bank_TID`、`IUHF.Bank_USER`
        `ptr` - 读取的起始地址(单位:字) (read start address(unit: word))
        `cnt` - 读取的数据长度(单位:字) (read data length(unit: word))
      Returns:
        返回获取的数据, null表示读取失败 (return acquired data, null means read failure)

    - #### writeData

          public boolean writeData(java.lang.String accessPwd,
                                   int bank,
                                   int ptr,
                                   int cnt,
                                   java.lang.String data)

      向标签写入数据
      Write data in tag
      Specified by:
        `writeData` in interface `IUHF`
      Parameters:
        `accessPwd` - ACCESS PASSWORD (4 bites)
        `bank` - 标签的存储区(Storage area):`IUHF.Bank_RESERVED`、`IUHF.Bank_EPC`、`IUHF.Bank_TID`、`IUHF.Bank_USER`
        `ptr` - 起始地址的偏移量(start address(unit: word))
        `cnt` - 数据的长度（Word为单位，不能为0）(Data length(Word is unit, cannot be 0))
        `data` - 要写入的数据,十六进制格式 (Data format should be hexvalue)
      Returns:
        true:成功(success) false:失败(failure)

    - #### writeData

          public boolean writeData(java.lang.String accessPwd,
                                   int filterBank,
                                   int filterPtr,
                                   int filterCnt,
                                   java.lang.String filterData,
                                   int bank,
                                   int ptr,
                                   int cnt,
                                   java.lang.String writeData)

      将数据写入指定标签
      Write data
      Specified by:
        `writeData` in interface `IUHF`
      Parameters:
        `accessPwd` - ACCESS PASSWORD (4 bites)
        `filterBank` - 过滤的存储区(Filtered storage area ): `IUHF.Bank_EPC`、`IUHF.Bank_TID`、`IUHF.Bank_USER`
        `filterPtr` - 过滤的起始地址(Filter start address)
        `filterCnt` - 过滤数据长度(单位:bit),当过滤的数据长度为0时，表示无过滤 ( Filter data length(unit:bit), when filter data length is 0, it means no filter.)
        `filterData` - 过滤的数据(Filtered data)
        `bank` - 标签的存储区(Storage area): `IUHF.Bank_RESERVED`、`IUHF.Bank_EPC`、`IUHF.Bank_TID`、`IUHF.Bank_USER`
        `ptr` - 起始地址的偏移量(start address(unit: word))
        `cnt` - 数据的长度（Word为单位，不能为0）(Data length(Word is unit, cannot be 0))
        `writeData` - 要写入的数据,十六进制格式 (Data format should be hexvalue)
      Returns:
        true:成功(success) false:失败(failure)

    - #### writeDataToEpc

          public boolean writeDataToEpc(java.lang.String accessPwd,
                                        int filterBank,
                                        int filterPtr,
                                        int filterCnt,
                                        java.lang.String filterData,
                                        java.lang.String writeData)

      Description copied from interface: `IUHF`
      将数据写入到EPC,而且自动适配盘点的EPC长度
      Write data to epc
      Specified by:
        `writeDataToEpc` in interface `IUHF`
      Parameters:
        `accessPwd` - ACCESS PASSWORD (4 bites)
        `filterBank` - 过滤的存储区(Filtered storage area ): `IUHF.Bank_EPC`、`IUHF.Bank_TID`、`IUHF.Bank_USER`
        `filterPtr` - 过滤的起始地址(Filter start address)
        `filterCnt` - 过滤数据长度(单位:bit),当过滤的数据长度为0时，表示无过滤 ( Filter data length(unit:bit), when filter data length is 0, it means no filter.)
        `filterData` - 过滤的数据(Filtered data)
        `writeData` - 要写入的数据,十六进制格式 (Data format should be hexvalue)
      Returns:
        true:成功(success) false:失败(failure)

    - #### writeDataToEpc

          public boolean writeDataToEpc(java.lang.String accessPwd,
                                        java.lang.String writeData)

      Description copied from interface: `IUHF`
      将数据写入到EPC,而且自动适配盘点的EPC长度
      Write data to epc
      Specified by:
        `writeDataToEpc` in interface `IUHF`
      Parameters:
        `accessPwd` - ACCESS PASSWORD (4 bites)
        `writeData` - 要写入的数据,十六进制格式 (Data format should be hexvalue)
      Returns:
        true:成功(success) false:失败(failure)

    - #### blockWriteData

          public boolean blockWriteData(java.lang.String accessPwd,
                                        int filterBank,
                                        int filterPtr,
                                        int filterCnt,
                                        java.lang.String filterData,
                                        int bank,
                                        int ptr,
                                        int cnt,
                                        java.lang.String writeData)

      向标签写入数据(支持大数据标签写入)、当需要写入的标签数据比较大可以使用此函数写入
      Write data into tag(support big-sized data writing), user could use this function when big-sized data need to be written.
      Specified by:
        `blockWriteData` in interface `IUHF`
      Parameters:
        `accessPwd` - ACCESS PASSWORD (4 bites)
        `filterBank` - 过滤的存储区(Filtered storage area ): `IUHF.Bank_EPC`、`IUHF.Bank_TID`、`IUHF.Bank_USER`
        `filterPtr` - 过滤的起始地址(Filter start address)
        `filterCnt` - 过滤数据长度(单位:bit),当过滤的数据长度为0时，表示无过滤 ( Filter data length(unit:bit), when filter data length is 0, it means no filter.)
        `filterData` - 过滤的数据(Filtered data)
        `bank` - 标签的存储区(Storage area): `IUHF.Bank_RESERVED`、`IUHF.Bank_EPC`、`IUHF.Bank_TID`、`IUHF.Bank_USER`
        `ptr` - 起始地址的偏移量(start address(unit: word))
        `cnt` - 数据的长度（Word为单位，不能为0）(Data length(Word is unit, cannot be 0))
        `writeData` - 要写入的数据,十六进制格式 (Data format should be hexvalue)
      Returns:
        true:成功(success) false:失败(failure)

    - #### eraseData

          public boolean eraseData(java.lang.String accessPwd,
                                   int filterBank,
                                   int filterPtr,
                                   int filterCnt,
                                   java.lang.String filterData,
                                   int bank,
                                   int ptr,
                                   int cnt)

      擦除指定标签的数据，被擦除的数据块其内容将被设置成0.
      Clean specific tag data, data block after cleaned will be set to 0.
      Specified by:
        `eraseData` in interface `IUHF`
      Parameters:
        `accessPwd` - ACCESS PASSWORD (4 bites)
        `filterBank` - 过滤的存储区(Filtered storage area ):`IUHF.Bank_EPC`、`IUHF.Bank_TID`、`IUHF.Bank_USER`
        `filterPtr` - 过滤的起始地址(Filter start address)
        `filterCnt` - 过滤数据长度(单位:bit),当过滤的数据长度为0时，表示无过滤 ( Filter data length(unit:bit), when filter data length is 0, it means no filter.)
        `filterData` - 过滤的数据(Filtered data)
        `bank` - 擦除的数据区域(Cleaned data block):`IUHF.Bank_RESERVED`、 `IUHF.Bank_EPC`、`IUHF.Bank_TID`、`IUHF.Bank_USER`
        `ptr` - 擦除的起始地址(单位:字) (Cleaned start address(Unit: word))
        `cnt` - 擦除的数据长度(单位:字) (Cleaned data length(Unit: word))
      Returns:
        true:成功(success) false:失败(failure)

    - #### eraseData

          public boolean eraseData(java.lang.String accessPwd,
                                   int bank,
                                   int ptr,
                                   int cnt)

      擦除数据，被擦除的数据块其内容将被设置成0.
      Data block that has been cleaned will be setup to 0.
      Specified by:
        `eraseData` in interface `IUHF`
      Parameters:
        `accessPwd` - ACCESS PASSWORD (4 bites)
        `bank` - 擦除的数据区域(Cleaned data block):`IUHF.Bank_RESERVED`、 `IUHF.Bank_EPC`、`IUHF.Bank_TID`、`IUHF.Bank_USER`
        `ptr` - 擦除的起始地址(单位:字) (Cleaned start address(Unit: word))
        `cnt` - 擦除的数据长度(单位:字) (Cleaned data length(Unit: word))
      Returns:
        true:成功(success) false:失败(failure)

    - #### setFilter

          public boolean setFilter(int bank,
                                   int ptr,
                                   int cnt,
                                   java.lang.String data)

      过滤循环盘点的标签，在`startInventoryTag()`循环盘点标签之前，可以设置要过滤的数据。
      Filter tag in auto scan mode, before scanning tags `startInventoryTag()`, setup data that needs to be filtered.
      设置过滤条件之后，盘点标签时将符合过滤条件的标签上传到缓存区`readTagFromBuffer()`。
      After setup, upload filtered tags to buffer `readTagFromBuffer()`.
      Specified by:
        `setFilter` in interface `IUHF`
      Parameters:
        `bank` - 过滤的存储区(Filtered storage area ): `IUHF.Bank_EPC`、`IUHF.Bank_TID`、`IUHF.Bank_USER`
        `ptr` - 过滤的起始地址(Filter start address)
        `cnt` - 过滤数据长度(单位:bit),当过滤的数据长度为0时，表示无过滤 ( Filter data length(unit:bit), when filter data length is 0, it means no filter.)
        `data` - 过滤的数据(Filtered data)
      Returns:
        true:成功(success) false:失败(failure)

    - #### killTag

          public boolean killTag(java.lang.String killPwd)

      销毁指定标签,默认密码(0x00 0x00 0x00 0x00)不能执行销毁
      Kill specific tag, default password(0x00 0x00 0x00 0x00)
      Specified by:
        `killTag` in interface `IUHF`
      Parameters:
        `killPwd` - 销毁密码(Kill password)
      Returns:
        true:成功(success) false:失败(failure)

    - #### killTag

          public boolean killTag(java.lang.String accessPwd,
                                 int filterBank,
                                 int filterPtr,
                                 int filterCnt,
                                 java.lang.String filterData)

      销毁指定标签 ,默认密码(0x00 0x00 0x00 0x00)不能执行销毁
      Kill specific tag, default password(0x00 0x00 0x00 0x00)
      Specified by:
        `killTag` in interface `IUHF`
      Parameters:
        `accessPwd` - 销毁密码(Kill password)
        `filterBank` - 过滤的存储区(Filtered storage area ):`IUHF.Bank_EPC`、`IUHF.Bank_TID`、`IUHF.Bank_USER`
        `filterPtr` - 过滤的起始地址(Filter start address)
        `filterCnt` - 过滤数据长度(单位:bit),当过滤的数据长度为0时，表示无过滤 ( Filter data length(unit:bit), when filter data length is 0, it means no filter.)
        `filterData` - 过滤的数据(Filtered data)
      Returns:
        true:成功(success) false:失败(failure)

    - #### setProtocol

          public boolean setProtocol(int protocol)

      设置协议
      Setup protocol
      Specified by:
        `setProtocol` in interface `IUHF`
      Parameters:
        `protocol` - 0x00： ISO18000-6C
        0x01 ：GB/T 29768
        0x02 ： GJB 7377.1
      Returns:
        true:成功(success) false:失败(failure)

    - #### getProtocol

          public int getProtocol()

      获取协议
      Acquire protocol
      Specified by:
        `getProtocol` in interface `IUHF`
      Returns:
        0x00 ：ISO18000-6C
        0x01 ： GB/T 29768
        0x02 ： GJB 7377.1

    - #### setFreHop

          public boolean setFreHop(float fre)

      设置模块频点
      Setup frequency Hop
      Specified by:
        `setFreHop` in interface `IUHF`
      Parameters:
        `fre` - 要设置的频点(frequency need to be set)
      Returns:
        true:成功(success) false:失败(failure)

    - #### setRFLink

          public boolean setRFLink(int mode)

      设置链路参数
      Setup RFlink
      Specified by:
        `setRFLink` in interface `IUHF`
      Parameters:
        `mode` - 0: DSB_ASK/FM0/40KH;
        1:PR_ASK/Miller4/250KHz;
        2:PR_ASK/Miller4/300KHz;
        3:DSB_ASK/FM0/400KHz
      Returns:
        true:成功(success) false:失败(failure)

    - #### getRFLink

          public int getRFLink()

      获取链路参数
      acquire link parameter
      Specified by:
        `getRFLink` in interface `IUHF`
      Returns:
        0: DSB_ASK/FM0/40KH;
        1:PR_ASK/Miller4/250KHz;
        2:PR_ASK/Miller4/300KHz;
        3:DSB_ASK/FM0/400KHz

    - #### setFastID

          public boolean setFastID(boolean enalbe)

      开关FastID功能
      ON/OFF FastID function
      Specified by:
        `setFastID` in interface `IUHF`
      Parameters:
        `enalbe` - true：开(on)，false：关(off)
      Returns:
        true:成功(success) false:失败(failure)

    - #### setTagFocus

          public boolean setTagFocus(boolean enalbe)

      开关TagFocus功能
      ON/OFF TagFocus
      Specified by:
        `setTagFocus` in interface `IUHF`
      Parameters:
        `enalbe` - true：开(on)，false：关(off)
      Returns:
        true:成功(success) false:失败(failure)

    - #### setEPCMode

          public boolean setEPCMode()

      设置循环盘点只获取EPC的数据
      Setup auto scan to acquire EPC only
      Specified by:
        `setEPCMode` in interface `IUHF`
      Returns:
        true:成功(success) false:失败(failure)

    - #### setEPCAndTIDMode

          public boolean setEPCAndTIDMode()

      设置循环盘点同时读取 EPC、TID 模式
      Setup auto scan to acquire EPC, TID mode
      Specified by:
        `setEPCAndTIDMode` in interface `IUHF`
      Returns:
        true:成功(success) false:失败(failure)

    - #### setEPCAndTIDUserMode

          public boolean setEPCAndTIDUserMode(int user_prt,
                                              int user_len)

      设置循环盘点同时读取 EPC、TID、USER 模式
      Setup auto scan to acquire EPC, TID, User mode
      Specified by:
        `setEPCAndTIDUserMode` in interface `IUHF`
      Parameters:
        `user_prt` - USER区起始地址(Start addressin USER area)
        `user_len` - USER区长度(Data length in USER area)
      Returns:
        true:成功(success) false:失败(failure)

    - #### getEPCAndTIDUserMode

          public InventoryModeEntity getEPCAndTIDUserMode()

      获取当前循环盘点的模式(EPC或者EPC+TID或者EPC+TID+USER)
      Acquire current scan mode(EPC or EPC+TID or EPC+TID+USER)
      Specified by:
        `getEPCAndTIDUserMode` in interface `IUHF`
      Returns:
        返回null表示失败；
        return NULL means failure
        下标[0]表示当前模式 0：EPC，1:EPC+TID, 2：EPC+TID+USER ;
        0 means current mode 0：EPC，1:EPC+TID, 2：EPC+TID+USER 如果 当前模式为EPC+TID+User,则 下标 [1]:USRE区起始地址 , 下标 [2]:USRE区长度
        if current mode is EPC+TID+User, index [1]:User area start address,index [2]:User area data length.

    - #### getTemperature

          public int getTemperature()

      获取模块温度
      Acquire module Temperature
      Specified by:
        `getTemperature` in interface `IUHF`
      Returns:
        模块温度(Temperature)

    - #### uhfBlockPermalock

          public boolean uhfBlockPermalock(java.lang.String accessPwd,
                                           int filterBank,
                                           int filterPtr,
                                           int filterCnt,
                                           java.lang.String filterData,
                                           int ReadLock,
                                           int uBank,
                                           int uPtr,
                                           int uRange,
                                           byte[] uMaskbuf)

      数据块操作
      Specified by:
        `uhfBlockPermalock` in interface `IUHF`
      Parameters:
        `accessPwd` - ACCESS PASSWORD (4 bites)
        `filterBank` - 过滤的存储区(Filtered storage area ):`IUHF.Bank_EPC`、`IUHF.Bank_TID`、`IUHF.Bank_USER`
        `filterPtr` - 过滤的起始地址(Filter start address)
        `filterCnt` - 过滤数据长度(单位:bit),当过滤的数据长度为0时，表示无过滤 ( Filter data length(unit:bit), when filter data length is 0, it means no filter.)
        `filterData` - 过滤的数据(Filtered data)
        `ReadLock:` - 0表示读设置 1表示锁设置 (0 menas read config 1 means lock config)
        `uBank:` - 存储区域(Storage area): `IUHF.Bank_RESERVED`、`IUHF.Bank_EPC`、`IUHF.Bank_TID`、`IUHF.Bank_USER`
        `uPtr:` - 存储区域起始地址 ，默认为0，其中 1个块单元为16个块 (Start address in storage area, default is 0, 1 unit has 16 blocks)
        `uRange:` - 存储区域结束范围，默认为1，其中 1个块单元为16个块 (End of storage, default is 1, 1 unit has 16 blocks)
        `uMaskbuf:` - 设置锁MSAK， 高位在前，每个bit 代表为1个块，默认为2字节 (Setup lock MSAK, high level is at front, every bit has 1 block, default is 2 bytes.)
      Returns:
        true:成功(success) false:失败(failure)

    - #### setGen2

          public boolean setGen2(Gen2Entity gen2Entity)

      设置 Gen2参数
      Setup Gen2 parameter
      Specified by:
        `setGen2` in interface `IUHF`
      Returns:
        true:成功(success) false:失败(failure)

    - #### getGen2

          public Gen2Entity getGen2()

      获取Gen2参数
      Acquire Gen2 parameter

      [0] target
      select 命令的 Target 参数(Target parameter of the select command)
      0:s0 1:s1 2:s2 3:s3 4:SL
      [1] action
      select 命令的 Action 参数(Action parameter of the select command)
      0( Matching: assert SL or inventoried->A ; Non-Matching: de-assert SL or inventoried->B)
      1( Matching: assert SL or inventoried->A ; Non-Matching: do nothing)
      2( Matching: do nothing ; Non-Matching: de-assert SL or inventoried->B)
      3( Matching: negate SL or (A -> B, B -> A) ; Non-Matching: do nothing
      4( Matching: de-assert SL or inventoried->B ; Non-Matching: de-assert SL or inventoried->A
      5( Matching: de-assert SL or inventoried->B ; Non-Matching: do nothing
      6( Matching: do nothing ; Non-Matching: de-assert SL or inventoried->A
      7( Matching: do nothing ; Non-Matching: negate SL or (A->B, B->A))

      [2] t
      select 命令的Truncate 参数(Truncate parameter of the select command)
      0:Disable truncation , 1:Enable truncation

      [3] q
      0:固定Q算法,1:动态Q算法 (0:fixed Q algorithm, 1:dynamic Q algorithm)
      注意：在固定Q算法下，Q固定为StartQ，忽略MinQ 和 MaxQ (note: in fixed algorithm, Q will be fixed as StartQ, neglect MinQ and MaxQ)
      [4] startQ
      0,1,2,3.....15
      [5] minQ
      0,1,2,3.....15
      [6] maxQ
      0,1,2,3......15
      [7] dr
      query 命令的 DR 参数(DR parameter of the query command)
      0:8 ,1:64/3
      [8] coding
      query 命令的 M 参数(M parameter of the query command )
      0:FM0, 1:Miller2, 2:Miller4,3:Miller8
      [9] p
      query 命令的 TRext 参数(TRext parameter of the query command )
      0:No pilot, 1:Use pilot
      [10] Sel
      query 命令的 sel 参数(sel parameter of the query command )
      0:All, 1:All, 2:~SL ,3:SL
      [11] Session
      query 命令的 session 参数(session parameter of the query command)
      0:S0, 1:S1, 2:S2, 3:S3
      [12] g
      query 命令的 Target 参数(Target parameter of the query command)
      0:A, 1:B
      [13] linkFrequency
      Link Frequency 设置(Link Frequency setting)
      0:40KHz, 1:160KHz, 2:200KHz, 3:250KHz, 4:300KHz, 5:320KHz, 6:400KHz, 7:640KHz

      Specified by:
        `getGen2` in interface `IUHF`
      Returns:
        返回数组长度14 表示为返回的数据,返回其他长度表示读取失败
        return array length 14 means return data, return other length means read failed.

    - #### setPwm

          public boolean setPwm(int WorkTime,
                                int WaitTime)

      设置占空比，仅适用于R2000模块
      setup duty ration, used for R2000 module
      Specified by:
        `setPwm` in interface `IUHF`
      Parameters:
        `WorkTime` - 工作时间（0~255毫秒）
        working time (0 to 255 ms)
        `WaitTime` - 空闲时间（0~255毫秒）
        free time (0 to 255 ms)
      Returns:
        true:成功(success) false:失败(failure)

    - #### getPwm

          public int[] getPwm()

      获取占空比，仅适用于R2000模块
      acquire duty ratio, used for R2000 module only
      Specified by:
        `getPwm` in interface `IUHF`
      Returns:
        返回int数组，[0]工作时间，[1]等待时间;单位为毫秒。失败返回null
        return ini array, [0] working time, [1] waiting time; unit is ms. Failed return null

    - #### setCW

          public boolean setCW(int flag)

      设置连续波
      Setup CW
      Specified by:
        `setCW` in interface `IUHF`
      Parameters:
        `flag` - 1:表示开， 0：表示关
      Returns:
        true:成功(success) false:失败(failure)

    - #### getCW

          public int getCW()

      获取连续波设置
      Acquire CW setup
      Specified by:
        `getCW` in interface `IUHF`
      Returns:
        reutrn 1:表示开， 0：表示关

    - #### uhfJump2Boot

          public boolean uhfJump2Boot()

      uhf进入boot模式 ，开始升级之前需要调用此函数
      UHF enter boot mode, need to call this formula before upgrade
      Specified by:
        `uhfJump2Boot` in interface `IUHF`
      Returns:
        true:成功(success) false:失败(failure)

    - #### uhfJump2Boot

          public boolean uhfJump2Boot(int type)

      Specified by:
        `uhfJump2Boot` in interface `IUHF`

    - #### uhfJump2BootSTM32

          public boolean uhfJump2BootSTM32()

      Specified by:
        `uhfJump2BootSTM32` in interface `IUHFURx`

    - #### getSTM32Version

          public java.lang.String getSTM32Version()

      Specified by:
        `getSTM32Version` in interface `IUHFURx`

    - #### getAntennaConnectState

          public java.util.List<AntennaConnectState> getAntennaConnectState()

      Specified by:
        `getAntennaConnectState` in interface `IUHFURx`

    - #### uhfStartUpdate

          public boolean uhfStartUpdate()

      开始升级uhf模块
      Start upgrade UHF module
      Specified by:
        `uhfStartUpdate` in interface `IUHF`
      Returns:
        true:成功(success) false:失败(failure)

    - #### uhfUpdating

          public boolean uhfUpdating(byte[] buff)

      升级uhf模块，发送uhf固件数据
      Upgrade UHF module, send UHF firmware data
      Specified by:
        `uhfUpdating` in interface `IUHF`
      Parameters:
        `buff` - 固件数据(buff firmware data)
      Returns:
        true:成功(success) false:失败(failure)

    - #### uhfStopUpdate

          public boolean uhfStopUpdate()

      停止升级uhf模块，uhf模块升级完成后需要调用此函数
      Stop upgrade UHF module, call this formula after module has been upgraded.
      Specified by:
        `uhfStopUpdate` in interface `IUHF`
      Returns:
        true:成功(success) false:失败(failure)

    - #### setConnectionStatusCallback

          public void setConnectionStatusCallback(ConnectionStatusCallback<java.lang.Object> btStatusCallback)

      设置UHF连接状态回调
      Setup UHF continuous stauts call-back
      Specified by:
        `setConnectionStatusCallback` in interface `IUHF`
      Parameters:
        `btStatusCallback` - 回调接口(Callback interface)

    - #### getErrCode

          public int getErrCode()

      Specified by:
        `getErrCode` in interface `IUHFURx`

    - #### getConnectStatus

          public ConnectionStatus getConnectStatus()

      获取UHF连接状态
      Acquire UHF connection status
      Specified by:
        `getConnectStatus` in interface `IUHF`
      Returns:
        UHF连接状态(UHF connection status)

    - #### isWorking

          public boolean isWorking()

      Description copied from interface: `IUHF`
      uhf 是否正在盘点
      Specified by:
        `isWorking` in interface `IUHF`
      Returns:

    - #### setInventoryCallback

          public void setInventoryCallback(IUHFInventoryCallback inventoryCallback)

      Specified by:
        `setInventoryCallback` in interface `IUHF`

    - #### enableBeep

          public boolean enableBeep()

      启用蜂鸣器
      Specified by:
        `enableBeep` in interface `IUHFURx`
      Returns:
        true:success false:fail

    - #### disableBeep

          public boolean disableBeep()

      禁用蜂鸣器
      Specified by:
        `disableBeep` in interface `IUHFURx`
      Returns:
        true:success false:fail

    - #### isEnableBeep

          public boolean isEnableBeep()

      是否启用蜂鸣器
      Specified by:
        `isEnableBeep` in interface `IUHFURx`
      Returns:
        启用:success 禁用:fail

    - #### setUhfReaderIP

          public boolean setUhfReaderIP(ReaderIPEntity readerIPEntity)

      设置UHF读写器IP
      Specified by:
        `setUhfReaderIP` in interface `IUHFURx`
      Parameters:
        `readerIPEntity` - 读写器IP地址
      Returns:
        true:success false:fail

    - #### getUhfReaderIP

          public ReaderIPEntity getUhfReaderIP()

      获取UHF读写器IP
      Specified by:
        `getUhfReaderIP` in interface `IUHFURx`
      Returns:
        返回uhf读写器IP地址

    - #### getDestIP

          public ReaderIPEntity getDestIP()

      获取目标IP
      Specified by:
        `getDestIP` in interface `IUHFURx`
      Returns:
        返回目标IP地址

    - #### setDestIP

          public boolean setDestIP(ReaderIPEntity readerIPEntity)

      设置目标IP
      Specified by:
        `setDestIP` in interface `IUHFURx`
      Parameters:
        `readerIPEntity` - 目标IP地址
      Returns:
        true:success false:fail

    - #### softwareReset

          public boolean softwareReset()

      软件复位
      Specified by:
        `softwareReset` in interface `IUHFURx`
      Returns:
        true:success false:fail

    - #### setANT

          public boolean setANT(java.util.List<AntennaState> antStatus)

      设置天线
      Specified by:
        `setANT` in interface `IUHFURx`
      Parameters:
        `antStatus` - 下标[0]:天线1的状态值, 下标[1]:天线2的状态值, 下标[2]:天线3的状态 值, 下标[3]:天线4的状态值 ; 状态值的含义：1表示使用当前天线，0表示不使用当前天线。
      Returns:
        true:success false:fail

    - #### getANT

          public java.util.List<AntennaState> getANT()

      获取天线
      Specified by:
        `getANT` in interface `IUHFURx`
      Returns:
        返回天线状态 , 下标[0]:天线1的状态值, 下标[1]:天线2的状态值, 下标[2]:天线3的状态 值, 下标[3]:天线4的状态值 ; 状态值的含义：1表示使用当前天线，0表示不使用当前天线。

    - #### setAntennaWorkTime

          public boolean setAntennaWorkTime(AntennaEnum antnum,
                                            int WorkTime)

      设置天线工作时间
      Specified by:
        `setAntennaWorkTime` in interface `IUHFURx`
      Parameters:
        `antnum` - 天线号
        `WorkTime` - 工作时间
      Returns:
        true:success false:fail

    - #### getAntennaWorkTime

          public int getAntennaWorkTime(AntennaEnum antnum)

      获取天线工作时间
      Specified by:
        `getAntennaWorkTime` in interface `IUHFURx`
      Parameters:
        `antnum` - 天线号
      Returns:
        返回天线工作时间

    - #### getWorkMode

          public int getWorkMode()

      获取工作模式
      Specified by:
        `getWorkMode` in interface `IUHFURx`
      Returns:
        0:表示命令模式,1:表示自动模式，2：表示触发模式； -1表示获取工作模式失败。

    - #### setWorkMode

          public boolean setWorkMode(int mode)

      设置工作模式
      Specified by:
        `setWorkMode` in interface `IUHFURx`
      Parameters:
        `mode` - 0:表示命令模式,1:表示自动模式，2：表示触发模式
      Returns:
        true:success false:fail

    - #### setTriggerWorkModePara

          public boolean setTriggerWorkModePara(int input,
                                                int workTime,
                                                int waitTime,
                                                int receiveMode)

      设置触发工作模式参数
      Specified by:
        `setTriggerWorkModePara` in interface `IUHFURx`
      Parameters:
        `input` - 触发IO,0x00表示触发输入1; 0x01表示触发输入2
        `workTime` - 触发工作时间,表示有触发输入时读卡工作时间，单位是10ms
        `waitTime` - 触发时间间隔,表示触发工作时间结束后,间隔多久再判断触发输入IO口进行触发,单位是10ms
        `receiveMode` - 标签输出方式,0x00表示串口输出，0x01表示UDP输出。
      Returns:
        true:success false:fail

    - #### getTriggerWorkModePara

          public int[] getTriggerWorkModePara()

      获取触发工作模式参数
      Specified by:
        `getTriggerWorkModePara` in interface `IUHFURx`
      Returns:
        返回触发工作模式参数
        下标[0]:触发IO,0x00表示触发输入1; 0x01表示触发输入2
        下标[1]:触发工作时间,表示有触发输入时读卡工作时间，单位是10ms
        下标[2]:触发时间间隔,表示触发工作时间结束后,间隔多久再判断触发输入IO口进行触发,单位是10ms
        下标[3]:标签输出方式,0x00表示串口输出，0x01表示UDP输出。

    - #### getInputStatus

          public byte[] getInputStatus()

      获取输入口状态
      Specified by:
        `getInputStatus` in interface `IUHFURx`
      Returns:
        返回输入口状态
        下标[0]:Input1的状态值,0是低电平,1是高电平
        下标[1]:Input2的状态值,0是低电平,1是高电平

    - #### setRelayStatus

          public boolean setRelayStatus(byte status)

      设置继电器状态
      Specified by:
        `setRelayStatus` in interface `IUHFURx`
      Parameters:
        `status` - 0:断开，1:闭合
      Returns:
        true:success false:fail