Przeglądaj źródła

1.兼容netstandard2.0库、降低c#语言特性的使用

2.修改Readme内容
tags/v2.6.2
smallchi(Koike) 2 lat temu
rodzic
commit
2bed8131ff
100 zmienionych plików z 1076 dodań i 23 usunięć
  1. +1
    -1
      README.en.md
  2. +1
    -1
      README.md
  3. +3
    -3
      src/Info.props
  4. +90
    -0
      src/JT808.Protocol.Extensions/JT808.Protocol.Extensions.JT1078/JT808.Protocol.Extensions.JT1078.xml
  5. +4
    -0
      src/JT808.Protocol.Extensions/JT808.Protocol.Extensions.JT1078/MessageBody/JT808_0x1003.cs
  6. +4
    -0
      src/JT808.Protocol.Extensions/JT808.Protocol.Extensions.JT1078/MessageBody/JT808_0x1005.cs
  7. +5
    -0
      src/JT808.Protocol.Extensions/JT808.Protocol.Extensions.JT1078/MessageBody/JT808_0x1205.cs
  8. +4
    -0
      src/JT808.Protocol.Extensions/JT808.Protocol.Extensions.JT1078/MessageBody/JT808_0x1206.cs
  9. +4
    -0
      src/JT808.Protocol.Extensions/JT808.Protocol.Extensions.JT1078/MessageBody/JT808_0x9101.cs
  10. +4
    -0
      src/JT808.Protocol.Extensions/JT808.Protocol.Extensions.JT1078/MessageBody/JT808_0x9102.cs
  11. +4
    -0
      src/JT808.Protocol.Extensions/JT808.Protocol.Extensions.JT1078/MessageBody/JT808_0x9105.cs
  12. +4
    -0
      src/JT808.Protocol.Extensions/JT808.Protocol.Extensions.JT1078/MessageBody/JT808_0x9201.cs
  13. +4
    -0
      src/JT808.Protocol.Extensions/JT808.Protocol.Extensions.JT1078/MessageBody/JT808_0x9202.cs
  14. +4
    -0
      src/JT808.Protocol.Extensions/JT808.Protocol.Extensions.JT1078/MessageBody/JT808_0x9205.cs
  15. +4
    -0
      src/JT808.Protocol.Extensions/JT808.Protocol.Extensions.JT1078/MessageBody/JT808_0x9206.cs
  16. +4
    -0
      src/JT808.Protocol.Extensions/JT808.Protocol.Extensions.JT1078/MessageBody/JT808_0x9207.cs
  17. +4
    -0
      src/JT808.Protocol.Extensions/JT808.Protocol.Extensions.JT1078/MessageBody/JT808_0x9301.cs
  18. +4
    -0
      src/JT808.Protocol.Extensions/JT808.Protocol.Extensions.JT1078/MessageBody/JT808_0x9302.cs
  19. +4
    -0
      src/JT808.Protocol.Extensions/JT808.Protocol.Extensions.JT1078/MessageBody/JT808_0x9303.cs
  20. +4
    -0
      src/JT808.Protocol.Extensions/JT808.Protocol.Extensions.JT1078/MessageBody/JT808_0x9304.cs
  21. +4
    -0
      src/JT808.Protocol.Extensions/JT808.Protocol.Extensions.JT1078/MessageBody/JT808_0x9305.cs
  22. +4
    -0
      src/JT808.Protocol.Extensions/JT808.Protocol.Extensions.JT1078/MessageBody/JT808_0x9306.cs
  23. +25
    -0
      src/JT808.Protocol.Extensions/JT808.Protocol.Extensions.SuBiao/JT808.Protocol.Extensions.SuBiao.xml
  24. +4
    -0
      src/JT808.Protocol.Extensions/JT808.Protocol.Extensions.SuBiao/MessageBody/JT808_0x1210.cs
  25. +4
    -0
      src/JT808.Protocol.Extensions/JT808.Protocol.Extensions.SuBiao/MessageBody/JT808_0x1211.cs
  26. +4
    -0
      src/JT808.Protocol.Extensions/JT808.Protocol.Extensions.SuBiao/MessageBody/JT808_0x1212.cs
  27. +4
    -0
      src/JT808.Protocol.Extensions/JT808.Protocol.Extensions.SuBiao/MessageBody/JT808_0x9208.cs
  28. +4
    -0
      src/JT808.Protocol.Extensions/JT808.Protocol.Extensions.SuBiao/MessageBody/JT808_0x9212.cs
  29. +30
    -0
      src/JT808.Protocol.Extensions/JT808.Protocol.Extensions.YueBiao/JT808.Protocol.Extensions.YueBiao.xml
  30. +4
    -0
      src/JT808.Protocol.Extensions/JT808.Protocol.Extensions.YueBiao/MessageBody/JT808_0x1210.cs
  31. +4
    -0
      src/JT808.Protocol.Extensions/JT808.Protocol.Extensions.YueBiao/MessageBody/JT808_0x1211.cs
  32. +4
    -0
      src/JT808.Protocol.Extensions/JT808.Protocol.Extensions.YueBiao/MessageBody/JT808_0x1212.cs
  33. +4
    -0
      src/JT808.Protocol.Extensions/JT808.Protocol.Extensions.YueBiao/MessageBody/JT808_0x1FC4.cs
  34. +4
    -0
      src/JT808.Protocol.Extensions/JT808.Protocol.Extensions.YueBiao/MessageBody/JT808_0x9208.cs
  35. +4
    -0
      src/JT808.Protocol.Extensions/JT808.Protocol.Extensions.YueBiao/MessageBody/JT808_0x9212.cs
  36. +1
    -1
      src/JT808.Protocol.Test/MessageBody/JT808_0x9999.cs
  37. +1
    -0
      src/JT808.Protocol.Test/Simples/Demo13.cs
  38. +2
    -0
      src/JT808.Protocol.Test/Simples/Demo6.cs
  39. +1
    -1
      src/JT808.Protocol.Test/Simples/Demo8.cs
  40. +1
    -1
      src/JT808.Protocol.sln
  41. +75
    -4
      src/JT808.Protocol/Extensions/JT808HexExtensions.cs
  42. +7
    -5
      src/JT808.Protocol/Internal/DefaultMerger.cs
  43. +12
    -1
      src/JT808.Protocol/JT808.Protocol.csproj
  44. +493
    -1
      src/JT808.Protocol/JT808.Protocol.xml
  45. +1
    -1
      src/JT808.Protocol/JT808Bodies.cs
  46. +1
    -1
      src/JT808.Protocol/JT808CarDVRDownBodies.cs
  47. +1
    -1
      src/JT808.Protocol/JT808CarDVRUpBodies.cs
  48. +4
    -0
      src/JT808.Protocol/MessageBody/CarDVR/JT808_CarDVR_Down_0x08.cs
  49. +4
    -0
      src/JT808.Protocol/MessageBody/CarDVR/JT808_CarDVR_Down_0x09.cs
  50. +4
    -0
      src/JT808.Protocol/MessageBody/CarDVR/JT808_CarDVR_Down_0x10.cs
  51. +4
    -0
      src/JT808.Protocol/MessageBody/CarDVR/JT808_CarDVR_Down_0x11.cs
  52. +4
    -0
      src/JT808.Protocol/MessageBody/CarDVR/JT808_CarDVR_Down_0x12.cs
  53. +4
    -0
      src/JT808.Protocol/MessageBody/CarDVR/JT808_CarDVR_Down_0x13.cs
  54. +4
    -0
      src/JT808.Protocol/MessageBody/CarDVR/JT808_CarDVR_Down_0x14.cs
  55. +4
    -0
      src/JT808.Protocol/MessageBody/CarDVR/JT808_CarDVR_Down_0x15.cs
  56. +4
    -0
      src/JT808.Protocol/MessageBody/CarDVR/JT808_CarDVR_Down_0x82.cs
  57. +4
    -0
      src/JT808.Protocol/MessageBody/CarDVR/JT808_CarDVR_Down_0x83.cs
  58. +4
    -0
      src/JT808.Protocol/MessageBody/CarDVR/JT808_CarDVR_Down_0x84.cs
  59. +4
    -0
      src/JT808.Protocol/MessageBody/CarDVR/JT808_CarDVR_Down_0xC2.cs
  60. +4
    -0
      src/JT808.Protocol/MessageBody/CarDVR/JT808_CarDVR_Down_0xC3.cs
  61. +4
    -0
      src/JT808.Protocol/MessageBody/CarDVR/JT808_CarDVR_Down_0xC4.cs
  62. +4
    -0
      src/JT808.Protocol/MessageBody/CarDVR/JT808_CarDVR_Down_0xE1.cs
  63. +4
    -0
      src/JT808.Protocol/MessageBody/CarDVR/JT808_CarDVR_Up_0x00.cs
  64. +4
    -0
      src/JT808.Protocol/MessageBody/CarDVR/JT808_CarDVR_Up_0x01.cs
  65. +4
    -0
      src/JT808.Protocol/MessageBody/CarDVR/JT808_CarDVR_Up_0x02.cs
  66. +4
    -0
      src/JT808.Protocol/MessageBody/CarDVR/JT808_CarDVR_Up_0x03.cs
  67. +4
    -0
      src/JT808.Protocol/MessageBody/CarDVR/JT808_CarDVR_Up_0x04.cs
  68. +4
    -0
      src/JT808.Protocol/MessageBody/CarDVR/JT808_CarDVR_Up_0x05.cs
  69. +4
    -0
      src/JT808.Protocol/MessageBody/CarDVR/JT808_CarDVR_Up_0x06.cs
  70. +4
    -0
      src/JT808.Protocol/MessageBody/CarDVR/JT808_CarDVR_Up_0x07.cs
  71. +4
    -0
      src/JT808.Protocol/MessageBody/CarDVR/JT808_CarDVR_Up_0x08.cs
  72. +4
    -0
      src/JT808.Protocol/MessageBody/CarDVR/JT808_CarDVR_Up_0x09.cs
  73. +4
    -0
      src/JT808.Protocol/MessageBody/CarDVR/JT808_CarDVR_Up_0x10.cs
  74. +4
    -0
      src/JT808.Protocol/MessageBody/CarDVR/JT808_CarDVR_Up_0x11.cs
  75. +4
    -0
      src/JT808.Protocol/MessageBody/CarDVR/JT808_CarDVR_Up_0x12.cs
  76. +4
    -0
      src/JT808.Protocol/MessageBody/CarDVR/JT808_CarDVR_Up_0x13.cs
  77. +4
    -0
      src/JT808.Protocol/MessageBody/CarDVR/JT808_CarDVR_Up_0x14.cs
  78. +4
    -0
      src/JT808.Protocol/MessageBody/CarDVR/JT808_CarDVR_Up_0x15.cs
  79. +4
    -0
      src/JT808.Protocol/MessageBody/JT808_0x0001.cs
  80. +4
    -0
      src/JT808.Protocol/MessageBody/JT808_0x0005.cs
  81. +4
    -0
      src/JT808.Protocol/MessageBody/JT808_0x0100.cs
  82. +4
    -0
      src/JT808.Protocol/MessageBody/JT808_0x0102.cs
  83. +4
    -0
      src/JT808.Protocol/MessageBody/JT808_0x0104.cs
  84. +4
    -0
      src/JT808.Protocol/MessageBody/JT808_0x0107.cs
  85. +4
    -0
      src/JT808.Protocol/MessageBody/JT808_0x0108.cs
  86. +5
    -1
      src/JT808.Protocol/MessageBody/JT808_0x0200.cs
  87. +4
    -0
      src/JT808.Protocol/MessageBody/JT808_0x0201.cs
  88. +4
    -0
      src/JT808.Protocol/MessageBody/JT808_0x0301.cs
  89. +4
    -0
      src/JT808.Protocol/MessageBody/JT808_0x0302.cs
  90. +4
    -0
      src/JT808.Protocol/MessageBody/JT808_0x0303.cs
  91. +4
    -0
      src/JT808.Protocol/MessageBody/JT808_0x0500.cs
  92. +4
    -0
      src/JT808.Protocol/MessageBody/JT808_0x0608.cs
  93. +4
    -0
      src/JT808.Protocol/MessageBody/JT808_0x0700.cs
  94. +4
    -0
      src/JT808.Protocol/MessageBody/JT808_0x0701.cs
  95. +4
    -0
      src/JT808.Protocol/MessageBody/JT808_0x0702.cs
  96. +4
    -0
      src/JT808.Protocol/MessageBody/JT808_0x0704.cs
  97. +4
    -0
      src/JT808.Protocol/MessageBody/JT808_0x0705.cs
  98. +4
    -0
      src/JT808.Protocol/MessageBody/JT808_0x0800.cs
  99. +4
    -0
      src/JT808.Protocol/MessageBody/JT808_0x0801.cs
  100. +4
    -0
      src/JT808.Protocol/MessageBody/JT808_0x0802.cs

