1234567891011121314151617181920212223242526272829 |
- using Edge.Core.Parser.BinaryParser;
- using Edge.Core.Parser.BinaryParser.MessageEntity;
- using Edge.Core.Parser.BinaryParser.Util;
- using System.Linq;
- namespace PressureGage_3051
- {
- public class Parser : ParserBase
- {
- public Parser() : base(new MessageTemplateLookup()) { }
- public override byte[] Serialize(MessageTemplateBase message)
- {
- var bytesWithoutCrc16 = base.Serialize(message);
- var crc = bytesWithoutCrc16.CalculateModBusCrc();
- return bytesWithoutCrc16.Concat(crc).ToArray();
- }
- public override MessageTemplateBase Deserialize(byte[] rawData)
- {
- var pendingForCrcBytes = rawData.SkipLast(2).ToArray();
- var crcArray = rawData.Skip(pendingForCrcBytes.Length).ToArray();
- var crc = pendingForCrcBytes.CalculateModBusCrc();
- return base.Deserialize(pendingForCrcBytes);
- }
- }
- }
|