diff --git a/src/JT809.Protocol/Enums/JT809SubBusinessType.cs b/src/JT809.Protocol/Enums/JT809SubBusinessType.cs index bf09830..6e38fc2 100644 --- a/src/JT809.Protocol/Enums/JT809SubBusinessType.cs +++ b/src/JT809.Protocol/Enums/JT809SubBusinessType.cs @@ -214,7 +214,7 @@ namespace JT809.Protocol.Enums [Description("车辆行驶线路请求应答")] [JT809BodiesType(typeof(JT809_0x9200_0x920D))] [JT809SubBusinessTypeDescription("DOWN_BASE_MSG_DRVLINE_ACK", "车辆行驶线路请求应答", JT809BusinessType.从链路车辆动态信息交换业务)] - 车辆行驶线路请求应答 = 0x920B, + 车辆行驶线路请求应答 = 0x920D, #endregion #region 主链路平台信息交互消息 UP_PLATFORM_MSG diff --git a/src/JT809.Protocol/Enums/JT809_0x920A_UploadFlag.cs b/src/JT809.Protocol/Enums/JT809_0x920A_UploadFlag.cs new file mode 100644 index 0000000..174f50e --- /dev/null +++ b/src/JT809.Protocol/Enums/JT809_0x920A_UploadFlag.cs @@ -0,0 +1,12 @@ +using System; +using System.Collections.Generic; +using System.Text; + +namespace JT809.Protocol.Enums +{ + public enum JT809_0x920A_UploadFlag:byte + { + 最近收到的消息=0x00, + 从终端获取=0x01 + } +} diff --git a/src/JT809.Protocol/JT809.Protocol.csproj b/src/JT809.Protocol/JT809.Protocol.csproj index b9c1f55..48eb60f 100644 --- a/src/JT809.Protocol/JT809.Protocol.csproj +++ b/src/JT809.Protocol/JT809.Protocol.csproj @@ -78,6 +78,7 @@ + diff --git a/src/JT809.Protocol/SubMessageBody/JT809_0x1400_0x1402.cs b/src/JT809.Protocol/SubMessageBody/JT809_0x1400_0x1402.cs index 58195fe..362af58 100644 --- a/src/JT809.Protocol/SubMessageBody/JT809_0x1400_0x1402.cs +++ b/src/JT809.Protocol/SubMessageBody/JT809_0x1400_0x1402.cs @@ -82,7 +82,7 @@ namespace JT809.Protocol.SubMessageBody } value.WarnType = (JT809WarnType)reader.ReadUInt16(); value.WarnTime = reader.ReadUTCDateTime(); - if (config.Version != JT809Version.JTT2013) + if (config.Version == JT809Version.JTT2013) { value.InfoID = reader.ReadUInt32(); } diff --git a/src/JT809.Protocol/SubMessageBody/JT809_0x1400_0x1413.cs b/src/JT809.Protocol/SubMessageBody/JT809_0x1400_0x1413.cs index 4c59778..8c4351a 100644 --- a/src/JT809.Protocol/SubMessageBody/JT809_0x1400_0x1413.cs +++ b/src/JT809.Protocol/SubMessageBody/JT809_0x1400_0x1413.cs @@ -15,7 +15,7 @@ namespace JT809.Protocol.SubMessageBody /// public class JT809_0x1400_0x1413 : JT809SubBodies, IJT809MessagePackFormatter, IJT809_2019_Version { - public override ushort SubMsgId => JT809SubBusinessType.主动上报报警处理结果消息.ToUInt16Value(); + public override ushort SubMsgId => JT809SubBusinessType.上报报警督办请求消息.ToUInt16Value(); public override string Description => "上报报警督办请求消息"; /// diff --git a/src/JT809.Protocol/SubMessageBody/JT809_0x9200_0x920A.cs b/src/JT809.Protocol/SubMessageBody/JT809_0x9200_0x920A.cs index 6a7d3bf..f8ce63b 100644 --- a/src/JT809.Protocol/SubMessageBody/JT809_0x9200_0x920A.cs +++ b/src/JT809.Protocol/SubMessageBody/JT809_0x9200_0x920A.cs @@ -1,5 +1,8 @@ using JT809.Protocol.Enums; using JT809.Protocol.Extensions; +using JT809.Protocol.Formatters; +using JT809.Protocol.Interfaces; +using JT809.Protocol.MessagePack; using System; using System.Collections.Generic; using System.Text; @@ -10,12 +13,34 @@ namespace JT809.Protocol.SubMessageBody /// 上报车辆驾驶员身份识别信息请求 /// 子业务类型标识:DOWN_EXG_MSG_REPORT_DRIVER_INFO /// - public class JT809_0x9200_0x920A:JT809SubBodies - { + public class JT809_0x9200_0x920A:JT809SubBodies, IJT809MessagePackFormatter, IJT809_2019_Version + { public override ushort SubMsgId => JT809SubBusinessType.上报车辆驾驶员身份识别信息请求.ToUInt16Value(); public override string Description => "上报车辆驾驶员身份识别信息请求"; - public override bool SkipSerialization => true; + public override bool SkipSerialization => false; + /// + /// 上传标志 + /// + public JT809_0x920A_UploadFlag Flag { get; set; } + + public void Serialize(ref JT809MessagePackWriter writer, JT809_0x9200_0x920A value, IJT809Config config) + { + if (config.Version == JT809Version.JTT2019) + { + writer.WriteByte((byte)value.Flag); + } + } + + public JT809_0x9200_0x920A Deserialize(ref JT809MessagePackReader reader, IJT809Config config) + { + var value = new JT809_0x9200_0x920A(); + if (config.Version == JT809Version.JTT2019) + { + value.Flag = (JT809_0x920A_UploadFlag)reader.ReadByte(); + } + return value; + } } }