Browse Source

数据体增加消息Id属性的依赖

tags/v2.2.0
SmallChi(Koike) 5 years ago
parent
commit
d04736dbe9
72 changed files with 116 additions and 40 deletions
  1. +4
    -4
      src/JT808.Protocol.Test/MessageBody/JT808_0x0001Test.cs
  2. +2
    -2
      src/JT808.Protocol.Test/MessageBody/JT808_0x0201Test.cs
  3. +2
    -2
      src/JT808.Protocol.Test/MessageBody/JT808_0x0805Test.cs
  4. +2
    -2
      src/JT808.Protocol.Test/MessageBody/JT808_0x8001Test.cs
  5. +6
    -6
      src/JT808.Protocol.Test/MessageBody/JT808_0x8100Test.cs
  6. +3
    -0
      src/JT808.Protocol.Test/MessageBody/JT808_0x9999.cs
  7. +4
    -0
      src/JT808.Protocol.Test/Simples/Demo6.cs
  8. +6
    -6
      src/JT808.Protocol/JT808.Protocol.xml
  9. +2
    -0
      src/JT808.Protocol/JT808Bodies.cs
  10. +3
    -0
      src/JT808.Protocol/JT808SplitPackageBodies.cs
  11. +8
    -6
      src/JT808.Protocol/MessageBody/JT808_0x0001.cs
  12. +1
    -0
      src/JT808.Protocol/MessageBody/JT808_0x0002.cs
  13. +2
    -0
      src/JT808.Protocol/MessageBody/JT808_0x0003.cs
  14. +1
    -0
      src/JT808.Protocol/MessageBody/JT808_0x0100.cs
  15. +1
    -0
      src/JT808.Protocol/MessageBody/JT808_0x0102.cs
  16. +1
    -0
      src/JT808.Protocol/MessageBody/JT808_0x0104.cs
  17. +1
    -0
      src/JT808.Protocol/MessageBody/JT808_0x0107.cs
  18. +1
    -0
      src/JT808.Protocol/MessageBody/JT808_0x0108.cs
  19. +1
    -0
      src/JT808.Protocol/MessageBody/JT808_0x0200.cs
  20. +4
    -3
      src/JT808.Protocol/MessageBody/JT808_0x0201.cs
  21. +1
    -0
      src/JT808.Protocol/MessageBody/JT808_0x0301.cs
  22. +1
    -0
      src/JT808.Protocol/MessageBody/JT808_0x0302.cs
  23. +1
    -0
      src/JT808.Protocol/MessageBody/JT808_0x0303.cs
  24. +1
    -0
      src/JT808.Protocol/MessageBody/JT808_0x0500.cs
  25. +1
    -0
      src/JT808.Protocol/MessageBody/JT808_0x0701.cs
  26. +1
    -0
      src/JT808.Protocol/MessageBody/JT808_0x0702.cs
  27. +1
    -0
      src/JT808.Protocol/MessageBody/JT808_0x0704.cs
  28. +1
    -0
      src/JT808.Protocol/MessageBody/JT808_0x0705.cs
  29. +1
    -0
      src/JT808.Protocol/MessageBody/JT808_0x0800.cs
  30. +1
    -0
      src/JT808.Protocol/MessageBody/JT808_0x0801.cs
  31. +1
    -0
      src/JT808.Protocol/MessageBody/JT808_0x0802.cs
  32. +4
    -3
      src/JT808.Protocol/MessageBody/JT808_0x0805.cs
  33. +1
    -0
      src/JT808.Protocol/MessageBody/JT808_0x0900.cs
  34. +1
    -0
      src/JT808.Protocol/MessageBody/JT808_0x0901.cs
  35. +1
    -0
      src/JT808.Protocol/MessageBody/JT808_0x0A00.cs
  36. +4
    -3
      src/JT808.Protocol/MessageBody/JT808_0x8001.cs
  37. +1
    -0
      src/JT808.Protocol/MessageBody/JT808_0x8003.cs
  38. +4
    -3
      src/JT808.Protocol/MessageBody/JT808_0x8100.cs
  39. +1
    -0
      src/JT808.Protocol/MessageBody/JT808_0x8103.cs
  40. +1
    -0
      src/JT808.Protocol/MessageBody/JT808_0x8104.cs
  41. +1
    -0
      src/JT808.Protocol/MessageBody/JT808_0x8105.cs
  42. +1
    -0
      src/JT808.Protocol/MessageBody/JT808_0x8106.cs
  43. +1
    -0
      src/JT808.Protocol/MessageBody/JT808_0x8107.cs
  44. +1
    -0
      src/JT808.Protocol/MessageBody/JT808_0x8108.cs
  45. +1
    -0
      src/JT808.Protocol/MessageBody/JT808_0x8201.cs
  46. +1
    -0
      src/JT808.Protocol/MessageBody/JT808_0x8202.cs
  47. +1
    -0
      src/JT808.Protocol/MessageBody/JT808_0x8203.cs
  48. +1
    -0
      src/JT808.Protocol/MessageBody/JT808_0x8300.cs
  49. +1
    -0
      src/JT808.Protocol/MessageBody/JT808_0x8301.cs
  50. +1
    -0
      src/JT808.Protocol/MessageBody/JT808_0x8302.cs
  51. +1
    -0
      src/JT808.Protocol/MessageBody/JT808_0x8303.cs
  52. +1
    -0
      src/JT808.Protocol/MessageBody/JT808_0x8304.cs
  53. +1
    -0
      src/JT808.Protocol/MessageBody/JT808_0x8400.cs
  54. +1
    -0
      src/JT808.Protocol/MessageBody/JT808_0x8401.cs
  55. +1
    -0
      src/JT808.Protocol/MessageBody/JT808_0x8500.cs
  56. +1
    -0
      src/JT808.Protocol/MessageBody/JT808_0x8600.cs
  57. +1
    -0
      src/JT808.Protocol/MessageBody/JT808_0x8601.cs
  58. +1
    -0
      src/JT808.Protocol/MessageBody/JT808_0x8602.cs
  59. +1
    -0
      src/JT808.Protocol/MessageBody/JT808_0x8603.cs
  60. +1
    -0
      src/JT808.Protocol/MessageBody/JT808_0x8604.cs
  61. +1
    -0
      src/JT808.Protocol/MessageBody/JT808_0x8605.cs
  62. +1
    -0
      src/JT808.Protocol/MessageBody/JT808_0x8606.cs
  63. +1
    -0
      src/JT808.Protocol/MessageBody/JT808_0x8607.cs
  64. +1
    -0
      src/JT808.Protocol/MessageBody/JT808_0x8702.cs
  65. +1
    -0
      src/JT808.Protocol/MessageBody/JT808_0x8800.cs
  66. +1
    -0
      src/JT808.Protocol/MessageBody/JT808_0x8801.cs
  67. +1
    -0
      src/JT808.Protocol/MessageBody/JT808_0x8802.cs
  68. +1
    -0
      src/JT808.Protocol/MessageBody/JT808_0x8803.cs
  69. +1
    -0
      src/JT808.Protocol/MessageBody/JT808_0x8804.cs
  70. +1
    -0
      src/JT808.Protocol/MessageBody/JT808_0x8805.cs
  71. +1
    -0
      src/JT808.Protocol/MessageBody/JT808_0x8900.cs
  72. +1
    -0
      src/JT808.Protocol/MessageBody/JT808_0x8A00.cs

+ 4
- 4
src/JT808.Protocol.Test/MessageBody/JT808_0x0001Test.cs View File

@@ -21,8 +21,8 @@ namespace JT808.Protocol.Test.MessageBody
}, },
Bodies = new JT808_0x0001 Bodies = new JT808_0x0001
{ {
MsgId = Enums.JT808MsgId.终端心跳.ToUInt16Value(),
MsgNum = 1000,
ReplyMsgId = Enums.JT808MsgId.终端心跳.ToUInt16Value(),
ReplyMsgNum = 1000,
JT808TerminalResult = Enums.JT808TerminalResult.Success JT808TerminalResult = Enums.JT808TerminalResult.Success
} }
}; };
@@ -40,8 +40,8 @@ namespace JT808.Protocol.Test.MessageBody
Assert.Equal(1203, jT808Package.Header.MsgNum); Assert.Equal(1203, jT808Package.Header.MsgNum);


JT808_0x0001 JT808Bodies = (JT808_0x0001)jT808Package.Bodies; JT808_0x0001 JT808Bodies = (JT808_0x0001)jT808Package.Bodies;
Assert.Equal(Enums.JT808MsgId.终端心跳.ToUInt16Value(), JT808Bodies.MsgId);
Assert.Equal(1000, JT808Bodies.MsgNum);
Assert.Equal(Enums.JT808MsgId.终端心跳.ToUInt16Value(), JT808Bodies.ReplyMsgId);
Assert.Equal(1000, JT808Bodies.ReplyMsgNum);
Assert.Equal(Enums.JT808TerminalResult.Success, JT808Bodies.JT808TerminalResult); Assert.Equal(Enums.JT808TerminalResult.Success, JT808Bodies.JT808TerminalResult);
} }
} }


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

