Nie możesz wybrać więcej, niż 25 tematów Tematy muszą się zaczynać od litery lub cyfry, mogą zawierać myślniki ('-') i mogą mieć do 35 znaków.

138 wiersze
5.9 KiB

  1. using JTNE.Protocol.Attributes;
  2. using JTNE.Protocol.Formatters.MessageBodyFormatters;
  3. using System;
  4. using System.Collections.Generic;
  5. using System.Text;
  6. namespace JTNE.Protocol.MessageBody
  7. {
  8. /// <summary>
  9. /// 参数设置
  10. /// </summary>
  11. public abstract class JTNE_0x81_Body
  12. {
  13. /// <summary>
  14. /// 车载终端本地存储时间周期,有效值范围:0~60 000(表示0ms~60 000ms)
  15. /// 最小计量单元:1ms
  16. /// 0xFF,0xFE表示异常,0xFF,0xFF表示无效
  17. /// </summary>
  18. public const byte JTNE_0x81_0x01_Type = 0x01;
  19. /// <summary>
  20. /// 正常时,信息上报时间周期,有效值范围:1~600(表示1s~600s)
  21. /// 最小计量单元:1s
  22. /// 0xFF,0xFE表示异常,0xFF,0xFF表示无效
  23. /// </summary>
  24. public const byte JTNE_0x81_0x02_Type = 0x02;
  25. /// <summary>
  26. /// 出现报警时,信息上报时间周期,有效值范围:0~60 000(表示0ms~60 000ms)
  27. /// 最小计量单元:1ms
  28. /// 0xFF,0xFE表示异常,0xFF,0xFF表示无效
  29. /// </summary>
  30. public const byte JTNE_0x81_0x03_Type = 0x03;
  31. /// <summary>
  32. /// 远程服务和管理平台域名长度M
  33. /// </summary>
  34. public const byte JTNE_0x81_0x04_Type = 0x04;
  35. /// <summary>
  36. /// 远程服务和管理平台域名
  37. /// </summary>
  38. public const byte JTNE_0x81_0x05_Type = 0x05;
  39. /// <summary>
  40. /// 远程服务和管理平台端口,有效值范围:0~65531
  41. /// 0xFF,0xFE表示异常,0xFF,0xFF表示无效
  42. /// </summary>
  43. public const byte JTNE_0x81_0x06_Type = 0x06;
  44. /// <summary>
  45. /// 硬件版本,车载终端厂商自行定义
  46. /// </summary>
  47. public const byte JTNE_0x81_0x07_Type = 0x07;
  48. /// <summary>
  49. /// 固件版本,车载终端厂商自行定义
  50. /// </summary>
  51. public const byte JTNE_0x81_0x08_Type = 0x08;
  52. /// <summary>
  53. /// 车载终端心跳发送周期,有效值范围:1~240(表示1s~240s)
  54. /// 最小计量单元:1s
  55. /// 0xFE表示异常,0xFF表示无效
  56. /// </summary>
  57. public const byte JTNE_0x81_0x09_Type = 0x09;
  58. /// <summary>
  59. /// 终端应答超时时间,有效值范围:1~600(表示1s~600s)
  60. /// 最小计量单元:1s
  61. /// 0xFF,0xFE表示异常,0xFF,0xFF表示无效
  62. /// </summary>
  63. public const byte JTNE_0x81_0x0A_Type = 0x0A;
  64. /// <summary>
  65. ///平台应答超时时间,有效值范围:1~600(表示1s~600s)
  66. /// 最小计量单元:1s
  67. /// 0xFF,0xFE表示异常,0xFF,0xFF表示无效
  68. /// </summary>
  69. public const byte JTNE_0x81_0x0B_Type = 0x0B;
  70. /// <summary>
  71. /// 连续三次登入失败后,到下一次登入的时间间隔。有效值范围:1~240(表示1min~240min)
  72. /// 最小计量单元:1min
  73. /// 0xFE表示异常,0xFF表示无效
  74. /// </summary>
  75. public const byte JTNE_0x81_0x0C_Type = 0x0C;
  76. /// <summary>
  77. /// 公共平台域名长度N
  78. /// </summary>
  79. public const byte JTNE_0x81_0x0D_Type = 0x0D;
  80. /// <summary>
  81. /// 公共平台域名
  82. /// </summary>
  83. public const byte JTNE_0x81_0x0E_Type = 0x0E;
  84. /// <summary>
  85. /// 公共平台端口,有效值访问:0~65531
  86. /// 0xFF,0xFE表示异常,0xFF,0xFF表示无效
  87. /// </summary>
  88. public const byte JTNE_0x81_0x0F_Type = 0x0F;
  89. /// <summary>
  90. /// 是否处于抽样监测中
  91. /// 0x01 表示是 0x02 表示否
  92. /// 0xFE表示异常,0xFF表示无效
  93. /// </summary>
  94. public const byte JTNE_0x81_0x10_Type = 0x10;
  95. internal static IDictionary<byte, Type> JTNE_0x81Method { get; private set; }
  96. /// <summary>
  97. /// A对象的长度,依赖于B对象的值 (数据长度为byte类型)
  98. /// </summary>
  99. internal static IDictionary<byte, byte> JTNE_0x81LengthOfADependOnValueOfB { get; private set; }
  100. /// <summary>
  101. /// 参数 ID
  102. /// </summary>
  103. public abstract byte ParamId { get; set; }
  104. /// <summary>
  105. /// 参数长度
  106. /// </summary>
  107. public abstract byte ParamLength { get; set; }
  108. static JTNE_0x81_Body()
  109. {
  110. JTNE_0x81Method = new Dictionary<byte, Type>();
  111. JTNE_0x81Method.Add(JTNE_0x81_0x01_Type, typeof(JTNE_0x81_0x01));
  112. JTNE_0x81Method.Add(JTNE_0x81_0x02_Type, typeof(JTNE_0x81_0x02));
  113. JTNE_0x81Method.Add(JTNE_0x81_0x03_Type, typeof(JTNE_0x81_0x03));
  114. JTNE_0x81Method.Add(JTNE_0x81_0x04_Type, typeof(JTNE_0x81_0x04));
  115. JTNE_0x81Method.Add(JTNE_0x81_0x05_Type, typeof(JTNE_0x81_0x05));
  116. JTNE_0x81Method.Add(JTNE_0x81_0x06_Type, typeof(JTNE_0x81_0x06));
  117. JTNE_0x81Method.Add(JTNE_0x81_0x07_Type, typeof(JTNE_0x81_0x07));
  118. JTNE_0x81Method.Add(JTNE_0x81_0x08_Type, typeof(JTNE_0x81_0x08));
  119. JTNE_0x81Method.Add(JTNE_0x81_0x09_Type, typeof(JTNE_0x81_0x09));
  120. JTNE_0x81Method.Add(JTNE_0x81_0x0A_Type, typeof(JTNE_0x81_0x0A));
  121. JTNE_0x81Method.Add(JTNE_0x81_0x0B_Type, typeof(JTNE_0x81_0x0B));
  122. JTNE_0x81Method.Add(JTNE_0x81_0x0C_Type, typeof(JTNE_0x81_0x0C));
  123. JTNE_0x81Method.Add(JTNE_0x81_0x0D_Type, typeof(JTNE_0x81_0x0D));
  124. JTNE_0x81Method.Add(JTNE_0x81_0x0E_Type, typeof(JTNE_0x81_0x0E));
  125. JTNE_0x81Method.Add(JTNE_0x81_0x0F_Type, typeof(JTNE_0x81_0x0F));
  126. JTNE_0x81Method.Add(JTNE_0x81_0x10_Type, typeof(JTNE_0x81_0x10));
  127. JTNE_0x81LengthOfADependOnValueOfB = new Dictionary<byte, byte>();
  128. JTNE_0x81LengthOfADependOnValueOfB.Add(JTNE_0x81_0x05_Type, JTNE_0x81_0x04_Type);
  129. JTNE_0x81LengthOfADependOnValueOfB.Add(JTNE_0x81_0x0E_Type, JTNE_0x81_0x0D_Type);
  130. }
  131. }
  132. }