+ 1
- 1
README.en.md Wyświetl plik

@@ -64,7 +64,7 @@ JT808Package jT808Package = new JT808Package();

jT808Package.Header = new JT808Header
{
MsgId = Enums.JT808MsgId._0x0200,
MsgId = (ushort)JT808.Protocol.Enums.JT808MsgId._0x0200,
ManualMsgNum = 126,
TerminalPhoneNo = "123456789012"
};


+ 1
- 1
README.md Wyświetl plik

@@ -64,7 +64,7 @@ JT808Package jT808Package = new JT808Package();

jT808Package.Header = new JT808Header
{
MsgId = Enums.JT808MsgId._0x0200,
MsgId = (ushort)JT808.Protocol.Enums.JT808MsgId._0x0200,
ManualMsgNum = 126,
TerminalPhoneNo = "123456789012"
};


+ 3
- 3
src/Info.props Wyświetl plik

@@ -1,14 +1,14 @@
<Project>
<PropertyGroup>
<TargetFrameworks>net7.0;</TargetFrameworks>
<LangVersion>11.0</LangVersion>
<TargetFrameworks>net7.0;netstandard2.0;</TargetFrameworks>
<LangVersion>latest</LangVersion>
<Copyright>Copyright 2018.</Copyright>
<Authors>SmallChi(Koike)</Authors>
<RepositoryUrl>https://github.com/SmallChi/JT808</RepositoryUrl>
<PackageProjectUrl>https://github.com/SmallChi/JT808</PackageProjectUrl>
<licenseUrl>https://github.com/SmallChi/JT808/blob/master/LICENSE</licenseUrl>
<license>https://github.com/SmallChi/JT808/blob/master/LICENSE</license>
<Version>2.6.1</Version>
<Version>2.6.2-preview4</Version>
<ImplicitUsings>enable</ImplicitUsings>
<PackageLicenseFile>LICENSE</PackageLicenseFile>
<PackageRequireLicenseAcceptance>true</PackageRequireLicenseAcceptance>


+ 90
- 0
src/JT808.Protocol.Extensions/JT808.Protocol.Extensions.JT1078/JT808.Protocol.Extensions.JT1078.xml Wyświetl plik

@@ -554,6 +554,11 @@
</summary>
</member>
<member name="P:JT808.Protocol.Extensions.JT1078.MessageBody.JT808_0x1003.SkipSerialization">
<summary>
</summary>
</member>
<member name="P:JT808.Protocol.Extensions.JT1078.MessageBody.JT808_0x1003.Description">
<summary>
@@ -593,6 +598,11 @@
</summary>
</member>
<member name="P:JT808.Protocol.Extensions.JT1078.MessageBody.JT808_0x1005.SkipSerialization">
<summary>
</summary>
</member>
<member name="P:JT808.Protocol.Extensions.JT1078.MessageBody.JT808_0x1005.MsgId">
<summary>
@@ -657,6 +667,11 @@
</summary>
</member>
<member name="P:JT808.Protocol.Extensions.JT1078.MessageBody.JT808_0x1205.SkipSerialization">
<summary>
</summary>
</member>
<member name="P:JT808.Protocol.Extensions.JT1078.MessageBody.JT808_0x1205.MsgNum">
<summary>
流水号
@@ -775,6 +790,11 @@
</summary>
</member>
<member name="P:JT808.Protocol.Extensions.JT1078.MessageBody.JT808_0x1206.SkipSerialization">
<summary>
</summary>
</member>
<member name="P:JT808.Protocol.Extensions.JT1078.MessageBody.JT808_0x1206.MsgId">
<summary>
@@ -1536,6 +1556,11 @@
实时音视频传输请求
</summary>
</member>
<member name="P:JT808.Protocol.Extensions.JT1078.MessageBody.JT808_0x9101.SkipSerialization">
<summary>
</summary>
</member>
<member name="P:JT808.Protocol.Extensions.JT1078.MessageBody.JT808_0x9101.MsgId">
<summary>
0x9101
@@ -1618,6 +1643,11 @@
音视频实时传输控制
</summary>
</member>
<member name="P:JT808.Protocol.Extensions.JT1078.MessageBody.JT808_0x9102.SkipSerialization">
<summary>
</summary>
</member>
<member name="P:JT808.Protocol.Extensions.JT1078.MessageBody.JT808_0x9102.MsgId">
<summary>
0x9102
@@ -1690,6 +1720,11 @@
实时音视频传输状态通知
</summary>
</member>
<member name="P:JT808.Protocol.Extensions.JT1078.MessageBody.JT808_0x9105.SkipSerialization">
<summary>
</summary>
</member>
<member name="P:JT808.Protocol.Extensions.JT1078.MessageBody.JT808_0x9105.MsgId">
<summary>
0x9105
@@ -1740,6 +1775,11 @@
平台下发远程录像回放请求
</summary>
</member>
<member name="P:JT808.Protocol.Extensions.JT1078.MessageBody.JT808_0x9201.SkipSerialization">
<summary>
</summary>
</member>
<member name="P:JT808.Protocol.Extensions.JT1078.MessageBody.JT808_0x9201.MsgId">
<summary>
0x9201
@@ -1861,6 +1901,11 @@
平台下发远程录像回放控制
</summary>
</member>
<member name="P:JT808.Protocol.Extensions.JT1078.MessageBody.JT808_0x9202.SkipSerialization">
<summary>
</summary>
</member>
<member name="P:JT808.Protocol.Extensions.JT1078.MessageBody.JT808_0x9202.MsgId">
<summary>
0x9202
@@ -1933,6 +1978,11 @@
查询资源列表
</summary>
</member>
<member name="P:JT808.Protocol.Extensions.JT1078.MessageBody.JT808_0x9205.SkipSerialization">
<summary>
</summary>
</member>
<member name="P:JT808.Protocol.Extensions.JT1078.MessageBody.JT808_0x9205.MsgId">
<summary>
0x9205
@@ -2017,6 +2067,11 @@
文件上传指令
</summary>
</member>
<member name="P:JT808.Protocol.Extensions.JT1078.MessageBody.JT808_0x9206.SkipSerialization">
<summary>
</summary>
</member>
<member name="P:JT808.Protocol.Extensions.JT1078.MessageBody.JT808_0x9206.MsgId">
<summary>
0x9206
@@ -2141,6 +2196,11 @@
文件上传控制
</summary>
</member>
<member name="P:JT808.Protocol.Extensions.JT1078.MessageBody.JT808_0x9207.SkipSerialization">
<summary>
</summary>
</member>
<member name="P:JT808.Protocol.Extensions.JT1078.MessageBody.JT808_0x9207.MsgId">
<summary>
0x9207
@@ -2190,6 +2250,11 @@
云台旋转
</summary>
</member>
<member name="P:JT808.Protocol.Extensions.JT1078.MessageBody.JT808_0x9301.SkipSerialization">
<summary>
</summary>
</member>
<member name="P:JT808.Protocol.Extensions.JT1078.MessageBody.JT808_0x9301.MsgId">
<summary>
0x9301
@@ -2250,6 +2315,11 @@
云台调整焦距控制
</summary>
</member>
<member name="P:JT808.Protocol.Extensions.JT1078.MessageBody.JT808_0x9302.SkipSerialization">
<summary>
</summary>
</member>
<member name="P:JT808.Protocol.Extensions.JT1078.MessageBody.JT808_0x9302.MsgId">
<summary>
0x9302
@@ -2299,6 +2369,11 @@
云台调整光圈控制
</summary>
</member>
<member name="P:JT808.Protocol.Extensions.JT1078.MessageBody.JT808_0x9303.SkipSerialization">
<summary>
</summary>
</member>
<member name="P:JT808.Protocol.Extensions.JT1078.MessageBody.JT808_0x9303.MsgId">
<summary>
0x9303
@@ -2348,6 +2423,11 @@
云台雨刷控制
</summary>
</member>
<member name="P:JT808.Protocol.Extensions.JT1078.MessageBody.JT808_0x9304.SkipSerialization">
<summary>
</summary>
</member>
<member name="P:JT808.Protocol.Extensions.JT1078.MessageBody.JT808_0x9304.MsgId">
<summary>
0x9304
@@ -2397,6 +2477,11 @@
红外补光控制
</summary>
</member>
<member name="P:JT808.Protocol.Extensions.JT1078.MessageBody.JT808_0x9305.SkipSerialization">
<summary>
</summary>
</member>
<member name="P:JT808.Protocol.Extensions.JT1078.MessageBody.JT808_0x9305.MsgId">
<summary>
0x9305
@@ -2447,6 +2532,11 @@
云台变倍控制
</summary>
</member>
<member name="P:JT808.Protocol.Extensions.JT1078.MessageBody.JT808_0x9306.SkipSerialization">
<summary>
</summary>
</member>
<member name="P:JT808.Protocol.Extensions.JT1078.MessageBody.JT808_0x9306.MsgId">
<summary>
0x9306


