소스 검색

v2.6.0

调整整体结构设计,总体性能相比之前有一定提升
tags/v2.6.0
SmallChi(Koike) 2 년 전
부모
커밋
73584b6b1f
100개의 변경된 파일1152개의 추가작업 그리고 671개의 파일을 삭제
  1. +21
    -20
      README.en.md
  2. +21
    -20
      README.md
  3. +3
    -2
      src/Info.props
  4. +2
    -2
      src/JT808.Protocol.Extensions/JT808.Protocol.Extensions.JT1078.Test/JT808.Protocol.Extensions.JT1078.Test.csproj
  5. +338
    -0
      src/JT808.Protocol.Extensions/JT808.Protocol.Extensions.JT1078/JT808.Protocol.Extensions.JT1078.xml
  6. +5
    -5
      src/JT808.Protocol.Extensions/JT808.Protocol.Extensions.JT1078/MessageBody/JT808_0x0200_0x14.cs
  7. +5
    -5
      src/JT808.Protocol.Extensions/JT808.Protocol.Extensions.JT1078/MessageBody/JT808_0x0200_0x15.cs
  8. +5
    -5
      src/JT808.Protocol.Extensions/JT808.Protocol.Extensions.JT1078/MessageBody/JT808_0x0200_0x16.cs
  9. +5
    -5
      src/JT808.Protocol.Extensions/JT808.Protocol.Extensions.JT1078/MessageBody/JT808_0x0200_0x17.cs
  10. +5
    -5
      src/JT808.Protocol.Extensions/JT808.Protocol.Extensions.JT1078/MessageBody/JT808_0x0200_0x18.cs
  11. +5
    -5
      src/JT808.Protocol.Extensions/JT808.Protocol.Extensions.JT1078/MessageBody/JT808_0x1003.cs
  12. +5
    -5
      src/JT808.Protocol.Extensions/JT808.Protocol.Extensions.JT1078/MessageBody/JT808_0x1005.cs
  13. +5
    -5
      src/JT808.Protocol.Extensions/JT808.Protocol.Extensions.JT1078/MessageBody/JT808_0x1205.cs
  14. +3
    -3
      src/JT808.Protocol.Extensions/JT808.Protocol.Extensions.JT1078/MessageBody/JT808_0x1205_AVResouce.cs
  15. +5
    -5
      src/JT808.Protocol.Extensions/JT808.Protocol.Extensions.JT1078/MessageBody/JT808_0x1206.cs
  16. +6
    -6
      src/JT808.Protocol.Extensions/JT808.Protocol.Extensions.JT1078/MessageBody/JT808_0x8103_0x0075.cs
  17. +6
    -6
      src/JT808.Protocol.Extensions/JT808.Protocol.Extensions.JT1078/MessageBody/JT808_0x8103_0x0076.cs
  18. +3
    -3
      src/JT808.Protocol.Extensions/JT808.Protocol.Extensions.JT1078/MessageBody/JT808_0x8103_0x0076_AVChannelRefTable.cs
  19. +6
    -6
      src/JT808.Protocol.Extensions/JT808.Protocol.Extensions.JT1078/MessageBody/JT808_0x8103_0x0077.cs
  20. +3
    -3
      src/JT808.Protocol.Extensions/JT808.Protocol.Extensions.JT1078/MessageBody/JT808_0x8103_0x0077_SignalChannel.cs
  21. +6
    -6
      src/JT808.Protocol.Extensions/JT808.Protocol.Extensions.JT1078/MessageBody/JT808_0x8103_0x0079.cs
  22. +6
    -6
      src/JT808.Protocol.Extensions/JT808.Protocol.Extensions.JT1078/MessageBody/JT808_0x8103_0x007A.cs
  23. +6
    -6
      src/JT808.Protocol.Extensions/JT808.Protocol.Extensions.JT1078/MessageBody/JT808_0x8103_0x007B.cs
  24. +6
    -6
      src/JT808.Protocol.Extensions/JT808.Protocol.Extensions.JT1078/MessageBody/JT808_0x8103_0x007C.cs
  25. +3
    -3
      src/JT808.Protocol.Extensions/JT808.Protocol.Extensions.JT1078/MessageBody/JT808_0x8103_0x007C_TimerWakeDayParamter.cs
  26. +12
    -6
      src/JT808.Protocol.Extensions/JT808.Protocol.Extensions.JT1078/MessageBody/JT808_0x9003.cs
  27. +11
    -7
      src/JT808.Protocol.Extensions/JT808.Protocol.Extensions.JT1078/MessageBody/JT808_0x9101.cs
  28. +12
    -7
      src/JT808.Protocol.Extensions/JT808.Protocol.Extensions.JT1078/MessageBody/JT808_0x9102.cs
  29. +12
    -7
      src/JT808.Protocol.Extensions/JT808.Protocol.Extensions.JT1078/MessageBody/JT808_0x9105.cs
  30. +11
    -7
      src/JT808.Protocol.Extensions/JT808.Protocol.Extensions.JT1078/MessageBody/JT808_0x9201.cs
  31. +11
    -7
      src/JT808.Protocol.Extensions/JT808.Protocol.Extensions.JT1078/MessageBody/JT808_0x9202.cs
  32. +29
    -11
      src/JT808.Protocol.Extensions/JT808.Protocol.Extensions.JT1078/MessageBody/JT808_0x9205.cs
  33. +5
    -5
      src/JT808.Protocol.Extensions/JT808.Protocol.Extensions.JT1078/MessageBody/JT808_0x9206.cs
  34. +29
    -11
      src/JT808.Protocol.Extensions/JT808.Protocol.Extensions.JT1078/MessageBody/JT808_0x9207.cs
  35. +29
    -11
      src/JT808.Protocol.Extensions/JT808.Protocol.Extensions.JT1078/MessageBody/JT808_0x9301.cs
  36. +29
    -12
      src/JT808.Protocol.Extensions/JT808.Protocol.Extensions.JT1078/MessageBody/JT808_0x9302.cs
  37. +29
    -11
      src/JT808.Protocol.Extensions/JT808.Protocol.Extensions.JT1078/MessageBody/JT808_0x9303.cs
  38. +29
    -10
      src/JT808.Protocol.Extensions/JT808.Protocol.Extensions.JT1078/MessageBody/JT808_0x9304.cs
  39. +30
    -9
      src/JT808.Protocol.Extensions/JT808.Protocol.Extensions.JT1078/MessageBody/JT808_0x9305.cs
  40. +29
    -11
      src/JT808.Protocol.Extensions/JT808.Protocol.Extensions.JT1078/MessageBody/JT808_0x9306.cs
  41. +2
    -2
      src/JT808.Protocol.Extensions/JT808.Protocol.Extensions.SuBiao.Test/JT808.Protocol.Extensions.SuBiao.Test.csproj
  42. +5
    -5
      src/JT808.Protocol.Extensions/JT808.Protocol.Extensions.SuBiao/MessageBody/JT808_0x0200_0x64.cs
  43. +5
    -5
      src/JT808.Protocol.Extensions/JT808.Protocol.Extensions.SuBiao/MessageBody/JT808_0x0200_0x65.cs
  44. +5
    -5
      src/JT808.Protocol.Extensions/JT808.Protocol.Extensions.SuBiao/MessageBody/JT808_0x0200_0x66.cs
  45. +5
    -5
      src/JT808.Protocol.Extensions/JT808.Protocol.Extensions.SuBiao/MessageBody/JT808_0x0200_0x67.cs
  46. +4
    -4
      src/JT808.Protocol.Extensions/JT808.Protocol.Extensions.SuBiao/MessageBody/JT808_0x0900_0xF7.cs
  47. +4
    -4
      src/JT808.Protocol.Extensions/JT808.Protocol.Extensions.SuBiao/MessageBody/JT808_0x0900_0xF8.cs
  48. +5
    -5
      src/JT808.Protocol.Extensions/JT808.Protocol.Extensions.SuBiao/MessageBody/JT808_0x1210.cs
  49. +5
    -5
      src/JT808.Protocol.Extensions/JT808.Protocol.Extensions.SuBiao/MessageBody/JT808_0x1211.cs
  50. +5
    -5
      src/JT808.Protocol.Extensions/JT808.Protocol.Extensions.SuBiao/MessageBody/JT808_0x1212.cs
  51. +6
    -6
      src/JT808.Protocol.Extensions/JT808.Protocol.Extensions.SuBiao/MessageBody/JT808_0x8103_0xF364.cs
  52. +6
    -6
      src/JT808.Protocol.Extensions/JT808.Protocol.Extensions.SuBiao/MessageBody/JT808_0x8103_0xF365.cs
  53. +6
    -6
      src/JT808.Protocol.Extensions/JT808.Protocol.Extensions.SuBiao/MessageBody/JT808_0x8103_0xF366.cs
  54. +6
    -6
      src/JT808.Protocol.Extensions/JT808.Protocol.Extensions.SuBiao/MessageBody/JT808_0x8103_0xF367.cs
  55. +4
    -4
      src/JT808.Protocol.Extensions/JT808.Protocol.Extensions.SuBiao/MessageBody/JT808_0x8900_0xF7.cs
  56. +4
    -4
      src/JT808.Protocol.Extensions/JT808.Protocol.Extensions.SuBiao/MessageBody/JT808_0x8900_0xF8.cs
  57. +5
    -5
      src/JT808.Protocol.Extensions/JT808.Protocol.Extensions.SuBiao/MessageBody/JT808_0x9208.cs
  58. +5
    -5
      src/JT808.Protocol.Extensions/JT808.Protocol.Extensions.SuBiao/MessageBody/JT808_0x9212.cs
  59. +2
    -2
      src/JT808.Protocol.Extensions/JT808.Protocol.Extensions.YueBiao.Test/JT808.Protocol.Extensions.YueBiao.Test.csproj
  60. +5
    -5
      src/JT808.Protocol.Extensions/JT808.Protocol.Extensions.YueBiao/MessageBody/JT808_0x0200_0x64.cs
  61. +5
    -5
      src/JT808.Protocol.Extensions/JT808.Protocol.Extensions.YueBiao/MessageBody/JT808_0x0200_0x65.cs
  62. +5
    -5
      src/JT808.Protocol.Extensions/JT808.Protocol.Extensions.YueBiao/MessageBody/JT808_0x0200_0x66.cs
  63. +5
    -5
      src/JT808.Protocol.Extensions/JT808.Protocol.Extensions.YueBiao/MessageBody/JT808_0x0200_0x67.cs
  64. +5
    -5
      src/JT808.Protocol.Extensions/JT808.Protocol.Extensions.YueBiao/MessageBody/JT808_0x0200_0xF1.cs
  65. +5
    -5
      src/JT808.Protocol.Extensions/JT808.Protocol.Extensions.YueBiao/MessageBody/JT808_0x0200_0xF2.cs
  66. +4
    -4
      src/JT808.Protocol.Extensions/JT808.Protocol.Extensions.YueBiao/MessageBody/JT808_0x0900_0xF7.cs
  67. +4
    -4
      src/JT808.Protocol.Extensions/JT808.Protocol.Extensions.YueBiao/MessageBody/JT808_0x0900_0xF8.cs
  68. +5
    -5
      src/JT808.Protocol.Extensions/JT808.Protocol.Extensions.YueBiao/MessageBody/JT808_0x1210.cs
  69. +5
    -5
      src/JT808.Protocol.Extensions/JT808.Protocol.Extensions.YueBiao/MessageBody/JT808_0x1211.cs
  70. +5
    -5
      src/JT808.Protocol.Extensions/JT808.Protocol.Extensions.YueBiao/MessageBody/JT808_0x1212.cs
  71. +5
    -5
      src/JT808.Protocol.Extensions/JT808.Protocol.Extensions.YueBiao/MessageBody/JT808_0x1FC4.cs
  72. +6
    -6
      src/JT808.Protocol.Extensions/JT808.Protocol.Extensions.YueBiao/MessageBody/JT808_0x8103_0xF364.cs
  73. +6
    -6
      src/JT808.Protocol.Extensions/JT808.Protocol.Extensions.YueBiao/MessageBody/JT808_0x8103_0xF365.cs
  74. +6
    -6
      src/JT808.Protocol.Extensions/JT808.Protocol.Extensions.YueBiao/MessageBody/JT808_0x8103_0xF366.cs
  75. +6
    -6
      src/JT808.Protocol.Extensions/JT808.Protocol.Extensions.YueBiao/MessageBody/JT808_0x8103_0xF367.cs
  76. +6
    -6
      src/JT808.Protocol.Extensions/JT808.Protocol.Extensions.YueBiao/MessageBody/JT808_0x8103_0xF370.cs
  77. +4
    -4
      src/JT808.Protocol.Extensions/JT808.Protocol.Extensions.YueBiao/MessageBody/JT808_0x8900_0xF7.cs
  78. +4
    -4
      src/JT808.Protocol.Extensions/JT808.Protocol.Extensions.YueBiao/MessageBody/JT808_0x8900_0xF8.cs
  79. +5
    -5
      src/JT808.Protocol.Extensions/JT808.Protocol.Extensions.YueBiao/MessageBody/JT808_0x9208.cs
  80. +5
    -5
      src/JT808.Protocol.Extensions/JT808.Protocol.Extensions.YueBiao/MessageBody/JT808_0x9212.cs
  81. +2
    -2
      src/JT808.Protocol.Test/Extensions/JT808EnumExtensionsTest.cs
  82. +9
    -9
      src/JT808.Protocol.Test/Extensions/JT808PackageExtensionsTest.cs
  83. +0
    -1
      src/JT808.Protocol.Test/JT808.Protocol.Test.csproj
  84. +5
    -5
      src/JT808.Protocol.Test/MessageBody/JT808LocationAttachExtensions/JT808LocationAttachImpl0x61.cs
  85. +4
    -4
      src/JT808.Protocol.Test/MessageBody/JT808_0X8900_BodiesImpl/JT808_0X8900_Test_BodiesImpl.cs
  86. +1
    -0
      src/JT808.Protocol.Test/MessageBody/JT808_0x0200Test.cs
  87. +3
    -3
      src/JT808.Protocol.Test/MessageBody/JT808_0x0701BodiesImpl/JT808_0x0701TestBodiesImpl.cs
  88. +4
    -4
      src/JT808.Protocol.Test/MessageBody/JT808_0x0900_BodiesImpl/JT808_0x0900_0x83.cs
  89. +6
    -6
      src/JT808.Protocol.Test/MessageBody/JT808_0x8103CustomIdExtensions/JT808_0x8103_0x0075.cs
  90. +1
    -0
      src/JT808.Protocol.Test/MessageBody/JT808_0x8103Test.cs
  91. +4
    -4
      src/JT808.Protocol.Test/MessageBody/JT808_0x8500Test.cs
  92. +5
    -5
      src/JT808.Protocol.Test/MessageBody/JT808_0x9999.cs
  93. +24
    -20
      src/JT808.Protocol.Test/Simples/Demo10.cs
  94. +5
    -5
      src/JT808.Protocol.Test/Simples/Demo13.cs
  95. +21
    -17
      src/JT808.Protocol.Test/Simples/Demo4.cs
  96. +12
    -10
      src/JT808.Protocol.Test/Simples/Demo6.cs
  97. +6
    -6
      src/JT808.Protocol.Test/Simples/Demo8.cs
  98. +51
    -1
      src/JT808.Protocol/Extensions/JT808ConfigExtensions.cs
  99. +0
    -95
      src/JT808.Protocol/Extensions/JT808MessagePackFormatterResolverExtensions.cs
  100. +3
    -4
      src/JT808.Protocol/Formatters/IJT808FormatterFactory.cs

+ 21
- 20
README.en.md 파일 보기

@@ -211,7 +211,9 @@ DT1JT808Config.Register(Assembly.GetExecutingAssembly());
DT1JT808Config.SkipCRCCode = true;
// Add a user-defined message Id based on the device terminal Id
DT1JT808Config.MsgIdFactory.SetMap<DT1Demo6>();
DT1JT808Config.FormatterFactory.SetMap<DT1Demo6>();
DT2JT808Config.MsgIdFactory.SetMap<DT2Demo6>();
DT2JT808Config.FormatterFactory.SetMap<DT2Demo6>();
// Initializes the serialization instance
JT808Serializer DT1JT808Serializer = new JT808Serializer(DT1JT808Config);
JT808Serializer DT2JT808Serializer = new JT808Serializer(DT2JT808Config);
@@ -385,31 +387,30 @@ Due to access many different equipment vendor's agreement, but each protocol doc

``` ini

BenchmarkDotNet=v0.13.2, OS=Windows 11 (10.0.22621.819)
BenchmarkDotNet=v0.13.2, OS=Windows 11 (10.0.22621.1105)
Intel Core i7-8700K CPU 3.70GHz (Coffee Lake), 1 CPU, 12 logical and 6 physical cores
.NET SDK=7.0.100
[Host] : .NET 7.0.0 (7.0.22.51805), X64 RyuJIT AVX2
Job-AEXBOF : .NET 7.0.0 (7.0.22.51805), X64 RyuJIT AVX2
.NET SDK=7.0.102
[Host] : .NET 7.0.2 (7.0.222.60605), X64 RyuJIT AVX2
Job-OIKLWD : .NET 7.0.2 (7.0.222.60605), X64 RyuJIT AVX2

Platform=AnyCpu Server=False Toolchain=.NET 7.0

```

| Method | Categories | N | Mean | Error | StdDev | Gen0 | Allocated |
|-------------------------------- |----------------- |------- |--------------:|-------------:|-------------:|-----------:|-------------:|
| **0x0100Serialize** | **0x0100Serializer** | **100** | **85.84 μs** | **1.686 μs** | **1.874 μs** | **10.7422** | **66.41 KB** |
| 0x0100Deserialize | 0x0100Serializer | 100 | 73.65 μs | 1.463 μs | 2.099 μs | 15.7471 | 96.88 KB |
| **0x0100Serialize** | **0x0100Serializer** | **10000** | **8,507.50 μs** | **167.504 μs** | **279.862 μs** | **1078.1250** | **6640.63 KB** |
| 0x0100Deserialize | 0x0100Serializer | 10000 | 7,436.10 μs | 123.684 μs | 103.281 μs | 1578.1250 | 9687.5 KB |
| **0x0100Serialize** | **0x0100Serializer** | **100000** | **87,588.91 μs** | **1,734.191 μs** | **3,842.848 μs** | **10833.3333** | **66406.33 KB** |
| 0x0100Deserialize | 0x0100Serializer | 100000 | 76,992.19 μs | 1,519.795 μs | 3,271.519 μs | 15714.2857 | 96875.07 KB |
| | | | | | | | |
| **0x0200_All_AttachId_Serialize** | **0x0200Serializer** | **100** | **205.22 μs** | **4.094 μs** | **8.725 μs** | **29.5410** | **181.25 KB** |
| 0x0200_All_AttachId_Deserialize | 0x0200Serializer | 100 | 896.54 μs | 17.627 μs | 43.571 μs | 82.0313 | 507.03 KB |
| **0x0200_All_AttachId_Serialize** | **0x0200Serializer** | **10000** | **20,329.28 μs** | **407.129 μs** | **1,194.037 μs** | **2937.5000** | **18125.01 KB** |
| 0x0200_All_AttachId_Deserialize | 0x0200Serializer | 10000 | 83,862.14 μs | 1,655.253 μs | 2,719.628 μs | 8142.8571 | 50703.19 KB |
| **0x0200_All_AttachId_Serialize** | **0x0200Serializer** | **100000** | **189,178.02 μs** | **3,595.256 μs** | **3,531.022 μs** | **29333.3333** | **181250.16 KB** |
| 0x0200_All_AttachId_Deserialize | 0x0200Serializer | 100000 | 843,975.52 μs | 8,214.068 μs | 6,859.119 μs | 82000.0000 | 507031.72 KB |
| Method | Categories | N | Mean | Error | StdDev | Gen0 | Gen1 | Allocated |
|-------------------------------- |----------------- |------- |--------------:|-------------:|-------------:|-----------:|---------:|-------------:|
| **0x0100Serialize** | **0x0100Serializer** | **100** | **75.25 μs** | **0.519 μs** | **0.433 μs** | **10.7422** | **-** | **66.41 KB** |
| 0x0100Deserialize | 0x0100Serializer | 100 | 66.56 μs | 0.412 μs | 0.385 μs | 15.7471 | - | 96.88 KB |
| **0x0100Serialize** | **0x0100Serializer** | **10000** | **7,581.60 μs** | **108.729 μs** | **101.705 μs** | **1078.1250** | **-** | **6640.63 KB** |
| 0x0100Deserialize | 0x0100Serializer | 10000 | 6,609.91 μs | 58.293 μs | 51.675 μs | 1578.1250 | - | 9687.5 KB |
| **0x0100Serialize** | **0x0100Serializer** | **100000** | **74,221.22 μs** | **514.498 μs** | **456.089 μs** | **10714.2857** | **-** | **66406.32 KB** |
| 0x0100Deserialize | 0x0100Serializer | 100000 | 65,918.35 μs | 173.702 μs | 162.481 μs | 15750.0000 | - | 96875.06 KB |
| | | | | | | | | |
| **0x0200_All_AttachId_Serialize** | **0x0200Serializer** | **100** | **133.71 μs** | **1.003 μs** | **0.889 μs** | **29.2969** | **-** | **180.47 KB** |
| 0x0200_All_AttachId_Deserialize | 0x0200Serializer | 100 | 137.71 μs | 1.125 μs | 0.997 μs | 38.0859 | 0.2441 | 234.38 KB |
| **0x0200_All_AttachId_Serialize** | **0x0200Serializer** | **10000** | **13,317.92 μs** | **82.257 μs** | **68.688 μs** | **2937.5000** | **-** | **18046.88 KB** |
| 0x0200_All_AttachId_Deserialize | 0x0200Serializer | 10000 | 14,040.86 μs | 242.740 μs | 227.060 μs | 3812.5000 | 15.6250 | 23437.51 KB |
| **0x0200_All_AttachId_Serialize** | **0x0200Serializer** | **100000** | **131,292.10 μs** | **871.653 μs** | **815.344 μs** | **29250.0000** | **-** | **180468.87 KB** |
| 0x0200_All_AttachId_Deserialize | 0x0200Serializer | 100000 | 137,063.75 μs | 1,301.430 μs | 1,086.753 μs | 38250.0000 | 250.0000 | 234375.12 KB |


## JT808 Comparison table of terminal communication protocol messages


+ 21
- 20
README.md 파일 보기

@@ -211,7 +211,9 @@ DT1JT808Config.Register(Assembly.GetExecutingAssembly());
DT1JT808Config.SkipCRCCode = true;
// 根据不同的设备终端号,添加自定义消息Id
DT1JT808Config.MsgIdFactory.SetMap<DT1Demo6>();
DT1JT808Config.FormatterFactory.SetMap<DT1Demo6>();
DT2JT808Config.MsgIdFactory.SetMap<DT2Demo6>();
DT2JT808Config.FormatterFactory.SetMap<DT2Demo6>();
// 初始化序列化实例
JT808Serializer DT1JT808Serializer = new JT808Serializer(DT1JT808Config);
JT808Serializer DT2JT808Serializer = new JT808Serializer(DT2JT808Config);
@@ -385,31 +387,30 @@ JT808Serializer DT2JT808Serializer = new JT808Serializer(DT2JT808Config);

``` ini

BenchmarkDotNet=v0.13.2, OS=Windows 11 (10.0.22621.819)
BenchmarkDotNet=v0.13.2, OS=Windows 11 (10.0.22621.1105)
Intel Core i7-8700K CPU 3.70GHz (Coffee Lake), 1 CPU, 12 logical and 6 physical cores
.NET SDK=7.0.100
[Host] : .NET 7.0.0 (7.0.22.51805), X64 RyuJIT AVX2
Job-AEXBOF : .NET 7.0.0 (7.0.22.51805), X64 RyuJIT AVX2
.NET SDK=7.0.102
[Host] : .NET 7.0.2 (7.0.222.60605), X64 RyuJIT AVX2
Job-OIKLWD : .NET 7.0.2 (7.0.222.60605), X64 RyuJIT AVX2

Platform=AnyCpu Server=False Toolchain=.NET 7.0

```

| Method | Categories | N | Mean | Error | StdDev | Gen0 | Allocated |
|-------------------------------- |----------------- |------- |--------------:|-------------:|-------------:|-----------:|-------------:|
| **0x0100Serialize** | **0x0100Serializer** | **100** | **85.84 μs** | **1.686 μs** | **1.874 μs** | **10.7422** | **66.41 KB** |
| 0x0100Deserialize | 0x0100Serializer | 100 | 73.65 μs | 1.463 μs | 2.099 μs | 15.7471 | 96.88 KB |
| **0x0100Serialize** | **0x0100Serializer** | **10000** | **8,507.50 μs** | **167.504 μs** | **279.862 μs** | **1078.1250** | **6640.63 KB** |
| 0x0100Deserialize | 0x0100Serializer | 10000 | 7,436.10 μs | 123.684 μs | 103.281 μs | 1578.1250 | 9687.5 KB |
| **0x0100Serialize** | **0x0100Serializer** | **100000** | **87,588.91 μs** | **1,734.191 μs** | **3,842.848 μs** | **10833.3333** | **66406.33 KB** |
| 0x0100Deserialize | 0x0100Serializer | 100000 | 76,992.19 μs | 1,519.795 μs | 3,271.519 μs | 15714.2857 | 96875.07 KB |
| | | | | | | | |
| **0x0200_All_AttachId_Serialize** | **0x0200Serializer** | **100** | **205.22 μs** | **4.094 μs** | **8.725 μs** | **29.5410** | **181.25 KB** |
| 0x0200_All_AttachId_Deserialize | 0x0200Serializer | 100 | 896.54 μs | 17.627 μs | 43.571 μs | 82.0313 | 507.03 KB |
| **0x0200_All_AttachId_Serialize** | **0x0200Serializer** | **10000** | **20,329.28 μs** | **407.129 μs** | **1,194.037 μs** | **2937.5000** | **18125.01 KB** |
| 0x0200_All_AttachId_Deserialize | 0x0200Serializer | 10000 | 83,862.14 μs | 1,655.253 μs | 2,719.628 μs | 8142.8571 | 50703.19 KB |
| **0x0200_All_AttachId_Serialize** | **0x0200Serializer** | **100000** | **189,178.02 μs** | **3,595.256 μs** | **3,531.022 μs** | **29333.3333** | **181250.16 KB** |
| 0x0200_All_AttachId_Deserialize | 0x0200Serializer | 100000 | 843,975.52 μs | 8,214.068 μs | 6,859.119 μs | 82000.0000 | 507031.72 KB |
| Method | Categories | N | Mean | Error | StdDev | Gen0 | Gen1 | Allocated |
|-------------------------------- |----------------- |------- |--------------:|-------------:|-------------:|-----------:|---------:|-------------:|
| **0x0100Serialize** | **0x0100Serializer** | **100** | **75.25 μs** | **0.519 μs** | **0.433 μs** | **10.7422** | **-** | **66.41 KB** |
| 0x0100Deserialize | 0x0100Serializer | 100 | 66.56 μs | 0.412 μs | 0.385 μs | 15.7471 | - | 96.88 KB |
| **0x0100Serialize** | **0x0100Serializer** | **10000** | **7,581.60 μs** | **108.729 μs** | **101.705 μs** | **1078.1250** | **-** | **6640.63 KB** |
| 0x0100Deserialize | 0x0100Serializer | 10000 | 6,609.91 μs | 58.293 μs | 51.675 μs | 1578.1250 | - | 9687.5 KB |
| **0x0100Serialize** | **0x0100Serializer** | **100000** | **74,221.22 μs** | **514.498 μs** | **456.089 μs** | **10714.2857** | **-** | **66406.32 KB** |
| 0x0100Deserialize | 0x0100Serializer | 100000 | 65,918.35 μs | 173.702 μs | 162.481 μs | 15750.0000 | - | 96875.06 KB |
| | | | | | | | | |
| **0x0200_All_AttachId_Serialize** | **0x0200Serializer** | **100** | **133.71 μs** | **1.003 μs** | **0.889 μs** | **29.2969** | **-** | **180.47 KB** |
| 0x0200_All_AttachId_Deserialize | 0x0200Serializer | 100 | 137.71 μs | 1.125 μs | 0.997 μs | 38.0859 | 0.2441 | 234.38 KB |
| **0x0200_All_AttachId_Serialize** | **0x0200Serializer** | **10000** | **13,317.92 μs** | **82.257 μs** | **68.688 μs** | **2937.5000** | **-** | **18046.88 KB** |
| 0x0200_All_AttachId_Deserialize | 0x0200Serializer | 10000 | 14,040.86 μs | 242.740 μs | 227.060 μs | 3812.5000 | 15.6250 | 23437.51 KB |
| **0x0200_All_AttachId_Serialize** | **0x0200Serializer** | **100000** | **131,292.10 μs** | **871.653 μs** | **815.344 μs** | **29250.0000** | **-** | **180468.87 KB** |
| 0x0200_All_AttachId_Deserialize | 0x0200Serializer | 100000 | 137,063.75 μs | 1,301.430 μs | 1,086.753 μs | 38250.0000 | 250.0000 | 234375.12 KB |


## JT808终端通讯协议消息对照表


+ 3
- 2
src/Info.props 파일 보기

@@ -1,6 +1,6 @@
<Project>
<PropertyGroup>
<TargetFrameworks>net6.0;net7.0;</TargetFrameworks>
<TargetFrameworks>net7.0;</TargetFrameworks>
<LangVersion>11.0</LangVersion>
<Copyright>Copyright 2018.</Copyright>
<Authors>SmallChi(Koike)</Authors>
@@ -8,7 +8,8 @@
<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.5.1</Version>
<Version>2.6.0</Version>
<ImplicitUsings>enable</ImplicitUsings>
<PackageLicenseFile>LICENSE</PackageLicenseFile>
<PackageRequireLicenseAcceptance>true</PackageRequireLicenseAcceptance>
<AnalysisLevel>latest</AnalysisLevel>


+ 2
- 2
src/JT808.Protocol.Extensions/JT808.Protocol.Extensions.JT1078.Test/JT808.Protocol.Extensions.JT1078.Test.csproj 파일 보기

@@ -1,13 +1,13 @@
<Project Sdk="Microsoft.NET.Sdk">

<PropertyGroup>
<TargetFramework>net6.0</TargetFramework>
<TargetFramework>net7.0</TargetFramework>
</PropertyGroup>

<ItemGroup>
<PackageReference Include="Microsoft.Extensions.DependencyInjection" Version="7.0.0" />
<PackageReference Include="Microsoft.Extensions.Logging" Version="7.0.0" />
<PackageReference Include="Microsoft.NET.Test.Sdk" Version="17.4.0" />
<PackageReference Include="Microsoft.NET.Test.Sdk" Version="17.4.1" />
<PackageReference Include="xunit" Version="2.4.2" />
<PackageReference Include="xunit.runner.visualstudio" Version="2.4.5">
<PrivateAssets>all</PrivateAssets>


+ 338
- 0
src/JT808.Protocol.Extensions/JT808.Protocol.Extensions.JT1078/JT808.Protocol.Extensions.JT1078.xml 파일 보기

