123456789101112131415161718192021222324252627282930313233343536 |
- using OPW_VaporRecoveryOnlineWatch_PressureGage.MessageEntity;
- using Edge.Core.Parser.BinaryParser;
- using Edge.Core.Parser.BinaryParser.MessageEntity;
- using Edge.Core.Parser.BinaryParser.Util;
- using System;
- using System.Collections.Generic;
- using System.Linq;
- using System.Text;
- using System.Threading.Tasks;
- namespace OPW_VaporRecoveryOnlineWatch_PressureGage
- {
- public class Parser : ParserBase
- {
- public Parser() : base(new MessageTemplateLookup()) { }
- public override byte[] Serialize(MessageTemplateBase message)
- {
- var msg = (message as PressureGageBaseMessage);
- //(message as PressureGageBaseMessage).CRC16 = new List<byte> { 0x00, 0x00 };
- var rawBytes = base.Serialize(message);
- // exclude last 2 bytes
- var pendingForCrcBytes = rawBytes.ToArray();
- var crc = pendingForCrcBytes.CalculateModBusCrc();
- return (pendingForCrcBytes
- .Concat(crc)).ToArray();
- }
- //public override MessageTemplateBase Deserialize(byte[] rawData)
- //{
- // //skip MsgStart and MsgTail
- // var reorg = rawData.Skip(1).Take(rawData.Length - 2);
- // return base.Deserialize(reorg.ToArray());
- //}
- }
- }
|