+ 4
- 0
src/JT808.Protocol.Extensions/JT808.Protocol.Extensions.JT1078/MessageBody/JT808_0x1003.cs Wyświetl plik

@@ -56,6 +56,10 @@ namespace JT808.Protocol.Extensions.JT1078.MessageBody
/// <summary>
///
/// </summary>
public bool SkipSerialization => false;
/// <summary>
///
/// </summary>
public string Description => "终端上传音视频属性";
/// <summary>
///


+ 4
- 0
src/JT808.Protocol.Extensions/JT808.Protocol.Extensions.JT1078/MessageBody/JT808_0x1005.cs Wyświetl plik

@@ -20,6 +20,10 @@ namespace JT808.Protocol.Extensions.JT1078.MessageBody
/// <summary>
///
/// </summary>
public bool SkipSerialization => false;
/// <summary>
///
/// </summary>
public ushort MsgId => 0x1005;
/// <summary>
/// 起始时间


+ 5
- 0
src/JT808.Protocol.Extensions/JT808.Protocol.Extensions.JT1078/MessageBody/JT808_0x1205.cs Wyświetl plik

@@ -23,6 +23,10 @@ namespace JT808.Protocol.Extensions.JT1078.MessageBody
/// </summary>
public ushort MsgId => 0x1205;
/// <summary>
///
/// </summary>
public bool SkipSerialization => false;
/// <summary>
/// 流水号
/// </summary>
public ushort MsgNum { get; set; }
@@ -34,6 +38,7 @@ namespace JT808.Protocol.Extensions.JT1078.MessageBody
/// 音视频资源列表
/// </summary>
public List<JT808_0x1205_AVResouce> AVResouces { get; set; }

/// <summary>
///
/// </summary>


+ 4
- 0
src/JT808.Protocol.Extensions/JT808.Protocol.Extensions.JT1078/MessageBody/JT808_0x1206.cs Wyświetl plik

@@ -20,6 +20,10 @@ namespace JT808.Protocol.Extensions.JT1078.MessageBody
/// <summary>
///
/// </summary>
public bool SkipSerialization => false;
/// <summary>
///
/// </summary>
public ushort MsgId => 0x1206;
/// <summary>
/// 流水号


+ 4
- 0
src/JT808.Protocol.Extensions/JT808.Protocol.Extensions.JT1078/MessageBody/JT808_0x9101.cs Wyświetl plik

@@ -18,6 +18,10 @@ namespace JT808.Protocol.Extensions.JT1078.MessageBody
/// </summary>
public string Description => "实时音视频传输请求";
/// <summary>
///
/// </summary>
public bool SkipSerialization => false;
/// <summary>
/// 0x9101
/// </summary>
public ushort MsgId => 0x9101;


+ 4
- 0
src/JT808.Protocol.Extensions/JT808.Protocol.Extensions.JT1078/MessageBody/JT808_0x9102.cs Wyświetl plik

@@ -18,6 +18,10 @@ namespace JT808.Protocol.Extensions.JT1078.MessageBody
/// </summary>
public string Description => "音视频实时传输控制";
/// <summary>
///
/// </summary>
public bool SkipSerialization => false;
/// <summary>
/// 0x9102
/// </summary>
public ushort MsgId => 0x9102;


+ 4
- 0
src/JT808.Protocol.Extensions/JT808.Protocol.Extensions.JT1078/MessageBody/JT808_0x9105.cs Wyświetl plik

@@ -18,6 +18,10 @@ namespace JT808.Protocol.Extensions.JT1078.MessageBody
/// </summary>
public string Description => "实时音视频传输状态通知";
/// <summary>
///
/// </summary>
public bool SkipSerialization => false;
/// <summary>
/// 0x9105
/// </summary>
public ushort MsgId => 0x9105;


+ 4
- 0
src/JT808.Protocol.Extensions/JT808.Protocol.Extensions.JT1078/MessageBody/JT808_0x9201.cs Wyświetl plik

@@ -18,6 +18,10 @@ namespace JT808.Protocol.Extensions.JT1078.MessageBody
/// </summary>
public string Description => "平台下发远程录像回放请求";
/// <summary>
///
/// </summary>
public bool SkipSerialization => false;
/// <summary>
/// 0x9201
/// </summary>
public ushort MsgId => 0x9201;


+ 4
- 0
src/JT808.Protocol.Extensions/JT808.Protocol.Extensions.JT1078/MessageBody/JT808_0x9202.cs Wyświetl plik

@@ -18,6 +18,10 @@ namespace JT808.Protocol.Extensions.JT1078.MessageBody
/// </summary>
public string Description => "平台下发远程录像回放控制";
/// <summary>
///
/// </summary>
public bool SkipSerialization => false;
/// <summary>
/// 0x9202
/// </summary>
public ushort MsgId => 0x9202;


+ 4
- 0
src/JT808.Protocol.Extensions/JT808.Protocol.Extensions.JT1078/MessageBody/JT808_0x9205.cs Wyświetl plik

@@ -17,6 +17,10 @@ namespace JT808.Protocol.Extensions.JT1078.MessageBody
/// 查询资源列表
/// </summary>
public string Description => "查询资源列表";
/// <summary>
///
/// </summary>
public bool SkipSerialization => false;
/// <summary>
/// 0x9205
/// </summary>


+ 4
- 0
src/JT808.Protocol.Extensions/JT808.Protocol.Extensions.JT1078/MessageBody/JT808_0x9206.cs Wyświetl plik

@@ -18,6 +18,10 @@ namespace JT808.Protocol.Extensions.JT1078.MessageBody
/// </summary>
public string Description => "文件上传指令";
/// <summary>
///
/// </summary>
public bool SkipSerialization => false;
/// <summary>
/// 0x9206
/// </summary>
public ushort MsgId => 0x9206;


+ 4
- 0
src/JT808.Protocol.Extensions/JT808.Protocol.Extensions.JT1078/MessageBody/JT808_0x9207.cs Wyświetl plik

@@ -18,6 +18,10 @@ namespace JT808.Protocol.Extensions.JT1078.MessageBody
/// </summary>
public string Description => "文件上传控制";
/// <summary>
///
/// </summary>
public bool SkipSerialization => false;
/// <summary>
/// 0x9207
/// </summary>
public ushort MsgId => 0x9207;


+ 4
- 0
src/JT808.Protocol.Extensions/JT808.Protocol.Extensions.JT1078/MessageBody/JT808_0x9301.cs Wyświetl plik

@@ -18,6 +18,10 @@ namespace JT808.Protocol.Extensions.JT1078.MessageBody
/// </summary>
public string Description => "云台旋转";
/// <summary>
///
/// </summary>
public bool SkipSerialization => false;
/// <summary>
/// 0x9301
/// </summary>
public ushort MsgId => 0x9301;


+ 4
- 0
src/JT808.Protocol.Extensions/JT808.Protocol.Extensions.JT1078/MessageBody/JT808_0x9302.cs Wyświetl plik

@@ -18,6 +18,10 @@ namespace JT808.Protocol.Extensions.JT1078.MessageBody
/// </summary>
public string Description => "云台调整焦距控制";
/// <summary>
///
/// </summary>
public bool SkipSerialization => false;
/// <summary>
/// 0x9302
/// </summary>
public ushort MsgId => 0x9302;


+ 4
- 0
src/JT808.Protocol.Extensions/JT808.Protocol.Extensions.JT1078/MessageBody/JT808_0x9303.cs Wyświetl plik

@@ -18,6 +18,10 @@ namespace JT808.Protocol.Extensions.JT1078.MessageBody
/// </summary>
public string Description => "云台调整光圈控制";
/// <summary>
///
/// </summary>
public bool SkipSerialization => false;
/// <summary>
/// 0x9303
/// </summary>
public ushort MsgId => 0x9303;


+ 4
- 0
src/JT808.Protocol.Extensions/JT808.Protocol.Extensions.JT1078/MessageBody/JT808_0x9304.cs Wyświetl plik

@@ -18,6 +18,10 @@ namespace JT808.Protocol.Extensions.JT1078.MessageBody
/// </summary>
public string Description => "云台雨刷控制";
/// <summary>
///
/// </summary>
public bool SkipSerialization => false;
/// <summary>
/// 0x9304
/// </summary>
public ushort MsgId => 0x9304;


+ 4
- 0
src/JT808.Protocol.Extensions/JT808.Protocol.Extensions.JT1078/MessageBody/JT808_0x9305.cs Wyświetl plik

@@ -18,6 +18,10 @@ namespace JT808.Protocol.Extensions.JT1078.MessageBody
/// </summary>
public string Description => "红外补光控制";
/// <summary>
///
/// </summary>
public bool SkipSerialization => false;
/// <summary>
/// 0x9305
/// </summary>
public ushort MsgId => 0x9305;


+ 4
- 0
src/JT808.Protocol.Extensions/JT808.Protocol.Extensions.JT1078/MessageBody/JT808_0x9306.cs Wyświetl plik

