diff --git a/sensorhub-core/src/main/java/com/casic/missiles/parser/matcher/impl/FrameMarkMatcher.java b/sensorhub-core/src/main/java/com/casic/missiles/parser/matcher/impl/FrameMarkMatcher.java index 446485b..f8a0f1a 100644 --- a/sensorhub-core/src/main/java/com/casic/missiles/parser/matcher/impl/FrameMarkMatcher.java +++ b/sensorhub-core/src/main/java/com/casic/missiles/parser/matcher/impl/FrameMarkMatcher.java @@ -116,7 +116,7 @@ bizFrameStr += plainText; } } - ByteBuf bizFrameByte = protocolFactory.getProtocolFieldConfigProvider().setDataContentBuf(bizFrameStr); + ByteBuf bizFrameByte = protocolFactory.getProtocolFieldConfigProvider().setDataContentBuf(bizFrameStr,headFrame,tail); //增加头 mergeWholeFrameByte.writeBytes(Hex.decode(headFrame)); //增加业务内容 diff --git a/sensorhub-core/src/main/java/com/casic/missiles/parser/matcher/impl/FrameMarkMatcher.java b/sensorhub-core/src/main/java/com/casic/missiles/parser/matcher/impl/FrameMarkMatcher.java index 446485b..f8a0f1a 100644 --- a/sensorhub-core/src/main/java/com/casic/missiles/parser/matcher/impl/FrameMarkMatcher.java +++ b/sensorhub-core/src/main/java/com/casic/missiles/parser/matcher/impl/FrameMarkMatcher.java @@ -116,7 +116,7 @@ bizFrameStr += plainText; } } - ByteBuf bizFrameByte = protocolFactory.getProtocolFieldConfigProvider().setDataContentBuf(bizFrameStr); + ByteBuf bizFrameByte = protocolFactory.getProtocolFieldConfigProvider().setDataContentBuf(bizFrameStr,headFrame,tail); //增加头 mergeWholeFrameByte.writeBytes(Hex.decode(headFrame)); //增加业务内容 diff --git a/sensorhub-core/src/main/java/com/casic/missiles/provider/ProtocolFieldConfigProvider.java b/sensorhub-core/src/main/java/com/casic/missiles/provider/ProtocolFieldConfigProvider.java index 2c38e91..68aca0e 100644 --- a/sensorhub-core/src/main/java/com/casic/missiles/provider/ProtocolFieldConfigProvider.java +++ b/sensorhub-core/src/main/java/com/casic/missiles/provider/ProtocolFieldConfigProvider.java @@ -3,6 +3,7 @@ import com.baomidou.mybatisplus.core.toolkit.CollectionUtils; import com.baomidou.mybatisplus.core.toolkit.ObjectUtils; +import com.baomidou.mybatisplus.core.toolkit.StringUtils; import com.casic.missiles.enums.FrameStructEnum; import com.casic.missiles.parser.resolver.FieldParser; import com.casic.missiles.parser.resolver.fields.DefaultProtocolFieldParser; @@ -260,7 +261,6 @@ } - /** * 获取协议有关字段解析内容 * storeObjectMap存储代转存的数据 @@ -287,17 +287,25 @@ return null; } - public ByteBuf setDataContentBuf(String bizDataStr) { - log.debug("业务内容----------"+bizDataStr); - byte[] bizDataBytes = Hex.decode(bizDataStr); - ByteBuf bizFrameByte = ByteBufAllocator.DEFAULT.buffer(); - bizFrameByte.writeBytes(bizDataBytes); + public ByteBuf setDataContentBuf(String bizDataStr, String headFrame, String tail) { + log.debug("业务内容----------" + bizDataStr); //获取缓存 - if (ObjectUtils.isNotEmpty(bizFrameByte)) { - bizFrameByte.resetReaderIndex(); + if (StringUtils.isNotEmpty(bizDataStr) && StringUtils.isNotEmpty(headFrame) && StringUtils.isNotEmpty(tail)) { + frameStructMap=new HashMap<>(); + ByteBuf headFrameByte = ByteBufAllocator.DEFAULT.buffer(); + headFrameByte.writeBytes(Hex.decode(headFrame)); + frameStructMap.put(BEFORE_BUSINESS_CONTENT, headFrameByte); + ByteBuf bizFrameByte = ByteBufAllocator.DEFAULT.buffer(); + bizFrameByte.writeBytes(Hex.decode(bizDataStr)); + frameStructMap.put(AROUND_BUSINESS_CONTENT, bizFrameByte); + ByteBuf tailFrameByte = ByteBufAllocator.DEFAULT.buffer(); + tailFrameByte.writeBytes(Hex.decode(tail)); + frameStructMap.put(AFTER_BUSINESS_CONTENT, tailFrameByte); this.singleObjects.put(CONTENT_FIELD_DS, bizFrameByte); + return bizFrameByte; } - return bizFrameByte; + log.debug("设置帧结构出错了...------------------------"); + return null; } /** diff --git a/sensorhub-core/src/main/java/com/casic/missiles/parser/matcher/impl/FrameMarkMatcher.java b/sensorhub-core/src/main/java/com/casic/missiles/parser/matcher/impl/FrameMarkMatcher.java index 446485b..f8a0f1a 100644 --- a/sensorhub-core/src/main/java/com/casic/missiles/parser/matcher/impl/FrameMarkMatcher.java +++ b/sensorhub-core/src/main/java/com/casic/missiles/parser/matcher/impl/FrameMarkMatcher.java @@ -116,7 +116,7 @@ bizFrameStr += plainText; } } - ByteBuf bizFrameByte = protocolFactory.getProtocolFieldConfigProvider().setDataContentBuf(bizFrameStr); + ByteBuf bizFrameByte = protocolFactory.getProtocolFieldConfigProvider().setDataContentBuf(bizFrameStr,headFrame,tail); //增加头 mergeWholeFrameByte.writeBytes(Hex.decode(headFrame)); //增加业务内容 diff --git a/sensorhub-core/src/main/java/com/casic/missiles/provider/ProtocolFieldConfigProvider.java b/sensorhub-core/src/main/java/com/casic/missiles/provider/ProtocolFieldConfigProvider.java index 2c38e91..68aca0e 100644 --- a/sensorhub-core/src/main/java/com/casic/missiles/provider/ProtocolFieldConfigProvider.java +++ b/sensorhub-core/src/main/java/com/casic/missiles/provider/ProtocolFieldConfigProvider.java @@ -3,6 +3,7 @@ import com.baomidou.mybatisplus.core.toolkit.CollectionUtils; import com.baomidou.mybatisplus.core.toolkit.ObjectUtils; +import com.baomidou.mybatisplus.core.toolkit.StringUtils; import com.casic.missiles.enums.FrameStructEnum; import com.casic.missiles.parser.resolver.FieldParser; import com.casic.missiles.parser.resolver.fields.DefaultProtocolFieldParser; @@ -260,7 +261,6 @@ } - /** * 获取协议有关字段解析内容 * storeObjectMap存储代转存的数据 @@ -287,17 +287,25 @@ return null; } - public ByteBuf setDataContentBuf(String bizDataStr) { - log.debug("业务内容----------"+bizDataStr); - byte[] bizDataBytes = Hex.decode(bizDataStr); - ByteBuf bizFrameByte = ByteBufAllocator.DEFAULT.buffer(); - bizFrameByte.writeBytes(bizDataBytes); + public ByteBuf setDataContentBuf(String bizDataStr, String headFrame, String tail) { + log.debug("业务内容----------" + bizDataStr); //获取缓存 - if (ObjectUtils.isNotEmpty(bizFrameByte)) { - bizFrameByte.resetReaderIndex(); + if (StringUtils.isNotEmpty(bizDataStr) && StringUtils.isNotEmpty(headFrame) && StringUtils.isNotEmpty(tail)) { + frameStructMap=new HashMap<>(); + ByteBuf headFrameByte = ByteBufAllocator.DEFAULT.buffer(); + headFrameByte.writeBytes(Hex.decode(headFrame)); + frameStructMap.put(BEFORE_BUSINESS_CONTENT, headFrameByte); + ByteBuf bizFrameByte = ByteBufAllocator.DEFAULT.buffer(); + bizFrameByte.writeBytes(Hex.decode(bizDataStr)); + frameStructMap.put(AROUND_BUSINESS_CONTENT, bizFrameByte); + ByteBuf tailFrameByte = ByteBufAllocator.DEFAULT.buffer(); + tailFrameByte.writeBytes(Hex.decode(tail)); + frameStructMap.put(AFTER_BUSINESS_CONTENT, tailFrameByte); this.singleObjects.put(CONTENT_FIELD_DS, bizFrameByte); + return bizFrameByte; } - return bizFrameByte; + log.debug("设置帧结构出错了...------------------------"); + return null; } /** diff --git a/sensorhub-support/src/main/java/com/casic/missiles/enums/FileNameEnums.java b/sensorhub-support/src/main/java/com/casic/missiles/enums/FileNameEnums.java index 6243a7a..bb73d7d 100644 --- a/sensorhub-support/src/main/java/com/casic/missiles/enums/FileNameEnums.java +++ b/sensorhub-support/src/main/java/com/casic/missiles/enums/FileNameEnums.java @@ -8,7 +8,7 @@ FILE_NAMES(new HashMap() { { put(COMMERCIAL_GAS, "GT_BIR1000-APP_v1.1.bin"); - put(PRESSURE, "BIRMM-P1000N-APP_v1.1.bin"); + put(PRESSURE, "BIRMM-P1000N-APP_v1.2.bin"); } }); diff --git a/sensorhub-core/src/main/java/com/casic/missiles/parser/matcher/impl/FrameMarkMatcher.java b/sensorhub-core/src/main/java/com/casic/missiles/parser/matcher/impl/FrameMarkMatcher.java index 446485b..f8a0f1a 100644 --- a/sensorhub-core/src/main/java/com/casic/missiles/parser/matcher/impl/FrameMarkMatcher.java +++ b/sensorhub-core/src/main/java/com/casic/missiles/parser/matcher/impl/FrameMarkMatcher.java @@ -116,7 +116,7 @@ bizFrameStr += plainText; } } - ByteBuf bizFrameByte = protocolFactory.getProtocolFieldConfigProvider().setDataContentBuf(bizFrameStr); + ByteBuf bizFrameByte = protocolFactory.getProtocolFieldConfigProvider().setDataContentBuf(bizFrameStr,headFrame,tail); //增加头 mergeWholeFrameByte.writeBytes(Hex.decode(headFrame)); //增加业务内容 diff --git a/sensorhub-core/src/main/java/com/casic/missiles/provider/ProtocolFieldConfigProvider.java b/sensorhub-core/src/main/java/com/casic/missiles/provider/ProtocolFieldConfigProvider.java index 2c38e91..68aca0e 100644 --- a/sensorhub-core/src/main/java/com/casic/missiles/provider/ProtocolFieldConfigProvider.java +++ b/sensorhub-core/src/main/java/com/casic/missiles/provider/ProtocolFieldConfigProvider.java @@ -3,6 +3,7 @@ import com.baomidou.mybatisplus.core.toolkit.CollectionUtils; import com.baomidou.mybatisplus.core.toolkit.ObjectUtils; +import com.baomidou.mybatisplus.core.toolkit.StringUtils; import com.casic.missiles.enums.FrameStructEnum; import com.casic.missiles.parser.resolver.FieldParser; import com.casic.missiles.parser.resolver.fields.DefaultProtocolFieldParser; @@ -260,7 +261,6 @@ } - /** * 获取协议有关字段解析内容 * storeObjectMap存储代转存的数据 @@ -287,17 +287,25 @@ return null; } - public ByteBuf setDataContentBuf(String bizDataStr) { - log.debug("业务内容----------"+bizDataStr); - byte[] bizDataBytes = Hex.decode(bizDataStr); - ByteBuf bizFrameByte = ByteBufAllocator.DEFAULT.buffer(); - bizFrameByte.writeBytes(bizDataBytes); + public ByteBuf setDataContentBuf(String bizDataStr, String headFrame, String tail) { + log.debug("业务内容----------" + bizDataStr); //获取缓存 - if (ObjectUtils.isNotEmpty(bizFrameByte)) { - bizFrameByte.resetReaderIndex(); + if (StringUtils.isNotEmpty(bizDataStr) && StringUtils.isNotEmpty(headFrame) && StringUtils.isNotEmpty(tail)) { + frameStructMap=new HashMap<>(); + ByteBuf headFrameByte = ByteBufAllocator.DEFAULT.buffer(); + headFrameByte.writeBytes(Hex.decode(headFrame)); + frameStructMap.put(BEFORE_BUSINESS_CONTENT, headFrameByte); + ByteBuf bizFrameByte = ByteBufAllocator.DEFAULT.buffer(); + bizFrameByte.writeBytes(Hex.decode(bizDataStr)); + frameStructMap.put(AROUND_BUSINESS_CONTENT, bizFrameByte); + ByteBuf tailFrameByte = ByteBufAllocator.DEFAULT.buffer(); + tailFrameByte.writeBytes(Hex.decode(tail)); + frameStructMap.put(AFTER_BUSINESS_CONTENT, tailFrameByte); this.singleObjects.put(CONTENT_FIELD_DS, bizFrameByte); + return bizFrameByte; } - return bizFrameByte; + log.debug("设置帧结构出错了...------------------------"); + return null; } /** diff --git a/sensorhub-support/src/main/java/com/casic/missiles/enums/FileNameEnums.java b/sensorhub-support/src/main/java/com/casic/missiles/enums/FileNameEnums.java index 6243a7a..bb73d7d 100644 --- a/sensorhub-support/src/main/java/com/casic/missiles/enums/FileNameEnums.java +++ b/sensorhub-support/src/main/java/com/casic/missiles/enums/FileNameEnums.java @@ -8,7 +8,7 @@ FILE_NAMES(new HashMap() { { put(COMMERCIAL_GAS, "GT_BIR1000-APP_v1.1.bin"); - put(PRESSURE, "BIRMM-P1000N-APP_v1.1.bin"); + put(PRESSURE, "BIRMM-P1000N-APP_v1.2.bin"); } }); diff --git a/sensorhub-support/src/main/java/com/casic/missiles/enums/FileNames.java b/sensorhub-support/src/main/java/com/casic/missiles/enums/FileNames.java index e278eca..677d47e 100644 --- a/sensorhub-support/src/main/java/com/casic/missiles/enums/FileNames.java +++ b/sensorhub-support/src/main/java/com/casic/missiles/enums/FileNames.java @@ -2,8 +2,8 @@ public interface FileNames { - String COMMERCIAL_GAS = "31"; + String COMMERCIAL_GAS = "32"; - String PRESSURE = "32"; + String PRESSURE = "31"; }