From 2bed8131ff522d3492608944f79e0760ae4da1f3 Mon Sep 17 00:00:00 2001 From: "smallchi(Koike)" <564952747@qq.com> Date: Sat, 27 May 2023 18:11:18 +0800 Subject: [PATCH] =?UTF-8?q?1.=E5=85=BC=E5=AE=B9netstandard2.0=E5=BA=93?= =?UTF-8?q?=E3=80=81=E9=99=8D=E4=BD=8Ec#=E8=AF=AD=E8=A8=80=E7=89=B9?= =?UTF-8?q?=E6=80=A7=E7=9A=84=E4=BD=BF=E7=94=A8=202.=E4=BF=AE=E6=94=B9Read?= =?UTF-8?q?me=E5=86=85=E5=AE=B9?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- README.en.md | 2 +- README.md | 2 +- src/Info.props | 6 +- .../JT808.Protocol.Extensions.JT1078.xml | 90 ++++ .../MessageBody/JT808_0x1003.cs | 4 + .../MessageBody/JT808_0x1005.cs | 4 + .../MessageBody/JT808_0x1205.cs | 5 + .../MessageBody/JT808_0x1206.cs | 4 + .../MessageBody/JT808_0x9101.cs | 4 + .../MessageBody/JT808_0x9102.cs | 4 + .../MessageBody/JT808_0x9105.cs | 4 + .../MessageBody/JT808_0x9201.cs | 4 + .../MessageBody/JT808_0x9202.cs | 4 + .../MessageBody/JT808_0x9205.cs | 4 + .../MessageBody/JT808_0x9206.cs | 4 + .../MessageBody/JT808_0x9207.cs | 4 + .../MessageBody/JT808_0x9301.cs | 4 + .../MessageBody/JT808_0x9302.cs | 4 + .../MessageBody/JT808_0x9303.cs | 4 + .../MessageBody/JT808_0x9304.cs | 4 + .../MessageBody/JT808_0x9305.cs | 4 + .../MessageBody/JT808_0x9306.cs | 4 + .../JT808.Protocol.Extensions.SuBiao.xml | 25 + .../MessageBody/JT808_0x1210.cs | 4 + .../MessageBody/JT808_0x1211.cs | 4 + .../MessageBody/JT808_0x1212.cs | 4 + .../MessageBody/JT808_0x9208.cs | 4 + .../MessageBody/JT808_0x9212.cs | 4 + .../JT808.Protocol.Extensions.YueBiao.xml | 30 ++ .../MessageBody/JT808_0x1210.cs | 4 + .../MessageBody/JT808_0x1211.cs | 4 + .../MessageBody/JT808_0x1212.cs | 4 + .../MessageBody/JT808_0x1FC4.cs | 4 + .../MessageBody/JT808_0x9208.cs | 4 + .../MessageBody/JT808_0x9212.cs | 4 + .../MessageBody/JT808_0x9999.cs | 2 +- src/JT808.Protocol.Test/Simples/Demo13.cs | 1 + src/JT808.Protocol.Test/Simples/Demo6.cs | 2 + src/JT808.Protocol.Test/Simples/Demo8.cs | 2 +- src/JT808.Protocol.sln | 2 +- .../Extensions/JT808HexExtensions.cs | 79 ++- src/JT808.Protocol/Internal/DefaultMerger.cs | 12 +- src/JT808.Protocol/JT808.Protocol.csproj | 13 +- src/JT808.Protocol/JT808.Protocol.xml | 494 +++++++++++++++++- src/JT808.Protocol/JT808Bodies.cs | 2 +- src/JT808.Protocol/JT808CarDVRDownBodies.cs | 2 +- src/JT808.Protocol/JT808CarDVRUpBodies.cs | 2 +- .../CarDVR/JT808_CarDVR_Down_0x08.cs | 4 + .../CarDVR/JT808_CarDVR_Down_0x09.cs | 4 + .../CarDVR/JT808_CarDVR_Down_0x10.cs | 4 + .../CarDVR/JT808_CarDVR_Down_0x11.cs | 4 + .../CarDVR/JT808_CarDVR_Down_0x12.cs | 4 + .../CarDVR/JT808_CarDVR_Down_0x13.cs | 4 + .../CarDVR/JT808_CarDVR_Down_0x14.cs | 4 + .../CarDVR/JT808_CarDVR_Down_0x15.cs | 4 + .../CarDVR/JT808_CarDVR_Down_0x82.cs | 4 + .../CarDVR/JT808_CarDVR_Down_0x83.cs | 4 + .../CarDVR/JT808_CarDVR_Down_0x84.cs | 4 + .../CarDVR/JT808_CarDVR_Down_0xC2.cs | 4 + .../CarDVR/JT808_CarDVR_Down_0xC3.cs | 4 + .../CarDVR/JT808_CarDVR_Down_0xC4.cs | 4 + .../CarDVR/JT808_CarDVR_Down_0xE1.cs | 4 + .../CarDVR/JT808_CarDVR_Up_0x00.cs | 4 + .../CarDVR/JT808_CarDVR_Up_0x01.cs | 4 + .../CarDVR/JT808_CarDVR_Up_0x02.cs | 4 + .../CarDVR/JT808_CarDVR_Up_0x03.cs | 4 + .../CarDVR/JT808_CarDVR_Up_0x04.cs | 4 + .../CarDVR/JT808_CarDVR_Up_0x05.cs | 4 + .../CarDVR/JT808_CarDVR_Up_0x06.cs | 4 + .../CarDVR/JT808_CarDVR_Up_0x07.cs | 4 + .../CarDVR/JT808_CarDVR_Up_0x08.cs | 4 + .../CarDVR/JT808_CarDVR_Up_0x09.cs | 4 + .../CarDVR/JT808_CarDVR_Up_0x10.cs | 4 + .../CarDVR/JT808_CarDVR_Up_0x11.cs | 4 + .../CarDVR/JT808_CarDVR_Up_0x12.cs | 4 + .../CarDVR/JT808_CarDVR_Up_0x13.cs | 4 + .../CarDVR/JT808_CarDVR_Up_0x14.cs | 4 + .../CarDVR/JT808_CarDVR_Up_0x15.cs | 4 + .../MessageBody/JT808_0x0001.cs | 4 + .../MessageBody/JT808_0x0005.cs | 4 + .../MessageBody/JT808_0x0100.cs | 4 + .../MessageBody/JT808_0x0102.cs | 4 + .../MessageBody/JT808_0x0104.cs | 4 + .../MessageBody/JT808_0x0107.cs | 4 + .../MessageBody/JT808_0x0108.cs | 4 + .../MessageBody/JT808_0x0200.cs | 6 +- .../MessageBody/JT808_0x0201.cs | 4 + .../MessageBody/JT808_0x0301.cs | 4 + .../MessageBody/JT808_0x0302.cs | 4 + .../MessageBody/JT808_0x0303.cs | 4 + .../MessageBody/JT808_0x0500.cs | 4 + .../MessageBody/JT808_0x0608.cs | 4 + .../MessageBody/JT808_0x0700.cs | 4 + .../MessageBody/JT808_0x0701.cs | 4 + .../MessageBody/JT808_0x0702.cs | 4 + .../MessageBody/JT808_0x0704.cs | 4 + .../MessageBody/JT808_0x0705.cs | 4 + .../MessageBody/JT808_0x0800.cs | 4 + .../MessageBody/JT808_0x0801.cs | 4 + .../MessageBody/JT808_0x0802.cs | 4 + .../MessageBody/JT808_0x0805.cs | 4 + .../MessageBody/JT808_0x0900.cs | 4 + .../MessageBody/JT808_0x0901.cs | 4 + .../MessageBody/JT808_0x0A00.cs | 4 + .../MessageBody/JT808_0x8001.cs | 4 + .../MessageBody/JT808_0x8003.cs | 4 + .../MessageBody/JT808_0x8004.cs | 4 + .../MessageBody/JT808_0x8100.cs | 4 + .../MessageBody/JT808_0x8103.cs | 4 + .../MessageBody/JT808_0x8105.cs | 4 + .../MessageBody/JT808_0x8106.cs | 4 + .../MessageBody/JT808_0x8108.cs | 4 + .../MessageBody/JT808_0x8202.cs | 4 + .../MessageBody/JT808_0x8203.cs | 4 + .../MessageBody/JT808_0x8300.cs | 4 + .../MessageBody/JT808_0x8301.cs | 4 + .../MessageBody/JT808_0x8302.cs | 4 + .../MessageBody/JT808_0x8303.cs | 4 + .../MessageBody/JT808_0x8304.cs | 4 + .../MessageBody/JT808_0x8400.cs | 4 + .../MessageBody/JT808_0x8401.cs | 4 + .../MessageBody/JT808_0x8500.cs | 4 + .../MessageBody/JT808_0x8600.cs | 4 + .../MessageBody/JT808_0x8601.cs | 4 + .../MessageBody/JT808_0x8602.cs | 4 + .../MessageBody/JT808_0x8603.cs | 4 + .../MessageBody/JT808_0x8604.cs | 4 + .../MessageBody/JT808_0x8605.cs | 4 + .../MessageBody/JT808_0x8606.cs | 4 + .../MessageBody/JT808_0x8607.cs | 4 + .../MessageBody/JT808_0x8608.cs | 4 + .../MessageBody/JT808_0x8700.cs | 4 + .../MessageBody/JT808_0x8701.cs | 4 + .../MessageBody/JT808_0x8800.cs | 4 + .../MessageBody/JT808_0x8801.cs | 4 + .../MessageBody/JT808_0x8802.cs | 4 + .../MessageBody/JT808_0x8803.cs | 4 + .../MessageBody/JT808_0x8804.cs | 4 + .../MessageBody/JT808_0x8805.cs | 4 + .../MessageBody/JT808_0x8900.cs | 4 + .../MessageBody/JT808_0x8A00.cs | 4 + .../MessagePack/JT808MessagePackReader.cs | 4 +- 142 files changed, 1242 insertions(+), 25 deletions(-) diff --git a/README.en.md b/README.en.md index 790988c..c02304f 100644 --- a/README.en.md +++ b/README.en.md @@ -64,7 +64,7 @@ JT808Package jT808Package = new JT808Package(); jT808Package.Header = new JT808Header { - MsgId = Enums.JT808MsgId._0x0200, + MsgId = (ushort)JT808.Protocol.Enums.JT808MsgId._0x0200, ManualMsgNum = 126, TerminalPhoneNo = "123456789012" }; diff --git a/README.md b/README.md index f662262..61305ee 100644 --- a/README.md +++ b/README.md @@ -64,7 +64,7 @@ JT808Package jT808Package = new JT808Package(); jT808Package.Header = new JT808Header { - MsgId = Enums.JT808MsgId._0x0200, + MsgId = (ushort)JT808.Protocol.Enums.JT808MsgId._0x0200, ManualMsgNum = 126, TerminalPhoneNo = "123456789012" }; diff --git a/src/Info.props b/src/Info.props index 690881d..d05eb67 100644 --- a/src/Info.props +++ b/src/Info.props @@ -1,14 +1,14 @@  - net7.0; - 11.0 + net7.0;netstandard2.0; + latest Copyright 2018. SmallChi(Koike) https://github.com/SmallChi/JT808 https://github.com/SmallChi/JT808 https://github.com/SmallChi/JT808/blob/master/LICENSE https://github.com/SmallChi/JT808/blob/master/LICENSE - 2.6.1 + 2.6.2-preview4 enable LICENSE true diff --git a/src/JT808.Protocol.Extensions/JT808.Protocol.Extensions.JT1078/JT808.Protocol.Extensions.JT1078.xml b/src/JT808.Protocol.Extensions/JT808.Protocol.Extensions.JT1078/JT808.Protocol.Extensions.JT1078.xml index a7d9bc7..9b5346a 100644 --- a/src/JT808.Protocol.Extensions/JT808.Protocol.Extensions.JT1078/JT808.Protocol.Extensions.JT1078.xml +++ b/src/JT808.Protocol.Extensions/JT808.Protocol.Extensions.JT1078/JT808.Protocol.Extensions.JT1078.xml @@ -554,6 +554,11 @@ + + + + + @@ -593,6 +598,11 @@ + + + + + @@ -657,6 +667,11 @@ + + + + + 流水号 @@ -775,6 +790,11 @@ + + + + + @@ -1536,6 +1556,11 @@ 实时音视频传输请求 + + + + + 0x9101 @@ -1618,6 +1643,11 @@ 音视频实时传输控制 + + + + + 0x9102 @@ -1690,6 +1720,11 @@ 实时音视频传输状态通知 + + + + + 0x9105 @@ -1740,6 +1775,11 @@ 平台下发远程录像回放请求 + + + + + 0x9201 @@ -1861,6 +1901,11 @@ 平台下发远程录像回放控制 + + + + + 0x9202 @@ -1933,6 +1978,11 @@ 查询资源列表 + + + + + 0x9205 @@ -2017,6 +2067,11 @@ 文件上传指令 + + + + + 0x9206 @@ -2141,6 +2196,11 @@ 文件上传控制 + + + + + 0x9207 @@ -2190,6 +2250,11 @@ 云台旋转 + + + + + 0x9301 @@ -2250,6 +2315,11 @@ 云台调整焦距控制 + + + + + 0x9302 @@ -2299,6 +2369,11 @@ 云台调整光圈控制 + + + + + 0x9303 @@ -2348,6 +2423,11 @@ 云台雨刷控制 + + + + + 0x9304 @@ -2397,6 +2477,11 @@ 红外补光控制 + + + + + 0x9305 @@ -2447,6 +2532,11 @@ 云台变倍控制 + + + + + 0x9306 diff --git a/src/JT808.Protocol.Extensions/JT808.Protocol.Extensions.JT1078/MessageBody/JT808_0x1003.cs b/src/JT808.Protocol.Extensions/JT808.Protocol.Extensions.JT1078/MessageBody/JT808_0x1003.cs index 8516a61..4d0214d 100644 --- a/src/JT808.Protocol.Extensions/JT808.Protocol.Extensions.JT1078/MessageBody/JT808_0x1003.cs +++ b/src/JT808.Protocol.Extensions/JT808.Protocol.Extensions.JT1078/MessageBody/JT808_0x1003.cs @@ -56,6 +56,10 @@ namespace JT808.Protocol.Extensions.JT1078.MessageBody /// /// /// + public bool SkipSerialization => false; + /// + /// + /// public string Description => "终端上传音视频属性"; /// /// diff --git a/src/JT808.Protocol.Extensions/JT808.Protocol.Extensions.JT1078/MessageBody/JT808_0x1005.cs b/src/JT808.Protocol.Extensions/JT808.Protocol.Extensions.JT1078/MessageBody/JT808_0x1005.cs index 99f059e..a58b4d1 100644 --- a/src/JT808.Protocol.Extensions/JT808.Protocol.Extensions.JT1078/MessageBody/JT808_0x1005.cs +++ b/src/JT808.Protocol.Extensions/JT808.Protocol.Extensions.JT1078/MessageBody/JT808_0x1005.cs @@ -20,6 +20,10 @@ namespace JT808.Protocol.Extensions.JT1078.MessageBody /// /// /// + public bool SkipSerialization => false; + /// + /// + /// public ushort MsgId => 0x1005; /// /// 起始时间 diff --git a/src/JT808.Protocol.Extensions/JT808.Protocol.Extensions.JT1078/MessageBody/JT808_0x1205.cs b/src/JT808.Protocol.Extensions/JT808.Protocol.Extensions.JT1078/MessageBody/JT808_0x1205.cs index 306ed8a..1fe9c5a 100644 --- a/src/JT808.Protocol.Extensions/JT808.Protocol.Extensions.JT1078/MessageBody/JT808_0x1205.cs +++ b/src/JT808.Protocol.Extensions/JT808.Protocol.Extensions.JT1078/MessageBody/JT808_0x1205.cs @@ -23,6 +23,10 @@ namespace JT808.Protocol.Extensions.JT1078.MessageBody /// public ushort MsgId => 0x1205; /// + /// + /// + public bool SkipSerialization => false; + /// /// 流水号 /// public ushort MsgNum { get; set; } @@ -34,6 +38,7 @@ namespace JT808.Protocol.Extensions.JT1078.MessageBody /// 音视频资源列表 /// public List AVResouces { get; set; } + /// /// /// diff --git a/src/JT808.Protocol.Extensions/JT808.Protocol.Extensions.JT1078/MessageBody/JT808_0x1206.cs b/src/JT808.Protocol.Extensions/JT808.Protocol.Extensions.JT1078/MessageBody/JT808_0x1206.cs index 9d8164c..451b7a5 100644 --- a/src/JT808.Protocol.Extensions/JT808.Protocol.Extensions.JT1078/MessageBody/JT808_0x1206.cs +++ b/src/JT808.Protocol.Extensions/JT808.Protocol.Extensions.JT1078/MessageBody/JT808_0x1206.cs @@ -20,6 +20,10 @@ namespace JT808.Protocol.Extensions.JT1078.MessageBody /// /// /// + public bool SkipSerialization => false; + /// + /// + /// public ushort MsgId => 0x1206; /// /// 流水号 diff --git a/src/JT808.Protocol.Extensions/JT808.Protocol.Extensions.JT1078/MessageBody/JT808_0x9101.cs b/src/JT808.Protocol.Extensions/JT808.Protocol.Extensions.JT1078/MessageBody/JT808_0x9101.cs index be64e07..34d3dd4 100644 --- a/src/JT808.Protocol.Extensions/JT808.Protocol.Extensions.JT1078/MessageBody/JT808_0x9101.cs +++ b/src/JT808.Protocol.Extensions/JT808.Protocol.Extensions.JT1078/MessageBody/JT808_0x9101.cs @@ -18,6 +18,10 @@ namespace JT808.Protocol.Extensions.JT1078.MessageBody /// public string Description => "实时音视频传输请求"; /// + /// + /// + public bool SkipSerialization => false; + /// /// 0x9101 /// public ushort MsgId => 0x9101; diff --git a/src/JT808.Protocol.Extensions/JT808.Protocol.Extensions.JT1078/MessageBody/JT808_0x9102.cs b/src/JT808.Protocol.Extensions/JT808.Protocol.Extensions.JT1078/MessageBody/JT808_0x9102.cs index 20cc68b..8899fb0 100644 --- a/src/JT808.Protocol.Extensions/JT808.Protocol.Extensions.JT1078/MessageBody/JT808_0x9102.cs +++ b/src/JT808.Protocol.Extensions/JT808.Protocol.Extensions.JT1078/MessageBody/JT808_0x9102.cs @@ -18,6 +18,10 @@ namespace JT808.Protocol.Extensions.JT1078.MessageBody /// public string Description => "音视频实时传输控制"; /// + /// + /// + public bool SkipSerialization => false; + /// /// 0x9102 /// public ushort MsgId => 0x9102; diff --git a/src/JT808.Protocol.Extensions/JT808.Protocol.Extensions.JT1078/MessageBody/JT808_0x9105.cs b/src/JT808.Protocol.Extensions/JT808.Protocol.Extensions.JT1078/MessageBody/JT808_0x9105.cs index d04667b..77ae4d8 100644 --- a/src/JT808.Protocol.Extensions/JT808.Protocol.Extensions.JT1078/MessageBody/JT808_0x9105.cs +++ b/src/JT808.Protocol.Extensions/JT808.Protocol.Extensions.JT1078/MessageBody/JT808_0x9105.cs @@ -18,6 +18,10 @@ namespace JT808.Protocol.Extensions.JT1078.MessageBody /// public string Description => "实时音视频传输状态通知"; /// + /// + /// + public bool SkipSerialization => false; + /// /// 0x9105 /// public ushort MsgId => 0x9105; diff --git a/src/JT808.Protocol.Extensions/JT808.Protocol.Extensions.JT1078/MessageBody/JT808_0x9201.cs b/src/JT808.Protocol.Extensions/JT808.Protocol.Extensions.JT1078/MessageBody/JT808_0x9201.cs index 5d07946..399bae0 100644 --- a/src/JT808.Protocol.Extensions/JT808.Protocol.Extensions.JT1078/MessageBody/JT808_0x9201.cs +++ b/src/JT808.Protocol.Extensions/JT808.Protocol.Extensions.JT1078/MessageBody/JT808_0x9201.cs @@ -18,6 +18,10 @@ namespace JT808.Protocol.Extensions.JT1078.MessageBody /// public string Description => "平台下发远程录像回放请求"; /// + /// + /// + public bool SkipSerialization => false; + /// /// 0x9201 /// public ushort MsgId => 0x9201; diff --git a/src/JT808.Protocol.Extensions/JT808.Protocol.Extensions.JT1078/MessageBody/JT808_0x9202.cs b/src/JT808.Protocol.Extensions/JT808.Protocol.Extensions.JT1078/MessageBody/JT808_0x9202.cs index f4ff486..0f19663 100644 --- a/src/JT808.Protocol.Extensions/JT808.Protocol.Extensions.JT1078/MessageBody/JT808_0x9202.cs +++ b/src/JT808.Protocol.Extensions/JT808.Protocol.Extensions.JT1078/MessageBody/JT808_0x9202.cs @@ -18,6 +18,10 @@ namespace JT808.Protocol.Extensions.JT1078.MessageBody /// public string Description => "平台下发远程录像回放控制"; /// + /// + /// + public bool SkipSerialization => false; + /// /// 0x9202 /// public ushort MsgId => 0x9202; diff --git a/src/JT808.Protocol.Extensions/JT808.Protocol.Extensions.JT1078/MessageBody/JT808_0x9205.cs b/src/JT808.Protocol.Extensions/JT808.Protocol.Extensions.JT1078/MessageBody/JT808_0x9205.cs index 90d44f0..c921e10 100644 --- a/src/JT808.Protocol.Extensions/JT808.Protocol.Extensions.JT1078/MessageBody/JT808_0x9205.cs +++ b/src/JT808.Protocol.Extensions/JT808.Protocol.Extensions.JT1078/MessageBody/JT808_0x9205.cs @@ -17,6 +17,10 @@ namespace JT808.Protocol.Extensions.JT1078.MessageBody /// 查询资源列表 /// public string Description => "查询资源列表"; + /// + /// + /// + public bool SkipSerialization => false; /// /// 0x9205 /// diff --git a/src/JT808.Protocol.Extensions/JT808.Protocol.Extensions.JT1078/MessageBody/JT808_0x9206.cs b/src/JT808.Protocol.Extensions/JT808.Protocol.Extensions.JT1078/MessageBody/JT808_0x9206.cs index d72bf56..5a3704a 100644 --- a/src/JT808.Protocol.Extensions/JT808.Protocol.Extensions.JT1078/MessageBody/JT808_0x9206.cs +++ b/src/JT808.Protocol.Extensions/JT808.Protocol.Extensions.JT1078/MessageBody/JT808_0x9206.cs @@ -18,6 +18,10 @@ namespace JT808.Protocol.Extensions.JT1078.MessageBody /// public string Description => "文件上传指令"; /// + /// + /// + public bool SkipSerialization => false; + /// /// 0x9206 /// public ushort MsgId => 0x9206; diff --git a/src/JT808.Protocol.Extensions/JT808.Protocol.Extensions.JT1078/MessageBody/JT808_0x9207.cs b/src/JT808.Protocol.Extensions/JT808.Protocol.Extensions.JT1078/MessageBody/JT808_0x9207.cs index 06d9613..4f20c0f 100644 --- a/src/JT808.Protocol.Extensions/JT808.Protocol.Extensions.JT1078/MessageBody/JT808_0x9207.cs +++ b/src/JT808.Protocol.Extensions/JT808.Protocol.Extensions.JT1078/MessageBody/JT808_0x9207.cs @@ -18,6 +18,10 @@ namespace JT808.Protocol.Extensions.JT1078.MessageBody /// public string Description => "文件上传控制"; /// + /// + /// + public bool SkipSerialization => false; + /// /// 0x9207 /// public ushort MsgId => 0x9207; diff --git a/src/JT808.Protocol.Extensions/JT808.Protocol.Extensions.JT1078/MessageBody/JT808_0x9301.cs b/src/JT808.Protocol.Extensions/JT808.Protocol.Extensions.JT1078/MessageBody/JT808_0x9301.cs index e01ee18..aef6a93 100644 --- a/src/JT808.Protocol.Extensions/JT808.Protocol.Extensions.JT1078/MessageBody/JT808_0x9301.cs +++ b/src/JT808.Protocol.Extensions/JT808.Protocol.Extensions.JT1078/MessageBody/JT808_0x9301.cs @@ -18,6 +18,10 @@ namespace JT808.Protocol.Extensions.JT1078.MessageBody /// public string Description => "云台旋转"; /// + /// + /// + public bool SkipSerialization => false; + /// /// 0x9301 /// public ushort MsgId => 0x9301; diff --git a/src/JT808.Protocol.Extensions/JT808.Protocol.Extensions.JT1078/MessageBody/JT808_0x9302.cs b/src/JT808.Protocol.Extensions/JT808.Protocol.Extensions.JT1078/MessageBody/JT808_0x9302.cs index a28aabb..bf456ba 100644 --- a/src/JT808.Protocol.Extensions/JT808.Protocol.Extensions.JT1078/MessageBody/JT808_0x9302.cs +++ b/src/JT808.Protocol.Extensions/JT808.Protocol.Extensions.JT1078/MessageBody/JT808_0x9302.cs @@ -18,6 +18,10 @@ namespace JT808.Protocol.Extensions.JT1078.MessageBody /// public string Description => "云台调整焦距控制"; /// + /// + /// + public bool SkipSerialization => false; + /// /// 0x9302 /// public ushort MsgId => 0x9302; diff --git a/src/JT808.Protocol.Extensions/JT808.Protocol.Extensions.JT1078/MessageBody/JT808_0x9303.cs b/src/JT808.Protocol.Extensions/JT808.Protocol.Extensions.JT1078/MessageBody/JT808_0x9303.cs index 0a23248..c7f39ae 100644 --- a/src/JT808.Protocol.Extensions/JT808.Protocol.Extensions.JT1078/MessageBody/JT808_0x9303.cs +++ b/src/JT808.Protocol.Extensions/JT808.Protocol.Extensions.JT1078/MessageBody/JT808_0x9303.cs @@ -18,6 +18,10 @@ namespace JT808.Protocol.Extensions.JT1078.MessageBody /// public string Description => "云台调整光圈控制"; /// + /// + /// + public bool SkipSerialization => false; + /// /// 0x9303 /// public ushort MsgId => 0x9303; diff --git a/src/JT808.Protocol.Extensions/JT808.Protocol.Extensions.JT1078/MessageBody/JT808_0x9304.cs b/src/JT808.Protocol.Extensions/JT808.Protocol.Extensions.JT1078/MessageBody/JT808_0x9304.cs index 4414bea..9112cde 100644 --- a/src/JT808.Protocol.Extensions/JT808.Protocol.Extensions.JT1078/MessageBody/JT808_0x9304.cs +++ b/src/JT808.Protocol.Extensions/JT808.Protocol.Extensions.JT1078/MessageBody/JT808_0x9304.cs @@ -18,6 +18,10 @@ namespace JT808.Protocol.Extensions.JT1078.MessageBody /// public string Description => "云台雨刷控制"; /// + /// + /// + public bool SkipSerialization => false; + /// /// 0x9304 /// public ushort MsgId => 0x9304; diff --git a/src/JT808.Protocol.Extensions/JT808.Protocol.Extensions.JT1078/MessageBody/JT808_0x9305.cs b/src/JT808.Protocol.Extensions/JT808.Protocol.Extensions.JT1078/MessageBody/JT808_0x9305.cs index 04cd284..b10f786 100644 --- a/src/JT808.Protocol.Extensions/JT808.Protocol.Extensions.JT1078/MessageBody/JT808_0x9305.cs +++ b/src/JT808.Protocol.Extensions/JT808.Protocol.Extensions.JT1078/MessageBody/JT808_0x9305.cs @@ -18,6 +18,10 @@ namespace JT808.Protocol.Extensions.JT1078.MessageBody /// public string Description => "红外补光控制"; /// + /// + /// + public bool SkipSerialization => false; + /// /// 0x9305 /// public ushort MsgId => 0x9305; diff --git a/src/JT808.Protocol.Extensions/JT808.Protocol.Extensions.JT1078/MessageBody/JT808_0x9306.cs b/src/JT808.Protocol.Extensions/JT808.Protocol.Extensions.JT1078/MessageBody/JT808_0x9306.cs index c320ee4..bc73f94 100644 --- a/src/JT808.Protocol.Extensions/JT808.Protocol.Extensions.JT1078/MessageBody/JT808_0x9306.cs +++ b/src/JT808.Protocol.Extensions/JT808.Protocol.Extensions.JT1078/MessageBody/JT808_0x9306.cs @@ -18,6 +18,10 @@ namespace JT808.Protocol.Extensions.JT1078.MessageBody /// public string Description => "云台变倍控制"; /// + /// + /// + public bool SkipSerialization => false; + /// /// 0x9306 /// public ushort MsgId => 0x9306; diff --git a/src/JT808.Protocol.Extensions/JT808.Protocol.Extensions.SuBiao/JT808.Protocol.Extensions.SuBiao.xml b/src/JT808.Protocol.Extensions/JT808.Protocol.Extensions.SuBiao/JT808.Protocol.Extensions.SuBiao.xml index 0cc9ee1..ae43461 100644 --- a/src/JT808.Protocol.Extensions/JT808.Protocol.Extensions.SuBiao/JT808.Protocol.Extensions.SuBiao.xml +++ b/src/JT808.Protocol.Extensions/JT808.Protocol.Extensions.SuBiao/JT808.Protocol.Extensions.SuBiao.xml @@ -860,6 +860,11 @@ 报警附件信息消息 + + + + + @@ -920,6 +925,11 @@ 文件信息上传Id + + + + + @@ -954,6 +964,11 @@ 文件上传完成消息 + + + + + 文件名称长度 @@ -1740,6 +1755,11 @@ Description + + + + + 服务IP地址长度 @@ -1815,6 +1835,11 @@ 文件上传完成消息应答 + + + + + 文件名称长度 diff --git a/src/JT808.Protocol.Extensions/JT808.Protocol.Extensions.SuBiao/MessageBody/JT808_0x1210.cs b/src/JT808.Protocol.Extensions/JT808.Protocol.Extensions.SuBiao/MessageBody/JT808_0x1210.cs index 5f38eae..528a9dd 100644 --- a/src/JT808.Protocol.Extensions/JT808.Protocol.Extensions.SuBiao/MessageBody/JT808_0x1210.cs +++ b/src/JT808.Protocol.Extensions/JT808.Protocol.Extensions.SuBiao/MessageBody/JT808_0x1210.cs @@ -53,6 +53,10 @@ namespace JT808.Protocol.Extensions.SuBiao.MessageBody /// /// /// + public bool SkipSerialization => false; + /// + /// + /// /// /// /// diff --git a/src/JT808.Protocol.Extensions/JT808.Protocol.Extensions.SuBiao/MessageBody/JT808_0x1211.cs b/src/JT808.Protocol.Extensions/JT808.Protocol.Extensions.SuBiao/MessageBody/JT808_0x1211.cs index 3e04a9a..9eca95e 100644 --- a/src/JT808.Protocol.Extensions/JT808.Protocol.Extensions.SuBiao/MessageBody/JT808_0x1211.cs +++ b/src/JT808.Protocol.Extensions/JT808.Protocol.Extensions.SuBiao/MessageBody/JT808_0x1211.cs @@ -38,6 +38,10 @@ namespace JT808.Protocol.Extensions.SuBiao.MessageBody /// /// /// + public bool SkipSerialization => false; + /// + /// + /// /// /// /// diff --git a/src/JT808.Protocol.Extensions/JT808.Protocol.Extensions.SuBiao/MessageBody/JT808_0x1212.cs b/src/JT808.Protocol.Extensions/JT808.Protocol.Extensions.SuBiao/MessageBody/JT808_0x1212.cs index cacc509..fbf0966 100644 --- a/src/JT808.Protocol.Extensions/JT808.Protocol.Extensions.SuBiao/MessageBody/JT808_0x1212.cs +++ b/src/JT808.Protocol.Extensions/JT808.Protocol.Extensions.SuBiao/MessageBody/JT808_0x1212.cs @@ -15,6 +15,10 @@ namespace JT808.Protocol.Extensions.SuBiao.MessageBody /// public string Description => "文件上传完成消息"; /// + /// + /// + public bool SkipSerialization => false; + /// /// 文件名称长度 /// public byte FileNameLength { get; set; } diff --git a/src/JT808.Protocol.Extensions/JT808.Protocol.Extensions.SuBiao/MessageBody/JT808_0x9208.cs b/src/JT808.Protocol.Extensions/JT808.Protocol.Extensions.SuBiao/MessageBody/JT808_0x9208.cs index 48bbfcd..5970bd9 100644 --- a/src/JT808.Protocol.Extensions/JT808.Protocol.Extensions.SuBiao/MessageBody/JT808_0x9208.cs +++ b/src/JT808.Protocol.Extensions/JT808.Protocol.Extensions.SuBiao/MessageBody/JT808_0x9208.cs @@ -17,6 +17,10 @@ namespace JT808.Protocol.Extensions.SuBiao.MessageBody /// public string Description => "报警附件上传指令"; /// + /// + /// + public bool SkipSerialization => false; + /// /// 服务IP地址长度 /// public byte AttachmentServerIPLength { get; set; } diff --git a/src/JT808.Protocol.Extensions/JT808.Protocol.Extensions.SuBiao/MessageBody/JT808_0x9212.cs b/src/JT808.Protocol.Extensions/JT808.Protocol.Extensions.SuBiao/MessageBody/JT808_0x9212.cs index 7db155f..03b5bc3 100644 --- a/src/JT808.Protocol.Extensions/JT808.Protocol.Extensions.SuBiao/MessageBody/JT808_0x9212.cs +++ b/src/JT808.Protocol.Extensions/JT808.Protocol.Extensions.SuBiao/MessageBody/JT808_0x9212.cs @@ -17,6 +17,10 @@ namespace JT808.Protocol.Extensions.SuBiao.MessageBody /// public string Description => "文件上传完成消息应答"; /// + /// + /// + public bool SkipSerialization => false; + /// /// 文件名称长度 /// public byte FileNameLength { get; set; } diff --git a/src/JT808.Protocol.Extensions/JT808.Protocol.Extensions.YueBiao/JT808.Protocol.Extensions.YueBiao.xml b/src/JT808.Protocol.Extensions/JT808.Protocol.Extensions.YueBiao/JT808.Protocol.Extensions.YueBiao.xml index ea85acb..61e3a5c 100644 --- a/src/JT808.Protocol.Extensions/JT808.Protocol.Extensions.YueBiao/JT808.Protocol.Extensions.YueBiao.xml +++ b/src/JT808.Protocol.Extensions/JT808.Protocol.Extensions.YueBiao/JT808.Protocol.Extensions.YueBiao.xml @@ -1032,6 +1032,11 @@ 报警附件信息消息 + + + + + @@ -1066,6 +1071,11 @@ 文件信息上传 + + + + + 文件名称长度 @@ -1126,6 +1136,11 @@ 文件上传完成消息 + + + + + 文件名称长度 @@ -1186,6 +1201,11 @@ 终端升级进度上报 + + + + + 终端升级进度上报 @@ -2167,6 +2187,11 @@ Description + + + + + 服务IP地址长度 @@ -2242,6 +2267,11 @@ 文件上传完成消息应答 + + + + + 文件名称长度 diff --git a/src/JT808.Protocol.Extensions/JT808.Protocol.Extensions.YueBiao/MessageBody/JT808_0x1210.cs b/src/JT808.Protocol.Extensions/JT808.Protocol.Extensions.YueBiao/MessageBody/JT808_0x1210.cs index a14cdb1..a2b211b 100644 --- a/src/JT808.Protocol.Extensions/JT808.Protocol.Extensions.YueBiao/MessageBody/JT808_0x1210.cs +++ b/src/JT808.Protocol.Extensions/JT808.Protocol.Extensions.YueBiao/MessageBody/JT808_0x1210.cs @@ -53,6 +53,10 @@ namespace JT808.Protocol.Extensions.YueBiao.MessageBody /// /// /// + public bool SkipSerialization => false; + /// + /// + /// /// /// /// diff --git a/src/JT808.Protocol.Extensions/JT808.Protocol.Extensions.YueBiao/MessageBody/JT808_0x1211.cs b/src/JT808.Protocol.Extensions/JT808.Protocol.Extensions.YueBiao/MessageBody/JT808_0x1211.cs index fcb30bc..db40aa9 100644 --- a/src/JT808.Protocol.Extensions/JT808.Protocol.Extensions.YueBiao/MessageBody/JT808_0x1211.cs +++ b/src/JT808.Protocol.Extensions/JT808.Protocol.Extensions.YueBiao/MessageBody/JT808_0x1211.cs @@ -15,6 +15,10 @@ namespace JT808.Protocol.Extensions.YueBiao.MessageBody /// public string Description => "文件信息上传"; /// + /// + /// + public bool SkipSerialization => false; + /// /// 文件名称长度 /// public byte FileNameLength { get; set; } diff --git a/src/JT808.Protocol.Extensions/JT808.Protocol.Extensions.YueBiao/MessageBody/JT808_0x1212.cs b/src/JT808.Protocol.Extensions/JT808.Protocol.Extensions.YueBiao/MessageBody/JT808_0x1212.cs index 37fccdd..6e18c2c 100644 --- a/src/JT808.Protocol.Extensions/JT808.Protocol.Extensions.YueBiao/MessageBody/JT808_0x1212.cs +++ b/src/JT808.Protocol.Extensions/JT808.Protocol.Extensions.YueBiao/MessageBody/JT808_0x1212.cs @@ -15,6 +15,10 @@ namespace JT808.Protocol.Extensions.YueBiao.MessageBody /// public string Description => "文件上传完成消息"; /// + /// + /// + public bool SkipSerialization => false; + /// /// 文件名称长度 /// public byte FileNameLength { get; set; } diff --git a/src/JT808.Protocol.Extensions/JT808.Protocol.Extensions.YueBiao/MessageBody/JT808_0x1FC4.cs b/src/JT808.Protocol.Extensions/JT808.Protocol.Extensions.YueBiao/MessageBody/JT808_0x1FC4.cs index 67a38ef..f011fbc 100644 --- a/src/JT808.Protocol.Extensions/JT808.Protocol.Extensions.YueBiao/MessageBody/JT808_0x1FC4.cs +++ b/src/JT808.Protocol.Extensions/JT808.Protocol.Extensions.YueBiao/MessageBody/JT808_0x1FC4.cs @@ -19,6 +19,10 @@ namespace JT808.Protocol.Extensions.YueBiao.MessageBody /// public string Description => "终端升级进度上报"; /// + /// + /// + public bool SkipSerialization => false; + /// /// 终端升级进度上报 /// public ushort MsgId => JT808_YueBiao_MsgId.terminal_upgrade_progress_reported.ToUInt16Value(); diff --git a/src/JT808.Protocol.Extensions/JT808.Protocol.Extensions.YueBiao/MessageBody/JT808_0x9208.cs b/src/JT808.Protocol.Extensions/JT808.Protocol.Extensions.YueBiao/MessageBody/JT808_0x9208.cs index c60a9db..8013143 100644 --- a/src/JT808.Protocol.Extensions/JT808.Protocol.Extensions.YueBiao/MessageBody/JT808_0x9208.cs +++ b/src/JT808.Protocol.Extensions/JT808.Protocol.Extensions.YueBiao/MessageBody/JT808_0x9208.cs @@ -17,6 +17,10 @@ namespace JT808.Protocol.Extensions.YueBiao.MessageBody /// public string Description => "报警附件上传指令"; /// + /// + /// + public bool SkipSerialization => false; + /// /// 服务IP地址长度 /// public byte AttachmentServerIPLength { get; set; } diff --git a/src/JT808.Protocol.Extensions/JT808.Protocol.Extensions.YueBiao/MessageBody/JT808_0x9212.cs b/src/JT808.Protocol.Extensions/JT808.Protocol.Extensions.YueBiao/MessageBody/JT808_0x9212.cs index ce91ff7..2394ae5 100644 --- a/src/JT808.Protocol.Extensions/JT808.Protocol.Extensions.YueBiao/MessageBody/JT808_0x9212.cs +++ b/src/JT808.Protocol.Extensions/JT808.Protocol.Extensions.YueBiao/MessageBody/JT808_0x9212.cs @@ -17,6 +17,10 @@ namespace JT808.Protocol.Extensions.YueBiao.MessageBody /// public string Description => "文件上传完成消息应答"; /// + /// + /// + public bool SkipSerialization => false; + /// /// 文件名称长度 /// public byte FileNameLength { get; set; } diff --git a/src/JT808.Protocol.Test/MessageBody/JT808_0x9999.cs b/src/JT808.Protocol.Test/MessageBody/JT808_0x9999.cs index 960042e..813d92d 100644 --- a/src/JT808.Protocol.Test/MessageBody/JT808_0x9999.cs +++ b/src/JT808.Protocol.Test/MessageBody/JT808_0x9999.cs @@ -11,7 +11,7 @@ namespace JT808.Protocol.Test.MessageBody public byte Sex { get; set; } public ushort MsgId => 0x9999; - + public bool SkipSerialization => false; public string Description => "自定义消息"; public override JT808_0x9999 Deserialize(ref JT808MessagePackReader reader, IJT808Config config) diff --git a/src/JT808.Protocol.Test/Simples/Demo13.cs b/src/JT808.Protocol.Test/Simples/Demo13.cs index d570411..3efb838 100644 --- a/src/JT808.Protocol.Test/Simples/Demo13.cs +++ b/src/JT808.Protocol.Test/Simples/Demo13.cs @@ -91,6 +91,7 @@ namespace JT808.Protocol.Test.Simples /// 0x0001 /// public ushort MsgId => 0x0001; + public bool SkipSerialization => false; /// /// 终端通用应答 /// diff --git a/src/JT808.Protocol.Test/Simples/Demo6.cs b/src/JT808.Protocol.Test/Simples/Demo6.cs index 2877085..af44778 100644 --- a/src/JT808.Protocol.Test/Simples/Demo6.cs +++ b/src/JT808.Protocol.Test/Simples/Demo6.cs @@ -151,6 +151,7 @@ namespace JT808.Protocol.Test.Simples public ushort MsgId => 0x91; public string Description =>"DT1Demo6"; + public bool SkipSerialization => false; public override DT1Demo6 Deserialize(ref JT808MessagePackReader reader, IJT808Config config) { @@ -170,6 +171,7 @@ namespace JT808.Protocol.Test.Simples public class DT2Demo6 : JT808MessagePackFormatter,JT808Bodies { public ushort MsgId => 0x91; + public bool SkipSerialization => false; public byte Sex2 { get; set; } public ushort Age2 { get; set; } diff --git a/src/JT808.Protocol.Test/Simples/Demo8.cs b/src/JT808.Protocol.Test/Simples/Demo8.cs index 6b6c9d9..ab671fc 100644 --- a/src/JT808.Protocol.Test/Simples/Demo8.cs +++ b/src/JT808.Protocol.Test/Simples/Demo8.cs @@ -58,7 +58,7 @@ namespace JT808.Protocol.Test.Simples public ushort Age1 { get; set; } public ushort MsgId => 0x93; - + public bool SkipSerialization => false; public string Description => "DT1Demo8"; public void Analyze(ref JT808MessagePackReader reader, Utf8JsonWriter writer, IJT808Config config) diff --git a/src/JT808.Protocol.sln b/src/JT808.Protocol.sln index e6b51a6..a20dff6 100644 --- a/src/JT808.Protocol.sln +++ b/src/JT808.Protocol.sln @@ -33,7 +33,7 @@ Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "JT808.Protocol.Extensions.S EndProject Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "JT808.Protocol.Extensions.SuBiao.Test", "JT808.Protocol.Extensions\JT808.Protocol.Extensions.SuBiao.Test\JT808.Protocol.Extensions.SuBiao.Test.csproj", "{BEE2E12D-C123-4682-AB7E-210C2BF564B3}" EndProject -Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "JT808.Protocol.DependencyInjection", "JT808.Protocol.Extensions\JT808.Protocol.DependencyInjection\JT808.Protocol.DependencyInjection.csproj", "{7EB01F74-DFDB-4733-8F15-5785A9ED7DBD}" +Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "JT808.Protocol.DependencyInjection", "JT808.Protocol.Extensions\JT808.Protocol.DependencyInjection\JT808.Protocol.DependencyInjection.csproj", "{7EB01F74-DFDB-4733-8F15-5785A9ED7DBD}" EndProject Global GlobalSection(SolutionConfigurationPlatforms) = preSolution diff --git a/src/JT808.Protocol/Extensions/JT808HexExtensions.cs b/src/JT808.Protocol/Extensions/JT808HexExtensions.cs index f134368..3fa5a6f 100644 --- a/src/JT808.Protocol/Extensions/JT808HexExtensions.cs +++ b/src/JT808.Protocol/Extensions/JT808HexExtensions.cs @@ -4,7 +4,6 @@ namespace JT808.Protocol.Extensions { /// /// - /// ref:"www.codeproject.com/tips/447938/high-performance-csharp-byte-array-to-hex-string-t" /// public static partial class JT808BinaryExtensions { @@ -15,7 +14,7 @@ namespace JT808.Protocol.Extensions /// public static string ToHexString(this byte[] source) { - return Convert.ToHexString(source, 0, source.Length); + return HexUtil.DoHexDump(source, 0, source.Length).ToUpper(); } /// @@ -26,7 +25,16 @@ namespace JT808.Protocol.Extensions public static byte[] ToHexBytes(this string hexString) { hexString = hexString.Replace(" ", ""); - return Convert.FromHexString(hexString); + byte[] buf = new byte[hexString.Length / 2]; + ReadOnlySpan readOnlySpan = hexString.AsSpan(); + for (int i = 0; i < hexString.Length; i++) + { + if (i % 2 == 0) + { + buf[i / 2] = Convert.ToByte(readOnlySpan.Slice(i, 2).ToString(), 16); + } + } + return buf; } /// @@ -38,7 +46,7 @@ namespace JT808.Protocol.Extensions /// public static string ReadHexStringLittle(ReadOnlySpan read, ref int offset, int len) { - string hex = Convert.ToHexString(read.Slice(offset, len)); + string hex = HexUtil.DoHexDump(read, offset, len); offset += len; return hex; } @@ -189,5 +197,68 @@ namespace JT808.Protocol.Extensions { return System.Convert.ToString(value, 2).PadLeft(8, '0').AsSpan(); } + + /// + /// ref:"www.codeproject.com/tips/447938/high-performance-csharp-byte-array-to-hex-string-t" + /// + public static class HexUtil + { + static readonly char[] HexdumpTable = new char[256 * 4]; + static HexUtil() + { + char[] digits = "0123456789ABCDEF".ToCharArray(); + for (int i = 0; i < 256; i++) + { + HexdumpTable[i << 1] = digits[(int)((uint)i >> 4 & 0x0F)]; + HexdumpTable[(i << 1) + 1] = digits[i & 0x0F]; + } + } + /// + /// + /// + /// + /// + /// + /// + public static string DoHexDump(ReadOnlySpan buffer, int fromIndex, int length) + { + if (length == 0) + { + return ""; + } + int endIndex = fromIndex + length; + var buf = new char[length << 1]; + int srcIdx = fromIndex; + int dstIdx = 0; + for (; srcIdx < endIndex; srcIdx++, dstIdx += 2) + { + Array.Copy(HexdumpTable, buffer[srcIdx] << 1, buf, dstIdx, 2); + } + return new string(buf); + } + /// + /// + /// + /// + /// + /// + /// + public static string DoHexDump(byte[] array, int fromIndex, int length) + { + if (length == 0) + { + return ""; + } + int endIndex = fromIndex + length; + var buf = new char[length << 1]; + int srcIdx = fromIndex; + int dstIdx = 0; + for (; srcIdx < endIndex; srcIdx++, dstIdx += 2) + { + Array.Copy(HexdumpTable, (array[srcIdx] & 0xFF) << 1, buf, dstIdx, 2); + } + return new string(buf); + } + } } } diff --git a/src/JT808.Protocol/Internal/DefaultMerger.cs b/src/JT808.Protocol/Internal/DefaultMerger.cs index 672161a..eef59e7 100644 --- a/src/JT808.Protocol/Internal/DefaultMerger.cs +++ b/src/JT808.Protocol/Internal/DefaultMerger.cs @@ -15,9 +15,9 @@ namespace JT808.Protocol.Internal /// private readonly ConcurrentDictionary>> splitPackageDictionary = new(); - private readonly ConcurrentDictionary timeoutDictionary = new(); + private readonly ConcurrentDictionary timeoutDictionary = new ConcurrentDictionary(); private readonly TimeSpan cleanInterval = TimeSpan.FromSeconds(60); - private readonly CancellationTokenSource cts = new(); + private readonly CancellationTokenSource cts = new CancellationTokenSource(); private bool disposed; public DefaultMerger() { @@ -27,7 +27,8 @@ namespace JT808.Protocol.Internal { timeoutDictionary.ToList().ForEach(x => { - var (key, datetime) = x; + var key = x.Key; + var datetime = x.Value; if (datetime < DateTime.Now && TryParseKey(key, out var phoneNumber, out var messageId) && splitPackageDictionary.TryGetValue(phoneNumber, out var value) && value.TryRemove(messageId, out var caches) && value.Count == 0 && splitPackageDictionary.TryRemove(phoneNumber, out _)) { timeoutDictionary.TryRemove(key, out _); @@ -88,9 +89,10 @@ namespace JT808.Protocol.Internal } private bool CheckTimeout(string key) => !timeoutDictionary.TryGetValue(key, out var dateTime) || dateTime >= DateTime.Now; - private const string keyJoiner = "-"; + private const char keyJoiner = '-'; + private const string keyJoinerNET7 = "-"; - private string GenerateKey(string phoneNumber, ushort messageId) => string.Join(keyJoiner, new[] { phoneNumber, messageId.ToString() }); + private string GenerateKey(string phoneNumber, ushort messageId) => string.Join(keyJoinerNET7, new[] { phoneNumber, messageId.ToString() }); private bool TryParseKey(string key, out string phoneNumber, out ushort messageId) { diff --git a/src/JT808.Protocol/JT808.Protocol.csproj b/src/JT808.Protocol/JT808.Protocol.csproj index 92c91c1..ea4f07c 100644 --- a/src/JT808.Protocol/JT808.Protocol.csproj +++ b/src/JT808.Protocol/JT808.Protocol.csproj @@ -41,10 +41,21 @@ - + + + + + + + + + + + + TextTemplatingFileGenerator diff --git a/src/JT808.Protocol/JT808.Protocol.xml b/src/JT808.Protocol/JT808.Protocol.xml index 183c819..807f766 100644 --- a/src/JT808.Protocol/JT808.Protocol.xml +++ b/src/JT808.Protocol/JT808.Protocol.xml @@ -2073,7 +2073,6 @@ - ref:"www.codeproject.com/tips/447938/high-performance-csharp-byte-array-to-hex-string-t" @@ -2195,6 +2194,29 @@ + + + ref:"www.codeproject.com/tips/447938/high-performance-csharp-byte-array-to-hex-string-t" + + + + + + + + + + + + + + + + + + + + JT808创建包扩展 @@ -6514,6 +6536,11 @@ 符合条件的行驶速度记录 + + + + + @@ -6550,6 +6577,11 @@ 0x09 + + + + + 符合条件的位置信息记录 @@ -6606,6 +6638,11 @@ 0x10 + + + + + 符合条件的事故疑点记录 @@ -6661,6 +6698,11 @@ 0x11 + + + + + 符合条件的超时驾驶记录 @@ -6716,6 +6758,11 @@ 0x12 + + + + + 符合条件的驾驶人登录退出记录 @@ -6771,6 +6818,11 @@ 0x13 + + + + + 符合条件的供电记录 @@ -6826,6 +6878,11 @@ 0x14 + + + + + 符合条件的参数修改记录 @@ -6881,6 +6938,11 @@ 0x15 + + + + + 符合条件的速度状态日志 @@ -6936,6 +6998,11 @@ 0x82 + + + + + 车辆识别代号 @@ -6993,6 +7060,11 @@ 0x83 + + + + + 实时时间 @@ -7038,6 +7110,11 @@ 0x84 + + + + + 实时时间 @@ -7134,6 +7211,11 @@ 0xC2 + + + + + 实时时间 @@ -7179,6 +7261,11 @@ 0xC3 + + + + + 当前时间 @@ -7229,6 +7316,11 @@ 0xC4 + + + + + 实时时间 @@ -7310,6 +7402,11 @@ 0xE1 + + + + + 记录仪唯一性编号 @@ -7439,6 +7536,11 @@ 0x00 + + + + + 记录仪执行标准年号后 2 位 BCD 码 @@ -7491,6 +7593,11 @@ 0x01 + + + + + 机动车驾驶证号码 @@ -7537,6 +7644,11 @@ 0x02 + + + + + 实时时间 @@ -7582,6 +7694,11 @@ 0x03 + + + + + 实时时间 @@ -7642,6 +7759,11 @@ 0x04 + + + + + 当前时间 @@ -7692,6 +7814,11 @@ 0x05 + + + + + 车辆识别代号 @@ -7749,6 +7876,11 @@ 0x06 + + + + + 实时时间 @@ -7845,6 +7977,11 @@ 0x07 + + + + + 生产厂 CCC 认证代码 7字节 @@ -7911,6 +8048,11 @@ 0x08 + + + + + 请求发送指定的时间范围内 N 个单位数据块的数据(N≥1) @@ -7989,6 +8131,11 @@ 0x09 + + + + + 请求发送指定的时间范围内 N 个单位数据块的数据(N≥1) @@ -8077,6 +8224,11 @@ 0x10 + + + + + 请求发送指定的时间范围内 N 个单位数据块的数据(N≥1) @@ -8174,6 +8326,11 @@ 0x11 + + + + + 请求发送指定的时间范围内 N 个单位数据块的数据(N≥1) @@ -8269,6 +8426,11 @@ 0x12 + + + + + 请求发送指定的时间范围内 N 个单位数据块的数据(N≥1) @@ -8334,6 +8496,11 @@ 0x13 + + + + + 请求发送指定的时间范围内 N 个单位数据块的数据(N≥1) @@ -8394,6 +8561,11 @@ 0x14 + + + + + 请求发送指定的时间范围内 N 个单位数据块的数据(N≥1) @@ -8454,6 +8626,11 @@ 0x15 + + + + + 请求发送指定的时间范围内 N 个单位数据块的数据(N≥1) @@ -8770,6 +8947,11 @@ 0x0001 + + + + + 终端通用应答 @@ -8890,6 +9072,11 @@ 0x0005 + + + + + 终端补传分包请求 @@ -8948,6 +9135,11 @@ 0x0100 + + + + + 终端注册 @@ -9039,6 +9231,11 @@ 0x0102 + + + + + 终端鉴权 @@ -9099,6 +9296,11 @@ 0x0104 + + + + + 查询终端参数应答 @@ -9154,6 +9356,11 @@ 0x0107 + + + + + 查询终端属性应答 @@ -9274,6 +9481,11 @@ 0x0108 + + + + + 终端升级结果通知 @@ -9330,6 +9542,11 @@ 位置信息汇报 + + + + + 报警标志 @@ -10305,6 +10522,11 @@ 0x0201 + + + + + 位置信息查询应答 @@ -10357,6 +10579,11 @@ 0x0301 + + + + + 事件报告 @@ -10403,6 +10630,11 @@ 0x0302 + + + + + 提问应答 @@ -10456,6 +10688,11 @@ 0x0303 + + + + + 信息点播_取消 @@ -10505,6 +10742,11 @@ 0x0500 + + + + + 车辆控制应答 @@ -10555,6 +10797,11 @@ 0x0608 + + + + + 查询区域或线路数据应答 @@ -10634,6 +10881,11 @@ 0x0700 + + + + + 行驶记录仪数据上传 @@ -10689,6 +10941,11 @@ 0x0701 + + + + + 电子运单上报 @@ -10750,6 +11007,11 @@ 0x0702 + + + + + Description @@ -10867,6 +11129,11 @@ 0x0704 + + + + + 定位数据批量上传 @@ -10944,6 +11211,11 @@ 0x0705 + + + + + CAN总线数据上传 @@ -11001,6 +11273,11 @@ 0x0800 + + + + + 多媒体事件信息上传 @@ -11079,6 +11356,11 @@ 0x0801 + + + + + 多媒体数据上传 @@ -11164,6 +11446,11 @@ 0x0802 + + + + + 存储多媒体数据检索应答 @@ -11221,6 +11508,11 @@ 0x0805 + + + + + 摄像头立即拍摄命令应答 @@ -11283,6 +11575,11 @@ 0x0900 + + + + + 数据上行透传 @@ -11348,6 +11645,11 @@ 0x0901 + + + + + 数据压缩上报 @@ -11400,6 +11702,11 @@ 0x0A00 + + + + + 终端RSA公钥 @@ -11451,6 +11758,11 @@ 0x8001 + + + + + 平台通用应答 @@ -11508,6 +11820,11 @@ 0x8003 + + + + + 补传分包请求 @@ -11568,6 +11885,11 @@ 0x8004 + + + + + 查询服务器时间应答 @@ -11612,6 +11934,11 @@ 0x8100 + + + + + 终端注册应答 @@ -11668,6 +11995,11 @@ 0x8103 + + + + + 设置终端参数 @@ -16165,6 +16497,11 @@ 0x8105 + + + + + 终端控制 @@ -16706,6 +17043,11 @@ 0x8106 + + + + + 查询指定终端参数 @@ -16777,6 +17119,11 @@ 0x8108 + + + + + 下发终端升级包 @@ -16868,6 +17215,11 @@ 0x8202 + + + + + 临时位置跟踪控制 @@ -16920,6 +17272,11 @@ 0x8203 + + + + + 人工确认报警消息 @@ -16991,6 +17348,11 @@ 0x8300 + + + + + 文本信息下发 @@ -17050,6 +17412,11 @@ 0x8301 + + + + + 事件设置 @@ -17107,6 +17474,11 @@ 0x8302 + + + + + 提问下发 @@ -17191,6 +17563,11 @@ 0x8303 + + + + + 信息点播菜单设置 @@ -17249,6 +17626,11 @@ 0x8304 + + + + + 信息服务 @@ -17304,6 +17686,11 @@ 0x8400 + + + + + 电话回拨 @@ -17354,6 +17741,11 @@ 0x8401 + + + + + 设置电话本 @@ -17408,6 +17800,11 @@ 0x8500 + + + + + 车辆控制 @@ -17521,6 +17918,11 @@ 0x8600 + + + + + 设置圆形区域 @@ -17577,6 +17979,11 @@ 0x8601 + + + + + 删除圆形区域 @@ -17628,6 +18035,11 @@ 0x8602 + + + + + 设置矩形区域 @@ -17684,6 +18096,11 @@ + + + + + @@ -17735,6 +18152,11 @@ 0x8604 + + + + + 设置多边形区域 @@ -17838,6 +18260,11 @@ 0x8605 + + + + + 删除多边形区域 @@ -17889,6 +18316,11 @@ 0x8606 + + + + + 设置路线 @@ -17972,6 +18404,11 @@ 0x8607 + + + + + 删除路线 @@ -18024,6 +18461,11 @@ 0x8608 + + + + + 查询区域或线路数据 @@ -18079,6 +18521,11 @@ 0x8700 + + + + + 行驶记录数据采集命令 @@ -18128,6 +18575,11 @@ 0x8701 + + + + + 行驶记录参数下传命令 @@ -18198,6 +18650,11 @@ 0x8800 + + + + + 多媒体数据上传应答 @@ -18254,6 +18711,11 @@ 0x8801 + + + + + 摄像头立即拍摄命令 @@ -18354,6 +18816,11 @@ 0x8802 + + + + + 存储多媒体数据检索 @@ -18424,6 +18891,11 @@ 0x8803 + + + + + 存储多媒体数据上传命令 @@ -18500,6 +18972,11 @@ 0x8804 + + + + + 录音开始命令 @@ -18562,6 +19039,11 @@ 0x8805 + + + + + 单条存储多媒体数据检索上传命令 @@ -18612,6 +19094,11 @@ 0x8900 + + + + + 数据下行透传 @@ -18679,6 +19166,11 @@ 0x8A00 + + + + + 平台RSA公钥 diff --git a/src/JT808.Protocol/JT808Bodies.cs b/src/JT808.Protocol/JT808Bodies.cs index 2fd891a..340a2a4 100644 --- a/src/JT808.Protocol/JT808Bodies.cs +++ b/src/JT808.Protocol/JT808Bodies.cs @@ -12,7 +12,7 @@ namespace JT808.Protocol /// 默认不跳过 /// 当数据体为空的时候,使用null作为空包感觉不适合,所以就算使用空包也需要new一下来表达意思。 /// - bool SkipSerialization { get { return false; } } + bool SkipSerialization { get; } /// /// 消息Id /// diff --git a/src/JT808.Protocol/JT808CarDVRDownBodies.cs b/src/JT808.Protocol/JT808CarDVRDownBodies.cs index c19eb68..1c8c2df 100644 --- a/src/JT808.Protocol/JT808CarDVRDownBodies.cs +++ b/src/JT808.Protocol/JT808CarDVRDownBodies.cs @@ -16,6 +16,6 @@ namespace JT808.Protocol /// 默认不跳过 /// 当数据体为空的时候,使用null作为空包感觉不适合,所以就算使用空包也需要new一下来表达意思。 /// - bool SkipSerialization { get { return false; }} + bool SkipSerialization { get; } } } diff --git a/src/JT808.Protocol/JT808CarDVRUpBodies.cs b/src/JT808.Protocol/JT808CarDVRUpBodies.cs index ad85906..8776423 100644 --- a/src/JT808.Protocol/JT808CarDVRUpBodies.cs +++ b/src/JT808.Protocol/JT808CarDVRUpBodies.cs @@ -16,6 +16,6 @@ namespace JT808.Protocol /// 默认不跳过 /// 当数据体为空的时候,使用null作为空包感觉不适合,所以就算使用空包也需要new一下来表达意思。 /// - bool SkipSerialization { get { return false; } } + bool SkipSerialization { get; } } } diff --git a/src/JT808.Protocol/MessageBody/CarDVR/JT808_CarDVR_Down_0x08.cs b/src/JT808.Protocol/MessageBody/CarDVR/JT808_CarDVR_Down_0x08.cs index 112774f..9688375 100644 --- a/src/JT808.Protocol/MessageBody/CarDVR/JT808_CarDVR_Down_0x08.cs +++ b/src/JT808.Protocol/MessageBody/CarDVR/JT808_CarDVR_Down_0x08.cs @@ -40,6 +40,10 @@ namespace JT808.Protocol.MessageBody.CarDVR /// /// /// + public bool SkipSerialization => false; + /// + /// + /// /// /// /// diff --git a/src/JT808.Protocol/MessageBody/CarDVR/JT808_CarDVR_Down_0x09.cs b/src/JT808.Protocol/MessageBody/CarDVR/JT808_CarDVR_Down_0x09.cs index c8efe80..6ebd1f7 100644 --- a/src/JT808.Protocol/MessageBody/CarDVR/JT808_CarDVR_Down_0x09.cs +++ b/src/JT808.Protocol/MessageBody/CarDVR/JT808_CarDVR_Down_0x09.cs @@ -22,6 +22,10 @@ namespace JT808.Protocol.MessageBody.CarDVR /// public byte CommandId => JT808CarDVRCommandID.collect_specified_location_information.ToByteValue(); /// + /// + /// + public bool SkipSerialization => false; + /// /// 符合条件的位置信息记录 /// public string Description => "符合条件的位置信息记录"; diff --git a/src/JT808.Protocol/MessageBody/CarDVR/JT808_CarDVR_Down_0x10.cs b/src/JT808.Protocol/MessageBody/CarDVR/JT808_CarDVR_Down_0x10.cs index c965091..0ce07c6 100644 --- a/src/JT808.Protocol/MessageBody/CarDVR/JT808_CarDVR_Down_0x10.cs +++ b/src/JT808.Protocol/MessageBody/CarDVR/JT808_CarDVR_Down_0x10.cs @@ -22,6 +22,10 @@ namespace JT808.Protocol.MessageBody.CarDVR /// public byte CommandId => JT808CarDVRCommandID.collect_specified_incident_suspect_records.ToByteValue(); /// + /// + /// + public bool SkipSerialization => false; + /// /// 符合条件的事故疑点记录 /// public string Description => "符合条件的事故疑点记录"; diff --git a/src/JT808.Protocol/MessageBody/CarDVR/JT808_CarDVR_Down_0x11.cs b/src/JT808.Protocol/MessageBody/CarDVR/JT808_CarDVR_Down_0x11.cs index 55c484f..3f430e8 100644 --- a/src/JT808.Protocol/MessageBody/CarDVR/JT808_CarDVR_Down_0x11.cs +++ b/src/JT808.Protocol/MessageBody/CarDVR/JT808_CarDVR_Down_0x11.cs @@ -21,6 +21,10 @@ namespace JT808.Protocol.MessageBody.CarDVR /// public byte CommandId => JT808CarDVRCommandID.collect_specified_driving_overtime_records.ToByteValue(); /// + /// + /// + public bool SkipSerialization => false; + /// /// 符合条件的超时驾驶记录 /// public string Description => "符合条件的超时驾驶记录"; diff --git a/src/JT808.Protocol/MessageBody/CarDVR/JT808_CarDVR_Down_0x12.cs b/src/JT808.Protocol/MessageBody/CarDVR/JT808_CarDVR_Down_0x12.cs index a0b2424..1e02a23 100644 --- a/src/JT808.Protocol/MessageBody/CarDVR/JT808_CarDVR_Down_0x12.cs +++ b/src/JT808.Protocol/MessageBody/CarDVR/JT808_CarDVR_Down_0x12.cs @@ -21,6 +21,10 @@ namespace JT808.Protocol.MessageBody.CarDVR /// public byte CommandId => JT808CarDVRCommandID.collect_drivers_identification_records.ToByteValue(); /// + /// + /// + public bool SkipSerialization => false; + /// /// 符合条件的驾驶人登录退出记录 /// public string Description => "符合条件的驾驶人登录退出记录"; diff --git a/src/JT808.Protocol/MessageBody/CarDVR/JT808_CarDVR_Down_0x13.cs b/src/JT808.Protocol/MessageBody/CarDVR/JT808_CarDVR_Down_0x13.cs index 21b84f3..4ff3f41 100644 --- a/src/JT808.Protocol/MessageBody/CarDVR/JT808_CarDVR_Down_0x13.cs +++ b/src/JT808.Protocol/MessageBody/CarDVR/JT808_CarDVR_Down_0x13.cs @@ -21,6 +21,10 @@ namespace JT808.Protocol.MessageBody.CarDVR /// public byte CommandId => JT808CarDVRCommandID.collect_specified_external_power_supply_records.ToByteValue(); /// + /// + /// + public bool SkipSerialization => false; + /// /// 符合条件的供电记录 /// public string Description => "符合条件的供电记录"; diff --git a/src/JT808.Protocol/MessageBody/CarDVR/JT808_CarDVR_Down_0x14.cs b/src/JT808.Protocol/MessageBody/CarDVR/JT808_CarDVR_Down_0x14.cs index aff214c..b644182 100644 --- a/src/JT808.Protocol/MessageBody/CarDVR/JT808_CarDVR_Down_0x14.cs +++ b/src/JT808.Protocol/MessageBody/CarDVR/JT808_CarDVR_Down_0x14.cs @@ -21,6 +21,10 @@ namespace JT808.Protocol.MessageBody.CarDVR /// public byte CommandId => JT808CarDVRCommandID.collect_specified_modify_parameters_records.ToByteValue(); /// + /// + /// + public bool SkipSerialization => false; + /// /// 符合条件的参数修改记录 /// public string Description => "符合条件的参数修改记录"; diff --git a/src/JT808.Protocol/MessageBody/CarDVR/JT808_CarDVR_Down_0x15.cs b/src/JT808.Protocol/MessageBody/CarDVR/JT808_CarDVR_Down_0x15.cs index e27b6f8..12b307c 100644 --- a/src/JT808.Protocol/MessageBody/CarDVR/JT808_CarDVR_Down_0x15.cs +++ b/src/JT808.Protocol/MessageBody/CarDVR/JT808_CarDVR_Down_0x15.cs @@ -21,6 +21,10 @@ namespace JT808.Protocol.MessageBody.CarDVR /// public byte CommandId => JT808CarDVRCommandID.collect_specified_speed_status_logs.ToByteValue(); /// + /// + /// + public bool SkipSerialization => false; + /// /// 符合条件的速度状态日志 /// public string Description => "符合条件的速度状态日志"; diff --git a/src/JT808.Protocol/MessageBody/CarDVR/JT808_CarDVR_Down_0x82.cs b/src/JT808.Protocol/MessageBody/CarDVR/JT808_CarDVR_Down_0x82.cs index 8b57298..f9a4a7d 100644 --- a/src/JT808.Protocol/MessageBody/CarDVR/JT808_CarDVR_Down_0x82.cs +++ b/src/JT808.Protocol/MessageBody/CarDVR/JT808_CarDVR_Down_0x82.cs @@ -22,6 +22,10 @@ namespace JT808.Protocol.MessageBody.CarDVR /// public byte CommandId => JT808CarDVRCommandID.setting_vehicle_information.ToByteValue(); /// + /// + /// + public bool SkipSerialization => false; + /// /// 车辆识别代号 /// public string Vin { get; set; } diff --git a/src/JT808.Protocol/MessageBody/CarDVR/JT808_CarDVR_Down_0x83.cs b/src/JT808.Protocol/MessageBody/CarDVR/JT808_CarDVR_Down_0x83.cs index c1ddcdc..6a7f6f2 100644 --- a/src/JT808.Protocol/MessageBody/CarDVR/JT808_CarDVR_Down_0x83.cs +++ b/src/JT808.Protocol/MessageBody/CarDVR/JT808_CarDVR_Down_0x83.cs @@ -22,6 +22,10 @@ namespace JT808.Protocol.MessageBody.CarDVR /// public byte CommandId => JT808CarDVRCommandID.set_first_install_date_recorder.ToByteValue(); /// + /// + /// + public bool SkipSerialization => false; + /// /// 实时时间 /// public DateTime RealTime { get; set; } diff --git a/src/JT808.Protocol/MessageBody/CarDVR/JT808_CarDVR_Down_0x84.cs b/src/JT808.Protocol/MessageBody/CarDVR/JT808_CarDVR_Down_0x84.cs index b0d13cc..503d707 100644 --- a/src/JT808.Protocol/MessageBody/CarDVR/JT808_CarDVR_Down_0x84.cs +++ b/src/JT808.Protocol/MessageBody/CarDVR/JT808_CarDVR_Down_0x84.cs @@ -22,6 +22,10 @@ namespace JT808.Protocol.MessageBody.CarDVR /// public byte CommandId => JT808CarDVRCommandID.set_state_quantity_configuration_information.ToByteValue(); /// + /// + /// + public bool SkipSerialization => false; + /// /// 实时时间 /// public DateTime RealTime { get; set; } diff --git a/src/JT808.Protocol/MessageBody/CarDVR/JT808_CarDVR_Down_0xC2.cs b/src/JT808.Protocol/MessageBody/CarDVR/JT808_CarDVR_Down_0xC2.cs index fdbccdc..4ea8b3d 100644 --- a/src/JT808.Protocol/MessageBody/CarDVR/JT808_CarDVR_Down_0xC2.cs +++ b/src/JT808.Protocol/MessageBody/CarDVR/JT808_CarDVR_Down_0xC2.cs @@ -22,6 +22,10 @@ namespace JT808.Protocol.MessageBody.CarDVR /// public byte CommandId => JT808CarDVRCommandID.set_recorder_time.ToByteValue(); /// + /// + /// + public bool SkipSerialization => false; + /// /// 实时时间 /// public DateTime RealTime { get; set; } diff --git a/src/JT808.Protocol/MessageBody/CarDVR/JT808_CarDVR_Down_0xC3.cs b/src/JT808.Protocol/MessageBody/CarDVR/JT808_CarDVR_Down_0xC3.cs index 828b4aa..8b99f3f 100644 --- a/src/JT808.Protocol/MessageBody/CarDVR/JT808_CarDVR_Down_0xC3.cs +++ b/src/JT808.Protocol/MessageBody/CarDVR/JT808_CarDVR_Down_0xC3.cs @@ -22,6 +22,10 @@ namespace JT808.Protocol.MessageBody.CarDVR /// public byte CommandId => JT808CarDVRCommandID.set_pulse_coefficient_recorder.ToByteValue(); /// + /// + /// + public bool SkipSerialization => false; + /// /// 当前时间 /// public DateTime RealTime { get; set; } diff --git a/src/JT808.Protocol/MessageBody/CarDVR/JT808_CarDVR_Down_0xC4.cs b/src/JT808.Protocol/MessageBody/CarDVR/JT808_CarDVR_Down_0xC4.cs index 986b49b..5d76e0b 100644 --- a/src/JT808.Protocol/MessageBody/CarDVR/JT808_CarDVR_Down_0xC4.cs +++ b/src/JT808.Protocol/MessageBody/CarDVR/JT808_CarDVR_Down_0xC4.cs @@ -22,6 +22,10 @@ namespace JT808.Protocol.MessageBody.CarDVR /// public byte CommandId => JT808CarDVRCommandID.set_init_mileage.ToByteValue(); /// + /// + /// + public bool SkipSerialization => false; + /// /// 实时时间 /// public DateTime RealTime { get; set; } diff --git a/src/JT808.Protocol/MessageBody/CarDVR/JT808_CarDVR_Down_0xE1.cs b/src/JT808.Protocol/MessageBody/CarDVR/JT808_CarDVR_Down_0xE1.cs index f314310..a9ee98f 100644 --- a/src/JT808.Protocol/MessageBody/CarDVR/JT808_CarDVR_Down_0xE1.cs +++ b/src/JT808.Protocol/MessageBody/CarDVR/JT808_CarDVR_Down_0xE1.cs @@ -22,6 +22,10 @@ namespace JT808.Protocol.MessageBody.CarDVR /// public byte CommandId => JT808CarDVRCommandID.enter_mileage_error_measurement.ToByteValue(); /// + /// + /// + public bool SkipSerialization => false; + /// /// 记录仪唯一性编号 /// public string UniqueNumber { get; set; } diff --git a/src/JT808.Protocol/MessageBody/CarDVR/JT808_CarDVR_Up_0x00.cs b/src/JT808.Protocol/MessageBody/CarDVR/JT808_CarDVR_Up_0x00.cs index 0c3af5e..dd8ef1d 100644 --- a/src/JT808.Protocol/MessageBody/CarDVR/JT808_CarDVR_Up_0x00.cs +++ b/src/JT808.Protocol/MessageBody/CarDVR/JT808_CarDVR_Up_0x00.cs @@ -22,6 +22,10 @@ namespace JT808.Protocol.MessageBody.CarDVR /// public byte CommandId => JT808CarDVRCommandID.collect_recorder_performs_standard_version.ToByteValue(); /// + /// + /// + public bool SkipSerialization => false; + /// /// 记录仪执行标准年号后 2 位 BCD 码 /// 无应答则默认为 03 /// diff --git a/src/JT808.Protocol/MessageBody/CarDVR/JT808_CarDVR_Up_0x01.cs b/src/JT808.Protocol/MessageBody/CarDVR/JT808_CarDVR_Up_0x01.cs index e8a1aa2..a5738e9 100644 --- a/src/JT808.Protocol/MessageBody/CarDVR/JT808_CarDVR_Up_0x01.cs +++ b/src/JT808.Protocol/MessageBody/CarDVR/JT808_CarDVR_Up_0x01.cs @@ -22,6 +22,10 @@ namespace JT808.Protocol.MessageBody.CarDVR /// public byte CommandId => JT808CarDVRCommandID.collect_driver.ToByteValue(); /// + /// + /// + public bool SkipSerialization => false; + /// /// 机动车驾驶证号码 /// 机动车驾驶证号码为 15 位时,后 3 位以 00H 补齐。驾驶人身份未知时以 00H 表示 /// diff --git a/src/JT808.Protocol/MessageBody/CarDVR/JT808_CarDVR_Up_0x02.cs b/src/JT808.Protocol/MessageBody/CarDVR/JT808_CarDVR_Up_0x02.cs index 4721b91..1fd2ff8 100644 --- a/src/JT808.Protocol/MessageBody/CarDVR/JT808_CarDVR_Up_0x02.cs +++ b/src/JT808.Protocol/MessageBody/CarDVR/JT808_CarDVR_Up_0x02.cs @@ -22,6 +22,10 @@ namespace JT808.Protocol.MessageBody.CarDVR /// public byte CommandId => JT808CarDVRCommandID.collect_realtime.ToByteValue(); /// + /// + /// + public bool SkipSerialization => false; + /// /// 实时时间 /// public DateTime RealTime { get; set; } diff --git a/src/JT808.Protocol/MessageBody/CarDVR/JT808_CarDVR_Up_0x03.cs b/src/JT808.Protocol/MessageBody/CarDVR/JT808_CarDVR_Up_0x03.cs index c45f9c1..24ea591 100644 --- a/src/JT808.Protocol/MessageBody/CarDVR/JT808_CarDVR_Up_0x03.cs +++ b/src/JT808.Protocol/MessageBody/CarDVR/JT808_CarDVR_Up_0x03.cs @@ -19,6 +19,10 @@ namespace JT808.Protocol.MessageBody.CarDVR /// public byte CommandId => JT808CarDVRCommandID.collect_accumulated_mileage.ToByteValue(); /// + /// + /// + public bool SkipSerialization => false; + /// /// 实时时间 /// public DateTime RealTime { get; set; } diff --git a/src/JT808.Protocol/MessageBody/CarDVR/JT808_CarDVR_Up_0x04.cs b/src/JT808.Protocol/MessageBody/CarDVR/JT808_CarDVR_Up_0x04.cs index 2ec8025..66ee6fb 100644 --- a/src/JT808.Protocol/MessageBody/CarDVR/JT808_CarDVR_Up_0x04.cs +++ b/src/JT808.Protocol/MessageBody/CarDVR/JT808_CarDVR_Up_0x04.cs @@ -22,6 +22,10 @@ namespace JT808.Protocol.MessageBody.CarDVR /// public byte CommandId => JT808CarDVRCommandID.collect_recorder_pulse_coefficient.ToByteValue(); /// + /// + /// + public bool SkipSerialization => false; + /// /// 当前时间 /// public DateTime RealTime { get; set; } diff --git a/src/JT808.Protocol/MessageBody/CarDVR/JT808_CarDVR_Up_0x05.cs b/src/JT808.Protocol/MessageBody/CarDVR/JT808_CarDVR_Up_0x05.cs index a50319a..2550390 100644 --- a/src/JT808.Protocol/MessageBody/CarDVR/JT808_CarDVR_Up_0x05.cs +++ b/src/JT808.Protocol/MessageBody/CarDVR/JT808_CarDVR_Up_0x05.cs @@ -22,6 +22,10 @@ namespace JT808.Protocol.MessageBody.CarDVR /// public byte CommandId => JT808CarDVRCommandID.collect_vehicle_information.ToByteValue(); /// + /// + /// + public bool SkipSerialization => false; + /// /// 车辆识别代号 /// public string Vin { get; set; } diff --git a/src/JT808.Protocol/MessageBody/CarDVR/JT808_CarDVR_Up_0x06.cs b/src/JT808.Protocol/MessageBody/CarDVR/JT808_CarDVR_Up_0x06.cs index 1de5af0..8945fc0 100644 --- a/src/JT808.Protocol/MessageBody/CarDVR/JT808_CarDVR_Up_0x06.cs +++ b/src/JT808.Protocol/MessageBody/CarDVR/JT808_CarDVR_Up_0x06.cs @@ -22,6 +22,10 @@ namespace JT808.Protocol.MessageBody.CarDVR /// public byte CommandId => JT808CarDVRCommandID.collect_recorder_status_signal_configuration_information.ToByteValue(); /// + /// + /// + public bool SkipSerialization => false; + /// /// 实时时间 /// public DateTime RealTime { get; set; } diff --git a/src/JT808.Protocol/MessageBody/CarDVR/JT808_CarDVR_Up_0x07.cs b/src/JT808.Protocol/MessageBody/CarDVR/JT808_CarDVR_Up_0x07.cs index fe4aa72..09890b8 100644 --- a/src/JT808.Protocol/MessageBody/CarDVR/JT808_CarDVR_Up_0x07.cs +++ b/src/JT808.Protocol/MessageBody/CarDVR/JT808_CarDVR_Up_0x07.cs @@ -22,6 +22,10 @@ namespace JT808.Protocol.MessageBody.CarDVR /// public byte CommandId => JT808CarDVRCommandID.collect_recorder_unique_number.ToByteValue(); /// + /// + /// + public bool SkipSerialization => false; + /// /// 生产厂 CCC 认证代码 7字节 /// public string ProductionPlantCCCCertificationCode { get; set; } diff --git a/src/JT808.Protocol/MessageBody/CarDVR/JT808_CarDVR_Up_0x08.cs b/src/JT808.Protocol/MessageBody/CarDVR/JT808_CarDVR_Up_0x08.cs index f965cf1..608263e 100644 --- a/src/JT808.Protocol/MessageBody/CarDVR/JT808_CarDVR_Up_0x08.cs +++ b/src/JT808.Protocol/MessageBody/CarDVR/JT808_CarDVR_Up_0x08.cs @@ -23,6 +23,10 @@ namespace JT808.Protocol.MessageBody.CarDVR /// public byte CommandId => JT808CarDVRCommandID.collect_recorder_specified_speed.ToByteValue(); /// + /// + /// + public bool SkipSerialization => false; + /// /// 请求发送指定的时间范围内 N 个单位数据块的数据(N≥1) /// public List JT808_CarDVR_Up_0x08_SpeedPerMinutes { get; set; } diff --git a/src/JT808.Protocol/MessageBody/CarDVR/JT808_CarDVR_Up_0x09.cs b/src/JT808.Protocol/MessageBody/CarDVR/JT808_CarDVR_Up_0x09.cs index ea32fe6..cf663f9 100644 --- a/src/JT808.Protocol/MessageBody/CarDVR/JT808_CarDVR_Up_0x09.cs +++ b/src/JT808.Protocol/MessageBody/CarDVR/JT808_CarDVR_Up_0x09.cs @@ -23,6 +23,10 @@ namespace JT808.Protocol.MessageBody.CarDVR /// public byte CommandId => JT808CarDVRCommandID.collect_specified_location_information.ToByteValue(); /// + /// + /// + public bool SkipSerialization => false; + /// /// 请求发送指定的时间范围内 N 个单位数据块的数据(N≥1) /// public List JT808_CarDVR_Up_0x09_PositionPerHours { get; set; } diff --git a/src/JT808.Protocol/MessageBody/CarDVR/JT808_CarDVR_Up_0x10.cs b/src/JT808.Protocol/MessageBody/CarDVR/JT808_CarDVR_Up_0x10.cs index 464fa11..0170b47 100644 --- a/src/JT808.Protocol/MessageBody/CarDVR/JT808_CarDVR_Up_0x10.cs +++ b/src/JT808.Protocol/MessageBody/CarDVR/JT808_CarDVR_Up_0x10.cs @@ -24,6 +24,10 @@ namespace JT808.Protocol.MessageBody.CarDVR /// public byte CommandId => JT808CarDVRCommandID.collect_specified_incident_suspect_records.ToByteValue(); /// + /// + /// + public bool SkipSerialization => false; + /// /// 请求发送指定的时间范围内 N 个单位数据块的数据(N≥1) /// public List JT808_CarDVR_Up_0x10_AccidentSuspectins { get; set; } diff --git a/src/JT808.Protocol/MessageBody/CarDVR/JT808_CarDVR_Up_0x11.cs b/src/JT808.Protocol/MessageBody/CarDVR/JT808_CarDVR_Up_0x11.cs index 91d2697..d2cbeed 100644 --- a/src/JT808.Protocol/MessageBody/CarDVR/JT808_CarDVR_Up_0x11.cs +++ b/src/JT808.Protocol/MessageBody/CarDVR/JT808_CarDVR_Up_0x11.cs @@ -22,6 +22,10 @@ namespace JT808.Protocol.MessageBody.CarDVR /// public byte CommandId => JT808CarDVRCommandID.collect_specified_driving_overtime_records.ToByteValue(); /// + /// + /// + public bool SkipSerialization => false; + /// /// 请求发送指定的时间范围内 N 个单位数据块的数据(N≥1) /// public List JT808_CarDVR_Up_0x11_DriveOverTimes{ get; set; } diff --git a/src/JT808.Protocol/MessageBody/CarDVR/JT808_CarDVR_Up_0x12.cs b/src/JT808.Protocol/MessageBody/CarDVR/JT808_CarDVR_Up_0x12.cs index 04edd3a..8cc5433 100644 --- a/src/JT808.Protocol/MessageBody/CarDVR/JT808_CarDVR_Up_0x12.cs +++ b/src/JT808.Protocol/MessageBody/CarDVR/JT808_CarDVR_Up_0x12.cs @@ -22,6 +22,10 @@ namespace JT808.Protocol.MessageBody.CarDVR /// public byte CommandId => JT808CarDVRCommandID.collect_drivers_identification_records.ToByteValue(); /// + /// + /// + public bool SkipSerialization => false; + /// /// 请求发送指定的时间范围内 N 个单位数据块的数据(N≥1) /// public List JT808_CarDVR_Up_0x12_DriveLogins { get; set; } diff --git a/src/JT808.Protocol/MessageBody/CarDVR/JT808_CarDVR_Up_0x13.cs b/src/JT808.Protocol/MessageBody/CarDVR/JT808_CarDVR_Up_0x13.cs index 050d73a..b073495 100644 --- a/src/JT808.Protocol/MessageBody/CarDVR/JT808_CarDVR_Up_0x13.cs +++ b/src/JT808.Protocol/MessageBody/CarDVR/JT808_CarDVR_Up_0x13.cs @@ -22,6 +22,10 @@ namespace JT808.Protocol.MessageBody.CarDVR /// public byte CommandId => JT808CarDVRCommandID.collect_specified_external_power_supply_records.ToByteValue(); /// + /// + /// + public bool SkipSerialization => false; + /// /// 请求发送指定的时间范围内 N 个单位数据块的数据(N≥1) /// public List JT808_CarDVR_Up_0x13_ExternalPowerSupplys { get; set; } diff --git a/src/JT808.Protocol/MessageBody/CarDVR/JT808_CarDVR_Up_0x14.cs b/src/JT808.Protocol/MessageBody/CarDVR/JT808_CarDVR_Up_0x14.cs index 2887a77..24727f3 100644 --- a/src/JT808.Protocol/MessageBody/CarDVR/JT808_CarDVR_Up_0x14.cs +++ b/src/JT808.Protocol/MessageBody/CarDVR/JT808_CarDVR_Up_0x14.cs @@ -22,6 +22,10 @@ namespace JT808.Protocol.MessageBody.CarDVR /// public byte CommandId => JT808CarDVRCommandID.collect_specified_modify_parameters_records.ToByteValue(); /// + /// + /// + public bool SkipSerialization => false; + /// /// 请求发送指定的时间范围内 N 个单位数据块的数据(N≥1) /// public List JT808_CarDVR_Up_0x14_ParameterModifys { get; set; } diff --git a/src/JT808.Protocol/MessageBody/CarDVR/JT808_CarDVR_Up_0x15.cs b/src/JT808.Protocol/MessageBody/CarDVR/JT808_CarDVR_Up_0x15.cs index 2cf4e8c..108300e 100644 --- a/src/JT808.Protocol/MessageBody/CarDVR/JT808_CarDVR_Up_0x15.cs +++ b/src/JT808.Protocol/MessageBody/CarDVR/JT808_CarDVR_Up_0x15.cs @@ -22,6 +22,10 @@ namespace JT808.Protocol.MessageBody.CarDVR /// public byte CommandId => JT808CarDVRCommandID.collect_specified_speed_status_logs.ToByteValue(); /// + /// + /// + public bool SkipSerialization => false; + /// /// 请求发送指定的时间范围内 N 个单位数据块的数据(N≥1) /// public List JT808_CarDVR_Up_0x15_SpeedStatusLogs { get; set; } diff --git a/src/JT808.Protocol/MessageBody/JT808_0x0001.cs b/src/JT808.Protocol/MessageBody/JT808_0x0001.cs index f24020c..6a41afc 100644 --- a/src/JT808.Protocol/MessageBody/JT808_0x0001.cs +++ b/src/JT808.Protocol/MessageBody/JT808_0x0001.cs @@ -17,6 +17,10 @@ namespace JT808.Protocol.MessageBody /// public ushort MsgId => 0x0001; /// + /// + /// + public bool SkipSerialization => false; + /// /// 终端通用应答 /// public string Description => "终端通用应答"; diff --git a/src/JT808.Protocol/MessageBody/JT808_0x0005.cs b/src/JT808.Protocol/MessageBody/JT808_0x0005.cs index 33ce0fe..3a91dd6 100644 --- a/src/JT808.Protocol/MessageBody/JT808_0x0005.cs +++ b/src/JT808.Protocol/MessageBody/JT808_0x0005.cs @@ -18,6 +18,10 @@ namespace JT808.Protocol.MessageBody /// public ushort MsgId => 0x0005; /// + /// + /// + public bool SkipSerialization => false; + /// /// 终端补传分包请求 /// public string Description => "终端补传分包请求"; diff --git a/src/JT808.Protocol/MessageBody/JT808_0x0100.cs b/src/JT808.Protocol/MessageBody/JT808_0x0100.cs index 338b55f..d56cca6 100644 --- a/src/JT808.Protocol/MessageBody/JT808_0x0100.cs +++ b/src/JT808.Protocol/MessageBody/JT808_0x0100.cs @@ -19,6 +19,10 @@ namespace JT808.Protocol.MessageBody /// public ushort MsgId => 0x0100; /// + /// + /// + public bool SkipSerialization => false; + /// /// 终端注册 /// public string Description => "终端注册"; diff --git a/src/JT808.Protocol/MessageBody/JT808_0x0102.cs b/src/JT808.Protocol/MessageBody/JT808_0x0102.cs index cf369c9..c15f269 100644 --- a/src/JT808.Protocol/MessageBody/JT808_0x0102.cs +++ b/src/JT808.Protocol/MessageBody/JT808_0x0102.cs @@ -18,6 +18,10 @@ namespace JT808.Protocol.MessageBody /// public ushort MsgId => 0x0102; /// + /// + /// + public bool SkipSerialization => false; + /// /// 终端鉴权 /// public string Description => "终端鉴权"; diff --git a/src/JT808.Protocol/MessageBody/JT808_0x0104.cs b/src/JT808.Protocol/MessageBody/JT808_0x0104.cs index 093ec93..fb12c57 100644 --- a/src/JT808.Protocol/MessageBody/JT808_0x0104.cs +++ b/src/JT808.Protocol/MessageBody/JT808_0x0104.cs @@ -19,6 +19,10 @@ namespace JT808.Protocol.MessageBody /// public ushort MsgId => 0x0104; /// + /// + /// + public bool SkipSerialization => false; + /// /// 查询终端参数应答 /// public string Description => "查询终端参数应答"; diff --git a/src/JT808.Protocol/MessageBody/JT808_0x0107.cs b/src/JT808.Protocol/MessageBody/JT808_0x0107.cs index a82b3c8..5f70e9e 100644 --- a/src/JT808.Protocol/MessageBody/JT808_0x0107.cs +++ b/src/JT808.Protocol/MessageBody/JT808_0x0107.cs @@ -20,6 +20,10 @@ namespace JT808.Protocol.MessageBody /// public ushort MsgId => 0x0107; /// + /// + /// + public bool SkipSerialization => false; + /// /// 查询终端属性应答 /// public string Description => "查询终端属性应答"; diff --git a/src/JT808.Protocol/MessageBody/JT808_0x0108.cs b/src/JT808.Protocol/MessageBody/JT808_0x0108.cs index 0f990f0..9fc8363 100644 --- a/src/JT808.Protocol/MessageBody/JT808_0x0108.cs +++ b/src/JT808.Protocol/MessageBody/JT808_0x0108.cs @@ -17,6 +17,10 @@ namespace JT808.Protocol.MessageBody /// public ushort MsgId => 0x0108; /// + /// + /// + public bool SkipSerialization => false; + /// /// 终端升级结果通知 /// public string Description => "终端升级结果通知"; diff --git a/src/JT808.Protocol/MessageBody/JT808_0x0200.cs b/src/JT808.Protocol/MessageBody/JT808_0x0200.cs index 72b8c57..64e7bde 100644 --- a/src/JT808.Protocol/MessageBody/JT808_0x0200.cs +++ b/src/JT808.Protocol/MessageBody/JT808_0x0200.cs @@ -26,6 +26,10 @@ namespace JT808.Protocol.MessageBody /// public string Description => "位置信息汇报"; /// + /// + /// + public bool SkipSerialization => false; + /// /// 报警标志 /// /// @@ -108,7 +112,7 @@ namespace JT808.Protocol.MessageBody /// public override JT808_0x0200 Deserialize(ref JT808MessagePackReader reader, IJT808Config config) { - JT808_0x0200 jT808_0X0200 = new (); + JT808_0x0200 jT808_0X0200 = new JT808_0x0200(); jT808_0X0200.AlarmFlag = reader.ReadUInt32(); jT808_0X0200.StatusFlag = reader.ReadUInt32(); if (((jT808_0X0200.StatusFlag >> 28) & 1) == 1) diff --git a/src/JT808.Protocol/MessageBody/JT808_0x0201.cs b/src/JT808.Protocol/MessageBody/JT808_0x0201.cs index 18ef3d0..b4bb5f8 100644 --- a/src/JT808.Protocol/MessageBody/JT808_0x0201.cs +++ b/src/JT808.Protocol/MessageBody/JT808_0x0201.cs @@ -16,6 +16,10 @@ namespace JT808.Protocol.MessageBody /// public ushort MsgId => 0x0201; /// + /// + /// + public bool SkipSerialization => false; + /// /// 位置信息查询应答 /// public string Description => "位置信息查询应答"; diff --git a/src/JT808.Protocol/MessageBody/JT808_0x0301.cs b/src/JT808.Protocol/MessageBody/JT808_0x0301.cs index d0f8464..4ad84fe 100644 --- a/src/JT808.Protocol/MessageBody/JT808_0x0301.cs +++ b/src/JT808.Protocol/MessageBody/JT808_0x0301.cs @@ -19,6 +19,10 @@ namespace JT808.Protocol.MessageBody /// public ushort MsgId => 0x0301; /// + /// + /// + public bool SkipSerialization => false; + /// /// 事件报告 /// public string Description => "事件报告"; diff --git a/src/JT808.Protocol/MessageBody/JT808_0x0302.cs b/src/JT808.Protocol/MessageBody/JT808_0x0302.cs index 5251cd3..4299c07 100644 --- a/src/JT808.Protocol/MessageBody/JT808_0x0302.cs +++ b/src/JT808.Protocol/MessageBody/JT808_0x0302.cs @@ -20,6 +20,10 @@ namespace JT808.Protocol.MessageBody /// public ushort MsgId => 0x0302; /// + /// + /// + public bool SkipSerialization => false; + /// /// 提问应答 /// public string Description => "提问应答"; diff --git a/src/JT808.Protocol/MessageBody/JT808_0x0303.cs b/src/JT808.Protocol/MessageBody/JT808_0x0303.cs index 19cba77..e0f1013 100644 --- a/src/JT808.Protocol/MessageBody/JT808_0x0303.cs +++ b/src/JT808.Protocol/MessageBody/JT808_0x0303.cs @@ -19,6 +19,10 @@ namespace JT808.Protocol.MessageBody /// public ushort MsgId => 0x0303; /// + /// + /// + public bool SkipSerialization => false; + /// /// 信息点播_取消 /// public string Description => "信息点播_取消"; diff --git a/src/JT808.Protocol/MessageBody/JT808_0x0500.cs b/src/JT808.Protocol/MessageBody/JT808_0x0500.cs index 840b613..4b2fc09 100644 --- a/src/JT808.Protocol/MessageBody/JT808_0x0500.cs +++ b/src/JT808.Protocol/MessageBody/JT808_0x0500.cs @@ -16,6 +16,10 @@ namespace JT808.Protocol.MessageBody /// public ushort MsgId => 0x0500; /// + /// + /// + public bool SkipSerialization => false; + /// /// 车辆控制应答 /// public string Description => "车辆控制应答"; diff --git a/src/JT808.Protocol/MessageBody/JT808_0x0608.cs b/src/JT808.Protocol/MessageBody/JT808_0x0608.cs index fc5650e..7c64b67 100644 --- a/src/JT808.Protocol/MessageBody/JT808_0x0608.cs +++ b/src/JT808.Protocol/MessageBody/JT808_0x0608.cs @@ -17,6 +17,10 @@ namespace JT808.Protocol.MessageBody /// public ushort MsgId => 0x0608; /// + /// + /// + public bool SkipSerialization => false; + /// /// 查询区域或线路数据应答 /// public string Description => "查询区域或线路数据应答"; diff --git a/src/JT808.Protocol/MessageBody/JT808_0x0700.cs b/src/JT808.Protocol/MessageBody/JT808_0x0700.cs index 88f7a79..3f4eb03 100644 --- a/src/JT808.Protocol/MessageBody/JT808_0x0700.cs +++ b/src/JT808.Protocol/MessageBody/JT808_0x0700.cs @@ -19,6 +19,10 @@ namespace JT808.Protocol.MessageBody /// public ushort MsgId => 0x0700; /// + /// + /// + public bool SkipSerialization => false; + /// /// 行驶记录仪数据上传 /// public string Description => "行驶记录仪数据上传"; diff --git a/src/JT808.Protocol/MessageBody/JT808_0x0701.cs b/src/JT808.Protocol/MessageBody/JT808_0x0701.cs index 482e05b..4177fe9 100644 --- a/src/JT808.Protocol/MessageBody/JT808_0x0701.cs +++ b/src/JT808.Protocol/MessageBody/JT808_0x0701.cs @@ -18,6 +18,10 @@ namespace JT808.Protocol.MessageBody /// public ushort MsgId => 0x0701; /// + /// + /// + public bool SkipSerialization => false; + /// /// 电子运单上报 /// public string Description => "电子运单上报"; diff --git a/src/JT808.Protocol/MessageBody/JT808_0x0702.cs b/src/JT808.Protocol/MessageBody/JT808_0x0702.cs index 7313f8d..0187fe3 100644 --- a/src/JT808.Protocol/MessageBody/JT808_0x0702.cs +++ b/src/JT808.Protocol/MessageBody/JT808_0x0702.cs @@ -18,6 +18,10 @@ namespace JT808.Protocol.MessageBody /// public ushort MsgId => 0x0702; /// + /// + /// + public bool SkipSerialization => false; + /// /// Description /// public string Description => "驾驶员身份信息采集上报"; diff --git a/src/JT808.Protocol/MessageBody/JT808_0x0704.cs b/src/JT808.Protocol/MessageBody/JT808_0x0704.cs index f313545..5a643fb 100644 --- a/src/JT808.Protocol/MessageBody/JT808_0x0704.cs +++ b/src/JT808.Protocol/MessageBody/JT808_0x0704.cs @@ -18,6 +18,10 @@ namespace JT808.Protocol.MessageBody /// public ushort MsgId => 0x0704; /// + /// + /// + public bool SkipSerialization => false; + /// /// 定位数据批量上传 /// public string Description => "定位数据批量上传"; diff --git a/src/JT808.Protocol/MessageBody/JT808_0x0705.cs b/src/JT808.Protocol/MessageBody/JT808_0x0705.cs index bc0d345..429cb60 100644 --- a/src/JT808.Protocol/MessageBody/JT808_0x0705.cs +++ b/src/JT808.Protocol/MessageBody/JT808_0x0705.cs @@ -21,6 +21,10 @@ namespace JT808.Protocol.MessageBody /// public ushort MsgId => 0x0705; /// + /// + /// + public bool SkipSerialization => false; + /// /// CAN总线数据上传 /// public string Description => "CAN总线数据上传"; diff --git a/src/JT808.Protocol/MessageBody/JT808_0x0800.cs b/src/JT808.Protocol/MessageBody/JT808_0x0800.cs index 1df3355..6facbc5 100644 --- a/src/JT808.Protocol/MessageBody/JT808_0x0800.cs +++ b/src/JT808.Protocol/MessageBody/JT808_0x0800.cs @@ -18,6 +18,10 @@ namespace JT808.Protocol.MessageBody /// public ushort MsgId => 0x0800; /// + /// + /// + public bool SkipSerialization => false; + /// /// 多媒体事件信息上传 /// public string Description => "多媒体事件信息上传"; diff --git a/src/JT808.Protocol/MessageBody/JT808_0x0801.cs b/src/JT808.Protocol/MessageBody/JT808_0x0801.cs index e3f2fec..1791f15 100644 --- a/src/JT808.Protocol/MessageBody/JT808_0x0801.cs +++ b/src/JT808.Protocol/MessageBody/JT808_0x0801.cs @@ -18,6 +18,10 @@ namespace JT808.Protocol.MessageBody /// public ushort MsgId => 0x0801; /// + /// + /// + public bool SkipSerialization => false; + /// /// 多媒体数据上传 /// public string Description => "多媒体数据上传"; diff --git a/src/JT808.Protocol/MessageBody/JT808_0x0802.cs b/src/JT808.Protocol/MessageBody/JT808_0x0802.cs index 4b3b8a7..7989365 100644 --- a/src/JT808.Protocol/MessageBody/JT808_0x0802.cs +++ b/src/JT808.Protocol/MessageBody/JT808_0x0802.cs @@ -20,6 +20,10 @@ namespace JT808.Protocol.MessageBody /// public ushort MsgId => 0x0802; /// + /// + /// + public bool SkipSerialization => false; + /// /// 存储多媒体数据检索应答 /// public string Description => "存储多媒体数据检索应答"; diff --git a/src/JT808.Protocol/MessageBody/JT808_0x0805.cs b/src/JT808.Protocol/MessageBody/JT808_0x0805.cs index ed4005c..e8a36d3 100644 --- a/src/JT808.Protocol/MessageBody/JT808_0x0805.cs +++ b/src/JT808.Protocol/MessageBody/JT808_0x0805.cs @@ -18,6 +18,10 @@ namespace JT808.Protocol.MessageBody /// public ushort MsgId => 0x0805; /// + /// + /// + public bool SkipSerialization => false; + /// /// 摄像头立即拍摄命令应答 /// public string Description => "摄像头立即拍摄命令应答"; diff --git a/src/JT808.Protocol/MessageBody/JT808_0x0900.cs b/src/JT808.Protocol/MessageBody/JT808_0x0900.cs index 22d503f..5a7eef5 100644 --- a/src/JT808.Protocol/MessageBody/JT808_0x0900.cs +++ b/src/JT808.Protocol/MessageBody/JT808_0x0900.cs @@ -17,6 +17,10 @@ namespace JT808.Protocol.MessageBody /// public ushort MsgId => 0x0900; /// + /// + /// + public bool SkipSerialization => false; + /// /// 数据上行透传 /// public string Description => "数据上行透传"; diff --git a/src/JT808.Protocol/MessageBody/JT808_0x0901.cs b/src/JT808.Protocol/MessageBody/JT808_0x0901.cs index ebd292c..2f5b771 100644 --- a/src/JT808.Protocol/MessageBody/JT808_0x0901.cs +++ b/src/JT808.Protocol/MessageBody/JT808_0x0901.cs @@ -18,6 +18,10 @@ namespace JT808.Protocol.MessageBody /// public ushort MsgId => 0x0901; /// + /// + /// + public bool SkipSerialization => false; + /// /// 数据压缩上报 /// public string Description => "数据压缩上报"; diff --git a/src/JT808.Protocol/MessageBody/JT808_0x0A00.cs b/src/JT808.Protocol/MessageBody/JT808_0x0A00.cs index fa358aa..0636078 100644 --- a/src/JT808.Protocol/MessageBody/JT808_0x0A00.cs +++ b/src/JT808.Protocol/MessageBody/JT808_0x0A00.cs @@ -18,6 +18,10 @@ namespace JT808.Protocol.MessageBody /// public ushort MsgId => 0x0A00; /// + /// + /// + public bool SkipSerialization => false; + /// /// 终端RSA公钥 /// public string Description => "终端RSA公钥"; diff --git a/src/JT808.Protocol/MessageBody/JT808_0x8001.cs b/src/JT808.Protocol/MessageBody/JT808_0x8001.cs index 7b07015..8c1e63b 100644 --- a/src/JT808.Protocol/MessageBody/JT808_0x8001.cs +++ b/src/JT808.Protocol/MessageBody/JT808_0x8001.cs @@ -17,6 +17,10 @@ namespace JT808.Protocol.MessageBody /// public ushort MsgId => 0x8001; /// + /// + /// + public bool SkipSerialization => false; + /// /// 平台通用应答 /// public string Description => "平台通用应答"; diff --git a/src/JT808.Protocol/MessageBody/JT808_0x8003.cs b/src/JT808.Protocol/MessageBody/JT808_0x8003.cs index 3d72884..9f3a96f 100644 --- a/src/JT808.Protocol/MessageBody/JT808_0x8003.cs +++ b/src/JT808.Protocol/MessageBody/JT808_0x8003.cs @@ -18,6 +18,10 @@ namespace JT808.Protocol.MessageBody /// public ushort MsgId => 0x8003; /// + /// + /// + public bool SkipSerialization => false; + /// /// 补传分包请求 /// public string Description => "补传分包请求"; diff --git a/src/JT808.Protocol/MessageBody/JT808_0x8004.cs b/src/JT808.Protocol/MessageBody/JT808_0x8004.cs index fcba91d..d8a416a 100644 --- a/src/JT808.Protocol/MessageBody/JT808_0x8004.cs +++ b/src/JT808.Protocol/MessageBody/JT808_0x8004.cs @@ -17,6 +17,10 @@ namespace JT808.Protocol.MessageBody /// public ushort MsgId => 0x8004; /// + /// + /// + public bool SkipSerialization => false; + /// /// 查询服务器时间应答 /// public string Description => "查询服务器时间应答"; diff --git a/src/JT808.Protocol/MessageBody/JT808_0x8100.cs b/src/JT808.Protocol/MessageBody/JT808_0x8100.cs index 1d00a1f..a4817c2 100644 --- a/src/JT808.Protocol/MessageBody/JT808_0x8100.cs +++ b/src/JT808.Protocol/MessageBody/JT808_0x8100.cs @@ -17,6 +17,10 @@ namespace JT808.Protocol.MessageBody /// public ushort MsgId => 0x8100; /// + /// + /// + public bool SkipSerialization => false; + /// /// 终端注册应答 /// public string Description => "终端注册应答"; diff --git a/src/JT808.Protocol/MessageBody/JT808_0x8103.cs b/src/JT808.Protocol/MessageBody/JT808_0x8103.cs index 870e0d5..d2200aa 100644 --- a/src/JT808.Protocol/MessageBody/JT808_0x8103.cs +++ b/src/JT808.Protocol/MessageBody/JT808_0x8103.cs @@ -20,6 +20,10 @@ namespace JT808.Protocol.MessageBody /// public ushort MsgId => 0x8103; /// + /// + /// + public bool SkipSerialization => false; + /// /// 设置终端参数 /// public string Description => "设置终端参数"; diff --git a/src/JT808.Protocol/MessageBody/JT808_0x8105.cs b/src/JT808.Protocol/MessageBody/JT808_0x8105.cs index 09c7b0d..3ed79a7 100644 --- a/src/JT808.Protocol/MessageBody/JT808_0x8105.cs +++ b/src/JT808.Protocol/MessageBody/JT808_0x8105.cs @@ -26,6 +26,10 @@ namespace JT808.Protocol.MessageBody /// public ushort MsgId => 0x8105; /// + /// + /// + public bool SkipSerialization => false; + /// /// 终端控制 /// public string Description => "终端控制"; diff --git a/src/JT808.Protocol/MessageBody/JT808_0x8106.cs b/src/JT808.Protocol/MessageBody/JT808_0x8106.cs index d3d448c..9144bfd 100644 --- a/src/JT808.Protocol/MessageBody/JT808_0x8106.cs +++ b/src/JT808.Protocol/MessageBody/JT808_0x8106.cs @@ -18,6 +18,10 @@ namespace JT808.Protocol.MessageBody /// public ushort MsgId => 0x8106; /// + /// + /// + public bool SkipSerialization => false; + /// /// 查询指定终端参数 /// public string Description => "查询指定终端参数"; diff --git a/src/JT808.Protocol/MessageBody/JT808_0x8108.cs b/src/JT808.Protocol/MessageBody/JT808_0x8108.cs index 6a1538d..d6e929a 100644 --- a/src/JT808.Protocol/MessageBody/JT808_0x8108.cs +++ b/src/JT808.Protocol/MessageBody/JT808_0x8108.cs @@ -17,6 +17,10 @@ namespace JT808.Protocol.MessageBody /// public ushort MsgId => 0x8108; /// + /// + /// + public bool SkipSerialization => false; + /// /// 下发终端升级包 /// public string Description => "下发终端升级包"; diff --git a/src/JT808.Protocol/MessageBody/JT808_0x8202.cs b/src/JT808.Protocol/MessageBody/JT808_0x8202.cs index 0c9ad9a..272c47a 100644 --- a/src/JT808.Protocol/MessageBody/JT808_0x8202.cs +++ b/src/JT808.Protocol/MessageBody/JT808_0x8202.cs @@ -16,6 +16,10 @@ namespace JT808.Protocol.MessageBody /// public ushort MsgId => 0x8202; /// + /// + /// + public bool SkipSerialization => false; + /// /// 临时位置跟踪控制 /// public string Description => "临时位置跟踪控制"; diff --git a/src/JT808.Protocol/MessageBody/JT808_0x8203.cs b/src/JT808.Protocol/MessageBody/JT808_0x8203.cs index ef59596..455678b 100644 --- a/src/JT808.Protocol/MessageBody/JT808_0x8203.cs +++ b/src/JT808.Protocol/MessageBody/JT808_0x8203.cs @@ -19,6 +19,10 @@ namespace JT808.Protocol.MessageBody /// public ushort MsgId => 0x8203; /// + /// + /// + public bool SkipSerialization => false; + /// /// 人工确认报警消息 /// public string Description => "人工确认报警消息"; diff --git a/src/JT808.Protocol/MessageBody/JT808_0x8300.cs b/src/JT808.Protocol/MessageBody/JT808_0x8300.cs index e7b1802..9f5ff25 100644 --- a/src/JT808.Protocol/MessageBody/JT808_0x8300.cs +++ b/src/JT808.Protocol/MessageBody/JT808_0x8300.cs @@ -20,6 +20,10 @@ namespace JT808.Protocol.MessageBody /// public ushort MsgId => 0x8300; /// + /// + /// + public bool SkipSerialization => false; + /// /// 文本信息下发 /// public string Description => "文本信息下发"; diff --git a/src/JT808.Protocol/MessageBody/JT808_0x8301.cs b/src/JT808.Protocol/MessageBody/JT808_0x8301.cs index 04f29d6..b448e73 100644 --- a/src/JT808.Protocol/MessageBody/JT808_0x8301.cs +++ b/src/JT808.Protocol/MessageBody/JT808_0x8301.cs @@ -21,6 +21,10 @@ namespace JT808.Protocol.MessageBody /// public ushort MsgId => 0x8301; /// + /// + /// + public bool SkipSerialization => false; + /// /// 事件设置 /// public string Description => "事件设置"; diff --git a/src/JT808.Protocol/MessageBody/JT808_0x8302.cs b/src/JT808.Protocol/MessageBody/JT808_0x8302.cs index 044aafb..925b09c 100644 --- a/src/JT808.Protocol/MessageBody/JT808_0x8302.cs +++ b/src/JT808.Protocol/MessageBody/JT808_0x8302.cs @@ -20,6 +20,10 @@ namespace JT808.Protocol.MessageBody /// public ushort MsgId =>0x8302; /// + /// + /// + public bool SkipSerialization => false; + /// /// 提问下发 /// public string Description => "提问下发"; diff --git a/src/JT808.Protocol/MessageBody/JT808_0x8303.cs b/src/JT808.Protocol/MessageBody/JT808_0x8303.cs index 0e863b4..0ccee54 100644 --- a/src/JT808.Protocol/MessageBody/JT808_0x8303.cs +++ b/src/JT808.Protocol/MessageBody/JT808_0x8303.cs @@ -20,6 +20,10 @@ namespace JT808.Protocol.MessageBody /// public ushort MsgId =>0x8303; /// + /// + /// + public bool SkipSerialization => false; + /// /// 信息点播菜单设置 /// public string Description => "信息点播菜单设置"; diff --git a/src/JT808.Protocol/MessageBody/JT808_0x8304.cs b/src/JT808.Protocol/MessageBody/JT808_0x8304.cs index f8346aa..0ff842e 100644 --- a/src/JT808.Protocol/MessageBody/JT808_0x8304.cs +++ b/src/JT808.Protocol/MessageBody/JT808_0x8304.cs @@ -19,6 +19,10 @@ namespace JT808.Protocol.MessageBody /// public ushort MsgId => 0x8304; /// + /// + /// + public bool SkipSerialization => false; + /// /// 信息服务 /// public string Description => "信息服务"; diff --git a/src/JT808.Protocol/MessageBody/JT808_0x8400.cs b/src/JT808.Protocol/MessageBody/JT808_0x8400.cs index f2cfb6b..9449b40 100644 --- a/src/JT808.Protocol/MessageBody/JT808_0x8400.cs +++ b/src/JT808.Protocol/MessageBody/JT808_0x8400.cs @@ -17,6 +17,10 @@ namespace JT808.Protocol.MessageBody /// public ushort MsgId =>0x8400; /// + /// + /// + public bool SkipSerialization => false; + /// /// 电话回拨 /// public string Description => "电话回拨"; diff --git a/src/JT808.Protocol/MessageBody/JT808_0x8401.cs b/src/JT808.Protocol/MessageBody/JT808_0x8401.cs index 8f5f8b3..0a3b196 100644 --- a/src/JT808.Protocol/MessageBody/JT808_0x8401.cs +++ b/src/JT808.Protocol/MessageBody/JT808_0x8401.cs @@ -19,6 +19,10 @@ namespace JT808.Protocol.MessageBody /// public ushort MsgId =>0x8401; /// + /// + /// + public bool SkipSerialization => false; + /// /// 设置电话本 /// public string Description => "设置电话本"; diff --git a/src/JT808.Protocol/MessageBody/JT808_0x8500.cs b/src/JT808.Protocol/MessageBody/JT808_0x8500.cs index feae513..9f6082f 100644 --- a/src/JT808.Protocol/MessageBody/JT808_0x8500.cs +++ b/src/JT808.Protocol/MessageBody/JT808_0x8500.cs @@ -20,6 +20,10 @@ namespace JT808.Protocol.MessageBody /// public ushort MsgId => 0x8500; /// + /// + /// + public bool SkipSerialization => false; + /// /// 车辆控制 /// public string Description => "车辆控制"; diff --git a/src/JT808.Protocol/MessageBody/JT808_0x8600.cs b/src/JT808.Protocol/MessageBody/JT808_0x8600.cs index 6bb7ab3..c4c2719 100644 --- a/src/JT808.Protocol/MessageBody/JT808_0x8600.cs +++ b/src/JT808.Protocol/MessageBody/JT808_0x8600.cs @@ -23,6 +23,10 @@ namespace JT808.Protocol.MessageBody /// public ushort MsgId => 0x8600; /// + /// + /// + public bool SkipSerialization => false; + /// /// 设置圆形区域 /// public string Description => "设置圆形区域"; diff --git a/src/JT808.Protocol/MessageBody/JT808_0x8601.cs b/src/JT808.Protocol/MessageBody/JT808_0x8601.cs index 0325d42..af37553 100644 --- a/src/JT808.Protocol/MessageBody/JT808_0x8601.cs +++ b/src/JT808.Protocol/MessageBody/JT808_0x8601.cs @@ -18,6 +18,10 @@ namespace JT808.Protocol.MessageBody /// public ushort MsgId => 0x8601; /// + /// + /// + public bool SkipSerialization => false; + /// /// 删除圆形区域 /// public string Description => "删除圆形区域"; diff --git a/src/JT808.Protocol/MessageBody/JT808_0x8602.cs b/src/JT808.Protocol/MessageBody/JT808_0x8602.cs index 32a5e36..df13b5e 100644 --- a/src/JT808.Protocol/MessageBody/JT808_0x8602.cs +++ b/src/JT808.Protocol/MessageBody/JT808_0x8602.cs @@ -22,6 +22,10 @@ namespace JT808.Protocol.MessageBody /// public ushort MsgId =>0x8602; /// + /// + /// + public bool SkipSerialization => false; + /// /// 设置矩形区域 /// public string Description => "设置矩形区域"; diff --git a/src/JT808.Protocol/MessageBody/JT808_0x8603.cs b/src/JT808.Protocol/MessageBody/JT808_0x8603.cs index 76298a0..e5d94a2 100644 --- a/src/JT808.Protocol/MessageBody/JT808_0x8603.cs +++ b/src/JT808.Protocol/MessageBody/JT808_0x8603.cs @@ -20,6 +20,10 @@ namespace JT808.Protocol.MessageBody /// /// /// + public bool SkipSerialization => false; + /// + /// + /// public string Description => "删除矩形区域"; /// /// 区域数 diff --git a/src/JT808.Protocol/MessageBody/JT808_0x8604.cs b/src/JT808.Protocol/MessageBody/JT808_0x8604.cs index da248d7..c4b8fa3 100644 --- a/src/JT808.Protocol/MessageBody/JT808_0x8604.cs +++ b/src/JT808.Protocol/MessageBody/JT808_0x8604.cs @@ -22,6 +22,10 @@ namespace JT808.Protocol.MessageBody /// public ushort MsgId => 0x8604; /// + /// + /// + public bool SkipSerialization => false; + /// /// 设置多边形区域 /// public string Description => "设置多边形区域"; diff --git a/src/JT808.Protocol/MessageBody/JT808_0x8605.cs b/src/JT808.Protocol/MessageBody/JT808_0x8605.cs index f4f53c7..f0ee2ee 100644 --- a/src/JT808.Protocol/MessageBody/JT808_0x8605.cs +++ b/src/JT808.Protocol/MessageBody/JT808_0x8605.cs @@ -18,6 +18,10 @@ namespace JT808.Protocol.MessageBody /// public ushort MsgId => 0x8605; /// + /// + /// + public bool SkipSerialization => false; + /// /// 删除多边形区域 /// public string Description => "删除多边形区域"; diff --git a/src/JT808.Protocol/MessageBody/JT808_0x8606.cs b/src/JT808.Protocol/MessageBody/JT808_0x8606.cs index ef1ad19..315fe49 100644 --- a/src/JT808.Protocol/MessageBody/JT808_0x8606.cs +++ b/src/JT808.Protocol/MessageBody/JT808_0x8606.cs @@ -22,6 +22,10 @@ namespace JT808.Protocol.MessageBody /// public ushort MsgId => 0x8606; /// + /// + /// + public bool SkipSerialization => false; + /// /// 设置路线 /// public string Description => "设置路线"; diff --git a/src/JT808.Protocol/MessageBody/JT808_0x8607.cs b/src/JT808.Protocol/MessageBody/JT808_0x8607.cs index b400ae7..4c7871f 100644 --- a/src/JT808.Protocol/MessageBody/JT808_0x8607.cs +++ b/src/JT808.Protocol/MessageBody/JT808_0x8607.cs @@ -18,6 +18,10 @@ namespace JT808.Protocol.MessageBody /// public ushort MsgId => 0x8607; /// + /// + /// + public bool SkipSerialization => false; + /// /// 删除路线 /// public string Description => "删除路线"; diff --git a/src/JT808.Protocol/MessageBody/JT808_0x8608.cs b/src/JT808.Protocol/MessageBody/JT808_0x8608.cs index 98c5980..27fedc0 100644 --- a/src/JT808.Protocol/MessageBody/JT808_0x8608.cs +++ b/src/JT808.Protocol/MessageBody/JT808_0x8608.cs @@ -19,6 +19,10 @@ namespace JT808.Protocol.MessageBody /// public ushort MsgId => 0x8608; /// + /// + /// + public bool SkipSerialization => false; + /// /// 查询区域或线路数据 /// public string Description => "查询区域或线路数据"; diff --git a/src/JT808.Protocol/MessageBody/JT808_0x8700.cs b/src/JT808.Protocol/MessageBody/JT808_0x8700.cs index 7e6a988..7506eef 100644 --- a/src/JT808.Protocol/MessageBody/JT808_0x8700.cs +++ b/src/JT808.Protocol/MessageBody/JT808_0x8700.cs @@ -20,6 +20,10 @@ namespace JT808.Protocol.MessageBody /// public ushort MsgId => 0x8700; /// + /// + /// + public bool SkipSerialization => false; + /// /// 行驶记录数据采集命令 /// public string Description => "行驶记录数据采集命令"; diff --git a/src/JT808.Protocol/MessageBody/JT808_0x8701.cs b/src/JT808.Protocol/MessageBody/JT808_0x8701.cs index a21fee6..95d8d78 100644 --- a/src/JT808.Protocol/MessageBody/JT808_0x8701.cs +++ b/src/JT808.Protocol/MessageBody/JT808_0x8701.cs @@ -20,6 +20,10 @@ namespace JT808.Protocol.MessageBody /// public ushort MsgId => 0x8701; /// + /// + /// + public bool SkipSerialization => false; + /// /// 行驶记录参数下传命令 /// public string Description => "行驶记录参数下传命令"; diff --git a/src/JT808.Protocol/MessageBody/JT808_0x8800.cs b/src/JT808.Protocol/MessageBody/JT808_0x8800.cs index 45e47e8..a7873f8 100644 --- a/src/JT808.Protocol/MessageBody/JT808_0x8800.cs +++ b/src/JT808.Protocol/MessageBody/JT808_0x8800.cs @@ -18,6 +18,10 @@ namespace JT808.Protocol.MessageBody /// public ushort MsgId => 0x8800; /// + /// + /// + public bool SkipSerialization => false; + /// /// 多媒体数据上传应答 /// public string Description => "多媒体数据上传应答"; diff --git a/src/JT808.Protocol/MessageBody/JT808_0x8801.cs b/src/JT808.Protocol/MessageBody/JT808_0x8801.cs index b842a7c..9496919 100644 --- a/src/JT808.Protocol/MessageBody/JT808_0x8801.cs +++ b/src/JT808.Protocol/MessageBody/JT808_0x8801.cs @@ -18,6 +18,10 @@ namespace JT808.Protocol.MessageBody /// public ushort MsgId => 0x8801; /// + /// + /// + public bool SkipSerialization => false; + /// /// 摄像头立即拍摄命令 /// public string Description => "摄像头立即拍摄命令"; diff --git a/src/JT808.Protocol/MessageBody/JT808_0x8802.cs b/src/JT808.Protocol/MessageBody/JT808_0x8802.cs index 6c59c4a..6ed03a8 100644 --- a/src/JT808.Protocol/MessageBody/JT808_0x8802.cs +++ b/src/JT808.Protocol/MessageBody/JT808_0x8802.cs @@ -19,6 +19,10 @@ namespace JT808.Protocol.MessageBody /// public ushort MsgId => 0x8802; /// + /// + /// + public bool SkipSerialization => false; + /// /// 存储多媒体数据检索 /// public string Description => "存储多媒体数据检索"; diff --git a/src/JT808.Protocol/MessageBody/JT808_0x8803.cs b/src/JT808.Protocol/MessageBody/JT808_0x8803.cs index 187cee7..262b576 100644 --- a/src/JT808.Protocol/MessageBody/JT808_0x8803.cs +++ b/src/JT808.Protocol/MessageBody/JT808_0x8803.cs @@ -19,6 +19,10 @@ namespace JT808.Protocol.MessageBody /// public ushort MsgId => 0x8803; /// + /// + /// + public bool SkipSerialization => false; + /// /// 存储多媒体数据上传命令 /// public string Description => "存储多媒体数据上传命令"; diff --git a/src/JT808.Protocol/MessageBody/JT808_0x8804.cs b/src/JT808.Protocol/MessageBody/JT808_0x8804.cs index f97675f..0e760d1 100644 --- a/src/JT808.Protocol/MessageBody/JT808_0x8804.cs +++ b/src/JT808.Protocol/MessageBody/JT808_0x8804.cs @@ -17,6 +17,10 @@ namespace JT808.Protocol.MessageBody /// public ushort MsgId => 0x8804; /// + /// + /// + public bool SkipSerialization => false; + /// /// 录音开始命令 /// public string Description => "录音开始命令"; diff --git a/src/JT808.Protocol/MessageBody/JT808_0x8805.cs b/src/JT808.Protocol/MessageBody/JT808_0x8805.cs index 81a1108..0410803 100644 --- a/src/JT808.Protocol/MessageBody/JT808_0x8805.cs +++ b/src/JT808.Protocol/MessageBody/JT808_0x8805.cs @@ -16,6 +16,10 @@ namespace JT808.Protocol.MessageBody /// 0x8805 /// public ushort MsgId => 0x8805; + /// + /// + /// + public bool SkipSerialization => false; /// /// 单条存储多媒体数据检索上传命令 diff --git a/src/JT808.Protocol/MessageBody/JT808_0x8900.cs b/src/JT808.Protocol/MessageBody/JT808_0x8900.cs index 1ae7c3b..b371a69 100644 --- a/src/JT808.Protocol/MessageBody/JT808_0x8900.cs +++ b/src/JT808.Protocol/MessageBody/JT808_0x8900.cs @@ -16,6 +16,10 @@ namespace JT808.Protocol.MessageBody /// public ushort MsgId => 0x8900; /// + /// + /// + public bool SkipSerialization => false; + /// /// 数据下行透传 /// public string Description => "数据下行透传"; diff --git a/src/JT808.Protocol/MessageBody/JT808_0x8A00.cs b/src/JT808.Protocol/MessageBody/JT808_0x8A00.cs index 460f986..e1d32a1 100644 --- a/src/JT808.Protocol/MessageBody/JT808_0x8A00.cs +++ b/src/JT808.Protocol/MessageBody/JT808_0x8A00.cs @@ -18,6 +18,10 @@ namespace JT808.Protocol.MessageBody /// public ushort MsgId => 0x8A00; /// + /// + /// + public bool SkipSerialization => false; + /// /// 平台RSA公钥 /// public string Description => "平台RSA公钥"; diff --git a/src/JT808.Protocol/MessagePack/JT808MessagePackReader.cs b/src/JT808.Protocol/MessagePack/JT808MessagePackReader.cs index 4e626f6..78cc4bb 100644 --- a/src/JT808.Protocol/MessagePack/JT808MessagePackReader.cs +++ b/src/JT808.Protocol/MessagePack/JT808MessagePackReader.cs @@ -9,7 +9,7 @@ using System.Collections.Generic; using System.Linq; using System.Runtime.CompilerServices; using System.Text; - +using static JT808.Protocol.Extensions.JT808BinaryExtensions; namespace JT808.Protocol.MessagePack { @@ -364,7 +364,7 @@ namespace JT808.Protocol.MessagePack public string ReadHex(int len) { var readOnlySpan = GetReadOnlySpan(len); - string hex = Convert.ToHexString(readOnlySpan.Slice(0, len)); + string hex = HexUtil.DoHexDump(readOnlySpan, 0, len); return hex; } ///