@@ -18,6 +18,10 @@ namespace JT808.Protocol.Extensions.JT1078.MessageBody
/// </summary>
public string Description => "云台变倍控制";
/// <summary>
///
/// </summary>
public bool SkipSerialization => false;
/// <summary>
/// 0x9306
/// </summary>
public ushort MsgId => 0x9306;


+ 25
- 0
src/JT808.Protocol.Extensions/JT808.Protocol.Extensions.SuBiao/JT808.Protocol.Extensions.SuBiao.xml Wyświetl plik

@@ -860,6 +860,11 @@
报警附件信息消息
</summary>
</member>
<member name="P:JT808.Protocol.Extensions.SuBiao.MessageBody.JT808_0x1210.SkipSerialization">
<summary>
</summary>
</member>
<member name="M:JT808.Protocol.Extensions.SuBiao.MessageBody.JT808_0x1210.Analyze(JT808.Protocol.MessagePack.JT808MessagePackReader@,System.Text.Json.Utf8JsonWriter,JT808.Protocol.IJT808Config)">
<summary>
@@ -920,6 +925,11 @@
文件信息上传Id
</summary>
</member>
<member name="P:JT808.Protocol.Extensions.SuBiao.MessageBody.JT808_0x1211.SkipSerialization">
<summary>
</summary>
</member>
<member name="M:JT808.Protocol.Extensions.SuBiao.MessageBody.JT808_0x1211.Analyze(JT808.Protocol.MessagePack.JT808MessagePackReader@,System.Text.Json.Utf8JsonWriter,JT808.Protocol.IJT808Config)">
<summary>
@@ -954,6 +964,11 @@
文件上传完成消息
</summary>
</member>
<member name="P:JT808.Protocol.Extensions.SuBiao.MessageBody.JT808_0x1212.SkipSerialization">
<summary>
</summary>
</member>
<member name="P:JT808.Protocol.Extensions.SuBiao.MessageBody.JT808_0x1212.FileNameLength">
<summary>
文件名称长度
@@ -1740,6 +1755,11 @@
Description
</summary>
</member>
<member name="P:JT808.Protocol.Extensions.SuBiao.MessageBody.JT808_0x9208.SkipSerialization">
<summary>
</summary>
</member>
<member name="P:JT808.Protocol.Extensions.SuBiao.MessageBody.JT808_0x9208.AttachmentServerIPLength">
<summary>
服务IP地址长度
@@ -1815,6 +1835,11 @@
文件上传完成消息应答
</summary>
</member>
<member name="P:JT808.Protocol.Extensions.SuBiao.MessageBody.JT808_0x9212.SkipSerialization">
<summary>
</summary>
</member>
<member name="P:JT808.Protocol.Extensions.SuBiao.MessageBody.JT808_0x9212.FileNameLength">
<summary>
文件名称长度


+ 4
- 0
src/JT808.Protocol.Extensions/JT808.Protocol.Extensions.SuBiao/MessageBody/JT808_0x1210.cs Wyświetl plik

@@ -53,6 +53,10 @@ namespace JT808.Protocol.Extensions.SuBiao.MessageBody
/// <summary>
///
/// </summary>
public bool SkipSerialization => false;
/// <summary>
///
/// </summary>
/// <param name="reader"></param>
/// <param name="writer"></param>
/// <param name="config"></param>


+ 4
- 0
src/JT808.Protocol.Extensions/JT808.Protocol.Extensions.SuBiao/MessageBody/JT808_0x1211.cs Wyświetl plik

@@ -38,6 +38,10 @@ namespace JT808.Protocol.Extensions.SuBiao.MessageBody
/// <summary>
///
/// </summary>
public bool SkipSerialization => false;
/// <summary>
///
/// </summary>
/// <param name="reader"></param>
/// <param name="writer"></param>
/// <param name="config"></param>


+ 4
- 0
src/JT808.Protocol.Extensions/JT808.Protocol.Extensions.SuBiao/MessageBody/JT808_0x1212.cs Wyświetl plik

@@ -15,6 +15,10 @@ namespace JT808.Protocol.Extensions.SuBiao.MessageBody
/// </summary>
public string Description => "文件上传完成消息";
/// <summary>
///
/// </summary>
public bool SkipSerialization => false;
/// <summary>
/// 文件名称长度
/// </summary>
public byte FileNameLength { get; set; }


+ 4
- 0
src/JT808.Protocol.Extensions/JT808.Protocol.Extensions.SuBiao/MessageBody/JT808_0x9208.cs Wyświetl plik

@@ -17,6 +17,10 @@ namespace JT808.Protocol.Extensions.SuBiao.MessageBody
/// </summary>
public string Description => "报警附件上传指令";
/// <summary>
///
/// </summary>
public bool SkipSerialization => false;
/// <summary>
/// 服务IP地址长度
/// </summary>
public byte AttachmentServerIPLength { get; set; }


+ 4
- 0
src/JT808.Protocol.Extensions/JT808.Protocol.Extensions.SuBiao/MessageBody/JT808_0x9212.cs Wyświetl plik

@@ -17,6 +17,10 @@ namespace JT808.Protocol.Extensions.SuBiao.MessageBody
/// </summary>
public string Description => "文件上传完成消息应答";
/// <summary>
///
/// </summary>
public bool SkipSerialization => false;
/// <summary>
/// 文件名称长度
/// </summary>
public byte FileNameLength { get; set; }


+ 30
- 0
src/JT808.Protocol.Extensions/JT808.Protocol.Extensions.YueBiao/JT808.Protocol.Extensions.YueBiao.xml Wyświetl plik

@@ -1032,6 +1032,11 @@
报警附件信息消息
</summary>
</member>
<member name="P:JT808.Protocol.Extensions.YueBiao.MessageBody.JT808_0x1210.SkipSerialization">
<summary>
</summary>
</member>
<member name="M:JT808.Protocol.Extensions.YueBiao.MessageBody.JT808_0x1210.Analyze(JT808.Protocol.MessagePack.JT808MessagePackReader@,System.Text.Json.Utf8JsonWriter,JT808.Protocol.IJT808Config)">
<summary>
@@ -1066,6 +1071,11 @@
文件信息上传
</summary>
</member>
<member name="P:JT808.Protocol.Extensions.YueBiao.MessageBody.JT808_0x1211.SkipSerialization">
<summary>
</summary>
</member>
<member name="P:JT808.Protocol.Extensions.YueBiao.MessageBody.JT808_0x1211.FileNameLength">
<summary>
文件名称长度
@@ -1126,6 +1136,11 @@
文件上传完成消息
</summary>
</member>
<member name="P:JT808.Protocol.Extensions.YueBiao.MessageBody.JT808_0x1212.SkipSerialization">
<summary>
</summary>
</member>
<member name="P:JT808.Protocol.Extensions.YueBiao.MessageBody.JT808_0x1212.FileNameLength">
<summary>
文件名称长度
@@ -1186,6 +1201,11 @@
终端升级进度上报
</summary>
</member>
<member name="P:JT808.Protocol.Extensions.YueBiao.MessageBody.JT808_0x1FC4.SkipSerialization">
<summary>
</summary>
</member>
<member name="P:JT808.Protocol.Extensions.YueBiao.MessageBody.JT808_0x1FC4.MsgId">
<summary>
终端升级进度上报
@@ -2167,6 +2187,11 @@
Description
</summary>
</member>
<member name="P:JT808.Protocol.Extensions.YueBiao.MessageBody.JT808_0x9208.SkipSerialization">
<summary>
</summary>
</member>
<member name="P:JT808.Protocol.Extensions.YueBiao.MessageBody.JT808_0x9208.AttachmentServerIPLength">
<summary>
服务IP地址长度
@@ -2242,6 +2267,11 @@
文件上传完成消息应答
</summary>
</member>
<member name="P:JT808.Protocol.Extensions.YueBiao.MessageBody.JT808_0x9212.SkipSerialization">
<summary>
</summary>
</member>
<member name="P:JT808.Protocol.Extensions.YueBiao.MessageBody.JT808_0x9212.FileNameLength">
<summary>
文件名称长度


+ 4
- 0
src/JT808.Protocol.Extensions/JT808.Protocol.Extensions.YueBiao/MessageBody/JT808_0x1210.cs Wyświetl plik

@@ -53,6 +53,10 @@ namespace JT808.Protocol.Extensions.YueBiao.MessageBody
/// <summary>
///
/// </summary>
public bool SkipSerialization => false;
/// <summary>
///
/// </summary>
/// <param name="reader"></param>
/// <param name="writer"></param>
/// <param name="config"></param>


+ 4
- 0
src/JT808.Protocol.Extensions/JT808.Protocol.Extensions.YueBiao/MessageBody/JT808_0x1211.cs Wyświetl plik

@@ -15,6 +15,10 @@ namespace JT808.Protocol.Extensions.YueBiao.MessageBody
/// </summary>
public string Description => "文件信息上传";
/// <summary>
///
/// </summary>
public bool SkipSerialization => false;
/// <summary>
/// 文件名称长度
/// </summary>
public byte FileNameLength { get; set; }


+ 4
- 0
src/JT808.Protocol.Extensions/JT808.Protocol.Extensions.YueBiao/MessageBody/JT808_0x1212.cs Wyświetl plik

@@ -15,6 +15,10 @@ namespace JT808.Protocol.Extensions.YueBiao.MessageBody
/// </summary>
public string Description => "文件上传完成消息";
/// <summary>
///
/// </summary>
public bool SkipSerialization => false;
/// <summary>
/// 文件名称长度
/// </summary>
public byte FileNameLength { get; set; }


+ 4
- 0
src/JT808.Protocol.Extensions/JT808.Protocol.Extensions.YueBiao/MessageBody/JT808_0x1FC4.cs Wyświetl plik

@@ -19,6 +19,10 @@ namespace JT808.Protocol.Extensions.YueBiao.MessageBody
/// </summary>
public string Description => "终端升级进度上报";
/// <summary>
///
/// </summary>
public bool SkipSerialization => false;
/// <summary>
/// 终端升级进度上报
/// </summary>
public ushort MsgId => JT808_YueBiao_MsgId.terminal_upgrade_progress_reported.ToUInt16Value();


+ 4
- 0
src/JT808.Protocol.Extensions/JT808.Protocol.Extensions.YueBiao/MessageBody/JT808_0x9208.cs Wyświetl plik

