SetPumpConfigRequest.cs 1.4 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152
  1. using Edge.Core.Parser.BinaryParser.Attributes;
  2. using System;
  3. using System.Collections.Generic;
  4. using System.Linq;
  5. using System.Text;
  6. namespace ZhongSheng_NonIC_Pump
  7. {
  8. /// <summary>
  9. /// PC 发送参数信息字符串给油机
  10. /// </summary>
  11. public class SetPumpConfigRequest : MessageTemplateBase
  12. {
  13. public enum ParameterTableTypeEnum
  14. {
  15. TableA = 0x01,
  16. TableB = 0x02,
  17. TableC = 0x03,
  18. }
  19. [Format(1, EncodingType.BIN, 1)]
  20. public byte Parameter => 0x01;
  21. [Format(1, EncodingType.BIN, 2)]
  22. public ParameterTableTypeEnum 参数列表类型 { get; set; }
  23. [EnumerableFormat("%cascade", 3)]
  24. public List<NozzleConfig> NozzleConfigs { get; set; }
  25. public SetPumpConfigRequest(ParameterTableTypeEnum paramTable, IEnumerable<NozzleConfig> nozzleConfigs)
  26. {
  27. base.CommandCode = 0x52;
  28. this.参数列表类型 = paramTable;
  29. this.NozzleConfigs = nozzleConfigs.ToList();
  30. }
  31. }
  32. public class NozzleConfig
  33. {
  34. /// <summary>
  35. /// 枪号为以整个加油站油枪为基础的油枪顺序编号
  36. /// </summary>
  37. [Format(1, EncodingType.BCD, 1)]
  38. public byte 枪号 { get; set; }
  39. /// <summary>
  40. /// 参数列表(5BCD)
  41. /// </summary>
  42. [Format(5, EncodingType.ASCII, 2)]
  43. public string 参数列表 { get; set; }
  44. }
  45. }