MessageBase.cs 1.3 KB

123456789101112131415161718192021222324252627282930313233343536373839404142
  1. using Edge.Core.Parser.BinaryParser.Attributes;
  2. using Edge.Core.Parser.BinaryParser.MessageEntity;
  3. using System;
  4. using System.Collections.Generic;
  5. using System.Text;
  6. namespace Censtar_31064V105OrV106_Pump.MessageEntity
  7. {
  8. public abstract class MessageBase : MessageTemplateBase
  9. {
  10. /// <summary>
  11. /// 同步头
  12. /// 所有命令和应答均以 3 个 0FCH 为同步头
  13. /// </summary>
  14. [EnumerableFormat(3, -1000)]
  15. public List<byte> SyncHeader
  16. {
  17. get { return new List<byte>() { 0xFC, 0xFC, 0xFC }; }
  18. set { }
  19. }
  20. /// <summary>
  21. /// 命令
  22. /// </summary>
  23. [Format(1, EncodingType.BIN, -990)]
  24. public virtual byte Cmd { get; set; }
  25. /// <summary>
  26. /// 枪号
  27. /// 1 Byte 从 1 开始
  28. /// </summary>
  29. [Format(1, EncodingType.BIN, -980)]
  30. public virtual byte NozzleNumber { get; set; }
  31. /// <summary>
  32. /// for Model V105, 校验和: 1 Byte。为命令、枪号、数据字节的异或值。
  33. /// for Model V106, 校验和: 2Byte。为命令、枪号、数据字节的 CRC 值。
  34. /// </summary>
  35. [EnumerableFormat("%cascade", 9900)]
  36. public virtual List<byte> CheckSum { get; set; }
  37. }
  38. }