com.rscja.deviceapi

## Class RFIDWithUHFRLM

- java.lang.Object
- - com.rscja.deviceapi.UhfBase
  - - com.rscja.deviceapi.RFIDWithUHFUART
    - - com.rscja.deviceapi.RFIDWithUHFRLM

- All Implemented Interfaces:
    IHandheldRFID, IRFIDWithUHFRLM, ISingleAntenna, IUHF, IUHFOfAndroidUart

      public class RFIDWithUHFRLM
      extends RFIDWithUHFUART
      implements IRFIDWithUHFRLM

- - ### 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
    --- | ---
    `int` | `getFrequencyMode()` 读取模块的工作模式 Read work mode of module
    `static RFIDWithUHFRLM` | `getInstance()`
    `UHFTAGInfo` | `inventorySingleTag()` 单步识别标签 Identify tag in single mode
    `java.lang.String` | `inventorySingleTagUii()`
    `boolean` | `killTag(java.lang.String killPwd)` 销毁指定标签（不指定UII）,默认密码不能执行销毁 destroy specified tag (non-specified UII), default code cannot execute erase
    `boolean` | `killTag(java.lang.String killPwd, java.lang.String uii)`
    `boolean` | `lockMem(java.lang.String accessPwd, java.lang.String lockCode)` 锁定标签 Lock tag
    `boolean` | `lockMem(java.lang.String accessPwd, java.lang.String lockCode, java.lang.String uii)`
    `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 bank, int ptr, int cnt, java.lang.String uii)`
    `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` | `setFrequencyMode(int freMode)` 设置模块的工作模式 Setup work mode of module
    `boolean` | `startInventoryTag(int flagAnti, int initQ, int cnt)` 启动识别Tag循环，只是开启识别Tag循环，之后将识别到的标签号上传到缓冲区， `RFIDWithUHFUART.readTagFromBuffer()` start identifing Tag circulation, start identifying Tag circulation only, upload the identified tag number to buffer zone after, `RFIDWithUHFUART.readTagFromBuffer()` 用于从缓冲区读取一个标签号数据，开启循环识别之后，模块只能响应`RFIDWithUHFUART.stopInventory()` 函数， used for reading a tag number data from buffer zone, after starting circular identification, module will respond `RFIDWithUHFUART.stopInventory()` formula only.
    `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 bank, int ptr, int cnt, java.lang.String data, java.lang.String uii)`

    - ### Methods inherited from class com.rscja.deviceapi.RFIDWithUHFUART

      `blockWriteData, eraseData, eraseData, free, generateLockCode, getConnectStatus, getCW, getEPCAndTIDUserMode, getErrCode, getGen2, getHardwareVersion, getPower, getProtocol, getPwm, getRFLink, getTemperature, getVersion, init_R2000, init, init, isPowerOn, isWorking, killTag, lockMem, readData, setConnectionStatusCallback, setCW, setEPCAndTIDMode, setEPCAndTIDUserMode, setEPCAndUserReservedModeEx, setEPCMode, setFastID, setFilter, setFreHop, setGen2, setInventoryCallback, setPower, setPowerOnBySystem, setProtocol, setPwm, setRFLink, setTagFocus, setUart, startInventoryTag, startLocation, stopInventory, stopLocation, uhfBlockPermalock, uhfJump2Boot, uhfJump2Boot, uhfStartUpdate, uhfStopUpdate, uhfUpdating, writeData, writeDataToEpc, writeDataToEpc`

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

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

    - ### Methods inherited from interface com.rscja.deviceapi.interfaces.IUHFOfAndroidUart

      `getErrCode, getHardwareVersion, init_R2000, isPowerOn, setEPCAndUserReservedModeEx, setPowerOnBySystem, setUart`

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

      `blockWriteData, eraseData, eraseData, free, generateLockCode, getConnectStatus, getCW, getEPCAndTIDUserMode, getGen2, getProtocol, getPwm, getRFLink, getTemperature, getVersion, init, isWorking, killTag, lockMem, readData, setConnectionStatusCallback, setCW, setEPCAndTIDMode, setEPCAndTIDUserMode, setEPCMode, setFastID, setFilter, setFreHop, setGen2, setInventoryCallback, setProtocol, setPwm, setRFLink, setTagFocus, startInventoryTag, stopInventory, uhfBlockPermalock, uhfJump2Boot, uhfJump2Boot, uhfStartUpdate, uhfStopUpdate, uhfUpdating, writeData, writeDataToEpc, writeDataToEpc`

