public class MyLib
extends java.lang.Object
author CYD date 2019/02/27 version 1.1 Attention please: 1.This API is for 50UHF(PDA + Pistol Grip) with UM7 module; 2 UM7.dll are necessary to add into the project. 3.You can use other methods of MyLib class after initializing its object and excuting powerOn operation 4.For the data format of MonzaR6 tag,please refer to following figure:
Modifier and Type | Field and Description |
---|---|
int |
EPC
EPC Bank
|
int |
RESERVED
Reserved Bank
|
int |
TID
TID Bank
|
int |
USR
USR Bank
|
Constructor and Description |
---|
MyLib(android.content.Context con) |
Modifier and Type | Method and Description |
---|---|
boolean |
filterSet(int bank,
int ptr,
int cnt,
java.lang.String data,
boolean save)
Set tag filter.
|
java.lang.String |
firmwareVerGet()
Get the firmware version.
|
int |
frequencyModeGet()
Get frequency of UHF module.
|
boolean |
frequencyModeSet(int freMode)
Set frequency of UHF module.
|
java.lang.String |
hardwareVerGet()
Get the hardware version.
|
int |
inventoryModelGet()
Get tag inventory mode
|
boolean |
inventoryModelSet(int mode,
boolean save)
Set tag inventory mode
|
boolean |
killTag(java.lang.String killPwd,
int bank,
int ptr,
int cnt,
java.lang.String data)
Kill tag
|
boolean |
lockMen(java.lang.String accessPwd,
int bank,
int ptr,
int cnt,
java.lang.String data,
int bank1)
Lock tag
|
int |
powerGet()
Get the antenna power of UHF module.
|
boolean |
powerOff()
RFID Power off.
|
boolean |
powerOn()
RFID Power on
|
boolean |
powerSet(int power)
Set the antenna power of UHF module
|
java.lang.String |
readTag(java.lang.String accessPwd,
int bank,
int ptr,
int len,
java.lang.String data,
int bank1,
int ptr1,
int len1)
Read Tag(with filter).
|
java.lang.String[] |
readTagFromBuffer()
Get tag info including TID,EPC and RSSI.
|
int |
readTagModeGet()
Get tag inventory mode about return data
|
boolean |
readTagModeSet(int mode,
boolean ifsave)
Set tag inventory mode about return data
|
int |
sessionModeGet()
Get session mode.
|
boolean |
sessionModeSet(int sessionValue)
Set session mode.
|
boolean |
startInventoryTag()
Start Inventory.
|
boolean |
stopInventory()
Stop Inventory.
|
boolean |
unlockMen(java.lang.String accessPwd,
int bank,
int ptr,
int cnt,
java.lang.String data,
int bank1)
Unlock tag.
|
boolean |
updateFirmware(java.lang.String filePath,
java.lang.String fileName)
Firmware Update.
|
boolean |
writeDataToEpc(java.lang.String accessPwd,
int ptr,
int cnt,
java.lang.String data)
Write data to EPC Bank(without filter).
|
boolean |
writeTag(java.lang.String accessPwd,
int bank,
int ptr,
int len,
java.lang.String data,
int bank1,
int ptr1,
int len1,
java.lang.String data1)
Write Tag(with filter).
|
public final int RESERVED
public final int EPC
public final int TID
public final int USR
public boolean powerOn()
public boolean powerOff()
public int powerGet()
public boolean powerSet(int power)
power
- The UHF module antenna power value.public boolean frequencyModeSet(int freMode)
freMode
- 0:CN(920-925MHz), 1:CN(840-845MHz), 2:EU(865-868MHz),
3: 915MHz,4:US(902-928MHz)public int frequencyModeGet()
frequencyModeSet(int)
.public boolean startInventoryTag()
public boolean stopInventory()
public java.lang.String[] readTagFromBuffer()
readTagModeSet(int, boolean)
and readTagModeGet()
A complete example of tag inventory.
MyLib mb = new MyLib(...)://Please fill in the Context object.
if(mb.powerOn()&& mb.startInventoryTag()){
new Thread(new Runnable() {
@Override
public void run() {
while (true) {
String[] tagData = mb.readTagFromBuffer();
if (tagData != null) {
MLog.e("tid_user = " + tagData[0] + " epc = " + tagData[1] + " rssi = " + tagData[2]);
}
}
}
}).start();
}
public boolean filterSet(int bank, int ptr, int cnt, java.lang.String data, boolean save)
public boolean lockMen(java.lang.String accessPwd, int bank, int ptr, int cnt, java.lang.String data, int bank1)
accessPwd
- Access Password in RESERVED Bank.bank
- Filter bank,details please refer to RESERVED
,EPC
,TID
,USR
.ptr
- Filter start bit (bit)cnt
- Filter data length (bit)data
- Filter databank1
- Lock bank,details please refer to RESERVED
,EPC
,TID
,USR
Example: MyLib mb = new MyLib(...)://Please fill in the Context object. if(mb.powerOn()){ String accessPwd = "00000000"; int bank = mb.EPC;//(or int bank =1); Filter Bank int ptr = 32; int cnt = 96; String data = "1234567890ABCDEF12345678"; int bank1=mb.EPC; mb.lockMen(accessPwd,bank,ptr,cnt,data,bank1); }
public boolean unlockMen(java.lang.String accessPwd, int bank, int ptr, int cnt, java.lang.String data, int bank1)
accessPwd
- Access Password in RESERVED Bank.bank
- Filter bank,details please refer to RESERVED
,EPC
,TID
,USR
.ptr
- Filter start bit (bit)cnt
- Filter data length (bit)data
- Filter databank1
- Unlock specified Bank,details please refer to RESERVED
,EPC
,TID
,USR
.public boolean writeDataToEpc(java.lang.String accessPwd, int ptr, int cnt, java.lang.String data)
accessPwd
- Access Password in RESERVED Bank.ptr
- Start address(Word).cnt
- Length of data(Word).data
- Data(Hex).public boolean writeTag(java.lang.String accessPwd, int bank, int ptr, int len, java.lang.String data, int bank1, int ptr1, int len1, java.lang.String data1)
accessPwd
- Access Password in RESERVED Bank.bank
- Filter bank,details please refer to RESERVED
,EPC
,TID
,USR
.ptr
- Filter start bit(bit).len
- Filter data length (bit).data
- Filter databank1
- Write data bank,details please refer to RESERVED
,EPC
,TID
,USR
.ptr1
- Write data start address(Word). Note:1word =2byte=16bitlen1
- Write data length(Word).data1
- Data to be written in.A complete example of tag writing MyLib mb = new MyLib(...)://Please fill in the Context object yourself. if(mb.powerOn()){ String pwd="00000000"; int bank = mb.EPC;//(or int bank =1); int ptr =32; int len =96; String data="1234567890ABCDEF12345678"; int bank1=mb.EPC; int ptr1=2; int len1=6; String data1="1234567890ABCDEF12345679"; mb.writeTag(pwd,bank,ptr,len,data,bank1,ptr1,len1,data1); }
public java.lang.String readTag(java.lang.String accessPwd, int bank, int ptr, int len, java.lang.String data, int bank1, int ptr1, int len1)
accessPwd
- Access Password in RESERVED Bank.bank
- Filter bank,details please refer to RESERVED
,EPC
,TID
,USR
.ptr
- Filter start bit(bit).len
- Filter data length(bit).data
- Filter databank1
- The bank to be read,details please refer to RESERVED
,EPC
,TID
,USR
.ptr1
- Start address to be read(word).len1
- Read data length(Word).public boolean killTag(java.lang.String killPwd, int bank, int ptr, int cnt, java.lang.String data)
public java.lang.String hardwareVerGet()
public java.lang.String firmwareVerGet()
public boolean updateFirmware(java.lang.String filePath, java.lang.String fileName)
filePath
- The absolute path of firmware saved in SD card.fileName
- File name of firmware.public boolean readTagModeSet(int mode, boolean ifsave)
mode
- 0->read EPC only; 1->read both EPC and TID; 2-> read both EPC and USR.ifsave
- ture-> save as default when power off; false->not save when power offpublic int readTagModeGet()
public boolean sessionModeSet(int sessionValue)
sessionValue
- 0~3 correspond to mode S0~S3.public int sessionModeGet()
public boolean inventoryModelSet(int mode, boolean save)
mode
- 0-> multi-tags reading mode; 1-> quick reading mode, specified for single tag reading.save
- ture-> save as default when power off; false->not save when power offpublic int inventoryModelGet()
inventoryModelSet(int, boolean)
#mode), others fail.