| | |
| | | this.clear(); |
| | | boolean isFail = false ; |
| | | String upCode = null ; |
| | | Object[] codeDataGrp = {null}; |
| | | try{ |
| | | CommonV1 cp = new CommonV1() ; |
| | | Boolean p206TrueUgFalse = cp.protocolType_p206TrueUgFalse(upBuffer) ; |
| | |
| | | }else{ |
| | | return codeParse.parse(isLowPower, this.upCpParams, new CodeParseCallback(){ |
| | | @Override |
| | | public void callback(Boolean flag) { |
| | | public void callback(Boolean flag, Object codeData) { |
| | | reportOrResponse_trueOrFalse = flag ; |
| | | rtuAddrInData = dV1.getRtuAddr() ; |
| | | codeDataGrp[0] = codeData ; |
| | | } |
| | | @Override |
| | | public void notify(NotifyInfo ...infos) { |
| | | notify.notify(rtuAddr, ProtocolConstantV206V1.protocolName, ProtocolConstantV206V1.protocolVer, infos); |
| | | } |
| | | }); |
| | | } |
| | | |
| | | } catch (Exception e) { |
| | | isFail = true ; |
| | | return new MidResult[]{(new MidResultError(ProtocolConstantV206V1.protocolName, rtuAddr, "严重错误,分析Rtu数据出错!数据为:" + upHex + (e.getMessage() == null?"":(",出错信息:" + e.getMessage())), e))} ; |
| | | } finally{ |
| | | if(upCode != null){ |
| | | //CRC验证失败时,upCode为null,此时不进行回调 |
| | | callback.callback(rtuAddr, upCode, CodeV1.getCodeName(upCode), upHex, reportOrResponse_trueOrFalse, isFail, rtuAddr); |
| | | callback.callback(rtuAddr, upCode, CodeV1.getCodeName(upCode), upHex, reportOrResponse_trueOrFalse, isFail, rtuAddr, codeDataGrp[0]); |
| | | } |
| | | } |
| | | } |