Browse Source

修复0107iccid的读取字节数

tags/v2.2.6
SmallChi(Koike) 5 years ago
parent
commit
bd4e1a048e
2 changed files with 7 additions and 7 deletions
  1. +5
    -5
      src/JT808.Protocol.Test/MessageBody/JT808_0x0107Test.cs
  2. +2
    -2
      src/JT808.Protocol/MessageBody/JT808_0x0107.cs

+ 5
- 5
src/JT808.Protocol.Test/MessageBody/JT808_0x0107Test.cs View File

@@ -26,7 +26,7 @@ namespace JT808.Protocol.Test.MessageBody
MakerId = "10601", MakerId = "10601",
TerminalModel = "10455545955103", TerminalModel = "10455545955103",
TerminalId = "4d6a13", TerminalId = "4d6a13",
Terminal_SIM_ICCID = "1232355987",
Terminal_SIM_ICCID = "12345678901234567890",
Terminal_Hardware_Version_Num = "abcdefg", Terminal_Hardware_Version_Num = "abcdefg",
Terminal_Firmware_Version_Num = "poiuytrewq", Terminal_Firmware_Version_Num = "poiuytrewq",
// 00000111 // 00000111
@@ -36,14 +36,14 @@ namespace JT808.Protocol.Test.MessageBody
}; };
jT808Package.Bodies = jT808_0X0107; jT808Package.Bodies = jT808_0X0107;
string hex = JT808Serializer.Serialize(jT808Package).ToHexString(); string hex = JT808Serializer.Serialize(jT808Package).ToHexString();
//"7E 01 07 00 3C 11 22 33 44 55 66 22 B8 00 05 31 30 36 30 31 31 30 34 35 35 35 34 35 39 35 35 31 30 33 30 30 30 30 30 30 34 64 36 61 31 33 30 12 32 35 59 87 07 61 62 63 64 65 66 67 0A 70 6F 69 75 79 74 72 65 77 71 07 09 6C 7E"
Assert.Equal("7E 01 07 00 3C 11 22 33 44 55 66 22 B8 00 05 31 30 36 30 31 31 30 34 35 35 35 34 35 39 35 35 31 30 33 30 30 30 30 30 30 34 64 36 61 31 33 30 12 32 35 59 87 07 61 62 63 64 65 66 67 0A 70 6F 69 75 79 74 72 65 77 71 07 09 6C 7E".Replace(" ", ""), hex);
//"7E0107004111223344556622B8000531303630313130343535353435393535313033303030303030346436613133301234567890123456789007616263646566670A706F69757974726577710709DA7E
Assert.Equal("7E0107004111223344556622B8000531303630313130343535353435393535313033303030303030346436613133301234567890123456789007616263646566670A706F69757974726577710709DA7E".Replace(" ", ""), hex);
} }


[Fact] [Fact]
public void Test2() public void Test2()
{ {
byte[] bytes = "7E 01 07 00 3C 11 22 33 44 55 66 22 B8 00 05 31 30 36 30 31 31 30 34 35 35 35 34 35 39 35 35 31 30 33 30 30 30 30 30 30 34 64 36 61 31 33 30 12 32 35 59 87 07 61 62 63 64 65 66 67 0A 70 6F 69 75 79 74 72 65 77 71 07 09 6C 7E".ToHexBytes();
byte[] bytes = "7E0107004111223344556622B8000531303630313130343535353435393535313033303030303030346436613133301234567890123456789007616263646566670A706F69757974726577710709DA7E".ToHexBytes();
JT808Package jT808Package = JT808Serializer.Deserialize(bytes); JT808Package jT808Package = JT808Serializer.Deserialize(bytes);
JT808_0x0107 jT808_0X0107 = (JT808_0x0107)jT808Package.Bodies; JT808_0x0107 jT808_0X0107 = (JT808_0x0107)jT808Package.Bodies;
Assert.Equal(8888, jT808Package.Header.MsgNum); Assert.Equal(8888, jT808Package.Header.MsgNum);
@@ -53,7 +53,7 @@ namespace JT808.Protocol.Test.MessageBody
Assert.Equal("10601", jT808_0X0107.MakerId); Assert.Equal("10601", jT808_0X0107.MakerId);
Assert.Equal("10455545955103000000", jT808_0X0107.TerminalModel); Assert.Equal("10455545955103000000", jT808_0X0107.TerminalModel);
Assert.Equal("4d6a130", jT808_0X0107.TerminalId); Assert.Equal("4d6a130", jT808_0X0107.TerminalId);
Assert.Equal("1232355987", jT808_0X0107.Terminal_SIM_ICCID);
Assert.Equal("12345678901234567890", jT808_0X0107.Terminal_SIM_ICCID);
Assert.Equal("abcdefg", jT808_0X0107.Terminal_Hardware_Version_Num); Assert.Equal("abcdefg", jT808_0X0107.Terminal_Hardware_Version_Num);
Assert.Equal("poiuytrewq", jT808_0X0107.Terminal_Firmware_Version_Num); Assert.Equal("poiuytrewq", jT808_0X0107.Terminal_Firmware_Version_Num);
Assert.Equal(7, jT808_0X0107.GNSSModule); Assert.Equal(7, jT808_0X0107.GNSSModule);


+ 2
- 2
src/JT808.Protocol/MessageBody/JT808_0x0107.cs View File

@@ -100,7 +100,7 @@ namespace JT808.Protocol.MessageBody
jT808_0X0107.TerminalModel = reader.ReadString(20); jT808_0X0107.TerminalModel = reader.ReadString(20);
jT808_0X0107.TerminalId = reader.ReadString(7); jT808_0X0107.TerminalId = reader.ReadString(7);
} }
jT808_0X0107.Terminal_SIM_ICCID = reader.ReadBCD(10, config.Trim);
jT808_0X0107.Terminal_SIM_ICCID = reader.ReadBCD(20, config.Trim);
jT808_0X0107.Terminal_Hardware_Version_Length = reader.ReadByte(); jT808_0X0107.Terminal_Hardware_Version_Length = reader.ReadByte();
jT808_0X0107.Terminal_Hardware_Version_Num = reader.ReadString(jT808_0X0107.Terminal_Hardware_Version_Length); jT808_0X0107.Terminal_Hardware_Version_Num = reader.ReadString(jT808_0X0107.Terminal_Hardware_Version_Length);
jT808_0X0107.Terminal_Firmware_Version_Length = reader.ReadByte(); jT808_0X0107.Terminal_Firmware_Version_Length = reader.ReadByte();
@@ -125,7 +125,7 @@ namespace JT808.Protocol.MessageBody
writer.WriteString(value.TerminalModel.PadRight(20, '0')); writer.WriteString(value.TerminalModel.PadRight(20, '0'));
writer.WriteString(value.TerminalId.PadRight(7, '0')); writer.WriteString(value.TerminalId.PadRight(7, '0'));
} }
writer.WriteBCD(value.Terminal_SIM_ICCID, 10);
writer.WriteBCD(value.Terminal_SIM_ICCID, 20);
writer.WriteByte((byte)value.Terminal_Hardware_Version_Num.Length); writer.WriteByte((byte)value.Terminal_Hardware_Version_Num.Length);
writer.WriteString(value.Terminal_Hardware_Version_Num); writer.WriteString(value.Terminal_Hardware_Version_Num);
writer.WriteByte((byte)value.Terminal_Firmware_Version_Num.Length); writer.WriteByte((byte)value.Terminal_Firmware_Version_Num.Length);


Loading…
Cancel
Save