- - ### Method Detail

    - #### getInstance

          public static RFIDWithUHFRLM getInstance()

    - #### 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 `IRFIDWithUHFRLM`
      Specified by:
        `readData` in interface `IUHF`
      Overrides:
        `readData` in class `RFIDWithUHFUART`
      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 bank,
                                           int ptr,
                                           int cnt,
                                           java.lang.String uii)

      Specified by:
        `readData` in interface `IRFIDWithUHFRLM`

    - #### 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 `IRFIDWithUHFRLM`
      Specified by:
        `writeData` in interface `IUHF`
      Overrides:
        `writeData` in class `RFIDWithUHFUART`
      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 bank,
                                   int ptr,
                                   int cnt,
                                   java.lang.String data,
                                   java.lang.String uii)

      Specified by:
        `writeData` in interface `IRFIDWithUHFRLM`

    - #### killTag

          public boolean killTag(java.lang.String killPwd)

      销毁指定标签（不指定UII）,默认密码不能执行销毁
      destroy specified tag (non-specified UII), default code cannot execute erase
      Specified by:
        `killTag` in interface `IRFIDWithUHFRLM`
      Specified by:
        `killTag` in interface `IUHF`
      Overrides:
        `killTag` in class `RFIDWithUHFUART`
      Parameters:
        `killPwd` - 销毁密码
        kill password
      Returns:
        true成功，false失败
        ture is success, false is failed

    - #### killTag

          public boolean killTag(java.lang.String killPwd,
                                 java.lang.String uii)

      Specified by:
        `killTag` in interface `IRFIDWithUHFRLM`

    - #### lockMem

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

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

    - #### lockMem

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

      Specified by:
        `lockMem` in interface `IRFIDWithUHFRLM`

    - #### startInventoryTag

          public boolean startInventoryTag(int flagAnti,
                                           int initQ,
                                           int cnt)

      Description copied from class: `RFIDWithUHFUART`
      启动识别Tag循环，只是开启识别Tag循环，之后将识别到的标签号上传到缓冲区， `RFIDWithUHFUART.readTagFromBuffer()`
      start identifing Tag circulation, start identifying Tag circulation only, upload the identified tag number to buffer zone after, `RFIDWithUHFUART.readTagFromBuffer()`
      用于从缓冲区读取一个标签号数据，开启循环识别之后，模块只能响应`RFIDWithUHFUART.stopInventory()` 函数，
      used for reading a tag number data from buffer zone, after starting circular identification, module will respond `RFIDWithUHFUART.stopInventory()` formula only.
      `RFIDWithUHFUART.stopInventory()` 停止识别循环。
      `RFIDWithUHFUART.stopInventory()` stop identification circulation.
      Specified by:
        `startInventoryTag` in interface `IRFIDWithUHFRLM`
      Specified by:
        `startInventoryTag` in interface `IUHFOfAndroidUart`
      Overrides:
        `startInventoryTag` in class `RFIDWithUHFUART`
      Parameters:
        `flagAnti` - 是否使用防碰撞识别功能,默认使用0
        use anti-collision identification function or not，default 0
        `initQ` - 防碰撞识别过程的初始Q值，flagAnti为1时有效
        Initial Q value of anti-collision identification process, it will be valid if flagAnti is 1.
        `cnt` - TID的长度，单位为“字”
        TID length, unit is 'byte'
      Returns:
        true成功,false失败
        true is success, false is failed.

    - #### 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`
      Overrides:
        `readTagFromBuffer` in class `RFIDWithUHFUART`
      Returns:
        标签数据(Tag data)

    - #### inventorySingleTag

          public UHFTAGInfo inventorySingleTag()

      Description copied from interface: `IUHF`
      单步识别标签
      Identify tag in single mode
      Specified by:
        `inventorySingleTag` in interface `IRFIDWithUHFRLM`
      Specified by:
        `inventorySingleTag` in interface `IUHF`
      Overrides:
        `inventorySingleTag` in class `RFIDWithUHFUART`
      Returns:
        返回标签信息(return tag infor)

    - #### inventorySingleTagUii

          public java.lang.String inventorySingleTagUii()

      Specified by:
        `inventorySingleTagUii` in interface `IRFIDWithUHFRLM`

    - #### getFrequencyMode

          public int getFrequencyMode()

      Description copied from interface: `IUHF`
      读取模块的工作模式
      Read work mode of module
      Specified by:
        `getFrequencyMode` in interface `IRFIDWithUHFRLM`
      Specified by:
        `getFrequencyMode` in interface `IUHF`
      Overrides:
        `getFrequencyMode` in class `RFIDWithUHFUART`
      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 `IRFIDWithUHFRLM`
      Specified by:
        `setFrequencyMode` in interface `IUHF`
      Overrides:
        `setFrequencyMode` in class `RFIDWithUHFUART`
      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)