@@ -23,7 +23,7 @@ namespace JT808.Protocol.Test.MessageBody
}; };
JT808_0x0201 jT808_0X0201 = new JT808_0x0201 JT808_0x0201 jT808_0X0201 = new JT808_0x0201
{ {
MsgNum = 12345
ReplyMsgNum = 12345
}; };
JT808_0x0200 jT808UploadLocationRequest = new JT808_0x0200 JT808_0x0200 jT808UploadLocationRequest = new JT808_0x0200
{ {
@@ -58,7 +58,7 @@ namespace JT808.Protocol.Test.MessageBody
byte[] bytes = "7E0201002811223344556622B83039000000010000000200BA7F0E07E4F11C0028003C000018071510101001040000006402020037517E".ToHexBytes(); byte[] bytes = "7E0201002811223344556622B83039000000010000000200BA7F0E07E4F11C0028003C000018071510101001040000006402020037517E".ToHexBytes();
JT808Package jT808Package = JT808Serializer.Deserialize(bytes); JT808Package jT808Package = JT808Serializer.Deserialize(bytes);
JT808_0x0201 jT808_0X0201 = (JT808_0x0201) jT808Package.Bodies; JT808_0x0201 jT808_0X0201 = (JT808_0x0201) jT808Package.Bodies;
Assert.Equal(12345, jT808_0X0201.MsgNum);
Assert.Equal(12345, jT808_0X0201.ReplyMsgNum);
Assert.Equal((uint)1, jT808_0X0201.Position.AlarmFlag); Assert.Equal((uint)1, jT808_0X0201.Position.AlarmFlag);
Assert.Equal(DateTime.Parse("2018-07-15 10:10:10"), jT808_0X0201.Position.GPSTime); Assert.Equal(DateTime.Parse("2018-07-15 10:10:10"), jT808_0X0201.Position.GPSTime);
Assert.Equal(12222222, jT808_0X0201.Position.Lat); Assert.Equal(12222222, jT808_0X0201.Position.Lat);


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

@@ -12,7 +12,7 @@ namespace JT808.Protocol.Test.MessageBody
public void Test1() public void Test1()
{ {
JT808_0x0805 jT808_0X0805 = new JT808_0x0805(); JT808_0x0805 jT808_0X0805 = new JT808_0x0805();
jT808_0X0805.MsgNum = 12456;
jT808_0X0805.ReplyMsgNum = 12456;
jT808_0X0805.Result = 1; jT808_0X0805.Result = 1;
jT808_0X0805.MultimediaIds = new List<uint>() jT808_0X0805.MultimediaIds = new List<uint>()
{ {
@@ -28,7 +28,7 @@ namespace JT808.Protocol.Test.MessageBody
{ {
byte[] bytes = "30A80100020000301200003124".ToHexBytes(); byte[] bytes = "30A80100020000301200003124".ToHexBytes();
JT808_0x0805 jT808_0X0805 = JT808Serializer.Deserialize<JT808_0x0805>(bytes); JT808_0x0805 jT808_0X0805 = JT808Serializer.Deserialize<JT808_0x0805>(bytes);
Assert.Equal(12456, jT808_0X0805.MsgNum);
Assert.Equal(12456, jT808_0X0805.ReplyMsgNum);
Assert.Equal(1, jT808_0X0805.Result); Assert.Equal(1, jT808_0X0805.Result);
Assert.Equal(2, jT808_0X0805.MultimediaIdCount); Assert.Equal(2, jT808_0X0805.MultimediaIdCount);
Assert.Equal(new List<uint>() Assert.Equal(new List<uint>()


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

@@ -20,7 +20,7 @@ namespace JT808.Protocol.Test.MessageBody
}, },
Bodies = new JT808_0x8001 Bodies = new JT808_0x8001
{ {
MsgId = Enums.JT808MsgId.位置信息汇报.ToUInt16Value(),
AckMsgId = Enums.JT808MsgId.位置信息汇报.ToUInt16Value(),
JT808PlatformResult = Enums.JT808PlatformResult.成功, JT808PlatformResult = Enums.JT808PlatformResult.成功,
MsgNum = 100 MsgNum = 100
} }
@@ -49,7 +49,7 @@ namespace JT808.Protocol.Test.MessageBody
Assert.Equal("12345678900", jT808Package.Header.TerminalPhoneNo); Assert.Equal("12345678900", jT808Package.Header.TerminalPhoneNo);


JT808_0x8001 JT808Bodies = (JT808_0x8001)jT808Package.Bodies; JT808_0x8001 JT808Bodies = (JT808_0x8001)jT808Package.Bodies;
Assert.Equal(Enums.JT808MsgId.位置信息汇报.ToUInt16Value(), JT808Bodies.MsgId);
Assert.Equal(Enums.JT808MsgId.位置信息汇报.ToUInt16Value(), JT808Bodies.AckMsgId);
Assert.Equal(100, JT808Bodies.MsgNum); Assert.Equal(100, JT808Bodies.MsgNum);
Assert.Equal(Enums.JT808PlatformResult.成功, JT808Bodies.JT808PlatformResult); Assert.Equal(Enums.JT808PlatformResult.成功, JT808Bodies.JT808PlatformResult);
} }


+ 6
- 6
src/JT808.Protocol.Test/MessageBody/JT808_0x8100Test.cs View File

@@ -22,7 +22,7 @@ namespace JT808.Protocol.Test.MessageBody
{ {
Code = "123456", Code = "123456",
JT808TerminalRegisterResult = Enums.JT808TerminalRegisterResult.成功, JT808TerminalRegisterResult = Enums.JT808TerminalRegisterResult.成功,
MsgNum = 100
AckMsgNum = 100
} }
}; };
//"7E //"7E
@@ -50,7 +50,7 @@ namespace JT808.Protocol.Test.MessageBody


JT808_0x8100 JT808Bodies = (JT808_0x8100)jT808Package.Bodies; JT808_0x8100 JT808Bodies = (JT808_0x8100)jT808Package.Bodies;
Assert.Equal("123456", JT808Bodies.Code); Assert.Equal("123456", JT808Bodies.Code);
Assert.Equal(100, JT808Bodies.MsgNum);
Assert.Equal(100, JT808Bodies.AckMsgNum);
Assert.Equal(Enums.JT808TerminalRegisterResult.成功, JT808Bodies.JT808TerminalRegisterResult); Assert.Equal(Enums.JT808TerminalRegisterResult.成功, JT808Bodies.JT808TerminalRegisterResult);
} }


@@ -69,7 +69,7 @@ namespace JT808.Protocol.Test.MessageBody
{ {
Code = "123456", Code = "123456",
JT808TerminalRegisterResult = Enums.JT808TerminalRegisterResult.数据库中无该终端, JT808TerminalRegisterResult = Enums.JT808TerminalRegisterResult.数据库中无该终端,
MsgNum = 100
AckMsgNum = 100
} }
}; };
//"7E //"7E
@@ -96,7 +96,7 @@ namespace JT808.Protocol.Test.MessageBody


JT808_0x8100 JT808Bodies = (JT808_0x8100)jT808Package.Bodies; JT808_0x8100 JT808Bodies = (JT808_0x8100)jT808Package.Bodies;
Assert.Null(JT808Bodies.Code); Assert.Null(JT808Bodies.Code);
Assert.Equal(100, JT808Bodies.MsgNum);
Assert.Equal(100, JT808Bodies.AckMsgNum);
Assert.Equal(Enums.JT808TerminalRegisterResult.数据库中无该终端, JT808Bodies.JT808TerminalRegisterResult); Assert.Equal(Enums.JT808TerminalRegisterResult.数据库中无该终端, JT808Bodies.JT808TerminalRegisterResult);
} }


@@ -116,7 +116,7 @@ namespace JT808.Protocol.Test.MessageBody
{ {
Code = "zssdaf23124sfdsc", Code = "zssdaf23124sfdsc",
JT808TerminalRegisterResult = Enums.JT808TerminalRegisterResult.成功, JT808TerminalRegisterResult = Enums.JT808TerminalRegisterResult.成功,
MsgNum = 100
AckMsgNum = 100
} }
}; };
//"7E 81 00 00 13 01 23 45 67 89 00 00 0A 00 64 00 7A 73 73 64 61 66 32 33 31 32 34 73 66 64 73 63 3B 7E" //"7E 81 00 00 13 01 23 45 67 89 00 00 0A 00 64 00 7A 73 73 64 61 66 32 33 31 32 34 73 66 64 73 63 3B 7E"
@@ -135,7 +135,7 @@ namespace JT808.Protocol.Test.MessageBody


JT808_0x8100 JT808Bodies = (JT808_0x8100)jT808Package.Bodies; JT808_0x8100 JT808Bodies = (JT808_0x8100)jT808Package.Bodies;
Assert.Equal("zssdaf23124sfdsc", JT808Bodies.Code); Assert.Equal("zssdaf23124sfdsc", JT808Bodies.Code);
Assert.Equal(100, JT808Bodies.MsgNum);
Assert.Equal(100, JT808Bodies.AckMsgNum);
Assert.Equal(Enums.JT808TerminalRegisterResult.成功, JT808Bodies.JT808TerminalRegisterResult); Assert.Equal(Enums.JT808TerminalRegisterResult.成功, JT808Bodies.JT808TerminalRegisterResult);
} }
} }


+ 3
- 0
src/JT808.Protocol.Test/MessageBody/JT808_0x9999.cs View File

