|
|
@@ -107,8 +107,16 @@ namespace JT808.Protocol.MessageBody |
|
|
|
JT808_0x0107 jT808_0X0107 = new JT808_0x0107(); |
|
|
|
jT808_0X0107.TerminalType = reader.ReadUInt16(); |
|
|
|
jT808_0X0107.MakerId = reader.ReadString(5); |
|
|
|
jT808_0X0107.TerminalModel = reader.ReadString(20); |
|
|
|
jT808_0X0107.TerminalId = reader.ReadString(7); |
|
|
|
if (reader.Version == JT808Version.JTT2019) |
|
|
|
{ |
|
|
|
jT808_0X0107.TerminalModel = reader.ReadString(30); |
|
|
|
jT808_0X0107.TerminalId = reader.ReadString(30); |
|
|
|
} |
|
|
|
else |
|
|
|
{ |
|
|
|
jT808_0X0107.TerminalModel = reader.ReadString(20); |
|
|
|
jT808_0X0107.TerminalId = reader.ReadString(7); |
|
|
|
} |
|
|
|
jT808_0X0107.Terminal_SIM_ICCID = reader.ReadBCD(20, config.Trim); |
|
|
|
jT808_0X0107.Terminal_Hardware_Version_Length = reader.ReadByte(); |
|
|
|
jT808_0X0107.Terminal_Hardware_Version_Num = reader.ReadString(jT808_0X0107.Terminal_Hardware_Version_Length); |
|
|
@@ -128,8 +136,16 @@ namespace JT808.Protocol.MessageBody |
|
|
|
{ |
|
|
|
writer.WriteUInt16(value.TerminalType); |
|
|
|
writer.WriteString(value.MakerId.PadRight(5, '\0').ValiString(nameof(value.MakerId), 5)); |
|
|
|
writer.WriteString(value.TerminalModel.PadRight(20, '\0').ValiString(nameof(value.TerminalModel), 20)); |
|
|
|
writer.WriteString(value.TerminalId.PadRight(7, '\0').ValiString(nameof(value.TerminalId), 7)); |
|
|
|
if (writer.Version == JT808Version.JTT2019) |
|
|
|
{ |
|
|
|
writer.WriteString(value.TerminalModel.PadRight(30, '\0').ValiString(nameof(value.TerminalModel), 30)); |
|
|
|
writer.WriteString(value.TerminalId.PadRight(30, '\0').ValiString(nameof(value.TerminalId), 30)); |
|
|
|
} |
|
|
|
else |
|
|
|
{ |
|
|
|
writer.WriteString(value.TerminalModel.PadRight(20, '\0').ValiString(nameof(value.TerminalModel), 20)); |
|
|
|
writer.WriteString(value.TerminalId.PadRight(7, '\0').ValiString(nameof(value.TerminalId), 7)); |
|
|
|
} |
|
|
|
writer.WriteBCD(value.Terminal_SIM_ICCID.ValiString(nameof(value.Terminal_SIM_ICCID), 20), 20); |
|
|
|
writer.WriteByte((byte)value.Terminal_Hardware_Version_Num.Length); |
|
|
|
writer.WriteString(value.Terminal_Hardware_Version_Num); |
|
|
@@ -162,11 +178,11 @@ namespace JT808.Protocol.MessageBody |
|
|
|
writer.WriteString("bit8", terminalTypeBits[8] == '0' ? "不适用挂车" : "适用挂车"); |
|
|
|
} |
|
|
|
writer.WriteEndObject(); |
|
|
|
ReadOnlySpan<byte> makerIdSpan = reader.ReadVirtualArray(5); |
|
|
|
jT808_0X0107.MakerId = reader.ReadString(5); |
|
|
|
writer.WriteString($"[{makerIdSpan.ToArray().ToHexString()}]制造商ID", jT808_0X0107.MakerId); |
|
|
|
if (reader.Version == JT808Version.JTT2019) |
|
|
|
{ |
|
|
|
ReadOnlySpan<byte> makerIdSpan = reader.ReadVirtualArray(11); |
|
|
|
jT808_0X0107.MakerId = reader.ReadString(11); |
|
|
|
writer.WriteString($"[{makerIdSpan.ToArray().ToHexString()}]制造商ID", jT808_0X0107.MakerId); |
|
|
|
ReadOnlySpan<byte> terminalModelSpan = reader.ReadVirtualArray(30); |
|
|
|
jT808_0X0107.TerminalModel = reader.ReadString(30); |
|
|
|
writer.WriteString($"[{terminalModelSpan.ToArray().ToHexString()}]终端型号", jT808_0X0107.TerminalModel); |
|
|
@@ -175,10 +191,7 @@ namespace JT808.Protocol.MessageBody |
|
|
|
writer.WriteString($"[{terminalIdSpan.ToArray().ToHexString()}]终端ID", jT808_0X0107.TerminalId); |
|
|
|
} |
|
|
|
else |
|
|
|
{ |
|
|
|
ReadOnlySpan<byte> makerIdSpan = reader.ReadVirtualArray(5); |
|
|
|
jT808_0X0107.MakerId = reader.ReadString(5); |
|
|
|
writer.WriteString($"[{makerIdSpan.ToArray().ToHexString()}]制造商ID", jT808_0X0107.MakerId); |
|
|
|
{ |
|
|
|
ReadOnlySpan<byte> terminalModelSpan = reader.ReadVirtualArray(20); |
|
|
|
jT808_0X0107.TerminalModel = reader.ReadString(20); |
|
|
|
writer.WriteString($"[{terminalModelSpan.ToArray().ToHexString()}]终端型号", jT808_0X0107.TerminalModel); |
|
|
|