@@ -1505,11 +1505,36 @@
查询终端音视频属性
</summary>
</member>
<member name="P:JT808.Protocol.Extensions.JT1078.MessageBody.JT808_0x9003.Description">
<summary>
查询终端音视频属性
</summary>
</member>
<member name="P:JT808.Protocol.Extensions.JT1078.MessageBody.JT808_0x9003.MsgId">
<summary>
0x9003
</summary>
</member>
<member name="P:JT808.Protocol.Extensions.JT1078.MessageBody.JT808_0x9003.SkipSerialization">
<summary>
SkipSerialization
</summary>
</member>
<member name="T:JT808.Protocol.Extensions.JT1078.MessageBody.JT808_0x9101">
<summary>
实时音视频传输请求(live、talk、listen、fanout、passThrough直播、对讲、监听、广播、透传请求)
</summary>
</member>
<member name="P:JT808.Protocol.Extensions.JT1078.MessageBody.JT808_0x9101.Description">
<summary>
实时音视频传输请求
</summary>
</member>
<member name="P:JT808.Protocol.Extensions.JT1078.MessageBody.JT808_0x9101.MsgId">
<summary>
0x9101
</summary>
</member>
<member name="P:JT808.Protocol.Extensions.JT1078.MessageBody.JT808_0x9101.ServerIpLength">
<summary>
视频服务器IP地址长度
@@ -1582,6 +1607,16 @@
音视频实时传输控制(LiveControl直播控制)
</summary>
</member>
<member name="P:JT808.Protocol.Extensions.JT1078.MessageBody.JT808_0x9102.Description">
<summary>
音视频实时传输控制
</summary>
</member>
<member name="P:JT808.Protocol.Extensions.JT1078.MessageBody.JT808_0x9102.MsgId">
<summary>
0x9102
</summary>
</member>
<member name="P:JT808.Protocol.Extensions.JT1078.MessageBody.JT808_0x9102.ChannelNo">
<summary>
逻辑通道号
@@ -1644,6 +1679,16 @@
实时音视频传输状态通知
</summary>
</member>
<member name="P:JT808.Protocol.Extensions.JT1078.MessageBody.JT808_0x9105.Description">
<summary>
实时音视频传输状态通知
</summary>
</member>
<member name="P:JT808.Protocol.Extensions.JT1078.MessageBody.JT808_0x9105.MsgId">
<summary>
0x9105
</summary>
</member>
<member name="P:JT808.Protocol.Extensions.JT1078.MessageBody.JT808_0x9105.ChannelNo">
<summary>
逻辑通道号
@@ -1684,6 +1729,16 @@
平台下发远程录像回放请求(vod点播请求)
</summary>
</member>
<member name="P:JT808.Protocol.Extensions.JT1078.MessageBody.JT808_0x9201.Description">
<summary>
平台下发远程录像回放请求
</summary>
</member>
<member name="P:JT808.Protocol.Extensions.JT1078.MessageBody.JT808_0x9201.MsgId">
<summary>
0x9201
</summary>
</member>
<member name="P:JT808.Protocol.Extensions.JT1078.MessageBody.JT808_0x9201.ServerIpLength">
<summary>
服务器IP地址长度
@@ -1795,6 +1850,16 @@
平台下发远程录像回放控制(VodControl点播控制)
</summary>
</member>
<member name="P:JT808.Protocol.Extensions.JT1078.MessageBody.JT808_0x9202.Description">
<summary>
平台下发远程录像回放控制
</summary>
</member>
<member name="P:JT808.Protocol.Extensions.JT1078.MessageBody.JT808_0x9202.MsgId">
<summary>
0x9202
</summary>
</member>
<member name="P:JT808.Protocol.Extensions.JT1078.MessageBody.JT808_0x9202.ChannelNo">
<summary>
音视频通道号
@@ -1857,6 +1922,16 @@
查询资源列表
</summary>
</member>
<member name="P:JT808.Protocol.Extensions.JT1078.MessageBody.JT808_0x9205.Description">
<summary>
查询资源列表
</summary>
</member>
<member name="P:JT808.Protocol.Extensions.JT1078.MessageBody.JT808_0x9205.MsgId">
<summary>
0x9205
</summary>
</member>
<member name="P:JT808.Protocol.Extensions.JT1078.MessageBody.JT808_0x9205.ChannelNo">
<summary>
逻辑通道号
@@ -1902,6 +1977,30 @@
2:灾备存储器
</summary>
</member>
<member name="M:JT808.Protocol.Extensions.JT1078.MessageBody.JT808_0x9205.Analyze(JT808.Protocol.MessagePack.JT808MessagePackReader@,System.Text.Json.Utf8JsonWriter,JT808.Protocol.IJT808Config)">
<summary>
</summary>
<param name="reader"></param>
<param name="writer"></param>
<param name="config"></param>
</member>
<member name="M:JT808.Protocol.Extensions.JT1078.MessageBody.JT808_0x9205.Deserialize(JT808.Protocol.MessagePack.JT808MessagePackReader@,JT808.Protocol.IJT808Config)">
<summary>
</summary>
<param name="reader"></param>
<param name="config"></param>
<returns></returns>
</member>
<member name="M:JT808.Protocol.Extensions.JT1078.MessageBody.JT808_0x9205.Serialize(JT808.Protocol.MessagePack.JT808MessagePackWriter@,JT808.Protocol.Extensions.JT1078.MessageBody.JT808_0x9205,JT808.Protocol.IJT808Config)">
<summary>
</summary>
<param name="writer"></param>
<param name="value"></param>
<param name="config"></param>
</member>
<member name="T:JT808.Protocol.Extensions.JT1078.MessageBody.JT808_0x9206">
<summary>
文件上传指令
@@ -2031,6 +2130,16 @@
文件上传控制
</summary>
</member>
<member name="P:JT808.Protocol.Extensions.JT1078.MessageBody.JT808_0x9207.Description">
<summary>
文件上传控制
</summary>
</member>
<member name="P:JT808.Protocol.Extensions.JT1078.MessageBody.JT808_0x9207.MsgId">
<summary>
0x9207
</summary>
</member>
<member name="P:JT808.Protocol.Extensions.JT1078.MessageBody.JT808_0x9207.MgsNum">
<summary>
流水号
@@ -2041,11 +2150,45 @@
上传控制
</summary>
</member>
<member name="M:JT808.Protocol.Extensions.JT1078.MessageBody.JT808_0x9207.Analyze(JT808.Protocol.MessagePack.JT808MessagePackReader@,System.Text.Json.Utf8JsonWriter,JT808.Protocol.IJT808Config)">
<summary>
</summary>
<param name="reader"></param>
<param name="writer"></param>
<param name="config"></param>
</member>
<member name="M:JT808.Protocol.Extensions.JT1078.MessageBody.JT808_0x9207.Deserialize(JT808.Protocol.MessagePack.JT808MessagePackReader@,JT808.Protocol.IJT808Config)">
<summary>
</summary>
<param name="reader"></param>
<param name="config"></param>
<returns></returns>
</member>
<member name="M:JT808.Protocol.Extensions.JT1078.MessageBody.JT808_0x9207.Serialize(JT808.Protocol.MessagePack.JT808MessagePackWriter@,JT808.Protocol.Extensions.JT1078.MessageBody.JT808_0x9207,JT808.Protocol.IJT808Config)">
<summary>
</summary>
<param name="writer"></param>
<param name="value"></param>
<param name="config"></param>
</member>
<member name="T:JT808.Protocol.Extensions.JT1078.MessageBody.JT808_0x9301">
<summary>
云台旋转
</summary>
</member>
<member name="P:JT808.Protocol.Extensions.JT1078.MessageBody.JT808_0x9301.Description">
<summary>
云台旋转
</summary>
</member>
<member name="P:JT808.Protocol.Extensions.JT1078.MessageBody.JT808_0x9301.MsgId">
<summary>
0x9301
</summary>
</member>
<member name="P:JT808.Protocol.Extensions.JT1078.MessageBody.JT808_0x9301.ChannelNo">
<summary>
逻辑通道号
@@ -2067,11 +2210,45 @@
0-255
</summary>
</member>
<member name="M:JT808.Protocol.Extensions.JT1078.MessageBody.JT808_0x9301.Analyze(JT808.Protocol.MessagePack.JT808MessagePackReader@,System.Text.Json.Utf8JsonWriter,JT808.Protocol.IJT808Config)">
<summary>
</summary>
<param name="reader"></param>
<param name="writer"></param>
<param name="config"></param>
</member>
<member name="M:JT808.Protocol.Extensions.JT1078.MessageBody.JT808_0x9301.Deserialize(JT808.Protocol.MessagePack.JT808MessagePackReader@,JT808.Protocol.IJT808Config)">
<summary>
</summary>
<param name="reader"></param>
<param name="config"></param>
<returns></returns>
</member>
<member name="M:JT808.Protocol.Extensions.JT1078.MessageBody.JT808_0x9301.Serialize(JT808.Protocol.MessagePack.JT808MessagePackWriter@,JT808.Protocol.Extensions.JT1078.MessageBody.JT808_0x9301,JT808.Protocol.IJT808Config)">
<summary>
</summary>
<param name="writer"></param>
<param name="value"></param>
<param name="config"></param>
</member>
<member name="T:JT808.Protocol.Extensions.JT1078.MessageBody.JT808_0x9302">
<summary>
云台调整焦距控制
</summary>
</member>
<member name="P:JT808.Protocol.Extensions.JT1078.MessageBody.JT808_0x9302.Description">
<summary>
云台调整焦距控制
</summary>
</member>
<member name="P:JT808.Protocol.Extensions.JT1078.MessageBody.JT808_0x9302.MsgId">
<summary>
0x9302
</summary>
</member>
<member name="P:JT808.Protocol.Extensions.JT1078.MessageBody.JT808_0x9302.LogicChannelNo">
<summary>
逻辑通道号
@@ -2082,11 +2259,45 @@
焦距调整方向
</summary>
</member>
<member name="M:JT808.Protocol.Extensions.JT1078.MessageBody.JT808_0x9302.Analyze(JT808.Protocol.MessagePack.JT808MessagePackReader@,System.Text.Json.Utf8JsonWriter,JT808.Protocol.IJT808Config)">
<summary>
</summary>
<param name="reader"></param>
<param name="writer"></param>
<param name="config"></param>
</member>
<member name="M:JT808.Protocol.Extensions.JT1078.MessageBody.JT808_0x9302.Deserialize(JT808.Protocol.MessagePack.JT808MessagePackReader@,JT808.Protocol.IJT808Config)">
<summary>
</summary>
<param name="reader"></param>
<param name="config"></param>
<returns></returns>
</member>
<member name="M:JT808.Protocol.Extensions.JT1078.MessageBody.JT808_0x9302.Serialize(JT808.Protocol.MessagePack.JT808MessagePackWriter@,JT808.Protocol.Extensions.JT1078.MessageBody.JT808_0x9302,JT808.Protocol.IJT808Config)">
<summary>
</summary>
<param name="writer"></param>
<param name="value"></param>
<param name="config"></param>
</member>
<member name="T:JT808.Protocol.Extensions.JT1078.MessageBody.JT808_0x9303">
<summary>
云台调整光圈控制
</summary>
</member>
<member name="P:JT808.Protocol.Extensions.JT1078.MessageBody.JT808_0x9303.Description">
<summary>
云台调整光圈控制
</summary>
</member>
<member name="P:JT808.Protocol.Extensions.JT1078.MessageBody.JT808_0x9303.MsgId">
<summary>
0x9303
</summary>
</member>
<member name="P:JT808.Protocol.Extensions.JT1078.MessageBody.JT808_0x9303.ChannelNo">
<summary>
逻辑通道号
@@ -2097,11 +2308,45 @@
光圈调整方式
</summary>
</member>
<member name="M:JT808.Protocol.Extensions.JT1078.MessageBody.JT808_0x9303.Analyze(JT808.Protocol.MessagePack.JT808MessagePackReader@,System.Text.Json.Utf8JsonWriter,JT808.Protocol.IJT808Config)">
<summary>
</summary>
<param name="reader"></param>
<param name="writer"></param>
<param name="config"></param>
</member>
<member name="M:JT808.Protocol.Extensions.JT1078.MessageBody.JT808_0x9303.Deserialize(JT808.Protocol.MessagePack.JT808MessagePackReader@,JT808.Protocol.IJT808Config)">
<summary>
</summary>
<param name="reader"></param>
<param name="config"></param>
<returns></returns>
</member>
<member name="M:JT808.Protocol.Extensions.JT1078.MessageBody.JT808_0x9303.Serialize(JT808.Protocol.MessagePack.JT808MessagePackWriter@,JT808.Protocol.Extensions.JT1078.MessageBody.JT808_0x9303,JT808.Protocol.IJT808Config)">
<summary>
</summary>
<param name="writer"></param>
<param name="value"></param>
<param name="config"></param>
</member>
<member name="T:JT808.Protocol.Extensions.JT1078.MessageBody.JT808_0x9304">
<summary>
云台雨刷控制
</summary>
</member>
<member name="P:JT808.Protocol.Extensions.JT1078.MessageBody.JT808_0x9304.Description">
<summary>
云台雨刷控制
</summary>
</member>
<member name="P:JT808.Protocol.Extensions.JT1078.MessageBody.JT808_0x9304.MsgId">
<summary>
0x9304
</summary>
</member>
<member name="P:JT808.Protocol.Extensions.JT1078.MessageBody.JT808_0x9304.ChannelNo">
<summary>
逻辑通道号
@@ -2112,11 +2357,45 @@
启停标识
</summary>
</member>
<member name="M:JT808.Protocol.Extensions.JT1078.MessageBody.JT808_0x9304.Analyze(JT808.Protocol.MessagePack.JT808MessagePackReader@,System.Text.Json.Utf8JsonWriter,JT808.Protocol.IJT808Config)">
<summary>
</summary>
<param name="reader"></param>
<param name="writer"></param>
<param name="config"></param>
</member>
<member name="M:JT808.Protocol.Extensions.JT1078.MessageBody.JT808_0x9304.Deserialize(JT808.Protocol.MessagePack.JT808MessagePackReader@,JT808.Protocol.IJT808Config)">
<summary>
</summary>
<param name="reader"></param>
<param name="config"></param>
<returns></returns>
</member>
<member name="M:JT808.Protocol.Extensions.JT1078.MessageBody.JT808_0x9304.Serialize(JT808.Protocol.MessagePack.JT808MessagePackWriter@,JT808.Protocol.Extensions.JT1078.MessageBody.JT808_0x9304,JT808.Protocol.IJT808Config)">
<summary>
</summary>
<param name="writer"></param>
<param name="value"></param>
<param name="config"></param>
</member>
<member name="T:JT808.Protocol.Extensions.JT1078.MessageBody.JT808_0x9305">
<summary>
红外补光控制
</summary>
</member>
<member name="P:JT808.Protocol.Extensions.JT1078.MessageBody.JT808_0x9305.Description">
<summary>
红外补光控制
</summary>
</member>
<member name="P:JT808.Protocol.Extensions.JT1078.MessageBody.JT808_0x9305.MsgId">
<summary>
0x9305
</summary>
</member>
<member name="P:JT808.Protocol.Extensions.JT1078.MessageBody.JT808_0x9305.ChannelNo">
<summary>
逻辑通道号
@@ -2127,11 +2406,46 @@
启停标识
</summary>
</member>
<member name="M:JT808.Protocol.Extensions.JT1078.MessageBody.JT808_0x9305.Analyze(JT808.Protocol.MessagePack.JT808MessagePackReader@,System.Text.Json.Utf8JsonWriter,JT808.Protocol.IJT808Config)">
<summary>
</summary>
<param name="reader"></param>
<param name="writer"></param>
<param name="config"></param>
</member>
<member name="M:JT808.Protocol.Extensions.JT1078.MessageBody.JT808_0x9305.Deserialize(JT808.Protocol.MessagePack.JT808MessagePackReader@,JT808.Protocol.IJT808Config)">
<summary>
</summary>
<param name="reader"></param>
<param name="config"></param>
<returns></returns>
</member>
<member name="M:JT808.Protocol.Extensions.JT1078.MessageBody.JT808_0x9305.Serialize(JT808.Protocol.MessagePack.JT808MessagePackWriter@,JT808.Protocol.Extensions.JT1078.MessageBody.JT808_0x9305,JT808.Protocol.IJT808Config)">
<summary>
</summary>
<param name="writer"></param>
<param name="value"></param>
<param name="config"></param>
<returns></returns>
</member>
<member name="T:JT808.Protocol.Extensions.JT1078.MessageBody.JT808_0x9306">
<summary>
云台变倍控制
</summary>
</member>
<member name="P:JT808.Protocol.Extensions.JT1078.MessageBody.JT808_0x9306.Description">
<summary>
云台变倍控制
</summary>
</member>
<member name="P:JT808.Protocol.Extensions.JT1078.MessageBody.JT808_0x9306.MsgId">
<summary>
0x9306
</summary>
</member>
<member name="P:JT808.Protocol.Extensions.JT1078.MessageBody.JT808_0x9306.ChannelNo">
<summary>
逻辑通道号
@@ -2142,5 +2456,29 @@
变倍控制
</summary>
</member>
<member name="M:JT808.Protocol.Extensions.JT1078.MessageBody.JT808_0x9306.Analyze(JT808.Protocol.MessagePack.JT808MessagePackReader@,System.Text.Json.Utf8JsonWriter,JT808.Protocol.IJT808Config)">
<summary>
</summary>
<param name="reader"></param>
<param name="writer"></param>
<param name="config"></param>
</member>
<member name="M:JT808.Protocol.Extensions.JT1078.MessageBody.JT808_0x9306.Deserialize(JT808.Protocol.MessagePack.JT808MessagePackReader@,JT808.Protocol.IJT808Config)">
<summary>
</summary>
<param name="reader"></param>
<param name="config"></param>
<returns></returns>
</member>
<member name="M:JT808.Protocol.Extensions.JT1078.MessageBody.JT808_0x9306.Serialize(JT808.Protocol.MessagePack.JT808MessagePackWriter@,JT808.Protocol.Extensions.JT1078.MessageBody.JT808_0x9306,JT808.Protocol.IJT808Config)">
<summary>
</summary>
<param name="writer"></param>
<param name="value"></param>
<param name="config"></param>
</member>
</members>
</doc>

+ 5
- 5
src/JT808.Protocol.Extensions/JT808.Protocol.Extensions.JT1078/MessageBody/JT808_0x0200_0x14.cs 파일 보기

