public void Analyze(ref JT809MessagePackReader reader, Utf8JsonWriter writer, IJT809Config config) { JT809_0x1500_0x1502 value = new JT809_0x1500_0x1502(); value.PhotoRspFlag = (JT809_0x1502_PhotoRspFlag)reader.ReadByte(); writer.WriteString($"[{value.PhotoRspFlag.ToByteValue()}]拍照应答标识", value.PhotoRspFlag.ToString()); if (config.Version == JT809Version.JTT2011) { config.GetMessagePackFormatter <JT809VehiclePositionProperties>().Analyze(ref reader, writer, config); } else if (config.Version == JT809Version.JTT2019) { config.GetMessagePackFormatter <JT809VehiclePositionProperties_2019>().Analyze(ref reader, writer, config); } value.LensID = reader.ReadByte(); writer.WriteNumber($"[{value.LensID}]镜头ID", value.LensID); value.PhotoLen = reader.ReadUInt32(); writer.WriteNumber($"[{value.PhotoLen}]图片长度", value.PhotoLen); value.SizeType = (JT809_0x9502_SizeType)reader.ReadByte(); writer.WriteString($"[{value.SizeType.ToByteValue()}]图片大小", value.SizeType.ToString()); value.Type = (JT809_0x9502_ImageType)reader.ReadByte(); writer.WriteString($"[{value.Type.ToByteValue()}]图像格式", value.Type.ToString()); if (value.PhotoLen > 0) { var virtualHex = reader.ReadVirtualArray((int)value.PhotoLen); value.Photo = reader.ReadArray((int)value.PhotoLen).ToArray(); writer.WriteString($"[{virtualHex.ToArray().ToHexString()}]图片内容", value.Photo); } }
public JT809_0x9400_0x9403 Deserialize(ref JT809MessagePackReader reader, IJT809Config config) { var value = new JT809_0x9400_0x9403(); if (config.Version == JT809Version.JTT2011) { value.WarnSrc = (JT809WarnSrc)reader.ReadByte(); } else { value.SourcePlatformId = reader.ReadBigNumber(11); } value.WarnType = (JT809WarnType)reader.ReadUInt16(); value.WarnTime = reader.ReadUTCDateTime(); if (config.Version == JT809Version.JTT2019) { value.StartTime = reader.ReadUTCDateTime(); value.EndTime = reader.ReadUTCDateTime(); #warning 此处车牌号文档长度有误,使用旧版长度21 value.VehicleNo = reader.ReadString(21); value.VehicleColor = (JT809VehicleColorType)reader.ReadByte(); value.DestinationPlatformId = reader.ReadBigNumber(11); value.DRVLineId = reader.ReadUInt32(); } value.WarnLength = reader.ReadUInt32(); value.WarnContent = reader.ReadString((int)value.WarnLength); return(value); }
public void Analyze(ref JT809MessagePackReader reader, Utf8JsonWriter writer, IJT809Config config) { JT809_0x9400_0x9401 value = new JT809_0x9400_0x9401(); value.WarnSrc = (JT809WarnSrc)reader.ReadByte(); writer.WriteString($"[{value.WarnSrc.ToByteValue()}]报警信息来源", value.WarnSrc.ToString()); value.WarnType = reader.ReadUInt16(); writer.WriteNumber($"[{value.WarnType.ReadNumber()}]报警类型", value.WarnType); var virtualHex = reader.ReadVirtualArray(8); value.WarnTime = reader.ReadUTCDateTime(); writer.WriteString($"[{virtualHex.ToArray().ToHexString()}]报警时间", value.WarnTime); virtualHex = reader.ReadVirtualArray(4); value.SupervisionID = reader.ReadHex(4); writer.WriteString($"[{virtualHex.ToArray().ToHexString()}]报警督办ID", value.SupervisionID); virtualHex = reader.ReadVirtualArray(8); value.SupervisionEndTime = reader.ReadUTCDateTime(); writer.WriteString($"[{virtualHex.ToArray().ToHexString()}]督办截止时间", value.SupervisionEndTime); value.SupervisionLevel = (JT809_9401_SupervisionLevel)reader.ReadByte(); writer.WriteString($"[{value.SupervisionLevel.ToByteValue()}]督办级别", value.SupervisionLevel.ToString()); virtualHex = reader.ReadVirtualArray(16); value.Supervisor = reader.ReadString(16); writer.WriteString($"[{virtualHex.ToArray().ToHexString()}]督办人", value.Supervisor); virtualHex = reader.ReadVirtualArray(20); value.SupervisorTel = reader.ReadString(20); writer.WriteString($"[{virtualHex.ToArray().ToHexString()}]督办联系电话", value.SupervisorTel); virtualHex = reader.ReadVirtualArray(32); value.SupervisorEmail = reader.ReadString(32); writer.WriteString($"[{virtualHex.ToArray().ToHexString()}]督办联系电子邮件", value.SupervisorEmail); }
public JT809_0x1400_0x1403 Deserialize(ref JT809MessagePackReader reader, IJT809Config config) { var value = new JT809_0x1400_0x1403(); if (config.Version == JT809Version.JTT2011) { value.InfoID = reader.ReadUInt32(); value.Result = (JT809_0x1403_Result)reader.ReadByte(); } else { value.SourcePlatformId = reader.ReadBigNumber(11); value.WarnType = (JT809WarnType)reader.ReadUInt16(); value.WarnTime = reader.ReadUTCDateTime(); value.StartTime = reader.ReadUTCDateTime(); value.EndTime = reader.ReadUTCDateTime(); value.VehicleNo = reader.ReadString(21); value.VehicleColor = (JT809VehicleColorType)reader.ReadByte(); value.DestinationPlatformId = reader.ReadBigNumber(11); value.DRVLineId = reader.ReadUInt32(); value.InfoLength = reader.ReadUInt32(); value.InfoContent = reader.ReadString((int)value.InfoLength); } return(value); }
public JT809_0x1500_0x1502 Deserialize(ref JT809MessagePackReader reader, IJT809Config config) { JT809_0x1500_0x1502 value = new JT809_0x1500_0x1502(); value.PhotoRspFlag = (JT809_0x1502_PhotoRspFlag)reader.ReadByte(); value.VehiclePosition.Encrypt = (JT809_VehiclePositionEncrypt)reader.ReadByte(); value.VehiclePosition.Day = reader.ReadByte(); value.VehiclePosition.Month = reader.ReadByte(); value.VehiclePosition.Year = reader.ReadUInt16(); value.VehiclePosition.Hour = reader.ReadByte(); value.VehiclePosition.Minute = reader.ReadByte(); value.VehiclePosition.Second = reader.ReadByte(); value.VehiclePosition.Lon = reader.ReadUInt32(); value.VehiclePosition.Lat = reader.ReadUInt32(); value.VehiclePosition.Vec1 = reader.ReadUInt16(); value.VehiclePosition.Vec2 = reader.ReadUInt16(); value.VehiclePosition.Vec3 = reader.ReadUInt32(); value.VehiclePosition.Direction = reader.ReadUInt16(); value.VehiclePosition.Altitude = reader.ReadUInt16(); value.VehiclePosition.State = reader.ReadUInt32(); value.VehiclePosition.Alarm = reader.ReadUInt32(); value.LensID = reader.ReadByte(); value.PhotoLen = reader.ReadUInt32(); value.SizeType = (JT809__0x9502_SizeType)reader.ReadByte(); value.Type = (JT809__0x9502_ImageType)reader.ReadByte(); if (value.PhotoLen > 0) { value.Photo = reader.ReadArray((int)value.PhotoLen).ToArray(); } return(value); }
public JT809_JT1078_0x9800_0x9802 Deserialize(ref JT809MessagePackReader reader, IJT809Config config) { JT809_JT1078_0x9800_0x9802 value = new JT809_JT1078_0x9800_0x9802(); value.ChannelId = reader.ReadByte(); value.AVitemType = reader.ReadByte(); return(value); }
public JT809_JT1078_0x9800_0x9802 Deserialize(ref JT809MessagePackReader reader, IJT809Config config) { JT809_JT1078_0x9800_0x9802 jT808_JT1078_0x9800_0x9802 = new JT809_JT1078_0x9800_0x9802(); jT808_JT1078_0x9800_0x9802.ChannelId = reader.ReadByte(); jT808_JT1078_0x9800_0x9802.AVitemType = reader.ReadByte(); return(jT808_JT1078_0x9800_0x9802); }
public JT809_JT1078_0x9900_0x9901 Deserialize(ref JT809MessagePackReader reader, IJT809Config config) { JT809_JT1078_0x9900_0x9901 jT808_JT1078_0x9900_0x9901 = new JT809_JT1078_0x9900_0x9901(); jT808_JT1078_0x9900_0x9901.Result = reader.ReadByte(); jT808_JT1078_0x9900_0x9901.ItemNumber = reader.ReadByte(); return(jT808_JT1078_0x9900_0x9901); }
public JT809_0x9500_0x9502 Deserialize(ref JT809MessagePackReader reader, IJT809Config config) { JT809_0x9500_0x9502 value = new JT809_0x9500_0x9502(); value.LensID = reader.ReadByte(); value.SizeType = (JT809_0x9502_SizeType)reader.ReadByte(); return(value); }
public JT809_0x9500_0x9502 Deserialize(ref JT809MessagePackReader reader, IJT809Config config) { JT809_0x9500_0x9502 jT809_0X9500_0X9502 = new JT809_0x9500_0x9502(); jT809_0X9500_0X9502.LensID = reader.ReadByte(); jT809_0X9500_0X9502.SizeType = reader.ReadByte(); return(jT809_0X9500_0X9502); }
public JT809_JT1078_0x9900_0x9901 Deserialize(ref JT809MessagePackReader reader, IJT809Config config) { JT809_JT1078_0x9900_0x9901 value = new JT809_JT1078_0x9900_0x9901(); value.Result = (JT809_JT1078_0x9900_0x9901_Result)reader.ReadByte(); value.ItemNumber = reader.ReadByte(); return(value); }
public JT809_JT1078_0x9A00_0x9A02 Deserialize(ref JT809MessagePackReader reader, IJT809Config config) { JT809_JT1078_0x9A00_0x9A02 jT808_JT1078_0x9A00_0x9A02 = new JT809_JT1078_0x9A00_0x9A02(); jT808_JT1078_0x9A00_0x9A02.ControlType = reader.ReadByte(); jT808_JT1078_0x9A00_0x9A02.FastTime = reader.ReadByte(); jT808_JT1078_0x9A00_0x9A02.DateTime = reader.ReadUTCDateTime(); return(jT808_JT1078_0x9A00_0x9A02); }
public void Analyze(ref JT809MessagePackReader reader, Utf8JsonWriter writer, IJT809Config config) { JT809_JT1078_0x9900_0x9901 value = new JT809_JT1078_0x9900_0x9901(); value.Result = (JT809_JT1078_0x9900_0x9901_Result)reader.ReadByte(); writer.WriteString($"[{ (byte)value.Result }]应答结果", value.Result.ToString()); value.ItemNumber = reader.ReadByte(); writer.WriteNumber($"[{value.ItemNumber.ReadNumber()}]资源目录总数", value.ItemNumber); }
public JT809_JT1078_0x9A00_0x9A02 Deserialize(ref JT809MessagePackReader reader, IJT809Config config) { JT809_JT1078_0x9A00_0x9A02 value = new JT809_JT1078_0x9A00_0x9A02(); value.ControlType = (ControlType)reader.ReadByte(); value.FastTime = (FastTime)reader.ReadByte(); value.DateTime = reader.ReadUTCDateTime(); return(value); }
public void Analyze(ref JT809MessagePackReader reader, Utf8JsonWriter writer, IJT809Config config) { JT809_0x9500_0x9502 value = new JT809_0x9500_0x9502(); value.LensID = reader.ReadByte(); writer.WriteNumber($"[{value.LensID.ReadNumber() }]镜头ID", value.LensID); value.SizeType = (JT809_0x9502_SizeType)reader.ReadByte(); writer.WriteString($"[{value.SizeType.ToByteValue()}]图片大小", value.SizeType.ToString()); }
public JT809_JT1078_0x9800_0x9801 Deserialize(ref JT809MessagePackReader reader, IJT809Config config) { JT809_JT1078_0x9800_0x9801 jT808_JT1078_0x9800_0x9801 = new JT809_JT1078_0x9800_0x9801(); jT808_JT1078_0x9800_0x9801.ChannelId = reader.ReadByte(); jT808_JT1078_0x9800_0x9801.AVitemType = reader.ReadByte(); jT808_JT1078_0x9800_0x9801.AuthorizeCode = reader.ReadArray(64).ToArray(); jT808_JT1078_0x9800_0x9801.GnssData = reader.ReadArray(36).ToArray(); return(jT808_JT1078_0x9800_0x9801); }
public JT809_JT1078_0x9800_0x9801 Deserialize(ref JT809MessagePackReader reader, IJT809Config config) { JT809_JT1078_0x9800_0x9801 value = new JT809_JT1078_0x9800_0x9801(); value.ChannelId = reader.ReadByte(); value.AVitemType = reader.ReadByte(); value.AuthorizeCode = reader.ReadString(64); value.GnssData = reader.ReadArray(36).ToArray(); return(value); }
public void Analyze(ref JT809MessagePackReader reader, Utf8JsonWriter writer, IJT809Config config) { JT809_0x1500_0x1502 value = new JT809_0x1500_0x1502(); value.PhotoRspFlag = (JT809_0x1502_PhotoRspFlag)reader.ReadByte(); writer.WriteString($"[{value.PhotoRspFlag.ToByteValue()}]拍照应答标识", value.PhotoRspFlag.ToString()); writer.WriteStartObject("车辆定位信息"); value.VehiclePosition.Encrypt = (JT809_VehiclePositionEncrypt)reader.ReadByte(); writer.WriteString($"[{value.VehiclePosition.Encrypt.ToByteValue()}]是否使用国家测绘局批准的地图保密插件进行加密", value.VehiclePosition.Encrypt.ToString()); value.VehiclePosition.Day = reader.ReadByte(); writer.WriteNumber($"[{value.VehiclePosition.Day}]日", value.VehiclePosition.Day); value.VehiclePosition.Month = reader.ReadByte(); writer.WriteNumber($"[{value.VehiclePosition.Month}]月", value.VehiclePosition.Month); value.VehiclePosition.Year = reader.ReadUInt16(); writer.WriteNumber($"[{value.VehiclePosition.Year}]年", value.VehiclePosition.Year); value.VehiclePosition.Hour = reader.ReadByte(); writer.WriteNumber($"[{value.VehiclePosition.Hour}]时", value.VehiclePosition.Hour); value.VehiclePosition.Minute = reader.ReadByte(); writer.WriteNumber($"[{value.VehiclePosition.Minute}]分", value.VehiclePosition.Minute); value.VehiclePosition.Second = reader.ReadByte(); writer.WriteNumber($"[{value.VehiclePosition.Second}]秒", value.VehiclePosition.Second); value.VehiclePosition.Lon = reader.ReadUInt32(); writer.WriteNumber($"[{value.VehiclePosition.Lon}]经度", value.VehiclePosition.Lon); value.VehiclePosition.Lat = reader.ReadUInt32(); writer.WriteNumber($"[{value.VehiclePosition.Lat}]纬度", value.VehiclePosition.Lat); value.VehiclePosition.Vec1 = reader.ReadUInt16(); writer.WriteNumber($"[{value.VehiclePosition.Vec1}]速度", value.VehiclePosition.Vec1); value.VehiclePosition.Vec2 = reader.ReadUInt16(); writer.WriteNumber($"[{value.VehiclePosition.Vec2}]行驶记录速度", value.VehiclePosition.Vec2); value.VehiclePosition.Vec3 = reader.ReadUInt32(); writer.WriteNumber($"[{value.VehiclePosition.Vec3}]车辆当前总里程数", value.VehiclePosition.Vec3); value.VehiclePosition.Direction = reader.ReadUInt16(); writer.WriteNumber($"[{value.VehiclePosition.Direction}]方向", value.VehiclePosition.Direction); value.VehiclePosition.Altitude = reader.ReadUInt16(); writer.WriteNumber($"[{value.VehiclePosition.Altitude}]海拔高度", value.VehiclePosition.Altitude); value.VehiclePosition.State = reader.ReadUInt32(); writer.WriteNumber($"[{value.VehiclePosition.State}]车辆状态", value.VehiclePosition.State); value.VehiclePosition.Alarm = reader.ReadUInt32(); writer.WriteNumber($"[{value.VehiclePosition.Alarm}]报警状态", value.VehiclePosition.Alarm); writer.WriteEndObject(); value.LensID = reader.ReadByte(); writer.WriteNumber($"[{value.LensID}]镜头ID", value.LensID); value.PhotoLen = reader.ReadUInt32(); writer.WriteNumber($"[{value.PhotoLen}]图片长度", value.PhotoLen); value.SizeType = (JT809__0x9502_SizeType)reader.ReadByte(); writer.WriteString($"[{value.SizeType.ToByteValue()}]图片大小", value.SizeType.ToString()); value.Type = (JT809__0x9502_ImageType)reader.ReadByte(); writer.WriteString($"[{value.Type.ToByteValue()}]图像格式", value.Type.ToString()); if (value.PhotoLen > 0) { var virtualHex = reader.ReadVirtualArray((int)value.PhotoLen); value.Photo = reader.ReadArray((int)value.PhotoLen).ToArray(); writer.WriteString($"[{virtualHex.ToArray().ToHexString()}]图片内容", value.Photo); } }
public void Analyze(ref JT809MessagePackReader reader, Utf8JsonWriter writer, IJT809Config config) { var value = new JT809_0x1400_0x1402(); if (config.Version == JT809Version.JTT2011) { value.WarnSrc = (JT809WarnSrc)reader.ReadByte(); writer.WriteString($"[{value.WarnSrc.ToByteValue()}]报警信息来源", value.WarnSrc.ToString()); } else { var virtualHex = reader.ReadVirtualArray(11); value.SourcePlatformId = reader.ReadString(11); writer.WriteString($"[{virtualHex.ToArray().ToHexString()}]发起报警平台唯一编码", value.SourcePlatformId); } value.WarnType = (JT809WarnType)reader.ReadUInt16(); writer.WriteString($"[{value.WarnType.ToByteValue()}]报警类型", value.WarnType.ToString()); var hex = reader.ReadVirtualArray(8); value.WarnTime = reader.ReadUTCDateTime(); writer.WriteString($"[{hex.ToArray().ToHexString()}]报警时间", value.WarnTime); if (config.Version == JT809Version.JTT2011) { value.InfoID = reader.ReadUInt32(); writer.WriteNumber($"[{value.InfoID.ReadNumber()}]信息ID", value.InfoID); } else { hex = reader.ReadVirtualArray(8); value.StartTime = reader.ReadUTCDateTime(); writer.WriteString($"[{hex.ToArray().ToHexString()}]事件开始时间", value.StartTime); hex = reader.ReadVirtualArray(8); value.EndTime = reader.ReadUTCDateTime(); writer.WriteString($"[{hex.ToArray().ToHexString()}]事件结束时间", value.EndTime); #warning 此处车牌号文档长度有误,使用旧版长度21 hex = reader.ReadVirtualArray(21); value.VehicleNo = reader.ReadString(21); writer.WriteString($"[{hex.ToArray().ToHexString()}]车牌号码", value.VehicleNo); value.VehicleColor = (JT809VehicleColorType)reader.ReadByte(); writer.WriteString($"[{value.VehicleColor.ToByteValue()}]车牌颜色", value.VehicleColor.ToString()); hex = reader.ReadVirtualArray(11); value.DestinationPlatformId = reader.ReadString(11); writer.WriteString($"[{hex.ToArray().ToHexString()}]被报警平台唯一编码", value.DestinationPlatformId); value.DRVLineId = reader.ReadUInt32(); writer.WriteNumber($"[{value.DRVLineId.ReadNumber()}]线路ID", value.DRVLineId); } value.InfoLength = reader.ReadUInt32(); writer.WriteNumber($"[{value.InfoLength.ReadNumber()}]数据长度", value.InfoLength); hex = reader.ReadVirtualArray((int)value.InfoLength); value.InfoContent = reader.ReadString((int)value.InfoLength); writer.WriteString($"[{hex.ToArray().ToHexString()}]信息内容", value.InfoContent); }
public void Analyze(ref JT809MessagePackReader reader, Utf8JsonWriter writer, IJT809Config config) { JT809_JT1078_0x9A00_0x9A02 value = new JT809_JT1078_0x9A00_0x9A02(); value.ControlType = (ControlType)reader.ReadByte(); writer.WriteString($"[{((byte)value.ControlType).ReadNumber()}]控制类型", value.ControlType.ToString()); value.FastTime = (FastTime)reader.ReadByte(); writer.WriteString($"[{((byte)value.FastTime).ReadNumber()}]快进或倒退倍数", value.FastTime.ToString()); var virtualHex = reader.ReadVirtualArray(8); value.DateTime = reader.ReadUTCDateTime(); writer.WriteString($"[{virtualHex.ToArray().ToHexString()}]拖动位置", value.DateTime); }
public void Analyze(ref JT809MessagePackReader reader, Utf8JsonWriter writer, IJT809Config config) { var value = new JT809_0x9500_0x9504(); if (config.Version == JT809Version.JTT2019) { var hex = reader.ReadVirtualArray(8); value.StartTime = reader.ReadUTCDateTime(); writer.WriteString($"[{hex.ToArray().ToHexString()}]开始时间", value.StartTime); hex = reader.ReadVirtualArray(8); value.EndTime = reader.ReadUTCDateTime(); writer.WriteString($"[{hex.ToArray().ToHexString()}]结束时间", value.EndTime); value.Command = (JT809CommandType)reader.ReadByte(); writer.WriteString($"[{value.Command.ToByteValue()}]命令字ID", value.Command.ToString()); } else { value.Command = (JT809CommandType)reader.ReadByte(); writer.WriteString($"[{value.Command.ToByteValue()}]命令字ID", value.Command.ToString()); switch (value.Command) { case JT809CommandType.记录仪标准版本: case JT809CommandType.当前驾驶人信息: case JT809CommandType.记录仪时间: case JT809CommandType.记录仪累计行驶里程: case JT809CommandType.记录仪脉冲系数: case JT809CommandType.车辆信息: case JT809CommandType.记录仪状态信号配置信息: case JT809CommandType.记录仪唯一性编号: break; case JT809CommandType.采集记录仪行驶记录: case JT809CommandType.采集记录仪位置信息记录: case JT809CommandType.采集记录仪事故疑点记录: case JT809CommandType.采集记录仪超时驾驶记录: case JT809CommandType.采集记录仪驾驶人身份记录: case JT809CommandType.采集记录仪外部供电记录: case JT809CommandType.采集记录仪参数修改记录: case JT809CommandType.采集记录仪速度状态日志: var hex = reader.ReadVirtualArray(6); value.StartTime = reader.ReadDateTime6(); writer.WriteString($"[{hex.ToArray().ToHexString()}]开始时间", value.StartTime); hex = reader.ReadVirtualArray(6); value.EndTime = reader.ReadDateTime6(); writer.WriteString($"[{hex.ToArray().ToHexString()}]结束时间", value.EndTime); value.Max = reader.ReadUInt16(); writer.WriteNumber($"[{value.Max.ReadNumber()}]最大数据数", value.Max); break; } } }
public void Analyze(ref JT809MessagePackReader reader, Utf8JsonWriter writer, IJT809Config config) { JT809_0x9200 value = new JT809_0x9200(); //1078qq群808432702:大兄弟提供的 //由于车辆注册信息应答消息0x9201子业务不存在车牌号和颜色需要跳过 if (config.Version == JT809Version.JTT2019) { var subBusinessType = reader.ReadVirtualUInt16(); if (subBusinessType != JT809SubBusinessType.车辆注册信息应答消息.ToUInt16Value()) { var virtualHex = reader.ReadVirtualArray(21); value.VehicleNo = reader.ReadString(21); writer.WriteString($"[{virtualHex.ToArray().ToHexString()}]车牌号", value.VehicleNo); value.VehicleColor = (JT809VehicleColorType)reader.ReadByte(); writer.WriteString($"[{value.VehicleColor.ToByteValue()}]车牌颜色", value.VehicleColor.ToString()); } } else { var virtualHex = reader.ReadVirtualArray(21); value.VehicleNo = reader.ReadString(21); writer.WriteString($"[{virtualHex.ToArray().ToHexString()}]车牌号", value.VehicleNo); value.VehicleColor = (JT809VehicleColorType)reader.ReadByte(); writer.WriteString($"[{value.VehicleColor.ToByteValue()}]车牌颜色", value.VehicleColor.ToString()); } value.SubBusinessType = reader.ReadUInt16(); writer.WriteString($"[{value.SubBusinessType.ReadNumber()}]子业务类型标识", ((JT809SubBusinessType)value.SubBusinessType).ToString()); value.DataLength = reader.ReadUInt32(); writer.WriteNumber($"[{value.DataLength.ReadNumber()}]后续数据长度", value.DataLength); try { if (config.SubBusinessTypeFactory.TryGetValue(value.SubBusinessType, out object instance)) { if (instance is JT809SubBodies subBodies) { if (!subBodies.SkipSerialization) { writer.WriteStartObject("子业务类型"); instance.Analyze(ref reader, writer, config); writer.WriteEndObject(); } } } } catch { throw new JT809Exception(JT809ErrorCode.SubBodiesParseError, $"SubBusinessType>{value.SubBusinessType.ToString()}"); } }
public JT809_JT1078_0x9A00_0x9A01 Deserialize(ref JT809MessagePackReader reader, IJT809Config config) { JT809_JT1078_0x9A00_0x9A01 jT808_JT1078_0x9A00_0x9A01 = new JT809_JT1078_0x9A00_0x9A01(); jT808_JT1078_0x9A00_0x9A01.ChannelId = reader.ReadByte(); jT808_JT1078_0x9A00_0x9A01.AVItemType = reader.ReadByte(); jT808_JT1078_0x9A00_0x9A01.StreamType = reader.ReadByte(); jT808_JT1078_0x9A00_0x9A01.MemType = reader.ReadByte(); jT808_JT1078_0x9A00_0x9A01.PlayBackStartTime = reader.ReadUTCDateTime(); jT808_JT1078_0x9A00_0x9A01.PlayBackEndTime = reader.ReadUTCDateTime(); jT808_JT1078_0x9A00_0x9A01.AuthorizeCode = reader.ReadArray(64).ToArray(); jT808_JT1078_0x9A00_0x9A01.GnssData = reader.ReadArray(36).ToArray(); return(jT808_JT1078_0x9A00_0x9A01); }
public JT809_0x9007 Deserialize(ref JT809MessagePackReader reader, IJT809Config config) { JT809_0x9007 value = new JT809_0x9007(); if (config.Version == JT809Version.JTT2019) { value.ErrorCode = (JT809_0x1007_ErrorCode)reader.ReadByte(); } else { value.ReasonCode = (JT809_0x9007_ReasonCode)reader.ReadByte(); } return(value); }
public JT809_JT1078_0x1900_Record Deserialize(ref JT809MessagePackReader reader, IJT809Config config) { JT809_JT1078_0x1900_Record value = new JT809_JT1078_0x1900_Record(); value.ChannelId = reader.ReadByte(); value.StartTime = reader.ReadUTCDateTime(); value.EndTime = reader.ReadUTCDateTime(); value.AlarmType = reader.ReadUInt64(); value.AVItemType = reader.ReadByte(); value.StreamType = reader.ReadByte(); value.MemType = reader.ReadByte(); value.FileSize = reader.ReadUInt32(); return(value); }
public JT809_JT1078_0x9A00_0x9A01 Deserialize(ref JT809MessagePackReader reader, IJT809Config config) { JT809_JT1078_0x9A00_0x9A01 value = new JT809_JT1078_0x9A00_0x9A01(); value.ChannelId = reader.ReadByte(); value.AVItemType = reader.ReadByte(); value.StreamType = reader.ReadByte(); value.MemType = reader.ReadByte(); value.PlayBackStartTime = reader.ReadUTCDateTime(); value.PlayBackEndTime = reader.ReadUTCDateTime(); value.AuthorizeCode = reader.ReadString(64); value.GnssData = reader.ReadArray(36).ToArray(); return(value); }
public void Analyze(ref JT809MessagePackReader reader, Utf8JsonWriter writer, IJT809Config config) { JT809_0x9007 value = new JT809_0x9007(); if (config.Version == JT809Version.JTT2019) { value.ErrorCode = (JT809_0x1007_ErrorCode)reader.ReadByte(); writer.WriteString($"[{value.ErrorCode.ToByteValue()}]错误代码", value.ErrorCode.ToString()); } else { value.ReasonCode = (JT809_0x9007_ReasonCode)reader.ReadByte(); writer.WriteString($"[{value.ReasonCode.ToByteValue()}]错误代码", value.ReasonCode.ToString()); } }
public JT809_0x9400_0x9401 Deserialize(ref JT809MessagePackReader reader, IJT809Config config) { JT809_0x9400_0x9401 jT809_0X9400_0X9401 = new JT809_0x9400_0x9401(); jT809_0X9400_0X9401.WarnSrc = (JT809WarnSrc)reader.ReadByte(); jT809_0X9400_0X9401.WarnType = reader.ReadUInt16(); jT809_0X9400_0X9401.WarnTime = reader.ReadUTCDateTime(); jT809_0X9400_0X9401.SupervisionID = reader.ReadHex(4); jT809_0X9400_0X9401.SupervisionEndTime = reader.ReadUTCDateTime(); jT809_0X9400_0X9401.SupervisionLevel = reader.ReadByte(); jT809_0X9400_0X9401.Supervisor = reader.ReadString(16); jT809_0X9400_0X9401.SupervisorTel = reader.ReadString(20); jT809_0X9400_0X9401.SupervisorEmail = reader.ReadString(32); return(jT809_0X9400_0X9401); }
public JT809_0x9300_0x9301 Deserialize(ref JT809MessagePackReader reader, IJT809Config config) { JT809_0x9300_0x9301 value = new JT809_0x9300_0x9301(); if (config.Version == JT809Version.JTT2019) { value.ObjectType = (JT809_0x9301_ObjectType)reader.ReadByte(); value.ObjectID = reader.ReadString(20); value.AnswerTime = reader.ReadByte(); } value.InfoID = reader.ReadUInt32(); value.InfoLength = reader.ReadUInt32(); value.InfoContent = reader.ReadString((int)value.InfoLength); return(value); }
public JT809_JT1078_0x1800_0x1802 Deserialize(ref JT809MessagePackReader reader, IJT809Config config) { JT809_JT1078_0x1800_0x1802 value = new JT809_JT1078_0x1800_0x1802(); value.Result = (JT809_JT1078_0x1800_0x1802_Result)reader.ReadByte(); return(value); }