package com.dy.simRtu.tcpClient.downData; import com.dy.common.mw.protocol.p206V1.ProtocolConstantV206V1; import com.dy.common.util.ByteUtil; import com.dy.simRtu.tcpClient.upData.*; /** * @Author: liurunyu * @Date: 2024/11/18 10:57 * @Description 中间件的下行数据 */ public class DownData { public void parseData(byte[] bs){ if(bs != null && bs.length >= ProtocolConstantV206V1.lenHead2Code){ if(bs.length >= (ProtocolConstantV206V1.ctrlIndex) && bs[0] == ProtocolConstantV206V1.P_Head_Byte && bs[2] == ProtocolConstantV206V1.P_Head_Byte){ this.dealP206V1(bs); }else if(bs.length >= (ProtocolConstantV206V1.UG_codeIndex) && bs[0] == ProtocolConstantV206V1.UG_P_Head_Byte && bs[3] == ProtocolConstantV206V1.UG_P_Head_Byte){ this.dealUpgrade(bs); } } } private void dealP206V1(byte[] bs){ //应该是链路检测数据 } private void dealUpgrade(byte[] bs){ String cdPre = ByteUtil.bytes2Hex(bs, false, ProtocolConstantV206V1.codeIndex, 1); if(cdPre.equals("16")){ //升级功能码 UpHeartBeat.upHeartBeat = false ;//不上行心跳 if(bs.length >= ProtocolConstantV206V1.lenHead2Code + 1){ String cdSuf = ByteUtil.bytes2Hex(bs, false, ProtocolConstantV206V1.codeIndex + 1, 1); String cd = cdPre + cdSuf; if(cd.equals("1601")){ //升级配置 UpCd9601.upData() ; }else if(cd.equals("1602")){ //升级数据 UpCd9602.upData() ; }else if(cd.equals("1603")){ //升级校验 UpCd9603.upData() ; }else if(cd.equals("1600")){ //升级复位 UpCd9600.upData() ; UpHeartBeat.upHeartBeat = true ;//不上行心跳 } } } } }