@@ -17,6 +17,10 @@ namespace JT808.Protocol.Extensions.YueBiao.MessageBody
/// </summary>
public string Description => "报警附件上传指令";
/// <summary>
///
/// </summary>
public bool SkipSerialization => false;
/// <summary>
/// 服务IP地址长度
/// </summary>
public byte AttachmentServerIPLength { get; set; }


+ 4
- 0
src/JT808.Protocol.Extensions/JT808.Protocol.Extensions.YueBiao/MessageBody/JT808_0x9212.cs Wyświetl plik

@@ -17,6 +17,10 @@ namespace JT808.Protocol.Extensions.YueBiao.MessageBody
/// </summary>
public string Description => "文件上传完成消息应答";
/// <summary>
///
/// </summary>
public bool SkipSerialization => false;
/// <summary>
/// 文件名称长度
/// </summary>
public byte FileNameLength { get; set; }


+ 1
- 1
src/JT808.Protocol.Test/MessageBody/JT808_0x9999.cs Wyświetl plik

@@ -11,7 +11,7 @@ namespace JT808.Protocol.Test.MessageBody
public byte Sex { get; set; }

public ushort MsgId => 0x9999;
public bool SkipSerialization => false;
public string Description => "自定义消息";

public override JT808_0x9999 Deserialize(ref JT808MessagePackReader reader, IJT808Config config)


+ 1
- 0
src/JT808.Protocol.Test/Simples/Demo13.cs Wyświetl plik

@@ -91,6 +91,7 @@ namespace JT808.Protocol.Test.Simples
/// 0x0001
/// </summary>
public ushort MsgId => 0x0001;
public bool SkipSerialization => false;
/// <summary>
/// 终端通用应答
/// </summary>


+ 2
- 0
src/JT808.Protocol.Test/Simples/Demo6.cs Wyświetl plik

@@ -151,6 +151,7 @@ namespace JT808.Protocol.Test.Simples
public ushort MsgId => 0x91;

public string Description =>"DT1Demo6";
public bool SkipSerialization => false;

