com.rscja.deviceapi

## Class RFIDWithUHFUrxUsbToUart

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

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

      public class RFIDWithUHFUrxUsbToUart
      extends UhfBase
      implements IRFIDWithUHFUrxUsbToUart

  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.
  备注： URx 设备USB转串口,目前已经适配 pl2302芯片的usb转接线
  Example Usage:
  public class UHFDemo() {
  RFIDWithUHFUrxUsbToUart rfid = RFIDWithUHFUrxUsbToUart.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
    Modifier and Type | Field and Description
    --- | ---
    `static java.lang.String` | `ACTION_USB_PERMISSION`

    - ### 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()` 获取`init(UsbDevice, Context)`失败的错误码 Acquire `init(UsbDevice, Context)` error codes of failure.
    `int` | `getFrequencyMode()` 读取模块的工作模式 Read work mode of module
    `Gen2Entity` | `getGen2()` 获取Gen2参数 Acquire Gen2 parameter 获取GEN2参数值(Get GEN2 parameter value)
    `byte[]` | `getInputStatus()` 获取输入口状态
    `static RFIDWithUHFUrxUsbToUart` | `getInstance()`
    `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模块 Initiate UHF module
    `boolean` | `init(UsbDevice currDevice, Context context)` 初始化usb相关信息，以及连接usb设备 initialize USB related information and connect USB device.
    `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 `IUHF.startInventoryTag()`启动识别标签之后，在子线程循环调用此函数不断获取缓冲区的标签信息，每次返回一张标签数据 `IUHF.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. 在调用`IUHF.stopInventory()`之后，应当退出子线程。 After call `IUHF.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)` 过滤循环盘点的标签，在`IUHF.startInventoryTag()`循环盘点标签之前，可以设置要过滤的数据。 Filter tag in auto scan mode, before scanning tags `IUHF.startInventoryTag()`, setup data that needs to be filtered. 设置过滤条件之后，盘点标签时将符合过滤条件的标签上传到缓存区`IUHF.readTagFromBuffer()`。 After setup, upload filtered tags to buffer `IUHF.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)` 设置触发工作模式参数
    `boolean` | `setUhfReaderIP(ReaderIPEntity readerIPEntity)` 设置UHF读写器IP
    `boolean` | `setWorkMode(int mode)` 设置工作模式
    `boolean` | `softwareReset()` 软件复位
    `boolean` | `startInventoryTag()` 启动识别Tag循环，只是开启识别Tag循环，之后将识别到的标签号上传到缓冲区， `IUHF.readTagFromBuffer()` Enable Tag auto reading and upload tag number to buffer, `IUHF.readTagFromBuffer()` 用于从缓冲区读取一个标签号数据，开启循环识别之后，模块只能响应`IUHF.stopInventory()`函数 。 Read tag data from buffer, after switch on auto reading, module will give feedback to `IUHF.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`

- - ### Field Detail

    - #### ACTION_USB_PERMISSION

          public static final java.lang.String ACTION_USB_PERMISSION

      See Also:
        Constant Field Values

  - ### Method Detail

    - #### getInstance

          public static RFIDWithUHFUrxUsbToUart getInstance()

    - #### getErrCode

          public int getErrCode()

      获取`init(UsbDevice, Context)`失败的错误码
      Acquire `init(UsbDevice, Context)` error codes of failure.
      Specified by:
        `getErrCode` in interface `IUHFURx`
      Returns:
        返回错误码(return error codes):`ERRCODE_SUCCESS`、`ERRCODE_FAILURE`、`ERRCODE_PERMISSION_DENIED`

    - #### init

          public boolean init(UsbDevice currDevice,
                              Context context)

      初始化usb相关信息，以及连接usb设备
      initialize USB related information and connect USB device.
      Specified by:
        `init` in interface `IRFIDWithUHFUrxUsbToUart`
      Parameters:
        `currDevice` - 要连接的usb设备( USB device that need to be connected)
        `context` - Context
      Returns:
        true:成功(success) false:失败(failure)

    - #### init

          public boolean init(Context context)

      Description copied from interface: `IUHF`
      初始化UHF模块
      Initiate UHF module
      Specified by:
        `init` in interface `IUHF`
      Parameters:
        `context` - context
      Returns:
        true:成功(success) false:失败(failure)

    - #### free

          public boolean free()

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

    - #### getVersion

          public java.lang.String getVersion()

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

    - #### enableBeep

          public boolean enableBeep()

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

    - #### disableBeep

          public boolean disableBeep()

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

    - #### isEnableBeep

          public boolean isEnableBeep()

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

    - #### setUhfReaderIP

          public boolean setUhfReaderIP(ReaderIPEntity readerIPEntity)

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

    - #### getUhfReaderIP

          public ReaderIPEntity getUhfReaderIP()

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

    - #### getDestIP

          public ReaderIPEntity getDestIP()

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

    - #### setDestIP

          public boolean setDestIP(ReaderIPEntity readerIPEntity)

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

    - #### softwareReset

          public boolean softwareReset()

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

    - #### setANT

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

      Description copied from interface: `IUHFURx`
      设置天线
      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()

      Description copied from interface: `IUHFURx`
      获取天线
      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)

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

    - #### getAntennaWorkTime

          public int getAntennaWorkTime(AntennaEnum antnum)

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

    - #### getWorkMode

          public int getWorkMode()

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

    - #### setWorkMode

          public boolean setWorkMode(int mode)

      Description copied from interface: `IUHFURx`
      设置工作模式
      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)

      Description copied from interface: `IUHFURx`
      设置触发工作模式参数
      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()

      Description copied from interface: `IUHFURx`
      获取触发工作模式参数
      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()

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

    - #### setRelayStatus

          public boolean setRelayStatus(byte status)

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

    - #### getPower

          public int getPower()

      Description copied from interface: `ISingleAntenna`
      读取模块的功率
      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)

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

    - #### getFrequencyMode

          public int getFrequencyMode()

      Description copied from interface: `IUHF`
      读取模块的工作模式
      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(920~928Mhz)
        0x35:Vietnam(918~923MHz)
        0x36:Peru(915MHz-928MHz)
        0x37:Russia( 860MHz-867.6MHz)
        0x80:Morocco
        0x3E:Malaysia(919-923MHz)
        0x3F:Indonesia(920-923MHz)

    - #### 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)
        0x36:Peru(915MHz-928MHz)
        0x37:Russia( 860MHz-867.6MHz)
        0x80 Morocco
        0x3B:Malaysia 0x3E:Australia(920-926MHz)
        0x3F:Indonesia(920-923MHz)
      Returns:
        true:成功(success) false:失败(failure)

    - #### startInventoryTag

          public boolean startInventoryTag()

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

    - #### readTagFromBuffer

          public UHFTAGInfo readTagFromBuffer()

      Description copied from interface: `IUHF`
      获取缓冲区的标签数据
      Get tag data from buffer
      `IUHF.startInventoryTag()`启动识别标签之后，在子线程循环调用此函数不断获取缓冲区的标签信息，每次返回一张标签数据
      `IUHF.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.
      在调用`IUHF.stopInventory()`之后，应当退出子线程。
      After call `IUHF.stopInventory()`, exit sub threads.
      Specified by:
        `readTagFromBuffer` in interface `IUHF`
      Returns:
        标签数据(Tag data)

    - #### stopInventory

          public boolean stopInventory()

      Description copied from interface: `IUHF`
      停止循环识别，在调用此函数之后应当退出循环获取缓冲区的标签信息的子线程
      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)

      Description copied from interface: `IUHF`
      获取锁定码
      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)

      Description copied from interface: `IUHF`
      锁定指定标签
      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)

      Description copied from interface: `IUHF`
      锁定标签
      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()

      Description copied from interface: `IUHF`
      单步识别标签
      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)

      Description copied from interface: `IUHF`
      读取标签数据
      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)

      Description copied from interface: `IUHF`
      读取指定标签数据
      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)

      Description copied from interface: `IUHF`
      向标签写入数据
      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)

      Description copied from interface: `IUHF`
      将数据写入指定标签
      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)

      Description copied from interface: `IUHF`
      向标签写入数据(支持大数据标签写入)、当需要写入的标签数据比较大可以使用此函数写入
      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)

      Description copied from interface: `IUHF`
      擦除指定标签的数据，被擦除的数据块其内容将被设置成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)

      Description copied from interface: `IUHF`
      擦除数据，被擦除的数据块其内容将被设置成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)

      Description copied from interface: `IUHF`
      过滤循环盘点的标签，在`IUHF.startInventoryTag()`循环盘点标签之前，可以设置要过滤的数据。
      Filter tag in auto scan mode, before scanning tags `IUHF.startInventoryTag()`, setup data that needs to be filtered.
      设置过滤条件之后，盘点标签时将符合过滤条件的标签上传到缓存区`IUHF.readTagFromBuffer()`。
      After setup, upload filtered tags to buffer `IUHF.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)

      Description copied from interface: `IUHF`
      销毁指定标签,默认密码(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)

      Description copied from interface: `IUHF`
      销毁指定标签 ,默认密码(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)

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

    - #### getProtocol

          public int getProtocol()

      Description copied from interface: `IUHF`
      获取协议
      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)

      Description copied from interface: `IUHF`
      设置模块频点
      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)

      Description copied from interface: `IUHF`
      设置链路参数
      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()

      Description copied from interface: `IUHF`
      获取链路参数
      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)

      Description copied from interface: `IUHF`
      开关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)

      Description copied from interface: `IUHF`
      开关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()

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

    - #### setEPCAndTIDMode

          public boolean setEPCAndTIDMode()

      Description copied from interface: `IUHF`
      设置循环盘点同时读取 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)

      Description copied from interface: `IUHF`
      设置循环盘点同时读取 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()

      Description copied from interface: `IUHF`
      获取当前循环盘点的模式(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()

      Description copied from interface: `IUHF`
      获取模块温度
      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)

      Description copied from interface: `IUHF`
      数据块操作
      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)
      Returns:
        true:成功(success) false:失败(failure)

    - #### setGen2

          public boolean setGen2(Gen2Entity gen2Entity)

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

    - #### getGen2

          public Gen2Entity getGen2()

      Description copied from interface: `IUHF`
      获取Gen2参数
      Acquire Gen2 parameter
      获取GEN2参数值(Get GEN2 parameter value)
      Specified by:
        `getGen2` in interface `IUHF`
      Returns:
        GEN2参数值实体对象 (GEN2 parameter value entity object)

    - #### setPwm

          public boolean setPwm(int WorkTime,
                                int WaitTime)

      Description copied from interface: `IUHF`
      设置占空比，仅适用于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()

      Description copied from interface: `IUHF`
      获取占空比，仅适用于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)

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

    - #### getCW

          public int getCW()

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

    - #### uhfJump2Boot

          public boolean uhfJump2Boot()

      Description copied from interface: `IUHF`
      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()

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

    - #### uhfUpdating

          public boolean uhfUpdating(byte[] buff)

      Description copied from interface: `IUHF`
      升级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()

      Description copied from interface: `IUHF`
      停止升级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)

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

    - #### 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`

    - #### getConnectStatus

          public ConnectionStatus getConnectStatus()

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