package jiexi;
|
|
import home.ModbusUtil;
|
import home.PacketParser;
|
|
public class DellTag55AA03 {
|
private static final ThreadLocal<ParseResult> RESULT_CACHE =
|
ThreadLocal.withInitial(ParseResult::new);
|
|
public static class ParseResult {
|
public String dizhi0x2;//°æ±¾ºÅ
|
public String dizhi0x4;//Ä£¿é±àºÅ
|
public Integer dizhi0x6;//ͨÐÅÆµÂÊ
|
public Integer dizhi0x8;//×î¶àͨÐÅ»ùÕ¾
|
public Integer dizhi0xA;//×îÉÙͨÐÅ»ùÕ¾¡¢Ð¡×é±àºÅ
|
public short dizhi0xC;//У׼¾àÀë
|
public Integer dizhi0xE;//Ä£¿éÀàÐÍ
|
public Integer dizhi0x10;//»ùÕ¾Ö÷¶¯²â¾à
|
public Integer dizhi0x12;//±¨¾¯É豸
|
public Integer dizhi0x14;//ÁÙ½ü»ùÕ¾Çл»¾àÀë¡¢IMU¾²Ö¹Ê±¼ä
|
public String dizhi0x16;//»ùÕ¾²â¾àÉÏÏÞ¡¢ÆøÑ¹»ùÕ¾±àºÅ
|
public Integer dizhi0x18;//±¨¾¯¾àÀë¡¢ÍâÉè¿ØÖÆ
|
public Integer dizhi0x1A;//Åä¶ÔID
|
public Integer dizhi0x1C;//ÐÄÌø°ü¡¢UWB¿ª¹Ø×´Ì¬
|
public Integer dizhi0x1E;//MODBUSģʽ
|
public Integer dizhi0x20;//ÁÙ½ü»ùÕ¾ÊýÁ¿ ¡¢Õð¶¯Ê±³¤
|
public String dizhi0x22;//ÁÙ½ü»ùÕ¾1 ID
|
public String dizhi0x24;//ÁÙ½ü»ùÕ¾2 ID
|
public String dizhi0x26;//ÁÙ½ü»ùÕ¾3 ID
|
public String dizhi0x28;//ÁÙ½ü»ùÕ¾4 ID
|
public String dizhi0x2A;//ÁÙ½ü»ùÕ¾5 ID
|
public String dizhi0x2C;//ÁÙ½ü»ùÕ¾6 ID
|
public String dizhi0x2E;//ÁÙ½ü»ùÕ¾7 ID
|
public String dizhi0x30;//ÁÙ½ü»ùÕ¾8 ID
|
public String dizhi0x32;//ÁÙ½ü»ùÕ¾9 ID
|
public String dizhi0x34;//ÁÙ½ü»ùÕ¾10 ID
|
public Integer dizhi0x36;//¹¦ÂÊ
|
public Integer dizhi0x38;//¼ÓËÙ¼ÆãÐÖµ
|
public Integer dizhi0x3A;//ÎÞ¾²Ö¹ÐÝÃßʱ¼ä
|
public Integer dizhi0x3C;//Õð¶¯Ê¹ÄÜ
|
public Integer dizhi0x3E;//¼ÓËÙ¼ÆÊ¹ÄÜ
|
public Integer dizhi0x40;//±êǩϷ¢ÅäÖÃ״̬/Â˲¨²ÎÊý
|
public Integer dizhi0x42;//±êǩϷ¢ÅäÖÃID¡¢¼ÓËÙ¼ÆÊ±³¤
|
public String dizhi0x44;//ͬ²½»ùÕ¾ID¡¢É豸¼¤»î״̬λ
|
public Integer dizhi0x46;//ͬ²½»ùÕ¾ÀàÐÍ
|
public Integer dizhi0x48;//ËÙ¶ÈÂ˲¨ÏÞÖµ
|
public String dizhi0x4A;//°×Ãûµ¥ÆðʼID
|
public String dizhi0x4C;//°×Ãûµ¥ÖÕÖ¹ID
|
public Integer dizhi0x4E;//¹Ì¼þÀàÐÍ
|
public short dizhi0x50;//²Î¿¼¸ß¶ÈУ׼ֵ
|
public Integer dizhi0x52;//»ùÕ¾²â¾àÐÅÏ¢Êä³ö¸ñʽ
|
public Integer dizhi0x54;//»ùÕ¾²â¾àÉÏÏÞ
|
public Integer dizhi0x56;//
|
public Integer dizhi0x58;//
|
public Integer dizhi0x5A;//
|
public Integer dizhi0x5C;//
|
public Integer dizhi0x5E;//
|
public Integer dizhi0x60;//Ä£¿éÖØÆô
|
public Integer dizhi0x62;//»Ö¸´³ö³§ÉèÖÃ
|
public Integer dizhi0x64;//¿ªÊ¼Éý¼¶
|
public Integer dizhi0x66;//
|
public Integer dizhi0x68;//
|
public Integer dizhi0x6A;//
|
public Integer dizhi0x6C;//
|
public Integer dizhi0x6E;//
|
public Integer dizhi0x70;//
|
public Integer dizhi0x72;//
|
public Integer dizhi0x74;//
|
public Integer dizhi0x76;//
|
public Integer dizhi0x78;//
|
public Integer dizhi0x7A;//
|
public Integer dizhi0x7C;//
|
public Integer dizhi0x7E;//
|
public Integer dizhi0x80;//
|
public Integer dizhi0x82;//
|
public Integer dizhi0x84;//
|
public Integer dizhi0x86;//
|
public Integer dizhi0x88;//
|
public Integer dizhi0x8A;//
|
public Integer dizhi0x8C;//
|
public Integer dizhi0x8E;//
|
public Integer dizhi0x90;//
|
public Integer dizhi0x92;//
|
public Integer dizhi0x94;//
|
public Integer dizhi0x96;//
|
public Integer dizhi0x98;//
|
public Integer dizhi0x9A;//
|
public Integer dizhi0x9C;//
|
public Integer dizhi0x9E;//
|
public Integer dizhi0xA0;//
|
public Integer dizhi0xA2;//
|
public Integer dizhi0xA4;//
|
public Integer dizhi0xA6;//
|
public Integer dizhi0xA8;//
|
public Integer dizhi0xAA;//
|
public Integer dizhi0xAC;//
|
public Integer dizhi0xAE;//
|
public Integer dizhi0xB0;//
|
public Integer dizhi0xB2;//
|
public Integer dizhi0xB4;//
|
public Integer dizhi0xB6;//
|
public Integer dizhi0xB8;//
|
public Integer dizhi0xBA;//
|
public Integer dizhi0xBC;//
|
public Integer dizhi0xBE;//
|
public Integer dizhi0xC0;//
|
public Integer dizhi0xC2;//
|
public Integer dizhi0xC4;//
|
public Integer dizhi0xC6;//
|
public Integer dizhi0xC8;//
|
public Integer dizhi0xCA;//
|
public Integer dizhi0xCC;//
|
public Integer dizhi0xCE;//
|
public Integer dizhi0xD0;//
|
public Integer dizhi0xD2;//
|
public Integer dizhi0xD4;//
|
public Integer dizhi0xD6;//
|
public Integer dizhi0xD8;//
|
public Integer dizhi0xDA;//
|
public Integer dizhi0xDC;//
|
public Integer dizhi0xDE;//
|
public Integer dizhi0xE0;//
|
public Integer dizhi0xE2;//
|
public Integer dizhi0xE4;//
|
public Integer dizhi0xE6;//
|
public Integer dizhi0xE8;//
|
public Integer dizhi0xEA;//
|
public Integer dizhi0xEC;//
|
public Integer dizhi0xEE;//
|
public Integer dizhi0xF0;//¼ÌµçÆ÷1¿ØÖÆ
|
public Integer dizhi0xF2;//¼ÌµçÆ÷2¿ØÖÆ
|
public Integer dizhi0xF4;//F4.¼ÌµçÆ÷2±¨¾¯¾àÀë1
|
public Integer dizhi0xF6;//F6.¼ÌµçÆ÷2±¨¾¯¾àÀë2
|
public Integer dizhi0xF8;//F8.¼ÌµçÆ÷2±¨¾¯¾àÀë3"}
|
|
|
|
|
|
|
public void reset() {
|
dizhi0x2="";
|
dizhi0x4="";
|
dizhi0x6= 0;
|
dizhi0x8= 0;
|
dizhi0xA= 0;
|
dizhi0xC= 0;
|
dizhi0xE= 0;
|
dizhi0x10= 0;
|
dizhi0x12= 0;
|
dizhi0x14= 0;
|
dizhi0x16= "";
|
dizhi0x18= 0;
|
dizhi0x1A= 0;
|
dizhi0x1C= 0;
|
dizhi0x1E= 0;
|
dizhi0x20= 0;
|
dizhi0x22="";
|
dizhi0x24="";
|
dizhi0x26="";
|
dizhi0x28="";
|
dizhi0x2A="";
|
dizhi0x2C="";
|
dizhi0x2E="";
|
dizhi0x30="";
|
dizhi0x32="";
|
dizhi0x34="";
|
dizhi0x36= 0;
|
dizhi0x38= 0;
|
dizhi0x3A= 0;
|
dizhi0x3C= 0;
|
dizhi0x3E= 0;
|
dizhi0x40= 0;
|
dizhi0x42= 0;
|
dizhi0x44="";
|
dizhi0x46= 0;
|
dizhi0x48= 0;
|
dizhi0x4A="FFFF";
|
dizhi0x4C="FFFF";
|
dizhi0x4E= 0;
|
dizhi0x50= 0;
|
dizhi0x52= 0;
|
dizhi0x54= 0;
|
dizhi0x56= 0;
|
dizhi0x58= 0;
|
dizhi0x5A= 0;
|
dizhi0x5C= 0;
|
dizhi0x5E= 0;
|
dizhi0x60= 0;
|
dizhi0x62= 0;
|
dizhi0x64= 0;
|
dizhi0x66= 0;
|
dizhi0x68= 0;
|
dizhi0x6A= 0;
|
dizhi0x6C= 0;
|
dizhi0x6E= 0;
|
dizhi0x70= 0;
|
dizhi0x72= 0;
|
dizhi0x74= 0;
|
dizhi0x76= 0;
|
dizhi0x78= 0;
|
dizhi0x7A= 0;
|
dizhi0x7C= 0;
|
dizhi0x7E= 0;
|
dizhi0x80= 0;
|
dizhi0x82= 0;
|
dizhi0x84= 0;
|
dizhi0x86= 0;
|
dizhi0x88= 0;
|
dizhi0x8A= 0;
|
dizhi0x8C= 0;
|
dizhi0x8E= 0;
|
dizhi0x90= 0;
|
dizhi0x92= 0;
|
dizhi0x94= 0;
|
dizhi0x96= 0;
|
dizhi0x98= 0;
|
dizhi0x9A= 0;
|
dizhi0x9C= 0;
|
dizhi0x9E= 0;
|
dizhi0xA0= 0;
|
dizhi0xA2= 0;
|
dizhi0xA4= 0;
|
dizhi0xA6= 0;
|
dizhi0xA8= 0;
|
dizhi0xAA= 0;
|
dizhi0xAC= 0;
|
dizhi0xAE= 0;
|
dizhi0xB0= 0;
|
dizhi0xB2= 0;
|
dizhi0xB4= 0;
|
dizhi0xB6= 0;
|
dizhi0xB8= 0;
|
dizhi0xBA= 0;
|
dizhi0xBC= 0;
|
dizhi0xBE= 0;
|
dizhi0xC0= 0;
|
dizhi0xC2= 0;
|
dizhi0xC4= 0;
|
dizhi0xC6= 0;
|
dizhi0xC8= 0;
|
dizhi0xCA= 0;
|
dizhi0xCC= 0;
|
dizhi0xCE= 0;
|
dizhi0xD0= 0;
|
dizhi0xD2= 0;
|
dizhi0xD4= 0;
|
dizhi0xD6= 0;
|
dizhi0xD8= 0;
|
dizhi0xDA= 0;
|
dizhi0xDC= 0;
|
dizhi0xDE= 0;
|
dizhi0xE0= 0;
|
dizhi0xE2= 0;
|
dizhi0xE4= 0;
|
dizhi0xE6= 0;
|
dizhi0xE8= 0;
|
dizhi0xEA= 0;
|
dizhi0xEC= 0;
|
dizhi0xEE= 0;
|
dizhi0xF0= 0;
|
dizhi0xF2= 0;
|
dizhi0xF4= 0;
|
dizhi0xF6= 0;
|
dizhi0xF8= 0;
|
|
}
|
}
|
|
public static AA5503Hex hexAA03;
|
|
public static ParseResult parse(String message, String ip, int port) {
|
if (message == null || message.isEmpty()) {
|
return null;
|
}
|
|
hexAA03 = new AA5503Hex();
|
|
String[] hex = hex(message);//ÔʼÊý¾Ý
|
|
ParseResult result = RESULT_CACHE.get();
|
result.reset();
|
|
String dizhi0x2Low = String.valueOf(hex[7]);
|
String dizhi0x2High = String.valueOf(hex[8]);
|
result.dizhi0x2 = "V" + Integer.parseInt(dizhi0x2High, 16) + "." + Integer.parseInt(dizhi0x2Low, 16);
|
|
// ½âÎöÉ豸ID£¨Æ«ÒÆÁ¿0x4£¬2×Ö½Ú£©- µÍ×Ö½ÚÔÚǰ£¬¸ß×Ö½ÚÔÚºó
|
String dizhi0x4Low = String.valueOf(hex[9]);
|
String dizhi0x4High = String.valueOf(hex[10]);
|
result.dizhi0x4 = dizhi0x4High + dizhi0x4Low;
|
|
// ½âÎöͨÐÅÆµÂÊ£¨Æ«ÒÆÁ¿0x6£¬2×Ö½Ú£©
|
String freqLow = String.valueOf(hex[11]);
|
String freqHigh = String.valueOf(hex[12]);
|
result.dizhi0x6 = Integer.parseInt(freqHigh + freqLow, 16);
|
|
// ½âÎö×î´ó»ùÕ¾Êý£¨Æ«ÒÆÁ¿0x8£¬2×Ö½Ú£©
|
String maxStationsLow = String.valueOf(hex[13]);
|
String maxStationsHigh = String.valueOf(hex[14]);
|
result.dizhi0x8 = Integer.parseInt(maxStationsHigh + maxStationsLow, 16);
|
|
// ½âÎö×îС»ùÕ¾Êý£¨Æ«ÒÆÁ¿0xA£¬2×Ö½Ú£©
|
String minStationsLow = String.valueOf(hex[15]);
|
String minStationsHigh = String.valueOf(hex[16]);
|
result.dizhi0xA = Integer.parseInt(minStationsHigh + minStationsLow, 16);
|
|
// ½âÎö¾àÀëУ׼ֵ£¨Æ«ÒÆÁ¿0xC£¬2×Ö½Ú£©- ÓзûºÅÖµ
|
String calLow = String.valueOf(hex[17]);
|
String calHigh = String.valueOf(hex[18]);
|
int distanceCalValue = Integer.parseInt(calHigh + calLow, 16);
|
result.dizhi0xC = (short) distanceCalValue;
|
|
// ½âÎöÉ豸ÀàÐÍ£¨Æ«ÒÆÁ¿0xE£¬2×Ö½Ú£©
|
String typeLow = String.valueOf(hex[19]);
|
String typeHigh = String.valueOf(hex[20]);
|
result.dizhi0xE = Integer.parseInt(typeHigh + typeLow, 16);
|
|
// ½âÎö»ùÕ¾Ö÷¶¯²â¾à£¨Æ«ÒÆÁ¿0x10£¬2×Ö½Ú£©
|
String rangingLow = String.valueOf(hex[21]);
|
String rangingHigh = String.valueOf(hex[22]);
|
result.dizhi0x10 = Integer.parseInt(rangingHigh + rangingLow, 16);
|
|
// ½âÎö±¨¾¯É豸£¨Æ«ÒÆÁ¿0x12£¬2×Ö½Ú£©
|
String alarmLow = String.valueOf(hex[23]);
|
String alarmHigh = String.valueOf(hex[24]);
|
result.dizhi0x12 = Integer.parseInt(alarmHigh + alarmLow, 16);
|
|
// ½âÎöIMU¿ÕÏÐʱ¼ä£¨Æ«ÒÆÁ¿0x14£¬2×Ö½Ú£©
|
String imuLow = String.valueOf(hex[25]);
|
String imuHigh = String.valueOf(hex[26]);
|
result.dizhi0x14 = Integer.parseInt(imuHigh + imuLow, 16);
|
|
// ½âÎöѹÁ¦»ùÕ¾ID£¨Æ«ÒÆÁ¿0x16£¬2×Ö½Ú£©
|
String pressureIdLow = String.valueOf(hex[27]);
|
String pressureIdHigh = String.valueOf(hex[28]);
|
result.dizhi0x16 = pressureIdHigh + pressureIdLow;
|
|
// ½âÎöÍâÉè¿ØÖÆ£¨Æ«ÒÆÁ¿0x18£¬2×Ö½Ú£©
|
String peripheralLow = String.valueOf(hex[29]);
|
String peripheralHigh = String.valueOf(hex[30]);
|
result.dizhi0x18 = Integer.parseInt(peripheralHigh + peripheralLow, 16);
|
|
// ½âÎöÅä¶ÔID£¨Æ«ÒÆÁ¿0x1a£¬2×Ö½Ú£©
|
String pairingLow = String.valueOf(hex[31]);
|
String pairingHigh = String.valueOf(hex[32]);
|
result.dizhi0x1A = Integer.parseInt(pairingHigh + pairingLow, 16);
|
|
// ½âÎöUWB¿ª¹Ø×´Ì¬£¨Æ«ÒÆÁ¿0x1c£¬2×Ö½Ú£©
|
String uwbLow = String.valueOf(hex[33]);
|
String uwbHigh = String.valueOf(hex[34]);
|
result.dizhi0x1C = Integer.parseInt(uwbHigh + uwbLow, 16);
|
|
// ½âÎöMODBUSģʽ£¨Æ«ÒÆÁ¿0x1e£¬2×Ö½Ú£©
|
String modbusLow = String.valueOf(hex[35]);
|
String modbusHigh = String.valueOf(hex[36]);
|
result.dizhi0x1E = Integer.parseInt(modbusHigh + modbusLow, 16);
|
|
// ½âÎöÕñ¶¯Ê±³¤£¨Æ«ÒÆÁ¿0x20£¬2×Ö½Ú£©
|
String vibrationLow = String.valueOf(hex[37]);
|
String vibrationHigh = String.valueOf(hex[38]);
|
result.dizhi0x20 = Integer.parseInt(vibrationHigh + vibrationLow, 16);
|
|
// ½âÎö¸½½ü»ùÕ¾1-10£¨Æ«ÒÆÁ¿0x22µ½0x34£¬Ã¿¸ö2×Ö½Ú£©
|
String near1Low = String.valueOf(hex[39]);
|
String near1High = String.valueOf(hex[40]);
|
result.dizhi0x22 = near1High + near1Low;
|
|
String near2Low = String.valueOf(hex[41]);
|
String near2High = String.valueOf(hex[42]);
|
result.dizhi0x24 = near2High + near2Low;
|
|
String near3Low = String.valueOf(hex[43]);
|
String near3High = String.valueOf(hex[44]);
|
result.dizhi0x26 = near3High + near3Low;
|
|
String near4Low = String.valueOf(hex[45]);
|
String near4High = String.valueOf(hex[46]);
|
result.dizhi0x28 = near4High + near4Low;
|
|
String near5Low = String.valueOf(hex[47]);
|
String near5High = String.valueOf(hex[48]);
|
result.dizhi0x2A = near5High + near5Low;
|
|
String near6Low = String.valueOf(hex[49]);
|
String near6High = String.valueOf(hex[50]);
|
result.dizhi0x2C = near6High + near6Low;
|
|
String near7Low = String.valueOf(hex[51]);
|
String near7High = String.valueOf(hex[52]);
|
result.dizhi0x2E = near7High + near7Low;
|
|
String near8Low = String.valueOf(hex[53]);
|
String near8High = String.valueOf(hex[54]);
|
result.dizhi0x30 = near8High + near8Low;
|
|
String near9Low = String.valueOf(hex[55]);
|
String near9High = String.valueOf(hex[56]);
|
result.dizhi0x32 = near9High + near9Low;
|
|
String near10Low = String.valueOf(hex[57]);
|
String near10High = String.valueOf(hex[58]);
|
result.dizhi0x34 = near10High + near10Low;
|
|
// ½âÎö¹¦ÂÊ£¨Æ«ÒÆÁ¿0x36£¬2×Ö½Ú£©
|
String dizhi0x36Low = String.valueOf(hex[59]);
|
String dizhi0x36High = String.valueOf(hex[60]);
|
result.dizhi0x36 = Integer.parseInt(dizhi0x36High + dizhi0x36Low, 16);
|
|
// ½âÎö¼ÓËٶȼÆãÐÖµ£¨Æ«ÒÆÁ¿0x38£¬2×Ö½Ú£©
|
String accThreshLow = String.valueOf(hex[61]);
|
String accThreshHigh = String.valueOf(hex[62]);
|
result.dizhi0x38 = Integer.parseInt(accThreshHigh + accThreshLow, 16);
|
|
// ½âÎö¿ÕÏÐÐÝÃßʱ¼ä£¨Æ«ÒÆÁ¿0x3a£¬2×Ö½Ú£©
|
String sleepLow = String.valueOf(hex[63]);
|
String sleepHigh = String.valueOf(hex[64]);
|
result.dizhi0x3A = Integer.parseInt(sleepHigh + sleepLow, 16);
|
|
// ½âÎöÕñ¶¯Ê¹ÄÜ£¨Æ«ÒÆÁ¿0x3c£¬2×Ö½Ú£©
|
String vibEnableLow = String.valueOf(hex[65]);
|
String vibEnableHigh = String.valueOf(hex[66]);
|
result.dizhi0x3C = Integer.parseInt(vibEnableHigh + vibEnableLow, 16);
|
|
// ½âÎö¼ÓËٶȼÆÊ¹ÄÜ£¨Æ«ÒÆÁ¿0x3e£¬2×Ö½Ú£©
|
String accEnableLow = String.valueOf(hex[67]);
|
String accEnableHigh = String.valueOf(hex[68]);
|
result.dizhi0x3E = Integer.parseInt(accEnableHigh + accEnableLow, 16);
|
|
// ½âÎö±êÇ©ÅäÖÃ״̬£¨Æ«ÒÆÁ¿0x40£¬2×Ö½Ú£©
|
String tagConfigLow = String.valueOf(hex[69]);
|
String tagConfigHigh = String.valueOf(hex[70]);
|
result.dizhi0x40 = Integer.parseInt(tagConfigHigh + tagConfigLow, 16);
|
|
// ½âÎö¼ÓËٶȼÆÊ±³¤£¨Æ«ÒÆÁ¿0x42£¬2×Ö½Ú£©
|
String accDurationLow = String.valueOf(hex[71]);
|
String accDurationHigh = String.valueOf(hex[72]);
|
result.dizhi0x42 = Integer.parseInt(accDurationHigh + accDurationLow, 16);
|
|
// ½âÎöÉ豸¼¤»î״̬£¨Æ«ÒÆÁ¿0x44£¬2×Ö½Ú£©
|
String activationLow = String.valueOf(hex[73]);
|
String activationHigh = String.valueOf(hex[74]);
|
result.dizhi0x44 = String.valueOf(Integer.parseInt(activationHigh + activationLow, 16));
|
|
// ½âÎöͬ²½»ùÕ¾ÀàÐÍ£¨Æ«ÒÆÁ¿0x46£¬2×Ö½Ú£©
|
String syncTypeLow = String.valueOf(hex[75]);
|
String syncTypeHigh = String.valueOf(hex[76]);
|
result.dizhi0x46 = Integer.parseInt(syncTypeHigh + syncTypeLow, 16);
|
|
// ½âÎöËÙ¶ÈÂ˲¨ÏÞÖÆ£¨Æ«ÒÆÁ¿0x48£¬2×Ö½Ú£©
|
String speedFilterLow = String.valueOf(hex[77]);
|
String speedFilterHigh = String.valueOf(hex[78]);
|
result.dizhi0x48 = Integer.parseInt(speedFilterHigh + speedFilterLow, 16);
|
|
// °×Ãûµ¥ÆðʼID£¨Æ«ÒÆÁ¿0x4A£¬2×Ö½Ú£©
|
String dizhi0x4ALow = String.valueOf(hex[79]);
|
String dizhi0x4AHigh = String.valueOf(hex[80]);
|
result.dizhi0x4A = dizhi0x4AHigh + dizhi0x4ALow;
|
|
// °×Ãûµ¥ÖÕÖ¹ID£¨Æ«ÒÆÁ¿0x4C£¬2×Ö½Ú£©
|
String dizhi0x4CLow = String.valueOf(hex[81]);
|
String dizhi0x4CHigh = String.valueOf(hex[82]);
|
result.dizhi0x4C = dizhi0x4CHigh + dizhi0x4CLow;
|
|
// ¹Ì¼þÀàÐÍ£¨Æ«ÒÆÁ¿0x4E£¬2×Ö½Ú£©
|
String dizhi0x4ELow = String.valueOf(hex[83]);
|
String dizhi0x4EHigh = String.valueOf(hex[84]);
|
result.dizhi0x4E = Integer.parseInt(dizhi0x4EHigh + dizhi0x4ELow, 16);
|
|
// ²Î¿¼¸ß¶ÈУ׼ֵ£¨Æ«ÒÆÁ¿0x50£¬2×Ö½Ú£©- ÓзûºÅÖµ
|
String dizhi0x50Low = String.valueOf(hex[85]);
|
String dizhi0x50High = String.valueOf(hex[86]);
|
int pressureCalValue = Integer.parseInt(dizhi0x50High + dizhi0x50Low, 16);
|
result.dizhi0x50 = (short) pressureCalValue;
|
|
// »ùÕ¾²â¾àÐÅÏ¢Êä³ö¸ñʽ£¨Æ«ÒÆÁ¿0x52£¬2×Ö½Ú£©
|
String dizhi0x52Low = String.valueOf(hex[87]);
|
String dizhi0x52High = String.valueOf(hex[88]);
|
result.dizhi0x52 = Integer.parseInt(dizhi0x52High + dizhi0x52Low, 16);
|
|
// »ùÕ¾²â¾àÉÏÏÞ£¨Æ«ÒÆÁ¿0x54£¬2×Ö½Ú£©
|
String dizhi0x54Low = String.valueOf(hex[89]);
|
String dizhi0x54High = String.valueOf(hex[90]);
|
result.dizhi0x54 = Integer.parseInt(dizhi0x54High + dizhi0x54Low, 16);
|
|
String dizhi0x56Low = String.valueOf(hex[91]);
|
String dizhi0x56High = String.valueOf(hex[92]);
|
result.dizhi0x56 = Integer.parseInt(dizhi0x56High + dizhi0x56Low, 16);
|
|
String dizhi0x58Low = String.valueOf(hex[93]);
|
String dizhi0x58High = String.valueOf(hex[94]);
|
result.dizhi0x58 = Integer.parseInt(dizhi0x58High + dizhi0x58Low, 16);
|
|
String dizhi0x5ALow = String.valueOf(hex[95]);
|
String dizhi0x5AHigh = String.valueOf(hex[96]);
|
result.dizhi0x5A = Integer.parseInt(dizhi0x5AHigh + dizhi0x5ALow, 16);
|
|
String dizhi0x5CLow = String.valueOf(hex[97]);
|
String dizhi0x5CHigh = String.valueOf(hex[98]);
|
result.dizhi0x5C = Integer.parseInt(dizhi0x5CHigh + dizhi0x5CLow, 16);
|
|
String dizhi0x5ELow = String.valueOf(hex[99]);
|
String dizhi0x5EHigh = String.valueOf(hex[100]);
|
result.dizhi0x5E = Integer.parseInt(dizhi0x5EHigh + dizhi0x5ELow, 16);
|
|
// ½âÎöÄ£¿éÖØÆô£¨Æ«ÒÆÁ¿0x60£¬2×Ö½Ú£©
|
String restartLow = String.valueOf(hex[101]);
|
String restartHigh = String.valueOf(hex[102]);
|
result.dizhi0x60 = Integer.parseInt(restartHigh + restartLow, 16);
|
|
// ½âÎö»Ö¸´³ö³§ÉèÖã¨Æ«ÒÆÁ¿0x62£¬2×Ö½Ú£©
|
String factoryLow = String.valueOf(hex[103]);
|
String factoryHigh = String.valueOf(hex[104]);
|
result.dizhi0x62 = Integer.parseInt(factoryHigh + factoryLow, 16);
|
|
// ½âÎö¿ªÊ¼Éý¼¶£¨Æ«ÒÆÁ¿0x64£¬2×Ö½Ú£©
|
String upgradeLow = String.valueOf(hex[105]);
|
String upgradeHigh = String.valueOf(hex[106]);
|
result.dizhi0x64 = Integer.parseInt(upgradeHigh + upgradeLow, 16);
|
|
String dizhi0x66Low = String.valueOf(hex[107]);
|
String dizhi0x66High = String.valueOf(hex[108]);
|
result.dizhi0x66 = Integer.parseInt(dizhi0x66High + dizhi0x66Low, 16);
|
|
String dizhi0x68Low = String.valueOf(hex[109]);
|
String dizhi0x68High = String.valueOf(hex[110]);
|
result.dizhi0x68 = Integer.parseInt(dizhi0x68High + dizhi0x68Low, 16);
|
|
String dizhi0x6ALow = String.valueOf(hex[111]);
|
String dizhi0x6AHigh = String.valueOf(hex[112]);
|
result.dizhi0x6A = Integer.parseInt(dizhi0x6AHigh + dizhi0x6ALow, 16);
|
|
String dizhi0x6CLow = String.valueOf(hex[113]);
|
String dizhi0x6CHigh = String.valueOf(hex[114]);
|
result.dizhi0x6C = Integer.parseInt(dizhi0x6CHigh + dizhi0x6CLow, 16);
|
|
String dizhi0x6ELow = String.valueOf(hex[115]);
|
String dizhi0x6EHigh = String.valueOf(hex[116]);
|
result.dizhi0x6E = Integer.parseInt(dizhi0x6EHigh + dizhi0x6ELow, 16);
|
|
String dizhi0x70Low = String.valueOf(hex[117]);
|
String dizhi0x70High = String.valueOf(hex[118]);
|
result.dizhi0x70 = Integer.parseInt(dizhi0x70High + dizhi0x70Low, 16);
|
|
String dizhi0x72Low = String.valueOf(hex[119]);
|
String dizhi0x72High = String.valueOf(hex[120]);
|
result.dizhi0x72 = Integer.parseInt(dizhi0x72High + dizhi0x72Low, 16);
|
|
String dizhi0x74Low = String.valueOf(hex[121]);
|
String dizhi0x74High = String.valueOf(hex[122]);
|
result.dizhi0x74 = Integer.parseInt(dizhi0x74High + dizhi0x74Low, 16);
|
|
String dizhi0x76Low = String.valueOf(hex[123]);
|
String dizhi0x76High = String.valueOf(hex[124]);
|
result.dizhi0x76 = Integer.parseInt(dizhi0x76High + dizhi0x76Low, 16);
|
|
String dizhi0x78Low = String.valueOf(hex[125]);
|
String dizhi0x78High = String.valueOf(hex[126]);
|
result.dizhi0x78 = Integer.parseInt(dizhi0x78High + dizhi0x78Low, 16);
|
|
String dizhi0x7ALow = String.valueOf(hex[127]);
|
String dizhi0x7AHigh = String.valueOf(hex[128]);
|
result.dizhi0x7A = Integer.parseInt(dizhi0x7AHigh + dizhi0x7ALow, 16);
|
|
String dizhi0x7CLow = String.valueOf(hex[129]);
|
String dizhi0x7CHigh = String.valueOf(hex[130]);
|
result.dizhi0x7C = Integer.parseInt(dizhi0x7CHigh + dizhi0x7CLow, 16);
|
|
String dizhi0x7ELow = String.valueOf(hex[131]);
|
String dizhi0x7EHigh = String.valueOf(hex[132]);
|
result.dizhi0x7E = Integer.parseInt(dizhi0x7EHigh + dizhi0x7ELow, 16);
|
|
String dizhi0x80Low = String.valueOf(hex[133]);
|
String dizhi0x80High = String.valueOf(hex[134]);
|
result.dizhi0x80 = Integer.parseInt(dizhi0x80High + dizhi0x80Low, 16);
|
|
String dizhi0x82Low = String.valueOf(hex[135]);
|
String dizhi0x82High = String.valueOf(hex[136]);
|
result.dizhi0x82 = Integer.parseInt(dizhi0x82High + dizhi0x82Low, 16);
|
//
|
// String dizhi0x84Low = String.valueOf(hex[137]);
|
// String dizhi0x84High = String.valueOf(hex[138]);
|
// result.dizhi0x84 = Integer.parseInt(dizhi0x84High + dizhi0x84Low, 16);
|
//
|
// String dizhi0x86Low = String.valueOf(hex[139]);
|
// String dizhi0x86High = String.valueOf(hex[140]);
|
// result.dizhi0x86 = Integer.parseInt(dizhi0x86High + dizhi0x86Low, 16);
|
//
|
// String dizhi0x88Low = String.valueOf(hex[141]);
|
// String dizhi0x88High = String.valueOf(hex[142]);
|
// result.dizhi0x88 = Integer.parseInt(dizhi0x88High + dizhi0x88Low, 16);
|
|
// ÉèÖÃhexAA03¶ÔÏóµÄÖµ
|
hexAA03.setDizhi0x2(hex[7] + hex[8]); // ÉèÖð汾ºÅ
|
hexAA03.setDizhi0x4(hex[9] + hex[10]); // ÉèÖÃÉ豸ID
|
hexAA03.setDizhi0x6(hex[11] + hex[12]); // ÉèÖÃͨÐÅÆµÂÊ
|
hexAA03.setDizhi0x8(hex[13] + hex[14]); // ÉèÖÃ×î´ó»ùÕ¾Êý
|
hexAA03.setDizhi0xA(hex[15] + hex[16]); // ÉèÖÃ×îС»ùÕ¾Êý
|
hexAA03.setDizhi0xC(hex[17] + hex[18]); // ÉèÖþàÀëУ׼ֵ
|
hexAA03.setDizhi0xE(hex[19] + hex[20]); // ÉèÖÃÉ豸ÀàÐÍ
|
hexAA03.setDizhi0x10(hex[21] + hex[22]); // ÉèÖûùÕ¾Ö÷¶¯²â¾à
|
hexAA03.setDizhi0x12(hex[23] + hex[24]); // ÉèÖñ¨¾¯É豸
|
hexAA03.setDizhi0x14(hex[25] + hex[26]); // ÉèÖÃIMU¿ÕÏÐʱ¼ä
|
hexAA03.setDizhi0x16(hex[27] + hex[28]); // ÉèÖÃѹÁ¦»ùÕ¾ID
|
hexAA03.setDizhi0x18(hex[29] + hex[30]); // ÉèÖÃÍâÉè¿ØÖÆ
|
hexAA03.setDizhi0x1A(hex[31] + hex[32]); // ÉèÖÃÅä¶ÔID
|
hexAA03.setDizhi0x1C(hex[33] + hex[34]); // ÉèÖÃUWB¿ª¹Ø×´Ì¬
|
hexAA03.setDizhi0x1E(hex[35] + hex[36]); // ÉèÖÃModbusģʽ
|
hexAA03.setDizhi0x20(hex[37] + hex[38]); // ÉèÖÃÕñ¶¯Ê±³¤
|
hexAA03.setDizhi0x22(hex[39] + hex[40]); // ÉèÖø½½ü»ùÕ¾1ID
|
hexAA03.setDizhi0x24(hex[41] + hex[42]); // ÉèÖø½½ü»ùÕ¾2ID
|
hexAA03.setDizhi0x26(hex[43] + hex[44]); // ÉèÖø½½ü»ùÕ¾3ID
|
hexAA03.setDizhi0x28(hex[45] + hex[46]); // ÉèÖø½½ü»ùÕ¾4ID
|
hexAA03.setDizhi0x2A(hex[47] + hex[48]); // ÉèÖø½½ü»ùÕ¾5ID
|
hexAA03.setDizhi0x2C(hex[49] + hex[50]); // ÉèÖø½½ü»ùÕ¾6ID
|
hexAA03.setDizhi0x2E(hex[51] + hex[52]); // ÉèÖø½½ü»ùÕ¾7ID
|
hexAA03.setDizhi0x30(hex[53] + hex[54]); // ÉèÖø½½ü»ùÕ¾8ID
|
hexAA03.setDizhi0x32(hex[55] + hex[56]); // ÉèÖø½½ü»ùÕ¾9ID
|
hexAA03.setDizhi0x34(hex[57] + hex[58]); // ÉèÖø½½ü»ùÕ¾10ID
|
hexAA03.setDizhi0x36(hex[59] + hex[60]); // ÉèÖù¦ÂÊ
|
hexAA03.setDizhi0x38(hex[61] + hex[62]); // ÉèÖüÓËٶȼÆãÐÖµ
|
hexAA03.setDizhi0x3A(hex[63] + hex[64]); // ÉèÖÿÕÏÐÐÝÃßʱ¼ä
|
hexAA03.setDizhi0x3C(hex[65] + hex[66]); // ÉèÖÃÕñ¶¯Ê¹ÄÜ
|
hexAA03.setDizhi0x3E(hex[67] + hex[68]); // ÉèÖüÓËٶȼÆÊ¹ÄÜ
|
hexAA03.setDizhi0x40(hex[69] + hex[70]); // ÉèÖñêÇ©ÅäÖÃ״̬
|
hexAA03.setDizhi0x42(hex[71] + hex[72]); // ÉèÖüÓËٶȼÆÊ±³¤
|
hexAA03.setDizhi0x44(hex[73] + hex[74]); // ÉèÖÃÉ豸¼¤»î״̬
|
hexAA03.setDizhi0x46(hex[75] + hex[76]); // ÉèÖÃͬ²½»ùÕ¾ÀàÐÍ
|
hexAA03.setDizhi0x48(hex[77] + hex[78]); // ÉèÖÃËÙ¶ÈÂ˲¨ÏÞÖÆ
|
hexAA03.setDizhi0x4A(hex[79] + hex[80]); // ÉèÖð×Ãûµ¥ÆðʼID
|
hexAA03.setDizhi0x4C(hex[81] + hex[82]); // ÉèÖð×Ãûµ¥ÖÕÖ¹ID
|
hexAA03.setDizhi0x4E(hex[83] + hex[84]); // ÉèÖù̼þÀàÐÍ
|
hexAA03.setDizhi0x50(hex[85] + hex[86]); // ÉèÖòο¼¸ß¶ÈУ׼ֵ
|
hexAA03.setDizhi0x52(hex[87] + hex[88]); // ÉèÖûùÕ¾²â¾àÐÅÏ¢Êä³ö¸ñʽ
|
hexAA03.setDizhi0x54(hex[89] + hex[90]); // ÉèÖûùÕ¾²â¾àÉÏÏÞ
|
hexAA03.setDizhi0x56(hex[91] + hex[92]);
|
hexAA03.setDizhi0x58(hex[93] + hex[94]);
|
hexAA03.setDizhi0x5A(hex[95] + hex[96]);
|
hexAA03.setDizhi0x5C(hex[97] + hex[98]);
|
hexAA03.setDizhi0x5E(hex[99] + hex[100]);
|
hexAA03.setDizhi0x60(hex[101] + hex[102]);
|
hexAA03.setDizhi0x62(hex[103] + hex[104]);
|
hexAA03.setDizhi0x64(hex[105] + hex[106]);
|
hexAA03.setDizhi0x66(hex[107] + hex[108]);
|
hexAA03.setDizhi0x68(hex[109] + hex[110]);
|
hexAA03.setDizhi0x6A(hex[111] + hex[112]);
|
hexAA03.setDizhi0x6C(hex[113] + hex[114]);
|
hexAA03.setDizhi0x6E(hex[115] + hex[116]);
|
hexAA03.setDizhi0x70(hex[117] + hex[118]);
|
hexAA03.setDizhi0x72(hex[119] + hex[120]);
|
hexAA03.setDizhi0x74(hex[121] + hex[122]);
|
hexAA03.setDizhi0x76(hex[123] + hex[124]);
|
hexAA03.setDizhi0x78(hex[125] + hex[126]);
|
hexAA03.setDizhi0x7A(hex[127] + hex[128]);
|
hexAA03.setDizhi0x7C(hex[129] + hex[130]);
|
hexAA03.setDizhi0x7E(hex[131] + hex[132]);
|
hexAA03.setDizhi0x80(hex[133] + hex[134]);
|
hexAA03.setDizhi0x82(hex[135] + hex[136]);
|
// hexAA03.setDizhi0x84(hex[137] + hex[138]);
|
// hexAA03.setDizhi0x86(hex[139] + hex[140]);
|
// hexAA03.setDizhi0x88(hex[141] + hex[142]);
|
|
return result;
|
}
|
|
public static ParseResult parse2(String message, String ip, int port) {
|
if (message == null || message.isEmpty()) {
|
return null;
|
}
|
|
hexAA03=new AA5503Hex();
|
|
String[] hex = hex(message);//ÔʼÊý¾Ý
|
|
ParseResult result = RESULT_CACHE.get();
|
result.reset();
|
|
String dizhi0x2Low = String.valueOf(hex[7]);
|
String dizhi0x2High = String.valueOf(hex[8]);
|
result.dizhi0x2 = "V" + Integer.parseInt(dizhi0x2High, 16) + "." + Integer.parseInt(dizhi0x2Low, 16);
|
|
|
// ½âÎöÉ豸ID£¨Æ«ÒÆÁ¿0x4£¬2×Ö½Ú£©- µÍ×Ö½ÚÔÚǰ£¬¸ß×Ö½ÚÔÚºó
|
String dizhi0x4Low = String.valueOf(hex[9]);
|
String dizhi0x4High = String.valueOf(hex[10]);
|
result.dizhi0x4 = dizhi0x4High + dizhi0x4Low;
|
|
|
// ½âÎöͨÐÅÆµÂÊ£¨Æ«ÒÆÁ¿0x6£¬2×Ö½Ú£©
|
String freqLow = String.valueOf(hex[11]);
|
String freqHigh = String.valueOf(hex[12]);
|
result.dizhi0x6 = Integer.parseInt(freqHigh + freqLow, 16);
|
|
|
// ½âÎö×î´ó»ùÕ¾Êý£¨Æ«ÒÆÁ¿0x8£¬2×Ö½Ú£©
|
String maxStationsLow = String.valueOf(hex[13]);
|
String maxStationsHigh = String.valueOf(hex[14]);
|
result.dizhi0x8 = Integer.parseInt(maxStationsHigh + maxStationsLow, 16);
|
|
// ½âÎö×îС»ùÕ¾Êý£¨Æ«ÒÆÁ¿0xA£¬2×Ö½Ú£©
|
String minStationsLow = String.valueOf(hex[15]);
|
String minStationsHigh = String.valueOf(hex[16]);
|
result.dizhi0xA = Integer.parseInt(minStationsHigh + minStationsLow, 16);
|
|
// ½âÎö¾àÀëУ׼ֵ£¨Æ«ÒÆÁ¿0xC£¬2×Ö½Ú£©- ÓзûºÅÖµ
|
String calLow = String.valueOf(hex[17]);
|
String calHigh = String.valueOf(hex[18]);
|
int distanceCalValue = Integer.parseInt(calHigh + calLow, 16);
|
result.dizhi0xC = (short) distanceCalValue;
|
|
// ½âÎöÉ豸ÀàÐÍ£¨Æ«ÒÆÁ¿0xE£¬2×Ö½Ú£©
|
String typeLow = String.valueOf(hex[19]);
|
String typeHigh = String.valueOf(hex[20]);
|
result.dizhi0xE = Integer.parseInt(typeHigh + typeLow, 16);
|
|
// ½âÎö»ùÕ¾Ö÷¶¯²â¾à£¨Æ«ÒÆÁ¿0x10£¬2×Ö½Ú£©
|
String rangingLow = String.valueOf(hex[21]);
|
String rangingHigh = String.valueOf(hex[22]);
|
result.dizhi0x10 = Integer.parseInt(rangingHigh + rangingLow, 16);
|
|
// ½âÎö±¨¾¯É豸£¨Æ«ÒÆÁ¿0x12£¬2×Ö½Ú£©
|
String alarmLow = String.valueOf(hex[23]);
|
String alarmHigh = String.valueOf(hex[24]);
|
result.dizhi0x12 = Integer.parseInt(alarmHigh + alarmLow, 16);
|
|
// ½âÎöIMU¿ÕÏÐʱ¼ä£¨Æ«ÒÆÁ¿0x14£¬2×Ö½Ú£©
|
String imuLow = String.valueOf(hex[25]);
|
String imuHigh = String.valueOf(hex[26]);
|
result.dizhi0x14 = Integer.parseInt(imuHigh + imuLow, 16);
|
|
// ½âÎöѹÁ¦»ùÕ¾ID£¨Æ«ÒÆÁ¿0x16£¬2×Ö½Ú£©
|
String pressureIdLow = String.valueOf(hex[27]);
|
String pressureIdHigh = String.valueOf(hex[28]);
|
result.dizhi0x16 = pressureIdHigh + pressureIdLow;
|
|
// ½âÎöÍâÉè¿ØÖÆ£¨Æ«ÒÆÁ¿0x18£¬2×Ö½Ú£©
|
String peripheralLow = String.valueOf(hex[29]);
|
String peripheralHigh = String.valueOf(hex[30]);
|
result.dizhi0x18 = Integer.parseInt(peripheralHigh + peripheralLow, 16);
|
|
// ½âÎöÅä¶ÔID£¨Æ«ÒÆÁ¿0x1a£¬2×Ö½Ú£©
|
String pairingLow = String.valueOf(hex[31]);
|
String pairingHigh = String.valueOf(hex[32]);
|
result.dizhi0x1A = Integer.parseInt(pairingHigh + pairingLow, 16);
|
|
// ½âÎöUWB¿ª¹Ø×´Ì¬£¨Æ«ÒÆÁ¿0x1c£¬2×Ö½Ú£©
|
String uwbLow = String.valueOf(hex[33]);
|
String uwbHigh = String.valueOf(hex[34]);
|
result.dizhi0x1C = Integer.parseInt(uwbHigh + uwbLow, 16);
|
|
// ½âÎöMODBUSģʽ£¨Æ«ÒÆÁ¿0x1e£¬2×Ö½Ú£©
|
String modbusLow = String.valueOf(hex[35]);
|
String modbusHigh = String.valueOf(hex[36]);
|
result.dizhi0x1E = Integer.parseInt(modbusHigh + modbusLow, 16);
|
|
// ½âÎöÕñ¶¯Ê±³¤£¨Æ«ÒÆÁ¿0x20£¬2×Ö½Ú£©
|
String vibrationLow = String.valueOf(hex[37]);
|
String vibrationHigh = String.valueOf(hex[38]);
|
result.dizhi0x20 = Integer.parseInt(vibrationHigh + vibrationLow, 16);
|
|
// ½âÎö¸½½ü»ùÕ¾1-10£¨Æ«ÒÆÁ¿0x22µ½0x34£¬Ã¿¸ö2×Ö½Ú£©
|
String near1Low = String.valueOf(hex[39]);
|
String near1High = String.valueOf(hex[40]);
|
result.dizhi0x22 =near1High + near1Low;
|
|
String near2Low = String.valueOf(hex[41]);
|
String near2High = String.valueOf(hex[42]);
|
result.dizhi0x24 =near2High + near2Low;
|
|
String near3Low = String.valueOf(hex[43]);
|
String near3High = String.valueOf(hex[44]);
|
result.dizhi0x26 =near3High + near3Low;
|
|
String near4Low = String.valueOf(hex[45]);
|
String near4High = String.valueOf(hex[46]);
|
result.dizhi0x28 =near4High + near4Low;
|
|
String near5Low = String.valueOf(hex[47]);
|
String near5High = String.valueOf(hex[48]);
|
result.dizhi0x2A =near5High + near5Low;
|
|
String near6Low = String.valueOf(hex[49]);
|
String near6High = String.valueOf(hex[50]);
|
result.dizhi0x2C =near6High + near6Low;
|
|
String near7Low = String.valueOf(hex[51]);
|
String near7High = String.valueOf(hex[52]);
|
result.dizhi0x2E =near7High + near7Low;
|
|
String near8Low = String.valueOf(hex[53]);
|
String near8High = String.valueOf(hex[54]);
|
result.dizhi0x30 =near8High + near8Low;
|
|
String near9Low = String.valueOf(hex[55]);
|
String near9High = String.valueOf(hex[56]);
|
result.dizhi0x32 =near9High + near9Low;
|
|
String near10Low = String.valueOf(hex[57]);
|
String near10High = String.valueOf(hex[58]);
|
result.dizhi0x34 =near10High + near10Low;
|
|
// ½âÎö¹¦ÂÊ£¨Æ«ÒÆÁ¿0x36£¬2×Ö½Ú£©
|
String dizhi0x36Low = String.valueOf(hex[59]);
|
String dizhi0x36High = String.valueOf(hex[60]);
|
result.dizhi0x36 = Integer.parseInt(dizhi0x36High + dizhi0x36Low, 16);
|
|
// ½âÎö¼ÓËٶȼÆãÐÖµ£¨Æ«ÒÆÁ¿0x38£¬2×Ö½Ú£©
|
String accThreshLow = String.valueOf(hex[61]);
|
String accThreshHigh = String.valueOf(hex[62]);
|
result.dizhi0x38 = Integer.parseInt(accThreshHigh + accThreshLow, 16);
|
|
// ½âÎö¿ÕÏÐÐÝÃßʱ¼ä£¨Æ«ÒÆÁ¿0x3a£¬2×Ö½Ú£©
|
String sleepLow = String.valueOf(hex[63]);
|
String sleepHigh = String.valueOf(hex[64]);
|
result.dizhi0x3A = Integer.parseInt(sleepHigh + sleepLow, 16);
|
|
// ½âÎöÕñ¶¯Ê¹ÄÜ£¨Æ«ÒÆÁ¿0x3c£¬2×Ö½Ú£©
|
String vibEnableLow = String.valueOf(hex[65]);
|
String vibEnableHigh = String.valueOf(hex[66]);
|
result.dizhi0x3C = Integer.parseInt(vibEnableHigh + vibEnableLow, 16);
|
|
// ½âÎö¼ÓËٶȼÆÊ¹ÄÜ£¨Æ«ÒÆÁ¿0x3e£¬2×Ö½Ú£©
|
String accEnableLow = String.valueOf(hex[67]);
|
String accEnableHigh = String.valueOf(hex[68]);
|
result.dizhi0x3E = Integer.parseInt(accEnableHigh + accEnableLow, 16);
|
|
// ½âÎö±êÇ©ÅäÖÃ״̬£¨Æ«ÒÆÁ¿0x40£¬2×Ö½Ú£©
|
String tagConfigLow = String.valueOf(hex[69]);
|
String tagConfigHigh = String.valueOf(hex[70]);
|
result.dizhi0x40 = Integer.parseInt(tagConfigHigh + tagConfigLow, 16);
|
|
// ½âÎö¼ÓËٶȼÆÊ±³¤£¨Æ«ÒÆÁ¿0x42£¬2×Ö½Ú£©
|
String accDurationLow = String.valueOf(hex[71]);
|
String accDurationHigh = String.valueOf(hex[72]);
|
result.dizhi0x42 = Integer.parseInt(accDurationHigh + accDurationLow, 16);
|
|
// ½âÎöÉ豸¼¤»î״̬£¨Æ«ÒÆÁ¿0x44£¬2×Ö½Ú£©
|
String activationLow = String.valueOf(hex[73]);
|
String activationHigh = String.valueOf(hex[74]);
|
result.dizhi0x44 =String.valueOf(Integer.parseInt(activationHigh + activationLow, 16));
|
|
// ½âÎöͬ²½»ùÕ¾ÀàÐÍ£¨Æ«ÒÆÁ¿0x46£¬2×Ö½Ú£©
|
String syncTypeLow = String.valueOf(hex[75]);
|
String syncTypeHigh = String.valueOf(hex[76]);
|
result.dizhi0x46 = Integer.parseInt(syncTypeHigh + syncTypeLow, 16);
|
|
// ½âÎöËÙ¶ÈÂ˲¨ÏÞÖÆ£¨Æ«ÒÆÁ¿0x48£¬2×Ö½Ú£©
|
String speedFilterLow = String.valueOf(hex[77]);
|
String speedFilterHigh = String.valueOf(hex[78]);
|
result.dizhi0x48 = Integer.parseInt(speedFilterHigh + speedFilterLow, 16);
|
|
// ½âÎöѹÁ¦¸ß¶ÈУ׼£¨Æ«ÒÆÁ¿0x50£¬2×Ö½Ú£©- ÓзûºÅÖµ
|
String pressureCalLow = String.valueOf(hex[79]);
|
String pressureCalHigh = String.valueOf(hex[80]);
|
int pressureCalValue = Integer.parseInt(pressureCalHigh + pressureCalLow, 16);
|
result.dizhi0x50 = (short) pressureCalValue;
|
|
String dizhi0x52Low = String.valueOf(hex[81]);
|
String dizhi0x52High = String.valueOf(hex[82]);
|
result.dizhi0x52 = Integer.parseInt(dizhi0x52High+dizhi0x52Low, 16);
|
|
String dizhi0x54Low = String.valueOf(hex[83]);
|
String dizhi0x54High = String.valueOf(hex[84]);
|
result.dizhi0x54 = Integer.parseInt(dizhi0x54High + dizhi0x54Low, 16);
|
|
String dizhi0x56Low = String.valueOf(hex[85]);
|
String dizhi0x56High = String.valueOf(hex[86]);
|
result.dizhi0x56 = Integer.parseInt(dizhi0x56High + dizhi0x56Low, 16);
|
|
String dizhi0x58Low = String.valueOf(hex[87]);
|
String dizhi0x58High = String.valueOf(hex[88]);
|
result.dizhi0x58 = Integer.parseInt(dizhi0x58High + dizhi0x58Low, 16);
|
|
String dizhi0x5ALow = String.valueOf(hex[89]);
|
String dizhi0x5AHigh = String.valueOf(hex[90]);
|
result.dizhi0x5A = Integer.parseInt(dizhi0x5AHigh + dizhi0x5ALow, 16);
|
|
String dizhi0x5CLow = String.valueOf(hex[91]);
|
String dizhi0x5CHigh = String.valueOf(hex[92]);
|
result.dizhi0x5C = Integer.parseInt(dizhi0x5CHigh + dizhi0x5CLow, 16);
|
|
String dizhi0x5ELow = String.valueOf(hex[93]);
|
String dizhi0x5EHigh = String.valueOf(hex[94]);
|
result.dizhi0x5E = Integer.parseInt(dizhi0x5EHigh + dizhi0x5ELow, 16);
|
|
// ½âÎöÄ£¿éÖØÆô£¨Æ«ÒÆÁ¿0x60£¬2×Ö½Ú£©
|
String restartLow = String.valueOf(hex[95]);
|
String restartHigh = String.valueOf(hex[96]);
|
result.dizhi0x60 = Integer.parseInt(restartHigh + restartLow, 16);
|
|
// ½âÎö»Ö¸´³ö³§ÉèÖã¨Æ«ÒÆÁ¿0x62£¬2×Ö½Ú£©
|
String factoryLow = String.valueOf(hex[97]);
|
String factoryHigh = String.valueOf(hex[98]);
|
result.dizhi0x62 = Integer.parseInt(factoryHigh + factoryLow, 16);
|
|
// ½âÎö¿ªÊ¼Éý¼¶£¨Æ«ÒÆÁ¿0x64£¬2×Ö½Ú£©
|
String upgradeLow = String.valueOf(hex[99]);
|
String upgradeHigh = String.valueOf(hex[100]);
|
result.dizhi0x64 = Integer.parseInt(upgradeHigh + upgradeLow, 16);
|
|
String dizhi0x66Low = String.valueOf(hex[101]);
|
String dizhi0x66High = String.valueOf(hex[102]);
|
result.dizhi0x66=Integer.parseInt(dizhi0x66High + dizhi0x66Low, 16);
|
|
String dizhi0x68Low = String.valueOf(hex[103]);
|
String dizhi0x68High = String.valueOf(hex[104]);
|
result.dizhi0x68=Integer.parseInt(dizhi0x68High + dizhi0x68Low, 16);
|
|
String dizhi0x6ALow = String.valueOf(hex[105]);
|
String dizhi0x6AHigh = String.valueOf(hex[106]);
|
result.dizhi0x6A=Integer.parseInt(dizhi0x6AHigh + dizhi0x6ALow, 16);
|
|
String dizhi0x6CLow = String.valueOf(hex[107]);
|
String dizhi0x6CHigh = String.valueOf(hex[108]);
|
result.dizhi0x6C=Integer.parseInt(dizhi0x6CHigh + dizhi0x6CLow, 16);
|
String dizhi0x6ELow = String.valueOf(hex[109]);
|
String dizhi0x6EHigh = String.valueOf(hex[110]);
|
result.dizhi0x6E = Integer.parseInt(dizhi0x6EHigh + dizhi0x6ELow, 16);
|
|
String dizhi0x70Low = String.valueOf(hex[111]);
|
String dizhi0x70High = String.valueOf(hex[112]);
|
result.dizhi0x70 = Integer.parseInt(dizhi0x70High + dizhi0x70Low, 16);
|
|
String dizhi0x72Low = String.valueOf(hex[113]);
|
String dizhi0x72High = String.valueOf(hex[114]);
|
result.dizhi0x72 = Integer.parseInt(dizhi0x72High + dizhi0x72Low, 16);
|
|
String dizhi0x74Low = String.valueOf(hex[115]);
|
String dizhi0x74High = String.valueOf(hex[116]);
|
result.dizhi0x74 = Integer.parseInt(dizhi0x74High + dizhi0x74Low, 16);
|
|
String dizhi0x76Low = String.valueOf(hex[117]);
|
String dizhi0x76High = String.valueOf(hex[118]);
|
result.dizhi0x76 = Integer.parseInt(dizhi0x76High + dizhi0x76Low, 16);
|
|
String dizhi0x78Low = String.valueOf(hex[119]);
|
String dizhi0x78High = String.valueOf(hex[120]);
|
result.dizhi0x78 = Integer.parseInt(dizhi0x78High + dizhi0x78Low, 16);
|
|
String dizhi0x7ALow = String.valueOf(hex[121]);
|
String dizhi0x7AHigh = String.valueOf(hex[122]);
|
result.dizhi0x7A = Integer.parseInt(dizhi0x7AHigh + dizhi0x7ALow, 16);
|
|
String dizhi0x7CLow = String.valueOf(hex[123]);
|
String dizhi0x7CHigh = String.valueOf(hex[124]);
|
result.dizhi0x7C = Integer.parseInt(dizhi0x7CHigh + dizhi0x7CLow, 16);
|
|
String dizhi0x7ELow = String.valueOf(hex[125]);
|
String dizhi0x7EHigh = String.valueOf(hex[126]);
|
result.dizhi0x7E = Integer.parseInt(dizhi0x7EHigh + dizhi0x7ELow, 16);
|
|
String dizhi0x80Low = String.valueOf(hex[127]);
|
String dizhi0x80High = String.valueOf(hex[128]);
|
result.dizhi0x80 = Integer.parseInt(dizhi0x80High + dizhi0x80Low, 16);
|
|
String dizhi0x82Low = String.valueOf(hex[129]);
|
String dizhi0x82High = String.valueOf(hex[130]);
|
result.dizhi0x82 = Integer.parseInt(dizhi0x82High + dizhi0x82Low, 16);
|
|
String dizhi0x84Low = String.valueOf(hex[131]);
|
String dizhi0x84High = String.valueOf(hex[132]);
|
result.dizhi0x84 = Integer.parseInt(dizhi0x84High + dizhi0x84Low, 16);
|
|
String dizhi0x86Low = String.valueOf(hex[133]);
|
String dizhi0x86High = String.valueOf(hex[134]);
|
result.dizhi0x86 = Integer.parseInt(dizhi0x86High + dizhi0x86Low, 16);
|
|
String dizhi0x88Low = String.valueOf(hex[135]);
|
String dizhi0x88High = String.valueOf(hex[136]);
|
result.dizhi0x88 = Integer.parseInt(dizhi0x88High + dizhi0x88Low, 16);
|
|
String dizhi0x8ALow = String.valueOf(hex[137]);
|
String dizhi0x8AHigh = String.valueOf(hex[138]);
|
result.dizhi0x8A = Integer.parseInt(dizhi0x8AHigh + dizhi0x8ALow, 16);
|
|
String dizhi0x8CLow = String.valueOf(hex[139]);
|
String dizhi0x8CHigh = String.valueOf(hex[140]);
|
result.dizhi0x8C = Integer.parseInt(dizhi0x8CHigh + dizhi0x8CLow, 16);
|
|
String dizhi0x8ELow = String.valueOf(hex[141]);
|
String dizhi0x8EHigh = String.valueOf(hex[142]);
|
result.dizhi0x8E = Integer.parseInt(dizhi0x8EHigh + dizhi0x8ELow, 16);
|
|
String dizhi0x90Low = String.valueOf(hex[143]);
|
String dizhi0x90High = String.valueOf(hex[144]);
|
result.dizhi0x90 = Integer.parseInt(dizhi0x90High + dizhi0x90Low, 16);
|
|
String dizhi0x92Low = String.valueOf(hex[145]);
|
String dizhi0x92High = String.valueOf(hex[146]);
|
result.dizhi0x92 = Integer.parseInt(dizhi0x92High + dizhi0x92Low, 16);
|
|
String dizhi0x94Low = String.valueOf(hex[147]);
|
String dizhi0x94High = String.valueOf(hex[148]);
|
result.dizhi0x94 = Integer.parseInt(dizhi0x94High + dizhi0x94Low, 16);
|
|
String dizhi0x96Low = String.valueOf(hex[149]);
|
String dizhi0x96High = String.valueOf(hex[150]);
|
result.dizhi0x96 = Integer.parseInt(dizhi0x96High + dizhi0x96Low, 16);
|
|
String dizhi0x98Low = String.valueOf(hex[151]);
|
String dizhi0x98High = String.valueOf(hex[152]);
|
result.dizhi0x98 = Integer.parseInt(dizhi0x98High + dizhi0x98Low, 16);
|
|
String dizhi0x9ALow = String.valueOf(hex[153]);
|
String dizhi0x9AHigh = String.valueOf(hex[154]);
|
result.dizhi0x9A = Integer.parseInt(dizhi0x9AHigh + dizhi0x9ALow, 16);
|
|
String dizhi0x9CLow = String.valueOf(hex[155]);
|
String dizhi0x9CHigh = String.valueOf(hex[156]);
|
result.dizhi0x9C = Integer.parseInt(dizhi0x9CHigh + dizhi0x9CLow, 16);
|
|
String dizhi0x9ELow = String.valueOf(hex[157]);
|
String dizhi0x9EHigh = String.valueOf(hex[158]);
|
result.dizhi0x9E = Integer.parseInt(dizhi0x9EHigh + dizhi0x9ELow, 16);
|
|
String dizhi0xA0Low = String.valueOf(hex[159]);
|
String dizhi0xA0High = String.valueOf(hex[160]);
|
result.dizhi0xA0 = Integer.parseInt(dizhi0xA0High + dizhi0xA0Low, 16);
|
|
String dizhi0xA2Low = String.valueOf(hex[161]);
|
String dizhi0xA2High = String.valueOf(hex[162]);
|
result.dizhi0xA2 = Integer.parseInt(dizhi0xA2High + dizhi0xA2Low, 16);
|
|
String dizhi0xA4Low = String.valueOf(hex[163]);
|
String dizhi0xA4High = String.valueOf(hex[164]);
|
result.dizhi0xA4 = Integer.parseInt(dizhi0xA4High + dizhi0xA4Low, 16);
|
|
String dizhi0xA6Low = String.valueOf(hex[165]);
|
String dizhi0xA6High = String.valueOf(hex[166]);
|
result.dizhi0xA6 = Integer.parseInt(dizhi0xA6High + dizhi0xA6Low, 16);
|
|
String dizhi0xA8Low = String.valueOf(hex[167]);
|
String dizhi0xA8High = String.valueOf(hex[168]);
|
result.dizhi0xA8 = Integer.parseInt(dizhi0xA8High + dizhi0xA8Low, 16);
|
|
String dizhi0xAALow = String.valueOf(hex[169]);
|
String dizhi0xAAHigh = String.valueOf(hex[170]);
|
result.dizhi0xAA = Integer.parseInt(dizhi0xAAHigh + dizhi0xAALow, 16);
|
|
String dizhi0xACLow = String.valueOf(hex[171]);
|
String dizhi0xACHigh = String.valueOf(hex[172]);
|
result.dizhi0xAC = Integer.parseInt(dizhi0xACHigh + dizhi0xACLow, 16);
|
|
String dizhi0xAELow = String.valueOf(hex[173]);
|
String dizhi0xAEHigh = String.valueOf(hex[174]);
|
result.dizhi0xAE = Integer.parseInt(dizhi0xAEHigh + dizhi0xAELow, 16);
|
|
String dizhi0xB0Low = String.valueOf(hex[175]);
|
String dizhi0xB0High = String.valueOf(hex[176]);
|
result.dizhi0xB0 = Integer.parseInt(dizhi0xB0High + dizhi0xB0Low, 16);
|
|
String dizhi0xB2Low = String.valueOf(hex[177]);
|
String dizhi0xB2High = String.valueOf(hex[178]);
|
result.dizhi0xB2 = Integer.parseInt(dizhi0xB2High + dizhi0xB2Low, 16);
|
|
String dizhi0xB4Low = String.valueOf(hex[179]);
|
String dizhi0xB4High = String.valueOf(hex[180]);
|
result.dizhi0xB4 = Integer.parseInt(dizhi0xB4High + dizhi0xB4Low, 16);
|
|
String dizhi0xB6Low = String.valueOf(hex[181]);
|
String dizhi0xB6High = String.valueOf(hex[182]);
|
result.dizhi0xB6 = Integer.parseInt(dizhi0xB6High + dizhi0xB6Low, 16);
|
|
String dizhi0xB8Low = String.valueOf(hex[183]);
|
String dizhi0xB8High = String.valueOf(hex[184]);
|
result.dizhi0xB8 = Integer.parseInt(dizhi0xB8High + dizhi0xB8Low, 16);
|
|
String dizhi0xBALow = String.valueOf(hex[185]);
|
String dizhi0xBAHigh = String.valueOf(hex[186]);
|
result.dizhi0xBA = Integer.parseInt(dizhi0xBAHigh + dizhi0xBALow, 16);
|
|
String dizhi0xBCLow = String.valueOf(hex[187]);
|
String dizhi0xBCHigh = String.valueOf(hex[188]);
|
result.dizhi0xBC = Integer.parseInt(dizhi0xBCHigh + dizhi0xBCLow, 16);
|
|
String dizhi0xBELow = String.valueOf(hex[189]);
|
String dizhi0xBEHigh = String.valueOf(hex[190]);
|
result.dizhi0xBE = Integer.parseInt(dizhi0xBEHigh + dizhi0xBELow, 16);
|
|
String dizhi0xC0Low = String.valueOf(hex[191]);
|
String dizhi0xC0High = String.valueOf(hex[192]);
|
result.dizhi0xC0 = Integer.parseInt(dizhi0xC0High + dizhi0xC0Low, 16);
|
|
String dizhi0xC2Low = String.valueOf(hex[193]);
|
String dizhi0xC2High = String.valueOf(hex[194]);
|
result.dizhi0xC2 = Integer.parseInt(dizhi0xC2High + dizhi0xC2Low, 16);
|
|
String dizhi0xC4Low = String.valueOf(hex[195]);
|
String dizhi0xC4High = String.valueOf(hex[196]);
|
result.dizhi0xC4 = Integer.parseInt(dizhi0xC4High + dizhi0xC4Low, 16);
|
|
String dizhi0xC6Low = String.valueOf(hex[197]);
|
String dizhi0xC6High = String.valueOf(hex[198]);
|
result.dizhi0xC6 = Integer.parseInt(dizhi0xC6High + dizhi0xC6Low, 16);
|
|
String dizhi0xC8Low = String.valueOf(hex[199]);
|
String dizhi0xC8High = String.valueOf(hex[200]);
|
result.dizhi0xC8 = Integer.parseInt(dizhi0xC8High + dizhi0xC8Low, 16);
|
|
String dizhi0xCALow = String.valueOf(hex[201]);
|
String dizhi0xCAHigh = String.valueOf(hex[202]);
|
result.dizhi0xCA = Integer.parseInt(dizhi0xCAHigh + dizhi0xCALow, 16);
|
|
String dizhi0xCCLow = String.valueOf(hex[203]);
|
String dizhi0xCCHigh = String.valueOf(hex[204]);
|
result.dizhi0xCC = Integer.parseInt(dizhi0xCCHigh + dizhi0xCCLow, 16);
|
|
String dizhi0xCELow = String.valueOf(hex[205]);
|
String dizhi0xCEHigh = String.valueOf(hex[206]);
|
result.dizhi0xCE = Integer.parseInt(dizhi0xCEHigh + dizhi0xCELow, 16);
|
|
String dizhi0xD0Low = String.valueOf(hex[207]);
|
String dizhi0xD0High = String.valueOf(hex[208]);
|
result.dizhi0xD0 = Integer.parseInt(dizhi0xD0High + dizhi0xD0Low, 16);
|
|
String dizhi0xD2Low = String.valueOf(hex[209]);
|
String dizhi0xD2High = String.valueOf(hex[210]);
|
result.dizhi0xD2 = Integer.parseInt(dizhi0xD2High + dizhi0xD2Low, 16);
|
|
String dizhi0xD4Low = String.valueOf(hex[211]);
|
String dizhi0xD4High = String.valueOf(hex[212]);
|
result.dizhi0xD4 = Integer.parseInt(dizhi0xD4High + dizhi0xD4Low, 16);
|
|
String dizhi0xD6Low = String.valueOf(hex[213]);
|
String dizhi0xD6High = String.valueOf(hex[214]);
|
result.dizhi0xD6 = Integer.parseInt(dizhi0xD6High + dizhi0xD6Low, 16);
|
|
String dizhi0xD8Low = String.valueOf(hex[215]);
|
String dizhi0xD8High = String.valueOf(hex[216]);
|
result.dizhi0xD8 = Integer.parseInt(dizhi0xD8High + dizhi0xD8Low, 16);
|
|
String dizhi0xDALow = String.valueOf(hex[217]);
|
String dizhi0xDAHigh = String.valueOf(hex[218]);
|
result.dizhi0xDA = Integer.parseInt(dizhi0xDAHigh + dizhi0xDALow, 16);
|
|
String dizhi0xDCLow = String.valueOf(hex[219]);
|
String dizhi0xDCHigh = String.valueOf(hex[220]);
|
result.dizhi0xDC = Integer.parseInt(dizhi0xDCHigh + dizhi0xDCLow, 16);
|
|
String dizhi0xDELow = String.valueOf(hex[221]);
|
String dizhi0xDEHigh = String.valueOf(hex[222]);
|
result.dizhi0xDE = Integer.parseInt(dizhi0xDEHigh + dizhi0xDELow, 16);
|
|
String dizhi0xE0Low = String.valueOf(hex[223]);
|
String dizhi0xE0High = String.valueOf(hex[224]);
|
result.dizhi0xE0 = Integer.parseInt(dizhi0xE0High + dizhi0xE0Low, 16);
|
|
String dizhi0xE2Low = String.valueOf(hex[225]);
|
String dizhi0xE2High = String.valueOf(hex[226]);
|
result.dizhi0xE2 = Integer.parseInt(dizhi0xE2High + dizhi0xE2Low, 16);
|
|
String dizhi0xE4Low = String.valueOf(hex[227]);
|
String dizhi0xE4High = String.valueOf(hex[228]);
|
result.dizhi0xE4 = Integer.parseInt(dizhi0xE4High + dizhi0xE4Low, 16);
|
|
String dizhi0xE6Low = String.valueOf(hex[229]);
|
String dizhi0xE6High = String.valueOf(hex[230]);
|
result.dizhi0xE6 = Integer.parseInt(dizhi0xE6High + dizhi0xE6Low, 16);
|
|
String dizhi0xE8Low = String.valueOf(hex[231]);
|
String dizhi0xE8High = String.valueOf(hex[232]);
|
result.dizhi0xE8 = Integer.parseInt(dizhi0xE8High + dizhi0xE8Low, 16);
|
|
String dizhi0xEALow = String.valueOf(hex[233]);
|
String dizhi0xEAHigh = String.valueOf(hex[234]);
|
result.dizhi0xEA = Integer.parseInt(dizhi0xEAHigh + dizhi0xEALow, 16);
|
|
String dizhi0xECLow = String.valueOf(hex[235]);
|
String dizhi0xECHigh = String.valueOf(hex[236]);
|
result.dizhi0xEC = Integer.parseInt(dizhi0xECHigh + dizhi0xECLow, 16);
|
|
String dizhi0xEELow = String.valueOf(hex[237]);
|
String dizhi0xEEHigh = String.valueOf(hex[238]);
|
result.dizhi0xEE = Integer.parseInt(dizhi0xEEHigh + dizhi0xEELow, 16);
|
|
String dizhi0xF0Low = String.valueOf(hex[239]);
|
String dizhi0xF0High = String.valueOf(hex[240]);
|
result.dizhi0xF0 = Integer.parseInt(dizhi0xF0High + dizhi0xF0Low, 16);
|
|
String dizhi0xF2Low = String.valueOf(hex[241]);
|
String dizhi0xF2High = String.valueOf(hex[242]);
|
result.dizhi0xF2 = Integer.parseInt(dizhi0xF2High + dizhi0xF2Low, 16);
|
|
String dizhi0xF4Low = String.valueOf(hex[243]);
|
String dizhi0xF4High = String.valueOf(hex[244]);
|
result.dizhi0xF4 = Integer.parseInt(dizhi0xF4High + dizhi0xF4Low, 16);
|
|
String dizhi0xF6Low = String.valueOf(hex[245]);
|
String dizhi0xF6High = String.valueOf(hex[246]);
|
result.dizhi0xF6 = Integer.parseInt(dizhi0xF6High + dizhi0xF6Low, 16);
|
|
String dizhi0xF8Low = String.valueOf(hex[247]);
|
String dizhi0xF8High = String.valueOf(hex[248]);
|
result.dizhi0xF8 = Integer.parseInt(dizhi0xF8High + dizhi0xF8Low, 16);
|
|
|
|
|
hexAA03.setDizhi0x2(hex[7] + hex[8]); // ÉèÖð汾ºÅ
|
hexAA03.setDizhi0x4(hex[9] + hex[10]); // ÉèÖÃÉ豸ID
|
hexAA03.setDizhi0x6(hex[11] + hex[12]); // ÉèÖÃͨÐÅÆµÂÊ
|
hexAA03.setDizhi0x8(hex[13] + hex[14]); // ÉèÖÃ×î´ó»ùÕ¾Êý
|
hexAA03.setDizhi0xA(hex[15] + hex[16]); // ÉèÖÃ×îС»ùÕ¾Êý
|
hexAA03.setDizhi0xC(hex[17] + hex[18]); // ÉèÖþàÀëУ׼ֵ
|
hexAA03.setDizhi0xE(hex[19] + hex[20]); // ÉèÖÃÉ豸ÀàÐÍ
|
hexAA03.setDizhi0x10(hex[21] + hex[22]); // ÉèÖûùÕ¾Ö÷¶¯²â¾à
|
hexAA03.setDizhi0x12(hex[23] + hex[24]); // ÉèÖñ¨¾¯É豸
|
hexAA03.setDizhi0x14(hex[25] + hex[26]); // ÉèÖÃIMU¿ÕÏÐʱ¼ä
|
hexAA03.setDizhi0x16(hex[27] + hex[28]); // ÉèÖÃѹÁ¦»ùÕ¾ID
|
hexAA03.setDizhi0x18(hex[29] + hex[30]); // ÉèÖÃÍâÉè¿ØÖÆ
|
hexAA03.setDizhi0x1A(hex[31] + hex[32]); // ÉèÖÃÅä¶ÔID
|
hexAA03.setDizhi0x1C(hex[33] + hex[34]); // ÉèÖÃUWB¿ª¹Ø×´Ì¬
|
hexAA03.setDizhi0x1E(hex[35] + hex[36]); // ÉèÖÃModbusģʽ
|
hexAA03.setDizhi0x20(hex[37] + hex[38]); // ÉèÖÃÕñ¶¯Ê±³¤
|
hexAA03.setDizhi0x22(hex[39] + hex[40]); // ÉèÖø½½ü»ùÕ¾1ID
|
hexAA03.setDizhi0x24(hex[41] + hex[42]); // ÉèÖø½½ü»ùÕ¾2ID
|
hexAA03.setDizhi0x26(hex[43] + hex[44]); // ÉèÖø½½ü»ùÕ¾3ID
|
hexAA03.setDizhi0x28(hex[45] + hex[46]); // ÉèÖø½½ü»ùÕ¾4ID
|
hexAA03.setDizhi0x2A(hex[47] + hex[48]); // ÉèÖø½½ü»ùÕ¾5ID
|
hexAA03.setDizhi0x2C(hex[49] + hex[50]); // ÉèÖø½½ü»ùÕ¾6ID
|
hexAA03.setDizhi0x2E(hex[51] + hex[52]); // ÉèÖø½½ü»ùÕ¾7ID
|
hexAA03.setDizhi0x30(hex[53] + hex[54]); // ÉèÖø½½ü»ùÕ¾8ID
|
hexAA03.setDizhi0x32(hex[55] + hex[56]); // ÉèÖø½½ü»ùÕ¾9ID
|
hexAA03.setDizhi0x34(hex[57] + hex[58]); // ÉèÖø½½ü»ùÕ¾10ID
|
hexAA03.setDizhi0x36(hex[59] + hex[60]); // ÉèÖù¦ÂÊ
|
hexAA03.setDizhi0x38(hex[61] + hex[62]); // ÉèÖüÓËٶȼÆãÐÖµ
|
hexAA03.setDizhi0x3A(hex[63] + hex[64]); // ÉèÖÿÕÏÐÐÝÃßʱ¼ä
|
hexAA03.setDizhi0x3C(hex[65] + hex[66]); // ÉèÖÃÕñ¶¯Ê¹ÄÜ
|
hexAA03.setDizhi0x3E(hex[67] + hex[68]); // ÉèÖüÓËٶȼÆÊ¹ÄÜ
|
hexAA03.setDizhi0x40(hex[69] + hex[70]); // ÉèÖñêÇ©ÅäÖÃ״̬
|
hexAA03.setDizhi0x42(hex[71] + hex[72]); // ÉèÖüÓËٶȼÆÊ±³¤
|
hexAA03.setDizhi0x44(hex[73] + hex[74]); // ÉèÖÃÉ豸¼¤»î״̬
|
hexAA03.setDizhi0x46(hex[75] + hex[76]); // ÉèÖÃͬ²½»ùÕ¾ÀàÐÍ
|
hexAA03.setDizhi0x48(hex[77] + hex[78]); // ÉèÖÃËÙ¶ÈÂ˲¨ÏÞÖÆ
|
hexAA03.setDizhi0x50(hex[79] + hex[80]); // ÉèÖÃѹÁ¦¸ß¶ÈУ׼
|
hexAA03.setDizhi0x52(hex[81] + hex[82]);
|
hexAA03.setDizhi0x54(hex[83] + hex[84]);
|
hexAA03.setDizhi0x56(hex[85] + hex[86]);
|
hexAA03.setDizhi0x58(hex[87] + hex[88]);
|
hexAA03.setDizhi0x5A(hex[89] + hex[90]);
|
hexAA03.setDizhi0x5C(hex[91] + hex[92]);
|
hexAA03.setDizhi0x5E(hex[93] + hex[94]);
|
hexAA03.setDizhi0x60(hex[95] + hex[96]);
|
hexAA03.setDizhi0x62(hex[97] + hex[98]);
|
hexAA03.setDizhi0x64(hex[99] + hex[100]);
|
hexAA03.setDizhi0x66(hex[101] + hex[102]);
|
hexAA03.setDizhi0x68(hex[103] + hex[104]);
|
hexAA03.setDizhi0x6A(hex[105] + hex[106]);
|
hexAA03.setDizhi0x6C(hex[107] + hex[108]);
|
hexAA03.setDizhi0x6E(hex[109] + hex[110]);
|
hexAA03.setDizhi0x70(hex[111] + hex[112]);
|
hexAA03.setDizhi0x72(hex[113] + hex[114]);
|
hexAA03.setDizhi0x74(hex[115] + hex[116]);
|
hexAA03.setDizhi0x76(hex[117] + hex[118]);
|
hexAA03.setDizhi0x78(hex[119] + hex[120]);
|
hexAA03.setDizhi0x7A(hex[121] + hex[122]);
|
hexAA03.setDizhi0x7C(hex[123] + hex[124]);
|
hexAA03.setDizhi0x7E(hex[125] + hex[126]);
|
hexAA03.setDizhi0x80(hex[127] + hex[128]);
|
hexAA03.setDizhi0x82(hex[129] + hex[130]);
|
hexAA03.setDizhi0x84(hex[131] + hex[132]);
|
hexAA03.setDizhi0x86(hex[133] + hex[134]);
|
hexAA03.setDizhi0x88(hex[135] + hex[136]);
|
hexAA03.setDizhi0x8A(hex[137] + hex[138]);
|
hexAA03.setDizhi0x8C(hex[139] + hex[140]);
|
hexAA03.setDizhi0x8E(hex[141] + hex[142]);
|
hexAA03.setDizhi0x90(hex[143] + hex[144]);
|
hexAA03.setDizhi0x92(hex[145] + hex[146]);
|
hexAA03.setDizhi0x94(hex[147] + hex[148]);
|
hexAA03.setDizhi0x96(hex[149] + hex[150]);
|
hexAA03.setDizhi0x98(hex[151] + hex[152]);
|
hexAA03.setDizhi0x9A(hex[153] + hex[154]);
|
hexAA03.setDizhi0x9C(hex[155] + hex[156]);
|
hexAA03.setDizhi0x9E(hex[157] + hex[158]);
|
hexAA03.setDizhi0xA0(hex[159] + hex[160]);
|
hexAA03.setDizhi0xA2(hex[161] + hex[162]);
|
hexAA03.setDizhi0xA4(hex[163] + hex[164]);
|
hexAA03.setDizhi0xA6(hex[165] + hex[166]);
|
hexAA03.setDizhi0xA8(hex[167] + hex[168]);
|
hexAA03.setDizhi0xAA(hex[169] + hex[170]);
|
hexAA03.setDizhi0xAC(hex[171] + hex[172]);
|
hexAA03.setDizhi0xAE(hex[173] + hex[174]);
|
hexAA03.setDizhi0xB0(hex[175] + hex[176]);
|
hexAA03.setDizhi0xB2(hex[177] + hex[178]);
|
hexAA03.setDizhi0xB4(hex[179] + hex[180]);
|
hexAA03.setDizhi0xB6(hex[181] + hex[182]);
|
hexAA03.setDizhi0xB8(hex[183] + hex[184]);
|
hexAA03.setDizhi0xBA(hex[185] + hex[186]);
|
hexAA03.setDizhi0xBC(hex[187] + hex[188]);
|
hexAA03.setDizhi0xBE(hex[189] + hex[190]);
|
hexAA03.setDizhi0xC0(hex[191] + hex[192]);
|
hexAA03.setDizhi0xC2(hex[193] + hex[194]);
|
hexAA03.setDizhi0xC4(hex[195] + hex[196]);
|
hexAA03.setDizhi0xC6(hex[197] + hex[198]);
|
hexAA03.setDizhi0xC8(hex[199] + hex[200]);
|
hexAA03.setDizhi0xCA(hex[201] + hex[202]);
|
hexAA03.setDizhi0xCC(hex[203] + hex[204]);
|
hexAA03.setDizhi0xCE(hex[205] + hex[206]);
|
hexAA03.setDizhi0xD0(hex[207] + hex[208]);
|
hexAA03.setDizhi0xD2(hex[209] + hex[210]);
|
hexAA03.setDizhi0xD4(hex[211] + hex[212]);
|
hexAA03.setDizhi0xD6(hex[213] + hex[214]);
|
hexAA03.setDizhi0xD8(hex[215] + hex[216]);
|
hexAA03.setDizhi0xDA(hex[217] + hex[218]);
|
hexAA03.setDizhi0xDC(hex[219] + hex[220]);
|
hexAA03.setDizhi0xDE(hex[221] + hex[222]);
|
hexAA03.setDizhi0xE0(hex[223] + hex[224]);
|
hexAA03.setDizhi0xE2(hex[225] + hex[226]);
|
hexAA03.setDizhi0xE4(hex[227] + hex[228]);
|
hexAA03.setDizhi0xE6(hex[229] + hex[230]);
|
hexAA03.setDizhi0xE8(hex[231] + hex[232]);
|
hexAA03.setDizhi0xEA(hex[233] + hex[234]);
|
hexAA03.setDizhi0xEC(hex[235] + hex[236]);
|
hexAA03.setDizhi0xEE(hex[237] + hex[238]);
|
hexAA03.setDizhi0xF0(hex[239] + hex[240]);
|
hexAA03.setDizhi0xF2(hex[241] + hex[242]);
|
hexAA03.setDizhi0xF4(hex[243] + hex[244]);
|
hexAA03.setDizhi0xF6(hex[245] + hex[246]);
|
hexAA03.setDizhi0xF8(hex[247] + hex[248]);
|
|
return result;
|
}
|
|
public static String convertAA5503HexToString(AA5503Hex hex) {
|
if (hex == null) {
|
return "";
|
}
|
|
StringBuilder sb = new StringBuilder();
|
// °´ÕÕ AA5503Hex ÀàÖÐ×ֶεÄÉùÃ÷˳ÐòÆ´½ÓËùÓÐÊôÐÔ
|
sb.append(hex.getDizhi0x4());
|
sb.append(hex.getDizhi0x6());
|
sb.append(hex.getDizhi0x8());
|
sb.append(hex.getDizhi0xA());
|
sb.append(hex.getDizhi0xC());
|
sb.append(hex.getDizhi0xE());
|
sb.append(hex.getDizhi0x10());
|
sb.append(hex.getDizhi0x12());
|
sb.append(hex.getDizhi0x14());
|
sb.append(hex.getDizhi0x16());
|
sb.append(hex.getDizhi0x18());
|
sb.append(hex.getDizhi0x1A());
|
sb.append(hex.getDizhi0x1C());
|
sb.append(hex.getDizhi0x1E());
|
sb.append(hex.getDizhi0x20());
|
sb.append(hex.getDizhi0x22());
|
sb.append(hex.getDizhi0x24());
|
sb.append(hex.getDizhi0x26());
|
sb.append(hex.getDizhi0x28());
|
sb.append(hex.getDizhi0x2A());
|
sb.append(hex.getDizhi0x2C());
|
sb.append(hex.getDizhi0x2E());
|
sb.append(hex.getDizhi0x30());
|
sb.append(hex.getDizhi0x32());
|
sb.append(hex.getDizhi0x34());
|
sb.append(hex.getDizhi0x36());
|
sb.append(hex.getDizhi0x38());
|
sb.append(hex.getDizhi0x3A());
|
sb.append(hex.getDizhi0x3C());
|
sb.append(hex.getDizhi0x3E());
|
sb.append(hex.getDizhi0x40());
|
sb.append(hex.getDizhi0x42());
|
sb.append(hex.getDizhi0x44());
|
sb.append(hex.getDizhi0x46());
|
sb.append(hex.getDizhi0x48());
|
sb.append(hex.getDizhi0x50());
|
// sb.append(hex.getDizhi0x52());
|
// sb.append(hex.getDizhi0x54());
|
// sb.append(hex.getDizhi0x56());
|
// sb.append(hex.getDizhi0x58());
|
System.out.println(sb.toString());
|
return sb.toString();
|
}
|
|
public static byte[] getpeizhihex(AA5503Hex hex){
|
System.out.println("²âÊÔ");
|
String hex0="55AA034D020448"+convertAA5503HexToString(hex);
|
System.out.println("²âÊÔ1: "+hex0);
|
String hex1="55AA034D020448"+convertAA5503HexToString(hex)+"FFFF";
|
System.out.println("²âÊÔ2: "+hex1);
|
String jiaoyan=PacketParser.calculateChecksum(hex1);
|
String hex2=hex0+jiaoyan;
|
System.out.println("²âÊÔ2: "+hex2);
|
byte[] bytes =hexStringToByteArray(hex2);
|
return bytes;
|
}
|
|
public static byte[] alertTagid(String tagid) {
|
String tagid1=getTagid(tagid);
|
String hex1="55AA0307020402"+tagid1+"FFFF";
|
String jiaoyan=PacketParser.calculateChecksum(hex1);
|
String hex2="55AA0307020402"+tagid1+jiaoyan;
|
byte[] bytes=hexStringToByteArray(hex2);
|
return bytes;
|
}
|
|
public static byte[] tagidAndHz(String tagid,int Hz) {
|
String tagid1=getTagid(tagid);
|
String Hz1=getintHz(Hz);
|
String hex1="55AA0309020404"+tagid1+Hz1+"FFFF";
|
String jiaoyan=PacketParser.calculateChecksum(hex1);
|
String hex2="55AA0309020404"+tagid1+Hz1+jiaoyan;
|
byte[] bytes=hexStringToByteArray(hex2);
|
return bytes;
|
}
|
|
|
/**Éý¼¶Ö¸Áî*/
|
public static byte[] shengjizhiling() {
|
String hex="55AA030702640201008CFF";
|
byte[] byt = hexToBytes(hex);
|
return byt;
|
}
|
|
/**
|
* ½«Ê®Áù½øÖÆ×Ö·û´®×ª»»³É byte[]£¬ÔÊÐí¿Õ¸ñ¡¢´óСд»ìºÏ¡£
|
* ÀýÈ磺 "55AA030702640201008CFF" ¡ú {0x55, (byte)0xAA, 0x03 ...}
|
*/
|
public static byte[] hexToBytes(String hex) {
|
byte[] out=hexStringToByteArray(hex);
|
return out;
|
}
|
|
|
/**Éý¼¶Ö¸Áî*/
|
public static byte[] UpgradeCommand() {
|
byte[] byt=WriteData((byte)0x64,(byte)0x2,1);
|
return byt;
|
}
|
|
/**ÖØÆôÖ¸Áî*/
|
public static byte[] RestartCommand() {
|
byte[] byt=WriteData((byte)0x60,(byte)0x2,1);
|
return byt;
|
}
|
|
/**»Ö¸´³ö³§ÉèÖÃ*/
|
public static byte[] RestoreFactorySettings() {
|
byte[] byt=WriteData((byte)0x62,(byte)0x2,1);
|
return byt;
|
}
|
|
|
public static String bytesToHex(byte[] bytes) {
|
StringBuilder sb = new StringBuilder();
|
for (byte b : bytes) {
|
sb.append(String.format("%02X", b)); // È¥µô¸ñʽ×Ö·û´®ÖеĿոñ
|
}
|
return sb.toString(); // ´ËʱÒÑÎÞÐètrim()
|
}
|
/**
|
* д´®¿ÚÊý¾Ý°ü
|
*
|
* @param ref ÆðʼµØÖ·
|
* @param lenth Êý¾Ý³¤¶È
|
* @param value дÈëÖµ
|
*/
|
public static byte[] WriteData(byte ref, byte lenth, int value) {
|
byte[] buf = new byte[9 + lenth];
|
byte[] buf1 = new byte[5 + lenth];
|
//°üÍ·
|
buf[0] = (byte) 0x55;
|
//°üÍ·
|
buf[1] = (byte) 0xAA;
|
//Ö¸ÁîÀàÐÍ
|
buf1[0] = (byte) 0x03;
|
//Êý¾Ý³¤¶È
|
buf1[1] = (byte) ((byte) 5 + lenth);
|
//¶Áģʽ
|
buf1[2] = (byte) 0x02;
|
//ÆðʼµØÖ·
|
buf1[3] = (byte) ref;
|
//Êý¾Ý³¤¶È
|
buf1[4] = (byte) lenth;
|
|
//дÈëÖµ
|
if (lenth == 2) {
|
buf1[5] = ModbusUtil.intToRegisters(value)[3];
|
buf1[6] = ModbusUtil.intToRegisters(value)[2];
|
}
|
|
|
for (int i = 0; i < buf1.length; i++) {
|
buf[i + 2] = buf1[i];
|
}
|
//УÑéÂë
|
buf[buf.length - 2] = Jiaoyan.check(buf1)[1];
|
buf[buf.length - 1] = Jiaoyan.check(buf1)[0];
|
return buf;
|
}
|
|
/**
|
* 16½øÖƵÄ×Ö·û´®±íʾת³É×Ö½ÚÊý×é
|
*
|
* @param hexString 16½øÖƸñʽµÄ×Ö·û´®
|
* @return ת»»ºóµÄ×Ö½ÚÊý×é
|
**/
|
public static byte[] toByteArray(String hexString) {
|
byte[] byteArray = null;
|
if (hexString != null || hexString != "") {
|
hexString = hexString.replaceAll(" ", "");
|
byteArray = new byte[hexString.length() / 2];
|
int k = 0;
|
for (int i = 0; i < byteArray.length; i++) {//ÒòΪÊÇ16½øÖÆ£¬×î¶àÖ»»áÕ¼ÓÃ4λ£¬×ª»»³É×Ö½ÚÐèÒªÁ½¸ö16½øÖƵÄ×Ö·û£¬¸ßλÔÚÏÈ
|
byte high = (byte) (Character.digit(hexString.charAt(k), 16) & 0xff);
|
byte low = (byte) (Character.digit(hexString.charAt(k + 1), 16) & 0xff);
|
byteArray[i] = (byte) (high << 4 | low);
|
k += 2;
|
}
|
}
|
return byteArray;
|
}
|
|
|
|
/**10½øÖÆ×ª×Ö½ÚÊý×é*/
|
public static byte[] intToRegisters(int v) {
|
byte[] registers = new byte[4];
|
registers[0] = (byte) (0xff & (v >> 24));
|
registers[1] = (byte) (0xff & (v >> 16));
|
registers[2] = (byte) (0xff & (v >> 8));
|
registers[3] = (byte) (0xff & v);
|
return registers;
|
}
|
|
public static String[] hex(String message) {
|
int size=message.length()/2;
|
String[] hex=new String[size];
|
for(int i=0;i<size;i++) {
|
hex[i]=message.substring(i*2, 2+i*2);
|
}
|
return hex;
|
}
|
|
/**»ñÈ¡É豸±àºÅ*/
|
public static String getTagid(String tagid) {
|
byte[] buf =new byte[2];
|
buf[0] = toByteArray(tagid)[1];
|
buf[1] = toByteArray(tagid)[0];
|
String va=bytesToHex(buf);
|
return va;
|
}
|
|
/**10½øÖÆ×ªÎªHEXString*/
|
public static String getIntToHex(int value) {
|
byte[] buf =new byte[2];
|
buf[0] = intToRegisters(value)[3];
|
buf[1] = intToRegisters(value)[2];
|
String va=bytesToHex(buf);
|
return va;
|
}
|
|
/**»ñȡƵÂʵÈ10½øÖÆ×ªÎªbyte[]*/
|
public static String getintHz(int value) {
|
//±êǩƵÂÊ
|
byte[] buf =new byte[2];
|
buf[0] = intToRegisters(value)[3];
|
buf[1] = intToRegisters(value)[2];
|
String va=bytesToHex(buf);
|
return va;
|
}
|
|
// ¸¨Öú·½·¨£º½«HEX×Ö·û´®×ª»»Îª×Ö½ÚÊý×é
|
private static byte[] hexStringToByteArray(String s) {
|
int len = s.length();
|
if (len % 2 != 0) {
|
return null;
|
}
|
|
byte[] data = new byte[len / 2];
|
for (int i = 0; i < len; i += 2) {
|
try {
|
data[i / 2] = (byte) ((Character.digit(s.charAt(i), 16) << 4)
|
+ Character.digit(s.charAt(i+1), 16));
|
} catch (Exception e) {
|
return null;
|
}
|
}
|
return data;
|
}
|
|
}
|