@@ -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 | |||
@@ -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终端通讯协议消息对照表 | |||
@@ -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> | |||
@@ -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> | |||
@@ -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> |
@@ -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); | |||
@@ -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); | |||
@@ -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); | |||
@@ -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); | |||
@@ -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); | |||
@@ -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); | |||
@@ -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); | |||
@@ -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); | |||
@@ -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); | |||
@@ -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); | |||
@@ -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); | |||
@@ -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); | |||
@@ -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); | |||
@@ -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); | |||
@@ -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); | |||
@@ -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); | |||
@@ -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); | |||
@@ -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); | |||
@@ -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); | |||
@@ -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); | |||
@@ -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,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); | |||
@@ -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); | |||
@@ -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,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,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); | |||
@@ -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 注释 | |||
} | |||
} |
@@ -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); | |||
@@ -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 注释 | |||
} | |||
} |
@@ -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 注释 | |||
} | |||
} |
@@ -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 注释 | |||
} | |||
} |
@@ -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 注释 | |||
} | |||
} |
@@ -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 注释 | |||
} | |||
} |
@@ -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); | |||
@@ -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 注释 | |||
} | |||
} |
@@ -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> | |||
@@ -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); | |||
@@ -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); | |||
@@ -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); | |||
@@ -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); | |||
@@ -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) | |||
{ | |||
@@ -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) | |||
{ | |||
@@ -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) | |||
@@ -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); | |||
@@ -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); | |||
@@ -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); | |||
@@ -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); | |||
@@ -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); | |||
@@ -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); | |||
@@ -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) | |||
{ | |||
@@ -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) | |||
{ | |||
@@ -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); | |||
@@ -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); | |||
@@ -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> | |||
@@ -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); | |||
@@ -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); | |||
@@ -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); | |||
@@ -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); | |||
@@ -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); | |||
@@ -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); | |||
@@ -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) | |||
{ | |||
@@ -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) | |||
{ | |||
@@ -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) | |||
@@ -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); | |||
@@ -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); | |||
@@ -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()); | |||
@@ -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); | |||
@@ -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); | |||
@@ -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); | |||
@@ -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); | |||
@@ -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); | |||
@@ -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) | |||
{ | |||
@@ -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) | |||
{ | |||
@@ -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); | |||
@@ -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); | |||
@@ -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); | |||
@@ -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(); | |||
} | |||
} | |||
} |
@@ -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" /> | |||
@@ -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); | |||
@@ -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); | |||
@@ -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); | |||
} | |||
@@ -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); | |||
@@ -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); | |||
} | |||
@@ -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); | |||
@@ -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] | |||
@@ -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); | |||
@@ -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); | |||
} | |||
@@ -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); | |||
@@ -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); | |||
@@ -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); | |||
@@ -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); | |||
@@ -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); | |||
@@ -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> | |||
@@ -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); | |||
} | |||
} | |||
} |
@@ -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; | |||
} | |||
} |