package com.ld.igds.io.sample.lt;
|
|
import com.ld.igds.util.BytesUtil;
|
import lombok.extern.slf4j.Slf4j;
|
|
/***
|
*
|
* @author: andy.jia
|
* @description:
|
* @version:
|
* @data:2020年3月19日
|
*
|
*/
|
@Slf4j
|
public class CheckAnalysis {
|
|
/**
|
* 扦样机状态返回值:00 00 00 00 00 11 01 03 0E 00 00 00 11 00 00 00 01 00 00 00 01
|
* 00 13
|
*
|
*/
|
public static void analysisInfo(String ip, Integer port, byte[] bytes) {
|
String strMsg = BytesUtil.bytesToString(bytes);
|
log.debug("开始解析扦样机返回信息=" + strMsg);
|
|
if(LtCheckClientEngine.CHECK_MAC.get(ip) == null ){
|
LtCheckClientEngine.CHECK_MAC.put(ip,new LtCHeckMac());
|
}
|
|
// 状态解析
|
if (strMsg.length() >= 23 * 2) {
|
|
// 运行状态
|
String status = strMsg.substring(18, 18 + 4);
|
LtCheckClientEngine.CHECK_MAC.get(ip).setRunStatus(status);
|
|
// 伺服报警
|
status = strMsg.substring(22, 26);
|
LtCheckClientEngine.CHECK_MAC.get(ip).setWarnStatus(status);
|
|
// 手动
|
status = strMsg.substring(26, 30);
|
LtCheckClientEngine.CHECK_MAC.get(ip).setHandStatus(status);
|
|
// 急停
|
status = strMsg.substring(30, 34);
|
LtCheckClientEngine.CHECK_MAC.get(ip).setStopStatus(status);
|
|
// 复位
|
status = strMsg.substring(34, 38);
|
LtCheckClientEngine.CHECK_MAC.get(ip).setResetStatus(status);
|
|
// 车辆识别
|
status = strMsg.substring(38, 42);
|
LtCheckClientEngine.CHECK_MAC.get(ip).setCarStatus(status);
|
|
log.info("扦样机状态解析完成={}",
|
LtCheckClientEngine.CHECK_MAC.toString());
|
}
|
}
|
}
|