@@ -12,16 +12,16 @@ namespace JT808.Protocol.Extensions.JT1078.MessageBody
/// 视频相关报警
/// 0x0200_0x14
/// </summary>
public class JT808_0x0200_0x14 : JT808_0x0200_CustomBodyBase, IJT808MessagePackFormatter<JT808_0x0200_0x14>,IJT808Analyze
public class JT808_0x0200_0x14 : JT808MessagePackFormatter<JT808_0x0200_0x14>, JT808_0x0200_CustomBodyBase, IJT808Analyze
{
/// <summary>
///
/// </summary>
public override byte AttachInfoId { get; set; } = 0x14;
public byte AttachInfoId { get; set; } = 0x14;
/// <summary>
/// 数据 长度
/// </summary>
public override byte AttachInfoLength { get; set; } = 4;
public byte AttachInfoLength { get; set; } = 4;
/// <summary>
/// 视频相关报警
/// <see cref="JT808.Protocol.Extensions.JT1078.Enums.VideoRelateAlarmType"/>
@@ -59,7 +59,7 @@ namespace JT808.Protocol.Extensions.JT1078.MessageBody
/// <param name="reader"></param>
/// <param name="config"></param>
/// <returns></returns>
public JT808_0x0200_0x14 Deserialize(ref JT808MessagePackReader reader, IJT808Config config)
public override JT808_0x0200_0x14 Deserialize(ref JT808MessagePackReader reader, IJT808Config config)
{
JT808_0x0200_0x14 value = new JT808_0x0200_0x14();
value.AttachInfoId = reader.ReadByte();
@@ -73,7 +73,7 @@ namespace JT808.Protocol.Extensions.JT1078.MessageBody
/// <param name="writer"></param>
/// <param name="value"></param>
/// <param name="config"></param>
public void Serialize(ref JT808MessagePackWriter writer, JT808_0x0200_0x14 value, IJT808Config config)
public override void Serialize(ref JT808MessagePackWriter writer, JT808_0x0200_0x14 value, IJT808Config config)
{
writer.WriteByte(value.AttachInfoId);
writer.WriteByte(value.AttachInfoLength);


+ 5
- 5
src/JT808.Protocol.Extensions/JT808.Protocol.Extensions.JT1078/MessageBody/JT808_0x0200_0x15.cs 파일 보기

@@ -11,16 +11,16 @@ namespace JT808.Protocol.Extensions.JT1078.MessageBody
/// 视频信号丢失报警状态
/// 0x0200_0x15
/// </summary>
public class JT808_0x0200_0x15 : JT808_0x0200_CustomBodyBase, IJT808MessagePackFormatter<JT808_0x0200_0x15>, IJT808Analyze
public class JT808_0x0200_0x15 : JT808MessagePackFormatter<JT808_0x0200_0x15>, JT808_0x0200_CustomBodyBase, IJT808Analyze
{
/// <summary>
///
/// </summary>
public override byte AttachInfoId { get; set; } = 0x15;
public byte AttachInfoId { get; set; } = 0x15;
/// <summary>
/// 数据 长度
/// </summary>
public override byte AttachInfoLength { get; set; } = 4;
public byte AttachInfoLength { get; set; } = 4;
/// <summary>
/// 视频信号丢失报警状态
/// </summary>
@@ -63,7 +63,7 @@ namespace JT808.Protocol.Extensions.JT1078.MessageBody
/// <param name="reader"></param>
/// <param name="config"></param>
/// <returns></returns>
public JT808_0x0200_0x15 Deserialize(ref JT808MessagePackReader reader, IJT808Config config)
public override JT808_0x0200_0x15 Deserialize(ref JT808MessagePackReader reader, IJT808Config config)
{
JT808_0x0200_0x15 value = new JT808_0x0200_0x15();
value.AttachInfoId = reader.ReadByte();
@@ -77,7 +77,7 @@ namespace JT808.Protocol.Extensions.JT1078.MessageBody
/// <param name="writer"></param>
/// <param name="value"></param>
/// <param name="config"></param>
public void Serialize(ref JT808MessagePackWriter writer, JT808_0x0200_0x15 value, IJT808Config config)
public override void Serialize(ref JT808MessagePackWriter writer, JT808_0x0200_0x15 value, IJT808Config config)
{
writer.WriteByte(value.AttachInfoId);
writer.WriteByte(value.AttachInfoLength);


+ 5
- 5
src/JT808.Protocol.Extensions/JT808.Protocol.Extensions.JT1078/MessageBody/JT808_0x0200_0x16.cs 파일 보기

@@ -11,16 +11,16 @@ namespace JT808.Protocol.Extensions.JT1078.MessageBody
/// 视频信号遮挡报警状态
/// 0x0200_0x16
/// </summary>
public class JT808_0x0200_0x16 : JT808_0x0200_CustomBodyBase, IJT808MessagePackFormatter<JT808_0x0200_0x16>, IJT808Analyze
public class JT808_0x0200_0x16 : JT808MessagePackFormatter<JT808_0x0200_0x16>, JT808_0x0200_CustomBodyBase, IJT808Analyze
{
/// <summary>
///
/// </summary>
public override byte AttachInfoId { get; set; } = 0x16;
public byte AttachInfoId { get; set; } = 0x16;
/// <summary>
/// 数据 长度
/// </summary>
public override byte AttachInfoLength { get; set; } = 4;
public byte AttachInfoLength { get; set; } = 4;
/// <summary>
/// 视频信号遮挡报警状态
/// </summary>
@@ -63,7 +63,7 @@ namespace JT808.Protocol.Extensions.JT1078.MessageBody
/// <param name="reader"></param>
/// <param name="config"></param>
/// <returns></returns>
public JT808_0x0200_0x16 Deserialize(ref JT808MessagePackReader reader, IJT808Config config)
public override JT808_0x0200_0x16 Deserialize(ref JT808MessagePackReader reader, IJT808Config config)
{
JT808_0x0200_0x16 value = new JT808_0x0200_0x16();
value.AttachInfoId = reader.ReadByte();
@@ -77,7 +77,7 @@ namespace JT808.Protocol.Extensions.JT1078.MessageBody
/// <param name="writer"></param>
/// <param name="value"></param>
/// <param name="config"></param>
public void Serialize(ref JT808MessagePackWriter writer, JT808_0x0200_0x16 value, IJT808Config config)
public override void Serialize(ref JT808MessagePackWriter writer, JT808_0x0200_0x16 value, IJT808Config config)
{
writer.WriteByte(value.AttachInfoId);
writer.WriteByte(value.AttachInfoLength);


+ 5
- 5
src/JT808.Protocol.Extensions/JT808.Protocol.Extensions.JT1078/MessageBody/JT808_0x0200_0x17.cs 파일 보기

@@ -11,16 +11,16 @@ namespace JT808.Protocol.Extensions.JT1078.MessageBody
/// 存储器故障报警状态
/// 0x0200_0x17
/// </summary>
public class JT808_0x0200_0x17 : JT808_0x0200_CustomBodyBase, IJT808MessagePackFormatter<JT808_0x0200_0x17>, IJT808Analyze
public class JT808_0x0200_0x17 : JT808MessagePackFormatter<JT808_0x0200_0x17>, JT808_0x0200_CustomBodyBase, IJT808Analyze
{
/// <summary>
///
/// </summary>
public override byte AttachInfoId { get; set; } = 0x17;
public byte AttachInfoId { get; set; } = 0x17;
/// <summary>
/// 数据 长度
/// </summary>
public override byte AttachInfoLength { get; set; } = 2;
public byte AttachInfoLength { get; set; } = 2;
/// <summary>
/// 存储器故障报警状态
/// </summary>
@@ -77,7 +77,7 @@ namespace JT808.Protocol.Extensions.JT1078.MessageBody
/// <param name="reader"></param>
/// <param name="config"></param>
/// <returns></returns>
public JT808_0x0200_0x17 Deserialize(ref JT808MessagePackReader reader, IJT808Config config)
public override JT808_0x0200_0x17 Deserialize(ref JT808MessagePackReader reader, IJT808Config config)
{
JT808_0x0200_0x17 value = new JT808_0x0200_0x17();
value.AttachInfoId = reader.ReadByte();
@@ -91,7 +91,7 @@ namespace JT808.Protocol.Extensions.JT1078.MessageBody
/// <param name="writer"></param>
/// <param name="value"></param>
/// <param name="config"></param>
public void Serialize(ref JT808MessagePackWriter writer, JT808_0x0200_0x17 value, IJT808Config config)
public override void Serialize(ref JT808MessagePackWriter writer, JT808_0x0200_0x17 value, IJT808Config config)
{
writer.WriteByte(value.AttachInfoId);
writer.WriteByte(value.AttachInfoLength);


+ 5
- 5
src/JT808.Protocol.Extensions/JT808.Protocol.Extensions.JT1078/MessageBody/JT808_0x0200_0x18.cs 파일 보기

@@ -11,16 +11,16 @@ namespace JT808.Protocol.Extensions.JT1078.MessageBody
/// 异常驾驶行为报警详细描述
/// 0x0200_0x18
/// </summary>
public class JT808_0x0200_0x18 : JT808_0x0200_CustomBodyBase, IJT808MessagePackFormatter<JT808_0x0200_0x18>, IJT808Analyze
public class JT808_0x0200_0x18 : JT808MessagePackFormatter<JT808_0x0200_0x18>, JT808_0x0200_CustomBodyBase, IJT808Analyze
{
/// <summary>
///
/// </summary>
public override byte AttachInfoId { get; set; } = 0x18;
public byte AttachInfoId { get; set; } = 0x18;
/// <summary>
/// 数据 长度
/// </summary>
public override byte AttachInfoLength { get; set; } = 3;
public byte AttachInfoLength { get; set; } = 3;
/// <summary>
/// 异常驾驶行为报警类型
/// </summary>
@@ -82,7 +82,7 @@ namespace JT808.Protocol.Extensions.JT1078.MessageBody
/// <param name="reader"></param>
/// <param name="config"></param>
/// <returns></returns>
public JT808_0x0200_0x18 Deserialize(ref JT808MessagePackReader reader, IJT808Config config)
public override JT808_0x0200_0x18 Deserialize(ref JT808MessagePackReader reader, IJT808Config config)
{
JT808_0x0200_0x18 value = new JT808_0x0200_0x18();
value.AttachInfoId = reader.ReadByte();
@@ -97,7 +97,7 @@ namespace JT808.Protocol.Extensions.JT1078.MessageBody
/// <param name="writer"></param>
/// <param name="value"></param>
/// <param name="config"></param>
public void Serialize(ref JT808MessagePackWriter writer, JT808_0x0200_0x18 value, IJT808Config config)
public override void Serialize(ref JT808MessagePackWriter writer, JT808_0x0200_0x18 value, IJT808Config config)
{
writer.WriteByte(value.AttachInfoId);
writer.WriteByte(value.AttachInfoLength);


+ 5
- 5
src/JT808.Protocol.Extensions/JT808.Protocol.Extensions.JT1078/MessageBody/JT808_0x1003.cs 파일 보기

@@ -11,7 +11,7 @@ namespace JT808.Protocol.Extensions.JT1078.MessageBody
/// <summary>
/// 终端上传音视频属性
/// </summary>
public class JT808_0x1003 : JT808Bodies, IJT808MessagePackFormatter<JT808_0x1003>, IJT808Analyze
public class JT808_0x1003 : JT808MessagePackFormatter<JT808_0x1003>, JT808Bodies, IJT808Analyze
{
/// <summary>
/// 输入音频编码方式
@@ -52,11 +52,11 @@ namespace JT808.Protocol.Extensions.JT1078.MessageBody
/// <summary>
///
/// </summary>
public override ushort MsgId => 0x1003;
public ushort MsgId => 0x1003;
/// <summary>
///
/// </summary>
public override string Description => "终端上传音视频属性";
public string Description => "终端上传音视频属性";
/// <summary>
///
/// </summary>
@@ -142,7 +142,7 @@ namespace JT808.Protocol.Extensions.JT1078.MessageBody
/// <param name="reader"></param>
/// <param name="config"></param>
/// <returns></returns>
public JT808_0x1003 Deserialize(ref JT808MessagePackReader reader, IJT808Config config)
public override JT808_0x1003 Deserialize(ref JT808MessagePackReader reader, IJT808Config config)
{
JT808_0x1003 jT808_0x1003 = new JT808_0x1003();
jT808_0x1003.EnterAudioEncoding = reader.ReadByte();
@@ -162,7 +162,7 @@ namespace JT808.Protocol.Extensions.JT1078.MessageBody
/// <param name="writer"></param>
/// <param name="value"></param>
/// <param name="config"></param>
public void Serialize(ref JT808MessagePackWriter writer, JT808_0x1003 value, IJT808Config config)
public override void Serialize(ref JT808MessagePackWriter writer, JT808_0x1003 value, IJT808Config config)
{
writer.WriteByte(value.EnterAudioEncoding);
writer.WriteByte(value.EnterAudioChannelsNumber);


+ 5
- 5
src/JT808.Protocol.Extensions/JT808.Protocol.Extensions.JT1078/MessageBody/JT808_0x1005.cs 파일 보기

@@ -11,16 +11,16 @@ namespace JT808.Protocol.Extensions.JT1078.MessageBody
/// <summary>
/// 终端上传乘客流量
/// </summary>
public class JT808_0x1005 : JT808Bodies, IJT808MessagePackFormatter<JT808_0x1005>, IJT808Analyze
public class JT808_0x1005 : JT808MessagePackFormatter<JT808_0x1005>, JT808Bodies, IJT808Analyze
{
/// <summary>
///
/// </summary>
public override string Description => "终端上传乘客流量";
public string Description => "终端上传乘客流量";
/// <summary>
///
/// </summary>
public override ushort MsgId => 0x1005;
public ushort MsgId => 0x1005;
/// <summary>
/// 起始时间
/// </summary>
@@ -61,7 +61,7 @@ namespace JT808.Protocol.Extensions.JT1078.MessageBody
/// <param name="reader"></param>
/// <param name="config"></param>
/// <returns></returns>
public JT808_0x1005 Deserialize(ref JT808MessagePackReader reader, IJT808Config config)
public override JT808_0x1005 Deserialize(ref JT808MessagePackReader reader, IJT808Config config)
{
JT808_0x1005 jT808_0x1005 = new JT808_0x1005();
jT808_0x1005.BeginTime = reader.ReadDateTime_yyMMddHHmmss();
@@ -76,7 +76,7 @@ namespace JT808.Protocol.Extensions.JT1078.MessageBody
/// <param name="writer"></param>
/// <param name="value"></param>
/// <param name="config"></param>
public void Serialize(ref JT808MessagePackWriter writer, JT808_0x1005 value, IJT808Config config)
public override void Serialize(ref JT808MessagePackWriter writer, JT808_0x1005 value, IJT808Config config)
{
writer.WriteDateTime_yyMMddHHmmss(value.BeginTime);
writer.WriteDateTime_yyMMddHHmmss(value.EndTime);


+ 5
- 5
src/JT808.Protocol.Extensions/JT808.Protocol.Extensions.JT1078/MessageBody/JT808_0x1205.cs 파일 보기

@@ -12,16 +12,16 @@ namespace JT808.Protocol.Extensions.JT1078.MessageBody
/// <summary>
/// 终端上传音视频资源列表
/// </summary>
public class JT808_0x1205 : JT808Bodies, IJT808MessagePackFormatter<JT808_0x1205>, IJT808Analyze
public class JT808_0x1205 : JT808MessagePackFormatter<JT808_0x1205>, JT808Bodies, IJT808Analyze
{
/// <summary>
///
/// </summary>
public override string Description => "终端上传音视频资源列表";
public string Description => "终端上传音视频资源列表";
/// <summary>
///
/// </summary>
public override ushort MsgId => 0x1205;
public ushort MsgId => 0x1205;
/// <summary>
/// 流水号
/// </summary>
@@ -63,7 +63,7 @@ namespace JT808.Protocol.Extensions.JT1078.MessageBody
/// <param name="reader"></param>
/// <param name="config"></param>
/// <returns></returns>
public JT808_0x1205 Deserialize(ref JT808MessagePackReader reader, IJT808Config config)
public override JT808_0x1205 Deserialize(ref JT808MessagePackReader reader, IJT808Config config)
{
JT808_0x1205 jT808_0x1205 = new JT808_0x1205();
jT808_0x1205.MsgNum = reader.ReadUInt16();
@@ -86,7 +86,7 @@ namespace JT808.Protocol.Extensions.JT1078.MessageBody
/// <param name="writer"></param>
/// <param name="value"></param>
/// <param name="config"></param>
public void Serialize(ref JT808MessagePackWriter writer, JT808_0x1205 value, IJT808Config config)
public override void Serialize(ref JT808MessagePackWriter writer, JT808_0x1205 value, IJT808Config config)
{
writer.WriteUInt16(value.MsgNum);
writer.WriteUInt32(value.AVResouceTotal);


+ 3
- 3
src/JT808.Protocol.Extensions/JT808.Protocol.Extensions.JT1078/MessageBody/JT808_0x1205_AVResouce.cs 파일 보기

@@ -11,7 +11,7 @@ namespace JT808.Protocol.Extensions.JT1078.MessageBody
/// <summary>
/// 终端上传音视频资源列表
/// </summary>
public class JT808_0x1205_AVResouce:IJT808MessagePackFormatter<JT808_0x1205_AVResouce>, IJT808Analyze
public class JT808_0x1205_AVResouce:JT808MessagePackFormatter<JT808_0x1205_AVResouce>, IJT808Analyze
{
/// <summary>
/// 逻辑通道号
@@ -152,7 +152,7 @@ namespace JT808.Protocol.Extensions.JT1078.MessageBody
/// <param name="reader"></param>
/// <param name="config"></param>
/// <returns></returns>
public JT808_0x1205_AVResouce Deserialize(ref JT808MessagePackReader reader, IJT808Config config)
public override JT808_0x1205_AVResouce Deserialize(ref JT808MessagePackReader reader, IJT808Config config)
{
JT808_0x1205_AVResouce jT808_0x1205_AVResouce = new JT808_0x1205_AVResouce();
jT808_0x1205_AVResouce.LogicChannelNo = reader.ReadByte();
@@ -171,7 +171,7 @@ namespace JT808.Protocol.Extensions.JT1078.MessageBody
/// <param name="writer"></param>
/// <param name="value"></param>
/// <param name="config"></param>
public void Serialize(ref JT808MessagePackWriter writer, JT808_0x1205_AVResouce value, IJT808Config config)
public override void Serialize(ref JT808MessagePackWriter writer, JT808_0x1205_AVResouce value, IJT808Config config)
{
writer.WriteByte(value.LogicChannelNo);
writer.WriteDateTime_yyMMddHHmmss(value.BeginTime);


+ 5
- 5
src/JT808.Protocol.Extensions/JT808.Protocol.Extensions.JT1078/MessageBody/JT808_0x1206.cs 파일 보기

@@ -11,16 +11,16 @@ namespace JT808.Protocol.Extensions.JT1078.MessageBody
/// <summary>
/// 文件上传完成通知
/// </summary>
public class JT808_0x1206 : JT808Bodies, IJT808MessagePackFormatter<JT808_0x1206>, IJT808Analyze
public class JT808_0x1206 : JT808MessagePackFormatter<JT808_0x1206>, JT808Bodies, IJT808Analyze
{
/// <summary>
///
/// </summary>
public override string Description => "文件上传完成通知";
public string Description => "文件上传完成通知";
/// <summary>
///
/// </summary>
public override ushort MsgId => 0x1206;
public ushort MsgId => 0x1206;
/// <summary>
/// 流水号
/// </summary>
@@ -60,7 +60,7 @@ namespace JT808.Protocol.Extensions.JT1078.MessageBody
/// <param name="reader"></param>
/// <param name="config"></param>
/// <returns></returns>
public JT808_0x1206 Deserialize(ref JT808MessagePackReader reader, IJT808Config config)
public override JT808_0x1206 Deserialize(ref JT808MessagePackReader reader, IJT808Config config)
{
JT808_0x1206 jT808_0x1206 = new JT808_0x1206();
jT808_0x1206.MsgNum = reader.ReadUInt16();
@@ -73,7 +73,7 @@ namespace JT808.Protocol.Extensions.JT1078.MessageBody
/// <param name="writer"></param>
/// <param name="value"></param>
/// <param name="config"></param>
public void Serialize(ref JT808MessagePackWriter writer, JT808_0x1206 value, IJT808Config config)
public override void Serialize(ref JT808MessagePackWriter writer, JT808_0x1206 value, IJT808Config config)
{
writer.WriteUInt16(value.MsgNum);
writer.WriteByte(value.Result);


+ 6
- 6
src/JT808.Protocol.Extensions/JT808.Protocol.Extensions.JT1078/MessageBody/JT808_0x8103_0x0075.cs 파일 보기

@@ -11,16 +11,16 @@ namespace JT808.Protocol.Extensions.JT1078.MessageBody
/// 音视频参数设置
/// 0x8103_0x0075
/// </summary>
public class JT808_0x8103_0x0075 : JT808_0x8103_BodyBase, IJT808MessagePackFormatter<JT808_0x8103_0x0075>, IJT808Analyze
public class JT808_0x8103_0x0075 : JT808MessagePackFormatter<JT808_0x8103_0x0075>, JT808_0x8103_BodyBase, IJT808Analyze
{
/// <summary>
///
/// </summary>
public override uint ParamId { get; set; } = 0x0075;
public uint ParamId { get; set; } = 0x0075;
/// <summary>
/// 数据 长度
/// </summary>
public override byte ParamLength { get; set; } = 21;
public byte ParamLength { get; set; } = 21;
/// <summary>
/// 实时流编码模式
/// </summary>
@@ -78,7 +78,7 @@ namespace JT808.Protocol.Extensions.JT1078.MessageBody
/// <summary>
/// 音视频参数设置
/// </summary>
public override string Description => "音视频参数设置";
public string Description => "音视频参数设置";

/// <summary>
///
@@ -209,7 +209,7 @@ namespace JT808.Protocol.Extensions.JT1078.MessageBody
/// <param name="reader"></param>
/// <param name="config"></param>
/// <returns></returns>
public JT808_0x8103_0x0075 Deserialize(ref JT808MessagePackReader reader, IJT808Config config)
public override JT808_0x8103_0x0075 Deserialize(ref JT808MessagePackReader reader, IJT808Config config)
{
JT808_0x8103_0x0075 jT808_0X8103_0X0075 = new JT808_0x8103_0x0075();
jT808_0X8103_0X0075.ParamId = reader.ReadUInt32();
@@ -234,7 +234,7 @@ namespace JT808.Protocol.Extensions.JT1078.MessageBody
/// <param name="writer"></param>
/// <param name="value"></param>
/// <param name="config"></param>
public void Serialize(ref JT808MessagePackWriter writer, JT808_0x8103_0x0075 value, IJT808Config config)
public override void Serialize(ref JT808MessagePackWriter writer, JT808_0x8103_0x0075 value, IJT808Config config)
{
writer.WriteUInt32(value.ParamId);
writer.WriteByte(value.ParamLength);


+ 6
- 6
src/JT808.Protocol.Extensions/JT808.Protocol.Extensions.JT1078/MessageBody/JT808_0x8103_0x0076.cs 파일 보기

@@ -12,16 +12,16 @@ namespace JT808.Protocol.Extensions.JT1078.MessageBody
/// 音视频通道列表设置
/// 0x8103_0x0076
/// </summary>
public class JT808_0x8103_0x0076 : JT808_0x8103_BodyBase, IJT808MessagePackFormatter<JT808_0x8103_0x0076>, IJT808Analyze
public class JT808_0x8103_0x0076 : JT808MessagePackFormatter<JT808_0x8103_0x0076>, JT808_0x8103_BodyBase, IJT808Analyze
{
/// <summary>
///
/// </summary>
public override uint ParamId { get; set; } = 0x0076;
public uint ParamId { get; set; } = 0x0076;
/// <summary>
/// 数据 长度
/// </summary>
public override byte ParamLength { get; set; }
public byte ParamLength { get; set; }
/// <summary>
/// 音视频通道总数
/// l
@@ -45,7 +45,7 @@ namespace JT808.Protocol.Extensions.JT1078.MessageBody
/// <summary>
/// 音视频通道列表设置
/// </summary>
public override string Description => "音视频通道列表设置";
public string Description => "音视频通道列表设置";

/// <summary>
///
@@ -84,7 +84,7 @@ namespace JT808.Protocol.Extensions.JT1078.MessageBody
/// <param name="reader"></param>
/// <param name="config"></param>
/// <returns></returns>
public JT808_0x8103_0x0076 Deserialize(ref JT808MessagePackReader reader, IJT808Config config)
public override JT808_0x8103_0x0076 Deserialize(ref JT808MessagePackReader reader, IJT808Config config)
{
JT808_0x8103_0x0076 jT808_0X8103_0X0076 = new JT808_0x8103_0x0076();
jT808_0X8103_0X0076.ParamId = reader.ReadUInt32();
@@ -110,7 +110,7 @@ namespace JT808.Protocol.Extensions.JT1078.MessageBody
/// <param name="writer"></param>
/// <param name="value"></param>
/// <param name="config"></param>
public void Serialize(ref JT808MessagePackWriter writer, JT808_0x8103_0x0076 value, IJT808Config config)
public override void Serialize(ref JT808MessagePackWriter writer, JT808_0x8103_0x0076 value, IJT808Config config)
{
writer.WriteUInt32(value.ParamId);
writer.Skip(1, out int position);


+ 3
- 3
src/JT808.Protocol.Extensions/JT808.Protocol.Extensions.JT1078/MessageBody/JT808_0x8103_0x0076_AVChannelRefTable.cs 파일 보기

@@ -9,7 +9,7 @@ namespace JT808.Protocol.Extensions.JT1078.MessageBody
/// 音视频通道列表设置
/// 0x8103_0x0076_AVChannelRefTable
/// </summary>
public class JT808_0x8103_0x0076_AVChannelRefTable: IJT808MessagePackFormatter<JT808_0x8103_0x0076_AVChannelRefTable>, IJT808Analyze
public class JT808_0x8103_0x0076_AVChannelRefTable: JT808MessagePackFormatter<JT808_0x8103_0x0076_AVChannelRefTable>, IJT808Analyze
{
/// <summary>
/// 物理通道号
@@ -113,7 +113,7 @@ namespace JT808.Protocol.Extensions.JT1078.MessageBody
/// <param name="reader"></param>
/// <param name="config"></param>
/// <returns></returns>
public JT808_0x8103_0x0076_AVChannelRefTable Deserialize(ref JT808MessagePackReader reader, IJT808Config config)
public override JT808_0x8103_0x0076_AVChannelRefTable Deserialize(ref JT808MessagePackReader reader, IJT808Config config)
{
JT808_0x8103_0x0076_AVChannelRefTable jT808_0X8103_0X0076_AVChannelRefTable = new JT808_0x8103_0x0076_AVChannelRefTable();
jT808_0X8103_0X0076_AVChannelRefTable.PhysicalChannelNo = reader.ReadByte();
@@ -128,7 +128,7 @@ namespace JT808.Protocol.Extensions.JT1078.MessageBody
/// <param name="writer"></param>
/// <param name="value"></param>
/// <param name="config"></param>
public void Serialize(ref JT808MessagePackWriter writer, JT808_0x8103_0x0076_AVChannelRefTable value, IJT808Config config)
public override void Serialize(ref JT808MessagePackWriter writer, JT808_0x8103_0x0076_AVChannelRefTable value, IJT808Config config)
{
writer.WriteByte(value.PhysicalChannelNo);
writer.WriteByte(value.LogicChannelNo);


+ 6
- 6
src/JT808.Protocol.Extensions/JT808.Protocol.Extensions.JT1078/MessageBody/JT808_0x8103_0x0077.cs 파일 보기

@@ -12,16 +12,16 @@ namespace JT808.Protocol.Extensions.JT1078.MessageBody
///单独视频通道参数设置
/// 0x8103_0x0077
/// </summary>
public class JT808_0x8103_0x0077 : JT808_0x8103_BodyBase, IJT808MessagePackFormatter<JT808_0x8103_0x0077>, IJT808Analyze
public class JT808_0x8103_0x0077 : JT808MessagePackFormatter<JT808_0x8103_0x0077>, JT808_0x8103_BodyBase, IJT808Analyze
{
/// <summary>
///
/// </summary>
public override uint ParamId { get; set; } = 0x0077;
public uint ParamId { get; set; } = 0x0077;
/// <summary>
/// 数据 长度
/// </summary>
public override byte ParamLength { get; set; }
public byte ParamLength { get; set; }
/// <summary>
/// 需单独设置视频参数的通道数量 用n表示
/// </summary>
@@ -33,7 +33,7 @@ namespace JT808.Protocol.Extensions.JT1078.MessageBody
/// <summary>
/// 单独视频通道参数设置
/// </summary>
public override string Description => "单独视频通道参数设置";
public string Description => "单独视频通道参数设置";

/// <summary>
///
@@ -66,7 +66,7 @@ namespace JT808.Protocol.Extensions.JT1078.MessageBody
/// <param name="reader"></param>
/// <param name="config"></param>
/// <returns></returns>
public JT808_0x8103_0x0077 Deserialize(ref JT808MessagePackReader reader, IJT808Config config)
public override JT808_0x8103_0x0077 Deserialize(ref JT808MessagePackReader reader, IJT808Config config)
{
JT808_0x8103_0x0077 jT808_0X8103_0X0077 = new JT808_0x8103_0x0077();
jT808_0X8103_0X0077.ParamId = reader.ReadUInt32();
@@ -89,7 +89,7 @@ namespace JT808.Protocol.Extensions.JT1078.MessageBody
/// <param name="writer"></param>
/// <param name="value"></param>
/// <param name="config"></param>
public void Serialize(ref JT808MessagePackWriter writer, JT808_0x8103_0x0077 value, IJT808Config config)
public override void Serialize(ref JT808MessagePackWriter writer, JT808_0x8103_0x0077 value, IJT808Config config)
{
writer.WriteUInt32(value.ParamId);
writer.Skip(1, out var position);


+ 3
- 3
src/JT808.Protocol.Extensions/JT808.Protocol.Extensions.JT1078/MessageBody/JT808_0x8103_0x0077_SignalChannel.cs 파일 보기

@@ -11,7 +11,7 @@ namespace JT808.Protocol.Extensions.JT1078.MessageBody
/// <summary>
///
/// </summary>
public class JT808_0x8103_0x0077_SignalChannel: IJT808MessagePackFormatter<JT808_0x8103_0x0077_SignalChannel>, IJT808Analyze
public class JT808_0x8103_0x0077_SignalChannel: JT808MessagePackFormatter<JT808_0x8103_0x0077_SignalChannel>, IJT808Analyze
{
/// <summary>
/// 逻辑通道号
@@ -233,7 +233,7 @@ namespace JT808.Protocol.Extensions.JT1078.MessageBody
/// <param name="reader"></param>
/// <param name="config"></param>
/// <returns></returns>
public JT808_0x8103_0x0077_SignalChannel Deserialize(ref JT808MessagePackReader reader, IJT808Config config)
public override JT808_0x8103_0x0077_SignalChannel Deserialize(ref JT808MessagePackReader reader, IJT808Config config)
{
JT808_0x8103_0x0077_SignalChannel jT808_0X8103_0X0077_SignalChannel = new JT808_0x8103_0x0077_SignalChannel();
jT808_0X8103_0X0077_SignalChannel.LogicChannelNo = reader.ReadByte();
@@ -256,7 +256,7 @@ namespace JT808.Protocol.Extensions.JT1078.MessageBody
/// <param name="writer"></param>
/// <param name="value"></param>
/// <param name="config"></param>
public void Serialize(ref JT808MessagePackWriter writer, JT808_0x8103_0x0077_SignalChannel value, IJT808Config config)
public override void Serialize(ref JT808MessagePackWriter writer, JT808_0x8103_0x0077_SignalChannel value, IJT808Config config)
{
writer.WriteByte(value.LogicChannelNo);
writer.WriteByte(value.RTS_EncodeMode);


+ 6
- 6
src/JT808.Protocol.Extensions/JT808.Protocol.Extensions.JT1078/MessageBody/JT808_0x8103_0x0079.cs 파일 보기

@@ -11,16 +11,16 @@ namespace JT808.Protocol.Extensions.JT1078.MessageBody
/// 特殊报警录像参数设置
/// 0x8103_0x0079
/// </summary>
public class JT808_0x8103_0x0079 : JT808_0x8103_BodyBase, IJT808MessagePackFormatter<JT808_0x8103_0x0079>, IJT808Analyze
public class JT808_0x8103_0x0079 : JT808MessagePackFormatter<JT808_0x8103_0x0079>, JT808_0x8103_BodyBase, IJT808Analyze
{
/// <summary>
///
/// </summary>
public override uint ParamId { get; set; } = 0x0079;
public uint ParamId { get; set; } = 0x0079;
/// <summary>
/// 数据 长度
/// </summary>
public override byte ParamLength { get; set; } = 3;
public byte ParamLength { get; set; } = 3;
/// <summary>
/// 特殊报警录像存储阈值
/// </summary>
@@ -37,7 +37,7 @@ namespace JT808.Protocol.Extensions.JT1078.MessageBody
/// <summary>
/// 特殊报警录像参数设置
/// </summary>
public override string Description => "特殊报警录像参数设置";
public string Description => "特殊报警录像参数设置";

/// <summary>
///
@@ -65,7 +65,7 @@ namespace JT808.Protocol.Extensions.JT1078.MessageBody
/// <param name="reader"></param>
/// <param name="config"></param>
/// <returns></returns>
public JT808_0x8103_0x0079 Deserialize(ref JT808MessagePackReader reader, IJT808Config config)
public override JT808_0x8103_0x0079 Deserialize(ref JT808MessagePackReader reader, IJT808Config config)
{
JT808_0x8103_0x0079 jT808_0x8103_0x0079 = new JT808_0x8103_0x0079();
jT808_0x8103_0x0079.ParamId = reader.ReadUInt32();
@@ -81,7 +81,7 @@ namespace JT808.Protocol.Extensions.JT1078.MessageBody
/// <param name="writer"></param>
/// <param name="value"></param>
/// <param name="config"></param>
public void Serialize(ref JT808MessagePackWriter writer, JT808_0x8103_0x0079 value, IJT808Config config)
public override void Serialize(ref JT808MessagePackWriter writer, JT808_0x8103_0x0079 value, IJT808Config config)
{
writer.WriteUInt32(value.ParamId);
writer.WriteByte(value.ParamLength);


+ 6
- 6
src/JT808.Protocol.Extensions/JT808.Protocol.Extensions.JT1078/MessageBody/JT808_0x8103_0x007A.cs 파일 보기

@@ -11,16 +11,16 @@ namespace JT808.Protocol.Extensions.JT1078.MessageBody
/// 视频相关报警屏蔽字
/// 0x8103_0x007A
/// </summary>
public class JT808_0x8103_0x007A : JT808_0x8103_BodyBase, IJT808MessagePackFormatter<JT808_0x8103_0x007A>, IJT808Analyze
public class JT808_0x8103_0x007A : JT808MessagePackFormatter<JT808_0x8103_0x007A>, JT808_0x8103_BodyBase, IJT808Analyze
{
/// <summary>
///
/// </summary>
public override uint ParamId { get; set; } = 0x007A;
public uint ParamId { get; set; } = 0x007A;
/// <summary>
/// 数据 长度
/// </summary>
public override byte ParamLength { get; set; } = 4;
public byte ParamLength { get; set; } = 4;
/// <summary>
/// 视频相关屏蔽报警字
/// </summary>
@@ -28,7 +28,7 @@ namespace JT808.Protocol.Extensions.JT1078.MessageBody
/// <summary>
/// 视频相关报警屏蔽字
/// </summary>
public override string Description => "视频相关报警屏蔽字";
public string Description => "视频相关报警屏蔽字";

/// <summary>
///
@@ -71,7 +71,7 @@ namespace JT808.Protocol.Extensions.JT1078.MessageBody
/// <param name="reader"></param>
/// <param name="config"></param>
/// <returns></returns>
public JT808_0x8103_0x007A Deserialize(ref JT808MessagePackReader reader, IJT808Config config)
public override JT808_0x8103_0x007A Deserialize(ref JT808MessagePackReader reader, IJT808Config config)
{
JT808_0x8103_0x007A jT808_0x8103_0x007A = new JT808_0x8103_0x007A();
jT808_0x8103_0x007A.ParamId = reader.ReadUInt32();
@@ -85,7 +85,7 @@ namespace JT808.Protocol.Extensions.JT1078.MessageBody
/// <param name="writer"></param>
/// <param name="value"></param>
/// <param name="config"></param>
public void Serialize(ref JT808MessagePackWriter writer, JT808_0x8103_0x007A value, IJT808Config config)
public override void Serialize(ref JT808MessagePackWriter writer, JT808_0x8103_0x007A value, IJT808Config config)
{
writer.WriteUInt32(value.ParamId);
writer.WriteByte(value.ParamLength);


+ 6
- 6
src/JT808.Protocol.Extensions/JT808.Protocol.Extensions.JT1078/MessageBody/JT808_0x8103_0x007B.cs 파일 보기

@@ -11,16 +11,16 @@ namespace JT808.Protocol.Extensions.JT1078.MessageBody
/// 图像分析报警参数设置
/// 0x8103_0x007B
/// </summary>
public class JT808_0x8103_0x007B : JT808_0x8103_BodyBase, IJT808MessagePackFormatter<JT808_0x8103_0x007B>, IJT808Analyze
public class JT808_0x8103_0x007B : JT808MessagePackFormatter<JT808_0x8103_0x007B>, JT808_0x8103_BodyBase, IJT808Analyze
{
/// <summary>
///
/// </summary>
public override uint ParamId { get; set; } = 0x007B;
public uint ParamId { get; set; } = 0x007B;
/// <summary>
/// 数据 长度
/// </summary>
public override byte ParamLength { get; set; } = 2;
public byte ParamLength { get; set; } = 2;
/// <summary>
/// 车辆核载人数
/// </summary>
@@ -32,7 +32,7 @@ namespace JT808.Protocol.Extensions.JT1078.MessageBody
/// <summary>
/// 图像分析报警参数设置
/// </summary>
public override string Description => "图像分析报警参数设置";
public string Description => "图像分析报警参数设置";

/// <summary>
///
@@ -58,7 +58,7 @@ namespace JT808.Protocol.Extensions.JT1078.MessageBody
/// <param name="reader"></param>
/// <param name="config"></param>
/// <returns></returns>
public JT808_0x8103_0x007B Deserialize(ref JT808MessagePackReader reader, IJT808Config config)
public override JT808_0x8103_0x007B Deserialize(ref JT808MessagePackReader reader, IJT808Config config)
{
JT808_0x8103_0x007B jT808_0x8103_0x007B = new JT808_0x8103_0x007B();
jT808_0x8103_0x007B.ParamId = reader.ReadUInt32();
@@ -73,7 +73,7 @@ namespace JT808.Protocol.Extensions.JT1078.MessageBody
/// <param name="writer"></param>
/// <param name="value"></param>
/// <param name="config"></param>
public void Serialize(ref JT808MessagePackWriter writer, JT808_0x8103_0x007B value, IJT808Config config)
public override void Serialize(ref JT808MessagePackWriter writer, JT808_0x8103_0x007B value, IJT808Config config)
{
writer.WriteUInt32(value.ParamId);
writer.WriteByte(value.ParamLength);


+ 6
- 6
src/JT808.Protocol.Extensions/JT808.Protocol.Extensions.JT1078/MessageBody/JT808_0x8103_0x007C.cs 파일 보기

@@ -11,16 +11,16 @@ namespace JT808.Protocol.Extensions.JT1078.MessageBody
///终端休眠模式唤醒设置
/// 0x8103_0x007C
/// </summary>
public class JT808_0x8103_0x007C : JT808_0x8103_BodyBase, IJT808MessagePackFormatter<JT808_0x8103_0x007C>, IJT808Analyze
public class JT808_0x8103_0x007C : JT808MessagePackFormatter<JT808_0x8103_0x007C>, JT808_0x8103_BodyBase, IJT808Analyze
{
/// <summary>
///
/// </summary>
public override uint ParamId { get; set; } = 0x007C;
public uint ParamId { get; set; } = 0x007C;
/// <summary>
/// 数据 长度
/// </summary>
public override byte ParamLength { get; set; } = 20;
public byte ParamLength { get; set; } = 20;
/// <summary>
/// 休眠唤醒模式
/// </summary>
@@ -40,7 +40,7 @@ namespace JT808.Protocol.Extensions.JT1078.MessageBody
/// <summary>
/// 终端休眠模式唤醒设置
/// </summary>
public override string Description => "终端休眠模式唤醒设置";
public string Description => "终端休眠模式唤醒设置";

/// <summary>
///
@@ -98,7 +98,7 @@ namespace JT808.Protocol.Extensions.JT1078.MessageBody
/// <param name="reader"></param>
/// <param name="config"></param>
/// <returns></returns>
public JT808_0x8103_0x007C Deserialize(ref JT808MessagePackReader reader, IJT808Config config)
public override JT808_0x8103_0x007C Deserialize(ref JT808MessagePackReader reader, IJT808Config config)
{
JT808_0x8103_0x007C jT808_0x8103_0x007C = new JT808_0x8103_0x007C();
jT808_0x8103_0x007C.ParamId = reader.ReadUInt32();
@@ -115,7 +115,7 @@ namespace JT808.Protocol.Extensions.JT1078.MessageBody
/// <param name="writer"></param>
/// <param name="value"></param>
/// <param name="config"></param>
public void Serialize(ref JT808MessagePackWriter writer, JT808_0x8103_0x007C value, IJT808Config config)
public override void Serialize(ref JT808MessagePackWriter writer, JT808_0x8103_0x007C value, IJT808Config config)
{
writer.WriteUInt32(value.ParamId);
writer.Skip(1, out var position);


+ 3
- 3
src/JT808.Protocol.Extensions/JT808.Protocol.Extensions.JT1078/MessageBody/JT808_0x8103_0x007C_TimerWakeDayParamter.cs 파일 보기

@@ -11,7 +11,7 @@ namespace JT808.Protocol.Extensions.JT1078.MessageBody
///终端休眠模式唤醒设置
/// 0x8103_0x007C
/// </summary>
public class JT808_0x8103_0x007C_TimerWakeDayParamter:IJT808MessagePackFormatter<JT808_0x8103_0x007C_TimerWakeDayParamter>, IJT808Analyze
public class JT808_0x8103_0x007C_TimerWakeDayParamter:JT808MessagePackFormatter<JT808_0x8103_0x007C_TimerWakeDayParamter>, IJT808Analyze
{
/// <summary>
/// 定时唤醒启用标志
@@ -99,7 +99,7 @@ namespace JT808.Protocol.Extensions.JT1078.MessageBody
/// <param name="reader"></param>
/// <param name="config"></param>
/// <returns></returns>
public JT808_0x8103_0x007C_TimerWakeDayParamter Deserialize(ref JT808MessagePackReader reader, IJT808Config config)
public override JT808_0x8103_0x007C_TimerWakeDayParamter Deserialize(ref JT808MessagePackReader reader, IJT808Config config)
{
JT808_0x8103_0x007C_TimerWakeDayParamter jT808_0x8103_0x007C_TimerWakeDayParamter = new JT808_0x8103_0x007C_TimerWakeDayParamter();
jT808_0x8103_0x007C_TimerWakeDayParamter.TimerWakeEnableFlag = reader.ReadByte();
@@ -119,7 +119,7 @@ namespace JT808.Protocol.Extensions.JT1078.MessageBody
/// <param name="writer"></param>
/// <param name="value"></param>
/// <param name="config"></param>
public void Serialize(ref JT808MessagePackWriter writer, JT808_0x8103_0x007C_TimerWakeDayParamter value, IJT808Config config)
public override void Serialize(ref JT808MessagePackWriter writer, JT808_0x8103_0x007C_TimerWakeDayParamter value, IJT808Config config)
{
writer.WriteByte(value.TimerWakeEnableFlag);
writer.WriteBCD(value.TimePeriod1WakeTime, 4);


+ 12
- 6
src/JT808.Protocol.Extensions/JT808.Protocol.Extensions.JT1078/MessageBody/JT808_0x9003.cs 파일 보기

@@ -9,11 +9,17 @@ namespace JT808.Protocol.Extensions.JT1078.MessageBody
/// </summary>
public class JT808_0x9003:JT808Bodies
{
#pragma warning disable CS1591 // 缺少对公共可见类型或成员的 XML 注释
public override string Description => "查询终端音视频属性";

public override ushort MsgId => 0x9003;
public override bool SkipSerialization { get; set; } = true;
#pragma warning restore CS1591 // 缺少对公共可见类型或成员的 XML 注释
/// <summary>
/// 查询终端音视频属性
/// </summary>
public string Description => "查询终端音视频属性";
/// <summary>
/// 0x9003
/// </summary>
public ushort MsgId => 0x9003;
/// <summary>
/// SkipSerialization
/// </summary>
public bool SkipSerialization => true;
}
}

+ 11
- 7
src/JT808.Protocol.Extensions/JT808.Protocol.Extensions.JT1078/MessageBody/JT808_0x9101.cs 파일 보기

@@ -11,12 +11,16 @@ namespace JT808.Protocol.Extensions.JT1078.MessageBody
/// <summary>
/// 实时音视频传输请求(live、talk、listen、fanout、passThrough直播、对讲、监听、广播、透传请求)
/// </summary>
public class JT808_0x9101: JT808Bodies, IJT808MessagePackFormatter<JT808_0x9101>, IJT808Analyze
public class JT808_0x9101: JT808MessagePackFormatter<JT808_0x9101>, JT808Bodies, IJT808Analyze
{
#pragma warning disable CS1591 // 缺少对公共可见类型或成员的 XML 注释
public override string Description => "实时音视频传输请求";
public override ushort MsgId => 0x9101;
#pragma warning restore CS1591 // 缺少对公共可见类型或成员的 XML 注释
/// <summary>
/// 实时音视频传输请求
/// </summary>
public string Description => "实时音视频传输请求";
/// <summary>
/// 0x9101
/// </summary>
public ushort MsgId => 0x9101;

/// <summary>
/// 视频服务器IP地址长度
@@ -120,7 +124,7 @@ namespace JT808.Protocol.Extensions.JT1078.MessageBody
/// <param name="reader"></param>
/// <param name="config"></param>
/// <returns></returns>
public JT808_0x9101 Deserialize(ref JT808MessagePackReader reader, IJT808Config config)
public override JT808_0x9101 Deserialize(ref JT808MessagePackReader reader, IJT808Config config)
{
var jT808_0x9101 = new JT808_0x9101();
jT808_0x9101.ServerIpLength = reader.ReadByte();
@@ -139,7 +143,7 @@ namespace JT808.Protocol.Extensions.JT1078.MessageBody
/// <param name="writer"></param>
/// <param name="value"></param>
/// <param name="config"></param>
public void Serialize(ref JT808MessagePackWriter writer, JT808_0x9101 value, IJT808Config config)
public override void Serialize(ref JT808MessagePackWriter writer, JT808_0x9101 value, IJT808Config config)
{
writer.Skip(1, out int position);
writer.WriteString(value.ServerIp);


+ 12
- 7
src/JT808.Protocol.Extensions/JT808.Protocol.Extensions.JT1078/MessageBody/JT808_0x9102.cs 파일 보기

@@ -11,12 +11,17 @@ namespace JT808.Protocol.Extensions.JT1078.MessageBody
/// <summary>
/// 音视频实时传输控制(LiveControl直播控制)
/// </summary>
public class JT808_0x9102 : JT808Bodies, IJT808MessagePackFormatter<JT808_0x9102>, IJT808Analyze
public class JT808_0x9102 : JT808MessagePackFormatter<JT808_0x9102>, JT808Bodies, IJT808Analyze
{
#pragma warning disable CS1591 // 缺少对公共可见类型或成员的 XML 注释
public override string Description => "音视频实时传输控制";
public override ushort MsgId => 0x9102;
#pragma warning restore CS1591 // 缺少对公共可见类型或成员的 XML 注释
/// <summary>
/// 音视频实时传输控制
/// </summary>
public string Description => "音视频实时传输控制";
/// <summary>
/// 0x9102
/// </summary>
public ushort MsgId => 0x9102;

/// <summary>
/// 逻辑通道号
/// </summary>
@@ -116,7 +121,7 @@ namespace JT808.Protocol.Extensions.JT1078.MessageBody
/// <param name="reader"></param>
/// <param name="config"></param>
/// <returns></returns>
public JT808_0x9102 Deserialize(ref JT808MessagePackReader reader, IJT808Config config)
public override JT808_0x9102 Deserialize(ref JT808MessagePackReader reader, IJT808Config config)
{
var jT808_0X9102 = new JT808_0x9102();
jT808_0X9102.ChannelNo = reader.ReadByte();
@@ -131,7 +136,7 @@ namespace JT808.Protocol.Extensions.JT1078.MessageBody
/// <param name="writer"></param>
/// <param name="value"></param>
/// <param name="config"></param>
public void Serialize(ref JT808MessagePackWriter writer, JT808_0x9102 value, IJT808Config config)
public override void Serialize(ref JT808MessagePackWriter writer, JT808_0x9102 value, IJT808Config config)
{
writer.WriteByte(value.ChannelNo);
writer.WriteByte(value.ControlCmd);


+ 12
- 7
src/JT808.Protocol.Extensions/JT808.Protocol.Extensions.JT1078/MessageBody/JT808_0x9105.cs 파일 보기

@@ -11,12 +11,17 @@ namespace JT808.Protocol.Extensions.JT1078.MessageBody
/// <summary>
/// 实时音视频传输状态通知
/// </summary>
public class JT808_0x9105 : JT808Bodies, IJT808MessagePackFormatter<JT808_0x9105>, IJT808Analyze
public class JT808_0x9105 : JT808MessagePackFormatter<JT808_0x9105>, JT808Bodies, IJT808Analyze
{
#pragma warning disable CS1591 // 缺少对公共可见类型或成员的 XML 注释
public override string Description => "实时音视频传输状态通知";
public override ushort MsgId => 0x9105;
#pragma warning restore CS1591 // 缺少对公共可见类型或成员的 XML 注释
/// <summary>
/// 实时音视频传输状态通知
/// </summary>
public string Description => "实时音视频传输状态通知";
/// <summary>
/// 0x9105
/// </summary>
public ushort MsgId => 0x9105;

/// <summary>
/// 逻辑通道号
/// </summary>
@@ -70,7 +75,7 @@ namespace JT808.Protocol.Extensions.JT1078.MessageBody
/// <param name="reader"></param>
/// <param name="config"></param>
/// <returns></returns>
public JT808_0x9105 Deserialize(ref JT808MessagePackReader reader, IJT808Config config)
public override JT808_0x9105 Deserialize(ref JT808MessagePackReader reader, IJT808Config config)
{
JT808_0x9105 jT808_0x9105 = new JT808_0x9105();
jT808_0x9105.ChannelNo = reader.ReadByte();
@@ -83,7 +88,7 @@ namespace JT808.Protocol.Extensions.JT1078.MessageBody
/// <param name="writer"></param>
/// <param name="value"></param>
/// <param name="config"></param>
public void Serialize(ref JT808MessagePackWriter writer, JT808_0x9105 value, IJT808Config config)
public override void Serialize(ref JT808MessagePackWriter writer, JT808_0x9105 value, IJT808Config config)
{
writer.WriteByte(value.ChannelNo);
writer.WriteByte(value.DropRate);


+ 11
- 7
src/JT808.Protocol.Extensions/JT808.Protocol.Extensions.JT1078/MessageBody/JT808_0x9201.cs 파일 보기

@@ -11,12 +11,16 @@ namespace JT808.Protocol.Extensions.JT1078.MessageBody
/// <summary>
/// 平台下发远程录像回放请求(vod点播请求)
/// </summary>
public class JT808_0x9201 : JT808Bodies, IJT808MessagePackFormatter<JT808_0x9201>, IJT808Analyze
public class JT808_0x9201 : JT808MessagePackFormatter<JT808_0x9201>, JT808Bodies, IJT808Analyze
{
#pragma warning disable CS1591 // 缺少对公共可见类型或成员的 XML 注释
public override string Description => "平台下发远程录像回放请求";
public override ushort MsgId => 0x9201;
#pragma warning restore CS1591 // 缺少对公共可见类型或成员的 XML 注释
/// <summary>
/// 平台下发远程录像回放请求
/// </summary>
public string Description => "平台下发远程录像回放请求";
/// <summary>
/// 0x9201
/// </summary>
public ushort MsgId => 0x9201;
/// <summary>
/// 服务器IP地址长度
/// </summary>
@@ -207,7 +211,7 @@ namespace JT808.Protocol.Extensions.JT1078.MessageBody
/// <param name="reader"></param>
/// <param name="config"></param>
/// <returns></returns>
public JT808_0x9201 Deserialize(ref JT808MessagePackReader reader, IJT808Config config)
public override JT808_0x9201 Deserialize(ref JT808MessagePackReader reader, IJT808Config config)
{
JT808_0x9201 jT808_0x9201 = new JT808_0x9201();
jT808_0x9201.ServerIpLength = reader.ReadByte();
@@ -231,7 +235,7 @@ namespace JT808.Protocol.Extensions.JT1078.MessageBody
/// <param name="writer"></param>
/// <param name="value"></param>
/// <param name="config"></param>
public void Serialize(ref JT808MessagePackWriter writer, JT808_0x9201 value, IJT808Config config)
public override void Serialize(ref JT808MessagePackWriter writer, JT808_0x9201 value, IJT808Config config)
{
writer.Skip(1, out int position);
writer.WriteString(value.ServerIp);


+ 11
- 7
src/JT808.Protocol.Extensions/JT808.Protocol.Extensions.JT1078/MessageBody/JT808_0x9202.cs 파일 보기

@@ -11,12 +11,16 @@ namespace JT808.Protocol.Extensions.JT1078.MessageBody
/// <summary>
/// 平台下发远程录像回放控制(VodControl点播控制)
/// </summary>
public class JT808_0x9202 : JT808Bodies, IJT808MessagePackFormatter<JT808_0x9202>, IJT808Analyze
public class JT808_0x9202 : JT808MessagePackFormatter<JT808_0x9202>, JT808Bodies, IJT808Analyze
{
#pragma warning disable CS1591 // 缺少对公共可见类型或成员的 XML 注释
public override string Description => "平台下发远程录像回放控制";
public override ushort MsgId => 0x9202;
#pragma warning restore CS1591 // 缺少对公共可见类型或成员的 XML 注释
/// <summary>
/// 平台下发远程录像回放控制
/// </summary>
public string Description => "平台下发远程录像回放控制";
/// <summary>
/// 0x9202
/// </summary>
public ushort MsgId => 0x9202;
/// <summary>
/// 音视频通道号
/// </summary>
@@ -118,7 +122,7 @@ namespace JT808.Protocol.Extensions.JT1078.MessageBody
/// <param name="reader"></param>
/// <param name="config"></param>
/// <returns></returns>
public JT808_0x9202 Deserialize(ref JT808MessagePackReader reader, IJT808Config config)
public override JT808_0x9202 Deserialize(ref JT808MessagePackReader reader, IJT808Config config)
{
var jT808_0x9202 = new JT808_0x9202();
jT808_0x9202.ChannelNo = reader.ReadByte();
@@ -133,7 +137,7 @@ namespace JT808.Protocol.Extensions.JT1078.MessageBody
/// <param name="writer"></param>
/// <param name="value"></param>
/// <param name="config"></param>
public void Serialize(ref JT808MessagePackWriter writer, JT808_0x9202 value, IJT808Config config)
public override void Serialize(ref JT808MessagePackWriter writer, JT808_0x9202 value, IJT808Config config)
{
writer.WriteByte(value.ChannelNo);
writer.WriteByte(value.PlayControl);


+ 29
- 11
src/JT808.Protocol.Extensions/JT808.Protocol.Extensions.JT1078/MessageBody/JT808_0x9205.cs 파일 보기

@@ -11,12 +11,16 @@ namespace JT808.Protocol.Extensions.JT1078.MessageBody
/// <summary>
/// 查询资源列表
/// </summary>
public class JT808_0x9205 : JT808Bodies, IJT808MessagePackFormatter<JT808_0x9205>, IJT808Analyze
public class JT808_0x9205 : JT808MessagePackFormatter<JT808_0x9205>, JT808Bodies, IJT808Analyze
{
#pragma warning disable CS1591 // 缺少对公共可见类型或成员的 XML 注释
public override string Description => "查询资源列表";
public override ushort MsgId => 0x9205;
#pragma warning restore CS1591 // 缺少对公共可见类型或成员的 XML 注释
/// <summary>
/// 查询资源列表
/// </summary>
public string Description => "查询资源列表";
/// <summary>
/// 0x9205
/// </summary>
public ushort MsgId => 0x9205;
/// <summary>
/// 逻辑通道号
/// </summary>
@@ -55,7 +59,12 @@ namespace JT808.Protocol.Extensions.JT1078.MessageBody
/// 2:灾备存储器
/// </summary>
public byte MemoryType { get; set; }
#pragma warning disable CS1591 // 缺少对公共可见类型或成员的 XML 注释
/// <summary>
///
/// </summary>
/// <param name="reader"></param>
/// <param name="writer"></param>
/// <param name="config"></param>
public void Analyze(ref JT808MessagePackReader reader, Utf8JsonWriter writer, IJT808Config config)
{
JT808_0x9205 value = new JT808_0x9205();
@@ -128,8 +137,13 @@ namespace JT808.Protocol.Extensions.JT1078.MessageBody
};
}
}

public JT808_0x9205 Deserialize(ref JT808MessagePackReader reader, IJT808Config config)
/// <summary>
///
/// </summary>
/// <param name="reader"></param>
/// <param name="config"></param>
/// <returns></returns>
public override JT808_0x9205 Deserialize(ref JT808MessagePackReader reader, IJT808Config config)
{
var jT808_0x9205 = new JT808_0x9205();
jT808_0x9205.ChannelNo = reader.ReadByte();
@@ -141,8 +155,13 @@ namespace JT808.Protocol.Extensions.JT1078.MessageBody
jT808_0x9205.MemoryType = reader.ReadByte();
return jT808_0x9205;
}

public void Serialize(ref JT808MessagePackWriter writer, JT808_0x9205 value, IJT808Config config)
/// <summary>
///
/// </summary>
/// <param name="writer"></param>
/// <param name="value"></param>
/// <param name="config"></param>
public override void Serialize(ref JT808MessagePackWriter writer, JT808_0x9205 value, IJT808Config config)
{
writer.WriteByte(value.ChannelNo);
writer.WriteDateTime_yyMMddHHmmss(value.BeginTime);
@@ -152,6 +171,5 @@ namespace JT808.Protocol.Extensions.JT1078.MessageBody
writer.WriteByte(value.StreamType);
writer.WriteByte(value.MemoryType);
}
#pragma warning restore CS1591 // 缺少对公共可见类型或成员的 XML 注释
}
}

+ 5
- 5
src/JT808.Protocol.Extensions/JT808.Protocol.Extensions.JT1078/MessageBody/JT808_0x9206.cs 파일 보기

@@ -11,16 +11,16 @@ namespace JT808.Protocol.Extensions.JT1078.MessageBody
/// <summary>
/// 文件上传指令
/// </summary>
public class JT808_0x9206 : JT808Bodies, IJT808MessagePackFormatter<JT808_0x9206>, IJT808Analyze
public class JT808_0x9206 : JT808MessagePackFormatter<JT808_0x9206>, JT808Bodies, IJT808Analyze
{
/// <summary>
/// 文件上传指令
/// </summary>
public override string Description => "文件上传指令";
public string Description => "文件上传指令";
/// <summary>
/// 0x9206
/// </summary>
public override ushort MsgId => 0x9206;
public ushort MsgId => 0x9206;
/// <summary>
/// 服务器IP地址服务
/// </summary>
@@ -206,7 +206,7 @@ namespace JT808.Protocol.Extensions.JT1078.MessageBody
/// <param name="reader"></param>
/// <param name="config"></param>
/// <returns></returns>
public JT808_0x9206 Deserialize(ref JT808MessagePackReader reader, IJT808Config config)
public override JT808_0x9206 Deserialize(ref JT808MessagePackReader reader, IJT808Config config)
{
var jT808_0x9206 = new JT808_0x9206();
jT808_0x9206.ServerIpLength = reader.ReadByte();
@@ -234,7 +234,7 @@ namespace JT808.Protocol.Extensions.JT1078.MessageBody
/// <param name="writer"></param>
/// <param name="value"></param>
/// <param name="config"></param>
public void Serialize(ref JT808MessagePackWriter writer, JT808_0x9206 value, IJT808Config config)
public override void Serialize(ref JT808MessagePackWriter writer, JT808_0x9206 value, IJT808Config config)
{
writer.Skip(1, out int serverIpLengthposition);
writer.WriteString(value.ServerIp);


+ 29
- 11
src/JT808.Protocol.Extensions/JT808.Protocol.Extensions.JT1078/MessageBody/JT808_0x9207.cs 파일 보기

@@ -11,12 +11,16 @@ namespace JT808.Protocol.Extensions.JT1078.MessageBody
/// <summary>
/// 文件上传控制
/// </summary>
public class JT808_0x9207 : JT808Bodies, IJT808MessagePackFormatter<JT808_0x9207>, IJT808Analyze
public class JT808_0x9207 : JT808MessagePackFormatter<JT808_0x9207>, JT808Bodies, IJT808Analyze
{
#pragma warning disable CS1591 // 缺少对公共可见类型或成员的 XML 注释
public override string Description => "文件上传控制";
public override ushort MsgId => 0x9207;
#pragma warning restore CS1591 // 缺少对公共可见类型或成员的 XML 注释
/// <summary>
/// 文件上传控制
/// </summary>
public string Description => "文件上传控制";
/// <summary>
/// 0x9207
/// </summary>
public ushort MsgId => 0x9207;
/// <summary>
/// 流水号
/// </summary>
@@ -26,7 +30,12 @@ namespace JT808.Protocol.Extensions.JT1078.MessageBody
/// </summary>
public byte UploadControl { get; set; }

#pragma warning disable CS1591 // 缺少对公共可见类型或成员的 XML 注释
/// <summary>
///
/// </summary>
/// <param name="reader"></param>
/// <param name="writer"></param>
/// <param name="config"></param>
public void Analyze(ref JT808MessagePackReader reader, Utf8JsonWriter writer, IJT808Config config)
{
JT808_0x9207 value = new JT808_0x9207();
@@ -44,20 +53,29 @@ namespace JT808.Protocol.Extensions.JT1078.MessageBody
};
}
}

public JT808_0x9207 Deserialize(ref JT808MessagePackReader reader, IJT808Config config)
/// <summary>
///
/// </summary>
/// <param name="reader"></param>
/// <param name="config"></param>
/// <returns></returns>
public override JT808_0x9207 Deserialize(ref JT808MessagePackReader reader, IJT808Config config)
{
var jT808_0x9207 = new JT808_0x9207();
jT808_0x9207.MgsNum = reader.ReadUInt16();
jT808_0x9207.UploadControl = reader.ReadByte();
return jT808_0x9207;
}

public void Serialize(ref JT808MessagePackWriter writer, JT808_0x9207 value, IJT808Config config)
/// <summary>
///
/// </summary>
/// <param name="writer"></param>
/// <param name="value"></param>
/// <param name="config"></param>
public override void Serialize(ref JT808MessagePackWriter writer, JT808_0x9207 value, IJT808Config config)
{
writer.WriteUInt16(value.MgsNum);
writer.WriteByte(value.UploadControl);
}
#pragma warning restore CS1591 // 缺少对公共可见类型或成员的 XML 注释
}
}

+ 29
- 11
src/JT808.Protocol.Extensions/JT808.Protocol.Extensions.JT1078/MessageBody/JT808_0x9301.cs 파일 보기

@@ -11,12 +11,16 @@ namespace JT808.Protocol.Extensions.JT1078.MessageBody
/// <summary>
/// 云台旋转
/// </summary>
public class JT808_0x9301 : JT808Bodies, IJT808MessagePackFormatter<JT808_0x9301>, IJT808Analyze
public class JT808_0x9301 : JT808MessagePackFormatter<JT808_0x9301>, JT808Bodies, IJT808Analyze
{
#pragma warning disable CS1591 // 缺少对公共可见类型或成员的 XML 注释
public override string Description => "云台旋转";
public override ushort MsgId => 0x9301;
#pragma warning restore CS1591 // 缺少对公共可见类型或成员的 XML 注释
/// <summary>
/// 云台旋转
/// </summary>
public string Description => "云台旋转";
/// <summary>
/// 0x9301
/// </summary>
public ushort MsgId => 0x9301;
/// <summary>
/// 逻辑通道号
/// </summary>
@@ -35,7 +39,12 @@ namespace JT808.Protocol.Extensions.JT1078.MessageBody
/// 0-255
/// </summary>
public byte Speed { get; set; }
#pragma warning disable CS1591 // 缺少对公共可见类型或成员的 XML 注释
/// <summary>
///
/// </summary>
/// <param name="reader"></param>
/// <param name="writer"></param>
/// <param name="config"></param>
public void Analyze(ref JT808MessagePackReader reader, Utf8JsonWriter writer, IJT808Config config)
{
JT808_0x9301 value = new JT808_0x9301();
@@ -79,8 +88,13 @@ namespace JT808.Protocol.Extensions.JT1078.MessageBody
};
}
}

public JT808_0x9301 Deserialize(ref JT808MessagePackReader reader, IJT808Config config)
/// <summary>
///
/// </summary>
/// <param name="reader"></param>
/// <param name="config"></param>
/// <returns></returns>
public override JT808_0x9301 Deserialize(ref JT808MessagePackReader reader, IJT808Config config)
{
var jT808_0x9301 = new JT808_0x9301();
jT808_0x9301.ChannelNo = reader.ReadByte();
@@ -88,13 +102,17 @@ namespace JT808.Protocol.Extensions.JT1078.MessageBody
jT808_0x9301.Speed = reader.ReadByte();
return jT808_0x9301;
}

public void Serialize(ref JT808MessagePackWriter writer, JT808_0x9301 value, IJT808Config config)
/// <summary>
///
/// </summary>
/// <param name="writer"></param>
/// <param name="value"></param>
/// <param name="config"></param>
public override void Serialize(ref JT808MessagePackWriter writer, JT808_0x9301 value, IJT808Config config)
{
writer.WriteByte(value.ChannelNo);
writer.WriteByte(value.Direction);
writer.WriteByte(value.Speed);
}
#pragma warning restore CS1591 // 缺少对公共可见类型或成员的 XML 注释
}
}

+ 29
- 12
src/JT808.Protocol.Extensions/JT808.Protocol.Extensions.JT1078/MessageBody/JT808_0x9302.cs 파일 보기

@@ -11,13 +11,16 @@ namespace JT808.Protocol.Extensions.JT1078.MessageBody
/// <summary>
/// 云台调整焦距控制
/// </summary>
public class JT808_0x9302 : JT808Bodies, IJT808MessagePackFormatter<JT808_0x9302>, IJT808Analyze
public class JT808_0x9302 : JT808MessagePackFormatter<JT808_0x9302>, JT808Bodies, IJT808Analyze
{
#pragma warning disable CS1591 // 缺少对公共可见类型或成员的 XML 注释
public override string Description => "云台调整焦距控制";
public override ushort MsgId => 0x9302;
#pragma warning restore CS1591 // 缺少对公共可见类型或成员的 XML 注释

/// <summary>
/// 云台调整焦距控制
/// </summary>
public string Description => "云台调整焦距控制";
/// <summary>
/// 0x9302
/// </summary>
public ushort MsgId => 0x9302;
/// <summary>
/// 逻辑通道号
/// </summary>
@@ -26,7 +29,12 @@ namespace JT808.Protocol.Extensions.JT1078.MessageBody
/// 焦距调整方向
/// </summary>
public byte FocusAdjustmentDirection { get; set; }
#pragma warning disable CS1591 // 缺少对公共可见类型或成员的 XML 注释
/// <summary>
///
/// </summary>
/// <param name="reader"></param>
/// <param name="writer"></param>
/// <param name="config"></param>
public void Analyze(ref JT808MessagePackReader reader, Utf8JsonWriter writer, IJT808Config config)
{
var value = new JT808_0x9302();
@@ -59,20 +67,29 @@ namespace JT808.Protocol.Extensions.JT1078.MessageBody
};
}
}

public JT808_0x9302 Deserialize(ref JT808MessagePackReader reader, IJT808Config config)
/// <summary>
///
/// </summary>
/// <param name="reader"></param>
/// <param name="config"></param>
/// <returns></returns>
public override JT808_0x9302 Deserialize(ref JT808MessagePackReader reader, IJT808Config config)
{
var jT808_0x9302 = new JT808_0x9302();
jT808_0x9302.LogicChannelNo = reader.ReadByte();
jT808_0x9302.FocusAdjustmentDirection = reader.ReadByte();
return jT808_0x9302;
}

public void Serialize(ref JT808MessagePackWriter writer, JT808_0x9302 value, IJT808Config config)
/// <summary>
///
/// </summary>
/// <param name="writer"></param>
/// <param name="value"></param>
/// <param name="config"></param>
public override void Serialize(ref JT808MessagePackWriter writer, JT808_0x9302 value, IJT808Config config)
{
writer.WriteByte(value.LogicChannelNo);
writer.WriteByte(value.FocusAdjustmentDirection);
}
#pragma warning restore CS1591 // 缺少对公共可见类型或成员的 XML 注释
}
}

+ 29
- 11
src/JT808.Protocol.Extensions/JT808.Protocol.Extensions.JT1078/MessageBody/JT808_0x9303.cs 파일 보기

@@ -11,12 +11,16 @@ namespace JT808.Protocol.Extensions.JT1078.MessageBody
/// <summary>
/// 云台调整光圈控制
/// </summary>
public class JT808_0x9303 : JT808Bodies, IJT808MessagePackFormatter<JT808_0x9303>, IJT808Analyze
public class JT808_0x9303 : JT808MessagePackFormatter<JT808_0x9303>, JT808Bodies, IJT808Analyze
{
#pragma warning disable CS1591 // 缺少对公共可见类型或成员的 XML 注释
public override string Description => "云台调整光圈控制";
public override ushort MsgId => 0x9303;
#pragma warning restore CS1591 // 缺少对公共可见类型或成员的 XML 注释
/// <summary>
/// 云台调整光圈控制
/// </summary>
public string Description => "云台调整光圈控制";
/// <summary>
/// 0x9303
/// </summary>
public ushort MsgId => 0x9303;
/// <summary>
/// 逻辑通道号
/// </summary>
@@ -25,7 +29,12 @@ namespace JT808.Protocol.Extensions.JT1078.MessageBody
/// 光圈调整方式
/// </summary>
public byte IrisAdjustment { get; set; }
#pragma warning disable CS1591 // 缺少对公共可见类型或成员的 XML 注释
/// <summary>
///
/// </summary>
/// <param name="reader"></param>
/// <param name="writer"></param>
/// <param name="config"></param>
public void Analyze(ref JT808MessagePackReader reader, Utf8JsonWriter writer, IJT808Config config)
{
JT808_0x9303 value = new JT808_0x9303();
@@ -57,20 +66,29 @@ namespace JT808.Protocol.Extensions.JT1078.MessageBody
};
}
}

public JT808_0x9303 Deserialize(ref JT808MessagePackReader reader, IJT808Config config)
/// <summary>
///
/// </summary>
/// <param name="reader"></param>
/// <param name="config"></param>
/// <returns></returns>
public override JT808_0x9303 Deserialize(ref JT808MessagePackReader reader, IJT808Config config)
{
var jT808_0x9303 = new JT808_0x9303();
jT808_0x9303.ChannelNo = reader.ReadByte();
jT808_0x9303.IrisAdjustment = reader.ReadByte();
return jT808_0x9303;
}

public void Serialize(ref JT808MessagePackWriter writer, JT808_0x9303 value, IJT808Config config)
/// <summary>
///
/// </summary>
/// <param name="writer"></param>
/// <param name="value"></param>
/// <param name="config"></param>
public override void Serialize(ref JT808MessagePackWriter writer, JT808_0x9303 value, IJT808Config config)
{
writer.WriteByte(value.ChannelNo);
writer.WriteByte(value.IrisAdjustment);
}
#pragma warning restore CS1591 // 缺少对公共可见类型或成员的 XML 注释
}
}

+ 29
- 10
src/JT808.Protocol.Extensions/JT808.Protocol.Extensions.JT1078/MessageBody/JT808_0x9304.cs 파일 보기

@@ -11,11 +11,16 @@ namespace JT808.Protocol.Extensions.JT1078.MessageBody
/// <summary>
/// 云台雨刷控制
/// </summary>
public class JT808_0x9304 : JT808Bodies, IJT808MessagePackFormatter<JT808_0x9304>, IJT808Analyze
public class JT808_0x9304 : JT808MessagePackFormatter<JT808_0x9304>, JT808Bodies, IJT808Analyze
{
#pragma warning disable CS1591 // 缺少对公共可见类型或成员的 XML 注释
public override string Description => "云台雨刷控制";
public override ushort MsgId => 0x9304;
/// <summary>
/// 云台雨刷控制
/// </summary>
public string Description => "云台雨刷控制";
/// <summary>
/// 0x9304
/// </summary>
public ushort MsgId => 0x9304;
/// <summary>
/// 逻辑通道号
/// </summary>
@@ -24,7 +29,12 @@ namespace JT808.Protocol.Extensions.JT1078.MessageBody
/// 启停标识
/// </summary>
public byte StartOrStop { get; set; }

/// <summary>
///
/// </summary>
/// <param name="reader"></param>
/// <param name="writer"></param>
/// <param name="config"></param>
public void Analyze(ref JT808MessagePackReader reader, Utf8JsonWriter writer, IJT808Config config)
{
JT808_0x9304 value = new JT808_0x9304();
@@ -56,20 +66,29 @@ namespace JT808.Protocol.Extensions.JT1078.MessageBody
};
}
}

public JT808_0x9304 Deserialize(ref JT808MessagePackReader reader, IJT808Config config)
/// <summary>
///
/// </summary>
/// <param name="reader"></param>
/// <param name="config"></param>
/// <returns></returns>
public override JT808_0x9304 Deserialize(ref JT808MessagePackReader reader, IJT808Config config)
{
var jT808_0x9304 = new JT808_0x9304();
jT808_0x9304.ChannelNo = reader.ReadByte();
jT808_0x9304.StartOrStop = reader.ReadByte();
return jT808_0x9304;
}

public void Serialize(ref JT808MessagePackWriter writer, JT808_0x9304 value, IJT808Config config)
/// <summary>
///
/// </summary>
/// <param name="writer"></param>
/// <param name="value"></param>
/// <param name="config"></param>
public override void Serialize(ref JT808MessagePackWriter writer, JT808_0x9304 value, IJT808Config config)
{
writer.WriteByte(value.ChannelNo);
writer.WriteByte(value.StartOrStop);
}
#pragma warning restore CS1591 // 缺少对公共可见类型或成员的 XML 注释
}
}

+ 30
- 9
src/JT808.Protocol.Extensions/JT808.Protocol.Extensions.JT1078/MessageBody/JT808_0x9305.cs 파일 보기

@@ -11,11 +11,16 @@ namespace JT808.Protocol.Extensions.JT1078.MessageBody
/// <summary>
/// 红外补光控制
/// </summary>
public class JT808_0x9305 : JT808Bodies, IJT808MessagePackFormatter<JT808_0x9305>, IJT808Analyze
public class JT808_0x9305 : JT808MessagePackFormatter<JT808_0x9305>, JT808Bodies, IJT808Analyze
{
#pragma warning disable CS1591 // 缺少对公共可见类型或成员的 XML 注释
public override string Description => "红外补光控制";
public override ushort MsgId => 0x9305;
/// <summary>
/// 红外补光控制
/// </summary>
public string Description => "红外补光控制";
/// <summary>
/// 0x9305
/// </summary>
public ushort MsgId => 0x9305;
/// <summary>
/// 逻辑通道号
/// </summary>
@@ -24,7 +29,12 @@ namespace JT808.Protocol.Extensions.JT1078.MessageBody
/// 启停标识
/// </summary>
public byte StartOrStop { get; set; }

/// <summary>
///
/// </summary>
/// <param name="reader"></param>
/// <param name="writer"></param>
/// <param name="config"></param>
public void Analyze(ref JT808MessagePackReader reader, Utf8JsonWriter writer, IJT808Config config)
{
JT808_0x9305 value = new JT808_0x9305();
@@ -56,16 +66,27 @@ namespace JT808.Protocol.Extensions.JT1078.MessageBody
};
}
}

public JT808_0x9305 Deserialize(ref JT808MessagePackReader reader, IJT808Config config)
/// <summary>
///
/// </summary>
/// <param name="reader"></param>
/// <param name="config"></param>
/// <returns></returns>
public override JT808_0x9305 Deserialize(ref JT808MessagePackReader reader, IJT808Config config)
{
var jT808_0x9305 = new JT808_0x9305();
jT808_0x9305.ChannelNo = reader.ReadByte();
jT808_0x9305.StartOrStop = reader.ReadByte();
return jT808_0x9305;
}

public void Serialize(ref JT808MessagePackWriter writer, JT808_0x9305 value, IJT808Config config)
/// <summary>
///
/// </summary>
/// <param name="writer"></param>
/// <param name="value"></param>
/// <param name="config"></param>
/// <returns></returns>
public override void Serialize(ref JT808MessagePackWriter writer, JT808_0x9305 value, IJT808Config config)
{
writer.WriteByte(value.ChannelNo);
writer.WriteByte(value.StartOrStop);


+ 29
- 11
src/JT808.Protocol.Extensions/JT808.Protocol.Extensions.JT1078/MessageBody/JT808_0x9306.cs 파일 보기

@@ -11,12 +11,16 @@ namespace JT808.Protocol.Extensions.JT1078.MessageBody
/// <summary>
/// 云台变倍控制
/// </summary>
public class JT808_0x9306 : JT808Bodies, IJT808MessagePackFormatter<JT808_0x9306>, IJT808Analyze
public class JT808_0x9306 : JT808MessagePackFormatter<JT808_0x9306>, JT808Bodies, IJT808Analyze
{
#pragma warning disable CS1591 // 缺少对公共可见类型或成员的 XML 注释
public override string Description => "云台变倍控制";

public override ushort MsgId => 0x9306;
/// <summary>
/// 云台变倍控制
/// </summary>
public string Description => "云台变倍控制";
/// <summary>
/// 0x9306
/// </summary>
public ushort MsgId => 0x9306;
/// <summary>
/// 逻辑通道号
/// </summary>
@@ -25,7 +29,12 @@ namespace JT808.Protocol.Extensions.JT1078.MessageBody
/// 变倍控制
/// </summary>
public byte ChangeMultipleControl { get; set; }

/// <summary>
///
/// </summary>
/// <param name="reader"></param>
/// <param name="writer"></param>
/// <param name="config"></param>
public void Analyze(ref JT808MessagePackReader reader, Utf8JsonWriter writer, IJT808Config config)
{
var value = new JT808_0x9306();
@@ -57,20 +66,29 @@ namespace JT808.Protocol.Extensions.JT1078.MessageBody
};
}
}

public JT808_0x9306 Deserialize(ref JT808MessagePackReader reader, IJT808Config config)
/// <summary>
///
/// </summary>
/// <param name="reader"></param>
/// <param name="config"></param>
/// <returns></returns>
public override JT808_0x9306 Deserialize(ref JT808MessagePackReader reader, IJT808Config config)
{
var jT808_0x9306 = new JT808_0x9306();
jT808_0x9306.ChannelNo = reader.ReadByte();
jT808_0x9306.ChangeMultipleControl = reader.ReadByte();
return jT808_0x9306;
}

public void Serialize(ref JT808MessagePackWriter writer, JT808_0x9306 value, IJT808Config config)
/// <summary>
///
/// </summary>
/// <param name="writer"></param>
/// <param name="value"></param>
/// <param name="config"></param>
public override void Serialize(ref JT808MessagePackWriter writer, JT808_0x9306 value, IJT808Config config)
{
writer.WriteByte(value.ChannelNo);
writer.WriteByte(value.ChangeMultipleControl);
}
#pragma warning restore CS1591 // 缺少对公共可见类型或成员的 XML 注释
}
}

+ 2
- 2
src/JT808.Protocol.Extensions/JT808.Protocol.Extensions.SuBiao.Test/JT808.Protocol.Extensions.SuBiao.Test.csproj 파일 보기

@@ -1,14 +1,14 @@
<Project Sdk="Microsoft.NET.Sdk">

<PropertyGroup>
<TargetFramework>net6.0</TargetFramework>
<TargetFramework>net7.0</TargetFramework>

<IsPackable>false</IsPackable>
</PropertyGroup>

<ItemGroup>
<PackageReference Include="Microsoft.Extensions.DependencyInjection" Version="7.0.0" />
<PackageReference Include="Microsoft.NET.Test.Sdk" Version="17.4.0" />
<PackageReference Include="Microsoft.NET.Test.Sdk" Version="17.4.1" />
<PackageReference Include="xunit" Version="2.4.2" />
<PackageReference Include="xunit.runner.visualstudio" Version="2.4.5">
<PrivateAssets>all</PrivateAssets>


+ 5
- 5
src/JT808.Protocol.Extensions/JT808.Protocol.Extensions.SuBiao/MessageBody/JT808_0x0200_0x64.cs 파일 보기

@@ -13,16 +13,16 @@ namespace JT808.Protocol.Extensions.SuBiao.MessageBody
/// <summary>
/// 高级驾驶辅助系统报警信息
/// </summary>
public class JT808_0x0200_0x64 : JT808_0x0200_CustomBodyBase, IJT808MessagePackFormatter<JT808_0x0200_0x64>, IJT808Analyze
public class JT808_0x0200_0x64 : JT808MessagePackFormatter<JT808_0x0200_0x64>, JT808_0x0200_CustomBodyBase, IJT808Analyze
{
/// <summary>
/// 高级驾驶辅助系统报警信息Id
/// </summary>
public override byte AttachInfoId { get; set; } = JT808_SuBiao_Constants.JT808_0X0200_0x64;
public byte AttachInfoId { get; set; } = JT808_SuBiao_Constants.JT808_0X0200_0x64;
/// <summary>
/// 高级驾驶辅助系统报警信息附加长度
/// </summary>
public override byte AttachInfoLength { get; set; }
public byte AttachInfoLength { get; set; }
/// <summary>
/// 报警ID
/// </summary>
@@ -276,7 +276,7 @@ namespace JT808.Protocol.Extensions.SuBiao.MessageBody
/// <param name="reader"></param>
/// <param name="config"></param>
/// <returns></returns>
public JT808_0x0200_0x64 Deserialize(ref JT808MessagePackReader reader, IJT808Config config)
public override JT808_0x0200_0x64 Deserialize(ref JT808MessagePackReader reader, IJT808Config config)
{
JT808_0x0200_0x64 value = new JT808_0x0200_0x64();
value.AttachInfoId = reader.ReadByte();
@@ -312,7 +312,7 @@ namespace JT808.Protocol.Extensions.SuBiao.MessageBody
/// <param name="writer"></param>
/// <param name="value"></param>
/// <param name="config"></param>
public void Serialize(ref JT808MessagePackWriter writer, JT808_0x0200_0x64 value, IJT808Config config)
public override void Serialize(ref JT808MessagePackWriter writer, JT808_0x0200_0x64 value, IJT808Config config)
{
writer.WriteByte(value.AttachInfoId);
writer.Skip(1, out int AttachInfoLengthPosition);


+ 5
- 5
src/JT808.Protocol.Extensions/JT808.Protocol.Extensions.SuBiao/MessageBody/JT808_0x0200_0x65.cs 파일 보기

@@ -13,16 +13,16 @@ namespace JT808.Protocol.Extensions.SuBiao.MessageBody
/// <summary>
/// 驾驶员状态监测系统报警信息
/// </summary>
public class JT808_0x0200_0x65 : JT808_0x0200_CustomBodyBase, IJT808MessagePackFormatter<JT808_0x0200_0x65>, IJT808Analyze
public class JT808_0x0200_0x65 : JT808MessagePackFormatter<JT808_0x0200_0x65>, JT808_0x0200_CustomBodyBase, IJT808Analyze
{
/// <summary>
/// 驾驶员状态监测系统报警信息Id
/// </summary>
public override byte AttachInfoId { get; set; } = JT808_SuBiao_Constants.JT808_0X0200_0x65;
public byte AttachInfoId { get; set; } = JT808_SuBiao_Constants.JT808_0X0200_0x65;
/// <summary>
/// 驾驶员状态监测系统报警信息长度
/// </summary>
public override byte AttachInfoLength { get; set; }
public byte AttachInfoLength { get; set; }
/// <summary>
/// 报警ID
/// </summary>
@@ -228,7 +228,7 @@ namespace JT808.Protocol.Extensions.SuBiao.MessageBody
/// <param name="reader"></param>
/// <param name="config"></param>
/// <returns></returns>
public JT808_0x0200_0x65 Deserialize(ref JT808MessagePackReader reader, IJT808Config config)
public override JT808_0x0200_0x65 Deserialize(ref JT808MessagePackReader reader, IJT808Config config)
{
JT808_0x0200_0x65 value = new JT808_0x0200_0x65();
value.AttachInfoId = reader.ReadByte();
@@ -261,7 +261,7 @@ namespace JT808.Protocol.Extensions.SuBiao.MessageBody
/// <param name="writer"></param>
/// <param name="value"></param>
/// <param name="config"></param>
public void Serialize(ref JT808MessagePackWriter writer, JT808_0x0200_0x65 value, IJT808Config config)
public override void Serialize(ref JT808MessagePackWriter writer, JT808_0x0200_0x65 value, IJT808Config config)
{
writer.WriteByte(value.AttachInfoId);
writer.Skip(1, out int AttachInfoLengthPosition);


+ 5
- 5
src/JT808.Protocol.Extensions/JT808.Protocol.Extensions.SuBiao/MessageBody/JT808_0x0200_0x66.cs 파일 보기

@@ -13,16 +13,16 @@ namespace JT808.Protocol.Extensions.SuBiao.MessageBody
/// <summary>
/// 胎压监测系统报警信息
/// </summary>
public class JT808_0x0200_0x66 : JT808_0x0200_CustomBodyBase, IJT808MessagePackFormatter<JT808_0x0200_0x66>, IJT808Analyze
public class JT808_0x0200_0x66 : JT808MessagePackFormatter<JT808_0x0200_0x66>, JT808_0x0200_CustomBodyBase, IJT808Analyze
{
/// <summary>
/// 胎压监测系统报警信息Id
/// </summary>
public override byte AttachInfoId { get; set; } = JT808_SuBiao_Constants.JT808_0X0200_0x66;
public byte AttachInfoId { get; set; } = JT808_SuBiao_Constants.JT808_0X0200_0x66;
/// <summary>
/// 胎压监测系统报警信息长度
/// </summary>
public override byte AttachInfoLength { get; set; }
public byte AttachInfoLength { get; set; }
/// <summary>
/// 报警ID
/// </summary>
@@ -229,7 +229,7 @@ namespace JT808.Protocol.Extensions.SuBiao.MessageBody
/// <param name="reader"></param>
/// <param name="config"></param>
/// <returns></returns>
public JT808_0x0200_0x66 Deserialize(ref JT808MessagePackReader reader, IJT808Config config)
public override JT808_0x0200_0x66 Deserialize(ref JT808MessagePackReader reader, IJT808Config config)
{
JT808_0x0200_0x66 value = new JT808_0x0200_0x66();
value.AttachInfoId = reader.ReadByte();
@@ -273,7 +273,7 @@ namespace JT808.Protocol.Extensions.SuBiao.MessageBody
/// <param name="writer"></param>
/// <param name="value"></param>
/// <param name="config"></param>
public void Serialize(ref JT808MessagePackWriter writer, JT808_0x0200_0x66 value, IJT808Config config)
public override void Serialize(ref JT808MessagePackWriter writer, JT808_0x0200_0x66 value, IJT808Config config)
{
writer.WriteByte(value.AttachInfoId);
writer.Skip(1, out int AttachInfoLengthPosition);


+ 5
- 5
src/JT808.Protocol.Extensions/JT808.Protocol.Extensions.SuBiao/MessageBody/JT808_0x0200_0x67.cs 파일 보기

@@ -13,16 +13,16 @@ namespace JT808.Protocol.Extensions.SuBiao.MessageBody
/// <summary>
/// 盲区监测系统报警信息
/// </summary>
public class JT808_0x0200_0x67 : JT808_0x0200_CustomBodyBase, IJT808MessagePackFormatter<JT808_0x0200_0x67>, IJT808Analyze
public class JT808_0x0200_0x67 : JT808MessagePackFormatter<JT808_0x0200_0x67>, JT808_0x0200_CustomBodyBase, IJT808Analyze
{
/// <summary>
/// 盲区监测系统报警信息Id
/// </summary>
public override byte AttachInfoId { get; set; } = JT808_SuBiao_Constants.JT808_0X0200_0x67;
public byte AttachInfoId { get; set; } = JT808_SuBiao_Constants.JT808_0X0200_0x67;
/// <summary>
/// 盲区监测系统报警信息长度
/// </summary>
public override byte AttachInfoLength { get; set; }
public byte AttachInfoLength { get; set; }
/// <summary>
/// 报警ID
/// </summary>
@@ -220,7 +220,7 @@ namespace JT808.Protocol.Extensions.SuBiao.MessageBody
/// <param name="reader"></param>
/// <param name="config"></param>
/// <returns></returns>
public JT808_0x0200_0x67 Deserialize(ref JT808MessagePackReader reader, IJT808Config config)
public override JT808_0x0200_0x67 Deserialize(ref JT808MessagePackReader reader, IJT808Config config)
{
JT808_0x0200_0x67 value = new JT808_0x0200_0x67();
value.AttachInfoId = reader.ReadByte();
@@ -251,7 +251,7 @@ namespace JT808.Protocol.Extensions.SuBiao.MessageBody
/// <param name="writer"></param>
/// <param name="value"></param>
/// <param name="config"></param>
public void Serialize(ref JT808MessagePackWriter writer, JT808_0x0200_0x67 value, IJT808Config config)
public override void Serialize(ref JT808MessagePackWriter writer, JT808_0x0200_0x67 value, IJT808Config config)
{
writer.WriteByte(value.AttachInfoId);
writer.Skip(1, out int AttachInfoLengthPosition);


+ 4
- 4
src/JT808.Protocol.Extensions/JT808.Protocol.Extensions.SuBiao/MessageBody/JT808_0x0900_0xF7.cs 파일 보기

@@ -14,12 +14,12 @@ namespace JT808.Protocol.Extensions.SuBiao.MessageBody
/// <summary>
/// 透传数据
/// </summary>
public class JT808_0x0900_0xF7 : JT808_0x0900_BodyBase, IJT808MessagePackFormatter<JT808_0x0900_0xF7>, IJT808Analyze
public class JT808_0x0900_0xF7 : JT808MessagePackFormatter<JT808_0x0900_0xF7>, JT808_0x0900_BodyBase, IJT808Analyze
{
/// <summary>
/// 透传类型
/// </summary>
public override byte PassthroughType { get; set; } = JT808_SuBiao_Constants.JT808_0X0900_0xF7;
public byte PassthroughType { get; set; } = JT808_SuBiao_Constants.JT808_0X0900_0xF7;
/// <summary>
/// 消息列表总数
/// </summary>
@@ -79,7 +79,7 @@ namespace JT808.Protocol.Extensions.SuBiao.MessageBody
/// <param name="reader"></param>
/// <param name="config"></param>
/// <returns></returns>
public JT808_0x0900_0xF7 Deserialize(ref JT808MessagePackReader reader, IJT808Config config)
public override JT808_0x0900_0xF7 Deserialize(ref JT808MessagePackReader reader, IJT808Config config)
{
JT808_0x0900_0xF7 value = new JT808_0x0900_0xF7();
value.USBMessageCount = reader.ReadByte();
@@ -104,7 +104,7 @@ namespace JT808.Protocol.Extensions.SuBiao.MessageBody
/// <param name="writer"></param>
/// <param name="value"></param>
/// <param name="config"></param>
public void Serialize(ref JT808MessagePackWriter writer, JT808_0x0900_0xF7 value, IJT808Config config)
public override void Serialize(ref JT808MessagePackWriter writer, JT808_0x0900_0xF7 value, IJT808Config config)
{
if (value.USBMessages != null && value.USBMessages.Count > 0)
{


+ 4
- 4
src/JT808.Protocol.Extensions/JT808.Protocol.Extensions.SuBiao/MessageBody/JT808_0x0900_0xF8.cs 파일 보기

@@ -13,12 +13,12 @@ namespace JT808.Protocol.Extensions.SuBiao.MessageBody
/// <summary>
/// 透传数据
/// </summary>
public class JT808_0x0900_0xF8 : JT808_0x0900_BodyBase, IJT808MessagePackFormatter<JT808_0x0900_0xF8>, IJT808Analyze
public class JT808_0x0900_0xF8 : JT808MessagePackFormatter<JT808_0x0900_0xF8>, JT808_0x0900_BodyBase, IJT808Analyze
{
/// <summary>
/// 透传类型
/// </summary>
public override byte PassthroughType { get; set; } = JT808_SuBiao_Constants.JT808_0X0900_0xF8;
public byte PassthroughType { get; set; } = JT808_SuBiao_Constants.JT808_0X0900_0xF8;
/// <summary>
/// 消息列表总数
/// </summary>
@@ -98,7 +98,7 @@ namespace JT808.Protocol.Extensions.SuBiao.MessageBody
/// <param name="reader"></param>
/// <param name="config"></param>
/// <returns></returns>
public JT808_0x0900_0xF8 Deserialize(ref JT808MessagePackReader reader, IJT808Config config)
public override JT808_0x0900_0xF8 Deserialize(ref JT808MessagePackReader reader, IJT808Config config)
{
JT808_0x0900_0xF8 value = new JT808_0x0900_0xF8();
value.USBMessageCount = reader.ReadByte();
@@ -133,7 +133,7 @@ namespace JT808.Protocol.Extensions.SuBiao.MessageBody
/// <param name="writer"></param>
/// <param name="value"></param>
/// <param name="config"></param>
public void Serialize(ref JT808MessagePackWriter writer, JT808_0x0900_0xF8 value, IJT808Config config)
public override void Serialize(ref JT808MessagePackWriter writer, JT808_0x0900_0xF8 value, IJT808Config config)
{
if (value.USBMessages != null && value.USBMessages.Count > 0)
{


+ 5
- 5
src/JT808.Protocol.Extensions/JT808.Protocol.Extensions.SuBiao/MessageBody/JT808_0x1210.cs 파일 보기

@@ -12,7 +12,7 @@ namespace JT808.Protocol.Extensions.SuBiao.MessageBody
/// <summary>
/// 报警附件信息消息
/// </summary>
public class JT808_0x1210: JT808Bodies, IJT808MessagePackFormatter<JT808_0x1210>, IJT808Analyze
public class JT808_0x1210: JT808MessagePackFormatter<JT808_0x1210>, JT808Bodies, IJT808Analyze
{
/// <summary>
/// 终端ID
@@ -45,11 +45,11 @@ namespace JT808.Protocol.Extensions.SuBiao.MessageBody
/// <summary>
/// 报警附件信息消息Id
/// </summary>
public override ushort MsgId => 0x1210;
public ushort MsgId => 0x1210;
/// <summary>
/// 报警附件信息消息
/// </summary>
public override string Description => "报警附件信息消息";
public string Description => "报警附件信息消息";
/// <summary>
///
/// </summary>
@@ -106,7 +106,7 @@ namespace JT808.Protocol.Extensions.SuBiao.MessageBody
/// <param name="reader"></param>
/// <param name="config"></param>
/// <returns></returns>
public JT808_0x1210 Deserialize(ref JT808MessagePackReader reader, IJT808Config config)
public override JT808_0x1210 Deserialize(ref JT808MessagePackReader reader, IJT808Config config)
{
JT808_0x1210 value = new JT808_0x1210();
value.TerminalId = reader.ReadString(7);
@@ -141,7 +141,7 @@ namespace JT808.Protocol.Extensions.SuBiao.MessageBody
/// <param name="writer"></param>
/// <param name="value"></param>
/// <param name="config"></param>
public void Serialize(ref JT808MessagePackWriter writer, JT808_0x1210 value, IJT808Config config)
public override void Serialize(ref JT808MessagePackWriter writer, JT808_0x1210 value, IJT808Config config)
{
writer.WriteString(value.TerminalId.PadRight(7, '\0'));
if (value.AlarmIdentification == null)


+ 5
- 5
src/JT808.Protocol.Extensions/JT808.Protocol.Extensions.SuBiao/MessageBody/JT808_0x1211.cs 파일 보기

@@ -8,12 +8,12 @@ namespace JT808.Protocol.Extensions.SuBiao.MessageBody
/// <summary>
/// 文件信息上传
/// </summary>
public class JT808_0x1211 : JT808Bodies, IJT808MessagePackFormatter<JT808_0x1211>, IJT808Analyze
public class JT808_0x1211 : JT808MessagePackFormatter<JT808_0x1211>, JT808Bodies, IJT808Analyze
{
/// <summary>
/// 文件信息上传
/// </summary>
public override string Description => "文件信息上传";
public string Description => "文件信息上传";
/// <summary>
/// 文件名称长度
/// </summary>
@@ -34,7 +34,7 @@ namespace JT808.Protocol.Extensions.SuBiao.MessageBody
/// <summary>
/// 文件信息上传Id
/// </summary>
public override ushort MsgId => 0x1211;
public ushort MsgId => 0x1211;
/// <summary>
///
/// </summary>
@@ -60,7 +60,7 @@ namespace JT808.Protocol.Extensions.SuBiao.MessageBody
/// <param name="reader"></param>
/// <param name="config"></param>
/// <returns></returns>
public JT808_0x1211 Deserialize(ref JT808MessagePackReader reader, IJT808Config config)
public override JT808_0x1211 Deserialize(ref JT808MessagePackReader reader, IJT808Config config)
{
JT808_0x1211 value = new JT808_0x1211();
value.FileNameLength = reader.ReadByte();
@@ -75,7 +75,7 @@ namespace JT808.Protocol.Extensions.SuBiao.MessageBody
/// <param name="writer"></param>
/// <param name="value"></param>
/// <param name="config"></param>
public void Serialize(ref JT808MessagePackWriter writer, JT808_0x1211 value, IJT808Config config)
public override void Serialize(ref JT808MessagePackWriter writer, JT808_0x1211 value, IJT808Config config)
{
writer.Skip(1, out int FileNameLengthPosition);
writer.WriteString(value.FileName);


+ 5
- 5
src/JT808.Protocol.Extensions/JT808.Protocol.Extensions.SuBiao/MessageBody/JT808_0x1212.cs 파일 보기

@@ -8,12 +8,12 @@ namespace JT808.Protocol.Extensions.SuBiao.MessageBody
/// <summary>
/// 文件上传完成消息
/// </summary>
public class JT808_0x1212 : JT808Bodies, IJT808MessagePackFormatter<JT808_0x1212>, IJT808Analyze
public class JT808_0x1212 : JT808MessagePackFormatter<JT808_0x1212>, JT808Bodies, IJT808Analyze
{
/// <summary>
/// 文件上传完成消息
/// </summary>
public override string Description => "文件上传完成消息";
public string Description => "文件上传完成消息";
/// <summary>
/// 文件名称长度
/// </summary>
@@ -34,7 +34,7 @@ namespace JT808.Protocol.Extensions.SuBiao.MessageBody
/// <summary>
/// 文件上传完成消息
/// </summary>
public override ushort MsgId => 0x1212;
public ushort MsgId => 0x1212;
/// <summary>
///
/// </summary>
@@ -60,7 +60,7 @@ namespace JT808.Protocol.Extensions.SuBiao.MessageBody
/// <param name="reader"></param>
/// <param name="config"></param>
/// <returns></returns>
public JT808_0x1212 Deserialize(ref JT808MessagePackReader reader, IJT808Config config)
public override JT808_0x1212 Deserialize(ref JT808MessagePackReader reader, IJT808Config config)
{
JT808_0x1212 value = new JT808_0x1212();
value.FileNameLength = reader.ReadByte();
@@ -75,7 +75,7 @@ namespace JT808.Protocol.Extensions.SuBiao.MessageBody
/// <param name="writer"></param>
/// <param name="value"></param>
/// <param name="config"></param>
public void Serialize(ref JT808MessagePackWriter writer, JT808_0x1212 value, IJT808Config config)
public override void Serialize(ref JT808MessagePackWriter writer, JT808_0x1212 value, IJT808Config config)
{
writer.Skip(1, out int FileNameLengthPosition);
writer.WriteString(value.FileName);


+ 6
- 6
src/JT808.Protocol.Extensions/JT808.Protocol.Extensions.SuBiao/MessageBody/JT808_0x8103_0xF364.cs 파일 보기

@@ -11,16 +11,16 @@ namespace JT808.Protocol.Extensions.SuBiao.MessageBody
/// <summary>
/// 高级驾驶辅助系统参数
/// </summary>
public class JT808_0x8103_0xF364 : JT808_0x8103_BodyBase, IJT808MessagePackFormatter<JT808_0x8103_0xF364>, IJT808Analyze
public class JT808_0x8103_0xF364 : JT808MessagePackFormatter<JT808_0x8103_0xF364>, JT808_0x8103_BodyBase, IJT808Analyze
{
/// <summary>
/// 高级驾驶辅助系统参数
/// </summary>
public override uint ParamId { get; set; } = JT808_SuBiao_Constants.JT808_0X8103_0xF364;
public uint ParamId { get; set; } = JT808_SuBiao_Constants.JT808_0X8103_0xF364;
/// <summary>
/// 高级驾驶辅助系统参数长度
/// </summary>
public override byte ParamLength { get; set; }
public byte ParamLength { get; set; }
/// <summary>
/// 报警判断速度阈值
/// </summary>
@@ -207,7 +207,7 @@ namespace JT808.Protocol.Extensions.SuBiao.MessageBody
/// <summary>
/// 高级驾驶辅助系统参数
/// </summary>
public override string Description => "高级驾驶辅助系统参数";
public string Description => "高级驾驶辅助系统参数";

/// <summary>
///
@@ -348,7 +348,7 @@ namespace JT808.Protocol.Extensions.SuBiao.MessageBody
/// <param name="reader"></param>
/// <param name="config"></param>
/// <returns></returns>
public JT808_0x8103_0xF364 Deserialize(ref JT808MessagePackReader reader, IJT808Config config)
public override JT808_0x8103_0xF364 Deserialize(ref JT808MessagePackReader reader, IJT808Config config)
{
JT808_0x8103_0xF364 value = new JT808_0x8103_0xF364();
value.ParamId = reader.ReadUInt32();
@@ -406,7 +406,7 @@ namespace JT808.Protocol.Extensions.SuBiao.MessageBody
/// <param name="writer"></param>
/// <param name="value"></param>
/// <param name="config"></param>
public void Serialize(ref JT808MessagePackWriter writer, JT808_0x8103_0xF364 value, IJT808Config config)
public override void Serialize(ref JT808MessagePackWriter writer, JT808_0x8103_0xF364 value, IJT808Config config)
{
writer.WriteUInt32(value.ParamId);
writer.Skip(1, out int ParamLengthPosition);


+ 6
- 6
src/JT808.Protocol.Extensions/JT808.Protocol.Extensions.SuBiao/MessageBody/JT808_0x8103_0xF365.cs 파일 보기

@@ -11,16 +11,16 @@ namespace JT808.Protocol.Extensions.SuBiao.MessageBody
/// <summary>
/// 驾驶员状态监测系统参数
/// </summary>
public class JT808_0x8103_0xF365 : JT808_0x8103_BodyBase, IJT808MessagePackFormatter<JT808_0x8103_0xF365>, IJT808Analyze
public class JT808_0x8103_0xF365 : JT808MessagePackFormatter<JT808_0x8103_0xF365>, JT808_0x8103_BodyBase, IJT808Analyze
{
/// <summary>
/// 驾驶员状态监测系统参数
/// </summary>
public override uint ParamId { get; set; } = JT808_SuBiao_Constants.JT808_0X8103_0xF365;
public uint ParamId { get; set; } = JT808_SuBiao_Constants.JT808_0X8103_0xF365;
/// <summary>
/// 驾驶员状态监测系统参数长度
/// </summary>
public override byte ParamLength { get; set; }
public byte ParamLength { get; set; }
/// <summary>
/// 报警判断速度阈值
/// </summary>
@@ -160,7 +160,7 @@ namespace JT808.Protocol.Extensions.SuBiao.MessageBody
/// <summary>
/// 驾驶员状态监测系统参数
/// </summary>
public override string Description => "驾驶员状态监测系统参数";
public string Description => "驾驶员状态监测系统参数";

/// <summary>
///
@@ -279,7 +279,7 @@ namespace JT808.Protocol.Extensions.SuBiao.MessageBody
/// <param name="reader"></param>
/// <param name="config"></param>
/// <returns></returns>
public JT808_0x8103_0xF365 Deserialize(ref JT808MessagePackReader reader, IJT808Config config)
public override JT808_0x8103_0xF365 Deserialize(ref JT808MessagePackReader reader, IJT808Config config)
{
JT808_0x8103_0xF365 value = new JT808_0x8103_0xF365();
value.ParamId = reader.ReadUInt32();
@@ -326,7 +326,7 @@ namespace JT808.Protocol.Extensions.SuBiao.MessageBody
/// <param name="writer"></param>
/// <param name="value"></param>
/// <param name="config"></param>
public void Serialize(ref JT808MessagePackWriter writer, JT808_0x8103_0xF365 value, IJT808Config config)
public override void Serialize(ref JT808MessagePackWriter writer, JT808_0x8103_0xF365 value, IJT808Config config)
{
writer.WriteUInt32(value.ParamId);
writer.Skip(1, out int ParamLengthPosition);


+ 6
- 6
src/JT808.Protocol.Extensions/JT808.Protocol.Extensions.SuBiao/MessageBody/JT808_0x8103_0xF366.cs 파일 보기

@@ -9,16 +9,16 @@ namespace JT808.Protocol.Extensions.SuBiao.MessageBody
/// <summary>
/// 胎压监测系统参数
/// </summary>
public class JT808_0x8103_0xF366 : JT808_0x8103_BodyBase, IJT808MessagePackFormatter<JT808_0x8103_0xF366>, IJT808Analyze
public class JT808_0x8103_0xF366 : JT808MessagePackFormatter<JT808_0x8103_0xF366>, JT808_0x8103_BodyBase, IJT808Analyze
{
/// <summary>
/// 胎压监测系统参数Id
/// </summary>
public override uint ParamId { get; set; } = JT808_SuBiao_Constants.JT808_0X8103_0xF366;
public uint ParamId { get; set; } = JT808_SuBiao_Constants.JT808_0X8103_0xF366;
/// <summary>
/// 胎压监测系统参数长度
/// </summary>
public override byte ParamLength { get; set; } = 46;
public byte ParamLength { get; set; } = 46;
/// <summary>
/// 轮胎规格型号 12位
/// </summary>
@@ -66,7 +66,7 @@ namespace JT808.Protocol.Extensions.SuBiao.MessageBody
/// <summary>
/// 胎压监测系统参数
/// </summary>
public override string Description => "胎压监测系统参数";
public string Description => "胎压监测系统参数";

/// <summary>
///
@@ -111,7 +111,7 @@ namespace JT808.Protocol.Extensions.SuBiao.MessageBody
/// <param name="reader"></param>
/// <param name="config"></param>
/// <returns></returns>
public JT808_0x8103_0xF366 Deserialize(ref JT808MessagePackReader reader, IJT808Config config)
public override JT808_0x8103_0xF366 Deserialize(ref JT808MessagePackReader reader, IJT808Config config)
{
JT808_0x8103_0xF366 value = new JT808_0x8103_0xF366();
value.ParamId = reader.ReadUInt32();
@@ -135,7 +135,7 @@ namespace JT808.Protocol.Extensions.SuBiao.MessageBody
/// <param name="writer"></param>
/// <param name="value"></param>
/// <param name="config"></param>
public void Serialize(ref JT808MessagePackWriter writer, JT808_0x8103_0xF366 value, IJT808Config config)
public override void Serialize(ref JT808MessagePackWriter writer, JT808_0x8103_0xF366 value, IJT808Config config)
{
writer.WriteUInt32(value.ParamId);
writer.Skip(1, out int ParamLengthPosition);


+ 6
- 6
src/JT808.Protocol.Extensions/JT808.Protocol.Extensions.SuBiao/MessageBody/JT808_0x8103_0xF367.cs 파일 보기

@@ -9,16 +9,16 @@ namespace JT808.Protocol.Extensions.SuBiao.MessageBody
/// <summary>
/// 盲区监测系统参数
/// </summary>
public class JT808_0x8103_0xF367 : JT808_0x8103_BodyBase, IJT808MessagePackFormatter<JT808_0x8103_0xF367>, IJT808Analyze
public class JT808_0x8103_0xF367 : JT808MessagePackFormatter<JT808_0x8103_0xF367>, JT808_0x8103_BodyBase, IJT808Analyze
{
/// <summary>
/// 盲区监测系统参数Id
/// </summary>
public override uint ParamId { get; set; } = JT808_SuBiao_Constants.JT808_0X8103_0xF367;
public uint ParamId { get; set; } = JT808_SuBiao_Constants.JT808_0X8103_0xF367;
/// <summary>
/// 盲区监测系统参数长度
/// </summary>
public override byte ParamLength { get; set; } = 2;
public byte ParamLength { get; set; } = 2;
/// <summary>
/// 后方接近报警时间阈值
/// </summary>
@@ -30,7 +30,7 @@ namespace JT808.Protocol.Extensions.SuBiao.MessageBody
/// <summary>
/// 盲区监测系统参数
/// </summary>
public override string Description => "盲区监测系统参数";
public string Description => "盲区监测系统参数";

/// <summary>
///
@@ -56,7 +56,7 @@ namespace JT808.Protocol.Extensions.SuBiao.MessageBody
/// <param name="reader"></param>
/// <param name="config"></param>
/// <returns></returns>
public JT808_0x8103_0xF367 Deserialize(ref JT808MessagePackReader reader, IJT808Config config)
public override JT808_0x8103_0xF367 Deserialize(ref JT808MessagePackReader reader, IJT808Config config)
{
JT808_0x8103_0xF367 value = new JT808_0x8103_0xF367();
value.ParamId = reader.ReadUInt32();
@@ -71,7 +71,7 @@ namespace JT808.Protocol.Extensions.SuBiao.MessageBody
/// <param name="writer"></param>
/// <param name="value"></param>
/// <param name="config"></param>
public void Serialize(ref JT808MessagePackWriter writer, JT808_0x8103_0xF367 value, IJT808Config config)
public override void Serialize(ref JT808MessagePackWriter writer, JT808_0x8103_0xF367 value, IJT808Config config)
{
writer.WriteUInt32(value.ParamId);
writer.WriteByte(2);


+ 4
- 4
src/JT808.Protocol.Extensions/JT808.Protocol.Extensions.SuBiao/MessageBody/JT808_0x8900_0xF7.cs 파일 보기

@@ -10,12 +10,12 @@ namespace JT808.Protocol.Extensions.SuBiao.MessageBody
/// <summary>
/// 查询基本信息
/// </summary>
public class JT808_0x8900_0xF7 : JT808_0x8900_BodyBase, IJT808MessagePackFormatter<JT808_0x8900_0xF7>, IJT808Analyze
public class JT808_0x8900_0xF7 : JT808MessagePackFormatter<JT808_0x8900_0xF7>, JT808_0x8900_BodyBase, IJT808Analyze
{
/// <summary>
/// 查询基本信息类型
/// </summary>
public override byte PassthroughType { get; set; } = JT808_SuBiao_Constants.JT808_0X0900_0xF7;
public byte PassthroughType { get; set; } = JT808_SuBiao_Constants.JT808_0X0900_0xF7;
/// <summary>
/// 外设ID列表总数
/// </summary>
@@ -54,7 +54,7 @@ namespace JT808.Protocol.Extensions.SuBiao.MessageBody
/// <param name="reader"></param>
/// <param name="config"></param>
/// <returns></returns>
public JT808_0x8900_0xF7 Deserialize(ref JT808MessagePackReader reader, IJT808Config config)
public override JT808_0x8900_0xF7 Deserialize(ref JT808MessagePackReader reader, IJT808Config config)
{
JT808_0x8900_0xF7 value = new JT808_0x8900_0xF7();
value.USBCount = reader.ReadByte();
@@ -74,7 +74,7 @@ namespace JT808.Protocol.Extensions.SuBiao.MessageBody
/// <param name="writer"></param>
/// <param name="value"></param>
/// <param name="config"></param>
public void Serialize(ref JT808MessagePackWriter writer, JT808_0x8900_0xF7 value, IJT808Config config)
public override void Serialize(ref JT808MessagePackWriter writer, JT808_0x8900_0xF7 value, IJT808Config config)
{
if (value.MultipleUSB != null && value.MultipleUSB.Count > 0)
{


+ 4
- 4
src/JT808.Protocol.Extensions/JT808.Protocol.Extensions.SuBiao/MessageBody/JT808_0x8900_0xF8.cs 파일 보기

@@ -10,12 +10,12 @@ namespace JT808.Protocol.Extensions.SuBiao.MessageBody
/// <summary>
/// 查询基本信息
/// </summary>
public class JT808_0x8900_0xF8 : JT808_0x8900_BodyBase, IJT808MessagePackFormatter<JT808_0x8900_0xF8>, IJT808Analyze
public class JT808_0x8900_0xF8 : JT808MessagePackFormatter<JT808_0x8900_0xF8>, JT808_0x8900_BodyBase, IJT808Analyze
{
/// <summary>
/// 查询基本信息透传类型
/// </summary>
public override byte PassthroughType { get; set; } = JT808_SuBiao_Constants.JT808_0X0900_0xF8;
public byte PassthroughType { get; set; } = JT808_SuBiao_Constants.JT808_0X0900_0xF8;
/// <summary>
/// 外设ID列表总数
/// </summary>
@@ -54,7 +54,7 @@ namespace JT808.Protocol.Extensions.SuBiao.MessageBody
/// <param name="reader"></param>
/// <param name="config"></param>
/// <returns></returns>
public JT808_0x8900_0xF8 Deserialize(ref JT808MessagePackReader reader, IJT808Config config)
public override JT808_0x8900_0xF8 Deserialize(ref JT808MessagePackReader reader, IJT808Config config)
{
JT808_0x8900_0xF8 value = new JT808_0x8900_0xF8();
value.USBCount = reader.ReadByte();
@@ -74,7 +74,7 @@ namespace JT808.Protocol.Extensions.SuBiao.MessageBody
/// <param name="writer"></param>
/// <param name="value"></param>
/// <param name="config"></param>
public void Serialize(ref JT808MessagePackWriter writer, JT808_0x8900_0xF8 value, IJT808Config config)
public override void Serialize(ref JT808MessagePackWriter writer, JT808_0x8900_0xF8 value, IJT808Config config)
{
if (value.MultipleUSB != null && value.MultipleUSB.Count > 0)
{


+ 5
- 5
src/JT808.Protocol.Extensions/JT808.Protocol.Extensions.SuBiao/MessageBody/JT808_0x9208.cs 파일 보기

@@ -10,12 +10,12 @@ namespace JT808.Protocol.Extensions.SuBiao.MessageBody
/// <summary>
/// 报警附件上传指令
/// </summary>
public class JT808_0x9208: JT808Bodies, IJT808MessagePackFormatter<JT808_0x9208>, IJT808Analyze
public class JT808_0x9208: JT808MessagePackFormatter<JT808_0x9208>, JT808Bodies, IJT808Analyze
{
/// <summary>
/// Description
/// </summary>
public override string Description => "报警附件上传指令";
public string Description => "报警附件上传指令";
/// <summary>
/// 服务IP地址长度
/// </summary>
@@ -48,7 +48,7 @@ namespace JT808.Protocol.Extensions.SuBiao.MessageBody
/// <summary>
/// 报警附件上传指令Id
/// </summary>
public override ushort MsgId => 0x9208;
public ushort MsgId => 0x9208;
/// <summary>
///
/// </summary>
@@ -91,7 +91,7 @@ namespace JT808.Protocol.Extensions.SuBiao.MessageBody
/// <param name="reader"></param>
/// <param name="config"></param>
/// <returns></returns>
public JT808_0x9208 Deserialize(ref JT808MessagePackReader reader, IJT808Config config)
public override JT808_0x9208 Deserialize(ref JT808MessagePackReader reader, IJT808Config config)
{
JT808_0x9208 value = new JT808_0x9208();
value.AttachmentServerIPLength = reader.ReadByte();
@@ -116,7 +116,7 @@ namespace JT808.Protocol.Extensions.SuBiao.MessageBody
/// <param name="writer"></param>
/// <param name="value"></param>
/// <param name="config"></param>
public void Serialize(ref JT808MessagePackWriter writer, JT808_0x9208 value, IJT808Config config)
public override void Serialize(ref JT808MessagePackWriter writer, JT808_0x9208 value, IJT808Config config)
{
writer.Skip(1, out int AttachmentServerIPLengthPosition);
writer.WriteString(value.AttachmentServerIP);


+ 5
- 5
src/JT808.Protocol.Extensions/JT808.Protocol.Extensions.SuBiao/MessageBody/JT808_0x9212.cs 파일 보기

@@ -10,12 +10,12 @@ namespace JT808.Protocol.Extensions.SuBiao.MessageBody
/// <summary>
/// 文件上传完成消息应答
/// </summary>
public class JT808_0x9212: JT808Bodies, IJT808MessagePackFormatter<JT808_0x9212>, IJT808Analyze
public class JT808_0x9212: JT808MessagePackFormatter<JT808_0x9212>, JT808Bodies, IJT808Analyze
{
/// <summary>
/// 文件上传完成消息应答
/// </summary>
public override string Description => "文件上传完成消息应答";
public string Description => "文件上传完成消息应答";
/// <summary>
/// 文件名称长度
/// </summary>
@@ -44,7 +44,7 @@ namespace JT808.Protocol.Extensions.SuBiao.MessageBody
/// <summary>
/// 文件上传完成消息应答Id
/// </summary>
public override ushort MsgId => 0x9212;
public ushort MsgId => 0x9212;
/// <summary>
///
/// </summary>
@@ -87,7 +87,7 @@ namespace JT808.Protocol.Extensions.SuBiao.MessageBody
/// <param name="reader"></param>
/// <param name="config"></param>
/// <returns></returns>
public JT808_0x9212 Deserialize(ref JT808MessagePackReader reader, IJT808Config config)
public override JT808_0x9212 Deserialize(ref JT808MessagePackReader reader, IJT808Config config)
{
JT808_0x9212 value = new JT808_0x9212();
value.FileNameLength = reader.ReadByte();
@@ -114,7 +114,7 @@ namespace JT808.Protocol.Extensions.SuBiao.MessageBody
/// <param name="writer"></param>
/// <param name="value"></param>
/// <param name="config"></param>
public void Serialize(ref JT808MessagePackWriter writer, JT808_0x9212 value, IJT808Config config)
public override void Serialize(ref JT808MessagePackWriter writer, JT808_0x9212 value, IJT808Config config)
{
writer.Skip(1, out int FileNameLengthPosition);
writer.WriteString(value.FileName);


+ 2
- 2
src/JT808.Protocol.Extensions/JT808.Protocol.Extensions.YueBiao.Test/JT808.Protocol.Extensions.YueBiao.Test.csproj 파일 보기

@@ -1,14 +1,14 @@
<Project Sdk="Microsoft.NET.Sdk">

<PropertyGroup>
<TargetFramework>net6.0</TargetFramework>
<TargetFramework>net7.0</TargetFramework>

<IsPackable>false</IsPackable>
</PropertyGroup>

<ItemGroup>
<PackageReference Include="Microsoft.Extensions.DependencyInjection" Version="7.0.0" />
<PackageReference Include="Microsoft.NET.Test.Sdk" Version="17.4.0" />
<PackageReference Include="Microsoft.NET.Test.Sdk" Version="17.4.1" />
<PackageReference Include="xunit" Version="2.4.2" />
<PackageReference Include="xunit.runner.visualstudio" Version="2.4.5">
<IncludeAssets>runtime; build; native; contentfiles; analyzers; buildtransitive</IncludeAssets>


+ 5
- 5
src/JT808.Protocol.Extensions/JT808.Protocol.Extensions.YueBiao/MessageBody/JT808_0x0200_0x64.cs 파일 보기

@@ -13,16 +13,16 @@ namespace JT808.Protocol.Extensions.YueBiao.MessageBody
/// <summary>
/// 高级驾驶辅助系统报警信息
/// </summary>
public class JT808_0x0200_0x64 : JT808_0x0200_CustomBodyBase, IJT808MessagePackFormatter<JT808_0x0200_0x64>, IJT808Analyze,IJT808_2019_Version
public class JT808_0x0200_0x64 : JT808MessagePackFormatter<JT808_0x0200_0x64>, JT808_0x0200_CustomBodyBase, IJT808Analyze,IJT808_2019_Version
{
/// <summary>
/// 高级驾驶辅助系统报警信息Id
/// </summary>
public override byte AttachInfoId { get; set; } = JT808_YueBiao_Constants.JT808_0X0200_0x64;
public byte AttachInfoId { get; set; } = JT808_YueBiao_Constants.JT808_0X0200_0x64;
/// <summary>
/// 高级驾驶辅助系统报警信息附加长度
/// </summary>
public override byte AttachInfoLength { get; set; } = 73;
public byte AttachInfoLength { get; set; } = 73;
/// <summary>
/// 报警ID
/// </summary>
@@ -290,7 +290,7 @@ namespace JT808.Protocol.Extensions.YueBiao.MessageBody
/// <param name="reader"></param>
/// <param name="config"></param>
/// <returns></returns>
public JT808_0x0200_0x64 Deserialize(ref JT808MessagePackReader reader, IJT808Config config)
public override JT808_0x0200_0x64 Deserialize(ref JT808MessagePackReader reader, IJT808Config config)
{
JT808_0x0200_0x64 value = new JT808_0x0200_0x64();
value.AttachInfoId = reader.ReadByte();
@@ -327,7 +327,7 @@ namespace JT808.Protocol.Extensions.YueBiao.MessageBody
/// <param name="writer"></param>
/// <param name="value"></param>
/// <param name="config"></param>
public void Serialize(ref JT808MessagePackWriter writer, JT808_0x0200_0x64 value, IJT808Config config)
public override void Serialize(ref JT808MessagePackWriter writer, JT808_0x0200_0x64 value, IJT808Config config)
{
writer.WriteByte(value.AttachInfoId);
writer.Skip(1, out int AttachInfoLengthPosition);


+ 5
- 5
src/JT808.Protocol.Extensions/JT808.Protocol.Extensions.YueBiao/MessageBody/JT808_0x0200_0x65.cs 파일 보기

@@ -13,16 +13,16 @@ namespace JT808.Protocol.Extensions.YueBiao.MessageBody
/// <summary>
/// 驾驶员状态监测系统报警信息
/// </summary>
public class JT808_0x0200_0x65 : JT808_0x0200_CustomBodyBase, IJT808MessagePackFormatter<JT808_0x0200_0x65>, IJT808Analyze, IJT808_2019_Version
public class JT808_0x0200_0x65 : JT808MessagePackFormatter<JT808_0x0200_0x65>, JT808_0x0200_CustomBodyBase, IJT808Analyze, IJT808_2019_Version
{
/// <summary>
/// 驾驶员状态监测系统报警信息Id
/// </summary>
public override byte AttachInfoId { get; set; } = JT808_YueBiao_Constants.JT808_0X0200_0x65;
public byte AttachInfoId { get; set; } = JT808_YueBiao_Constants.JT808_0X0200_0x65;
/// <summary>
/// 驾驶员状态监测系统报警信息长度
/// </summary>
public override byte AttachInfoLength { get; set; } = 47;
public byte AttachInfoLength { get; set; } = 47;
/// <summary>
/// 报警ID
/// </summary>
@@ -246,7 +246,7 @@ namespace JT808.Protocol.Extensions.YueBiao.MessageBody
/// <param name="reader"></param>
/// <param name="config"></param>
/// <returns></returns>
public JT808_0x0200_0x65 Deserialize(ref JT808MessagePackReader reader, IJT808Config config)
public override JT808_0x0200_0x65 Deserialize(ref JT808MessagePackReader reader, IJT808Config config)
{
JT808_0x0200_0x65 value = new JT808_0x0200_0x65();
value.AttachInfoId = reader.ReadByte();
@@ -280,7 +280,7 @@ namespace JT808.Protocol.Extensions.YueBiao.MessageBody
/// <param name="writer"></param>
/// <param name="value"></param>
/// <param name="config"></param>
public void Serialize(ref JT808MessagePackWriter writer, JT808_0x0200_0x65 value, IJT808Config config)
public override void Serialize(ref JT808MessagePackWriter writer, JT808_0x0200_0x65 value, IJT808Config config)
{
writer.WriteByte(value.AttachInfoId);
writer.Skip(1, out int AttachInfoLengthPosition);


+ 5
- 5
src/JT808.Protocol.Extensions/JT808.Protocol.Extensions.YueBiao/MessageBody/JT808_0x0200_0x66.cs 파일 보기

@@ -13,16 +13,16 @@ namespace JT808.Protocol.Extensions.YueBiao.MessageBody
/// <summary>
/// 胎压监测系统报警信息
/// </summary>
public class JT808_0x0200_0x66 : JT808_0x0200_CustomBodyBase, IJT808MessagePackFormatter<JT808_0x0200_0x66>, IJT808Analyze, IJT808_2019_Version
public class JT808_0x0200_0x66 : JT808MessagePackFormatter<JT808_0x0200_0x66>, JT808_0x0200_CustomBodyBase, IJT808Analyze, IJT808_2019_Version
{
/// <summary>
/// 胎压监测系统报警信息Id
/// </summary>
public override byte AttachInfoId { get; set; } = JT808_YueBiao_Constants.JT808_0X0200_0x66;
public byte AttachInfoId { get; set; } = JT808_YueBiao_Constants.JT808_0X0200_0x66;
/// <summary>
/// 胎压监测系统报警信息长度
/// </summary>
public override byte AttachInfoLength { get; set; }
public byte AttachInfoLength { get; set; }
/// <summary>
/// 报警ID
/// </summary>
@@ -187,7 +187,7 @@ namespace JT808.Protocol.Extensions.YueBiao.MessageBody
/// <param name="reader"></param>
/// <param name="config"></param>
/// <returns></returns>
public JT808_0x0200_0x66 Deserialize(ref JT808MessagePackReader reader, IJT808Config config)
public override JT808_0x0200_0x66 Deserialize(ref JT808MessagePackReader reader, IJT808Config config)
{
JT808_0x0200_0x66 value = new JT808_0x0200_0x66();
value.AttachInfoId = reader.ReadByte();
@@ -232,7 +232,7 @@ namespace JT808.Protocol.Extensions.YueBiao.MessageBody
/// <param name="writer"></param>
/// <param name="value"></param>
/// <param name="config"></param>
public void Serialize(ref JT808MessagePackWriter writer, JT808_0x0200_0x66 value, IJT808Config config)
public override void Serialize(ref JT808MessagePackWriter writer, JT808_0x0200_0x66 value, IJT808Config config)
{
writer.WriteByte(value.AttachInfoId);
writer.Skip(1, out int AttachInfoLengthPosition);


+ 5
- 5
src/JT808.Protocol.Extensions/JT808.Protocol.Extensions.YueBiao/MessageBody/JT808_0x0200_0x67.cs 파일 보기

@@ -13,16 +13,16 @@ namespace JT808.Protocol.Extensions.YueBiao.MessageBody
/// <summary>
/// 盲区监测系统报警信息
/// </summary>
public class JT808_0x0200_0x67 : JT808_0x0200_CustomBodyBase, IJT808MessagePackFormatter<JT808_0x0200_0x67>, IJT808Analyze, IJT808_2019_Version
public class JT808_0x0200_0x67 : JT808MessagePackFormatter<JT808_0x0200_0x67>, JT808_0x0200_CustomBodyBase, IJT808Analyze, IJT808_2019_Version
{
/// <summary>
/// 盲区监测系统报警信息Id
/// </summary>
public override byte AttachInfoId { get; set; } = JT808_YueBiao_Constants.JT808_0X0200_0x67;
public byte AttachInfoId { get; set; } = JT808_YueBiao_Constants.JT808_0X0200_0x67;
/// <summary>
/// 盲区监测系统报警信息长度
/// </summary>
public override byte AttachInfoLength { get; set; } = 26;
public byte AttachInfoLength { get; set; } = 26;
/// <summary>
/// 报警ID
/// </summary>
@@ -162,7 +162,7 @@ namespace JT808.Protocol.Extensions.YueBiao.MessageBody
/// <param name="reader"></param>
/// <param name="config"></param>
/// <returns></returns>
public JT808_0x0200_0x67 Deserialize(ref JT808MessagePackReader reader, IJT808Config config)
public override JT808_0x0200_0x67 Deserialize(ref JT808MessagePackReader reader, IJT808Config config)
{
JT808_0x0200_0x67 value = new JT808_0x0200_0x67();
value.AttachInfoId = reader.ReadByte();
@@ -193,7 +193,7 @@ namespace JT808.Protocol.Extensions.YueBiao.MessageBody
/// <param name="writer"></param>
/// <param name="value"></param>
/// <param name="config"></param>
public void Serialize(ref JT808MessagePackWriter writer, JT808_0x0200_0x67 value, IJT808Config config)
public override void Serialize(ref JT808MessagePackWriter writer, JT808_0x0200_0x67 value, IJT808Config config)
{
writer.WriteByte(value.AttachInfoId);
writer.Skip(1, out int AttachInfoLengthPosition);


+ 5
- 5
src/JT808.Protocol.Extensions/JT808.Protocol.Extensions.YueBiao/MessageBody/JT808_0x0200_0xF1.cs 파일 보기

@@ -13,16 +13,16 @@ namespace JT808.Protocol.Extensions.YueBiao.MessageBody
/// <summary>
/// 安装异常信息
/// </summary>
public class JT808_0x0200_0xF1 : JT808_0x0200_CustomBodyBase, IJT808MessagePackFormatter<JT808_0x0200_0xF1>, IJT808Analyze, IJT808_2019_Version
public class JT808_0x0200_0xF1 : JT808MessagePackFormatter<JT808_0x0200_0xF1>, JT808_0x0200_CustomBodyBase, IJT808Analyze, IJT808_2019_Version
{
/// <summary>
/// 安装异常信息附件ID
/// </summary>
public override byte AttachInfoId { get; set; } = JT808_YueBiao_Constants.JT808_0X0200_0xF1;
public byte AttachInfoId { get; set; } = JT808_YueBiao_Constants.JT808_0X0200_0xF1;
/// <summary>
/// 算法异常信息长度
/// </summary>
public override byte AttachInfoLength { get; set; } = 4;
public byte AttachInfoLength { get; set; } = 4;
/// <summary>
/// 厂家自定义
/// </summary>
@@ -49,7 +49,7 @@ namespace JT808.Protocol.Extensions.YueBiao.MessageBody
/// <param name="reader"></param>
/// <param name="config"></param>
/// <returns></returns>
public JT808_0x0200_0xF1 Deserialize(ref JT808MessagePackReader reader, IJT808Config config)
public override JT808_0x0200_0xF1 Deserialize(ref JT808MessagePackReader reader, IJT808Config config)
{
JT808_0x0200_0xF1 value = new JT808_0x0200_0xF1();
value.AttachInfoId = reader.ReadByte();
@@ -63,7 +63,7 @@ namespace JT808.Protocol.Extensions.YueBiao.MessageBody
/// <param name="writer"></param>
/// <param name="value"></param>
/// <param name="config"></param>
public void Serialize(ref JT808MessagePackWriter writer, JT808_0x0200_0xF1 value, IJT808Config config)
public override void Serialize(ref JT808MessagePackWriter writer, JT808_0x0200_0xF1 value, IJT808Config config)
{
writer.WriteByte(value.AttachInfoId);
writer.WriteByte(value.AttachInfoLength);


+ 5
- 5
src/JT808.Protocol.Extensions/JT808.Protocol.Extensions.YueBiao/MessageBody/JT808_0x0200_0xF2.cs 파일 보기

@@ -13,16 +13,16 @@ namespace JT808.Protocol.Extensions.YueBiao.MessageBody
/// <summary>
/// 算法异常信息
/// </summary>
public class JT808_0x0200_0xF2 : JT808_0x0200_CustomBodyBase, IJT808MessagePackFormatter<JT808_0x0200_0xF2>, IJT808Analyze, IJT808_2019_Version
public class JT808_0x0200_0xF2 : JT808MessagePackFormatter<JT808_0x0200_0xF2>, JT808_0x0200_CustomBodyBase, IJT808Analyze, IJT808_2019_Version
{
/// <summary>
/// 算法异常信息附件ID
/// </summary>
public override byte AttachInfoId { get; set; } = JT808_YueBiao_Constants.JT808_0X0200_0xF2;
public byte AttachInfoId { get; set; } = JT808_YueBiao_Constants.JT808_0X0200_0xF2;
/// <summary>
/// 算法异常信息长度
/// </summary>
public override byte AttachInfoLength { get; set; } = 4;
public byte AttachInfoLength { get; set; } = 4;
/// <summary>
/// 厂家自定义
/// </summary>
@@ -49,7 +49,7 @@ namespace JT808.Protocol.Extensions.YueBiao.MessageBody
/// <param name="reader"></param>
/// <param name="config"></param>
/// <returns></returns>
public JT808_0x0200_0xF2 Deserialize(ref JT808MessagePackReader reader, IJT808Config config)
public override JT808_0x0200_0xF2 Deserialize(ref JT808MessagePackReader reader, IJT808Config config)
{
JT808_0x0200_0xF2 value = new JT808_0x0200_0xF2();
value.AttachInfoId = reader.ReadByte();
@@ -63,7 +63,7 @@ namespace JT808.Protocol.Extensions.YueBiao.MessageBody
/// <param name="writer"></param>
/// <param name="value"></param>
/// <param name="config"></param>
public void Serialize(ref JT808MessagePackWriter writer, JT808_0x0200_0xF2 value, IJT808Config config)
public override void Serialize(ref JT808MessagePackWriter writer, JT808_0x0200_0xF2 value, IJT808Config config)
{
writer.WriteByte(value.AttachInfoId);
writer.WriteByte(value.AttachInfoLength);


+ 4
- 4
src/JT808.Protocol.Extensions/JT808.Protocol.Extensions.YueBiao/MessageBody/JT808_0x0900_0xF7.cs 파일 보기

@@ -15,12 +15,12 @@ namespace JT808.Protocol.Extensions.YueBiao.MessageBody
/// <summary>
/// 透传数据
/// </summary>
public class JT808_0x0900_0xF7 : JT808_0x0900_BodyBase, IJT808MessagePackFormatter<JT808_0x0900_0xF7>, IJT808Analyze, IJT808_2019_Version
public class JT808_0x0900_0xF7 : JT808MessagePackFormatter<JT808_0x0900_0xF7>, JT808_0x0900_BodyBase, IJT808Analyze, IJT808_2019_Version
{
/// <summary>
/// 透传类型
/// </summary>
public override byte PassthroughType { get; set; } = JT808_YueBiao_Constants.JT808_0X0900_0xF7;
public byte PassthroughType { get; set; } = JT808_YueBiao_Constants.JT808_0X0900_0xF7;
/// <summary>
/// 消息列表总数
/// </summary>
@@ -80,7 +80,7 @@ namespace JT808.Protocol.Extensions.YueBiao.MessageBody
/// <param name="reader"></param>
/// <param name="config"></param>
/// <returns></returns>
public JT808_0x0900_0xF7 Deserialize(ref JT808MessagePackReader reader, IJT808Config config)
public override JT808_0x0900_0xF7 Deserialize(ref JT808MessagePackReader reader, IJT808Config config)
{
JT808_0x0900_0xF7 value = new JT808_0x0900_0xF7();
value.USBMessageCount = reader.ReadByte();
@@ -105,7 +105,7 @@ namespace JT808.Protocol.Extensions.YueBiao.MessageBody
/// <param name="writer"></param>
/// <param name="value"></param>
/// <param name="config"></param>
public void Serialize(ref JT808MessagePackWriter writer, JT808_0x0900_0xF7 value, IJT808Config config)
public override void Serialize(ref JT808MessagePackWriter writer, JT808_0x0900_0xF7 value, IJT808Config config)
{
if (value.USBMessages != null && value.USBMessages.Count > 0)
{


+ 4
- 4
src/JT808.Protocol.Extensions/JT808.Protocol.Extensions.YueBiao/MessageBody/JT808_0x0900_0xF8.cs 파일 보기

@@ -13,12 +13,12 @@ namespace JT808.Protocol.Extensions.YueBiao.MessageBody
/// <summary>
/// 透传数据
/// </summary>
public class JT808_0x0900_0xF8 : JT808_0x0900_BodyBase, IJT808MessagePackFormatter<JT808_0x0900_0xF8>, IJT808Analyze, IJT808_2019_Version
public class JT808_0x0900_0xF8 : JT808MessagePackFormatter<JT808_0x0900_0xF8>, JT808_0x0900_BodyBase, IJT808Analyze, IJT808_2019_Version
{
/// <summary>
/// 透传类型
/// </summary>
public override byte PassthroughType { get; set; } = JT808_YueBiao_Constants.JT808_0X0900_0xF8;
public byte PassthroughType { get; set; } = JT808_YueBiao_Constants.JT808_0X0900_0xF8;
/// <summary>
/// 消息列表总数
/// </summary>
@@ -98,7 +98,7 @@ namespace JT808.Protocol.Extensions.YueBiao.MessageBody
/// <param name="reader"></param>
/// <param name="config"></param>
/// <returns></returns>
public JT808_0x0900_0xF8 Deserialize(ref JT808MessagePackReader reader, IJT808Config config)
public override JT808_0x0900_0xF8 Deserialize(ref JT808MessagePackReader reader, IJT808Config config)
{
JT808_0x0900_0xF8 value = new JT808_0x0900_0xF8();
value.USBMessageCount = reader.ReadByte();
@@ -133,7 +133,7 @@ namespace JT808.Protocol.Extensions.YueBiao.MessageBody
/// <param name="writer"></param>
/// <param name="value"></param>
/// <param name="config"></param>
public void Serialize(ref JT808MessagePackWriter writer, JT808_0x0900_0xF8 value, IJT808Config config)
public override void Serialize(ref JT808MessagePackWriter writer, JT808_0x0900_0xF8 value, IJT808Config config)
{
if (value.USBMessages != null && value.USBMessages.Count > 0)
{


+ 5
- 5
src/JT808.Protocol.Extensions/JT808.Protocol.Extensions.YueBiao/MessageBody/JT808_0x1210.cs 파일 보기

@@ -12,7 +12,7 @@ namespace JT808.Protocol.Extensions.YueBiao.MessageBody
/// <summary>
/// 报警附件信息消息
/// </summary>
public class JT808_0x1210: JT808Bodies, IJT808MessagePackFormatter<JT808_0x1210>, IJT808Analyze,IJT808_2019_Version
public class JT808_0x1210: JT808MessagePackFormatter<JT808_0x1210>, JT808Bodies, IJT808Analyze,IJT808_2019_Version
{
/// <summary>
/// 终端 ID
@@ -45,11 +45,11 @@ namespace JT808.Protocol.Extensions.YueBiao.MessageBody
/// <summary>
/// 报警附件信息消息Id
/// </summary>
public override ushort MsgId => 0x1210;
public ushort MsgId => 0x1210;
/// <summary>
/// 报警附件信息消息
/// </summary>
public override string Description => "报警附件信息消息";
public string Description => "报警附件信息消息";
/// <summary>
///
/// </summary>
@@ -108,7 +108,7 @@ namespace JT808.Protocol.Extensions.YueBiao.MessageBody
/// <param name="reader"></param>
/// <param name="config"></param>
/// <returns></returns>
public JT808_0x1210 Deserialize(ref JT808MessagePackReader reader, IJT808Config config)
public override JT808_0x1210 Deserialize(ref JT808MessagePackReader reader, IJT808Config config)
{
JT808_0x1210 value = new JT808_0x1210();
value.TerminalId = reader.ReadString(30);
@@ -144,7 +144,7 @@ namespace JT808.Protocol.Extensions.YueBiao.MessageBody
/// <param name="writer"></param>
/// <param name="value"></param>
/// <param name="config"></param>
public void Serialize(ref JT808MessagePackWriter writer, JT808_0x1210 value, IJT808Config config)
public override void Serialize(ref JT808MessagePackWriter writer, JT808_0x1210 value, IJT808Config config)
{
writer.WriteString(value.TerminalId.PadRight(30, '\0'));
if (value.AlarmIdentification == null)


+ 5
- 5
src/JT808.Protocol.Extensions/JT808.Protocol.Extensions.YueBiao/MessageBody/JT808_0x1211.cs 파일 보기

@@ -8,12 +8,12 @@ namespace JT808.Protocol.Extensions.YueBiao.MessageBody
/// <summary>
/// 文件信息上传
/// </summary>
public class JT808_0x1211 : JT808Bodies, IJT808MessagePackFormatter<JT808_0x1211>, IJT808Analyze, IJT808_2019_Version
public class JT808_0x1211 : JT808MessagePackFormatter<JT808_0x1211>, JT808Bodies, IJT808Analyze, IJT808_2019_Version
{
/// <summary>
/// 文件信息上传
/// </summary>
public override string Description => "文件信息上传";
public string Description => "文件信息上传";
/// <summary>
/// 文件名称长度
/// </summary>
@@ -34,7 +34,7 @@ namespace JT808.Protocol.Extensions.YueBiao.MessageBody
/// <summary>
/// 文件信息上传Id
/// </summary>
public override ushort MsgId => 0x1211;
public ushort MsgId => 0x1211;
/// <summary>
///
/// </summary>
@@ -60,7 +60,7 @@ namespace JT808.Protocol.Extensions.YueBiao.MessageBody
/// <param name="reader"></param>
/// <param name="config"></param>
/// <returns></returns>
public JT808_0x1211 Deserialize(ref JT808MessagePackReader reader, IJT808Config config)
public override JT808_0x1211 Deserialize(ref JT808MessagePackReader reader, IJT808Config config)
{
JT808_0x1211 value = new JT808_0x1211();
value.FileNameLength = reader.ReadByte();
@@ -75,7 +75,7 @@ namespace JT808.Protocol.Extensions.YueBiao.MessageBody
/// <param name="writer"></param>
/// <param name="value"></param>
/// <param name="config"></param>
public void Serialize(ref JT808MessagePackWriter writer, JT808_0x1211 value, IJT808Config config)
public override void Serialize(ref JT808MessagePackWriter writer, JT808_0x1211 value, IJT808Config config)
{
writer.Skip(1, out int FileNameLengthPosition);
writer.WriteString(value.FileName);


+ 5
- 5
src/JT808.Protocol.Extensions/JT808.Protocol.Extensions.YueBiao/MessageBody/JT808_0x1212.cs 파일 보기

@@ -8,12 +8,12 @@ namespace JT808.Protocol.Extensions.YueBiao.MessageBody
/// <summary>
/// 文件上传完成消息
/// </summary>
public class JT808_0x1212 : JT808Bodies, IJT808MessagePackFormatter<JT808_0x1212>, IJT808Analyze, IJT808_2019_Version
public class JT808_0x1212 : JT808MessagePackFormatter<JT808_0x1212>, JT808Bodies, IJT808Analyze, IJT808_2019_Version
{
/// <summary>
/// 文件上传完成消息
/// </summary>
public override string Description => "文件上传完成消息";
public string Description => "文件上传完成消息";
/// <summary>
/// 文件名称长度
/// </summary>
@@ -34,7 +34,7 @@ namespace JT808.Protocol.Extensions.YueBiao.MessageBody
/// <summary>
/// 文件上传完成消息
/// </summary>
public override ushort MsgId => 0x1212;
public ushort MsgId => 0x1212;
/// <summary>
///
/// </summary>
@@ -60,7 +60,7 @@ namespace JT808.Protocol.Extensions.YueBiao.MessageBody
/// <param name="reader"></param>
/// <param name="config"></param>
/// <returns></returns>
public JT808_0x1212 Deserialize(ref JT808MessagePackReader reader, IJT808Config config)
public override JT808_0x1212 Deserialize(ref JT808MessagePackReader reader, IJT808Config config)
{
JT808_0x1212 value = new JT808_0x1212();
value.FileNameLength = reader.ReadByte();
@@ -75,7 +75,7 @@ namespace JT808.Protocol.Extensions.YueBiao.MessageBody
/// <param name="writer"></param>
/// <param name="value"></param>
/// <param name="config"></param>
public void Serialize(ref JT808MessagePackWriter writer, JT808_0x1212 value, IJT808Config config)
public override void Serialize(ref JT808MessagePackWriter writer, JT808_0x1212 value, IJT808Config config)
{
writer.Skip(1, out int FileNameLengthPosition);
writer.WriteString(value.FileName);


+ 5
- 5
src/JT808.Protocol.Extensions/JT808.Protocol.Extensions.YueBiao/MessageBody/JT808_0x1FC4.cs 파일 보기

@@ -12,16 +12,16 @@ namespace JT808.Protocol.Extensions.YueBiao.MessageBody
/// <summary>
/// 终端升级进度上报
/// </summary>
public class JT808_0x1FC4 : JT808Bodies, IJT808MessagePackFormatter<JT808_0x1FC4>, IJT808Analyze, IJT808_2019_Version
public class JT808_0x1FC4 : JT808MessagePackFormatter<JT808_0x1FC4>, JT808Bodies, IJT808Analyze, IJT808_2019_Version
{
/// <summary>
/// 终端升级进度上报
/// </summary>
public override string Description => "终端升级进度上报";
public string Description => "终端升级进度上报";
/// <summary>
/// 终端升级进度上报
/// </summary>
public override ushort MsgId => JT808_YueBiao_MsgId.terminal_upgrade_progress_reported.ToUInt16Value();
public ushort MsgId => JT808_YueBiao_MsgId.terminal_upgrade_progress_reported.ToUInt16Value();
/// <summary>
/// 流水号
/// </summary>
@@ -71,7 +71,7 @@ namespace JT808.Protocol.Extensions.YueBiao.MessageBody
/// <param name="reader"></param>
/// <param name="config"></param>
/// <returns></returns>
public JT808_0x1FC4 Deserialize(ref JT808MessagePackReader reader, IJT808Config config)
public override JT808_0x1FC4 Deserialize(ref JT808MessagePackReader reader, IJT808Config config)
{
JT808_0x1FC4 value = new JT808_0x1FC4();
value.MsgNum = reader.ReadUInt16();
@@ -87,7 +87,7 @@ namespace JT808.Protocol.Extensions.YueBiao.MessageBody
/// <param name="writer"></param>
/// <param name="value"></param>
/// <param name="config"></param>
public void Serialize(ref JT808MessagePackWriter writer, JT808_0x1FC4 value, IJT808Config config)
public override void Serialize(ref JT808MessagePackWriter writer, JT808_0x1FC4 value, IJT808Config config)
{
writer.WriteUInt16(value.MsgNum);
writer.WriteByte(value.UpgradeType.ToByteValue());


+ 6
- 6
src/JT808.Protocol.Extensions/JT808.Protocol.Extensions.YueBiao/MessageBody/JT808_0x8103_0xF364.cs 파일 보기

@@ -12,16 +12,16 @@ namespace JT808.Protocol.Extensions.YueBiao.MessageBody
/// <summary>
/// 高级驾驶辅助系统参数
/// </summary>
public class JT808_0x8103_0xF364 : JT808_0x8103_BodyBase, IJT808MessagePackFormatter<JT808_0x8103_0xF364>, IJT808Analyze, IJT808_2019_Version
public class JT808_0x8103_0xF364 : JT808MessagePackFormatter<JT808_0x8103_0xF364>, JT808_0x8103_BodyBase, IJT808Analyze, IJT808_2019_Version
{
/// <summary>
/// 高级驾驶辅助系统参数
/// </summary>
public override uint ParamId { get; set; } = JT808_YueBiao_Constants.JT808_0X8103_0xF364;
public uint ParamId { get; set; } = JT808_YueBiao_Constants.JT808_0X8103_0xF364;
/// <summary>
/// 高级驾驶辅助系统参数长度
/// </summary>
public override byte ParamLength { get; set; }
public byte ParamLength { get; set; }
/// <summary>
/// 报警判断速度阈值
/// </summary>
@@ -240,7 +240,7 @@ namespace JT808.Protocol.Extensions.YueBiao.MessageBody
/// <summary>
/// 高级驾驶辅助系统参数
/// </summary>
public override string Description => "高级驾驶辅助系统参数";
public string Description => "高级驾驶辅助系统参数";

/// <summary>
///
@@ -402,7 +402,7 @@ namespace JT808.Protocol.Extensions.YueBiao.MessageBody
/// <param name="reader"></param>
/// <param name="config"></param>
/// <returns></returns>
public JT808_0x8103_0xF364 Deserialize(ref JT808MessagePackReader reader, IJT808Config config)
public override JT808_0x8103_0xF364 Deserialize(ref JT808MessagePackReader reader, IJT808Config config)
{
JT808_0x8103_0xF364 value = new JT808_0x8103_0xF364();
value.ParamId = reader.ReadUInt32();
@@ -471,7 +471,7 @@ namespace JT808.Protocol.Extensions.YueBiao.MessageBody
/// <param name="writer"></param>
/// <param name="value"></param>
/// <param name="config"></param>
public void Serialize(ref JT808MessagePackWriter writer, JT808_0x8103_0xF364 value, IJT808Config config)
public override void Serialize(ref JT808MessagePackWriter writer, JT808_0x8103_0xF364 value, IJT808Config config)
{
writer.WriteUInt32(value.ParamId);
writer.Skip(1, out int ParamLengthPosition);


+ 6
- 6
src/JT808.Protocol.Extensions/JT808.Protocol.Extensions.YueBiao/MessageBody/JT808_0x8103_0xF365.cs 파일 보기

@@ -12,16 +12,16 @@ namespace JT808.Protocol.Extensions.YueBiao.MessageBody
/// <summary>
/// 驾驶员状态监测系统参数
/// </summary>
public class JT808_0x8103_0xF365 : JT808_0x8103_BodyBase, IJT808MessagePackFormatter<JT808_0x8103_0xF365>, IJT808Analyze, IJT808_2019_Version
public class JT808_0x8103_0xF365 : JT808MessagePackFormatter<JT808_0x8103_0xF365>, JT808_0x8103_BodyBase, IJT808Analyze, IJT808_2019_Version
{
/// <summary>
/// 驾驶员状态监测系统参数
/// </summary>
public override uint ParamId { get; set; } = JT808_YueBiao_Constants.JT808_0X8103_0xF365;
public uint ParamId { get; set; } = JT808_YueBiao_Constants.JT808_0X8103_0xF365;
/// <summary>
/// 驾驶员状态监测系统参数长度
/// </summary>
public override byte ParamLength { get; set; }
public byte ParamLength { get; set; }
/// <summary>
/// 报警判断速度阈值
/// </summary>
@@ -238,7 +238,7 @@ namespace JT808.Protocol.Extensions.YueBiao.MessageBody
/// <summary>
/// 驾驶员状态监测系统参数
/// </summary>
public override string Description => "驾驶员状态监测系统参数";
public string Description => "驾驶员状态监测系统参数";

/// <summary>
///
@@ -406,7 +406,7 @@ namespace JT808.Protocol.Extensions.YueBiao.MessageBody
/// <param name="reader"></param>
/// <param name="config"></param>
/// <returns></returns>
public JT808_0x8103_0xF365 Deserialize(ref JT808MessagePackReader reader, IJT808Config config)
public override JT808_0x8103_0xF365 Deserialize(ref JT808MessagePackReader reader, IJT808Config config)
{
JT808_0x8103_0xF365 value = new JT808_0x8103_0xF365();
value.ParamId = reader.ReadUInt32();
@@ -477,7 +477,7 @@ namespace JT808.Protocol.Extensions.YueBiao.MessageBody
/// <param name="writer"></param>
/// <param name="value"></param>
/// <param name="config"></param>
public void Serialize(ref JT808MessagePackWriter writer, JT808_0x8103_0xF365 value, IJT808Config config)
public override void Serialize(ref JT808MessagePackWriter writer, JT808_0x8103_0xF365 value, IJT808Config config)
{
writer.WriteUInt32(value.ParamId);
writer.Skip(1, out int ParamLengthPosition);


+ 6
- 6
src/JT808.Protocol.Extensions/JT808.Protocol.Extensions.YueBiao/MessageBody/JT808_0x8103_0xF366.cs 파일 보기

@@ -9,16 +9,16 @@ namespace JT808.Protocol.Extensions.YueBiao.MessageBody
/// <summary>
/// 胎压监测系统参数
/// </summary>
public class JT808_0x8103_0xF366 : JT808_0x8103_BodyBase, IJT808MessagePackFormatter<JT808_0x8103_0xF366>, IJT808Analyze, IJT808_2019_Version
public class JT808_0x8103_0xF366 : JT808MessagePackFormatter<JT808_0x8103_0xF366>, JT808_0x8103_BodyBase, IJT808Analyze, IJT808_2019_Version
{
/// <summary>
/// 胎压监测系统参数Id
/// </summary>
public override uint ParamId { get; set; } = JT808_YueBiao_Constants.JT808_0X8103_0xF366;
public uint ParamId { get; set; } = JT808_YueBiao_Constants.JT808_0X8103_0xF366;
/// <summary>
/// 胎压监测系统参数长度
/// </summary>
public override byte ParamLength { get; set; } = 46;
public byte ParamLength { get; set; } = 46;
/// <summary>
/// 轮胎规格型号 12位
/// </summary>
@@ -66,7 +66,7 @@ namespace JT808.Protocol.Extensions.YueBiao.MessageBody
/// <summary>
/// 胎压监测系统参数
/// </summary>
public override string Description => "胎压监测系统参数";
public string Description => "胎压监测系统参数";

/// <summary>
///
@@ -111,7 +111,7 @@ namespace JT808.Protocol.Extensions.YueBiao.MessageBody
/// <param name="reader"></param>
/// <param name="config"></param>
/// <returns></returns>
public JT808_0x8103_0xF366 Deserialize(ref JT808MessagePackReader reader, IJT808Config config)
public override JT808_0x8103_0xF366 Deserialize(ref JT808MessagePackReader reader, IJT808Config config)
{
JT808_0x8103_0xF366 value = new JT808_0x8103_0xF366();
value.ParamId = reader.ReadUInt32();
@@ -135,7 +135,7 @@ namespace JT808.Protocol.Extensions.YueBiao.MessageBody
/// <param name="writer"></param>
/// <param name="value"></param>
/// <param name="config"></param>
public void Serialize(ref JT808MessagePackWriter writer, JT808_0x8103_0xF366 value, IJT808Config config)
public override void Serialize(ref JT808MessagePackWriter writer, JT808_0x8103_0xF366 value, IJT808Config config)
{
writer.WriteUInt32(value.ParamId);
writer.Skip(1, out int ParamLengthPosition);


+ 6
- 6
src/JT808.Protocol.Extensions/JT808.Protocol.Extensions.YueBiao/MessageBody/JT808_0x8103_0xF367.cs 파일 보기

@@ -9,16 +9,16 @@ namespace JT808.Protocol.Extensions.YueBiao.MessageBody
/// <summary>
/// 盲区监测系统参数
/// </summary>
public class JT808_0x8103_0xF367 : JT808_0x8103_BodyBase, IJT808MessagePackFormatter<JT808_0x8103_0xF367>, IJT808Analyze, IJT808_2019_Version
public class JT808_0x8103_0xF367 : JT808MessagePackFormatter<JT808_0x8103_0xF367>, JT808_0x8103_BodyBase, IJT808Analyze, IJT808_2019_Version
{
/// <summary>
/// 盲区监测系统参数Id
/// </summary>
public override uint ParamId { get; set; } = JT808_YueBiao_Constants.JT808_0X8103_0xF367;
public uint ParamId { get; set; } = JT808_YueBiao_Constants.JT808_0X8103_0xF367;
/// <summary>
/// 盲区监测系统参数长度
/// </summary>
public override byte ParamLength { get; set; } = 2;
public byte ParamLength { get; set; } = 2;
/// <summary>
/// 后方接近报警时间阈值
/// </summary>
@@ -30,7 +30,7 @@ namespace JT808.Protocol.Extensions.YueBiao.MessageBody
/// <summary>
/// 盲区监测系统参数
/// </summary>
public override string Description => "盲区监测系统参数";
public string Description => "盲区监测系统参数";

/// <summary>
///
@@ -56,7 +56,7 @@ namespace JT808.Protocol.Extensions.YueBiao.MessageBody
/// <param name="reader"></param>
/// <param name="config"></param>
/// <returns></returns>
public JT808_0x8103_0xF367 Deserialize(ref JT808MessagePackReader reader, IJT808Config config)
public override JT808_0x8103_0xF367 Deserialize(ref JT808MessagePackReader reader, IJT808Config config)
{
JT808_0x8103_0xF367 value = new JT808_0x8103_0xF367();
value.ParamId = reader.ReadUInt32();
@@ -71,7 +71,7 @@ namespace JT808.Protocol.Extensions.YueBiao.MessageBody
/// <param name="writer"></param>
/// <param name="value"></param>
/// <param name="config"></param>
public void Serialize(ref JT808MessagePackWriter writer, JT808_0x8103_0xF367 value, IJT808Config config)
public override void Serialize(ref JT808MessagePackWriter writer, JT808_0x8103_0xF367 value, IJT808Config config)
{
writer.WriteUInt32(value.ParamId);
writer.WriteByte(2);


+ 6
- 6
src/JT808.Protocol.Extensions/JT808.Protocol.Extensions.YueBiao/MessageBody/JT808_0x8103_0xF370.cs 파일 보기

@@ -9,16 +9,16 @@ namespace JT808.Protocol.Extensions.YueBiao.MessageBody
/// <summary>
/// 智能视频协议版本信息
/// </summary>
public class JT808_0x8103_0xF370 : JT808_0x8103_BodyBase, IJT808MessagePackFormatter<JT808_0x8103_0xF370>, IJT808Analyze, IJT808_2019_Version
public class JT808_0x8103_0xF370 : JT808MessagePackFormatter<JT808_0x8103_0xF370>, JT808_0x8103_BodyBase, IJT808Analyze, IJT808_2019_Version
{
/// <summary>
/// 系统参数Id
/// </summary>
public override uint ParamId { get; set; } = JT808_YueBiao_Constants.JT808_0X8103_0xF370;
public uint ParamId { get; set; } = JT808_YueBiao_Constants.JT808_0X8103_0xF370;
/// <summary>
/// 参数长度
/// </summary>
public override byte ParamLength { get; set; } = 1;
public byte ParamLength { get; set; } = 1;
/// <summary>
/// 智能视频协议版本信息
/// 引入此智能视频协议版本信息方便平台进行版本控制初始版本是
@@ -29,7 +29,7 @@ namespace JT808.Protocol.Extensions.YueBiao.MessageBody
/// <summary>
/// 智能视频协议版本信息
/// </summary>
public override string Description => "智能视频协议版本信息";
public string Description => "智能视频协议版本信息";

/// <summary>
///
@@ -53,7 +53,7 @@ namespace JT808.Protocol.Extensions.YueBiao.MessageBody
/// <param name="reader"></param>
/// <param name="config"></param>
/// <returns></returns>
public JT808_0x8103_0xF370 Deserialize(ref JT808MessagePackReader reader, IJT808Config config)
public override JT808_0x8103_0xF370 Deserialize(ref JT808MessagePackReader reader, IJT808Config config)
{
JT808_0x8103_0xF370 value = new JT808_0x8103_0xF370();
value.ParamId = reader.ReadUInt32();
@@ -67,7 +67,7 @@ namespace JT808.Protocol.Extensions.YueBiao.MessageBody
/// <param name="writer"></param>
/// <param name="value"></param>
/// <param name="config"></param>
public void Serialize(ref JT808MessagePackWriter writer, JT808_0x8103_0xF370 value, IJT808Config config)
public override void Serialize(ref JT808MessagePackWriter writer, JT808_0x8103_0xF370 value, IJT808Config config)
{
writer.WriteUInt32(value.ParamId);
writer.WriteByte(value.ParamLength);


+ 4
- 4
src/JT808.Protocol.Extensions/JT808.Protocol.Extensions.YueBiao/MessageBody/JT808_0x8900_0xF7.cs 파일 보기

@@ -10,13 +10,13 @@ namespace JT808.Protocol.Extensions.YueBiao.MessageBody
/// <summary>
/// 状态查询
/// </summary>
public class JT808_0x8900_0xF7 : JT808_0x8900_BodyBase, IJT808MessagePackFormatter<JT808_0x8900_0xF7>, IJT808Analyze, IJT808_2019_Version
public class JT808_0x8900_0xF7 : JT808MessagePackFormatter<JT808_0x8900_0xF7>, JT808_0x8900_BodyBase, IJT808Analyze, IJT808_2019_Version
{
/// <summary>
/// 查询基本信息类型
/// 外设状态信息:外设工作状态、设备报警信息
/// </summary>
public override byte PassthroughType { get; set; } = JT808_YueBiao_Constants.JT808_0X0900_0xF7;
public byte PassthroughType { get; set; } = JT808_YueBiao_Constants.JT808_0X0900_0xF7;
/// <summary>
/// 外设ID列表总数
/// </summary>
@@ -55,7 +55,7 @@ namespace JT808.Protocol.Extensions.YueBiao.MessageBody
/// <param name="reader"></param>
/// <param name="config"></param>
/// <returns></returns>
public JT808_0x8900_0xF7 Deserialize(ref JT808MessagePackReader reader, IJT808Config config)
public override JT808_0x8900_0xF7 Deserialize(ref JT808MessagePackReader reader, IJT808Config config)
{
JT808_0x8900_0xF7 value = new JT808_0x8900_0xF7();
value.USBCount = reader.ReadByte();
@@ -75,7 +75,7 @@ namespace JT808.Protocol.Extensions.YueBiao.MessageBody
/// <param name="writer"></param>
/// <param name="value"></param>
/// <param name="config"></param>
public void Serialize(ref JT808MessagePackWriter writer, JT808_0x8900_0xF7 value, IJT808Config config)
public override void Serialize(ref JT808MessagePackWriter writer, JT808_0x8900_0xF7 value, IJT808Config config)
{
if (value.MultipleUSB != null && value.MultipleUSB.Count > 0)
{


+ 4
- 4
src/JT808.Protocol.Extensions/JT808.Protocol.Extensions.YueBiao/MessageBody/JT808_0x8900_0xF8.cs 파일 보기

@@ -10,13 +10,13 @@ namespace JT808.Protocol.Extensions.YueBiao.MessageBody
/// <summary>
/// 信息查询
/// </summary>
public class JT808_0x8900_0xF8 : JT808_0x8900_BodyBase, IJT808MessagePackFormatter<JT808_0x8900_0xF8>, IJT808Analyze, IJT808_2019_Version
public class JT808_0x8900_0xF8 : JT808MessagePackFormatter<JT808_0x8900_0xF8>, JT808_0x8900_BodyBase, IJT808Analyze, IJT808_2019_Version
{
/// <summary>
/// 查询基本信息透传类型
/// 外设传感器的基本信息:公司信息、 产品代码、 版本号、 外设 ID、 客户代码。对应的消息内容见表
/// </summary>
public override byte PassthroughType { get; set; } = JT808_YueBiao_Constants.JT808_0X0900_0xF8;
public byte PassthroughType { get; set; } = JT808_YueBiao_Constants.JT808_0X0900_0xF8;
/// <summary>
/// 外设ID列表总数
/// </summary>
@@ -55,7 +55,7 @@ namespace JT808.Protocol.Extensions.YueBiao.MessageBody
/// <param name="reader"></param>
/// <param name="config"></param>
/// <returns></returns>
public JT808_0x8900_0xF8 Deserialize(ref JT808MessagePackReader reader, IJT808Config config)
public override JT808_0x8900_0xF8 Deserialize(ref JT808MessagePackReader reader, IJT808Config config)
{
JT808_0x8900_0xF8 value = new JT808_0x8900_0xF8();
value.USBCount = reader.ReadByte();
@@ -75,7 +75,7 @@ namespace JT808.Protocol.Extensions.YueBiao.MessageBody
/// <param name="writer"></param>
/// <param name="value"></param>
/// <param name="config"></param>
public void Serialize(ref JT808MessagePackWriter writer, JT808_0x8900_0xF8 value, IJT808Config config)
public override void Serialize(ref JT808MessagePackWriter writer, JT808_0x8900_0xF8 value, IJT808Config config)
{
if (value.MultipleUSB != null && value.MultipleUSB.Count > 0)
{


+ 5
- 5
src/JT808.Protocol.Extensions/JT808.Protocol.Extensions.YueBiao/MessageBody/JT808_0x9208.cs 파일 보기

@@ -10,12 +10,12 @@ namespace JT808.Protocol.Extensions.YueBiao.MessageBody
/// <summary>
/// 报警附件上传指令
/// </summary>
public class JT808_0x9208: JT808Bodies, IJT808MessagePackFormatter<JT808_0x9208>, IJT808Analyze, IJT808_2019_Version
public class JT808_0x9208: JT808MessagePackFormatter<JT808_0x9208>, JT808Bodies, IJT808Analyze, IJT808_2019_Version
{
/// <summary>
/// Description
/// </summary>
public override string Description => "报警附件上传指令";
public string Description => "报警附件上传指令";
/// <summary>
/// 服务IP地址长度
/// </summary>
@@ -48,7 +48,7 @@ namespace JT808.Protocol.Extensions.YueBiao.MessageBody
/// <summary>
/// 报警附件上传指令Id
/// </summary>
public override ushort MsgId => 0x9208;
public ushort MsgId => 0x9208;
/// <summary>
///
/// </summary>
@@ -93,7 +93,7 @@ namespace JT808.Protocol.Extensions.YueBiao.MessageBody
/// <param name="reader"></param>
/// <param name="config"></param>
/// <returns></returns>
public JT808_0x9208 Deserialize(ref JT808MessagePackReader reader, IJT808Config config)
public override JT808_0x9208 Deserialize(ref JT808MessagePackReader reader, IJT808Config config)
{
JT808_0x9208 value = new JT808_0x9208();
value.AttachmentServerIPLength = reader.ReadByte();
@@ -119,7 +119,7 @@ namespace JT808.Protocol.Extensions.YueBiao.MessageBody
/// <param name="writer"></param>
/// <param name="value"></param>
/// <param name="config"></param>
public void Serialize(ref JT808MessagePackWriter writer, JT808_0x9208 value, IJT808Config config)
public override void Serialize(ref JT808MessagePackWriter writer, JT808_0x9208 value, IJT808Config config)
{
writer.Skip(1, out int AttachmentServerIPLengthPosition);
writer.WriteString(value.AttachmentServerIP);


+ 5
- 5
src/JT808.Protocol.Extensions/JT808.Protocol.Extensions.YueBiao/MessageBody/JT808_0x9212.cs 파일 보기

@@ -10,12 +10,12 @@ namespace JT808.Protocol.Extensions.YueBiao.MessageBody
/// <summary>
/// 文件上传完成消息应答
/// </summary>
public class JT808_0x9212: JT808Bodies, IJT808MessagePackFormatter<JT808_0x9212>, IJT808Analyze, IJT808_2019_Version
public class JT808_0x9212: JT808MessagePackFormatter<JT808_0x9212>, JT808Bodies, IJT808Analyze, IJT808_2019_Version
{
/// <summary>
/// 文件上传完成消息应答
/// </summary>
public override string Description => "文件上传完成消息应答";
public string Description => "文件上传完成消息应答";
/// <summary>
/// 文件名称长度
/// </summary>
@@ -44,7 +44,7 @@ namespace JT808.Protocol.Extensions.YueBiao.MessageBody
/// <summary>
/// 文件上传完成消息应答Id
/// </summary>
public override ushort MsgId => 0x9212;
public ushort MsgId => 0x9212;
/// <summary>
///
/// </summary>
@@ -87,7 +87,7 @@ namespace JT808.Protocol.Extensions.YueBiao.MessageBody
/// <param name="reader"></param>
/// <param name="config"></param>
/// <returns></returns>
public JT808_0x9212 Deserialize(ref JT808MessagePackReader reader, IJT808Config config)
public override JT808_0x9212 Deserialize(ref JT808MessagePackReader reader, IJT808Config config)
{
JT808_0x9212 value = new JT808_0x9212();
value.FileNameLength = reader.ReadByte();
@@ -114,7 +114,7 @@ namespace JT808.Protocol.Extensions.YueBiao.MessageBody
/// <param name="writer"></param>
/// <param name="value"></param>
/// <param name="config"></param>
public void Serialize(ref JT808MessagePackWriter writer, JT808_0x9212 value, IJT808Config config)
public override void Serialize(ref JT808MessagePackWriter writer, JT808_0x9212 value, IJT808Config config)
{
writer.Skip(1, out int FileNameLengthPosition);
writer.WriteString(value.FileName);


+ 2
- 2
src/JT808.Protocol.Test/Extensions/JT808EnumExtensionsTest.cs 파일 보기

@@ -33,7 +33,7 @@ namespace JT808.Protocol.Test.Extensions
public void Test2()
{
var types = Enum.GetNames(typeof(JT808MsgId));
var bodyTypes = Assembly.GetAssembly(typeof(JT808Package)).GetTypes().Where(w => w.BaseType == typeof(JT808Bodies)).ToList();
var bodyTypes = Assembly.GetAssembly(typeof(JT808Package)).GetTypes().Where(w => w.GetInterface(nameof(JT808Bodies)) == typeof(JT808Bodies)).ToList();
Assert.Equal(types.Length, bodyTypes.Count);
}

@@ -41,7 +41,7 @@ namespace JT808.Protocol.Test.Extensions
public void Test3()
{
var types = Enum.GetNames(typeof(JT808MsgId));
var bodyTypes = Assembly.GetAssembly(typeof(JT808Package)).GetTypes().Where(w => w.BaseType == typeof(JT808Bodies)).ToList();
var bodyTypes = Assembly.GetAssembly(typeof(JT808Package)).GetTypes().Where(w => w.GetInterface(nameof(JT808Bodies)) == typeof(JT808Bodies)).ToList();
foreach (var type in bodyTypes)
{
var instance = Activator.CreateInstance(type);


+ 9
- 9
src/JT808.Protocol.Test/Extensions/JT808PackageExtensionsTest.cs 파일 보기

@@ -15,17 +15,17 @@ namespace JT808.Protocol.Test.Extensions
[Fact]
public void CreatePackage()
{
var package= JT808MsgId._0x0002.Create_终端心跳("123456789", new Protocol.MessageBody.JT808_0x0002 {
});
var package = JT808MsgId._0x0002.Create_终端心跳("123456789", new Protocol.MessageBody.JT808_0x0002
{

});
}


//[Fact]
//public void Get()
//{
// string type = "222".Replace("","");
// var a = Assembly.GetAssembly(typeof(JT808Package)).GetTypes().Where(w=>w.FullName.EndsWith("Formatter")).ToList();
//}
[Fact]
public void Get()
{
var a = Assembly.GetAssembly(typeof(JT808Package)).GetTypes().Where(w => w.FullName.EndsWith("Formatter")).ToList();
}
}
}

+ 0
- 1
src/JT808.Protocol.Test/JT808.Protocol.Test.csproj 파일 보기

@@ -110,7 +110,6 @@
<ItemGroup>
<PackageReference Include="Microsoft.NET.Test.Sdk" Version="17.4.0" />
<PackageReference Include="NETStandard.Library" Version="2.0.3" />
<PackageReference Include="Newtonsoft.Json" Version="13.0.1" />
<PackageReference Include="System.Drawing.Common" Version="7.0.0" />
<PackageReference Include="Microsoft.Extensions.DependencyInjection" Version="7.0.0" />
<PackageReference Include="System.Runtime.InteropServices.RuntimeInformation" Version="4.3.0" />


+ 5
- 5
src/JT808.Protocol.Test/MessageBody/JT808LocationAttachExtensions/JT808LocationAttachImpl0x61.cs 파일 보기

@@ -10,14 +10,14 @@ namespace JT808.Protocol.Test.JT808LocationAttach
/// UserName-BCD(10)
/// Gerder-byte-1
/// </summary>
public class JT808LocationAttachImpl0x61: JT808_0x0200_CustomBodyBase, IJT808MessagePackFormatter<JT808LocationAttachImpl0x61>
public class JT808LocationAttachImpl0x61: JT808MessagePackFormatter<JT808LocationAttachImpl0x61>, JT808_0x0200_CustomBodyBase
{
public override byte AttachInfoId { get; set; } = 0x61;
public override byte AttachInfoLength { get; set; } = 13;
public byte AttachInfoId { get; set; } = 0x61;
public byte AttachInfoLength { get; set; } = 13;
public int Age { get; set; }
public byte Gender { get; set; }
public string UserName { get; set; }
public JT808LocationAttachImpl0x61 Deserialize(ref JT808MessagePackReader reader, IJT808Config config)
public override JT808LocationAttachImpl0x61 Deserialize(ref JT808MessagePackReader reader, IJT808Config config)
{
JT808LocationAttachImpl0x61 jT808LocationAttachImpl0x61 = new JT808LocationAttachImpl0x61();
jT808LocationAttachImpl0x61.AttachInfoId = reader.ReadByte();
@@ -28,7 +28,7 @@ namespace JT808.Protocol.Test.JT808LocationAttach
return jT808LocationAttachImpl0x61;
}

public void Serialize(ref JT808MessagePackWriter writer, JT808LocationAttachImpl0x61 value, IJT808Config config)
public override void Serialize(ref JT808MessagePackWriter writer, JT808LocationAttachImpl0x61 value, IJT808Config config)
{
writer.WriteByte(value.AttachInfoId);
writer.WriteByte(value.AttachInfoLength);


+ 4
- 4
src/JT808.Protocol.Test/MessageBody/JT808_0X8900_BodiesImpl/JT808_0X8900_Test_BodiesImpl.cs 파일 보기

@@ -7,12 +7,12 @@ using System.Text.Json;

namespace JT808.Protocol.Test.MessageBody.JT808_0X8900_BodiesImpl
{
public class JT808_0X8900_Test_BodiesImpl: JT808_0x8900_BodyBase, IJT808MessagePackFormatter<JT808_0X8900_Test_BodiesImpl>, IJT808Analyze
public class JT808_0X8900_Test_BodiesImpl: JT808MessagePackFormatter<JT808_0X8900_Test_BodiesImpl>, JT808_0x8900_BodyBase, IJT808Analyze
{
public uint Id { get; set; }

public byte Sex { get; set; }
public override byte PassthroughType { get; set; } = 0x0B;
public byte PassthroughType { get; set; } = 0x0B;

public void Analyze(ref JT808MessagePackReader reader, Utf8JsonWriter writer, IJT808Config config)
{
@@ -23,7 +23,7 @@ namespace JT808.Protocol.Test.MessageBody.JT808_0X8900_BodiesImpl
writer.WriteNumber($"[{value.Sex.ReadNumber()}]性别", value.Sex);
}

public JT808_0X8900_Test_BodiesImpl Deserialize(ref JT808MessagePackReader reader, IJT808Config config)
public override JT808_0X8900_Test_BodiesImpl Deserialize(ref JT808MessagePackReader reader, IJT808Config config)
{
JT808_0X8900_Test_BodiesImpl value = new JT808_0X8900_Test_BodiesImpl();
value.Id = reader.ReadUInt32();
@@ -31,7 +31,7 @@ namespace JT808.Protocol.Test.MessageBody.JT808_0X8900_BodiesImpl
return value;
}

public void Serialize(ref JT808MessagePackWriter writer, JT808_0X8900_Test_BodiesImpl value, IJT808Config config)
public override void Serialize(ref JT808MessagePackWriter writer, JT808_0X8900_Test_BodiesImpl value, IJT808Config config)
{
writer.WriteUInt32(value.Id);
writer.WriteByte(value.Sex);


+ 1
- 0
src/JT808.Protocol.Test/MessageBody/JT808_0x0200Test.cs 파일 보기

@@ -26,6 +26,7 @@ namespace JT808.Protocol.Test.MessageBody
IJT808Config jT808Config1 = new DefaultGlobalConfig();
jT808Config1.SkipCRCCode = true;
jT808Config.JT808_0X0200_Custom_Factory.SetMap<JT808LocationAttachImpl0x61>();
jT808Config.FormatterFactory.SetMap<JT808LocationAttachImpl0x61>();
JT808Serializer = new JT808Serializer(jT808Config);
JT808Serializer1 = new JT808Serializer(jT808Config1);
}


+ 3
- 3
src/JT808.Protocol.Test/MessageBody/JT808_0x0701BodiesImpl/JT808_0x0701TestBodiesImpl.cs 파일 보기

@@ -4,7 +4,7 @@ using JT808.Protocol.MessagePack;

namespace JT808.Protocol.Test.MessageBody.JT808_0x0701BodiesImpl
{
public class JT808_0x0701TestBodiesImpl: JT808_0x0701_CustomBodyBase, IJT808MessagePackFormatter<JT808_0x0701TestBodiesImpl>
public class JT808_0x0701TestBodiesImpl: JT808MessagePackFormatter<JT808_0x0701TestBodiesImpl>,JT808_0x0701_CustomBodyBase
{
public uint Id { get; set; }

@@ -12,7 +12,7 @@ namespace JT808.Protocol.Test.MessageBody.JT808_0x0701BodiesImpl

public string UserName { get; set; }

public JT808_0x0701TestBodiesImpl Deserialize(ref JT808MessagePackReader reader, IJT808Config config)
public override JT808_0x0701TestBodiesImpl Deserialize(ref JT808MessagePackReader reader, IJT808Config config)
{
JT808_0x0701TestBodiesImpl jT808_0X0701TestBodiesImpl = new JT808_0x0701TestBodiesImpl();
jT808_0X0701TestBodiesImpl.Id = reader.ReadUInt32();
@@ -21,7 +21,7 @@ namespace JT808.Protocol.Test.MessageBody.JT808_0x0701BodiesImpl
return jT808_0X0701TestBodiesImpl;
}

public void Serialize(ref JT808MessagePackWriter writer, JT808_0x0701TestBodiesImpl value, IJT808Config config)
public override void Serialize(ref JT808MessagePackWriter writer, JT808_0x0701TestBodiesImpl value, IJT808Config config)
{
writer.WriteUInt32(value.Id);
writer.Skip(2, out int position);


+ 4
- 4
src/JT808.Protocol.Test/MessageBody/JT808_0x0900_BodiesImpl/JT808_0x0900_0x83.cs 파일 보기

@@ -6,13 +6,13 @@ using System.Text.Json;

namespace JT808.Protocol.Test.JT808_0x0900_BodiesImpl
{
public class JT808_0x0900_0x83 : JT808_0x0900_BodyBase,IJT808MessagePackFormatter<JT808_0x0900_0x83>, IJT808Analyze
public class JT808_0x0900_0x83 : JT808MessagePackFormatter<JT808_0x0900_0x83>, JT808_0x0900_BodyBase, IJT808Analyze
{
/// <summary>
/// 透传内容
/// </summary>
public string PassthroughContent { get; set; }
public override byte PassthroughType { get; set; } = 0x83;
public byte PassthroughType { get; set; } = 0x83;

public void Analyze(ref JT808MessagePackReader reader, Utf8JsonWriter writer, IJT808Config config)
{
@@ -21,14 +21,14 @@ namespace JT808.Protocol.Test.JT808_0x0900_BodiesImpl
writer.WriteString("透传内容", value.PassthroughContent);
}

public JT808_0x0900_0x83 Deserialize(ref JT808MessagePackReader reader, IJT808Config config)
public override JT808_0x0900_0x83 Deserialize(ref JT808MessagePackReader reader, IJT808Config config)
{
JT808_0x0900_0x83 value = new JT808_0x0900_0x83();
value.PassthroughContent = reader.ReadRemainStringContent();
return value;
}

public void Serialize(ref JT808MessagePackWriter writer, JT808_0x0900_0x83 value, IJT808Config config)
public override void Serialize(ref JT808MessagePackWriter writer, JT808_0x0900_0x83 value, IJT808Config config)
{
writer.WriteString(value.PassthroughContent);
}


+ 6
- 6
src/JT808.Protocol.Test/MessageBody/JT808_0x8103CustomIdExtensions/JT808_0x8103_0x0075.cs 파일 보기

@@ -15,13 +15,13 @@ namespace JT808.Protocol.Test.MessageBody.JT808_0x8103CustomIdExtensions
/// 音视频参数设置
/// 0x8103_0x0075
/// </summary>
public class JT808_0x8103_0x0075 : JT808_0x8103_CustomBodyBase, IJT808MessagePackFormatter<JT808_0x8103_0x0075>,IJT808Analyze
public class JT808_0x8103_0x0075 : JT808MessagePackFormatter<JT808_0x8103_0x0075>, JT808_0x8103_CustomBodyBase, IJT808Analyze
{
public override uint ParamId { get; set; } = 0x0075;
public uint ParamId { get; set; } = 0x0075;
/// <summary>
/// 数据 长度
/// </summary>
public override byte ParamLength { get; set; } = 21;
public byte ParamLength { get; set; } = 21;
/// <summary>
/// 实时流编码模式
/// </summary>
@@ -79,7 +79,7 @@ namespace JT808.Protocol.Test.MessageBody.JT808_0x8103CustomIdExtensions
/// <summary>
/// 音视频参数设置
/// </summary>
public override string Description => "音视频参数设置";
public string Description => "音视频参数设置";

public void Analyze(ref JT808MessagePackReader reader, Utf8JsonWriter writer, IJT808Config config)
{
@@ -114,7 +114,7 @@ namespace JT808.Protocol.Test.MessageBody.JT808_0x8103CustomIdExtensions
writer.WriteNumber($"[{value.AudioOutputEnabled.ReadNumber()}]是否启用音频输出", value.AudioOutputEnabled);
}

public JT808_0x8103_0x0075 Deserialize(ref JT808MessagePackReader reader, IJT808Config config)
public override JT808_0x8103_0x0075 Deserialize(ref JT808MessagePackReader reader, IJT808Config config)
{
JT808_0x8103_0x0075 jT808_0X8103_0X0075 = new JT808_0x8103_0x0075();
jT808_0X8103_0X0075.ParamId = reader.ReadUInt32();
@@ -134,7 +134,7 @@ namespace JT808.Protocol.Test.MessageBody.JT808_0x8103CustomIdExtensions
return jT808_0X8103_0X0075;
}

public void Serialize(ref JT808MessagePackWriter writer, JT808_0x8103_0x0075 value, IJT808Config config)
public override void Serialize(ref JT808MessagePackWriter writer, JT808_0x8103_0x0075 value, IJT808Config config)
{
writer.WriteUInt32(value.ParamId);
writer.WriteByte(value.ParamLength);


+ 1
- 0
src/JT808.Protocol.Test/MessageBody/JT808_0x8103Test.cs 파일 보기

@@ -17,6 +17,7 @@ namespace JT808.Protocol.Test.MessageBody
{
IJT808Config jT808Config = new DefaultGlobalConfig();
jT808Config.JT808_0X8103_Custom_Factory.SetMap<JT808_0x8103_0x0075>();
jT808Config.FormatterFactory.SetMap<JT808_0x8103_0x0075>();
JT808Serializer = new JT808Serializer(jT808Config);
}
[Fact]


+ 4
- 4
src/JT808.Protocol.Test/MessageBody/JT808_0x8500Test.cs 파일 보기

@@ -96,9 +96,9 @@ namespace JT808.Protocol.Test.MessageBody
/// <summary>
/// 自定义控制类型
/// </summary>
public class JT808_0x8500_0xF001 : JT808_0x8500_ControlType, IJT808MessagePackFormatter<JT808_0x8500_0xF001>, IJT808Analyze
public class JT808_0x8500_0xF001 : JT808MessagePackFormatter<JT808_0x8500_0xF001>, JT808_0x8500_ControlType, IJT808Analyze
{
public override ushort ControlTypeId { get; set; } = 0xF001;
public ushort ControlTypeId { get; set; } = 0xF001;

public byte ControlTypeParameter { get; set; }

@@ -111,7 +111,7 @@ namespace JT808.Protocol.Test.MessageBody
writer.WriteNumber($"[{ value.ControlTypeParameter.ReadNumber()}]控制类型参数", value.ControlTypeParameter);
}

public JT808_0x8500_0xF001 Deserialize(ref JT808MessagePackReader reader, IJT808Config config)
public override JT808_0x8500_0xF001 Deserialize(ref JT808MessagePackReader reader, IJT808Config config)
{
JT808_0x8500_0xF001 value = new JT808_0x8500_0xF001();
value.ControlTypeId = reader.ReadUInt16();
@@ -119,7 +119,7 @@ namespace JT808.Protocol.Test.MessageBody
return value;
}

public void Serialize(ref JT808MessagePackWriter writer, JT808_0x8500_0xF001 value, IJT808Config config)
public override void Serialize(ref JT808MessagePackWriter writer, JT808_0x8500_0xF001 value, IJT808Config config)
{
writer.WriteUInt16(value.ControlTypeId);
writer.WriteByte(value.ControlTypeParameter);


+ 5
- 5
src/JT808.Protocol.Test/MessageBody/JT808_0x9999.cs 파일 보기

@@ -6,22 +6,22 @@ using System.Text;

namespace JT808.Protocol.Test.MessageBody
{
public class JT808_0x9999 : JT808Bodies, IJT808MessagePackFormatter<JT808_0x9999>
public class JT808_0x9999 : JT808MessagePackFormatter<JT808_0x9999>, JT808Bodies
{
public byte Sex { get; set; }

public override ushort MsgId => 0x9999;
public ushort MsgId => 0x9999;

public override string Description => "自定义消息";
public string Description => "自定义消息";

public JT808_0x9999 Deserialize(ref JT808MessagePackReader reader, IJT808Config config)
public override JT808_0x9999 Deserialize(ref JT808MessagePackReader reader, IJT808Config config)
{
JT808_0x9999 jT808_0X9999 = new JT808_0x9999();
jT808_0X9999.Sex = reader.ReadByte();
return jT808_0X9999;
}

public void Serialize(ref JT808MessagePackWriter writer, JT808_0x9999 value, IJT808Config config)
public override void Serialize(ref JT808MessagePackWriter writer, JT808_0x9999 value, IJT808Config config)
{
writer.WriteByte(value.Sex);
}


+ 24
- 20
src/JT808.Protocol.Test/Simples/Demo10.cs 파일 보기

@@ -37,9 +37,13 @@ namespace JT808.Protocol.Test.Simples
{
IJT808Config jT808Config = new Demo10ConfigBase();
jT808Config.JT808_0X0200_Custom_Factory.SetMap<JT808LocationAttachImpl0xDF>();
jT808Config.FormatterFactory.SetMap<JT808LocationAttachImpl0xDF>();
jT808Config.JT808_0X0200_Custom_Factory.SetMap2<JT808LocationAttachImpl0xDE>();
jT808Config.FormatterFactory.SetMap<JT808LocationAttachImpl0xDE>();
jT808Config.JT808_0X0200_Custom_Factory.SetMap3<JT808LocationAttachImpl0xDD>();
jT808Config.FormatterFactory.SetMap<JT808LocationAttachImpl0xDD>();
jT808Config.JT808_0X0200_Custom_Factory.SetMap4<JT808LocationAttachImpl0x62>();
jT808Config.FormatterFactory.SetMap<JT808LocationAttachImpl0x62>();
JT808Serializer = new JT808Serializer(jT808Config);
}

@@ -487,21 +491,21 @@ namespace JT808.Protocol.Test.Simples
/// <summary>
/// 1:1
/// </summary>
public class JT808LocationAttachImpl0xDF : JT808_0x0200_CustomBodyBase, IJT808MessagePackFormatter<JT808LocationAttachImpl0xDF>
public class JT808LocationAttachImpl0xDF : JT808MessagePackFormatter<JT808LocationAttachImpl0xDF>,JT808_0x0200_CustomBodyBase
{
/// <summary>
/// 附加Id 0xDF
/// </summary>
public override byte AttachInfoId { get; set; } = 0xDF;
public byte AttachInfoId { get; set; } = 0xDF;
/// <summary>
///
/// </summary>
public override byte AttachInfoLength { get; set; }
public byte AttachInfoLength { get; set; }
/// <summary>
///
/// </summary>
public byte[] TestValue { get; set; }
public JT808LocationAttachImpl0xDF Deserialize(ref JT808MessagePackReader reader, IJT808Config config)
public override JT808LocationAttachImpl0xDF Deserialize(ref JT808MessagePackReader reader, IJT808Config config)
{
JT808LocationAttachImpl0xDF jT808LocationAttachImpl0XDF = new JT808LocationAttachImpl0xDF();
jT808LocationAttachImpl0XDF.AttachInfoId = reader.ReadByte();
@@ -509,7 +513,7 @@ namespace JT808.Protocol.Test.Simples
jT808LocationAttachImpl0XDF.TestValue = reader.ReadArray(jT808LocationAttachImpl0XDF.AttachInfoLength).ToArray();
return jT808LocationAttachImpl0XDF;
}
public void Serialize(ref JT808MessagePackWriter writer, JT808LocationAttachImpl0xDF value, IJT808Config config)
public override void Serialize(ref JT808MessagePackWriter writer, JT808LocationAttachImpl0xDF value, IJT808Config config)
{
writer.WriteByte(value.AttachInfoId);
if (value.TestValue != null)
@@ -526,22 +530,22 @@ namespace JT808.Protocol.Test.Simples
/// <summary>
/// 2:1
/// </summary>
public class JT808LocationAttachImpl0xDE : JT808_0x0200_CustomBodyBase2, IJT808MessagePackFormatter<JT808LocationAttachImpl0xDE>
public class JT808LocationAttachImpl0xDE : JT808MessagePackFormatter<JT808LocationAttachImpl0xDE>, JT808_0x0200_CustomBodyBase2
{
/// <summary>
/// 附加Id 0xDE
/// </summary>
public override ushort AttachInfoId { get; set; } = 0xDE;
public ushort AttachInfoId { get; set; } = 0xDE;
/// <summary>
/// 不固定
/// </summary>
public override byte AttachInfoLength { get; set; }
public byte AttachInfoLength { get; set; }
/// <summary>
///
/// </summary>
public byte[] TestValue { get; set; }

public JT808LocationAttachImpl0xDE Deserialize(ref JT808MessagePackReader reader, IJT808Config config)
public override JT808LocationAttachImpl0xDE Deserialize(ref JT808MessagePackReader reader, IJT808Config config)
{
JT808LocationAttachImpl0xDE jT808LocationAttachImpl0XDE = new JT808LocationAttachImpl0xDE();
jT808LocationAttachImpl0XDE.AttachInfoId = reader.ReadUInt16();
@@ -550,7 +554,7 @@ namespace JT808.Protocol.Test.Simples
return jT808LocationAttachImpl0XDE;
}

public void Serialize(ref JT808MessagePackWriter writer, JT808LocationAttachImpl0xDE value, IJT808Config config)
public override void Serialize(ref JT808MessagePackWriter writer, JT808LocationAttachImpl0xDE value, IJT808Config config)
{
writer.WriteUInt16(value.AttachInfoId);
if (value.TestValue != null)
@@ -567,22 +571,22 @@ namespace JT808.Protocol.Test.Simples
/// <summary>
/// 2:2
/// </summary>
public class JT808LocationAttachImpl0xDD : JT808_0x0200_CustomBodyBase3, IJT808MessagePackFormatter<JT808LocationAttachImpl0xDD>
public class JT808LocationAttachImpl0xDD : JT808MessagePackFormatter<JT808LocationAttachImpl0xDD>,JT808_0x0200_CustomBodyBase3
{
/// <summary>
/// 附加Id 0xDD
/// </summary>
public override ushort AttachInfoId { get; set; } = 0xDD;
public ushort AttachInfoId { get; set; } = 0xDD;
/// <summary>
///
/// </summary>
public override ushort AttachInfoLength { get; set; }
public ushort AttachInfoLength { get; set; }
/// <summary>
///
/// </summary>
public byte[] TestValue { get; set; }

public JT808LocationAttachImpl0xDD Deserialize(ref JT808MessagePackReader reader, IJT808Config config)
public override JT808LocationAttachImpl0xDD Deserialize(ref JT808MessagePackReader reader, IJT808Config config)
{
JT808LocationAttachImpl0xDD jT808LocationAttachImpl0XDD = new JT808LocationAttachImpl0xDD();
jT808LocationAttachImpl0XDD.AttachInfoId = reader.ReadUInt16();
@@ -591,7 +595,7 @@ namespace JT808.Protocol.Test.Simples
return jT808LocationAttachImpl0XDD;
}

public void Serialize(ref JT808MessagePackWriter writer, JT808LocationAttachImpl0xDD value, IJT808Config config)
public override void Serialize(ref JT808MessagePackWriter writer, JT808LocationAttachImpl0xDD value, IJT808Config config)
{
writer.WriteUInt16(value.AttachInfoId);
if (value.TestValue != null)
@@ -608,13 +612,13 @@ namespace JT808.Protocol.Test.Simples
/// <summary>
/// 1:4
/// </summary>
public class JT808LocationAttachImpl0x62 : JT808_0x0200_CustomBodyBase4, IJT808MessagePackFormatter<JT808LocationAttachImpl0x62>
public class JT808LocationAttachImpl0x62 : JT808MessagePackFormatter<JT808LocationAttachImpl0x62>, JT808_0x0200_CustomBodyBase4
{
public override byte AttachInfoId { get; set; } = 0x62;
public override uint AttachInfoLength { get; set; } = 256;
public byte AttachInfoId { get; set; } = 0x62;
public uint AttachInfoLength { get; set; } = 256;
public byte[] Data { get; set; }

public JT808LocationAttachImpl0x62 Deserialize(ref JT808MessagePackReader reader, IJT808Config config)
public override JT808LocationAttachImpl0x62 Deserialize(ref JT808MessagePackReader reader, IJT808Config config)
{
JT808LocationAttachImpl0x62 jT808LocationAttachImpl0x62 = new JT808LocationAttachImpl0x62();
jT808LocationAttachImpl0x62.AttachInfoId = reader.ReadByte();
@@ -623,7 +627,7 @@ namespace JT808.Protocol.Test.Simples
return jT808LocationAttachImpl0x62;
}

public void Serialize(ref JT808MessagePackWriter writer, JT808LocationAttachImpl0x62 value, IJT808Config config)
public override void Serialize(ref JT808MessagePackWriter writer, JT808LocationAttachImpl0x62 value, IJT808Config config)
{
writer.WriteByte(value.AttachInfoId);
writer.WriteUInt32((uint)value.Data.Length);


+ 5
- 5
src/JT808.Protocol.Test/Simples/Demo13.cs 파일 보기

@@ -85,16 +85,16 @@ namespace JT808.Protocol.Test.Simples
/// 终端通用应答_替换原有的消息,来解决库现有的bug
/// The terminal general answer _ replaces the original message to solve the existing library bug
/// </summary>
public class JT808_0x0001_Replace : JT808Bodies, IJT808MessagePackFormatter<JT808_0x0001_Replace>, IJT808Analyze
public class JT808_0x0001_Replace : JT808MessagePackFormatter<JT808_0x0001_Replace>, JT808Bodies, IJT808Analyze
{
/// <summary>
/// 0x0001
/// </summary>
public override ushort MsgId => 0x0001;
public ushort MsgId => 0x0001;
/// <summary>
/// 终端通用应答
/// </summary>
public override string Description => "终端通用应答";
public string Description => "终端通用应答";
/// <summary>
/// 应答流水号
/// 对应的平台消息的流水号
@@ -122,7 +122,7 @@ namespace JT808.Protocol.Test.Simples
/// <param name="reader"></param>
/// <param name="config"></param>
/// <returns></returns>
public JT808_0x0001_Replace Deserialize(ref JT808MessagePackReader reader, IJT808Config config)
public override JT808_0x0001_Replace Deserialize(ref JT808MessagePackReader reader, IJT808Config config)
{
JT808_0x0001_Replace jT808_0X0001 = new JT808_0x0001_Replace();
jT808_0X0001.ReplyMsgNum = reader.ReadUInt16();
@@ -137,7 +137,7 @@ namespace JT808.Protocol.Test.Simples
/// <param name="writer"></param>
/// <param name="value"></param>
/// <param name="config"></param>
public void Serialize(ref JT808MessagePackWriter writer, JT808_0x0001_Replace value, IJT808Config config)
public override void Serialize(ref JT808MessagePackWriter writer, JT808_0x0001_Replace value, IJT808Config config)
{
writer.WriteUInt16(value.ReplyMsgNum);
writer.WriteUInt16(value.ReplyMsgId);


+ 21
- 17
src/JT808.Protocol.Test/Simples/Demo4.cs 파일 보기

@@ -35,6 +35,7 @@ namespace JT808.Protocol.Test.Simples
{
IJT808Config jT808Config = new DefaultGlobalConfig();
jT808Config.JT808_0X0200_Custom_Factory.SetMap<JT808_0x0200_DT1_0x81>();
jT808Config.FormatterFactory.SetMap<JT808_0x0200_DT1_0x81>();
JT808Serializer demo5JT808Serializer = new JT808Serializer(jT808Config);

JT808Package jT808Package = JT808MsgId._0x0200.Create("123456789012",
@@ -167,7 +168,9 @@ namespace JT808.Protocol.Test.Simples
{
IJT808Config jT808Config = new DefaultGlobalConfig();
jT808Config.JT808_0X0200_Custom_Factory.SetMap<JT808_0x0200_DT1_0x81>();
jT808Config.FormatterFactory.SetMap<JT808_0x0200_DT1_0x81>();
jT808Config.JT808_0X0200_Custom_Factory.SetMap<JT808_0x0200_DT1_0x82>();
jT808Config.FormatterFactory.SetMap<JT808_0x0200_DT1_0x82>();
JT808Serializer = new JT808Serializer(jT808Config);
}
public override Dictionary<byte, JT808_0x0200_CustomBodyBase> JT808CustomLocationAttachData { get; protected set; }
@@ -185,7 +188,7 @@ namespace JT808.Protocol.Test.Simples
IExtDataProcessor extDataProcessor81 = new JT808_0x0200_DT1_0x81_ExtDataProcessor(info81);
extDataProcessor81.Processor(ExtData);
JT808CustomLocationAttachData.Add(dt1_0x81, info81);
break;
case dt1_0x82:
var info82 = (JT808_0x0200_DT1_0x82)item.Value;
@@ -209,6 +212,7 @@ namespace JT808.Protocol.Test.Simples
{
IJT808Config jT808Config = new DefaultGlobalConfig();
jT808Config.JT808_0X0200_Custom_Factory.SetMap<JT808_0x0200_DT2_0x81>();
jT808Config.FormatterFactory.SetMap<JT808_0x0200_DT2_0x81>();
JT808Serializer = new JT808Serializer(jT808Config);
}
public override Dictionary<byte, JT808_0x0200_CustomBodyBase> JT808CustomLocationAttachData { get; protected set; }
@@ -227,7 +231,7 @@ namespace JT808.Protocol.Test.Simples
var info81 = (JT808_0x0200_DT2_0x81)item.Value;
IExtDataProcessor extDataProcessor = new JT808_0x0200_DT2_0x81_ExtDataProcessor(info81);
extDataProcessor.Processor(ExtData);
JT808CustomLocationAttachData.Add(dt2_0x81, info81);
JT808CustomLocationAttachData.Add(dt2_0x81, info81);
break;
}
}
@@ -242,15 +246,15 @@ namespace JT808.Protocol.Test.Simples
/// <summary>
/// 设备类型1-对应消息协议0x81
/// </summary>
public class JT808_0x0200_DT1_0x81 : JT808_0x0200_CustomBodyBase, IJT808MessagePackFormatter<JT808_0x0200_DT1_0x81>
public class JT808_0x0200_DT1_0x81 : JT808MessagePackFormatter<JT808_0x0200_DT1_0x81>, JT808_0x0200_CustomBodyBase
{
public override byte AttachInfoId { get; set; } = 0x81;
public override byte AttachInfoLength { get; set; } = 13;
public byte AttachInfoId { get; set; } = 0x81;
public byte AttachInfoLength { get; set; } = 13;
public uint Age { get; set; }
public byte Gender { get; set; }
public string UserName { get; set; }

public JT808_0x0200_DT1_0x81 Deserialize(ref JT808MessagePackReader reader, IJT808Config config)
public override JT808_0x0200_DT1_0x81 Deserialize(ref JT808MessagePackReader reader, IJT808Config config)
{
JT808_0x0200_DT1_0x81 jT808_0X0200_DT1_0X81 = new JT808_0x0200_DT1_0x81();
jT808_0X0200_DT1_0X81.AttachInfoId = reader.ReadByte();
@@ -260,7 +264,7 @@ namespace JT808.Protocol.Test.Simples
jT808_0X0200_DT1_0X81.UserName = reader.ReadRemainStringContent();
return jT808_0X0200_DT1_0X81;
}
public void Serialize(ref JT808MessagePackWriter writer, JT808_0x0200_DT1_0x81 value, IJT808Config config)
public override void Serialize(ref JT808MessagePackWriter writer, JT808_0x0200_DT1_0x81 value, IJT808Config config)
{
writer.WriteByte(value.AttachInfoId);
writer.WriteByte(value.AttachInfoLength);
@@ -272,12 +276,12 @@ namespace JT808.Protocol.Test.Simples
/// <summary>
/// 设备类型1-对应消息协议0x82
/// </summary>
public class JT808_0x0200_DT1_0x82 : JT808_0x0200_CustomBodyBase, IJT808MessagePackFormatter<JT808_0x0200_DT1_0x82>
public class JT808_0x0200_DT1_0x82 : JT808MessagePackFormatter<JT808_0x0200_DT1_0x82>, JT808_0x0200_CustomBodyBase
{
public override byte AttachInfoId { get; set; } = 0x82;
public override byte AttachInfoLength { get; set; } = 1;
public byte AttachInfoId { get; set; } = 0x82;
public byte AttachInfoLength { get; set; } = 1;
public byte Gender1 { get; set; }
public JT808_0x0200_DT1_0x82 Deserialize(ref JT808MessagePackReader reader, IJT808Config config)
public override JT808_0x0200_DT1_0x82 Deserialize(ref JT808MessagePackReader reader, IJT808Config config)
{
JT808_0x0200_DT1_0x82 jT808_0X0200_DT1_0X82 = new JT808_0x0200_DT1_0x82();
jT808_0X0200_DT1_0X82.AttachInfoId = reader.ReadByte();
@@ -286,7 +290,7 @@ namespace JT808.Protocol.Test.Simples
return jT808_0X0200_DT1_0X82;
}

public void Serialize(ref JT808MessagePackWriter writer, JT808_0x0200_DT1_0x82 value, IJT808Config config)
public override void Serialize(ref JT808MessagePackWriter writer, JT808_0x0200_DT1_0x82 value, IJT808Config config)
{
writer.WriteByte(value.AttachInfoId);
writer.WriteByte(value.AttachInfoLength);
@@ -296,14 +300,14 @@ namespace JT808.Protocol.Test.Simples
/// <summary>
/// 设备类型2-对应消息协议0x81
/// </summary>
public class JT808_0x0200_DT2_0x81 : JT808_0x0200_CustomBodyBase, IJT808MessagePackFormatter<JT808_0x0200_DT2_0x81>
public class JT808_0x0200_DT2_0x81 : JT808MessagePackFormatter<JT808_0x0200_DT2_0x81>, JT808_0x0200_CustomBodyBase
{
public override byte AttachInfoId { get; set; } = 0x81;
public override byte AttachInfoLength { get; set; } = 7;
public byte AttachInfoId { get; set; } = 0x81;
public byte AttachInfoLength { get; set; } = 7;
public uint Age { get; set; }
public byte Gender { get; set; }
public ushort MsgNum { get; set; }
public JT808_0x0200_DT2_0x81 Deserialize(ref JT808MessagePackReader reader, IJT808Config config)
public override JT808_0x0200_DT2_0x81 Deserialize(ref JT808MessagePackReader reader, IJT808Config config)
{
JT808_0x0200_DT2_0x81 jT808_0X0200_DT2_0X81 = new JT808_0x0200_DT2_0x81();
jT808_0X0200_DT2_0X81.AttachInfoId = reader.ReadByte();
@@ -314,7 +318,7 @@ namespace JT808.Protocol.Test.Simples
return jT808_0X0200_DT2_0X81;
}

public void Serialize(ref JT808MessagePackWriter writer, JT808_0x0200_DT2_0x81 value, IJT808Config config)
public override void Serialize(ref JT808MessagePackWriter writer, JT808_0x0200_DT2_0x81 value, IJT808Config config)
{
writer.WriteByte(value.AttachInfoId);
writer.WriteByte(value.AttachInfoLength);


+ 12
- 10
src/JT808.Protocol.Test/Simples/Demo6.cs 파일 보기

@@ -67,7 +67,9 @@ namespace JT808.Protocol.Test.Simples
//这边是因为程序集存在协议冲突的情况,所以不直接采用注册程序集的方式。
//根据不同的设备终端号,添加自定义消息Id
DT1JT808Config.MsgIdFactory.SetMap<DT1Demo6>();
DT1JT808Config.FormatterFactory.SetMap<DT1Demo6>();
DT2JT808Config.MsgIdFactory.SetMap<DT2Demo6>();
DT2JT808Config.FormatterFactory.SetMap<DT2Demo6>();

Assert.Equal("DT1", DT1JT808Config.ConfigId);
Assert.Equal("DT2", DT2JT808Config.ConfigId);
@@ -140,17 +142,17 @@ namespace JT808.Protocol.Test.Simples
}
}

public class DT1Demo6 : JT808Bodies, IJT808MessagePackFormatter<DT1Demo6>
public class DT1Demo6 : JT808MessagePackFormatter<DT1Demo6>, JT808Bodies
{
public byte Sex1 { get; set; }

public ushort Age1 { get; set; }

public override ushort MsgId => 0x91;
public ushort MsgId => 0x91;

public override string Description =>"DT1Demo6";
public string Description =>"DT1Demo6";

public DT1Demo6 Deserialize(ref JT808MessagePackReader reader, IJT808Config config)
public override DT1Demo6 Deserialize(ref JT808MessagePackReader reader, IJT808Config config)
{
DT1Demo6 dT1Demo6 = new DT1Demo6();
dT1Demo6.Sex1 = reader.ReadByte();
@@ -158,23 +160,23 @@ namespace JT808.Protocol.Test.Simples
return dT1Demo6;
}

public void Serialize(ref JT808MessagePackWriter writer, DT1Demo6 value, IJT808Config config)
public override void Serialize(ref JT808MessagePackWriter writer, DT1Demo6 value, IJT808Config config)
{
writer.WriteByte(value.Sex1);
writer.WriteUInt16(value.Age1);
}
}

public class DT2Demo6 : JT808Bodies, IJT808MessagePackFormatter<DT2Demo6>
public class DT2Demo6 : JT808MessagePackFormatter<DT2Demo6>,JT808Bodies
{
public override ushort MsgId => 0x91;
public ushort MsgId => 0x91;
public byte Sex2 { get; set; }

public ushort Age2 { get; set; }

public override string Description => "DT2Demo6";
public string Description => "DT2Demo6";

public DT2Demo6 Deserialize(ref JT808MessagePackReader reader, IJT808Config config)
public override DT2Demo6 Deserialize(ref JT808MessagePackReader reader, IJT808Config config)
{
DT2Demo6 dT2Demo6 = new DT2Demo6();
dT2Demo6.Sex2 = reader.ReadByte();
@@ -182,7 +184,7 @@ namespace JT808.Protocol.Test.Simples
return dT2Demo6;
}

public void Serialize(ref JT808MessagePackWriter writer, DT2Demo6 value, IJT808Config config)
public override void Serialize(ref JT808MessagePackWriter writer, DT2Demo6 value, IJT808Config config)
{
writer.WriteByte(value.Sex2);
writer.WriteUInt16(value.Age2);


+ 6
- 6
src/JT808.Protocol.Test/Simples/Demo8.cs 파일 보기

@@ -51,17 +51,17 @@ namespace JT808.Protocol.Test.Simples
//{"[7E]\u5F00\u59CB":126,"[0093]\u6D88\u606FId":147,"\u6D88\u606F\u4F53\u5C5E\u6027\u5BF9\u8C61":{"[0000000000000011]\u6D88\u606F\u4F53\u5C5E\u6027":3,"[bit15]\u4FDD\u7559":0,"[bit14]\u4FDD\u7559":0,"[bit13]\u662F\u5426\u5206\u5305":false,"[bit10~bit12]\u6570\u636E\u52A0\u5BC6":"None","[bit0~bit9]\u6D88\u606F\u4F53\u957F\u5EA6":3},"[1234567891]\u7EC8\u7AEF\u624B\u673A\u53F7":"1234567891","[007E]\u6D88\u606F\u6D41\u6C34\u53F7":126,"\u6570\u636E\u4F53\u5BF9\u8C61":{"DT1Demo8":"020012","[02]\u6027\u522B":2,"[0012]\u5E74\u9F84":18},"[67]\u6821\u9A8C\u7801":103,"[7E]\u7ED3\u675F":126}
}

public class DT1Demo8 : JT808Bodies, IJT808MessagePackFormatter<DT1Demo8>,IJT808Analyze
public class DT1Demo8 : JT808MessagePackFormatter<DT1Demo8>, JT808Bodies, IJT808Analyze
{
public byte Sex1 { get; set; }

public ushort Age1 { get; set; }

public override ushort MsgId => 0x93;
public ushort MsgId => 0x93;

public override string Description => "DT1Demo8";
public string Description => "DT1Demo8";

public void Analyze(ref JT808MessagePackReader reader, Utf8JsonWriter writer, IJT808Config config)
public void Analyze(ref JT808MessagePackReader reader, Utf8JsonWriter writer, IJT808Config config)
{
DT1Demo8 dT1Demo6 = new DT1Demo8();
dT1Demo6.Sex1 = reader.ReadByte();
@@ -70,7 +70,7 @@ namespace JT808.Protocol.Test.Simples
writer.WriteNumber($"[{dT1Demo6.Age1.ReadNumber()}]年龄", dT1Demo6.Age1);
}

public DT1Demo8 Deserialize(ref JT808MessagePackReader reader, IJT808Config config)
public override DT1Demo8 Deserialize(ref JT808MessagePackReader reader, IJT808Config config)
{
DT1Demo8 dT1Demo8 = new DT1Demo8();
dT1Demo8.Sex1 = reader.ReadByte();
@@ -78,7 +78,7 @@ namespace JT808.Protocol.Test.Simples
return dT1Demo8;
}

public void Serialize(ref JT808MessagePackWriter writer, DT1Demo8 value, IJT808Config config)
public override void Serialize(ref JT808MessagePackWriter writer, DT1Demo8 value, IJT808Config config)
{
writer.WriteByte(value.Sex1);
writer.WriteUInt16(value.Age1);


+ 51
- 1
src/JT808.Protocol/Extensions/JT808ConfigExtensions.cs 파일 보기

@@ -2,6 +2,7 @@
using JT808.Protocol.Exceptions;
using JT808.Protocol.Formatters;
using JT808.Protocol.Interfaces;
using JT808.Protocol.MessagePack;
using System;
using System.Collections.Concurrent;

@@ -20,7 +21,7 @@ namespace JT808.Protocol
/// <param name="jT808Config"></param>
/// <param name="type"></param>
/// <returns></returns>
public static object GetMessagePackFormatterByType(this IJT808Config jT808Config,Type type)
public static IJT808MessagePackFormatter GetMessagePackFormatterByType(this IJT808Config jT808Config,Type type)
{
if (!jT808Config.FormatterFactory.FormatterDict.TryGetValue(type.GUID, out var formatter))
{
@@ -28,6 +29,55 @@ namespace JT808.Protocol
}
return formatter;
}
/// <summary>
///
/// </summary>
/// <typeparam name="T"></typeparam>
/// <param name="instance"></param>
/// <returns></returns>
public static T Cast<T>(this object instance) where T : class
{
if (instance == null) { return default(T); }
return instance as T;
}
/// <summary>
///
/// </summary>
/// <typeparam name="TValue"></typeparam>
/// <param name="instance"></param>
/// <param name="reader"></param>
/// <param name="config"></param>
/// <returns></returns>
public static TValue DeserializeExt<TValue>(this object instance, ref JT808MessagePackReader reader, IJT808Config config)
where TValue : class
{
if (instance == null) { return default(TValue); }
var formatter= instance as IJT808MessagePackFormatter;
if (formatter != null)
{
return formatter.Deserialize(ref reader, config) as TValue;
}
return default(TValue);
}

/// <summary>
///
/// </summary>
/// <param name="instance"></param>
/// <param name="writer"></param>
/// <param name="value"></param>
/// <param name="config"></param>
/// <returns></returns>
public static void SerializeExt(this object instance, ref JT808MessagePackWriter writer, object value , IJT808Config config)
{
if (instance == null) { return; }
var formatter = instance as IJT808MessagePackFormatter;
if (formatter != null)
{
formatter.Serialize(ref writer, value, config);
}
}

/// <summary>
/// 通过类型获取对应的消息分析器
/// </summary>


+ 0
- 95
src/JT808.Protocol/Extensions/JT808MessagePackFormatterResolverExtensions.cs 파일 보기

@@ -1,95 +0,0 @@
using JT808.Protocol.Formatters;
using System;
using System.Collections.Concurrent;
using System.Linq.Expressions;
using System.Reflection;
using JT808.Protocol.Interfaces;
using JT808.Protocol.MessagePack;

namespace JT808.Protocol.Extensions
{
/// <summary>
///
/// ref http://adamsitnik.com/Span/#span-must-not-be-a-generic-type-argument
/// ref http://adamsitnik.com/Span/
/// ref:MessagePack.Formatters.DynamicObjectTypeFallbackFormatter
/// </summary>
public static class JT808MessagePackFormatterResolverExtensions
{
delegate void JT808SerializeMethod(object dynamicFormatter, ref JT808MessagePackWriter writer,object value, IJT808Config config);

delegate dynamic JT808DeserializeMethod(object dynamicFormatter, ref JT808MessagePackReader reader, IJT808Config config);

static readonly ConcurrentDictionary<Type, (object Value, JT808SerializeMethod SerializeMethod)> jT808Serializers = new ConcurrentDictionary<Type, (object Value, JT808SerializeMethod SerializeMethod)>();
static readonly ConcurrentDictionary<Type, (object Value, JT808DeserializeMethod DeserializeMethod)> jT808Deserializes = new ConcurrentDictionary<Type, (object Value, JT808DeserializeMethod DeserializeMethod)>();
/// <summary>
/// JT808动态序列化
/// </summary>
/// <param name="objFormatter"></param>
/// <param name="writer"></param>
/// <param name="value"></param>
/// <param name="config"></param>
public static void JT808DynamicSerialize(object objFormatter, ref JT808MessagePackWriter writer, object value, IJT808Config config)
{
Type type = value.GetType();
var ti = type.GetTypeInfo();
// (object Value, JT808SerializeMethod SerializeMethod) formatterAndDelegate;
if (!jT808Serializers.TryGetValue(type, out var formatterAndDelegate))
{
var t = type;
{
var formatterType = typeof(IJT808MessagePackFormatter<>).MakeGenericType(t);
var param0 = Expression.Parameter(typeof(object), "formatter");
var param1 = Expression.Parameter(typeof(JT808MessagePackWriter).MakeByRefType(), "writer");
var param2 = Expression.Parameter(typeof(object), "value");
var param3 = Expression.Parameter(typeof(IJT808Config), "config");
var serializeMethodInfo = formatterType.GetRuntimeMethod("Serialize", new[] { typeof(JT808MessagePackWriter).MakeByRefType(), t, typeof(IJT808Config) });
var body = Expression.Call(
Expression.Convert(param0, formatterType),
serializeMethodInfo,
param1,
ti.IsValueType ? Expression.Unbox(param2, t) : Expression.Convert(param2, t),
param3);
var lambda = Expression.Lambda<JT808SerializeMethod>(body, param0, param1, param2, param3).Compile();
formatterAndDelegate = (objFormatter, lambda);
}
jT808Serializers.TryAdd(t, formatterAndDelegate);
}
formatterAndDelegate.SerializeMethod(formatterAndDelegate.Value, ref writer, value, config);
}
/// <summary>
/// JT808动态反序列化
/// </summary>
/// <param name="objFormatter"></param>
/// <param name="reader"></param>
/// <param name="config"></param>
/// <returns></returns>
public static dynamic JT808DynamicDeserialize(object objFormatter, ref JT808MessagePackReader reader, IJT808Config config)
{
var type = objFormatter.GetType();
// (object Value, JT808DeserializeMethod DeserializeMethod) formatterAndDelegate;
if (!jT808Deserializes.TryGetValue(type, out var formatterAndDelegate))
{
var t = type;
{
var formatterType = typeof(IJT808MessagePackFormatter<>).MakeGenericType(t);
ParameterExpression param0 = Expression.Parameter(typeof(object), "formatter");
ParameterExpression param1 = Expression.Parameter(typeof(JT808MessagePackReader).MakeByRefType(), "reader");
ParameterExpression param2 = Expression.Parameter(typeof(IJT808Config), "config");
var deserializeMethodInfo = type.GetRuntimeMethod("Deserialize", new[] { typeof(JT808MessagePackReader).MakeByRefType(), typeof(IJT808Config) });
var body = Expression.Call(
Expression.Convert(param0, type),
deserializeMethodInfo,
param1,
param2
);
var lambda = Expression.Lambda<JT808DeserializeMethod>(body, param0, param1, param2).Compile();
formatterAndDelegate = (objFormatter, lambda);
}
jT808Deserializes.TryAdd(t, formatterAndDelegate);
}
return formatterAndDelegate.DeserializeMethod(formatterAndDelegate.Value,ref reader, config);
}
}
}

+ 3
- 4
src/JT808.Protocol/Formatters/IJT808FormatterFactory.cs 파일 보기

@@ -15,13 +15,12 @@ namespace JT808.Protocol.Formatters
/// <summary>
///
/// </summary>
IDictionary<Guid,object> FormatterDict { get;}
IDictionary<Guid, IJT808MessagePackFormatter> FormatterDict { get;}
/// <summary>
///
/// </summary>
/// <typeparam name="TIJT808Formatter"></typeparam>
/// <typeparam name="TJT808MessagePackFormatter"></typeparam>
/// <returns></returns>
IJT808FormatterFactory SetMap<TIJT808Formatter>()
where TIJT808Formatter : IJT808Formatter;
IJT808FormatterFactory SetMap<TJT808MessagePackFormatter>() where TJT808MessagePackFormatter : IJT808MessagePackFormatter;
}
}

이 변경점에서 너무 많은 파일들이 변경되어 몇몇 파일들은 표시되지 않았습니다.

불러오는 중...
취소
저장