@@ -9,6 +9,9 @@ namespace JT808.Protocol.Test.MessageBody
public class JT808_0x9999 : JT808Bodies, IJT808MessagePackFormatter<JT808_0x9999> public class JT808_0x9999 : JT808Bodies, IJT808MessagePackFormatter<JT808_0x9999>
{ {
public byte Sex { get; set; } public byte Sex { get; set; }

public override ushort MsgId => 0x9999;

public JT808_0x9999 Deserialize(ref JT808MessagePackReader reader, IJT808Config config) public JT808_0x9999 Deserialize(ref JT808MessagePackReader reader, IJT808Config config)
{ {
JT808_0x9999 jT808_0X9999 = new JT808_0x9999(); JT808_0x9999 jT808_0X9999 = new JT808_0x9999();


+ 4
- 0
src/JT808.Protocol.Test/Simples/Demo6.cs View File

@@ -88,6 +88,9 @@ namespace JT808.Protocol.Test.Simples
public byte Sex1 { get; set; } public byte Sex1 { get; set; }


public ushort Age1 { get; set; } public ushort Age1 { get; set; }

public override ushort MsgId => 0x91;

public DT1Demo6 Deserialize(ref JT808MessagePackReader reader, IJT808Config config) public DT1Demo6 Deserialize(ref JT808MessagePackReader reader, IJT808Config config)
{ {
DT1Demo6 dT1Demo6 = new DT1Demo6(); DT1Demo6 dT1Demo6 = new DT1Demo6();
@@ -105,6 +108,7 @@ namespace JT808.Protocol.Test.Simples


public class DT2Demo6 : JT808Bodies, IJT808MessagePackFormatter<DT2Demo6> public class DT2Demo6 : JT808Bodies, IJT808MessagePackFormatter<DT2Demo6>
{ {
public override ushort MsgId => 0x91;
public byte Sex2 { get; set; } public byte Sex2 { get; set; }


public ushort Age2 { get; set; } public ushort Age2 { get; set; }


+ 6
- 6
src/JT808.Protocol/JT808.Protocol.xml View File

@@ -2331,13 +2331,13 @@
终端通用应答 终端通用应答
</summary> </summary>
</member> </member>
<member name="P:JT808.Protocol.MessageBody.JT808_0x0001.MsgNum">
<member name="P:JT808.Protocol.MessageBody.JT808_0x0001.ReplyMsgNum">
<summary> <summary>
应答流水号 应答流水号
对应的平台消息的流水号 对应的平台消息的流水号
</summary> </summary>
</member> </member>
<member name="P:JT808.Protocol.MessageBody.JT808_0x0001.MsgId">
<member name="P:JT808.Protocol.MessageBody.JT808_0x0001.ReplyMsgId">
<summary> <summary>
应答 ID 应答 ID
对应的平台消息的 ID 对应的平台消息的 ID
@@ -2774,7 +2774,7 @@
位置信息查询应答 位置信息查询应答
</summary> </summary>
</member> </member>
<member name="P:JT808.Protocol.MessageBody.JT808_0x0201.MsgNum">
<member name="P:JT808.Protocol.MessageBody.JT808_0x0201.ReplyMsgNum">
<summary> <summary>
应答流水号 应答流水号
对应的终端注册消息的流水号 对应的终端注册消息的流水号
@@ -3097,7 +3097,7 @@
0x0805 0x0805
</summary> </summary>
</member> </member>
<member name="P:JT808.Protocol.MessageBody.JT808_0x0805.MsgNum">
<member name="P:JT808.Protocol.MessageBody.JT808_0x0805.ReplyMsgNum">
<summary> <summary>
应答流水号 应答流水号
对应平台摄像头立即拍摄命令的消息流水号 对应平台摄像头立即拍摄命令的消息流水号
@@ -3186,7 +3186,7 @@
平台通用应答 平台通用应答
</summary> </summary>
</member> </member>
<member name="P:JT808.Protocol.MessageBody.JT808_0x8001.MsgId">
<member name="P:JT808.Protocol.MessageBody.JT808_0x8001.AckMsgId">
<summary> <summary>
<see cref="T:JT808.Protocol.Enums.JT808MsgId"/> <see cref="T:JT808.Protocol.Enums.JT808MsgId"/>
</summary> </summary>
@@ -3221,7 +3221,7 @@
终端注册应答 终端注册应答
</summary> </summary>
</member> </member>
<member name="P:JT808.Protocol.MessageBody.JT808_0x8100.MsgNum">
<member name="P:JT808.Protocol.MessageBody.JT808_0x8100.AckMsgNum">
<summary> <summary>
应答流水号 应答流水号
对应的终端注册消息的流水号 对应的终端注册消息的流水号


+ 2
- 0
src/JT808.Protocol/JT808Bodies.cs View File

@@ -8,5 +8,7 @@
/// 当数据体为空的时候,使用null作为空包感觉不适合,所以就算使用空包也需要new一下来表达意思。 /// 当数据体为空的时候,使用null作为空包感觉不适合,所以就算使用空包也需要new一下来表达意思。
/// </summary> /// </summary>
public virtual bool SkipSerialization { get; set; } = false; public virtual bool SkipSerialization { get; set; } = false;

public abstract ushort MsgId { get;}
} }
} }

+ 3
- 0
src/JT808.Protocol/JT808SplitPackageBodies.cs View File

@@ -9,8 +9,11 @@ namespace JT808.Protocol
/// </summary> /// </summary>
public class JT808SplitPackageBodies : JT808Bodies, IJT808MessagePackFormatter<JT808SplitPackageBodies> public class JT808SplitPackageBodies : JT808Bodies, IJT808MessagePackFormatter<JT808SplitPackageBodies>
{ {

public byte[] Data { get; set; } public byte[] Data { get; set; }


public override ushort MsgId => throw new System.NotImplementedException();

public JT808SplitPackageBodies Deserialize(ref JT808MessagePackReader reader, IJT808Config config) public JT808SplitPackageBodies Deserialize(ref JT808MessagePackReader reader, IJT808Config config)
{ {
JT808SplitPackageBodies jT808SplitPackageBodies = new JT808SplitPackageBodies JT808SplitPackageBodies jT808SplitPackageBodies = new JT808SplitPackageBodies


+ 8
- 6
src/JT808.Protocol/MessageBody/JT808_0x0001.cs View File

@@ -9,17 +9,19 @@ namespace JT808.Protocol.MessageBody
/// </summary> /// </summary>
public class JT808_0x0001 : JT808Bodies,IJT808MessagePackFormatter<JT808_0x0001> public class JT808_0x0001 : JT808Bodies,IJT808MessagePackFormatter<JT808_0x0001>
{ {
public override ushort MsgId { get; } = 0x0001;
/// <summary> /// <summary>
/// 应答流水号 /// 应答流水号
/// 对应的平台消息的流水号 /// 对应的平台消息的流水号
/// </summary> /// </summary>
public ushort MsgNum { get; set; }
public ushort ReplyMsgNum { get; set; }
/// <summary> /// <summary>
/// 应答 ID /// 应答 ID
/// 对应的平台消息的 ID /// 对应的平台消息的 ID
/// <see cref="JT808.Protocol.Enums.JT808MsgId"/> /// <see cref="JT808.Protocol.Enums.JT808MsgId"/>
/// </summary> /// </summary>
public ushort MsgId { get; set; }
public ushort ReplyMsgId { get; set; }

/// <summary> /// <summary>
/// 结果 /// 结果
/// 0:成功/确认;1:失败;2:消息有误;3:不支持 /// 0:成功/确认;1:失败;2:消息有误;3:不支持
@@ -29,16 +31,16 @@ namespace JT808.Protocol.MessageBody
public JT808_0x0001 Deserialize(ref JT808MessagePackReader reader, IJT808Config config) public JT808_0x0001 Deserialize(ref JT808MessagePackReader reader, IJT808Config config)
{ {
JT808_0x0001 jT808_0X0001 = new JT808_0x0001(); JT808_0x0001 jT808_0X0001 = new JT808_0x0001();
jT808_0X0001.MsgNum = reader.ReadUInt16();
jT808_0X0001.MsgId = reader.ReadUInt16();
jT808_0X0001.ReplyMsgNum = reader.ReadUInt16();
jT808_0X0001.ReplyMsgId = reader.ReadUInt16();
jT808_0X0001.JT808TerminalResult = (JT808TerminalResult)reader.ReadByte(); jT808_0X0001.JT808TerminalResult = (JT808TerminalResult)reader.ReadByte();
return jT808_0X0001; return jT808_0X0001;
} }


public void Serialize(ref JT808MessagePackWriter writer, JT808_0x0001 value, IJT808Config config) public void Serialize(ref JT808MessagePackWriter writer, JT808_0x0001 value, IJT808Config config)
{ {
writer.WriteUInt16(value.MsgNum);
writer.WriteUInt16(value.MsgId);
writer.WriteUInt16(value.ReplyMsgNum);
writer.WriteUInt16(value.ReplyMsgId);
writer.WriteByte((byte)value.JT808TerminalResult); writer.WriteByte((byte)value.JT808TerminalResult);
} }
} }


+ 1
- 0
src/JT808.Protocol/MessageBody/JT808_0x0002.cs View File

@@ -6,5 +6,6 @@
public class JT808_0x0002 : JT808Bodies public class JT808_0x0002 : JT808Bodies
{ {
public override bool SkipSerialization { get; set; } = true; public override bool SkipSerialization { get; set; } = true;
public override ushort MsgId { get; } = 0x0002;
} }
} }

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

@@ -9,5 +9,7 @@
/// 跳过数据体序列化 /// 跳过数据体序列化
/// </summary> /// </summary>
public override bool SkipSerialization { get; set; } = true; public override bool SkipSerialization { get; set; } = true;

public override ushort MsgId { get; } = 0x0003;
} }
} }

+ 1
- 0
src/JT808.Protocol/MessageBody/JT808_0x0100.cs View File

@@ -8,6 +8,7 @@ namespace JT808.Protocol.MessageBody
/// </summary> /// </summary>
public class JT808_0x0100 : JT808Bodies, IJT808MessagePackFormatter<JT808_0x0100> public class JT808_0x0100 : JT808Bodies, IJT808MessagePackFormatter<JT808_0x0100>
{ {
public override ushort MsgId { get; } = 0x0100;
/// <summary> /// <summary>
/// 省域 ID /// 省域 ID
/// 标示终端安装车辆所在的省域,0 保留,由平台取默 /// 标示终端安装车辆所在的省域,0 保留,由平台取默


+ 1
- 0
src/JT808.Protocol/MessageBody/JT808_0x0102.cs View File

@@ -8,6 +8,7 @@ namespace JT808.Protocol.MessageBody
/// </summary> /// </summary>
public class JT808_0x0102 : JT808Bodies, IJT808MessagePackFormatter<JT808_0x0102> public class JT808_0x0102 : JT808Bodies, IJT808MessagePackFormatter<JT808_0x0102>
{ {
public override ushort MsgId { get; } = 0x0102;
/// <summary> /// <summary>
/// 鉴权码 /// 鉴权码
/// </summary> /// </summary>


+ 1
- 0
src/JT808.Protocol/MessageBody/JT808_0x0104.cs View File

@@ -11,6 +11,7 @@ namespace JT808.Protocol.MessageBody
/// </summary> /// </summary>
public class JT808_0x0104 : JT808Bodies, IJT808MessagePackFormatter<JT808_0x0104> public class JT808_0x0104 : JT808Bodies, IJT808MessagePackFormatter<JT808_0x0104>
{ {
public override ushort MsgId { get; } = 0x0104;
/// <summary> /// <summary>
/// 应答流水号 /// 应答流水号
/// 查询指定终端参数的流水号 /// 查询指定终端参数的流水号


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

@@ -8,6 +8,7 @@ namespace JT808.Protocol.MessageBody
/// </summary> /// </summary>
public class JT808_0x0107 : JT808Bodies,IJT808MessagePackFormatter<JT808_0x0107> public class JT808_0x0107 : JT808Bodies,IJT808MessagePackFormatter<JT808_0x0107>
{ {
public override ushort MsgId { get; } = 0x0107;
/// <summary> /// <summary>
/// 终端类型 /// 终端类型
/// bit0,0:不适用客运车辆,1:适用客运车辆; /// bit0,0:不适用客运车辆,1:适用客运车辆;


+ 1
- 0
src/JT808.Protocol/MessageBody/JT808_0x0108.cs View File

@@ -9,6 +9,7 @@ namespace JT808.Protocol.MessageBody
/// </summary> /// </summary>
public class JT808_0x0108 : JT808Bodies, IJT808MessagePackFormatter<JT808_0x0108> public class JT808_0x0108 : JT808Bodies, IJT808MessagePackFormatter<JT808_0x0108>
{ {
public override ushort MsgId { get; } = 0x0108;
/// <summary> /// <summary>
/// 升级类型 /// 升级类型
/// 0:终端,12:道路运输证 IC 卡读卡器,52:北斗卫星定位模块 /// 0:终端,12:道路运输证 IC 卡读卡器,52:北斗卫星定位模块


+ 1
- 0
src/JT808.Protocol/MessageBody/JT808_0x0200.cs View File

@@ -13,6 +13,7 @@ namespace JT808.Protocol.MessageBody
/// </summary> /// </summary>
public class JT808_0x0200 : JT808Bodies, IJT808MessagePackFormatter<JT808_0x0200> public class JT808_0x0200 : JT808Bodies, IJT808MessagePackFormatter<JT808_0x0200>
{ {
public override ushort MsgId { get; } = 0x0200;
/// <summary> /// <summary>
/// 报警标志 /// 报警标志
/// </summary> /// </summary>


+ 4
- 3
src/JT808.Protocol/MessageBody/JT808_0x0201.cs View File

@@ -8,11 +8,12 @@ namespace JT808.Protocol.MessageBody
/// </summary> /// </summary>
public class JT808_0x0201 : JT808Bodies, IJT808MessagePackFormatter<JT808_0x0201> public class JT808_0x0201 : JT808Bodies, IJT808MessagePackFormatter<JT808_0x0201>
{ {
public override ushort MsgId { get; } = 0x0201;
/// <summary> /// <summary>
/// 应答流水号 /// 应答流水号
/// 对应的终端注册消息的流水号 /// 对应的终端注册消息的流水号
/// </summary> /// </summary>
public ushort MsgNum { get; set; }
public ushort ReplyMsgNum { get; set; }


/// <summary> /// <summary>
/// 位置信息汇报见 8.12 /// 位置信息汇报见 8.12
@@ -21,14 +22,14 @@ namespace JT808.Protocol.MessageBody
public JT808_0x0201 Deserialize(ref JT808MessagePackReader reader, IJT808Config config) public JT808_0x0201 Deserialize(ref JT808MessagePackReader reader, IJT808Config config)
{ {
JT808_0x0201 jT808_0X0201 = new JT808_0x0201(); JT808_0x0201 jT808_0X0201 = new JT808_0x0201();
jT808_0X0201.MsgNum = reader.ReadUInt16();
jT808_0X0201.ReplyMsgNum = reader.ReadUInt16();
jT808_0X0201.Position = config.GetMessagePackFormatter<JT808_0x0200>().Deserialize(ref reader, config); jT808_0X0201.Position = config.GetMessagePackFormatter<JT808_0x0200>().Deserialize(ref reader, config);
return jT808_0X0201; return jT808_0X0201;
} }


public void Serialize(ref JT808MessagePackWriter writer, JT808_0x0201 value, IJT808Config config) public void Serialize(ref JT808MessagePackWriter writer, JT808_0x0201 value, IJT808Config config)
{ {
writer.WriteUInt16(value.MsgNum);
writer.WriteUInt16(value.ReplyMsgNum);
config.GetMessagePackFormatter<JT808_0x0200>().Serialize(ref writer, value.Position, config); config.GetMessagePackFormatter<JT808_0x0200>().Serialize(ref writer, value.Position, config);
} }
} }


+ 1
- 0
src/JT808.Protocol/MessageBody/JT808_0x0301.cs View File

@@ -9,6 +9,7 @@ namespace JT808.Protocol.MessageBody
/// </summary> /// </summary>
public class JT808_0x0301 : JT808Bodies, IJT808MessagePackFormatter<JT808_0x0301> public class JT808_0x0301 : JT808Bodies, IJT808MessagePackFormatter<JT808_0x0301>
{ {
public override ushort MsgId { get; } = 0x0301;
/// <summary> /// <summary>
/// 事件 ID /// 事件 ID
/// </summary> /// </summary>


+ 1
- 0
src/JT808.Protocol/MessageBody/JT808_0x0302.cs View File

@@ -10,6 +10,7 @@ namespace JT808.Protocol.MessageBody
/// </summary> /// </summary>
public class JT808_0x0302 : JT808Bodies, IJT808MessagePackFormatter<JT808_0x0302> public class JT808_0x0302 : JT808Bodies, IJT808MessagePackFormatter<JT808_0x0302>
{ {
public override ushort MsgId { get; } = 0x0302;
/// <summary> /// <summary>
/// 应答流水号 /// 应答流水号
/// 对应的提问下发消息的流水号 /// 对应的提问下发消息的流水号


+ 1
- 0
src/JT808.Protocol/MessageBody/JT808_0x0303.cs View File

@@ -9,6 +9,7 @@ namespace JT808.Protocol.MessageBody
/// </summary> /// </summary>
public class JT808_0x0303 : JT808Bodies, IJT808MessagePackFormatter<JT808_0x0303> public class JT808_0x0303 : JT808Bodies, IJT808MessagePackFormatter<JT808_0x0303>
{ {
public override ushort MsgId { get; } = 0x0303;
/// <summary> /// <summary>
/// 信息类型 /// 信息类型
/// </summary> /// </summary>


+ 1
- 0
src/JT808.Protocol/MessageBody/JT808_0x0500.cs View File

@@ -8,6 +8,7 @@ namespace JT808.Protocol.MessageBody
/// </summary> /// </summary>
public class JT808_0x0500 : JT808Bodies, IJT808MessagePackFormatter<JT808_0x0500> public class JT808_0x0500 : JT808Bodies, IJT808MessagePackFormatter<JT808_0x0500>
{ {
public override ushort MsgId { get; } = 0x0500;
/// <summary> /// <summary>
/// 应答流水号 /// 应答流水号
/// 对应的终端注册消息的流水号 /// 对应的终端注册消息的流水号


+ 1
- 0
src/JT808.Protocol/MessageBody/JT808_0x0701.cs View File

@@ -11,6 +11,7 @@ namespace JT808.Protocol.MessageBody
/// </summary> /// </summary>
public class JT808_0x0701 : JT808Bodies, IJT808MessagePackFormatter<JT808_0x0701> public class JT808_0x0701 : JT808Bodies, IJT808MessagePackFormatter<JT808_0x0701>
{ {
public override ushort MsgId { get; } = 0x0701;
/// <summary> /// <summary>
/// 电子运单长度 /// 电子运单长度
/// </summary> /// </summary>


+ 1
- 0
src/JT808.Protocol/MessageBody/JT808_0x0702.cs View File

@@ -10,6 +10,7 @@ namespace JT808.Protocol.MessageBody
/// </summary> /// </summary>
public class JT808_0x0702 : JT808Bodies, IJT808MessagePackFormatter<JT808_0x0702> public class JT808_0x0702 : JT808Bodies, IJT808MessagePackFormatter<JT808_0x0702>
{ {
public override ushort MsgId { get; } = 0x0702;
/// <summary> /// <summary>
/// 状态 /// 状态
/// 0x01:从业资格证 IC 卡插入(驾驶员上班); /// 0x01:从业资格证 IC 卡插入(驾驶员上班);


+ 1
- 0
src/JT808.Protocol/MessageBody/JT808_0x0704.cs View File

@@ -10,6 +10,7 @@ namespace JT808.Protocol.MessageBody
/// </summary> /// </summary>
public class JT808_0x0704 : JT808Bodies, IJT808MessagePackFormatter<JT808_0x0704> public class JT808_0x0704 : JT808Bodies, IJT808MessagePackFormatter<JT808_0x0704>
{ {
public override ushort MsgId { get; } = 0x0704;
/// <summary> /// <summary>
/// 数据项个数 /// 数据项个数
/// </summary> /// </summary>


+ 1
- 0
src/JT808.Protocol/MessageBody/JT808_0x0705.cs View File

@@ -13,6 +13,7 @@ namespace JT808.Protocol.MessageBody
/// </summary> /// </summary>
public class JT808_0x0705 : JT808Bodies, IJT808MessagePackFormatter<JT808_0x0705> public class JT808_0x0705 : JT808Bodies, IJT808MessagePackFormatter<JT808_0x0705>
{ {
public override ushort MsgId { get; } = 0x0705;
/// <summary> /// <summary>
/// 数据项个数 /// 数据项个数
/// 包含的 CAN 总线数据项个数,>0 /// 包含的 CAN 总线数据项个数,>0


+ 1
- 0
src/JT808.Protocol/MessageBody/JT808_0x0800.cs View File

@@ -10,6 +10,7 @@ namespace JT808.Protocol.MessageBody
/// </summary> /// </summary>
public class JT808_0x0800 : JT808Bodies, IJT808MessagePackFormatter<JT808_0x0800> public class JT808_0x0800 : JT808Bodies, IJT808MessagePackFormatter<JT808_0x0800>
{ {
public override ushort MsgId { get; } = 0x0800;
/// <summary> /// <summary>
/// 多媒体数据 ID /// 多媒体数据 ID
/// </summary> /// </summary>


+ 1
- 0
src/JT808.Protocol/MessageBody/JT808_0x0801.cs View File

@@ -10,6 +10,7 @@ namespace JT808.Protocol.MessageBody
/// </summary> /// </summary>
public class JT808_0x0801 : JT808Bodies, IJT808MessagePackFormatter<JT808_0x0801> public class JT808_0x0801 : JT808Bodies, IJT808MessagePackFormatter<JT808_0x0801>
{ {
public override ushort MsgId { get; } = 0x0801;
/// <summary> /// <summary>
/// 多媒体 ID /// 多媒体 ID
/// </summary> /// </summary>


+ 1
- 0
src/JT808.Protocol/MessageBody/JT808_0x0802.cs View File

@@ -11,6 +11,7 @@ namespace JT808.Protocol.MessageBody
/// </summary> /// </summary>
public class JT808_0x0802 : JT808Bodies, IJT808MessagePackFormatter<JT808_0x0802> public class JT808_0x0802 : JT808Bodies, IJT808MessagePackFormatter<JT808_0x0802>
{ {
public override ushort MsgId { get; } = 0x0802;
/// <summary> /// <summary>
/// 应答流水号 /// 应答流水号
/// 对应的多媒体数据检索消息的流水号 /// 对应的多媒体数据检索消息的流水号


+ 4
- 3
src/JT808.Protocol/MessageBody/JT808_0x0805.cs View File

@@ -10,11 +10,12 @@ namespace JT808.Protocol.MessageBody
/// </summary> /// </summary>
public class JT808_0x0805 : JT808Bodies, IJT808MessagePackFormatter<JT808_0x0805> public class JT808_0x0805 : JT808Bodies, IJT808MessagePackFormatter<JT808_0x0805>
{ {
public override ushort MsgId { get; } = 0x0805;
/// <summary> /// <summary>
/// 应答流水号 /// 应答流水号
/// 对应平台摄像头立即拍摄命令的消息流水号 /// 对应平台摄像头立即拍摄命令的消息流水号
/// </summary> /// </summary>
public ushort MsgNum { get; set; }
public ushort ReplyMsgNum { get; set; }
/// <summary> /// <summary>
/// 结果 /// 结果
/// 0:成功;1:失败;2:通道不支持。以下字段在结果=0 时才有效。 /// 0:成功;1:失败;2:通道不支持。以下字段在结果=0 时才有效。
@@ -33,7 +34,7 @@ namespace JT808.Protocol.MessageBody
public JT808_0x0805 Deserialize(ref JT808MessagePackReader reader, IJT808Config config) public JT808_0x0805 Deserialize(ref JT808MessagePackReader reader, IJT808Config config)
{ {
JT808_0x0805 jT808_0X0805 = new JT808_0x0805(); JT808_0x0805 jT808_0X0805 = new JT808_0x0805();
jT808_0X0805.MsgNum = reader.ReadUInt16();
jT808_0X0805.ReplyMsgNum = reader.ReadUInt16();
jT808_0X0805.Result = reader.ReadByte(); jT808_0X0805.Result = reader.ReadByte();
jT808_0X0805.MultimediaIdCount = reader.ReadUInt16(); jT808_0X0805.MultimediaIdCount = reader.ReadUInt16();
jT808_0X0805.MultimediaIds = new List<uint>(); jT808_0X0805.MultimediaIds = new List<uint>();
@@ -47,7 +48,7 @@ namespace JT808.Protocol.MessageBody


public void Serialize(ref JT808MessagePackWriter writer, JT808_0x0805 value, IJT808Config config) public void Serialize(ref JT808MessagePackWriter writer, JT808_0x0805 value, IJT808Config config)
{ {
writer.WriteUInt16(value.MsgNum);
writer.WriteUInt16(value.ReplyMsgNum);
writer.WriteByte(value.Result); writer.WriteByte(value.Result);
writer.WriteUInt16((ushort)value.MultimediaIds.Count); writer.WriteUInt16((ushort)value.MultimediaIds.Count);
foreach (var item in value.MultimediaIds) foreach (var item in value.MultimediaIds)


+ 1
- 0
src/JT808.Protocol/MessageBody/JT808_0x0900.cs View File

@@ -10,6 +10,7 @@ namespace JT808.Protocol.MessageBody
/// </summary> /// </summary>
public class JT808_0x0900 : JT808Bodies, IJT808MessagePackFormatter<JT808_0x0900> public class JT808_0x0900 : JT808Bodies, IJT808MessagePackFormatter<JT808_0x0900>
{ {
public override ushort MsgId { get; } = 0x0900;
/// <summary> /// <summary>
/// 透传消息类型 /// 透传消息类型
/// </summary> /// </summary>


+ 1
- 0
src/JT808.Protocol/MessageBody/JT808_0x0901.cs View File

@@ -10,6 +10,7 @@ namespace JT808.Protocol.MessageBody
/// </summary> /// </summary>
public class JT808_0x0901 : JT808Bodies, IJT808MessagePackFormatter<JT808_0x0901> public class JT808_0x0901 : JT808Bodies, IJT808MessagePackFormatter<JT808_0x0901>
{ {
public override ushort MsgId { get; } = 0x0901;
/// <summary> /// <summary>
/// 未压缩消息长度 /// 未压缩消息长度
/// </summary> /// </summary>


+ 1
- 0
src/JT808.Protocol/MessageBody/JT808_0x0A00.cs View File

@@ -10,6 +10,7 @@ namespace JT808.Protocol.MessageBody
/// </summary> /// </summary>
public class JT808_0x0A00 : JT808Bodies, IJT808MessagePackFormatter<JT808_0x0A00> public class JT808_0x0A00 : JT808Bodies, IJT808MessagePackFormatter<JT808_0x0A00>
{ {
public override ushort MsgId { get; } = 0x0A00;
/// <summary> /// <summary>
/// e /// e
/// 终端 RSA 公钥{e,n}中的 e /// 终端 RSA 公钥{e,n}中的 e


+ 4
- 3
src/JT808.Protocol/MessageBody/JT808_0x8001.cs View File

@@ -10,17 +10,18 @@ namespace JT808.Protocol.MessageBody
/// </summary> /// </summary>
public class JT808_0x8001 : JT808Bodies, IJT808MessagePackFormatter<JT808_0x8001> public class JT808_0x8001 : JT808Bodies, IJT808MessagePackFormatter<JT808_0x8001>
{ {
public override ushort MsgId { get; } = 0x8001;
public ushort MsgNum { get; set; } public ushort MsgNum { get; set; }
/// <summary> /// <summary>
/// <see cref="JT808.Protocol.Enums.JT808MsgId"/> /// <see cref="JT808.Protocol.Enums.JT808MsgId"/>
/// </summary> /// </summary>
public ushort MsgId { get; set; }
public ushort AckMsgId { get; set; }
public JT808PlatformResult JT808PlatformResult { get; set; } public JT808PlatformResult JT808PlatformResult { get; set; }
public JT808_0x8001 Deserialize(ref JT808MessagePackReader reader, IJT808Config config) public JT808_0x8001 Deserialize(ref JT808MessagePackReader reader, IJT808Config config)
{ {
JT808_0x8001 jT808_0X8001 = new JT808_0x8001(); JT808_0x8001 jT808_0X8001 = new JT808_0x8001();
jT808_0X8001.MsgNum = reader.ReadUInt16(); jT808_0X8001.MsgNum = reader.ReadUInt16();
jT808_0X8001.MsgId = reader.ReadUInt16();
jT808_0X8001.AckMsgId = reader.ReadUInt16();
jT808_0X8001.JT808PlatformResult = (JT808PlatformResult)reader.ReadByte(); jT808_0X8001.JT808PlatformResult = (JT808PlatformResult)reader.ReadByte();
return jT808_0X8001; return jT808_0X8001;
} }
@@ -28,7 +29,7 @@ namespace JT808.Protocol.MessageBody
public void Serialize(ref JT808MessagePackWriter writer, JT808_0x8001 value, IJT808Config config) public void Serialize(ref JT808MessagePackWriter writer, JT808_0x8001 value, IJT808Config config)
{ {
writer.WriteUInt16(value.MsgNum); writer.WriteUInt16(value.MsgNum);
writer.WriteUInt16(value.MsgId);
writer.WriteUInt16(value.AckMsgId);
writer.WriteByte((byte)value.JT808PlatformResult); writer.WriteByte((byte)value.JT808PlatformResult);
} }
} }


+ 1
- 0
src/JT808.Protocol/MessageBody/JT808_0x8003.cs View File

@@ -9,6 +9,7 @@ namespace JT808.Protocol.MessageBody
/// </summary> /// </summary>
public class JT808_0x8003 : JT808Bodies, IJT808MessagePackFormatter<JT808_0x8003> public class JT808_0x8003 : JT808Bodies, IJT808MessagePackFormatter<JT808_0x8003>
{ {
public override ushort MsgId { get; } = 0x8003;
/// <summary> /// <summary>
/// 原始消息流水号 /// 原始消息流水号
/// 对应要求补传的原始消息第一包的消息流水号 /// 对应要求补传的原始消息第一包的消息流水号


+ 4
- 3
src/JT808.Protocol/MessageBody/JT808_0x8100.cs View File

@@ -9,11 +9,12 @@ namespace JT808.Protocol.MessageBody
/// </summary> /// </summary>
public class JT808_0x8100 : JT808Bodies, IJT808MessagePackFormatter<JT808_0x8100> public class JT808_0x8100 : JT808Bodies, IJT808MessagePackFormatter<JT808_0x8100>
{ {
public override ushort MsgId { get; } = 0x8100;
/// <summary> /// <summary>
/// 应答流水号 /// 应答流水号
/// 对应的终端注册消息的流水号 /// 对应的终端注册消息的流水号
/// </summary> /// </summary>
public ushort MsgNum { get; set; }
public ushort AckMsgNum { get; set; }


/// <summary> /// <summary>
/// 结果 /// 结果
@@ -29,7 +30,7 @@ namespace JT808.Protocol.MessageBody
public JT808_0x8100 Deserialize(ref JT808MessagePackReader reader, IJT808Config config) public JT808_0x8100 Deserialize(ref JT808MessagePackReader reader, IJT808Config config)
{ {
JT808_0x8100 jT808_0X8100 = new JT808_0x8100(); JT808_0x8100 jT808_0X8100 = new JT808_0x8100();
jT808_0X8100.MsgNum = reader.ReadUInt16();
jT808_0X8100.AckMsgNum = reader.ReadUInt16();
jT808_0X8100.JT808TerminalRegisterResult = (JT808TerminalRegisterResult)reader.ReadByte(); jT808_0X8100.JT808TerminalRegisterResult = (JT808TerminalRegisterResult)reader.ReadByte();
// 只有在成功后才有该字段 // 只有在成功后才有该字段
if (jT808_0X8100.JT808TerminalRegisterResult == JT808TerminalRegisterResult.成功) if (jT808_0X8100.JT808TerminalRegisterResult == JT808TerminalRegisterResult.成功)
@@ -41,7 +42,7 @@ namespace JT808.Protocol.MessageBody


public void Serialize(ref JT808MessagePackWriter writer, JT808_0x8100 value, IJT808Config config) public void Serialize(ref JT808MessagePackWriter writer, JT808_0x8100 value, IJT808Config config)
{ {
writer.WriteUInt16(value.MsgNum);
writer.WriteUInt16(value.AckMsgNum);
writer.WriteByte((byte)value.JT808TerminalRegisterResult); writer.WriteByte((byte)value.JT808TerminalRegisterResult);
// 只有在成功后才有该字段 // 只有在成功后才有该字段
if (value.JT808TerminalRegisterResult == JT808TerminalRegisterResult.成功) if (value.JT808TerminalRegisterResult == JT808TerminalRegisterResult.成功)


+ 1
- 0
src/JT808.Protocol/MessageBody/JT808_0x8103.cs View File

@@ -13,6 +13,7 @@ namespace JT808.Protocol.MessageBody
/// </summary> /// </summary>
public class JT808_0x8103 : JT808Bodies, IJT808MessagePackFormatter<JT808_0x8103> public class JT808_0x8103 : JT808Bodies, IJT808MessagePackFormatter<JT808_0x8103>
{ {
public override ushort MsgId { get; } = 0x8103;
/// <summary> /// <summary>
/// 参数总数 /// 参数总数
/// </summary> /// </summary>


+ 1
- 0
src/JT808.Protocol/MessageBody/JT808_0x8104.cs View File

@@ -5,6 +5,7 @@
/// </summary> /// </summary>
public class JT808_0x8104 : JT808Bodies public class JT808_0x8104 : JT808Bodies
{ {
public override ushort MsgId { get; } = 0x8104;
/// <summary> /// <summary>
/// 跳过数据体序列化 /// 跳过数据体序列化
/// </summary> /// </summary>


+ 1
- 0
src/JT808.Protocol/MessageBody/JT808_0x8105.cs View File

@@ -9,6 +9,7 @@ namespace JT808.Protocol.MessageBody
/// </summary> /// </summary>
public class JT808_0x8105 : JT808Bodies, IJT808MessagePackFormatter<JT808_0x8105> public class JT808_0x8105 : JT808Bodies, IJT808MessagePackFormatter<JT808_0x8105>
{ {
public override ushort MsgId { get; } = 0x8105;
/// <summary> /// <summary>
/// 命令字 /// 命令字
/// </summary> /// </summary>


+ 1
- 0
src/JT808.Protocol/MessageBody/JT808_0x8106.cs View File

@@ -10,6 +10,7 @@ namespace JT808.Protocol.MessageBody
/// </summary> /// </summary>
public class JT808_0x8106 : JT808Bodies, IJT808MessagePackFormatter<JT808_0x8106> public class JT808_0x8106 : JT808Bodies, IJT808MessagePackFormatter<JT808_0x8106>
{ {
public override ushort MsgId { get; } = 0x8106;
/// <summary> /// <summary>
/// 参数总数 /// 参数总数
/// 参数总数为 n /// 参数总数为 n


+ 1
- 0
src/JT808.Protocol/MessageBody/JT808_0x8107.cs View File

@@ -5,6 +5,7 @@
/// </summary> /// </summary>
public class JT808_0x8107 : JT808Bodies public class JT808_0x8107 : JT808Bodies
{ {
public override ushort MsgId { get; } = 0x8107;
/// <summary> /// <summary>
/// 跳过数据体序列化 /// 跳过数据体序列化
/// </summary> /// </summary>


+ 1
- 0
src/JT808.Protocol/MessageBody/JT808_0x8108.cs View File

@@ -9,6 +9,7 @@ namespace JT808.Protocol.MessageBody
/// </summary> /// </summary>
public class JT808_0x8108 : JT808Bodies, IJT808MessagePackFormatter<JT808_0x8108> public class JT808_0x8108 : JT808Bodies, IJT808MessagePackFormatter<JT808_0x8108>
{ {
public override ushort MsgId { get; } = 0x8108;
/// <summary> /// <summary>
/// 升级类型 /// 升级类型
/// </summary> /// </summary>


+ 1
- 0
src/JT808.Protocol/MessageBody/JT808_0x8201.cs View File

@@ -5,6 +5,7 @@
/// </summary> /// </summary>
public class JT808_0x8201: JT808Bodies public class JT808_0x8201: JT808Bodies
{ {
public override ushort MsgId { get; } = 0x8201;
/// <summary> /// <summary>
/// 跳过数据体序列化 /// 跳过数据体序列化
/// </summary> /// </summary>


+ 1
- 0
src/JT808.Protocol/MessageBody/JT808_0x8202.cs View File

@@ -8,6 +8,7 @@ namespace JT808.Protocol.MessageBody
/// </summary> /// </summary>
public class JT808_0x8202 : JT808Bodies, IJT808MessagePackFormatter<JT808_0x8202> public class JT808_0x8202 : JT808Bodies, IJT808MessagePackFormatter<JT808_0x8202>
{ {
public override ushort MsgId { get; } = 0x8202;
/// <summary> /// <summary>
/// 时间间隔 /// 时间间隔
/// 单位为秒(s),0 则停止跟踪。停止跟踪无需带后继字段 /// 单位为秒(s),0 则停止跟踪。停止跟踪无需带后继字段


+ 1
- 0
src/JT808.Protocol/MessageBody/JT808_0x8203.cs View File

@@ -9,6 +9,7 @@ namespace JT808.Protocol.MessageBody
/// </summary> /// </summary>
public class JT808_0x8203 : JT808Bodies, IJT808MessagePackFormatter<JT808_0x8203> public class JT808_0x8203 : JT808Bodies, IJT808MessagePackFormatter<JT808_0x8203>
{ {
public override ushort MsgId { get; } = 0x8203;
/// <summary> /// <summary>
/// 报警消息流水号 /// 报警消息流水号
/// 需人工确认的报警消息流水号,0 表示该报警类型所有消息 /// 需人工确认的报警消息流水号,0 表示该报警类型所有消息


+ 1
- 0
src/JT808.Protocol/MessageBody/JT808_0x8300.cs View File

@@ -9,6 +9,7 @@ namespace JT808.Protocol.MessageBody
/// </summary> /// </summary>
public class JT808_0x8300 : JT808Bodies, IJT808MessagePackFormatter<JT808_0x8300> public class JT808_0x8300 : JT808Bodies, IJT808MessagePackFormatter<JT808_0x8300>
{ {
public override ushort MsgId { get; } = 0x8300;
/// <summary> /// <summary>
/// 文本信息标志位含义见 表 38 /// 文本信息标志位含义见 表 38
/// </summary> /// </summary>


+ 1
- 0
src/JT808.Protocol/MessageBody/JT808_0x8301.cs View File

@@ -11,6 +11,7 @@ namespace JT808.Protocol.MessageBody
/// </summary> /// </summary>
public class JT808_0x8301 : JT808Bodies, IJT808MessagePackFormatter<JT808_0x8301> public class JT808_0x8301 : JT808Bodies, IJT808MessagePackFormatter<JT808_0x8301>
{ {
public override ushort MsgId { get; } = 0x8301;
/// <summary> /// <summary>
/// 设置类型 /// 设置类型
/// <see cref="JT808.Protocol.Enums.JT808EventSettingType"/> /// <see cref="JT808.Protocol.Enums.JT808EventSettingType"/>


+ 1
- 0
src/JT808.Protocol/MessageBody/JT808_0x8302.cs View File

@@ -11,6 +11,7 @@ namespace JT808.Protocol.MessageBody
/// </summary> /// </summary>
public class JT808_0x8302 : JT808Bodies, IJT808MessagePackFormatter<JT808_0x8302> public class JT808_0x8302 : JT808Bodies, IJT808MessagePackFormatter<JT808_0x8302>
{ {
public override ushort MsgId { get; } = 0x8302;
/// <summary> /// <summary>
/// 标志 /// 标志
/// 提问下发标志位定义 /// 提问下发标志位定义


+ 1
- 0
src/JT808.Protocol/MessageBody/JT808_0x8303.cs View File

@@ -11,6 +11,7 @@ namespace JT808.Protocol.MessageBody
/// </summary> /// </summary>
public class JT808_0x8303 : JT808Bodies, IJT808MessagePackFormatter<JT808_0x8303> public class JT808_0x8303 : JT808Bodies, IJT808MessagePackFormatter<JT808_0x8303>
{ {
public override ushort MsgId { get; } = 0x8303;
/// <summary> /// <summary>
/// 设置类型 /// 设置类型
/// <see cref="JT808.Protocol.Enums.JT808InformationSettingType"/> /// <see cref="JT808.Protocol.Enums.JT808InformationSettingType"/>


+ 1
- 0
src/JT808.Protocol/MessageBody/JT808_0x8304.cs View File

@@ -9,6 +9,7 @@ namespace JT808.Protocol.MessageBody
/// </summary> /// </summary>
public class JT808_0x8304 : JT808Bodies, IJT808MessagePackFormatter<JT808_0x8304> public class JT808_0x8304 : JT808Bodies, IJT808MessagePackFormatter<JT808_0x8304>
{ {
public override ushort MsgId { get; } = 0x8304;
/// <summary> /// <summary>
/// 信息类型 /// 信息类型
/// </summary> /// </summary>


+ 1
- 0
src/JT808.Protocol/MessageBody/JT808_0x8400.cs View File

@@ -9,6 +9,7 @@ namespace JT808.Protocol.MessageBody
/// </summary> /// </summary>
public class JT808_0x8400 : JT808Bodies, IJT808MessagePackFormatter<JT808_0x8400> public class JT808_0x8400 : JT808Bodies, IJT808MessagePackFormatter<JT808_0x8400>
{ {
public override ushort MsgId { get; } = 0x8400;
/// <summary> /// <summary>
/// 0:普通通话;1:监听 /// 0:普通通话;1:监听
/// </summary> /// </summary>


+ 1
- 0
src/JT808.Protocol/MessageBody/JT808_0x8401.cs View File

@@ -11,6 +11,7 @@ namespace JT808.Protocol.MessageBody
/// </summary> /// </summary>
public class JT808_0x8401 : JT808Bodies, IJT808MessagePackFormatter<JT808_0x8401> public class JT808_0x8401 : JT808Bodies, IJT808MessagePackFormatter<JT808_0x8401>
{ {
public override ushort MsgId { get; } = 0x8401;
/// <summary> /// <summary>
/// 设置类型 /// 设置类型
/// </summary> /// </summary>


+ 1
- 0
src/JT808.Protocol/MessageBody/JT808_0x8500.cs View File

@@ -8,6 +8,7 @@ namespace JT808.Protocol.MessageBody
/// </summary> /// </summary>
public class JT808_0x8500 : JT808Bodies, IJT808MessagePackFormatter<JT808_0x8500> public class JT808_0x8500 : JT808Bodies, IJT808MessagePackFormatter<JT808_0x8500>
{ {
public override ushort MsgId { get; } = 0x8500;
/// <summary> /// <summary>
/// 控制标志 /// 控制标志
/// 控制指令标志位数据格式 /// 控制指令标志位数据格式


+ 1
- 0
src/JT808.Protocol/MessageBody/JT808_0x8600.cs View File

@@ -13,6 +13,7 @@ namespace JT808.Protocol.MessageBody
/// </summary> /// </summary>
public class JT808_0x8600 : JT808Bodies, IJT808MessagePackFormatter<JT808_0x8600> public class JT808_0x8600 : JT808Bodies, IJT808MessagePackFormatter<JT808_0x8600>
{ {
public override ushort MsgId { get; } = 0x8600;
/// <summary> /// <summary>
/// 设置属性 /// 设置属性
/// <see cref="JT808.Protocol.Enums.JT808SettingProperty"/> /// <see cref="JT808.Protocol.Enums.JT808SettingProperty"/>


+ 1
- 0
src/JT808.Protocol/MessageBody/JT808_0x8601.cs View File

@@ -10,6 +10,7 @@ namespace JT808.Protocol.MessageBody
/// </summary> /// </summary>
public class JT808_0x8601 : JT808Bodies, IJT808MessagePackFormatter<JT808_0x8601> public class JT808_0x8601 : JT808Bodies, IJT808MessagePackFormatter<JT808_0x8601>
{ {
public override ushort MsgId { get; } = 0x8601;
/// <summary> /// <summary>
/// 区域数 /// 区域数
/// 本条消息中包含的区域数,不超过 125 个,多于 125个建议用多条消息,0 为删除所有圆形区域 /// 本条消息中包含的区域数,不超过 125 个,多于 125个建议用多条消息,0 为删除所有圆形区域


+ 1
- 0
src/JT808.Protocol/MessageBody/JT808_0x8602.cs View File

@@ -12,6 +12,7 @@ namespace JT808.Protocol.MessageBody
/// </summary> /// </summary>
public class JT808_0x8602 : JT808Bodies, IJT808MessagePackFormatter<JT808_0x8602> public class JT808_0x8602 : JT808Bodies, IJT808MessagePackFormatter<JT808_0x8602>
{ {
public override ushort MsgId { get; } = 0x8602;
/// <summary> /// <summary>
/// 设置属性 /// 设置属性
/// <see cref="JT808.Protocol.Enums.JT808SettingProperty"/> /// <see cref="JT808.Protocol.Enums.JT808SettingProperty"/>


+ 1
- 0
src/JT808.Protocol/MessageBody/JT808_0x8603.cs View File

@@ -10,6 +10,7 @@ namespace JT808.Protocol.MessageBody
/// </summary> /// </summary>
public class JT808_0x8603 : JT808Bodies, IJT808MessagePackFormatter<JT808_0x8603> public class JT808_0x8603 : JT808Bodies, IJT808MessagePackFormatter<JT808_0x8603>
{ {
public override ushort MsgId { get; } = 0x8603;
/// <summary> /// <summary>
/// 区域数 /// 区域数
/// 本条消息中包含的区域数,不超过 125 个,多于 125个建议用多条消息,0 为删除所有圆形区域 /// 本条消息中包含的区域数,不超过 125 个,多于 125个建议用多条消息,0 为删除所有圆形区域


+ 1
- 0
src/JT808.Protocol/MessageBody/JT808_0x8604.cs View File

@@ -12,6 +12,7 @@ namespace JT808.Protocol.MessageBody
/// </summary> /// </summary>
public class JT808_0x8604 : JT808Bodies, IJT808MessagePackFormatter<JT808_0x8604> public class JT808_0x8604 : JT808Bodies, IJT808MessagePackFormatter<JT808_0x8604>
{ {
public override ushort MsgId { get; } = 0x8604;
/// <summary> /// <summary>
/// 区域 ID /// 区域 ID
/// </summary> /// </summary>


+ 1
- 0
src/JT808.Protocol/MessageBody/JT808_0x8605.cs View File

@@ -10,6 +10,7 @@ namespace JT808.Protocol.MessageBody
/// </summary> /// </summary>
public class JT808_0x8605 : JT808Bodies, IJT808MessagePackFormatter<JT808_0x8605> public class JT808_0x8605 : JT808Bodies, IJT808MessagePackFormatter<JT808_0x8605>
{ {
public override ushort MsgId { get; } = 0x8605;
/// <summary> /// <summary>
/// 区域数 /// 区域数
/// 本条消息中包含的区域数,不超过 125 个,多于 125个建议用多条消息,0 为删除所有圆形区域 /// 本条消息中包含的区域数,不超过 125 个,多于 125个建议用多条消息,0 为删除所有圆形区域


+ 1
- 0
src/JT808.Protocol/MessageBody/JT808_0x8606.cs View File

@@ -12,6 +12,7 @@ namespace JT808.Protocol.MessageBody
/// </summary> /// </summary>
public class JT808_0x8606 : JT808Bodies, IJT808MessagePackFormatter<JT808_0x8606> public class JT808_0x8606 : JT808Bodies, IJT808MessagePackFormatter<JT808_0x8606>
{ {
public override ushort MsgId { get; } = 0x8606;
/// <summary> /// <summary>
/// 路线 ID /// 路线 ID
/// </summary> /// </summary>


+ 1
- 0
src/JT808.Protocol/MessageBody/JT808_0x8607.cs View File

@@ -10,6 +10,7 @@ namespace JT808.Protocol.MessageBody
/// </summary> /// </summary>
public class JT808_0x8607 : JT808Bodies, IJT808MessagePackFormatter<JT808_0x8607> public class JT808_0x8607 : JT808Bodies, IJT808MessagePackFormatter<JT808_0x8607>
{ {
public override ushort MsgId { get; } = 0x8607;
/// <summary> /// <summary>
/// 区域数 /// 区域数
/// 本条消息中包含的区域数,不超过 125 个,多于 125个建议用多条消息,0 为删除所有圆形区域 /// 本条消息中包含的区域数,不超过 125 个,多于 125个建议用多条消息,0 为删除所有圆形区域


+ 1
- 0
src/JT808.Protocol/MessageBody/JT808_0x8702.cs View File

@@ -5,6 +5,7 @@
/// </summary> /// </summary>
public class JT808_0x8702 : JT808Bodies public class JT808_0x8702 : JT808Bodies
{ {
public override ushort MsgId { get; } = 0x8702;
/// <summary> /// <summary>
/// 跳过数据体序列化 /// 跳过数据体序列化
/// </summary> /// </summary>


+ 1
- 0
src/JT808.Protocol/MessageBody/JT808_0x8800.cs View File

@@ -9,6 +9,7 @@ namespace JT808.Protocol.MessageBody
/// </summary> /// </summary>
public class JT808_0x8800 : JT808Bodies, IJT808MessagePackFormatter<JT808_0x8800> public class JT808_0x8800 : JT808Bodies, IJT808MessagePackFormatter<JT808_0x8800>
{ {
public override ushort MsgId { get; } = 0x8800;
/// <summary> /// <summary>
/// 多媒体ID /// 多媒体ID
/// </summary> /// </summary>


+ 1
- 0
src/JT808.Protocol/MessageBody/JT808_0x8801.cs View File

@@ -9,6 +9,7 @@ namespace JT808.Protocol.MessageBody
/// </summary> /// </summary>
public class JT808_0x8801 : JT808Bodies, IJT808MessagePackFormatter<JT808_0x8801> public class JT808_0x8801 : JT808Bodies, IJT808MessagePackFormatter<JT808_0x8801>
{ {
public override ushort MsgId { get; } = 0x8801;
/// <summary> /// <summary>
/// 通道 ID /// 通道 ID
/// </summary> /// </summary>


+ 1
- 0
src/JT808.Protocol/MessageBody/JT808_0x8802.cs View File

@@ -10,6 +10,7 @@ namespace JT808.Protocol.MessageBody
/// </summary> /// </summary>
public class JT808_0x8802 : JT808Bodies, IJT808MessagePackFormatter<JT808_0x8802> public class JT808_0x8802 : JT808Bodies, IJT808MessagePackFormatter<JT808_0x8802>
{ {
public override ushort MsgId { get; } = 0x8802;
/// <summary> /// <summary>
/// 多媒体类型 /// 多媒体类型
/// <see cref="JT808.Protocol.Enums.JT808MultimediaType"/> /// <see cref="JT808.Protocol.Enums.JT808MultimediaType"/>


+ 1
- 0
src/JT808.Protocol/MessageBody/JT808_0x8803.cs View File

@@ -10,6 +10,7 @@ namespace JT808.Protocol.MessageBody
/// </summary> /// </summary>
public class JT808_0x8803 : JT808Bodies, IJT808MessagePackFormatter<JT808_0x8803> public class JT808_0x8803 : JT808Bodies, IJT808MessagePackFormatter<JT808_0x8803>
{ {
public override ushort MsgId { get; } = 0x8803;
/// <summary> /// <summary>
/// 多媒体类型 /// 多媒体类型
/// <see cref="JT808.Protocol.Enums.JT808MultimediaType"/> /// <see cref="JT808.Protocol.Enums.JT808MultimediaType"/>


+ 1
- 0
src/JT808.Protocol/MessageBody/JT808_0x8804.cs View File

@@ -9,6 +9,7 @@ namespace JT808.Protocol.MessageBody
/// </summary> /// </summary>
public class JT808_0x8804 : JT808Bodies, IJT808MessagePackFormatter<JT808_0x8804> public class JT808_0x8804 : JT808Bodies, IJT808MessagePackFormatter<JT808_0x8804>
{ {
public override ushort MsgId { get; } = 0x8804;
/// <summary> /// <summary>
/// 录音命令 /// 录音命令
/// 0:停止录音;0x01:开始录音; /// 0:停止录音;0x01:开始录音;


+ 1
- 0
src/JT808.Protocol/MessageBody/JT808_0x8805.cs View File

@@ -8,6 +8,7 @@ namespace JT808.Protocol.MessageBody
/// </summary> /// </summary>
public class JT808_0x8805 : JT808Bodies, IJT808MessagePackFormatter<JT808_0x8805> public class JT808_0x8805 : JT808Bodies, IJT808MessagePackFormatter<JT808_0x8805>
{ {
public override ushort MsgId { get; } = 0x8805;
/// <summary> /// <summary>
/// 多媒体ID /// 多媒体ID
/// </summary> /// </summary>


+ 1
- 0
src/JT808.Protocol/MessageBody/JT808_0x8900.cs View File

@@ -9,6 +9,7 @@ namespace JT808.Protocol.MessageBody
/// </summary> /// </summary>
public class JT808_0x8900 : JT808Bodies, IJT808MessagePackFormatter<JT808_0x8900> public class JT808_0x8900 : JT808Bodies, IJT808MessagePackFormatter<JT808_0x8900>
{ {
public override ushort MsgId { get; } = 0x8900;
/// <summary> /// <summary>
/// 透传消息类型 /// 透传消息类型
/// 透传消息类型定义见 表 93 /// 透传消息类型定义见 表 93


+ 1
- 0
src/JT808.Protocol/MessageBody/JT808_0x8A00.cs View File

@@ -10,6 +10,7 @@ namespace JT808.Protocol.MessageBody
/// </summary> /// </summary>
public class JT808_0x8A00 : JT808Bodies, IJT808MessagePackFormatter<JT808_0x8A00> public class JT808_0x8A00 : JT808Bodies, IJT808MessagePackFormatter<JT808_0x8A00>
{ {
public override ushort MsgId { get; } = 0x8A00;
/// <summary> /// <summary>
/// e /// e
/// 平台 RSA 公钥{e,n}中的 e /// 平台 RSA 公钥{e,n}中的 e


Loading…
Cancel
Save