public override DT1Demo6 Deserialize(ref JT808MessagePackReader reader, IJT808Config config)
{
@@ -170,6 +171,7 @@ namespace JT808.Protocol.Test.Simples
public class DT2Demo6 : JT808MessagePackFormatter<DT2Demo6>,JT808Bodies
{
public ushort MsgId => 0x91;
public bool SkipSerialization => false;
public byte Sex2 { get; set; }

public ushort Age2 { get; set; }


+ 1
- 1
src/JT808.Protocol.Test/Simples/Demo8.cs Wyświetl plik

@@ -58,7 +58,7 @@ namespace JT808.Protocol.Test.Simples
public ushort Age1 { get; set; }

public ushort MsgId => 0x93;
public bool SkipSerialization => false;
public string Description => "DT1Demo8";

public void Analyze(ref JT808MessagePackReader reader, Utf8JsonWriter writer, IJT808Config config)


+ 1
- 1
src/JT808.Protocol.sln Wyświetl plik

@@ -33,7 +33,7 @@ Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "JT808.Protocol.Extensions.S
EndProject
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "JT808.Protocol.Extensions.SuBiao.Test", "JT808.Protocol.Extensions\JT808.Protocol.Extensions.SuBiao.Test\JT808.Protocol.Extensions.SuBiao.Test.csproj", "{BEE2E12D-C123-4682-AB7E-210C2BF564B3}"
EndProject
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "JT808.Protocol.DependencyInjection", "JT808.Protocol.Extensions\JT808.Protocol.DependencyInjection\JT808.Protocol.DependencyInjection.csproj", "{7EB01F74-DFDB-4733-8F15-5785A9ED7DBD}"
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "JT808.Protocol.DependencyInjection", "JT808.Protocol.Extensions\JT808.Protocol.DependencyInjection\JT808.Protocol.DependencyInjection.csproj", "{7EB01F74-DFDB-4733-8F15-5785A9ED7DBD}"
EndProject
Global
GlobalSection(SolutionConfigurationPlatforms) = preSolution


+ 75
- 4
src/JT808.Protocol/Extensions/JT808HexExtensions.cs Wyświetl plik

@@ -4,7 +4,6 @@ namespace JT808.Protocol.Extensions
{
/// <summary>
///
/// ref:"www.codeproject.com/tips/447938/high-performance-csharp-byte-array-to-hex-string-t"
/// </summary>
public static partial class JT808BinaryExtensions
{
@@ -15,7 +14,7 @@ namespace JT808.Protocol.Extensions
/// <returns></returns>
public static string ToHexString(this byte[] source)
{
return Convert.ToHexString(source, 0, source.Length);
return HexUtil.DoHexDump(source, 0, source.Length).ToUpper();
}

/// <summary>
@@ -26,7 +25,16 @@ namespace JT808.Protocol.Extensions
public static byte[] ToHexBytes(this string hexString)
{
hexString = hexString.Replace(" ", "");
return Convert.FromHexString(hexString);
byte[] buf = new byte[hexString.Length / 2];
ReadOnlySpan<char> readOnlySpan = hexString.AsSpan();
for (int i = 0; i < hexString.Length; i++)
{
if (i % 2 == 0)
{
buf[i / 2] = Convert.ToByte(readOnlySpan.Slice(i, 2).ToString(), 16);
}
}
return buf;
}

/// <summary>
@@ -38,7 +46,7 @@ namespace JT808.Protocol.Extensions
/// <returns></returns>
public static string ReadHexStringLittle(ReadOnlySpan<byte> read, ref int offset, int len)
{
string hex = Convert.ToHexString(read.Slice(offset, len));
string hex = HexUtil.DoHexDump(read, offset, len);
offset += len;
return hex;
}
@@ -189,5 +197,68 @@ namespace JT808.Protocol.Extensions
{
return System.Convert.ToString(value, 2).PadLeft(8, '0').AsSpan();
}

/// <summary>
/// ref:"www.codeproject.com/tips/447938/high-performance-csharp-byte-array-to-hex-string-t"
/// </summary>
public static class HexUtil
{
static readonly char[] HexdumpTable = new char[256 * 4];
static HexUtil()
{
char[] digits = "0123456789ABCDEF".ToCharArray();
for (int i = 0; i < 256; i++)
{
HexdumpTable[i << 1] = digits[(int)((uint)i >> 4 & 0x0F)];
HexdumpTable[(i << 1) + 1] = digits[i & 0x0F];
}
}
/// <summary>
///
/// </summary>
/// <param name="buffer"></param>
/// <param name="fromIndex"></param>
/// <param name="length"></param>
/// <returns></returns>
public static string DoHexDump(ReadOnlySpan<byte> buffer, int fromIndex, int length)
{
if (length == 0)
{
return "";
}
int endIndex = fromIndex + length;
var buf = new char[length << 1];
int srcIdx = fromIndex;
int dstIdx = 0;
for (; srcIdx < endIndex; srcIdx++, dstIdx += 2)
{
Array.Copy(HexdumpTable, buffer[srcIdx] << 1, buf, dstIdx, 2);
}
return new string(buf);
}
/// <summary>
///
/// </summary>
/// <param name="array"></param>
/// <param name="fromIndex"></param>
/// <param name="length"></param>
/// <returns></returns>
public static string DoHexDump(byte[] array, int fromIndex, int length)
{
if (length == 0)
{
return "";
}
int endIndex = fromIndex + length;
var buf = new char[length << 1];
int srcIdx = fromIndex;
int dstIdx = 0;
for (; srcIdx < endIndex; srcIdx++, dstIdx += 2)
{
Array.Copy(HexdumpTable, (array[srcIdx] & 0xFF) << 1, buf, dstIdx, 2);
}
return new string(buf);
}
}
}
}

+ 7
- 5
src/JT808.Protocol/Internal/DefaultMerger.cs Wyświetl plik

@@ -15,9 +15,9 @@ namespace JT808.Protocol.Internal
/// </summary>
private readonly ConcurrentDictionary<string, ConcurrentDictionary<ushort, List<(ushort index, byte[] data)>>> splitPackageDictionary = new();

private readonly ConcurrentDictionary<string, DateTime> timeoutDictionary = new();
private readonly ConcurrentDictionary<string, DateTime> timeoutDictionary = new ConcurrentDictionary<string, DateTime>();
private readonly TimeSpan cleanInterval = TimeSpan.FromSeconds(60);
private readonly CancellationTokenSource cts = new();
private readonly CancellationTokenSource cts = new CancellationTokenSource();
private bool disposed;
public DefaultMerger()
{
@@ -27,7 +27,8 @@ namespace JT808.Protocol.Internal
{
timeoutDictionary.ToList().ForEach(x =>
{
var (key, datetime) = x;
var key = x.Key;
var datetime = x.Value;
if (datetime < DateTime.Now && TryParseKey(key, out var phoneNumber, out var messageId) && splitPackageDictionary.TryGetValue(phoneNumber, out var value) && value.TryRemove(messageId, out var caches) && value.Count == 0 && splitPackageDictionary.TryRemove(phoneNumber, out _))
{
timeoutDictionary.TryRemove(key, out _);
@@ -88,9 +89,10 @@ namespace JT808.Protocol.Internal
}
private bool CheckTimeout(string key) => !timeoutDictionary.TryGetValue(key, out var dateTime) || dateTime >= DateTime.Now;

private const string keyJoiner = "-";
private const char keyJoiner = '-';
private const string keyJoinerNET7 = "-";

private string GenerateKey(string phoneNumber, ushort messageId) => string.Join(keyJoiner, new[] { phoneNumber, messageId.ToString() });
private string GenerateKey(string phoneNumber, ushort messageId) => string.Join(keyJoinerNET7, new[] { phoneNumber, messageId.ToString() });

private bool TryParseKey(string key, out string phoneNumber, out ushort messageId)
{


+ 12
- 1
src/JT808.Protocol/JT808.Protocol.csproj Wyświetl plik

@@ -41,10 +41,21 @@
<Compile Remove="Metadata\JT808UploadLocationRequestProperty.cs" />
</ItemGroup>
<ItemGroup>
<ItemGroup Condition=" '$(TargetFramework)' == 'netstandard2.0' ">
<PackageReference Include="Microsoft.CSharp" Version="4.7.0" />
<PackageReference Include="System.Buffers" Version="4.5.1" />
<PackageReference Include="System.Dynamic.Runtime" Version="4.3.0" />
<PackageReference Include="System.Memory" Version="4.5.5" />
<PackageReference Include="System.Reflection.Extensions" Version="4.3.0" />
<PackageReference Include="System.Text.Json" Version="7.0.2" />
<PackageReference Include="System.Text.Encoding.CodePages" Version="7.0.0" />
</ItemGroup>

<ItemGroup Condition=" '$(TargetFramework)' == 'net7' ">
<PackageReference Include="System.Text.Encoding.CodePages" Version="7.0.0" />
</ItemGroup>
<ItemGroup>
<None Update="Extensions\JT808PackageExtensionsTemplate.tt">
<Generator>TextTemplatingFileGenerator</Generator>


+ 493
- 1
src/JT808.Protocol/JT808.Protocol.xml
Plik diff jest za duży
Wyświetl plik


+ 1
- 1
src/JT808.Protocol/JT808Bodies.cs Wyświetl plik

@@ -12,7 +12,7 @@ namespace JT808.Protocol
/// 默认不跳过
/// 当数据体为空的时候,使用null作为空包感觉不适合,所以就算使用空包也需要new一下来表达意思。
/// </summary>
bool SkipSerialization { get { return false; } }
bool SkipSerialization { get; }
/// <summary>
/// 消息Id
/// </summary>


+ 1
- 1
src/JT808.Protocol/JT808CarDVRDownBodies.cs Wyświetl plik

@@ -16,6 +16,6 @@ namespace JT808.Protocol
/// 默认不跳过
/// 当数据体为空的时候,使用null作为空包感觉不适合,所以就算使用空包也需要new一下来表达意思。
/// </summary>
bool SkipSerialization { get { return false; }}
bool SkipSerialization { get; }
}
}

+ 1
- 1
src/JT808.Protocol/JT808CarDVRUpBodies.cs Wyświetl plik

@@ -16,6 +16,6 @@ namespace JT808.Protocol
/// 默认不跳过
/// 当数据体为空的时候,使用null作为空包感觉不适合,所以就算使用空包也需要new一下来表达意思。
/// </summary>
bool SkipSerialization { get { return false; } }
bool SkipSerialization { get; }
}
}

+ 4
- 0
src/JT808.Protocol/MessageBody/CarDVR/JT808_CarDVR_Down_0x08.cs Wyświetl plik

@@ -40,6 +40,10 @@ namespace JT808.Protocol.MessageBody.CarDVR
/// <summary>
///
/// </summary>
public bool SkipSerialization => false;
/// <summary>
///
/// </summary>
/// <param name="writer"></param>
/// <param name="value"></param>
/// <param name="config"></param>


+ 4
- 0
src/JT808.Protocol/MessageBody/CarDVR/JT808_CarDVR_Down_0x09.cs Wyświetl plik

@@ -22,6 +22,10 @@ namespace JT808.Protocol.MessageBody.CarDVR
/// </summary>
public byte CommandId => JT808CarDVRCommandID.collect_specified_location_information.ToByteValue();
/// <summary>
///
/// </summary>
public bool SkipSerialization => false;
/// <summary>
/// 符合条件的位置信息记录
/// </summary>
public string Description => "符合条件的位置信息记录";


+ 4
- 0
src/JT808.Protocol/MessageBody/CarDVR/JT808_CarDVR_Down_0x10.cs Wyświetl plik

@@ -22,6 +22,10 @@ namespace JT808.Protocol.MessageBody.CarDVR
/// </summary>
public byte CommandId => JT808CarDVRCommandID.collect_specified_incident_suspect_records.ToByteValue();
/// <summary>
///
/// </summary>
public bool SkipSerialization => false;
/// <summary>
/// 符合条件的事故疑点记录
/// </summary>
public string Description => "符合条件的事故疑点记录";


+ 4
- 0
src/JT808.Protocol/MessageBody/CarDVR/JT808_CarDVR_Down_0x11.cs Wyświetl plik

@@ -21,6 +21,10 @@ namespace JT808.Protocol.MessageBody.CarDVR
/// </summary>
public byte CommandId => JT808CarDVRCommandID.collect_specified_driving_overtime_records.ToByteValue();
/// <summary>
///
/// </summary>
public bool SkipSerialization => false;
/// <summary>
/// 符合条件的超时驾驶记录
/// </summary>
public string Description => "符合条件的超时驾驶记录";


+ 4
- 0
src/JT808.Protocol/MessageBody/CarDVR/JT808_CarDVR_Down_0x12.cs Wyświetl plik

@@ -21,6 +21,10 @@ namespace JT808.Protocol.MessageBody.CarDVR
/// </summary>
public byte CommandId => JT808CarDVRCommandID.collect_drivers_identification_records.ToByteValue();
/// <summary>
///
/// </summary>
public bool SkipSerialization => false;
/// <summary>
/// 符合条件的驾驶人登录退出记录
/// </summary>
public string Description => "符合条件的驾驶人登录退出记录";


+ 4
- 0
src/JT808.Protocol/MessageBody/CarDVR/JT808_CarDVR_Down_0x13.cs Wyświetl plik

@@ -21,6 +21,10 @@ namespace JT808.Protocol.MessageBody.CarDVR
/// </summary>
public byte CommandId => JT808CarDVRCommandID.collect_specified_external_power_supply_records.ToByteValue();
/// <summary>
///
/// </summary>
public bool SkipSerialization => false;
/// <summary>
/// 符合条件的供电记录
/// </summary>
public string Description => "符合条件的供电记录";


+ 4
- 0
src/JT808.Protocol/MessageBody/CarDVR/JT808_CarDVR_Down_0x14.cs Wyświetl plik

@@ -21,6 +21,10 @@ namespace JT808.Protocol.MessageBody.CarDVR
/// </summary>
public byte CommandId => JT808CarDVRCommandID.collect_specified_modify_parameters_records.ToByteValue();
/// <summary>
///
/// </summary>
public bool SkipSerialization => false;
/// <summary>
/// 符合条件的参数修改记录
/// </summary>
public string Description => "符合条件的参数修改记录";


+ 4
- 0
src/JT808.Protocol/MessageBody/CarDVR/JT808_CarDVR_Down_0x15.cs Wyświetl plik

@@ -21,6 +21,10 @@ namespace JT808.Protocol.MessageBody.CarDVR
/// </summary>
public byte CommandId => JT808CarDVRCommandID.collect_specified_speed_status_logs.ToByteValue();
/// <summary>
///
/// </summary>
public bool SkipSerialization => false;
/// <summary>
/// 符合条件的速度状态日志
/// </summary>
public string Description => "符合条件的速度状态日志";


+ 4
- 0
src/JT808.Protocol/MessageBody/CarDVR/JT808_CarDVR_Down_0x82.cs Wyświetl plik

@@ -22,6 +22,10 @@ namespace JT808.Protocol.MessageBody.CarDVR
/// </summary>
public byte CommandId => JT808CarDVRCommandID.setting_vehicle_information.ToByteValue();
/// <summary>
///
/// </summary>
public bool SkipSerialization => false;
/// <summary>
/// 车辆识别代号
/// </summary>
public string Vin { get; set; }


+ 4
- 0
src/JT808.Protocol/MessageBody/CarDVR/JT808_CarDVR_Down_0x83.cs Wyświetl plik

@@ -22,6 +22,10 @@ namespace JT808.Protocol.MessageBody.CarDVR
/// </summary>
public byte CommandId => JT808CarDVRCommandID.set_first_install_date_recorder.ToByteValue();
/// <summary>
///
/// </summary>
public bool SkipSerialization => false;
/// <summary>
/// 实时时间
/// </summary>
public DateTime RealTime { get; set; }


+ 4
- 0
src/JT808.Protocol/MessageBody/CarDVR/JT808_CarDVR_Down_0x84.cs Wyświetl plik

@@ -22,6 +22,10 @@ namespace JT808.Protocol.MessageBody.CarDVR
/// </summary>
public byte CommandId => JT808CarDVRCommandID.set_state_quantity_configuration_information.ToByteValue();
/// <summary>
///
/// </summary>
public bool SkipSerialization => false;
/// <summary>
/// 实时时间
/// </summary>
public DateTime RealTime { get; set; }


+ 4
- 0
src/JT808.Protocol/MessageBody/CarDVR/JT808_CarDVR_Down_0xC2.cs Wyświetl plik

@@ -22,6 +22,10 @@ namespace JT808.Protocol.MessageBody.CarDVR
/// </summary>
public byte CommandId => JT808CarDVRCommandID.set_recorder_time.ToByteValue();
/// <summary>
///
/// </summary>
public bool SkipSerialization => false;
/// <summary>
/// 实时时间
/// </summary>
public DateTime RealTime { get; set; }


+ 4
- 0
src/JT808.Protocol/MessageBody/CarDVR/JT808_CarDVR_Down_0xC3.cs Wyświetl plik

@@ -22,6 +22,10 @@ namespace JT808.Protocol.MessageBody.CarDVR
/// </summary>
public byte CommandId => JT808CarDVRCommandID.set_pulse_coefficient_recorder.ToByteValue();
/// <summary>
///
/// </summary>
public bool SkipSerialization => false;
/// <summary>
/// 当前时间
/// </summary>
public DateTime RealTime { get; set; }


+ 4
- 0
src/JT808.Protocol/MessageBody/CarDVR/JT808_CarDVR_Down_0xC4.cs Wyświetl plik

@@ -22,6 +22,10 @@ namespace JT808.Protocol.MessageBody.CarDVR
/// </summary>
public byte CommandId => JT808CarDVRCommandID.set_init_mileage.ToByteValue();
/// <summary>
///
/// </summary>
public bool SkipSerialization => false;
/// <summary>
/// 实时时间
/// </summary>
public DateTime RealTime { get; set; }


+ 4
- 0
src/JT808.Protocol/MessageBody/CarDVR/JT808_CarDVR_Down_0xE1.cs Wyświetl plik

@@ -22,6 +22,10 @@ namespace JT808.Protocol.MessageBody.CarDVR
/// </summary>
public byte CommandId => JT808CarDVRCommandID.enter_mileage_error_measurement.ToByteValue();
/// <summary>
///
/// </summary>
public bool SkipSerialization => false;
/// <summary>
/// 记录仪唯一性编号
/// </summary>
public string UniqueNumber { get; set; }


+ 4
- 0
src/JT808.Protocol/MessageBody/CarDVR/JT808_CarDVR_Up_0x00.cs Wyświetl plik

@@ -22,6 +22,10 @@ namespace JT808.Protocol.MessageBody.CarDVR
/// </summary>
public byte CommandId => JT808CarDVRCommandID.collect_recorder_performs_standard_version.ToByteValue();
/// <summary>
///
/// </summary>
public bool SkipSerialization => false;
/// <summary>
/// 记录仪执行标准年号后 2 位 BCD 码
/// 无应答则默认为 03
/// </summary>


+ 4
- 0
src/JT808.Protocol/MessageBody/CarDVR/JT808_CarDVR_Up_0x01.cs Wyświetl plik

@@ -22,6 +22,10 @@ namespace JT808.Protocol.MessageBody.CarDVR
/// </summary>
public byte CommandId => JT808CarDVRCommandID.collect_driver.ToByteValue();
/// <summary>
///
/// </summary>
public bool SkipSerialization => false;
/// <summary>
/// 机动车驾驶证号码
/// 机动车驾驶证号码为 15 位时,后 3 位以 00H 补齐。驾驶人身份未知时以 00H 表示
/// </summary>


+ 4
- 0
src/JT808.Protocol/MessageBody/CarDVR/JT808_CarDVR_Up_0x02.cs Wyświetl plik

@@ -22,6 +22,10 @@ namespace JT808.Protocol.MessageBody.CarDVR
/// </summary>
public byte CommandId => JT808CarDVRCommandID.collect_realtime.ToByteValue();
/// <summary>
///
/// </summary>
public bool SkipSerialization => false;
/// <summary>
/// 实时时间
/// </summary>
public DateTime RealTime { get; set; }


+ 4
- 0
src/JT808.Protocol/MessageBody/CarDVR/JT808_CarDVR_Up_0x03.cs Wyświetl plik

@@ -19,6 +19,10 @@ namespace JT808.Protocol.MessageBody.CarDVR
/// </summary>
public byte CommandId => JT808CarDVRCommandID.collect_accumulated_mileage.ToByteValue();
/// <summary>
///
/// </summary>
public bool SkipSerialization => false;
/// <summary>
/// 实时时间
/// </summary>
public DateTime RealTime { get; set; }


+ 4
- 0
src/JT808.Protocol/MessageBody/CarDVR/JT808_CarDVR_Up_0x04.cs Wyświetl plik

@@ -22,6 +22,10 @@ namespace JT808.Protocol.MessageBody.CarDVR
/// </summary>
public byte CommandId => JT808CarDVRCommandID.collect_recorder_pulse_coefficient.ToByteValue();
/// <summary>
///
/// </summary>
public bool SkipSerialization => false;
/// <summary>
/// 当前时间
/// </summary>
public DateTime RealTime { get; set; }


+ 4
- 0
src/JT808.Protocol/MessageBody/CarDVR/JT808_CarDVR_Up_0x05.cs Wyświetl plik

@@ -22,6 +22,10 @@ namespace JT808.Protocol.MessageBody.CarDVR
/// </summary>
public byte CommandId => JT808CarDVRCommandID.collect_vehicle_information.ToByteValue();
/// <summary>
///
/// </summary>
public bool SkipSerialization => false;
/// <summary>
/// 车辆识别代号
/// </summary>
public string Vin { get; set; }


+ 4
- 0
src/JT808.Protocol/MessageBody/CarDVR/JT808_CarDVR_Up_0x06.cs Wyświetl plik

@@ -22,6 +22,10 @@ namespace JT808.Protocol.MessageBody.CarDVR
/// </summary>
public byte CommandId => JT808CarDVRCommandID.collect_recorder_status_signal_configuration_information.ToByteValue();
/// <summary>
///
/// </summary>
public bool SkipSerialization => false;
/// <summary>
/// 实时时间
/// </summary>
public DateTime RealTime { get; set; }


+ 4
- 0
src/JT808.Protocol/MessageBody/CarDVR/JT808_CarDVR_Up_0x07.cs Wyświetl plik

@@ -22,6 +22,10 @@ namespace JT808.Protocol.MessageBody.CarDVR
/// </summary>
public byte CommandId => JT808CarDVRCommandID.collect_recorder_unique_number.ToByteValue();
/// <summary>
///
/// </summary>
public bool SkipSerialization => false;
/// <summary>
/// 生产厂 CCC 认证代码 7字节
/// </summary>
public string ProductionPlantCCCCertificationCode { get; set; }


+ 4
- 0
src/JT808.Protocol/MessageBody/CarDVR/JT808_CarDVR_Up_0x08.cs Wyświetl plik

@@ -23,6 +23,10 @@ namespace JT808.Protocol.MessageBody.CarDVR
/// </summary>
public byte CommandId => JT808CarDVRCommandID.collect_recorder_specified_speed.ToByteValue();
/// <summary>
///
/// </summary>
public bool SkipSerialization => false;
/// <summary>
/// 请求发送指定的时间范围内 N 个单位数据块的数据(N≥1)
/// </summary>
public List<JT808_CarDVR_Up_0x08_SpeedPerMinute> JT808_CarDVR_Up_0x08_SpeedPerMinutes { get; set; }


+ 4
- 0
src/JT808.Protocol/MessageBody/CarDVR/JT808_CarDVR_Up_0x09.cs Wyświetl plik

@@ -23,6 +23,10 @@ namespace JT808.Protocol.MessageBody.CarDVR
/// </summary>
public byte CommandId => JT808CarDVRCommandID.collect_specified_location_information.ToByteValue();
/// <summary>
///
/// </summary>
public bool SkipSerialization => false;
/// <summary>
/// 请求发送指定的时间范围内 N 个单位数据块的数据(N≥1)
/// </summary>
public List<JT808_CarDVR_Up_0x09_PositionPerHour> JT808_CarDVR_Up_0x09_PositionPerHours { get; set; }


+ 4
- 0
src/JT808.Protocol/MessageBody/CarDVR/JT808_CarDVR_Up_0x10.cs Wyświetl plik

@@ -24,6 +24,10 @@ namespace JT808.Protocol.MessageBody.CarDVR
/// </summary>
public byte CommandId => JT808CarDVRCommandID.collect_specified_incident_suspect_records.ToByteValue();
/// <summary>
///
/// </summary>
public bool SkipSerialization => false;
/// <summary>
/// 请求发送指定的时间范围内 N 个单位数据块的数据(N≥1)
/// </summary>
public List<JT808_CarDVR_Up_0x10_AccidentSuspectin> JT808_CarDVR_Up_0x10_AccidentSuspectins { get; set; }


+ 4
- 0
src/JT808.Protocol/MessageBody/CarDVR/JT808_CarDVR_Up_0x11.cs Wyświetl plik

@@ -22,6 +22,10 @@ namespace JT808.Protocol.MessageBody.CarDVR
/// </summary>
public byte CommandId => JT808CarDVRCommandID.collect_specified_driving_overtime_records.ToByteValue();
/// <summary>
///
/// </summary>
public bool SkipSerialization => false;
/// <summary>
/// 请求发送指定的时间范围内 N 个单位数据块的数据(N≥1)
/// </summary>
public List<JT808_CarDVR_Up_0x11_DriveOverTime> JT808_CarDVR_Up_0x11_DriveOverTimes{ get; set; }


+ 4
- 0
src/JT808.Protocol/MessageBody/CarDVR/JT808_CarDVR_Up_0x12.cs Wyświetl plik

@@ -22,6 +22,10 @@ namespace JT808.Protocol.MessageBody.CarDVR
/// </summary>
public byte CommandId => JT808CarDVRCommandID.collect_drivers_identification_records.ToByteValue();
/// <summary>
///
/// </summary>
public bool SkipSerialization => false;
/// <summary>
/// 请求发送指定的时间范围内 N 个单位数据块的数据(N≥1)
/// </summary>
public List<JT808_CarDVR_Up_0x12_DriveLogin> JT808_CarDVR_Up_0x12_DriveLogins { get; set; }


+ 4
- 0
src/JT808.Protocol/MessageBody/CarDVR/JT808_CarDVR_Up_0x13.cs Wyświetl plik

@@ -22,6 +22,10 @@ namespace JT808.Protocol.MessageBody.CarDVR
/// </summary>
public byte CommandId => JT808CarDVRCommandID.collect_specified_external_power_supply_records.ToByteValue();
/// <summary>
///
/// </summary>
public bool SkipSerialization => false;
/// <summary>
/// 请求发送指定的时间范围内 N 个单位数据块的数据(N≥1)
/// </summary>
public List<JT808_CarDVR_Up_0x13_ExternalPowerSupply> JT808_CarDVR_Up_0x13_ExternalPowerSupplys { get; set; }


+ 4
- 0
src/JT808.Protocol/MessageBody/CarDVR/JT808_CarDVR_Up_0x14.cs Wyświetl plik

@@ -22,6 +22,10 @@ namespace JT808.Protocol.MessageBody.CarDVR
/// </summary>
public byte CommandId => JT808CarDVRCommandID.collect_specified_modify_parameters_records.ToByteValue();
/// <summary>
///
/// </summary>
public bool SkipSerialization => false;
/// <summary>
/// 请求发送指定的时间范围内 N 个单位数据块的数据(N≥1)
/// </summary>
public List<JT808_CarDVR_Up_0x14_ParameterModify> JT808_CarDVR_Up_0x14_ParameterModifys { get; set; }


+ 4
- 0
src/JT808.Protocol/MessageBody/CarDVR/JT808_CarDVR_Up_0x15.cs Wyświetl plik

@@ -22,6 +22,10 @@ namespace JT808.Protocol.MessageBody.CarDVR
/// </summary>
public byte CommandId => JT808CarDVRCommandID.collect_specified_speed_status_logs.ToByteValue();
/// <summary>
///
/// </summary>
public bool SkipSerialization => false;
/// <summary>
/// 请求发送指定的时间范围内 N 个单位数据块的数据(N≥1)
/// </summary>
public List<JT808_CarDVR_Up_0x15_SpeedStatusLog> JT808_CarDVR_Up_0x15_SpeedStatusLogs { get; set; }


+ 4
- 0
src/JT808.Protocol/MessageBody/JT808_0x0001.cs Wyświetl plik

@@ -17,6 +17,10 @@ namespace JT808.Protocol.MessageBody
/// </summary>
public ushort MsgId => 0x0001;
/// <summary>
///
/// </summary>
public bool SkipSerialization => false;
/// <summary>
/// 终端通用应答
/// </summary>
public string Description => "终端通用应答";


+ 4
- 0
src/JT808.Protocol/MessageBody/JT808_0x0005.cs Wyświetl plik

@@ -18,6 +18,10 @@ namespace JT808.Protocol.MessageBody
/// </summary>
public ushort MsgId => 0x0005;
/// <summary>
///
/// </summary>
public bool SkipSerialization => false;
/// <summary>
/// 终端补传分包请求
/// </summary>
public string Description => "终端补传分包请求";


+ 4
- 0
src/JT808.Protocol/MessageBody/JT808_0x0100.cs Wyświetl plik

@@ -19,6 +19,10 @@ namespace JT808.Protocol.MessageBody
/// </summary>
public ushort MsgId => 0x0100;
/// <summary>
///
/// </summary>
public bool SkipSerialization => false;
/// <summary>
/// 终端注册
/// </summary>
public string Description => "终端注册";


+ 4
- 0
src/JT808.Protocol/MessageBody/JT808_0x0102.cs Wyświetl plik

@@ -18,6 +18,10 @@ namespace JT808.Protocol.MessageBody
/// </summary>
public ushort MsgId => 0x0102;
/// <summary>
///
/// </summary>
public bool SkipSerialization => false;
/// <summary>
/// 终端鉴权
/// </summary>
public string Description => "终端鉴权";


+ 4
- 0
src/JT808.Protocol/MessageBody/JT808_0x0104.cs Wyświetl plik

@@ -19,6 +19,10 @@ namespace JT808.Protocol.MessageBody
/// </summary>
public ushort MsgId => 0x0104;
/// <summary>
///
/// </summary>
public bool SkipSerialization => false;
/// <summary>
/// 查询终端参数应答
/// </summary>
public string Description => "查询终端参数应答";


+ 4
- 0
src/JT808.Protocol/MessageBody/JT808_0x0107.cs Wyświetl plik

@@ -20,6 +20,10 @@ namespace JT808.Protocol.MessageBody
/// </summary>
public ushort MsgId => 0x0107;
/// <summary>
///
/// </summary>
public bool SkipSerialization => false;
/// <summary>
/// 查询终端属性应答
/// </summary>
public string Description => "查询终端属性应答";


+ 4
- 0
src/JT808.Protocol/MessageBody/JT808_0x0108.cs Wyświetl plik

@@ -17,6 +17,10 @@ namespace JT808.Protocol.MessageBody
/// </summary>
public ushort MsgId => 0x0108;
/// <summary>
///
/// </summary>
public bool SkipSerialization => false;
/// <summary>
/// 终端升级结果通知
/// </summary>
public string Description => "终端升级结果通知";


+ 5
- 1
src/JT808.Protocol/MessageBody/JT808_0x0200.cs Wyświetl plik

@@ -26,6 +26,10 @@ namespace JT808.Protocol.MessageBody
/// </summary>
public string Description => "位置信息汇报";
/// <summary>
///
/// </summary>
public bool SkipSerialization => false;
/// <summary>
/// 报警标志
/// <see cref="JT808.Protocol.Enums.JT808Alarm"/>
/// </summary>
@@ -108,7 +112,7 @@ namespace JT808.Protocol.MessageBody
/// <returns></returns>
public override JT808_0x0200 Deserialize(ref JT808MessagePackReader reader, IJT808Config config)
{
JT808_0x0200 jT808_0X0200 = new ();
JT808_0x0200 jT808_0X0200 = new JT808_0x0200();
jT808_0X0200.AlarmFlag = reader.ReadUInt32();
jT808_0X0200.StatusFlag = reader.ReadUInt32();
if (((jT808_0X0200.StatusFlag >> 28) & 1) == 1)


+ 4
- 0
src/JT808.Protocol/MessageBody/JT808_0x0201.cs Wyświetl plik

@@ -16,6 +16,10 @@ namespace JT808.Protocol.MessageBody
/// </summary>
public ushort MsgId => 0x0201;
/// <summary>
///
/// </summary>
public bool SkipSerialization => false;
/// <summary>
/// 位置信息查询应答
/// </summary>
public string Description => "位置信息查询应答";


+ 4
- 0
src/JT808.Protocol/MessageBody/JT808_0x0301.cs Wyświetl plik

@@ -19,6 +19,10 @@ namespace JT808.Protocol.MessageBody
/// </summary>
public ushort MsgId => 0x0301;
/// <summary>
///
/// </summary>
public bool SkipSerialization => false;
/// <summary>
/// 事件报告
/// </summary>
public string Description => "事件报告";


+ 4
- 0
src/JT808.Protocol/MessageBody/JT808_0x0302.cs Wyświetl plik

@@ -20,6 +20,10 @@ namespace JT808.Protocol.MessageBody
/// </summary>
public ushort MsgId => 0x0302;
/// <summary>
///
/// </summary>
public bool SkipSerialization => false;
/// <summary>
/// 提问应答
/// </summary>
public string Description => "提问应答";


+ 4
- 0
src/JT808.Protocol/MessageBody/JT808_0x0303.cs Wyświetl plik

@@ -19,6 +19,10 @@ namespace JT808.Protocol.MessageBody
/// </summary>
public ushort MsgId => 0x0303;
/// <summary>
///
/// </summary>
public bool SkipSerialization => false;
/// <summary>
/// 信息点播_取消
/// </summary>
public string Description => "信息点播_取消";


+ 4
- 0
src/JT808.Protocol/MessageBody/JT808_0x0500.cs Wyświetl plik

@@ -16,6 +16,10 @@ namespace JT808.Protocol.MessageBody
/// </summary>
public ushort MsgId => 0x0500;
/// <summary>
///
/// </summary>
public bool SkipSerialization => false;
/// <summary>
/// 车辆控制应答
/// </summary>
public string Description => "车辆控制应答";


+ 4
- 0
src/JT808.Protocol/MessageBody/JT808_0x0608.cs Wyświetl plik

@@ -17,6 +17,10 @@ namespace JT808.Protocol.MessageBody
/// </summary>
public ushort MsgId => 0x0608;
/// <summary>
///
/// </summary>
public bool SkipSerialization => false;
/// <summary>
/// 查询区域或线路数据应答
/// </summary>
public string Description => "查询区域或线路数据应答";


+ 4
- 0
src/JT808.Protocol/MessageBody/JT808_0x0700.cs Wyświetl plik

@@ -19,6 +19,10 @@ namespace JT808.Protocol.MessageBody
/// </summary>
public ushort MsgId => 0x0700;
/// <summary>
///
/// </summary>
public bool SkipSerialization => false;
/// <summary>
/// 行驶记录仪数据上传
/// </summary>
public string Description => "行驶记录仪数据上传";


+ 4
- 0
src/JT808.Protocol/MessageBody/JT808_0x0701.cs Wyświetl plik

@@ -18,6 +18,10 @@ namespace JT808.Protocol.MessageBody
/// </summary>
public ushort MsgId => 0x0701;
/// <summary>
///
/// </summary>
public bool SkipSerialization => false;
/// <summary>
/// 电子运单上报
/// </summary>
public string Description => "电子运单上报";


+ 4
- 0
src/JT808.Protocol/MessageBody/JT808_0x0702.cs Wyświetl plik

@@ -18,6 +18,10 @@ namespace JT808.Protocol.MessageBody
/// </summary>
public ushort MsgId => 0x0702;
/// <summary>
///
/// </summary>
public bool SkipSerialization => false;
/// <summary>
/// Description
/// </summary>
public string Description => "驾驶员身份信息采集上报";


+ 4
- 0
src/JT808.Protocol/MessageBody/JT808_0x0704.cs Wyświetl plik

@@ -18,6 +18,10 @@ namespace JT808.Protocol.MessageBody
/// </summary>
public ushort MsgId => 0x0704;
/// <summary>
///
/// </summary>
public bool SkipSerialization => false;
/// <summary>
/// 定位数据批量上传
/// </summary>
public string Description => "定位数据批量上传";


+ 4
- 0
src/JT808.Protocol/MessageBody/JT808_0x0705.cs Wyświetl plik

@@ -21,6 +21,10 @@ namespace JT808.Protocol.MessageBody
/// </summary>
public ushort MsgId => 0x0705;
/// <summary>
///
/// </summary>
public bool SkipSerialization => false;
/// <summary>
/// CAN总线数据上传
/// </summary>
public string Description => "CAN总线数据上传";


+ 4
- 0
src/JT808.Protocol/MessageBody/JT808_0x0800.cs Wyświetl plik

@@ -18,6 +18,10 @@ namespace JT808.Protocol.MessageBody
/// </summary>
public ushort MsgId => 0x0800;
/// <summary>
///
/// </summary>
public bool SkipSerialization => false;
/// <summary>
/// 多媒体事件信息上传
/// </summary>
public string Description => "多媒体事件信息上传";


+ 4
- 0
src/JT808.Protocol/MessageBody/JT808_0x0801.cs Wyświetl plik

@@ -18,6 +18,10 @@ namespace JT808.Protocol.MessageBody
/// </summary>
public ushort MsgId => 0x0801;
/// <summary>
///
/// </summary>
public bool SkipSerialization => false;
/// <summary>
/// 多媒体数据上传
/// </summary>
public string Description => "多媒体数据上传";


+ 4
- 0
src/JT808.Protocol/MessageBody/JT808_0x0802.cs Wyświetl plik

@@ -20,6 +20,10 @@ namespace JT808.Protocol.MessageBody
/// </summary>
public ushort MsgId => 0x0802;
/// <summary>
///
/// </summary>
public bool SkipSerialization => false;
/// <summary>
/// 存储多媒体数据检索应答
/// </summary>
public string Description => "存储多媒体数据检索应答";


Niektóre pliki nie zostały wyświetlone z powodu dużej ilości zmienionych plików

Ładowanie…
Anuluj
Zapisz