diff --git a/src/JT808.Protocol/JT808.Protocol.xml b/src/JT808.Protocol/JT808.Protocol.xml index f146066..b060bc9 100644 --- a/src/JT808.Protocol/JT808.Protocol.xml +++ b/src/JT808.Protocol/JT808.Protocol.xml @@ -4616,7 +4616,7 @@ </member> <member name="P:JT808.Protocol.MessageBody.JT808_0x8103_0x0019.ParamValue"> <summary> - 服务器 TCP 端口 + 服务器 UDP 端口 </summary> </member> <member name="T:JT808.Protocol.MessageBody.JT808_0x8103_0x001A"> @@ -4774,7 +4774,7 @@ </member> <member name="T:JT808.Protocol.MessageBody.JT808_0x8103_0x0026"> <summary> - 从服务器无线通信拨号密码。该值为空,终端应使用主服务器相同配置 + 从服务器备份地址IP。该值为空,终端应使用主服务器相同配置 2019版本 </summary> </member> @@ -4927,7 +4927,7 @@ </member> <member name="P:JT808.Protocol.MessageBody.JT808_0x8103_0x0032.ParamValue"> <summary> - 电子围栏半径(非法位移阈值),单位为米 + 违规行驶时段范围(非法位移阈值),单位为米 </summary> </member> <member name="T:JT808.Protocol.MessageBody.JT808_0x8103_0x0040"> @@ -5290,7 +5290,7 @@ <member name="P:JT808.Protocol.MessageBody.JT808_0x8103_0x005D.ParamValue"> <summary> 碰撞报警参数设置 - b7-b0: 碰撞时间,单位 4ms; + b7-b0: 碰撞时间,单位4ms; b15-b8:碰撞加速度,单位 0.1g,设置范围在:0-79 之间,默认为10。 </summary> </member> @@ -5313,7 +5313,7 @@ </member> <member name="T:JT808.Protocol.MessageBody.JT808_0x8103_0x0064"> <summary> - 定时拍照控制,见 表 13 + 定时拍照控制,见 表 14 </summary> </member> <member name="P:JT808.Protocol.MessageBody.JT808_0x8103_0x0064.ParamLength"> @@ -5323,12 +5323,12 @@ </member> <member name="P:JT808.Protocol.MessageBody.JT808_0x8103_0x0064.ParamValue"> <summary> - 定时拍照控制,见 表 13 + 定时拍照控制,见 表 14 </summary> </member> <member name="T:JT808.Protocol.MessageBody.JT808_0x8103_0x0065"> <summary> - 定距拍照控制,见 表 14 + 定距拍照控制,见 表 15 </summary> </member> <member name="P:JT808.Protocol.MessageBody.JT808_0x8103_0x0065.ParamLength"> @@ -5338,7 +5338,7 @@ </member> <member name="P:JT808.Protocol.MessageBody.JT808_0x8103_0x0065.ParamValue"> <summary> - 定距拍照控制,见 表 14 + 定距拍照控制,见 表 15 </summary> </member> <member name="T:JT808.Protocol.MessageBody.JT808_0x8103_0x0070"> @@ -5413,7 +5413,7 @@ </member> <member name="P:JT808.Protocol.MessageBody.JT808_0x8103_0x0074.ParamValue"> <summary> - 饱和度,0-127 + 色度,0-255 </summary> </member> <member name="T:JT808.Protocol.MessageBody.JT808_0x8103_0x0080"> diff --git a/src/JT808.Protocol/MessageBody/JT808_0x8103_0x0001.cs b/src/JT808.Protocol/MessageBody/JT808_0x8103_0x0001.cs index 75f78a7..50e0cde 100644 --- a/src/JT808.Protocol/MessageBody/JT808_0x8103_0x0001.cs +++ b/src/JT808.Protocol/MessageBody/JT808_0x8103_0x0001.cs @@ -31,7 +31,7 @@ namespace JT808.Protocol.MessageBody jT808_0x8103_0x0001.ParamValue = reader.ReadUInt32(); writer.WriteNumber($"[{ jT808_0x8103_0x0001.ParamId.ReadNumber()}]参数ID", jT808_0x8103_0x0001.ParamId); writer.WriteNumber($"[{jT808_0x8103_0x0001.ParamLength.ReadNumber()}]参数长度", jT808_0x8103_0x0001.ParamLength); - writer.WriteNumber($"[{ jT808_0x8103_0x0001.ParamValue.ReadNumber()}]参数值", jT808_0x8103_0x0001.ParamValue); + writer.WriteNumber($"[{ jT808_0x8103_0x0001.ParamValue.ReadNumber()}]参数值[终端心跳发送间隔s]", jT808_0x8103_0x0001.ParamValue); } public JT808_0x8103_0x0001 Deserialize(ref JT808MessagePackReader reader, IJT808Config config) diff --git a/src/JT808.Protocol/MessageBody/JT808_0x8103_0x0002.cs b/src/JT808.Protocol/MessageBody/JT808_0x8103_0x0002.cs index 0940274..c9b4833 100644 --- a/src/JT808.Protocol/MessageBody/JT808_0x8103_0x0002.cs +++ b/src/JT808.Protocol/MessageBody/JT808_0x8103_0x0002.cs @@ -31,7 +31,7 @@ namespace JT808.Protocol.MessageBody jT808_0x8103_0x0002.ParamValue = reader.ReadUInt32(); writer.WriteNumber($"[{ jT808_0x8103_0x0002.ParamId.ReadNumber()}]参数ID", jT808_0x8103_0x0002.ParamId); writer.WriteNumber($"[{jT808_0x8103_0x0002.ParamLength.ReadNumber()}]参数长度", jT808_0x8103_0x0002.ParamLength); - writer.WriteNumber($"[{ jT808_0x8103_0x0002.ParamValue.ReadNumber()}]参数值", jT808_0x8103_0x0002.ParamValue); + writer.WriteNumber($"[{ jT808_0x8103_0x0002.ParamValue.ReadNumber()}]参数值[TCP消息应答超时时间s]", jT808_0x8103_0x0002.ParamValue); } public JT808_0x8103_0x0002 Deserialize(ref JT808MessagePackReader reader, IJT808Config config) diff --git a/src/JT808.Protocol/MessageBody/JT808_0x8103_0x0003.cs b/src/JT808.Protocol/MessageBody/JT808_0x8103_0x0003.cs index fd4c45d..566b8b9 100644 --- a/src/JT808.Protocol/MessageBody/JT808_0x8103_0x0003.cs +++ b/src/JT808.Protocol/MessageBody/JT808_0x8103_0x0003.cs @@ -31,7 +31,7 @@ namespace JT808.Protocol.MessageBody jT808_0x8103_0x0003.ParamValue = reader.ReadUInt32(); writer.WriteNumber($"[{ jT808_0x8103_0x0003.ParamId.ReadNumber()}]参数ID", jT808_0x8103_0x0003.ParamId); writer.WriteNumber($"[{jT808_0x8103_0x0003.ParamLength.ReadNumber()}]参数长度", jT808_0x8103_0x0003.ParamLength); - writer.WriteNumber($"[{ jT808_0x8103_0x0003.ParamValue.ReadNumber()}]参数值", jT808_0x8103_0x0003.ParamValue); + writer.WriteNumber($"[{ jT808_0x8103_0x0003.ParamValue.ReadNumber()}]参数值[TCP消息重传次数]", jT808_0x8103_0x0003.ParamValue); } public JT808_0x8103_0x0003 Deserialize(ref JT808MessagePackReader reader, IJT808Config config) diff --git a/src/JT808.Protocol/MessageBody/JT808_0x8103_0x0004.cs b/src/JT808.Protocol/MessageBody/JT808_0x8103_0x0004.cs index d94bdc1..cb72418 100644 --- a/src/JT808.Protocol/MessageBody/JT808_0x8103_0x0004.cs +++ b/src/JT808.Protocol/MessageBody/JT808_0x8103_0x0004.cs @@ -31,7 +31,7 @@ namespace JT808.Protocol.MessageBody jT808_0x8103_0x0004.ParamValue = reader.ReadUInt32(); writer.WriteNumber($"[{ jT808_0x8103_0x0004.ParamId.ReadNumber()}]参数ID", jT808_0x8103_0x0004.ParamId); writer.WriteNumber($"[{jT808_0x8103_0x0004.ParamLength.ReadNumber()}]参数长度", jT808_0x8103_0x0004.ParamLength); - writer.WriteNumber($"[{ jT808_0x8103_0x0004.ParamValue.ReadNumber()}]参数值", jT808_0x8103_0x0004.ParamValue); + writer.WriteNumber($"[{ jT808_0x8103_0x0004.ParamValue.ReadNumber()}]参数值[UDP消息应答超时时间s]", jT808_0x8103_0x0004.ParamValue); } public JT808_0x8103_0x0004 Deserialize(ref JT808MessagePackReader reader, IJT808Config config) diff --git a/src/JT808.Protocol/MessageBody/JT808_0x8103_0x0005.cs b/src/JT808.Protocol/MessageBody/JT808_0x8103_0x0005.cs index 3fc833b..1b7d16b 100644 --- a/src/JT808.Protocol/MessageBody/JT808_0x8103_0x0005.cs +++ b/src/JT808.Protocol/MessageBody/JT808_0x8103_0x0005.cs @@ -31,7 +31,7 @@ namespace JT808.Protocol.MessageBody jT808_0x8103_0x0005.ParamValue = reader.ReadUInt32(); writer.WriteNumber($"[{ jT808_0x8103_0x0005.ParamId.ReadNumber()}]参数ID", jT808_0x8103_0x0005.ParamId); writer.WriteNumber($"[{jT808_0x8103_0x0005.ParamLength.ReadNumber()}]参数长度", jT808_0x8103_0x0005.ParamLength); - writer.WriteNumber($"[{ jT808_0x8103_0x0005.ParamValue.ReadNumber()}]参数值", jT808_0x8103_0x0005.ParamValue); + writer.WriteNumber($"[{ jT808_0x8103_0x0005.ParamValue.ReadNumber()}]参数值[UDP消息重传次数]", jT808_0x8103_0x0005.ParamValue); } public JT808_0x8103_0x0005 Deserialize(ref JT808MessagePackReader reader, IJT808Config config) diff --git a/src/JT808.Protocol/MessageBody/JT808_0x8103_0x0006.cs b/src/JT808.Protocol/MessageBody/JT808_0x8103_0x0006.cs index 89e1058..1e67966 100644 --- a/src/JT808.Protocol/MessageBody/JT808_0x8103_0x0006.cs +++ b/src/JT808.Protocol/MessageBody/JT808_0x8103_0x0006.cs @@ -31,7 +31,7 @@ namespace JT808.Protocol.MessageBody jT808_0x8103_0x0006.ParamValue = reader.ReadUInt32(); writer.WriteNumber($"[{ jT808_0x8103_0x0006.ParamId.ReadNumber()}]参数ID", jT808_0x8103_0x0006.ParamId); writer.WriteNumber($"[{jT808_0x8103_0x0006.ParamLength.ReadNumber()}]参数长度", jT808_0x8103_0x0006.ParamLength); - writer.WriteNumber($"[{ jT808_0x8103_0x0006.ParamValue.ReadNumber()}]参数值", jT808_0x8103_0x0006.ParamValue); + writer.WriteNumber($"[{ jT808_0x8103_0x0006.ParamValue.ReadNumber()}]参数值[SMS消息应答超时时间s]", jT808_0x8103_0x0006.ParamValue); } public JT808_0x8103_0x0006 Deserialize(ref JT808MessagePackReader reader, IJT808Config config) diff --git a/src/JT808.Protocol/MessageBody/JT808_0x8103_0x0007.cs b/src/JT808.Protocol/MessageBody/JT808_0x8103_0x0007.cs index cd454be..2bb2d43 100644 --- a/src/JT808.Protocol/MessageBody/JT808_0x8103_0x0007.cs +++ b/src/JT808.Protocol/MessageBody/JT808_0x8103_0x0007.cs @@ -31,7 +31,7 @@ namespace JT808.Protocol.MessageBody jT808_0x8103_0x0007.ParamValue = reader.ReadUInt32(); writer.WriteNumber($"[{ jT808_0x8103_0x0007.ParamId.ReadNumber()}]参数ID", jT808_0x8103_0x0007.ParamId); writer.WriteNumber($"[{jT808_0x8103_0x0007.ParamLength.ReadNumber()}]参数长度", jT808_0x8103_0x0007.ParamLength); - writer.WriteNumber($"[{ jT808_0x8103_0x0007.ParamValue.ReadNumber()}]参数值", jT808_0x8103_0x0007.ParamValue); + writer.WriteNumber($"[{ jT808_0x8103_0x0007.ParamValue.ReadNumber()}]参数值[SMS消息重传次数]", jT808_0x8103_0x0007.ParamValue); } public JT808_0x8103_0x0007 Deserialize(ref JT808MessagePackReader reader, IJT808Config config) diff --git a/src/JT808.Protocol/MessageBody/JT808_0x8103_0x0010.cs b/src/JT808.Protocol/MessageBody/JT808_0x8103_0x0010.cs index 448c730..c58f89a 100644 --- a/src/JT808.Protocol/MessageBody/JT808_0x8103_0x0010.cs +++ b/src/JT808.Protocol/MessageBody/JT808_0x8103_0x0010.cs @@ -31,7 +31,7 @@ namespace JT808.Protocol.MessageBody jT808_0x8103_0x0010.ParamValue = reader.ReadString(jT808_0x8103_0x0010.ParamLength); writer.WriteNumber($"[{ jT808_0x8103_0x0010.ParamId.ReadNumber()}]参数ID", jT808_0x8103_0x0010.ParamId); writer.WriteNumber($"[{jT808_0x8103_0x0010.ParamLength.ReadNumber()}]参数长度", jT808_0x8103_0x0010.ParamLength); - writer.WriteString($"[{paramValue.ToArray().ToHexString()}]参数值", jT808_0x8103_0x0010.ParamValue); + writer.WriteString($"[{paramValue.ToArray().ToHexString()}]参数值[主服务器APN]", jT808_0x8103_0x0010.ParamValue); } public JT808_0x8103_0x0010 Deserialize(ref JT808MessagePackReader reader, IJT808Config config) diff --git a/src/JT808.Protocol/MessageBody/JT808_0x8103_0x0011.cs b/src/JT808.Protocol/MessageBody/JT808_0x8103_0x0011.cs index 8603054..8f8a2dc 100644 --- a/src/JT808.Protocol/MessageBody/JT808_0x8103_0x0011.cs +++ b/src/JT808.Protocol/MessageBody/JT808_0x8103_0x0011.cs @@ -31,7 +31,7 @@ namespace JT808.Protocol.MessageBody jT808_0x8103_0x0011.ParamValue = reader.ReadString(jT808_0x8103_0x0011.ParamLength); writer.WriteNumber($"[{ jT808_0x8103_0x0011.ParamId.ReadNumber()}]参数ID", jT808_0x8103_0x0011.ParamId); writer.WriteNumber($"[{jT808_0x8103_0x0011.ParamLength.ReadNumber()}]参数长度", jT808_0x8103_0x0011.ParamLength); - writer.WriteString($"[{paramValue.ToArray().ToHexString()}]参数值", jT808_0x8103_0x0011.ParamValue); + writer.WriteString($"[{paramValue.ToArray().ToHexString()}]参数值[主服务器无线通信拨号用户名]", jT808_0x8103_0x0011.ParamValue); } public JT808_0x8103_0x0011 Deserialize(ref JT808MessagePackReader reader, IJT808Config config) diff --git a/src/JT808.Protocol/MessageBody/JT808_0x8103_0x0012.cs b/src/JT808.Protocol/MessageBody/JT808_0x8103_0x0012.cs index 5e1b348..5123d6b 100644 --- a/src/JT808.Protocol/MessageBody/JT808_0x8103_0x0012.cs +++ b/src/JT808.Protocol/MessageBody/JT808_0x8103_0x0012.cs @@ -31,7 +31,7 @@ namespace JT808.Protocol.MessageBody jT808_0x8103_0x0012.ParamValue = reader.ReadString(jT808_0x8103_0x0012.ParamLength); writer.WriteNumber($"[{ jT808_0x8103_0x0012.ParamId.ReadNumber()}]参数ID", jT808_0x8103_0x0012.ParamId); writer.WriteNumber($"[{jT808_0x8103_0x0012.ParamLength.ReadNumber()}]参数长度", jT808_0x8103_0x0012.ParamLength); - writer.WriteString($"[{paramValue.ToArray().ToHexString()}]参数值", jT808_0x8103_0x0012.ParamValue); + writer.WriteString($"[{paramValue.ToArray().ToHexString()}]参数值[主服务器无线通信拨号密码]", jT808_0x8103_0x0012.ParamValue); } public JT808_0x8103_0x0012 Deserialize(ref JT808MessagePackReader reader, IJT808Config config) diff --git a/src/JT808.Protocol/MessageBody/JT808_0x8103_0x0013.cs b/src/JT808.Protocol/MessageBody/JT808_0x8103_0x0013.cs index c4939a9..828e6c3 100644 --- a/src/JT808.Protocol/MessageBody/JT808_0x8103_0x0013.cs +++ b/src/JT808.Protocol/MessageBody/JT808_0x8103_0x0013.cs @@ -31,7 +31,7 @@ namespace JT808.Protocol.MessageBody jT808_0x8103_0x0013.ParamValue = reader.ReadString(jT808_0x8103_0x0013.ParamLength); writer.WriteNumber($"[{ jT808_0x8103_0x0013.ParamId.ReadNumber()}]参数ID", jT808_0x8103_0x0013.ParamId); writer.WriteNumber($"[{jT808_0x8103_0x0013.ParamLength.ReadNumber()}]参数长度", jT808_0x8103_0x0013.ParamLength); - writer.WriteString($"[{paramValue.ToArray().ToHexString()}]参数值", jT808_0x8103_0x0013.ParamValue); + writer.WriteString($"[{paramValue.ToArray().ToHexString()}]参数值[主服务器地址IP]", jT808_0x8103_0x0013.ParamValue); } public JT808_0x8103_0x0013 Deserialize(ref JT808MessagePackReader reader, IJT808Config config) diff --git a/src/JT808.Protocol/MessageBody/JT808_0x8103_0x0014.cs b/src/JT808.Protocol/MessageBody/JT808_0x8103_0x0014.cs index e5be113..5e967f0 100644 --- a/src/JT808.Protocol/MessageBody/JT808_0x8103_0x0014.cs +++ b/src/JT808.Protocol/MessageBody/JT808_0x8103_0x0014.cs @@ -31,7 +31,7 @@ namespace JT808.Protocol.MessageBody jT808_0x8103_0x0014.ParamValue = reader.ReadString(jT808_0x8103_0x0014.ParamLength); writer.WriteNumber($"[{ jT808_0x8103_0x0014.ParamId.ReadNumber()}]参数ID", jT808_0x8103_0x0014.ParamId); writer.WriteNumber($"[{jT808_0x8103_0x0014.ParamLength.ReadNumber()}]参数长度", jT808_0x8103_0x0014.ParamLength); - writer.WriteString($"[{paramValue.ToArray().ToHexString()}]参数值", jT808_0x8103_0x0014.ParamValue); + writer.WriteString($"[{paramValue.ToArray().ToHexString()}]参数值[备份服务器APN]", jT808_0x8103_0x0014.ParamValue); } public JT808_0x8103_0x0014 Deserialize(ref JT808MessagePackReader reader, IJT808Config config) diff --git a/src/JT808.Protocol/MessageBody/JT808_0x8103_0x0015.cs b/src/JT808.Protocol/MessageBody/JT808_0x8103_0x0015.cs index 1b026ff..c1be654 100644 --- a/src/JT808.Protocol/MessageBody/JT808_0x8103_0x0015.cs +++ b/src/JT808.Protocol/MessageBody/JT808_0x8103_0x0015.cs @@ -31,7 +31,7 @@ namespace JT808.Protocol.MessageBody jT808_0x8103_0x0015.ParamValue = reader.ReadString(jT808_0x8103_0x0015.ParamLength); writer.WriteNumber($"[{ jT808_0x8103_0x0015.ParamId.ReadNumber()}]参数ID", jT808_0x8103_0x0015.ParamId); writer.WriteNumber($"[{jT808_0x8103_0x0015.ParamLength.ReadNumber()}]参数长度", jT808_0x8103_0x0015.ParamLength); - writer.WriteString($"[{paramValue.ToArray().ToHexString()}]参数值", jT808_0x8103_0x0015.ParamValue); + writer.WriteString($"[{paramValue.ToArray().ToHexString()}]参数值[备份服务器无线通信拨号用户名]", jT808_0x8103_0x0015.ParamValue); } public JT808_0x8103_0x0015 Deserialize(ref JT808MessagePackReader reader, IJT808Config config) diff --git a/src/JT808.Protocol/MessageBody/JT808_0x8103_0x0016.cs b/src/JT808.Protocol/MessageBody/JT808_0x8103_0x0016.cs index 2b8bb62..6544871 100644 --- a/src/JT808.Protocol/MessageBody/JT808_0x8103_0x0016.cs +++ b/src/JT808.Protocol/MessageBody/JT808_0x8103_0x0016.cs @@ -31,7 +31,7 @@ namespace JT808.Protocol.MessageBody jT808_0x8103_0x0016.ParamValue = reader.ReadString(jT808_0x8103_0x0016.ParamLength); writer.WriteNumber($"[{ jT808_0x8103_0x0016.ParamId.ReadNumber()}]参数ID", jT808_0x8103_0x0016.ParamId); writer.WriteNumber($"[{jT808_0x8103_0x0016.ParamLength.ReadNumber()}]参数长度", jT808_0x8103_0x0016.ParamLength); - writer.WriteString($"[{paramValue.ToArray().ToHexString()}]参数值", jT808_0x8103_0x0016.ParamValue); + writer.WriteString($"[{paramValue.ToArray().ToHexString()}]参数值[备份服务器无线通信拨号密码]", jT808_0x8103_0x0016.ParamValue); } public JT808_0x8103_0x0016 Deserialize(ref JT808MessagePackReader reader, IJT808Config config) diff --git a/src/JT808.Protocol/MessageBody/JT808_0x8103_0x0017.cs b/src/JT808.Protocol/MessageBody/JT808_0x8103_0x0017.cs index 89b28e9..4c73221 100644 --- a/src/JT808.Protocol/MessageBody/JT808_0x8103_0x0017.cs +++ b/src/JT808.Protocol/MessageBody/JT808_0x8103_0x0017.cs @@ -31,7 +31,7 @@ namespace JT808.Protocol.MessageBody jT808_0x8103_0x0017.ParamValue = reader.ReadString(jT808_0x8103_0x0017.ParamLength); writer.WriteNumber($"[{ jT808_0x8103_0x0017.ParamId.ReadNumber()}]参数ID", jT808_0x8103_0x0017.ParamId); writer.WriteNumber($"[{jT808_0x8103_0x0017.ParamLength.ReadNumber()}]参数长度", jT808_0x8103_0x0017.ParamLength); - writer.WriteString($"[{paramValue.ToArray().ToHexString()}]参数值", jT808_0x8103_0x0017.ParamValue); + writer.WriteString($"[{paramValue.ToArray().ToHexString()}]参数值[备份服务器地址IP]", jT808_0x8103_0x0017.ParamValue); } public JT808_0x8103_0x0017 Deserialize(ref JT808MessagePackReader reader, IJT808Config config) diff --git a/src/JT808.Protocol/MessageBody/JT808_0x8103_0x0018.cs b/src/JT808.Protocol/MessageBody/JT808_0x8103_0x0018.cs index 8cddd85..23ddcb5 100644 --- a/src/JT808.Protocol/MessageBody/JT808_0x8103_0x0018.cs +++ b/src/JT808.Protocol/MessageBody/JT808_0x8103_0x0018.cs @@ -32,7 +32,7 @@ namespace JT808.Protocol.MessageBody value.ParamValue = reader.ReadUInt32(); writer.WriteNumber($"[{ value.ParamId.ReadNumber()}]参数ID", value.ParamId); writer.WriteNumber($"[{value.ParamLength.ReadNumber()}]参数长度", value.ParamLength); - writer.WriteNumber($"[{ value.ParamValue.ReadNumber()}]参数值", value.ParamValue); + writer.WriteNumber($"[{ value.ParamValue.ReadNumber()}]参数值[服务器TCP端口]", value.ParamValue); } public JT808_0x8103_0x0018 Deserialize(ref JT808MessagePackReader reader, IJT808Config config) diff --git a/src/JT808.Protocol/MessageBody/JT808_0x8103_0x0019.cs b/src/JT808.Protocol/MessageBody/JT808_0x8103_0x0019.cs index 9dbfeb8..64ec2c6 100644 --- a/src/JT808.Protocol/MessageBody/JT808_0x8103_0x0019.cs +++ b/src/JT808.Protocol/MessageBody/JT808_0x8103_0x0019.cs @@ -20,7 +20,7 @@ namespace JT808.Protocol.MessageBody /// </summary> public override byte ParamLength { get; set; } = 4; /// <summary> - ///服务器 TCP 端口 + ///服务器 UDP 端口 /// </summary> public uint ParamValue { get; set; } @@ -32,7 +32,7 @@ namespace JT808.Protocol.MessageBody value.ParamValue = reader.ReadUInt32(); writer.WriteNumber($"[{ value.ParamId.ReadNumber()}]参数ID", value.ParamId); writer.WriteNumber($"[{value.ParamLength.ReadNumber()}]参数长度", value.ParamLength); - writer.WriteNumber($"[{ value.ParamValue.ReadNumber()}]参数值", value.ParamValue); + writer.WriteNumber($"[{ value.ParamValue.ReadNumber()}]参数值[服务器UDP端口]", value.ParamValue); } public JT808_0x8103_0x0019 Deserialize(ref JT808MessagePackReader reader, IJT808Config config) diff --git a/src/JT808.Protocol/MessageBody/JT808_0x8103_0x001A.cs b/src/JT808.Protocol/MessageBody/JT808_0x8103_0x001A.cs index dc101a5..9aa7192 100644 --- a/src/JT808.Protocol/MessageBody/JT808_0x8103_0x001A.cs +++ b/src/JT808.Protocol/MessageBody/JT808_0x8103_0x001A.cs @@ -31,7 +31,7 @@ namespace JT808.Protocol.MessageBody jT808_0x8103_0x001A.ParamValue = reader.ReadString(jT808_0x8103_0x001A.ParamLength); writer.WriteNumber($"[{ jT808_0x8103_0x001A.ParamId.ReadNumber()}]参数ID", jT808_0x8103_0x001A.ParamId); writer.WriteNumber($"[{jT808_0x8103_0x001A.ParamLength.ReadNumber()}]参数长度", jT808_0x8103_0x001A.ParamLength); - writer.WriteString($"[{paramValue.ToArray().ToHexString()}]参数值", jT808_0x8103_0x001A.ParamValue); + writer.WriteString($"[{paramValue.ToArray().ToHexString()}]参数值[道路运输证IC卡认证主服务器 IP]", jT808_0x8103_0x001A.ParamValue); } public JT808_0x8103_0x001A Deserialize(ref JT808MessagePackReader reader, IJT808Config config) diff --git a/src/JT808.Protocol/MessageBody/JT808_0x8103_0x001B.cs b/src/JT808.Protocol/MessageBody/JT808_0x8103_0x001B.cs index dd3b76b..ee01f75 100644 --- a/src/JT808.Protocol/MessageBody/JT808_0x8103_0x001B.cs +++ b/src/JT808.Protocol/MessageBody/JT808_0x8103_0x001B.cs @@ -30,7 +30,7 @@ namespace JT808.Protocol.MessageBody jT808_0x8103_0x001B.ParamValue = reader.ReadUInt32(); writer.WriteNumber($"[{ jT808_0x8103_0x001B.ParamId.ReadNumber()}]参数ID", jT808_0x8103_0x001B.ParamId); writer.WriteNumber($"[{jT808_0x8103_0x001B.ParamLength.ReadNumber()}]参数长度", jT808_0x8103_0x001B.ParamLength); - writer.WriteNumber($"[{ jT808_0x8103_0x001B.ParamValue.ReadNumber()}]参数值", jT808_0x8103_0x001B.ParamValue); + writer.WriteNumber($"[{ jT808_0x8103_0x001B.ParamValue.ReadNumber()}]参数值[道路运输证IC卡认证主服务器TCP端口]", jT808_0x8103_0x001B.ParamValue); } public JT808_0x8103_0x001B Deserialize(ref JT808MessagePackReader reader, IJT808Config config) diff --git a/src/JT808.Protocol/MessageBody/JT808_0x8103_0x001C.cs b/src/JT808.Protocol/MessageBody/JT808_0x8103_0x001C.cs index 2cc6f6a..acf13d3 100644 --- a/src/JT808.Protocol/MessageBody/JT808_0x8103_0x001C.cs +++ b/src/JT808.Protocol/MessageBody/JT808_0x8103_0x001C.cs @@ -30,7 +30,7 @@ namespace JT808.Protocol.MessageBody jT808_0x8103_0x001C.ParamValue = reader.ReadUInt32(); writer.WriteNumber($"[{ jT808_0x8103_0x001C.ParamId.ReadNumber()}]参数ID", jT808_0x8103_0x001C.ParamId); writer.WriteNumber($"[{jT808_0x8103_0x001C.ParamLength.ReadNumber()}]参数长度", jT808_0x8103_0x001C.ParamLength); - writer.WriteNumber($"[{ jT808_0x8103_0x001C.ParamValue.ReadNumber()}]参数值", jT808_0x8103_0x001C.ParamValue); + writer.WriteNumber($"[{ jT808_0x8103_0x001C.ParamValue.ReadNumber()}]参数值[道路运输证IC卡认证主服务器UDP端口]", jT808_0x8103_0x001C.ParamValue); } public JT808_0x8103_0x001C Deserialize(ref JT808MessagePackReader reader, IJT808Config config) diff --git a/src/JT808.Protocol/MessageBody/JT808_0x8103_0x001D.cs b/src/JT808.Protocol/MessageBody/JT808_0x8103_0x001D.cs index 9253208..6b7b62a 100644 --- a/src/JT808.Protocol/MessageBody/JT808_0x8103_0x001D.cs +++ b/src/JT808.Protocol/MessageBody/JT808_0x8103_0x001D.cs @@ -31,7 +31,7 @@ namespace JT808.Protocol.MessageBody jT808_0x8103_0x001D.ParamValue = reader.ReadString(jT808_0x8103_0x001D.ParamLength); writer.WriteNumber($"[{ jT808_0x8103_0x001D.ParamId.ReadNumber()}]参数ID", jT808_0x8103_0x001D.ParamId); writer.WriteNumber($"[{jT808_0x8103_0x001D.ParamLength.ReadNumber()}]参数长度", jT808_0x8103_0x001D.ParamLength); - writer.WriteString($"[{paramValue.ToArray().ToHexString()}]参数值", jT808_0x8103_0x001D.ParamValue); + writer.WriteString($"[{paramValue.ToArray().ToHexString()}]参数值[道路运输证IC卡认证备份服务器IP]", jT808_0x8103_0x001D.ParamValue); } public JT808_0x8103_0x001D Deserialize(ref JT808MessagePackReader reader, IJT808Config config) diff --git a/src/JT808.Protocol/MessageBody/JT808_0x8103_0x0020.cs b/src/JT808.Protocol/MessageBody/JT808_0x8103_0x0020.cs index f319563..2c0acba 100644 --- a/src/JT808.Protocol/MessageBody/JT808_0x8103_0x0020.cs +++ b/src/JT808.Protocol/MessageBody/JT808_0x8103_0x0020.cs @@ -30,7 +30,7 @@ namespace JT808.Protocol.MessageBody jT808_0x8103_0x0020.ParamValue = reader.ReadUInt32(); writer.WriteNumber($"[{ jT808_0x8103_0x0020.ParamId.ReadNumber()}]参数ID", jT808_0x8103_0x0020.ParamId); writer.WriteNumber($"[{jT808_0x8103_0x0020.ParamLength.ReadNumber()}]参数长度", jT808_0x8103_0x0020.ParamLength); - writer.WriteNumber($"[{ jT808_0x8103_0x0020.ParamValue.ReadNumber()}]参数值", jT808_0x8103_0x0020.ParamValue); + writer.WriteNumber($"[{ jT808_0x8103_0x0020.ParamValue.ReadNumber()}]参数值[位置汇报策略,0:定时汇报;1:定距汇报;2:定时和定距汇报]", jT808_0x8103_0x0020.ParamValue); } public JT808_0x8103_0x0020 Deserialize(ref JT808MessagePackReader reader, IJT808Config config) diff --git a/src/JT808.Protocol/MessageBody/JT808_0x8103_0x0021.cs b/src/JT808.Protocol/MessageBody/JT808_0x8103_0x0021.cs index 24753d6..d9fe8b4 100644 --- a/src/JT808.Protocol/MessageBody/JT808_0x8103_0x0021.cs +++ b/src/JT808.Protocol/MessageBody/JT808_0x8103_0x0021.cs @@ -30,7 +30,7 @@ namespace JT808.Protocol.MessageBody jT808_0x8103_0x0021.ParamValue = reader.ReadUInt32(); writer.WriteNumber($"[{ jT808_0x8103_0x0021.ParamId.ReadNumber()}]参数ID", jT808_0x8103_0x0021.ParamId); writer.WriteNumber($"[{jT808_0x8103_0x0021.ParamLength.ReadNumber()}]参数长度", jT808_0x8103_0x0021.ParamLength); - writer.WriteNumber($"[{ jT808_0x8103_0x0021.ParamValue.ReadNumber()}]参数值", jT808_0x8103_0x0021.ParamValue); + writer.WriteNumber($"[{ jT808_0x8103_0x0021.ParamValue.ReadNumber()}]参数值[位置汇报方案,0:根据 ACC 状态; 1:根据登录状态和 ACC 状态]", jT808_0x8103_0x0021.ParamValue); } public JT808_0x8103_0x0021 Deserialize(ref JT808MessagePackReader reader, IJT808Config config) diff --git a/src/JT808.Protocol/MessageBody/JT808_0x8103_0x0022.cs b/src/JT808.Protocol/MessageBody/JT808_0x8103_0x0022.cs index 79cac75..c052529 100644 --- a/src/JT808.Protocol/MessageBody/JT808_0x8103_0x0022.cs +++ b/src/JT808.Protocol/MessageBody/JT808_0x8103_0x0022.cs @@ -30,7 +30,7 @@ namespace JT808.Protocol.MessageBody jT808_0x8103_0x0022.ParamValue = reader.ReadUInt32(); writer.WriteNumber($"[{ jT808_0x8103_0x0022.ParamId.ReadNumber()}]参数ID", jT808_0x8103_0x0022.ParamId); writer.WriteNumber($"[{jT808_0x8103_0x0022.ParamLength.ReadNumber()}]参数长度", jT808_0x8103_0x0022.ParamLength); - writer.WriteNumber($"[{ jT808_0x8103_0x0022.ParamValue.ReadNumber()}]参数值", jT808_0x8103_0x0022.ParamValue); + writer.WriteNumber($"[{ jT808_0x8103_0x0022.ParamValue.ReadNumber()}]参数值[驾驶员未登录汇报时间间隔s]", jT808_0x8103_0x0022.ParamValue); } public JT808_0x8103_0x0022 Deserialize(ref JT808MessagePackReader reader, IJT808Config config) diff --git a/src/JT808.Protocol/MessageBody/JT808_0x8103_0x0023.cs b/src/JT808.Protocol/MessageBody/JT808_0x8103_0x0023.cs index d53654c..f7cf949 100644 --- a/src/JT808.Protocol/MessageBody/JT808_0x8103_0x0023.cs +++ b/src/JT808.Protocol/MessageBody/JT808_0x8103_0x0023.cs @@ -32,7 +32,7 @@ namespace JT808.Protocol.MessageBody value.ParamValue = reader.ReadString(value.ParamLength); writer.WriteNumber($"[{ value.ParamId.ReadNumber()}]参数ID", value.ParamId); writer.WriteNumber($"[{value.ParamLength.ReadNumber()}]参数长度", value.ParamLength); - writer.WriteString($"[{paramValue.ToArray().ToHexString()}]参数值", value.ParamValue); + writer.WriteString($"[{paramValue.ToArray().ToHexString()}]参数值[从服务器APN]", value.ParamValue); } public JT808_0x8103_0x0023 Deserialize(ref JT808MessagePackReader reader, IJT808Config config) diff --git a/src/JT808.Protocol/MessageBody/JT808_0x8103_0x0024.cs b/src/JT808.Protocol/MessageBody/JT808_0x8103_0x0024.cs index f313b2a..8a03975 100644 --- a/src/JT808.Protocol/MessageBody/JT808_0x8103_0x0024.cs +++ b/src/JT808.Protocol/MessageBody/JT808_0x8103_0x0024.cs @@ -32,7 +32,7 @@ namespace JT808.Protocol.MessageBody jT808_0x8103_0x0024.ParamValue = reader.ReadString(jT808_0x8103_0x0024.ParamLength); writer.WriteNumber($"[{ jT808_0x8103_0x0024.ParamId.ReadNumber()}]参数ID", jT808_0x8103_0x0024.ParamId); writer.WriteNumber($"[{jT808_0x8103_0x0024.ParamLength.ReadNumber()}]参数长度", jT808_0x8103_0x0024.ParamLength); - writer.WriteString($"[{paramValue.ToArray().ToHexString()}]参数值", jT808_0x8103_0x0024.ParamValue); + writer.WriteString($"[{paramValue.ToArray().ToHexString()}]参数值[从服务器无线通信拨号用户名]", jT808_0x8103_0x0024.ParamValue); } public JT808_0x8103_0x0024 Deserialize(ref JT808MessagePackReader reader, IJT808Config config) diff --git a/src/JT808.Protocol/MessageBody/JT808_0x8103_0x0025.cs b/src/JT808.Protocol/MessageBody/JT808_0x8103_0x0025.cs index bedd4bf..6a8b920 100644 --- a/src/JT808.Protocol/MessageBody/JT808_0x8103_0x0025.cs +++ b/src/JT808.Protocol/MessageBody/JT808_0x8103_0x0025.cs @@ -32,7 +32,7 @@ namespace JT808.Protocol.MessageBody jT808_0x8103_0x0025.ParamValue = reader.ReadString(jT808_0x8103_0x0025.ParamLength); writer.WriteNumber($"[{ jT808_0x8103_0x0025.ParamId.ReadNumber()}]参数ID", jT808_0x8103_0x0025.ParamId); writer.WriteNumber($"[{jT808_0x8103_0x0025.ParamLength.ReadNumber()}]参数长度", jT808_0x8103_0x0025.ParamLength); - writer.WriteString($"[{paramValue.ToArray().ToHexString()}]参数值", jT808_0x8103_0x0025.ParamValue); + writer.WriteString($"[{paramValue.ToArray().ToHexString()}]参数值[从服务器无线通信拨号密码]", jT808_0x8103_0x0025.ParamValue); } public JT808_0x8103_0x0025 Deserialize(ref JT808MessagePackReader reader, IJT808Config config) diff --git a/src/JT808.Protocol/MessageBody/JT808_0x8103_0x0026.cs b/src/JT808.Protocol/MessageBody/JT808_0x8103_0x0026.cs index fb8cb52..7fc8e97 100644 --- a/src/JT808.Protocol/MessageBody/JT808_0x8103_0x0026.cs +++ b/src/JT808.Protocol/MessageBody/JT808_0x8103_0x0026.cs @@ -8,7 +8,7 @@ using JT808.Protocol.MessagePack; namespace JT808.Protocol.MessageBody { /// <summary> - /// 从服务器无线通信拨号密码。该值为空,终端应使用主服务器相同配置 + /// 从服务器备份地址IP。该值为空,终端应使用主服务器相同配置 /// 2019版本 /// </summary> public class JT808_0x8103_0x0026 : JT808_0x8103_BodyBase, IJT808MessagePackFormatter<JT808_0x8103_0x0026>, IJT808_2019_Version, IJT808Analyze @@ -32,7 +32,7 @@ namespace JT808.Protocol.MessageBody value.ParamValue = reader.ReadString(value.ParamLength); writer.WriteNumber($"[{ value.ParamId.ReadNumber()}]参数ID", value.ParamId); writer.WriteNumber($"[{value.ParamLength.ReadNumber()}]参数长度", value.ParamLength); - writer.WriteString($"[{paramValue.ToArray().ToHexString()}]参数值", value.ParamValue); + writer.WriteString($"[{paramValue.ToArray().ToHexString()}]参数值[从服务器备份地址IP]", value.ParamValue); } public JT808_0x8103_0x0026 Deserialize(ref JT808MessagePackReader reader, IJT808Config config) diff --git a/src/JT808.Protocol/MessageBody/JT808_0x8103_0x0027.cs b/src/JT808.Protocol/MessageBody/JT808_0x8103_0x0027.cs index 2f4ced2..d8c73d7 100644 --- a/src/JT808.Protocol/MessageBody/JT808_0x8103_0x0027.cs +++ b/src/JT808.Protocol/MessageBody/JT808_0x8103_0x0027.cs @@ -30,7 +30,7 @@ namespace JT808.Protocol.MessageBody jT808_0x8103_0x0027.ParamValue = reader.ReadUInt32(); writer.WriteNumber($"[{ jT808_0x8103_0x0027.ParamId.ReadNumber()}]参数ID", jT808_0x8103_0x0027.ParamId); writer.WriteNumber($"[{jT808_0x8103_0x0027.ParamLength.ReadNumber()}]参数长度", jT808_0x8103_0x0027.ParamLength); - writer.WriteNumber($"[{ jT808_0x8103_0x0027.ParamValue.ReadNumber()}]参数值", jT808_0x8103_0x0027.ParamValue); + writer.WriteNumber($"[{ jT808_0x8103_0x0027.ParamValue.ReadNumber()}]参数值[休眠时汇报时间间隔s]", jT808_0x8103_0x0027.ParamValue); } public JT808_0x8103_0x0027 Deserialize(ref JT808MessagePackReader reader, IJT808Config config) diff --git a/src/JT808.Protocol/MessageBody/JT808_0x8103_0x0028.cs b/src/JT808.Protocol/MessageBody/JT808_0x8103_0x0028.cs index ad48b81..e26656f 100644 --- a/src/JT808.Protocol/MessageBody/JT808_0x8103_0x0028.cs +++ b/src/JT808.Protocol/MessageBody/JT808_0x8103_0x0028.cs @@ -30,7 +30,7 @@ namespace JT808.Protocol.MessageBody jT808_0x8103_0x0028.ParamValue = reader.ReadUInt32(); writer.WriteNumber($"[{ jT808_0x8103_0x0028.ParamId.ReadNumber()}]参数ID", jT808_0x8103_0x0028.ParamId); writer.WriteNumber($"[{jT808_0x8103_0x0028.ParamLength.ReadNumber()}]参数长度", jT808_0x8103_0x0028.ParamLength); - writer.WriteNumber($"[{ jT808_0x8103_0x0028.ParamValue.ReadNumber()}]参数值", jT808_0x8103_0x0028.ParamValue); + writer.WriteNumber($"[{ jT808_0x8103_0x0028.ParamValue.ReadNumber()}]参数值[紧急报警时汇报时间间隔s]", jT808_0x8103_0x0028.ParamValue); } public JT808_0x8103_0x0028 Deserialize(ref JT808MessagePackReader reader, IJT808Config config) diff --git a/src/JT808.Protocol/MessageBody/JT808_0x8103_0x0029.cs b/src/JT808.Protocol/MessageBody/JT808_0x8103_0x0029.cs index d8fa0e0..87dcc78 100644 --- a/src/JT808.Protocol/MessageBody/JT808_0x8103_0x0029.cs +++ b/src/JT808.Protocol/MessageBody/JT808_0x8103_0x0029.cs @@ -30,7 +30,7 @@ namespace JT808.Protocol.MessageBody jT808_0x8103_0x0029.ParamValue = reader.ReadUInt32(); writer.WriteNumber($"[{ jT808_0x8103_0x0029.ParamId.ReadNumber()}]参数ID", jT808_0x8103_0x0029.ParamId); writer.WriteNumber($"[{jT808_0x8103_0x0029.ParamLength.ReadNumber()}]参数长度", jT808_0x8103_0x0029.ParamLength); - writer.WriteNumber($"[{ jT808_0x8103_0x0029.ParamValue.ReadNumber()}]参数值", jT808_0x8103_0x0029.ParamValue); + writer.WriteNumber($"[{ jT808_0x8103_0x0029.ParamValue.ReadNumber()}]参数值[缺省时间汇报间隔s]", jT808_0x8103_0x0029.ParamValue); } public JT808_0x8103_0x0029 Deserialize(ref JT808MessagePackReader reader, IJT808Config config) diff --git a/src/JT808.Protocol/MessageBody/JT808_0x8103_0x002C.cs b/src/JT808.Protocol/MessageBody/JT808_0x8103_0x002C.cs index 966f48c..f888335 100644 --- a/src/JT808.Protocol/MessageBody/JT808_0x8103_0x002C.cs +++ b/src/JT808.Protocol/MessageBody/JT808_0x8103_0x002C.cs @@ -30,7 +30,7 @@ namespace JT808.Protocol.MessageBody jT808_0x8103_0x002C.ParamValue = reader.ReadUInt32(); writer.WriteNumber($"[{ jT808_0x8103_0x002C.ParamId.ReadNumber()}]参数ID", jT808_0x8103_0x002C.ParamId); writer.WriteNumber($"[{jT808_0x8103_0x002C.ParamLength.ReadNumber()}]参数长度", jT808_0x8103_0x002C.ParamLength); - writer.WriteNumber($"[{ jT808_0x8103_0x002C.ParamValue.ReadNumber()}]参数值", jT808_0x8103_0x002C.ParamValue); + writer.WriteNumber($"[{ jT808_0x8103_0x002C.ParamValue.ReadNumber()}]参数值[缺省距离汇报间隔m]", jT808_0x8103_0x002C.ParamValue); } public JT808_0x8103_0x002C Deserialize(ref JT808MessagePackReader reader, IJT808Config config) diff --git a/src/JT808.Protocol/MessageBody/JT808_0x8103_0x002D.cs b/src/JT808.Protocol/MessageBody/JT808_0x8103_0x002D.cs index e54c3dd..9fdf37a 100644 --- a/src/JT808.Protocol/MessageBody/JT808_0x8103_0x002D.cs +++ b/src/JT808.Protocol/MessageBody/JT808_0x8103_0x002D.cs @@ -30,7 +30,7 @@ namespace JT808.Protocol.MessageBody jT808_0x8103_0x002D.ParamValue = reader.ReadUInt32(); writer.WriteNumber($"[{ jT808_0x8103_0x002D.ParamId.ReadNumber()}]参数ID", jT808_0x8103_0x002D.ParamId); writer.WriteNumber($"[{jT808_0x8103_0x002D.ParamLength.ReadNumber()}]参数长度", jT808_0x8103_0x002D.ParamLength); - writer.WriteNumber($"[{ jT808_0x8103_0x002D.ParamValue.ReadNumber()}]参数值", jT808_0x8103_0x002D.ParamValue); + writer.WriteNumber($"[{ jT808_0x8103_0x002D.ParamValue.ReadNumber()}]参数值[驾驶员未登录汇报距离间隔m]", jT808_0x8103_0x002D.ParamValue); } public JT808_0x8103_0x002D Deserialize(ref JT808MessagePackReader reader, IJT808Config config) { diff --git a/src/JT808.Protocol/MessageBody/JT808_0x8103_0x002E.cs b/src/JT808.Protocol/MessageBody/JT808_0x8103_0x002E.cs index 71f42df..c4aa2ac 100644 --- a/src/JT808.Protocol/MessageBody/JT808_0x8103_0x002E.cs +++ b/src/JT808.Protocol/MessageBody/JT808_0x8103_0x002E.cs @@ -30,7 +30,7 @@ namespace JT808.Protocol.MessageBody jT808_0x8103_0x002E.ParamValue = reader.ReadUInt32(); writer.WriteNumber($"[{ jT808_0x8103_0x002E.ParamId.ReadNumber()}]参数ID", jT808_0x8103_0x002E.ParamId); writer.WriteNumber($"[{jT808_0x8103_0x002E.ParamLength.ReadNumber()}]参数长度", jT808_0x8103_0x002E.ParamLength); - writer.WriteNumber($"[{ jT808_0x8103_0x002E.ParamValue.ReadNumber()}]参数值", jT808_0x8103_0x002E.ParamValue); + writer.WriteNumber($"[{ jT808_0x8103_0x002E.ParamValue.ReadNumber()}]参数值[休眠时汇报距离间隔m]", jT808_0x8103_0x002E.ParamValue); } public JT808_0x8103_0x002E Deserialize(ref JT808MessagePackReader reader, IJT808Config config) diff --git a/src/JT808.Protocol/MessageBody/JT808_0x8103_0x002F.cs b/src/JT808.Protocol/MessageBody/JT808_0x8103_0x002F.cs index d8ec2a8..60d937f 100644 --- a/src/JT808.Protocol/MessageBody/JT808_0x8103_0x002F.cs +++ b/src/JT808.Protocol/MessageBody/JT808_0x8103_0x002F.cs @@ -30,7 +30,7 @@ namespace JT808.Protocol.MessageBody jT808_0x8103_0x002F.ParamValue = reader.ReadUInt32(); writer.WriteNumber($"[{ jT808_0x8103_0x002F.ParamId.ReadNumber()}]参数ID", jT808_0x8103_0x002F.ParamId); writer.WriteNumber($"[{jT808_0x8103_0x002F.ParamLength.ReadNumber()}]参数长度", jT808_0x8103_0x002F.ParamLength); - writer.WriteNumber($"[{ jT808_0x8103_0x002F.ParamValue.ReadNumber()}]参数值", jT808_0x8103_0x002F.ParamValue); + writer.WriteNumber($"[{ jT808_0x8103_0x002F.ParamValue.ReadNumber()}]参数值[紧急报警时汇报距离间隔m]", jT808_0x8103_0x002F.ParamValue); } public JT808_0x8103_0x002F Deserialize(ref JT808MessagePackReader reader, IJT808Config config) diff --git a/src/JT808.Protocol/MessageBody/JT808_0x8103_0x0030.cs b/src/JT808.Protocol/MessageBody/JT808_0x8103_0x0030.cs index 252376b..791052b 100644 --- a/src/JT808.Protocol/MessageBody/JT808_0x8103_0x0030.cs +++ b/src/JT808.Protocol/MessageBody/JT808_0x8103_0x0030.cs @@ -1,5 +1,8 @@ -using JT808.Protocol.Attributes; +using System.Text.Json; +using JT808.Protocol.Attributes; +using JT808.Protocol.Extensions; using JT808.Protocol.Formatters; +using JT808.Protocol.Interfaces; using JT808.Protocol.MessagePack; namespace JT808.Protocol.MessageBody @@ -7,7 +10,7 @@ namespace JT808.Protocol.MessageBody /// <summary> /// 拐点补传角度,<180 /// </summary> - public class JT808_0x8103_0x0030 : JT808_0x8103_BodyBase, IJT808MessagePackFormatter<JT808_0x8103_0x0030> + public class JT808_0x8103_0x0030 : JT808_0x8103_BodyBase, IJT808MessagePackFormatter<JT808_0x8103_0x0030>, IJT808Analyze { public override uint ParamId { get; set; } = 0x0030; /// <summary> @@ -18,6 +21,18 @@ namespace JT808.Protocol.MessageBody /// 拐点补传角度,<180 /// </summary> public uint ParamValue { get; set; } + + public void Analyze(ref JT808MessagePackReader reader, Utf8JsonWriter writer, IJT808Config config) + { + JT808_0x8103_0x0030 jT808_0x8103_0x0030 = new JT808_0x8103_0x0030(); + jT808_0x8103_0x0030.ParamId = reader.ReadUInt32(); + jT808_0x8103_0x0030.ParamLength = reader.ReadByte(); + jT808_0x8103_0x0030.ParamValue = reader.ReadUInt32(); + writer.WriteNumber($"[{ jT808_0x8103_0x0030.ParamId.ReadNumber()}]参数ID", jT808_0x8103_0x0030.ParamId); + writer.WriteNumber($"[{jT808_0x8103_0x0030.ParamLength.ReadNumber()}]参数长度", jT808_0x8103_0x0030.ParamLength); + writer.WriteNumber($"[{ jT808_0x8103_0x0030.ParamValue.ReadNumber()}]参数值[拐点补传角度,<180]", jT808_0x8103_0x0030.ParamValue); + } + public JT808_0x8103_0x0030 Deserialize(ref JT808MessagePackReader reader, IJT808Config config) { JT808_0x8103_0x0030 jT808_0x8103_0x0030 = new JT808_0x8103_0x0030(); diff --git a/src/JT808.Protocol/MessageBody/JT808_0x8103_0x0031.cs b/src/JT808.Protocol/MessageBody/JT808_0x8103_0x0031.cs index 94dfeac..40c31cd 100644 --- a/src/JT808.Protocol/MessageBody/JT808_0x8103_0x0031.cs +++ b/src/JT808.Protocol/MessageBody/JT808_0x8103_0x0031.cs @@ -1,5 +1,8 @@ -using JT808.Protocol.Attributes; +using System.Text.Json; +using JT808.Protocol.Attributes; +using JT808.Protocol.Extensions; using JT808.Protocol.Formatters; +using JT808.Protocol.Interfaces; using JT808.Protocol.MessagePack; namespace JT808.Protocol.MessageBody @@ -7,7 +10,7 @@ namespace JT808.Protocol.MessageBody /// <summary> /// 电子围栏半径(非法位移阈值),单位为米 /// </summary> - public class JT808_0x8103_0x0031 : JT808_0x8103_BodyBase, IJT808MessagePackFormatter<JT808_0x8103_0x0031> + public class JT808_0x8103_0x0031 : JT808_0x8103_BodyBase, IJT808MessagePackFormatter<JT808_0x8103_0x0031>, IJT808Analyze { public override uint ParamId { get; set; } = 0x0031; /// <summary> @@ -18,6 +21,18 @@ namespace JT808.Protocol.MessageBody /// 电子围栏半径(非法位移阈值),单位为米 /// </summary> public ushort ParamValue { get; set; } + + public void Analyze(ref JT808MessagePackReader reader, Utf8JsonWriter writer, IJT808Config config) + { + JT808_0x8103_0x0031 jT808_0x8103_0x0031 = new JT808_0x8103_0x0031(); + jT808_0x8103_0x0031.ParamId = reader.ReadUInt32(); + jT808_0x8103_0x0031.ParamLength = reader.ReadByte(); + jT808_0x8103_0x0031.ParamValue = reader.ReadUInt16(); + writer.WriteNumber($"[{ jT808_0x8103_0x0031.ParamId.ReadNumber()}]参数ID", jT808_0x8103_0x0031.ParamId); + writer.WriteNumber($"[{jT808_0x8103_0x0031.ParamLength.ReadNumber()}]参数长度", jT808_0x8103_0x0031.ParamLength); + writer.WriteNumber($"[{ jT808_0x8103_0x0031.ParamValue.ReadNumber()}]参数值[电子围栏半径m]", jT808_0x8103_0x0031.ParamValue); + } + public JT808_0x8103_0x0031 Deserialize(ref JT808MessagePackReader reader, IJT808Config config) { JT808_0x8103_0x0031 jT808_0x8103_0x0031 = new JT808_0x8103_0x0031(); diff --git a/src/JT808.Protocol/MessageBody/JT808_0x8103_0x0032.cs b/src/JT808.Protocol/MessageBody/JT808_0x8103_0x0032.cs index 00fa008..cdcd144 100644 --- a/src/JT808.Protocol/MessageBody/JT808_0x8103_0x0032.cs +++ b/src/JT808.Protocol/MessageBody/JT808_0x8103_0x0032.cs @@ -1,4 +1,6 @@ -using JT808.Protocol.Attributes; +using System.Text.Json; +using JT808.Protocol.Attributes; +using JT808.Protocol.Extensions; using JT808.Protocol.Formatters; using JT808.Protocol.Interfaces; using JT808.Protocol.MessagePack; @@ -8,7 +10,7 @@ namespace JT808.Protocol.MessageBody /// <summary> /// 违规行驶时段范围 /// </summary> - public class JT808_0x8103_0x0032 : JT808_0x8103_BodyBase, IJT808MessagePackFormatter<JT808_0x8103_0x0032>, IJT808_2019_Version + public class JT808_0x8103_0x0032 : JT808_0x8103_BodyBase, IJT808MessagePackFormatter<JT808_0x8103_0x0032>, IJT808_2019_Version, IJT808Analyze { public override uint ParamId { get; set; } = 0x0032; /// <summary> @@ -16,9 +18,21 @@ namespace JT808.Protocol.MessageBody /// </summary> public override byte ParamLength { get; set; } = 4; /// <summary> - /// 电子围栏半径(非法位移阈值),单位为米 + /// 违规行驶时段范围(非法位移阈值),单位为米 /// </summary> public byte[] ParamValue { get; set; } + + public void Analyze(ref JT808MessagePackReader reader, Utf8JsonWriter writer, IJT808Config config) + { + JT808_0x8103_0x0032 value = new JT808_0x8103_0x0032(); + value.ParamId = reader.ReadUInt32(); + value.ParamLength = reader.ReadByte(); + value.ParamValue = reader.ReadArray(4).ToArray(); + writer.WriteNumber($"[{ value.ParamId.ReadNumber()}]参数ID", value.ParamId); + writer.WriteNumber($"[{value.ParamLength.ReadNumber()}]参数长度", value.ParamLength); + writer.WriteString($"[{ value.ParamValue.ToHexString()}]参数值[违规行驶时段范围]", $"开始时间{value.ParamValue[0]}时{value.ParamValue[1]}分,结束时间{value.ParamValue[2]}时{value.ParamValue[3]}分"); + } + public JT808_0x8103_0x0032 Deserialize(ref JT808MessagePackReader reader, IJT808Config config) { JT808_0x8103_0x0032 value = new JT808_0x8103_0x0032(); diff --git a/src/JT808.Protocol/MessageBody/JT808_0x8103_0x0040.cs b/src/JT808.Protocol/MessageBody/JT808_0x8103_0x0040.cs index 2318606..6629505 100644 --- a/src/JT808.Protocol/MessageBody/JT808_0x8103_0x0040.cs +++ b/src/JT808.Protocol/MessageBody/JT808_0x8103_0x0040.cs @@ -1,5 +1,8 @@ -using JT808.Protocol.Attributes; +using System.Text.Json; +using JT808.Protocol.Attributes; +using JT808.Protocol.Extensions; using JT808.Protocol.Formatters; +using JT808.Protocol.Interfaces; using JT808.Protocol.MessagePack; namespace JT808.Protocol.MessageBody @@ -7,7 +10,7 @@ namespace JT808.Protocol.MessageBody /// <summary> /// 监控平台电话号码 /// </summary> - public class JT808_0x8103_0x0040 : JT808_0x8103_BodyBase, IJT808MessagePackFormatter<JT808_0x8103_0x0040> + public class JT808_0x8103_0x0040 : JT808_0x8103_BodyBase, IJT808MessagePackFormatter<JT808_0x8103_0x0040>, IJT808Analyze { public override uint ParamId { get; set; } = 0x0040; /// <summary> @@ -18,6 +21,19 @@ namespace JT808.Protocol.MessageBody /// 监控平台电话号码 /// </summary> public string ParamValue { get; set; } + + public void Analyze(ref JT808MessagePackReader reader, Utf8JsonWriter writer, IJT808Config config) + { + JT808_0x8103_0x0040 jT808_0x8103_0x0040 = new JT808_0x8103_0x0040(); + jT808_0x8103_0x0040.ParamId = reader.ReadUInt32(); + jT808_0x8103_0x0040.ParamLength = reader.ReadByte(); + var paramValue = reader.ReadVirtualArray(jT808_0x8103_0x0040.ParamLength); + jT808_0x8103_0x0040.ParamValue = reader.ReadString(jT808_0x8103_0x0040.ParamLength); + writer.WriteNumber($"[{ jT808_0x8103_0x0040.ParamId.ReadNumber()}]参数ID", jT808_0x8103_0x0040.ParamId); + writer.WriteNumber($"[{jT808_0x8103_0x0040.ParamLength.ReadNumber()}]参数长度", jT808_0x8103_0x0040.ParamLength); + writer.WriteString($"[{paramValue.ToArray().ToHexString()}]参数值[监控平台电话号码]", jT808_0x8103_0x0040.ParamValue); + } + public JT808_0x8103_0x0040 Deserialize(ref JT808MessagePackReader reader, IJT808Config config) { JT808_0x8103_0x0040 jT808_0x8103_0x0040 = new JT808_0x8103_0x0040(); @@ -37,3 +53,5 @@ namespace JT808.Protocol.MessageBody } } } + + diff --git a/src/JT808.Protocol/MessageBody/JT808_0x8103_0x0041.cs b/src/JT808.Protocol/MessageBody/JT808_0x8103_0x0041.cs index 20bac5f..1a4874a 100644 --- a/src/JT808.Protocol/MessageBody/JT808_0x8103_0x0041.cs +++ b/src/JT808.Protocol/MessageBody/JT808_0x8103_0x0041.cs @@ -1,5 +1,8 @@ -using JT808.Protocol.Attributes; +using System.Text.Json; +using JT808.Protocol.Attributes; +using JT808.Protocol.Extensions; using JT808.Protocol.Formatters; +using JT808.Protocol.Interfaces; using JT808.Protocol.MessagePack; namespace JT808.Protocol.MessageBody @@ -7,7 +10,7 @@ namespace JT808.Protocol.MessageBody /// <summary> /// 复位电话号码,可采用此电话号码拨打终端电话让终端复位 /// </summary> - public class JT808_0x8103_0x0041 : JT808_0x8103_BodyBase, IJT808MessagePackFormatter<JT808_0x8103_0x0041> + public class JT808_0x8103_0x0041 : JT808_0x8103_BodyBase, IJT808MessagePackFormatter<JT808_0x8103_0x0041>, IJT808Analyze { public override uint ParamId { get; set; } = 0x0041; /// <summary> @@ -18,6 +21,19 @@ namespace JT808.Protocol.MessageBody /// 复位电话号码,可采用此电话号码拨打终端电话让终端复位 /// </summary> public string ParamValue { get; set; } + + public void Analyze(ref JT808MessagePackReader reader, Utf8JsonWriter writer, IJT808Config config) + { + JT808_0x8103_0x0041 jT808_0x8103_0x0041 = new JT808_0x8103_0x0041(); + jT808_0x8103_0x0041.ParamId = reader.ReadUInt32(); + jT808_0x8103_0x0041.ParamLength = reader.ReadByte(); + var paramValue = reader.ReadVirtualArray(jT808_0x8103_0x0041.ParamLength); + jT808_0x8103_0x0041.ParamValue = reader.ReadString(jT808_0x8103_0x0041.ParamLength); + writer.WriteNumber($"[{ jT808_0x8103_0x0041.ParamId.ReadNumber()}]参数ID", jT808_0x8103_0x0041.ParamId); + writer.WriteNumber($"[{jT808_0x8103_0x0041.ParamLength.ReadNumber()}]参数长度", jT808_0x8103_0x0041.ParamLength); + writer.WriteString($"[{paramValue.ToArray().ToHexString()}]参数值[复位电话号码]", jT808_0x8103_0x0041.ParamValue); + } + public JT808_0x8103_0x0041 Deserialize(ref JT808MessagePackReader reader, IJT808Config config) { JT808_0x8103_0x0041 jT808_0x8103_0x0041 = new JT808_0x8103_0x0041(); diff --git a/src/JT808.Protocol/MessageBody/JT808_0x8103_0x0042.cs b/src/JT808.Protocol/MessageBody/JT808_0x8103_0x0042.cs index 7c76702..f50aa49 100644 --- a/src/JT808.Protocol/MessageBody/JT808_0x8103_0x0042.cs +++ b/src/JT808.Protocol/MessageBody/JT808_0x8103_0x0042.cs @@ -1,5 +1,8 @@ -using JT808.Protocol.Attributes; +using System.Text.Json; +using JT808.Protocol.Attributes; +using JT808.Protocol.Extensions; using JT808.Protocol.Formatters; +using JT808.Protocol.Interfaces; using JT808.Protocol.MessagePack; namespace JT808.Protocol.MessageBody @@ -7,7 +10,7 @@ namespace JT808.Protocol.MessageBody /// <summary> /// 恢复出厂设置电话号码,可采用此电话号码拨打终端电话让终端恢复出厂设置 /// </summary> - public class JT808_0x8103_0x0042 : JT808_0x8103_BodyBase, IJT808MessagePackFormatter<JT808_0x8103_0x0042> + public class JT808_0x8103_0x0042 : JT808_0x8103_BodyBase, IJT808MessagePackFormatter<JT808_0x8103_0x0042>, IJT808Analyze { public override uint ParamId { get; set; } = 0x0042; /// <summary> @@ -18,6 +21,19 @@ namespace JT808.Protocol.MessageBody /// 恢复出厂设置电话号码,可采用此电话号码拨打终端电话让终端恢复出厂设置 /// </summary> public string ParamValue { get; set; } + + public void Analyze(ref JT808MessagePackReader reader, Utf8JsonWriter writer, IJT808Config config) + { + JT808_0x8103_0x0042 jT808_0x8103_0x0042 = new JT808_0x8103_0x0042(); + jT808_0x8103_0x0042.ParamId = reader.ReadUInt32(); + jT808_0x8103_0x0042.ParamLength = reader.ReadByte(); + var paramValue = reader.ReadVirtualArray(jT808_0x8103_0x0042.ParamLength); + jT808_0x8103_0x0042.ParamValue = reader.ReadString(jT808_0x8103_0x0042.ParamLength); + writer.WriteNumber($"[{ jT808_0x8103_0x0042.ParamId.ReadNumber()}]参数ID", jT808_0x8103_0x0042.ParamId); + writer.WriteNumber($"[{jT808_0x8103_0x0042.ParamLength.ReadNumber()}]参数长度", jT808_0x8103_0x0042.ParamLength); + writer.WriteString($"[{paramValue.ToArray().ToHexString()}]参数值[恢复出厂设置电话号码]", jT808_0x8103_0x0042.ParamValue); + } + public JT808_0x8103_0x0042 Deserialize(ref JT808MessagePackReader reader, IJT808Config config) { JT808_0x8103_0x0042 jT808_0x8103_0x0042 = new JT808_0x8103_0x0042(); diff --git a/src/JT808.Protocol/MessageBody/JT808_0x8103_0x0043.cs b/src/JT808.Protocol/MessageBody/JT808_0x8103_0x0043.cs index 9414b6a..a9adbd0 100644 --- a/src/JT808.Protocol/MessageBody/JT808_0x8103_0x0043.cs +++ b/src/JT808.Protocol/MessageBody/JT808_0x8103_0x0043.cs @@ -1,5 +1,8 @@ -using JT808.Protocol.Attributes; +using System.Text.Json; +using JT808.Protocol.Attributes; +using JT808.Protocol.Extensions; using JT808.Protocol.Formatters; +using JT808.Protocol.Interfaces; using JT808.Protocol.MessagePack; namespace JT808.Protocol.MessageBody @@ -7,7 +10,7 @@ namespace JT808.Protocol.MessageBody /// <summary> /// 监控平台 SMS 电话号码 /// </summary> - public class JT808_0x8103_0x0043 : JT808_0x8103_BodyBase, IJT808MessagePackFormatter<JT808_0x8103_0x0043> + public class JT808_0x8103_0x0043 : JT808_0x8103_BodyBase, IJT808MessagePackFormatter<JT808_0x8103_0x0043>, IJT808Analyze { public override uint ParamId { get; set; } = 0x0043; /// <summary> @@ -18,6 +21,19 @@ namespace JT808.Protocol.MessageBody /// 监控平台 SMS 电话号码 /// </summary> public string ParamValue { get; set; } + + public void Analyze(ref JT808MessagePackReader reader, Utf8JsonWriter writer, IJT808Config config) + { + JT808_0x8103_0x0043 jT808_0x8103_0x0043 = new JT808_0x8103_0x0043(); + jT808_0x8103_0x0043.ParamId = reader.ReadUInt32(); + jT808_0x8103_0x0043.ParamLength = reader.ReadByte(); + var paramValue = reader.ReadVirtualArray(jT808_0x8103_0x0043.ParamLength); + jT808_0x8103_0x0043.ParamValue = reader.ReadString(jT808_0x8103_0x0043.ParamLength); + writer.WriteNumber($"[{ jT808_0x8103_0x0043.ParamId.ReadNumber()}]参数ID", jT808_0x8103_0x0043.ParamId); + writer.WriteNumber($"[{jT808_0x8103_0x0043.ParamLength.ReadNumber()}]参数长度", jT808_0x8103_0x0043.ParamLength); + writer.WriteString($"[{paramValue.ToArray().ToHexString()}]参数值[监控平台SMS电话号码]", jT808_0x8103_0x0043.ParamValue); + } + public JT808_0x8103_0x0043 Deserialize(ref JT808MessagePackReader reader, IJT808Config config) { JT808_0x8103_0x0043 jT808_0x8103_0x0043 = new JT808_0x8103_0x0043(); diff --git a/src/JT808.Protocol/MessageBody/JT808_0x8103_0x0044.cs b/src/JT808.Protocol/MessageBody/JT808_0x8103_0x0044.cs index 67764f3..55b56b3 100644 --- a/src/JT808.Protocol/MessageBody/JT808_0x8103_0x0044.cs +++ b/src/JT808.Protocol/MessageBody/JT808_0x8103_0x0044.cs @@ -1,5 +1,8 @@ -using JT808.Protocol.Attributes; +using System.Text.Json; +using JT808.Protocol.Attributes; +using JT808.Protocol.Extensions; using JT808.Protocol.Formatters; +using JT808.Protocol.Interfaces; using JT808.Protocol.MessagePack; namespace JT808.Protocol.MessageBody @@ -7,7 +10,7 @@ namespace JT808.Protocol.MessageBody /// <summary> /// 接收终端 SMS 文本报警号码 /// </summary> - public class JT808_0x8103_0x0044 : JT808_0x8103_BodyBase, IJT808MessagePackFormatter<JT808_0x8103_0x0044> + public class JT808_0x8103_0x0044 : JT808_0x8103_BodyBase, IJT808MessagePackFormatter<JT808_0x8103_0x0044>, IJT808Analyze { public override uint ParamId { get; set; } = 0x0044; /// <summary> @@ -18,6 +21,19 @@ namespace JT808.Protocol.MessageBody /// 接收终端 SMS 文本报警号码 /// </summary> public string ParamValue { get; set; } + + public void Analyze(ref JT808MessagePackReader reader, Utf8JsonWriter writer, IJT808Config config) + { + JT808_0x8103_0x0044 jT808_0x8103_0x0044 = new JT808_0x8103_0x0044(); + jT808_0x8103_0x0044.ParamId = reader.ReadUInt32(); + jT808_0x8103_0x0044.ParamLength = reader.ReadByte(); + var paramValue = reader.ReadVirtualArray(jT808_0x8103_0x0044.ParamLength); + jT808_0x8103_0x0044.ParamValue = reader.ReadString(jT808_0x8103_0x0044.ParamLength); + writer.WriteNumber($"[{ jT808_0x8103_0x0044.ParamId.ReadNumber()}]参数ID", jT808_0x8103_0x0044.ParamId); + writer.WriteNumber($"[{jT808_0x8103_0x0044.ParamLength.ReadNumber()}]参数长度", jT808_0x8103_0x0044.ParamLength); + writer.WriteString($"[{paramValue.ToArray().ToHexString()}]参数值[接收终端SMS文本报警号码]", jT808_0x8103_0x0044.ParamValue); + } + public JT808_0x8103_0x0044 Deserialize(ref JT808MessagePackReader reader, IJT808Config config) { JT808_0x8103_0x0044 jT808_0x8103_0x0044 = new JT808_0x8103_0x0044(); diff --git a/src/JT808.Protocol/MessageBody/JT808_0x8103_0x0045.cs b/src/JT808.Protocol/MessageBody/JT808_0x8103_0x0045.cs index 6694162..0a194cc 100644 --- a/src/JT808.Protocol/MessageBody/JT808_0x8103_0x0045.cs +++ b/src/JT808.Protocol/MessageBody/JT808_0x8103_0x0045.cs @@ -1,5 +1,8 @@ -using JT808.Protocol.Attributes; +using System.Text.Json; +using JT808.Protocol.Attributes; +using JT808.Protocol.Extensions; using JT808.Protocol.Formatters; +using JT808.Protocol.Interfaces; using JT808.Protocol.MessagePack; namespace JT808.Protocol.MessageBody @@ -7,7 +10,7 @@ namespace JT808.Protocol.MessageBody /// <summary> /// 终端电话接听策略,0:自动接听;1:ACC ON 时自动接听,OFF 时手动接听 /// </summary> - public class JT808_0x8103_0x0045 : JT808_0x8103_BodyBase, IJT808MessagePackFormatter<JT808_0x8103_0x0045> + public class JT808_0x8103_0x0045 : JT808_0x8103_BodyBase, IJT808MessagePackFormatter<JT808_0x8103_0x0045>, IJT808Analyze { public override uint ParamId { get; set; } = 0x0045; /// <summary> @@ -18,6 +21,18 @@ namespace JT808.Protocol.MessageBody /// 终端电话接听策略,0:自动接听;1:ACC ON 时自动接听,OFF 时手动接听 /// </summary> public uint ParamValue { get; set; } + + public void Analyze(ref JT808MessagePackReader reader, Utf8JsonWriter writer, IJT808Config config) + { + JT808_0x8103_0x0045 jT808_0x8103_0x0045 = new JT808_0x8103_0x0045(); + jT808_0x8103_0x0045.ParamId = reader.ReadUInt32(); + jT808_0x8103_0x0045.ParamLength = reader.ReadByte(); + jT808_0x8103_0x0045.ParamValue = reader.ReadUInt32(); + writer.WriteNumber($"[{ jT808_0x8103_0x0045.ParamId.ReadNumber()}]参数ID", jT808_0x8103_0x0045.ParamId); + writer.WriteNumber($"[{jT808_0x8103_0x0045.ParamLength.ReadNumber()}]参数长度", jT808_0x8103_0x0045.ParamLength); + writer.WriteNumber($"[{ jT808_0x8103_0x0045.ParamValue.ReadNumber()}]参数值[终端电话接听策略,0:自动接听;1:ACC ON 时自动接听,OFF 时手动接听]", jT808_0x8103_0x0045.ParamValue); + } + public JT808_0x8103_0x0045 Deserialize(ref JT808MessagePackReader reader, IJT808Config config) { JT808_0x8103_0x0045 jT808_0x8103_0x0045 = new JT808_0x8103_0x0045(); diff --git a/src/JT808.Protocol/MessageBody/JT808_0x8103_0x0046.cs b/src/JT808.Protocol/MessageBody/JT808_0x8103_0x0046.cs index 8241e92..128eac2 100644 --- a/src/JT808.Protocol/MessageBody/JT808_0x8103_0x0046.cs +++ b/src/JT808.Protocol/MessageBody/JT808_0x8103_0x0046.cs @@ -1,5 +1,8 @@ -using JT808.Protocol.Attributes; +using System.Text.Json; +using JT808.Protocol.Attributes; +using JT808.Protocol.Extensions; using JT808.Protocol.Formatters; +using JT808.Protocol.Interfaces; using JT808.Protocol.MessagePack; namespace JT808.Protocol.MessageBody @@ -7,7 +10,7 @@ namespace JT808.Protocol.MessageBody /// <summary> /// 每次最长通话时间,单位为秒(s),0 为不允许通话,0xFFFFFFFF 为不限制 /// </summary> - public class JT808_0x8103_0x0046 : JT808_0x8103_BodyBase, IJT808MessagePackFormatter<JT808_0x8103_0x0046> + public class JT808_0x8103_0x0046 : JT808_0x8103_BodyBase, IJT808MessagePackFormatter<JT808_0x8103_0x0046>, IJT808Analyze { public override uint ParamId { get; set; } = 0x0046; /// <summary> @@ -18,6 +21,18 @@ namespace JT808.Protocol.MessageBody /// 每次最长通话时间,单位为秒(s),0 为不允许通话,0xFFFFFFFF 为不限制 /// </summary> public uint ParamValue { get; set; } + + public void Analyze(ref JT808MessagePackReader reader, Utf8JsonWriter writer, IJT808Config config) + { + JT808_0x8103_0x0046 jT808_0x8103_0x0046 = new JT808_0x8103_0x0046(); + jT808_0x8103_0x0046.ParamId = reader.ReadUInt32(); + jT808_0x8103_0x0046.ParamLength = reader.ReadByte(); + jT808_0x8103_0x0046.ParamValue = reader.ReadUInt32(); + writer.WriteNumber($"[{ jT808_0x8103_0x0046.ParamId.ReadNumber()}]参数ID", jT808_0x8103_0x0046.ParamId); + writer.WriteNumber($"[{jT808_0x8103_0x0046.ParamLength.ReadNumber()}]参数长度", jT808_0x8103_0x0046.ParamLength); + writer.WriteNumber($"[{ jT808_0x8103_0x0046.ParamValue.ReadNumber()}]参数值[每次最长通话时间s]", jT808_0x8103_0x0046.ParamValue); + } + public JT808_0x8103_0x0046 Deserialize(ref JT808MessagePackReader reader, IJT808Config config) { JT808_0x8103_0x0046 jT808_0x8103_0x0046 = new JT808_0x8103_0x0046(); diff --git a/src/JT808.Protocol/MessageBody/JT808_0x8103_0x0047.cs b/src/JT808.Protocol/MessageBody/JT808_0x8103_0x0047.cs index e71756b..423dc4e 100644 --- a/src/JT808.Protocol/MessageBody/JT808_0x8103_0x0047.cs +++ b/src/JT808.Protocol/MessageBody/JT808_0x8103_0x0047.cs @@ -1,5 +1,8 @@ -using JT808.Protocol.Attributes; +using System.Text.Json; +using JT808.Protocol.Attributes; +using JT808.Protocol.Extensions; using JT808.Protocol.Formatters; +using JT808.Protocol.Interfaces; using JT808.Protocol.MessagePack; namespace JT808.Protocol.MessageBody @@ -7,7 +10,7 @@ namespace JT808.Protocol.MessageBody /// <summary> /// 当月最长通话时间,单位为秒(s),0 为不允许通话,0xFFFFFFFF 为不限制 /// </summary> - public class JT808_0x8103_0x0047 : JT808_0x8103_BodyBase, IJT808MessagePackFormatter<JT808_0x8103_0x0047> + public class JT808_0x8103_0x0047 : JT808_0x8103_BodyBase, IJT808MessagePackFormatter<JT808_0x8103_0x0047>, IJT808Analyze { public override uint ParamId { get; set; } = 0x0047; /// <summary> @@ -18,6 +21,18 @@ namespace JT808.Protocol.MessageBody /// 当月最长通话时间,单位为秒(s),0 为不允许通话,0xFFFFFFFF 为不限制 /// </summary> public uint ParamValue { get; set; } + + public void Analyze(ref JT808MessagePackReader reader, Utf8JsonWriter writer, IJT808Config config) + { + JT808_0x8103_0x0047 jT808_0x8103_0x0047 = new JT808_0x8103_0x0047(); + jT808_0x8103_0x0047.ParamId = reader.ReadUInt32(); + jT808_0x8103_0x0047.ParamLength = reader.ReadByte(); + jT808_0x8103_0x0047.ParamValue = reader.ReadUInt32(); + writer.WriteNumber($"[{ jT808_0x8103_0x0047.ParamId.ReadNumber()}]参数ID", jT808_0x8103_0x0047.ParamId); + writer.WriteNumber($"[{jT808_0x8103_0x0047.ParamLength.ReadNumber()}]参数长度", jT808_0x8103_0x0047.ParamLength); + writer.WriteNumber($"[{ jT808_0x8103_0x0047.ParamValue.ReadNumber()}]参数值[当月最长通话时间s]", jT808_0x8103_0x0047.ParamValue); + } + public JT808_0x8103_0x0047 Deserialize(ref JT808MessagePackReader reader, IJT808Config config) { JT808_0x8103_0x0047 jT808_0x8103_0x0047 = new JT808_0x8103_0x0047(); diff --git a/src/JT808.Protocol/MessageBody/JT808_0x8103_0x0048.cs b/src/JT808.Protocol/MessageBody/JT808_0x8103_0x0048.cs index 8b71ec0..4634fd1 100644 --- a/src/JT808.Protocol/MessageBody/JT808_0x8103_0x0048.cs +++ b/src/JT808.Protocol/MessageBody/JT808_0x8103_0x0048.cs @@ -1,5 +1,8 @@ -using JT808.Protocol.Attributes; +using System.Text.Json; +using JT808.Protocol.Attributes; +using JT808.Protocol.Extensions; using JT808.Protocol.Formatters; +using JT808.Protocol.Interfaces; using JT808.Protocol.MessagePack; namespace JT808.Protocol.MessageBody @@ -7,7 +10,7 @@ namespace JT808.Protocol.MessageBody /// <summary> /// 监听电话号码 /// </summary> - public class JT808_0x8103_0x0048 : JT808_0x8103_BodyBase, IJT808MessagePackFormatter<JT808_0x8103_0x0048> + public class JT808_0x8103_0x0048 : JT808_0x8103_BodyBase, IJT808MessagePackFormatter<JT808_0x8103_0x0048>, IJT808Analyze { public override uint ParamId { get; set; } = 0x0048; /// <summary> @@ -18,6 +21,19 @@ namespace JT808.Protocol.MessageBody /// 监听电话号码 /// </summary> public string ParamValue { get; set; } + + public void Analyze(ref JT808MessagePackReader reader, Utf8JsonWriter writer, IJT808Config config) + { + JT808_0x8103_0x0048 jT808_0x8103_0x0048 = new JT808_0x8103_0x0048(); + jT808_0x8103_0x0048.ParamId = reader.ReadUInt32(); + jT808_0x8103_0x0048.ParamLength = reader.ReadByte(); + var paramValue = reader.ReadVirtualArray(jT808_0x8103_0x0048.ParamLength); + jT808_0x8103_0x0048.ParamValue = reader.ReadString(jT808_0x8103_0x0048.ParamLength); + writer.WriteNumber($"[{ jT808_0x8103_0x0048.ParamId.ReadNumber()}]参数ID", jT808_0x8103_0x0048.ParamId); + writer.WriteNumber($"[{jT808_0x8103_0x0048.ParamLength.ReadNumber()}]参数长度", jT808_0x8103_0x0048.ParamLength); + writer.WriteString($"[{paramValue.ToArray().ToHexString()}]参数值[监听电话号码]", jT808_0x8103_0x0048.ParamValue); + } + public JT808_0x8103_0x0048 Deserialize(ref JT808MessagePackReader reader, IJT808Config config) { JT808_0x8103_0x0048 jT808_0x8103_0x0048 = new JT808_0x8103_0x0048(); diff --git a/src/JT808.Protocol/MessageBody/JT808_0x8103_0x0049.cs b/src/JT808.Protocol/MessageBody/JT808_0x8103_0x0049.cs index 239f426..fa9e84e 100644 --- a/src/JT808.Protocol/MessageBody/JT808_0x8103_0x0049.cs +++ b/src/JT808.Protocol/MessageBody/JT808_0x8103_0x0049.cs @@ -1,5 +1,8 @@ -using JT808.Protocol.Attributes; +using System.Text.Json; +using JT808.Protocol.Attributes; +using JT808.Protocol.Extensions; using JT808.Protocol.Formatters; +using JT808.Protocol.Interfaces; using JT808.Protocol.MessagePack; namespace JT808.Protocol.MessageBody @@ -7,7 +10,7 @@ namespace JT808.Protocol.MessageBody /// <summary> /// 监管平台特权短信号码 /// </summary> - public class JT808_0x8103_0x0049 : JT808_0x8103_BodyBase, IJT808MessagePackFormatter<JT808_0x8103_0x0049> + public class JT808_0x8103_0x0049 : JT808_0x8103_BodyBase, IJT808MessagePackFormatter<JT808_0x8103_0x0049>, IJT808Analyze { public override uint ParamId { get; set; } = 0x0049; /// <summary> @@ -18,6 +21,19 @@ namespace JT808.Protocol.MessageBody /// 监管平台特权短信号码 /// </summary> public string ParamValue { get; set; } + + public void Analyze(ref JT808MessagePackReader reader, Utf8JsonWriter writer, IJT808Config config) + { + JT808_0x8103_0x0049 jT808_0x8103_0x0049 = new JT808_0x8103_0x0049(); + jT808_0x8103_0x0049.ParamId = reader.ReadUInt32(); + jT808_0x8103_0x0049.ParamLength = reader.ReadByte(); + var paramValue = reader.ReadVirtualArray(jT808_0x8103_0x0049.ParamLength); + jT808_0x8103_0x0049.ParamValue = reader.ReadString(jT808_0x8103_0x0049.ParamLength); + writer.WriteNumber($"[{ jT808_0x8103_0x0049.ParamId.ReadNumber()}]参数ID", jT808_0x8103_0x0049.ParamId); + writer.WriteNumber($"[{jT808_0x8103_0x0049.ParamLength.ReadNumber()}]参数长度", jT808_0x8103_0x0049.ParamLength); + writer.WriteString($"[{paramValue.ToArray().ToHexString()}]参数值[监管平台特权短信号码]", jT808_0x8103_0x0049.ParamValue); + } + public JT808_0x8103_0x0049 Deserialize(ref JT808MessagePackReader reader, IJT808Config config) { JT808_0x8103_0x0049 jT808_0x8103_0x0049 = new JT808_0x8103_0x0049(); diff --git a/src/JT808.Protocol/MessageBody/JT808_0x8103_0x0050.cs b/src/JT808.Protocol/MessageBody/JT808_0x8103_0x0050.cs index b302357..be33859 100644 --- a/src/JT808.Protocol/MessageBody/JT808_0x8103_0x0050.cs +++ b/src/JT808.Protocol/MessageBody/JT808_0x8103_0x0050.cs @@ -1,5 +1,8 @@ -using JT808.Protocol.Attributes; +using System.Text.Json; +using JT808.Protocol.Attributes; +using JT808.Protocol.Extensions; using JT808.Protocol.Formatters; +using JT808.Protocol.Interfaces; using JT808.Protocol.MessagePack; namespace JT808.Protocol.MessageBody @@ -7,7 +10,7 @@ namespace JT808.Protocol.MessageBody /// <summary> /// 报警屏蔽字,与位置信息汇报消息中的报警标志相对应,相应位为 1则相应报警被屏蔽 /// </summary> - public class JT808_0x8103_0x0050 : JT808_0x8103_BodyBase, IJT808MessagePackFormatter<JT808_0x8103_0x0050> + public class JT808_0x8103_0x0050 : JT808_0x8103_BodyBase, IJT808MessagePackFormatter<JT808_0x8103_0x0050>, IJT808Analyze { public override uint ParamId { get; set; } = 0x0050; /// <summary> @@ -18,6 +21,18 @@ namespace JT808.Protocol.MessageBody /// 报警屏蔽字,与位置信息汇报消息中的报警标志相对应,相应位为 1则相应报警被屏蔽 /// </summary> public uint ParamValue { get; set; } + + public void Analyze(ref JT808MessagePackReader reader, Utf8JsonWriter writer, IJT808Config config) + { + JT808_0x8103_0x0050 jT808_0x8103_0x0050 = new JT808_0x8103_0x0050(); + jT808_0x8103_0x0050.ParamId = reader.ReadUInt32(); + jT808_0x8103_0x0050.ParamLength = reader.ReadByte(); + jT808_0x8103_0x0050.ParamValue = reader.ReadUInt32(); + writer.WriteNumber($"[{ jT808_0x8103_0x0050.ParamId.ReadNumber()}]参数ID", jT808_0x8103_0x0050.ParamId); + writer.WriteNumber($"[{jT808_0x8103_0x0050.ParamLength.ReadNumber()}]参数长度", jT808_0x8103_0x0050.ParamLength); + writer.WriteNumber($"[{ jT808_0x8103_0x0050.ParamValue.ReadNumber()}]参数值[报警屏蔽字,与位置信息汇报消息中的报警标志相对应]", jT808_0x8103_0x0050.ParamValue); + } + public JT808_0x8103_0x0050 Deserialize(ref JT808MessagePackReader reader, IJT808Config config) { JT808_0x8103_0x0050 jT808_0x8103_0x0050 = new JT808_0x8103_0x0050(); diff --git a/src/JT808.Protocol/MessageBody/JT808_0x8103_0x0051.cs b/src/JT808.Protocol/MessageBody/JT808_0x8103_0x0051.cs index aad8038..765a882 100644 --- a/src/JT808.Protocol/MessageBody/JT808_0x8103_0x0051.cs +++ b/src/JT808.Protocol/MessageBody/JT808_0x8103_0x0051.cs @@ -1,5 +1,8 @@ -using JT808.Protocol.Attributes; +using System.Text.Json; +using JT808.Protocol.Attributes; +using JT808.Protocol.Extensions; using JT808.Protocol.Formatters; +using JT808.Protocol.Interfaces; using JT808.Protocol.MessagePack; namespace JT808.Protocol.MessageBody @@ -7,7 +10,7 @@ namespace JT808.Protocol.MessageBody /// <summary> /// 报警发送文本 SMS 开关,与位置信息汇报消息中的报警标志相对应,相应位为 1 则相应报警时发送文本 SMS /// </summary> - public class JT808_0x8103_0x0051 : JT808_0x8103_BodyBase, IJT808MessagePackFormatter<JT808_0x8103_0x0051> + public class JT808_0x8103_0x0051 : JT808_0x8103_BodyBase, IJT808MessagePackFormatter<JT808_0x8103_0x0051>, IJT808Analyze { public override uint ParamId { get; set; } = 0x0051; /// <summary> @@ -18,6 +21,18 @@ namespace JT808.Protocol.MessageBody /// 报警发送文本 SMS 开关,与位置信息汇报消息中的报警标志相对应,相应位为 1 则相应报警时发送文本 SMS /// </summary> public uint ParamValue { get; set; } + + public void Analyze(ref JT808MessagePackReader reader, Utf8JsonWriter writer, IJT808Config config) + { + JT808_0x8103_0x0051 jT808_0x8103_0x0051 = new JT808_0x8103_0x0051(); + jT808_0x8103_0x0051.ParamId = reader.ReadUInt32(); + jT808_0x8103_0x0051.ParamLength = reader.ReadByte(); + jT808_0x8103_0x0051.ParamValue = reader.ReadUInt32(); + writer.WriteNumber($"[{ jT808_0x8103_0x0051.ParamId.ReadNumber()}]参数ID", jT808_0x8103_0x0051.ParamId); + writer.WriteNumber($"[{jT808_0x8103_0x0051.ParamLength.ReadNumber()}]参数长度", jT808_0x8103_0x0051.ParamLength); + writer.WriteNumber($"[{ jT808_0x8103_0x0051.ParamValue.ReadNumber()}]参数值[报警发送文本SMS开关]", jT808_0x8103_0x0051.ParamValue); + } + public JT808_0x8103_0x0051 Deserialize(ref JT808MessagePackReader reader, IJT808Config config) { JT808_0x8103_0x0051 jT808_0x8103_0x0051 = new JT808_0x8103_0x0051(); diff --git a/src/JT808.Protocol/MessageBody/JT808_0x8103_0x0052.cs b/src/JT808.Protocol/MessageBody/JT808_0x8103_0x0052.cs index cb75ea2..c1e1a54 100644 --- a/src/JT808.Protocol/MessageBody/JT808_0x8103_0x0052.cs +++ b/src/JT808.Protocol/MessageBody/JT808_0x8103_0x0052.cs @@ -1,5 +1,8 @@ -using JT808.Protocol.Attributes; +using System.Text.Json; +using JT808.Protocol.Attributes; +using JT808.Protocol.Extensions; using JT808.Protocol.Formatters; +using JT808.Protocol.Interfaces; using JT808.Protocol.MessagePack; namespace JT808.Protocol.MessageBody @@ -7,7 +10,7 @@ namespace JT808.Protocol.MessageBody /// <summary> /// 报警拍摄开关,与位置信息汇报消息中的报警标志相对应,相应位为1 则相应报警时摄像头拍摄 /// </summary> - public class JT808_0x8103_0x0052 : JT808_0x8103_BodyBase, IJT808MessagePackFormatter<JT808_0x8103_0x0052> + public class JT808_0x8103_0x0052 : JT808_0x8103_BodyBase, IJT808MessagePackFormatter<JT808_0x8103_0x0052>, IJT808Analyze { public override uint ParamId { get; set; } = 0x0052; /// <summary> @@ -18,6 +21,18 @@ namespace JT808.Protocol.MessageBody /// 报警拍摄开关,与位置信息汇报消息中的报警标志相对应,相应位为1 则相应报警时摄像头拍摄 /// </summary> public uint ParamValue { get; set; } + + public void Analyze(ref JT808MessagePackReader reader, Utf8JsonWriter writer, IJT808Config config) + { + JT808_0x8103_0x0052 jT808_0x8103_0x0052 = new JT808_0x8103_0x0052(); + jT808_0x8103_0x0052.ParamId = reader.ReadUInt32(); + jT808_0x8103_0x0052.ParamLength = reader.ReadByte(); + jT808_0x8103_0x0052.ParamValue = reader.ReadUInt32(); + writer.WriteNumber($"[{ jT808_0x8103_0x0052.ParamId.ReadNumber()}]参数ID", jT808_0x8103_0x0052.ParamId); + writer.WriteNumber($"[{jT808_0x8103_0x0052.ParamLength.ReadNumber()}]参数长度", jT808_0x8103_0x0052.ParamLength); + writer.WriteNumber($"[{ jT808_0x8103_0x0052.ParamValue.ReadNumber()}]参数值[报警拍摄开关]", jT808_0x8103_0x0052.ParamValue); + } + public JT808_0x8103_0x0052 Deserialize(ref JT808MessagePackReader reader, IJT808Config config) { JT808_0x8103_0x0052 jT808_0x8103_0x0052 = new JT808_0x8103_0x0052(); diff --git a/src/JT808.Protocol/MessageBody/JT808_0x8103_0x0053.cs b/src/JT808.Protocol/MessageBody/JT808_0x8103_0x0053.cs index bc8642a..5f0aca1 100644 --- a/src/JT808.Protocol/MessageBody/JT808_0x8103_0x0053.cs +++ b/src/JT808.Protocol/MessageBody/JT808_0x8103_0x0053.cs @@ -1,5 +1,8 @@ -using JT808.Protocol.Attributes; +using System.Text.Json; +using JT808.Protocol.Attributes; +using JT808.Protocol.Extensions; using JT808.Protocol.Formatters; +using JT808.Protocol.Interfaces; using JT808.Protocol.MessagePack; namespace JT808.Protocol.MessageBody @@ -7,7 +10,7 @@ namespace JT808.Protocol.MessageBody /// <summary> /// 报警拍摄存储标志,与位置信息汇报消息中的报警标志相对应,相应位为 1 则对相应报警时拍的照片进行存储,否则实时上传 /// </summary> - public class JT808_0x8103_0x0053 : JT808_0x8103_BodyBase, IJT808MessagePackFormatter<JT808_0x8103_0x0053> + public class JT808_0x8103_0x0053 : JT808_0x8103_BodyBase, IJT808MessagePackFormatter<JT808_0x8103_0x0053>, IJT808Analyze { public override uint ParamId { get; set; } = 0x0053; /// <summary> @@ -18,6 +21,18 @@ namespace JT808.Protocol.MessageBody /// 报警拍摄存储标志,与位置信息汇报消息中的报警标志相对应,相应位为 1 则对相应报警时拍的照片进行存储,否则实时上传 /// </summary> public uint ParamValue { get; set; } + + public void Analyze(ref JT808MessagePackReader reader, Utf8JsonWriter writer, IJT808Config config) + { + JT808_0x8103_0x0053 jT808_0x8103_0x0053 = new JT808_0x8103_0x0053(); + jT808_0x8103_0x0053.ParamId = reader.ReadUInt32(); + jT808_0x8103_0x0053.ParamLength = reader.ReadByte(); + jT808_0x8103_0x0053.ParamValue = reader.ReadUInt32(); + writer.WriteNumber($"[{ jT808_0x8103_0x0053.ParamId.ReadNumber()}]参数ID", jT808_0x8103_0x0053.ParamId); + writer.WriteNumber($"[{jT808_0x8103_0x0053.ParamLength.ReadNumber()}]参数长度", jT808_0x8103_0x0053.ParamLength); + writer.WriteNumber($"[{ jT808_0x8103_0x0053.ParamValue.ReadNumber()}]参数值[报警拍摄存储标志]", jT808_0x8103_0x0053.ParamValue); + } + public JT808_0x8103_0x0053 Deserialize(ref JT808MessagePackReader reader, IJT808Config config) { JT808_0x8103_0x0053 jT808_0x8103_0x0053 = new JT808_0x8103_0x0053(); diff --git a/src/JT808.Protocol/MessageBody/JT808_0x8103_0x0054.cs b/src/JT808.Protocol/MessageBody/JT808_0x8103_0x0054.cs index dce64ea..79af57c 100644 --- a/src/JT808.Protocol/MessageBody/JT808_0x8103_0x0054.cs +++ b/src/JT808.Protocol/MessageBody/JT808_0x8103_0x0054.cs @@ -1,5 +1,8 @@ -using JT808.Protocol.Attributes; +using System.Text.Json; +using JT808.Protocol.Attributes; +using JT808.Protocol.Extensions; using JT808.Protocol.Formatters; +using JT808.Protocol.Interfaces; using JT808.Protocol.MessagePack; namespace JT808.Protocol.MessageBody @@ -7,7 +10,7 @@ namespace JT808.Protocol.MessageBody /// <summary> /// 关键标志,与位置信息汇报消息中的报警标志相对应,相应位为 1 则对相应报警为关键报警 /// </summary> - public class JT808_0x8103_0x0054 : JT808_0x8103_BodyBase, IJT808MessagePackFormatter<JT808_0x8103_0x0054> + public class JT808_0x8103_0x0054 : JT808_0x8103_BodyBase, IJT808MessagePackFormatter<JT808_0x8103_0x0054>, IJT808Analyze { public override uint ParamId { get; set; } = 0x0054; /// <summary> @@ -18,6 +21,18 @@ namespace JT808.Protocol.MessageBody /// 关键标志,与位置信息汇报消息中的报警标志相对应,相应位为 1 则对相应报警为关键报警 /// </summary> public uint ParamValue { get; set; } + + public void Analyze(ref JT808MessagePackReader reader, Utf8JsonWriter writer, IJT808Config config) + { + JT808_0x8103_0x0054 jT808_0x8103_0x0054 = new JT808_0x8103_0x0054(); + jT808_0x8103_0x0054.ParamId = reader.ReadUInt32(); + jT808_0x8103_0x0054.ParamLength = reader.ReadByte(); + jT808_0x8103_0x0054.ParamValue = reader.ReadUInt32(); + writer.WriteNumber($"[{ jT808_0x8103_0x0054.ParamId.ReadNumber()}]参数ID", jT808_0x8103_0x0054.ParamId); + writer.WriteNumber($"[{jT808_0x8103_0x0054.ParamLength.ReadNumber()}]参数长度", jT808_0x8103_0x0054.ParamLength); + writer.WriteNumber($"[{ jT808_0x8103_0x0054.ParamValue.ReadNumber()}]参数值[关键标志]", jT808_0x8103_0x0054.ParamValue); + } + public JT808_0x8103_0x0054 Deserialize(ref JT808MessagePackReader reader, IJT808Config config) { JT808_0x8103_0x0054 jT808_0x8103_0x0054 = new JT808_0x8103_0x0054(); diff --git a/src/JT808.Protocol/MessageBody/JT808_0x8103_0x0055.cs b/src/JT808.Protocol/MessageBody/JT808_0x8103_0x0055.cs index ee937d7..92a0bdf 100644 --- a/src/JT808.Protocol/MessageBody/JT808_0x8103_0x0055.cs +++ b/src/JT808.Protocol/MessageBody/JT808_0x8103_0x0055.cs @@ -1,5 +1,8 @@ -using JT808.Protocol.Attributes; +using System.Text.Json; +using JT808.Protocol.Attributes; +using JT808.Protocol.Extensions; using JT808.Protocol.Formatters; +using JT808.Protocol.Interfaces; using JT808.Protocol.MessagePack; namespace JT808.Protocol.MessageBody @@ -7,7 +10,7 @@ namespace JT808.Protocol.MessageBody /// <summary> /// 最高速度,单位为公里每小时(km/h) /// </summary> - public class JT808_0x8103_0x0055 : JT808_0x8103_BodyBase, IJT808MessagePackFormatter<JT808_0x8103_0x0055> + public class JT808_0x8103_0x0055 : JT808_0x8103_BodyBase, IJT808MessagePackFormatter<JT808_0x8103_0x0055>, IJT808Analyze { public override uint ParamId { get; set; } = 0x0055; /// <summary> @@ -18,6 +21,18 @@ namespace JT808.Protocol.MessageBody /// 最高速度,单位为公里每小时(km/h) /// </summary> public uint ParamValue { get; set; } + + public void Analyze(ref JT808MessagePackReader reader, Utf8JsonWriter writer, IJT808Config config) + { + JT808_0x8103_0x0055 jT808_0x8103_0x0055 = new JT808_0x8103_0x0055(); + jT808_0x8103_0x0055.ParamId = reader.ReadUInt32(); + jT808_0x8103_0x0055.ParamLength = reader.ReadByte(); + jT808_0x8103_0x0055.ParamValue = reader.ReadUInt32(); + writer.WriteNumber($"[{ jT808_0x8103_0x0055.ParamId.ReadNumber()}]参数ID", jT808_0x8103_0x0055.ParamId); + writer.WriteNumber($"[{jT808_0x8103_0x0055.ParamLength.ReadNumber()}]参数长度", jT808_0x8103_0x0055.ParamLength); + writer.WriteNumber($"[{ jT808_0x8103_0x0055.ParamValue.ReadNumber()}]参数值[最高速度km/h]", jT808_0x8103_0x0055.ParamValue); + } + public JT808_0x8103_0x0055 Deserialize(ref JT808MessagePackReader reader, IJT808Config config) { JT808_0x8103_0x0055 jT808_0x8103_0x0055 = new JT808_0x8103_0x0055(); diff --git a/src/JT808.Protocol/MessageBody/JT808_0x8103_0x0056.cs b/src/JT808.Protocol/MessageBody/JT808_0x8103_0x0056.cs index 3d4efcc..6cee5ab 100644 --- a/src/JT808.Protocol/MessageBody/JT808_0x8103_0x0056.cs +++ b/src/JT808.Protocol/MessageBody/JT808_0x8103_0x0056.cs @@ -1,5 +1,8 @@ -using JT808.Protocol.Attributes; +using System.Text.Json; +using JT808.Protocol.Attributes; +using JT808.Protocol.Extensions; using JT808.Protocol.Formatters; +using JT808.Protocol.Interfaces; using JT808.Protocol.MessagePack; namespace JT808.Protocol.MessageBody @@ -7,7 +10,7 @@ namespace JT808.Protocol.MessageBody /// <summary> /// 超速持续时间,单位为秒(s) /// </summary> - public class JT808_0x8103_0x0056 : JT808_0x8103_BodyBase, IJT808MessagePackFormatter<JT808_0x8103_0x0056> + public class JT808_0x8103_0x0056 : JT808_0x8103_BodyBase, IJT808MessagePackFormatter<JT808_0x8103_0x0056>, IJT808Analyze { public override uint ParamId { get; set; } = 0x0056; /// <summary> @@ -18,6 +21,18 @@ namespace JT808.Protocol.MessageBody /// 超速持续时间,单位为秒(s) /// </summary> public uint ParamValue { get; set; } + + public void Analyze(ref JT808MessagePackReader reader, Utf8JsonWriter writer, IJT808Config config) + { + JT808_0x8103_0x0056 jT808_0x8103_0x0056 = new JT808_0x8103_0x0056(); + jT808_0x8103_0x0056.ParamId = reader.ReadUInt32(); + jT808_0x8103_0x0056.ParamLength = reader.ReadByte(); + jT808_0x8103_0x0056.ParamValue = reader.ReadUInt32(); + writer.WriteNumber($"[{ jT808_0x8103_0x0056.ParamId.ReadNumber()}]参数ID", jT808_0x8103_0x0056.ParamId); + writer.WriteNumber($"[{jT808_0x8103_0x0056.ParamLength.ReadNumber()}]参数长度", jT808_0x8103_0x0056.ParamLength); + writer.WriteNumber($"[{ jT808_0x8103_0x0056.ParamValue.ReadNumber()}]参数值[超速持续时间s]", jT808_0x8103_0x0056.ParamValue); + } + public JT808_0x8103_0x0056 Deserialize(ref JT808MessagePackReader reader, IJT808Config config) { JT808_0x8103_0x0056 jT808_0x8103_0x0056 = new JT808_0x8103_0x0056(); diff --git a/src/JT808.Protocol/MessageBody/JT808_0x8103_0x0057.cs b/src/JT808.Protocol/MessageBody/JT808_0x8103_0x0057.cs index a5ae369..0637518 100644 --- a/src/JT808.Protocol/MessageBody/JT808_0x8103_0x0057.cs +++ b/src/JT808.Protocol/MessageBody/JT808_0x8103_0x0057.cs @@ -1,5 +1,8 @@ -using JT808.Protocol.Attributes; +using System.Text.Json; +using JT808.Protocol.Attributes; +using JT808.Protocol.Extensions; using JT808.Protocol.Formatters; +using JT808.Protocol.Interfaces; using JT808.Protocol.MessagePack; namespace JT808.Protocol.MessageBody @@ -7,7 +10,7 @@ namespace JT808.Protocol.MessageBody /// <summary> /// 连续驾驶时间门限,单位为秒(s) /// </summary> - public class JT808_0x8103_0x0057 : JT808_0x8103_BodyBase, IJT808MessagePackFormatter<JT808_0x8103_0x0057> + public class JT808_0x8103_0x0057 : JT808_0x8103_BodyBase, IJT808MessagePackFormatter<JT808_0x8103_0x0057>, IJT808Analyze { public override uint ParamId { get; set; } = 0x0057; /// <summary> @@ -18,6 +21,18 @@ namespace JT808.Protocol.MessageBody /// 连续驾驶时间门限,单位为秒(s) /// </summary> public uint ParamValue { get; set; } + + public void Analyze(ref JT808MessagePackReader reader, Utf8JsonWriter writer, IJT808Config config) + { + JT808_0x8103_0x0057 jT808_0x8103_0x0057 = new JT808_0x8103_0x0057(); + jT808_0x8103_0x0057.ParamId = reader.ReadUInt32(); + jT808_0x8103_0x0057.ParamLength = reader.ReadByte(); + jT808_0x8103_0x0057.ParamValue = reader.ReadUInt32(); + writer.WriteNumber($"[{ jT808_0x8103_0x0057.ParamId.ReadNumber()}]参数ID", jT808_0x8103_0x0057.ParamId); + writer.WriteNumber($"[{jT808_0x8103_0x0057.ParamLength.ReadNumber()}]参数长度", jT808_0x8103_0x0057.ParamLength); + writer.WriteNumber($"[{ jT808_0x8103_0x0057.ParamValue.ReadNumber()}]参数值[连续驾驶时间门限s]", jT808_0x8103_0x0057.ParamValue); + } + public JT808_0x8103_0x0057 Deserialize(ref JT808MessagePackReader reader, IJT808Config config) { JT808_0x8103_0x0057 jT808_0x8103_0x0057 = new JT808_0x8103_0x0057(); diff --git a/src/JT808.Protocol/MessageBody/JT808_0x8103_0x0058.cs b/src/JT808.Protocol/MessageBody/JT808_0x8103_0x0058.cs index 812bcb4..f4dad2b 100644 --- a/src/JT808.Protocol/MessageBody/JT808_0x8103_0x0058.cs +++ b/src/JT808.Protocol/MessageBody/JT808_0x8103_0x0058.cs @@ -1,5 +1,8 @@ -using JT808.Protocol.Attributes; +using System.Text.Json; +using JT808.Protocol.Attributes; +using JT808.Protocol.Extensions; using JT808.Protocol.Formatters; +using JT808.Protocol.Interfaces; using JT808.Protocol.MessagePack; namespace JT808.Protocol.MessageBody @@ -7,7 +10,7 @@ namespace JT808.Protocol.MessageBody /// <summary> /// 当天累计驾驶时间门限,单位为秒(s) /// </summary> - public class JT808_0x8103_0x0058 : JT808_0x8103_BodyBase, IJT808MessagePackFormatter<JT808_0x8103_0x0058> + public class JT808_0x8103_0x0058 : JT808_0x8103_BodyBase, IJT808MessagePackFormatter<JT808_0x8103_0x0058>, IJT808Analyze { public override uint ParamId { get; set; } = 0x0058; /// <summary> @@ -18,6 +21,18 @@ namespace JT808.Protocol.MessageBody /// 当天累计驾驶时间门限,单位为秒(s) /// </summary> public uint ParamValue { get; set; } + + public void Analyze(ref JT808MessagePackReader reader, Utf8JsonWriter writer, IJT808Config config) + { + JT808_0x8103_0x0058 jT808_0x8103_0x0058 = new JT808_0x8103_0x0058(); + jT808_0x8103_0x0058.ParamId = reader.ReadUInt32(); + jT808_0x8103_0x0058.ParamLength = reader.ReadByte(); + jT808_0x8103_0x0058.ParamValue = reader.ReadUInt32(); + writer.WriteNumber($"[{ jT808_0x8103_0x0058.ParamId.ReadNumber()}]参数ID", jT808_0x8103_0x0058.ParamId); + writer.WriteNumber($"[{jT808_0x8103_0x0058.ParamLength.ReadNumber()}]参数长度", jT808_0x8103_0x0058.ParamLength); + writer.WriteNumber($"[{ jT808_0x8103_0x0058.ParamValue.ReadNumber()}]参数值[当天累计驾驶时间门限s]", jT808_0x8103_0x0058.ParamValue); + } + public JT808_0x8103_0x0058 Deserialize(ref JT808MessagePackReader reader, IJT808Config config) { JT808_0x8103_0x0058 jT808_0x8103_0x0058 = new JT808_0x8103_0x0058(); diff --git a/src/JT808.Protocol/MessageBody/JT808_0x8103_0x0059.cs b/src/JT808.Protocol/MessageBody/JT808_0x8103_0x0059.cs index 83ce52b..4584ea4 100644 --- a/src/JT808.Protocol/MessageBody/JT808_0x8103_0x0059.cs +++ b/src/JT808.Protocol/MessageBody/JT808_0x8103_0x0059.cs @@ -1,5 +1,8 @@ -using JT808.Protocol.Attributes; +using System.Text.Json; +using JT808.Protocol.Attributes; +using JT808.Protocol.Extensions; using JT808.Protocol.Formatters; +using JT808.Protocol.Interfaces; using JT808.Protocol.MessagePack; namespace JT808.Protocol.MessageBody @@ -7,7 +10,7 @@ namespace JT808.Protocol.MessageBody /// <summary> /// 最小休息时间,单位为秒(s) /// </summary> - public class JT808_0x8103_0x0059 : JT808_0x8103_BodyBase, IJT808MessagePackFormatter<JT808_0x8103_0x0059> + public class JT808_0x8103_0x0059 : JT808_0x8103_BodyBase, IJT808MessagePackFormatter<JT808_0x8103_0x0059>, IJT808Analyze { public override uint ParamId { get; set; } = 0x0059; /// <summary> @@ -18,6 +21,18 @@ namespace JT808.Protocol.MessageBody /// 最小休息时间,单位为秒(s) /// </summary> public uint ParamValue { get; set; } + + public void Analyze(ref JT808MessagePackReader reader, Utf8JsonWriter writer, IJT808Config config) + { + JT808_0x8103_0x0059 jT808_0x8103_0x0059 = new JT808_0x8103_0x0059(); + jT808_0x8103_0x0059.ParamId = reader.ReadUInt32(); + jT808_0x8103_0x0059.ParamLength = reader.ReadByte(); + jT808_0x8103_0x0059.ParamValue = reader.ReadUInt32(); + writer.WriteNumber($"[{ jT808_0x8103_0x0059.ParamId.ReadNumber()}]参数ID", jT808_0x8103_0x0059.ParamId); + writer.WriteNumber($"[{jT808_0x8103_0x0059.ParamLength.ReadNumber()}]参数长度", jT808_0x8103_0x0059.ParamLength); + writer.WriteNumber($"[{ jT808_0x8103_0x0059.ParamValue.ReadNumber()}]参数值[最小休息时间s]", jT808_0x8103_0x0059.ParamValue); + } + public JT808_0x8103_0x0059 Deserialize(ref JT808MessagePackReader reader, IJT808Config config) { JT808_0x8103_0x0059 jT808_0x8103_0x0059 = new JT808_0x8103_0x0059(); diff --git a/src/JT808.Protocol/MessageBody/JT808_0x8103_0x005A.cs b/src/JT808.Protocol/MessageBody/JT808_0x8103_0x005A.cs index 54c581a..259ad46 100644 --- a/src/JT808.Protocol/MessageBody/JT808_0x8103_0x005A.cs +++ b/src/JT808.Protocol/MessageBody/JT808_0x8103_0x005A.cs @@ -1,5 +1,8 @@ -using JT808.Protocol.Attributes; +using System.Text.Json; +using JT808.Protocol.Attributes; +using JT808.Protocol.Extensions; using JT808.Protocol.Formatters; +using JT808.Protocol.Interfaces; using JT808.Protocol.MessagePack; namespace JT808.Protocol.MessageBody @@ -7,7 +10,7 @@ namespace JT808.Protocol.MessageBody /// <summary> /// 最长停车时间,单位为秒(s) /// </summary> - public class JT808_0x8103_0x005A : JT808_0x8103_BodyBase, IJT808MessagePackFormatter<JT808_0x8103_0x005A> + public class JT808_0x8103_0x005A : JT808_0x8103_BodyBase, IJT808MessagePackFormatter<JT808_0x8103_0x005A>, IJT808Analyze { public override uint ParamId { get; set; } = 0x005A; /// <summary> @@ -18,6 +21,18 @@ namespace JT808.Protocol.MessageBody /// 最长停车时间,单位为秒(s) /// </summary> public uint ParamValue { get; set; } + + public void Analyze(ref JT808MessagePackReader reader, Utf8JsonWriter writer, IJT808Config config) + { + JT808_0x8103_0x005A jT808_0x8103_0x005A = new JT808_0x8103_0x005A(); + jT808_0x8103_0x005A.ParamId = reader.ReadUInt32(); + jT808_0x8103_0x005A.ParamLength = reader.ReadByte(); + jT808_0x8103_0x005A.ParamValue = reader.ReadUInt32(); + writer.WriteNumber($"[{ jT808_0x8103_0x005A.ParamId.ReadNumber()}]参数ID", jT808_0x8103_0x005A.ParamId); + writer.WriteNumber($"[{jT808_0x8103_0x005A.ParamLength.ReadNumber()}]参数长度", jT808_0x8103_0x005A.ParamLength); + writer.WriteNumber($"[{ jT808_0x8103_0x005A.ParamValue.ReadNumber()}]参数值[最长停车时间s]", jT808_0x8103_0x005A.ParamValue); + } + public JT808_0x8103_0x005A Deserialize(ref JT808MessagePackReader reader, IJT808Config config) { JT808_0x8103_0x005A jT808_0x8103_0x005A = new JT808_0x8103_0x005A(); diff --git a/src/JT808.Protocol/MessageBody/JT808_0x8103_0x005B.cs b/src/JT808.Protocol/MessageBody/JT808_0x8103_0x005B.cs index 412e235..ff563bd 100644 --- a/src/JT808.Protocol/MessageBody/JT808_0x8103_0x005B.cs +++ b/src/JT808.Protocol/MessageBody/JT808_0x8103_0x005B.cs @@ -1,5 +1,8 @@ -using JT808.Protocol.Attributes; +using System.Text.Json; +using JT808.Protocol.Attributes; +using JT808.Protocol.Extensions; using JT808.Protocol.Formatters; +using JT808.Protocol.Interfaces; using JT808.Protocol.MessagePack; namespace JT808.Protocol.MessageBody @@ -7,7 +10,7 @@ namespace JT808.Protocol.MessageBody /// <summary> /// 超速报警预警差值,单位为 1/10Km/h /// </summary> - public class JT808_0x8103_0x005B : JT808_0x8103_BodyBase, IJT808MessagePackFormatter<JT808_0x8103_0x005B> + public class JT808_0x8103_0x005B : JT808_0x8103_BodyBase, IJT808MessagePackFormatter<JT808_0x8103_0x005B>, IJT808Analyze { public override uint ParamId { get; set; } = 0x005B; /// <summary> @@ -18,6 +21,18 @@ namespace JT808.Protocol.MessageBody /// 超速报警预警差值,单位为 1/10Km/h /// </summary> public ushort ParamValue { get; set; } + + public void Analyze(ref JT808MessagePackReader reader, Utf8JsonWriter writer, IJT808Config config) + { + JT808_0x8103_0x005B jT808_0x8103_0x005B = new JT808_0x8103_0x005B(); + jT808_0x8103_0x005B.ParamId = reader.ReadUInt32(); + jT808_0x8103_0x005B.ParamLength = reader.ReadByte(); + jT808_0x8103_0x005B.ParamValue = reader.ReadUInt16(); + writer.WriteNumber($"[{ jT808_0x8103_0x005B.ParamId.ReadNumber()}]参数ID", jT808_0x8103_0x005B.ParamId); + writer.WriteNumber($"[{jT808_0x8103_0x005B.ParamLength.ReadNumber()}]参数长度", jT808_0x8103_0x005B.ParamLength); + writer.WriteNumber($"[{ jT808_0x8103_0x005B.ParamValue.ReadNumber()}]参数值[超速报警预警差值1/10Km/h]", jT808_0x8103_0x005B.ParamValue); + } + public JT808_0x8103_0x005B Deserialize(ref JT808MessagePackReader reader, IJT808Config config) { JT808_0x8103_0x005B jT808_0x8103_0x005B = new JT808_0x8103_0x005B(); diff --git a/src/JT808.Protocol/MessageBody/JT808_0x8103_0x005C.cs b/src/JT808.Protocol/MessageBody/JT808_0x8103_0x005C.cs index 3238fd5..4b61f11 100644 --- a/src/JT808.Protocol/MessageBody/JT808_0x8103_0x005C.cs +++ b/src/JT808.Protocol/MessageBody/JT808_0x8103_0x005C.cs @@ -1,5 +1,8 @@ -using JT808.Protocol.Attributes; +using System.Text.Json; +using JT808.Protocol.Attributes; +using JT808.Protocol.Extensions; using JT808.Protocol.Formatters; +using JT808.Protocol.Interfaces; using JT808.Protocol.MessagePack; namespace JT808.Protocol.MessageBody @@ -7,7 +10,7 @@ namespace JT808.Protocol.MessageBody /// <summary> /// 疲劳驾驶预警差值,单位为秒(s),>0 /// </summary> - public class JT808_0x8103_0x005C : JT808_0x8103_BodyBase, IJT808MessagePackFormatter<JT808_0x8103_0x005C> + public class JT808_0x8103_0x005C : JT808_0x8103_BodyBase, IJT808MessagePackFormatter<JT808_0x8103_0x005C>, IJT808Analyze { public override uint ParamId { get; set; } = 0x005C; /// <summary> @@ -18,6 +21,18 @@ namespace JT808.Protocol.MessageBody /// 疲劳驾驶预警差值,单位为秒(s),>0 /// </summary> public ushort ParamValue { get; set; } + + public void Analyze(ref JT808MessagePackReader reader, Utf8JsonWriter writer, IJT808Config config) + { + JT808_0x8103_0x005C jT808_0x8103_0x005C = new JT808_0x8103_0x005C(); + jT808_0x8103_0x005C.ParamId = reader.ReadUInt32(); + jT808_0x8103_0x005C.ParamLength = reader.ReadByte(); + jT808_0x8103_0x005C.ParamValue = reader.ReadUInt16(); + writer.WriteNumber($"[{ jT808_0x8103_0x005C.ParamId.ReadNumber()}]参数ID", jT808_0x8103_0x005C.ParamId); + writer.WriteNumber($"[{jT808_0x8103_0x005C.ParamLength.ReadNumber()}]参数长度", jT808_0x8103_0x005C.ParamLength); + writer.WriteNumber($"[{ jT808_0x8103_0x005C.ParamValue.ReadNumber()}]参数值[疲劳驾驶预警差值s]", jT808_0x8103_0x005C.ParamValue); + } + public JT808_0x8103_0x005C Deserialize(ref JT808MessagePackReader reader, IJT808Config config) { JT808_0x8103_0x005C jT808_0x8103_0x005C = new JT808_0x8103_0x005C(); diff --git a/src/JT808.Protocol/MessageBody/JT808_0x8103_0x005D.cs b/src/JT808.Protocol/MessageBody/JT808_0x8103_0x005D.cs index 83695e2..521b43a 100644 --- a/src/JT808.Protocol/MessageBody/JT808_0x8103_0x005D.cs +++ b/src/JT808.Protocol/MessageBody/JT808_0x8103_0x005D.cs @@ -1,5 +1,8 @@ -using JT808.Protocol.Attributes; +using System.Text.Json; +using JT808.Protocol.Attributes; +using JT808.Protocol.Extensions; using JT808.Protocol.Formatters; +using JT808.Protocol.Interfaces; using JT808.Protocol.MessagePack; namespace JT808.Protocol.MessageBody @@ -9,7 +12,7 @@ namespace JT808.Protocol.MessageBody /// b7-b0: 碰撞时间,单位 4ms; /// b15-b8:碰撞加速度,单位 0.1g,设置范围在:0-79 之间,默认为10。 /// </summary> - public class JT808_0x8103_0x005D : JT808_0x8103_BodyBase, IJT808MessagePackFormatter<JT808_0x8103_0x005D> + public class JT808_0x8103_0x005D : JT808_0x8103_BodyBase, IJT808MessagePackFormatter<JT808_0x8103_0x005D>, IJT808Analyze { public override uint ParamId { get; set; } = 0x005D; /// <summary> @@ -18,10 +21,22 @@ namespace JT808.Protocol.MessageBody public override byte ParamLength { get; set; } = 2; /// <summary> /// 碰撞报警参数设置 - /// b7-b0: 碰撞时间,单位 4ms; + /// b7-b0: 碰撞时间,单位4ms; /// b15-b8:碰撞加速度,单位 0.1g,设置范围在:0-79 之间,默认为10。 /// </summary> public ushort ParamValue { get; set; } + + public void Analyze(ref JT808MessagePackReader reader, Utf8JsonWriter writer, IJT808Config config) + { + JT808_0x8103_0x005D jT808_0x8103_0x005D = new JT808_0x8103_0x005D(); + jT808_0x8103_0x005D.ParamId = reader.ReadUInt32(); + jT808_0x8103_0x005D.ParamLength = reader.ReadByte(); + jT808_0x8103_0x005D.ParamValue = reader.ReadUInt16(); + writer.WriteNumber($"[{ jT808_0x8103_0x005D.ParamId.ReadNumber()}]参数ID", jT808_0x8103_0x005D.ParamId); + writer.WriteNumber($"[{jT808_0x8103_0x005D.ParamLength.ReadNumber()}]参数长度", jT808_0x8103_0x005D.ParamLength); + writer.WriteString($"[{ jT808_0x8103_0x005D.ParamValue.ReadNumber()}]参数值[碰撞报警参数设置]",$"碰撞时间:{(byte)jT808_0x8103_0x005D.ParamValue}(ms),碰撞加速度:{(byte)(jT808_0x8103_0x005D.ParamValue>>8)}(0.1g)"); + } + public JT808_0x8103_0x005D Deserialize(ref JT808MessagePackReader reader, IJT808Config config) { JT808_0x8103_0x005D jT808_0x8103_0x005D = new JT808_0x8103_0x005D(); diff --git a/src/JT808.Protocol/MessageBody/JT808_0x8103_0x005E.cs b/src/JT808.Protocol/MessageBody/JT808_0x8103_0x005E.cs index 268230b..a3e6f0f 100644 --- a/src/JT808.Protocol/MessageBody/JT808_0x8103_0x005E.cs +++ b/src/JT808.Protocol/MessageBody/JT808_0x8103_0x005E.cs @@ -1,5 +1,8 @@ -using JT808.Protocol.Attributes; +using System.Text.Json; +using JT808.Protocol.Attributes; +using JT808.Protocol.Extensions; using JT808.Protocol.Formatters; +using JT808.Protocol.Interfaces; using JT808.Protocol.MessagePack; namespace JT808.Protocol.MessageBody @@ -8,7 +11,7 @@ namespace JT808.Protocol.MessageBody /// 侧翻报警参数设置: /// 侧翻角度,单位 1 度,默认为 30 度 /// </summary> - public class JT808_0x8103_0x005E : JT808_0x8103_BodyBase, IJT808MessagePackFormatter<JT808_0x8103_0x005E> + public class JT808_0x8103_0x005E : JT808_0x8103_BodyBase, IJT808MessagePackFormatter<JT808_0x8103_0x005E>, IJT808Analyze { public override uint ParamId { get; set; } = 0x005E; /// <summary> @@ -20,6 +23,18 @@ namespace JT808.Protocol.MessageBody /// 侧翻角度,单位 1 度,默认为 30 度 /// </summary> public ushort ParamValue { get; set; } + + public void Analyze(ref JT808MessagePackReader reader, Utf8JsonWriter writer, IJT808Config config) + { + JT808_0x8103_0x005E jT808_0x8103_0x005E = new JT808_0x8103_0x005E(); + jT808_0x8103_0x005E.ParamId = reader.ReadUInt32(); + jT808_0x8103_0x005E.ParamLength = reader.ReadByte(); + jT808_0x8103_0x005E.ParamValue = reader.ReadUInt16(); + writer.WriteNumber($"[{ jT808_0x8103_0x005E.ParamId.ReadNumber()}]参数ID", jT808_0x8103_0x005E.ParamId); + writer.WriteNumber($"[{jT808_0x8103_0x005E.ParamLength.ReadNumber()}]参数长度", jT808_0x8103_0x005E.ParamLength); + writer.WriteString($"[{ jT808_0x8103_0x005E.ParamValue.ReadNumber()}]参数值[侧翻报警参数设置]",$"侧翻角度:{jT808_0x8103_0x005E.ParamValue}(度)" ); + } + public JT808_0x8103_0x005E Deserialize(ref JT808MessagePackReader reader, IJT808Config config) { JT808_0x8103_0x005E jT808_0x8103_0x005E = new JT808_0x8103_0x005E(); diff --git a/src/JT808.Protocol/MessageBody/JT808_0x8103_0x0064.cs b/src/JT808.Protocol/MessageBody/JT808_0x8103_0x0064.cs index 78e829e..e55fbfa 100644 --- a/src/JT808.Protocol/MessageBody/JT808_0x8103_0x0064.cs +++ b/src/JT808.Protocol/MessageBody/JT808_0x8103_0x0064.cs @@ -1,13 +1,16 @@ -using JT808.Protocol.Attributes; +using System.Text.Json; +using JT808.Protocol.Attributes; +using JT808.Protocol.Extensions; using JT808.Protocol.Formatters; +using JT808.Protocol.Interfaces; using JT808.Protocol.MessagePack; namespace JT808.Protocol.MessageBody { /// <summary> - /// 定时拍照控制,见 表 13 + /// 定时拍照控制,见 表 14 /// </summary> - public class JT808_0x8103_0x0064 : JT808_0x8103_BodyBase, IJT808MessagePackFormatter<JT808_0x8103_0x0064> + public class JT808_0x8103_0x0064 : JT808_0x8103_BodyBase, IJT808MessagePackFormatter<JT808_0x8103_0x0064>, IJT808Analyze { public override uint ParamId { get; set; } = 0x0064; /// <summary> @@ -15,9 +18,21 @@ namespace JT808.Protocol.MessageBody /// </summary> public override byte ParamLength { get; set; } = 4; /// <summary> - /// 定时拍照控制,见 表 13 + /// 定时拍照控制,见 表 14 /// </summary> public uint ParamValue { get; set; } + + public void Analyze(ref JT808MessagePackReader reader, Utf8JsonWriter writer, IJT808Config config) + { + JT808_0x8103_0x0064 jT808_0x8103_0x0064 = new JT808_0x8103_0x0064(); + jT808_0x8103_0x0064.ParamId = reader.ReadUInt32(); + jT808_0x8103_0x0064.ParamLength = reader.ReadByte(); + jT808_0x8103_0x0064.ParamValue = reader.ReadUInt32(); + writer.WriteNumber($"[{ jT808_0x8103_0x0064.ParamId.ReadNumber()}]参数ID", jT808_0x8103_0x0064.ParamId); + writer.WriteNumber($"[{jT808_0x8103_0x0064.ParamLength.ReadNumber()}]参数长度", jT808_0x8103_0x0064.ParamLength); + writer.WriteNumber($"[{ jT808_0x8103_0x0064.ParamValue.ReadNumber()}]参数值[定时拍照控制,见表14]", jT808_0x8103_0x0064.ParamValue); + } + public JT808_0x8103_0x0064 Deserialize(ref JT808MessagePackReader reader, IJT808Config config) { JT808_0x8103_0x0064 jT808_0x8103_0x0064 = new JT808_0x8103_0x0064(); diff --git a/src/JT808.Protocol/MessageBody/JT808_0x8103_0x0065.cs b/src/JT808.Protocol/MessageBody/JT808_0x8103_0x0065.cs index e20d683..ec978da 100644 --- a/src/JT808.Protocol/MessageBody/JT808_0x8103_0x0065.cs +++ b/src/JT808.Protocol/MessageBody/JT808_0x8103_0x0065.cs @@ -1,13 +1,16 @@ -using JT808.Protocol.Attributes; +using System.Text.Json; +using JT808.Protocol.Attributes; +using JT808.Protocol.Extensions; using JT808.Protocol.Formatters; +using JT808.Protocol.Interfaces; using JT808.Protocol.MessagePack; namespace JT808.Protocol.MessageBody { /// <summary> - /// 定距拍照控制,见 表 14 + /// 定距拍照控制,见 表 15 /// </summary> - public class JT808_0x8103_0x0065 : JT808_0x8103_BodyBase, IJT808MessagePackFormatter<JT808_0x8103_0x0065> + public class JT808_0x8103_0x0065 : JT808_0x8103_BodyBase, IJT808MessagePackFormatter<JT808_0x8103_0x0065>, IJT808Analyze { public override uint ParamId { get; set; } = 0x0065; /// <summary> @@ -15,9 +18,21 @@ namespace JT808.Protocol.MessageBody /// </summary> public override byte ParamLength { get; set; } = 4; /// <summary> - /// 定距拍照控制,见 表 14 + /// 定距拍照控制,见 表 15 /// </summary> public uint ParamValue { get; set; } + + public void Analyze(ref JT808MessagePackReader reader, Utf8JsonWriter writer, IJT808Config config) + { + JT808_0x8103_0x0065 jT808_0x8103_0x0065 = new JT808_0x8103_0x0065(); + jT808_0x8103_0x0065.ParamId = reader.ReadUInt32(); + jT808_0x8103_0x0065.ParamLength = reader.ReadByte(); + jT808_0x8103_0x0065.ParamValue = reader.ReadUInt32(); + writer.WriteNumber($"[{ jT808_0x8103_0x0065.ParamId.ReadNumber()}]参数ID", jT808_0x8103_0x0065.ParamId); + writer.WriteNumber($"[{jT808_0x8103_0x0065.ParamLength.ReadNumber()}]参数长度", jT808_0x8103_0x0065.ParamLength); + writer.WriteNumber($"[{ jT808_0x8103_0x0065.ParamValue.ReadNumber()}]参数值[定距拍照控制,见表15]", jT808_0x8103_0x0065.ParamValue); + } + public JT808_0x8103_0x0065 Deserialize(ref JT808MessagePackReader reader, IJT808Config config) { JT808_0x8103_0x0065 jT808_0x8103_0x0065 = new JT808_0x8103_0x0065(); diff --git a/src/JT808.Protocol/MessageBody/JT808_0x8103_0x0070.cs b/src/JT808.Protocol/MessageBody/JT808_0x8103_0x0070.cs index 32a1806..26aacee 100644 --- a/src/JT808.Protocol/MessageBody/JT808_0x8103_0x0070.cs +++ b/src/JT808.Protocol/MessageBody/JT808_0x8103_0x0070.cs @@ -1,5 +1,8 @@ -using JT808.Protocol.Attributes; +using System.Text.Json; +using JT808.Protocol.Attributes; +using JT808.Protocol.Extensions; using JT808.Protocol.Formatters; +using JT808.Protocol.Interfaces; using JT808.Protocol.MessagePack; namespace JT808.Protocol.MessageBody @@ -7,7 +10,7 @@ namespace JT808.Protocol.MessageBody /// <summary> /// 图像/视频质量,1-10,1 最好 /// </summary> - public class JT808_0x8103_0x0070 : JT808_0x8103_BodyBase, IJT808MessagePackFormatter<JT808_0x8103_0x0070> + public class JT808_0x8103_0x0070 : JT808_0x8103_BodyBase, IJT808MessagePackFormatter<JT808_0x8103_0x0070>, IJT808Analyze { public override uint ParamId { get; set; } = 0x0070; /// <summary> @@ -18,6 +21,18 @@ namespace JT808.Protocol.MessageBody /// 图像/视频质量,1-10,1 最好 /// </summary> public uint ParamValue { get; set; } + + public void Analyze(ref JT808MessagePackReader reader, Utf8JsonWriter writer, IJT808Config config) + { + JT808_0x8103_0x0070 jT808_0x8103_0x0070 = new JT808_0x8103_0x0070(); + jT808_0x8103_0x0070.ParamId = reader.ReadUInt32(); + jT808_0x8103_0x0070.ParamLength = reader.ReadByte(); + jT808_0x8103_0x0070.ParamValue = reader.ReadUInt32(); + writer.WriteNumber($"[{ jT808_0x8103_0x0070.ParamId.ReadNumber()}]参数ID", jT808_0x8103_0x0070.ParamId); + writer.WriteNumber($"[{jT808_0x8103_0x0070.ParamLength.ReadNumber()}]参数长度", jT808_0x8103_0x0070.ParamLength); + writer.WriteNumber($"[{ jT808_0x8103_0x0070.ParamValue.ReadNumber()}]参数值[图像/视频质量,越小越好]", jT808_0x8103_0x0070.ParamValue); + } + public JT808_0x8103_0x0070 Deserialize(ref JT808MessagePackReader reader, IJT808Config config) { JT808_0x8103_0x0070 jT808_0x8103_0x0070 = new JT808_0x8103_0x0070(); diff --git a/src/JT808.Protocol/MessageBody/JT808_0x8103_0x0071.cs b/src/JT808.Protocol/MessageBody/JT808_0x8103_0x0071.cs index 22daffc..602d975 100644 --- a/src/JT808.Protocol/MessageBody/JT808_0x8103_0x0071.cs +++ b/src/JT808.Protocol/MessageBody/JT808_0x8103_0x0071.cs @@ -1,5 +1,8 @@ -using JT808.Protocol.Attributes; +using System.Text.Json; +using JT808.Protocol.Attributes; +using JT808.Protocol.Extensions; using JT808.Protocol.Formatters; +using JT808.Protocol.Interfaces; using JT808.Protocol.MessagePack; namespace JT808.Protocol.MessageBody @@ -7,7 +10,7 @@ namespace JT808.Protocol.MessageBody /// <summary> /// 亮度,0-255 /// </summary> - public class JT808_0x8103_0x0071 : JT808_0x8103_BodyBase, IJT808MessagePackFormatter<JT808_0x8103_0x0071> + public class JT808_0x8103_0x0071 : JT808_0x8103_BodyBase, IJT808MessagePackFormatter<JT808_0x8103_0x0071>, IJT808Analyze { public override uint ParamId { get; set; } = 0x0071; /// <summary> @@ -18,6 +21,18 @@ namespace JT808.Protocol.MessageBody /// 亮度,0-255 /// </summary> public uint ParamValue { get; set; } + + public void Analyze(ref JT808MessagePackReader reader, Utf8JsonWriter writer, IJT808Config config) + { + JT808_0x8103_0x0071 jT808_0x8103_0x0071 = new JT808_0x8103_0x0071(); + jT808_0x8103_0x0071.ParamId = reader.ReadUInt32(); + jT808_0x8103_0x0071.ParamLength = reader.ReadByte(); + jT808_0x8103_0x0071.ParamValue = reader.ReadUInt32(); + writer.WriteNumber($"[{ jT808_0x8103_0x0071.ParamId.ReadNumber()}]参数ID", jT808_0x8103_0x0071.ParamId); + writer.WriteNumber($"[{jT808_0x8103_0x0071.ParamLength.ReadNumber()}]参数长度", jT808_0x8103_0x0071.ParamLength); + writer.WriteNumber($"[{ jT808_0x8103_0x0071.ParamValue.ReadNumber()}]参数值[亮度]", jT808_0x8103_0x0071.ParamValue); + } + public JT808_0x8103_0x0071 Deserialize(ref JT808MessagePackReader reader, IJT808Config config) { JT808_0x8103_0x0071 jT808_0x8103_0x0071 = new JT808_0x8103_0x0071(); diff --git a/src/JT808.Protocol/MessageBody/JT808_0x8103_0x0072.cs b/src/JT808.Protocol/MessageBody/JT808_0x8103_0x0072.cs index 6d89b54..73349d8 100644 --- a/src/JT808.Protocol/MessageBody/JT808_0x8103_0x0072.cs +++ b/src/JT808.Protocol/MessageBody/JT808_0x8103_0x0072.cs @@ -1,5 +1,8 @@ -using JT808.Protocol.Attributes; +using System.Text.Json; +using JT808.Protocol.Attributes; +using JT808.Protocol.Extensions; using JT808.Protocol.Formatters; +using JT808.Protocol.Interfaces; using JT808.Protocol.MessagePack; namespace JT808.Protocol.MessageBody @@ -7,7 +10,7 @@ namespace JT808.Protocol.MessageBody /// <summary> /// 对比度,0-127 /// </summary> - public class JT808_0x8103_0x0072 : JT808_0x8103_BodyBase, IJT808MessagePackFormatter<JT808_0x8103_0x0072> + public class JT808_0x8103_0x0072 : JT808_0x8103_BodyBase, IJT808MessagePackFormatter<JT808_0x8103_0x0072>, IJT808Analyze { public override uint ParamId { get; set; } = 0x0072; /// <summary> @@ -18,6 +21,18 @@ namespace JT808.Protocol.MessageBody /// 对比度,0-127 /// </summary> public uint ParamValue { get; set; } + + public void Analyze(ref JT808MessagePackReader reader, Utf8JsonWriter writer, IJT808Config config) + { + JT808_0x8103_0x0072 jT808_0x8103_0x0072 = new JT808_0x8103_0x0072(); + jT808_0x8103_0x0072.ParamId = reader.ReadUInt32(); + jT808_0x8103_0x0072.ParamLength = reader.ReadByte(); + jT808_0x8103_0x0072.ParamValue = reader.ReadUInt32(); + writer.WriteNumber($"[{ jT808_0x8103_0x0072.ParamId.ReadNumber()}]参数ID", jT808_0x8103_0x0072.ParamId); + writer.WriteNumber($"[{jT808_0x8103_0x0072.ParamLength.ReadNumber()}]参数长度", jT808_0x8103_0x0072.ParamLength); + writer.WriteNumber($"[{ jT808_0x8103_0x0072.ParamValue.ReadNumber()}]参数值[对比度]", jT808_0x8103_0x0072.ParamValue); + } + public JT808_0x8103_0x0072 Deserialize(ref JT808MessagePackReader reader, IJT808Config config) { JT808_0x8103_0x0072 jT808_0x8103_0x0072 = new JT808_0x8103_0x0072(); diff --git a/src/JT808.Protocol/MessageBody/JT808_0x8103_0x0073.cs b/src/JT808.Protocol/MessageBody/JT808_0x8103_0x0073.cs index f8e9208..0eacbc6 100644 --- a/src/JT808.Protocol/MessageBody/JT808_0x8103_0x0073.cs +++ b/src/JT808.Protocol/MessageBody/JT808_0x8103_0x0073.cs @@ -1,5 +1,8 @@ -using JT808.Protocol.Attributes; +using System.Text.Json; +using JT808.Protocol.Attributes; +using JT808.Protocol.Extensions; using JT808.Protocol.Formatters; +using JT808.Protocol.Interfaces; using JT808.Protocol.MessagePack; namespace JT808.Protocol.MessageBody @@ -7,7 +10,7 @@ namespace JT808.Protocol.MessageBody /// <summary> /// 饱和度,0-127 /// </summary> - public class JT808_0x8103_0x0073 : JT808_0x8103_BodyBase, IJT808MessagePackFormatter<JT808_0x8103_0x0073> + public class JT808_0x8103_0x0073 : JT808_0x8103_BodyBase, IJT808MessagePackFormatter<JT808_0x8103_0x0073>, IJT808Analyze { public override uint ParamId { get; set; } = 0x0073; /// <summary> @@ -18,6 +21,18 @@ namespace JT808.Protocol.MessageBody /// 饱和度,0-127 /// </summary> public uint ParamValue { get; set; } + + public void Analyze(ref JT808MessagePackReader reader, Utf8JsonWriter writer, IJT808Config config) + { + JT808_0x8103_0x0073 jT808_0x8103_0x0073 = new JT808_0x8103_0x0073(); + jT808_0x8103_0x0073.ParamId = reader.ReadUInt32(); + jT808_0x8103_0x0073.ParamLength = reader.ReadByte(); + jT808_0x8103_0x0073.ParamValue = reader.ReadUInt32(); + writer.WriteNumber($"[{ jT808_0x8103_0x0073.ParamId.ReadNumber()}]参数ID", jT808_0x8103_0x0073.ParamId); + writer.WriteNumber($"[{jT808_0x8103_0x0073.ParamLength.ReadNumber()}]参数长度", jT808_0x8103_0x0073.ParamLength); + writer.WriteNumber($"[{ jT808_0x8103_0x0073.ParamValue.ReadNumber()}]参数值[饱和度]", jT808_0x8103_0x0073.ParamValue); + } + public JT808_0x8103_0x0073 Deserialize(ref JT808MessagePackReader reader, IJT808Config config) { JT808_0x8103_0x0073 jT808_0x8103_0x0073 = new JT808_0x8103_0x0073(); diff --git a/src/JT808.Protocol/MessageBody/JT808_0x8103_0x0074.cs b/src/JT808.Protocol/MessageBody/JT808_0x8103_0x0074.cs index 279f78b..63cad28 100644 --- a/src/JT808.Protocol/MessageBody/JT808_0x8103_0x0074.cs +++ b/src/JT808.Protocol/MessageBody/JT808_0x8103_0x0074.cs @@ -1,5 +1,8 @@ -using JT808.Protocol.Attributes; +using System.Text.Json; +using JT808.Protocol.Attributes; +using JT808.Protocol.Extensions; using JT808.Protocol.Formatters; +using JT808.Protocol.Interfaces; using JT808.Protocol.MessagePack; namespace JT808.Protocol.MessageBody @@ -7,7 +10,7 @@ namespace JT808.Protocol.MessageBody /// <summary> /// 色度,0-255 /// </summary> - public class JT808_0x8103_0x0074 : JT808_0x8103_BodyBase, IJT808MessagePackFormatter<JT808_0x8103_0x0074> + public class JT808_0x8103_0x0074 : JT808_0x8103_BodyBase, IJT808MessagePackFormatter<JT808_0x8103_0x0074>, IJT808Analyze { public override uint ParamId { get; set; } = 0x0074; /// <summary> @@ -15,9 +18,21 @@ namespace JT808.Protocol.MessageBody /// </summary> public override byte ParamLength { get; set; } = 4; /// <summary> - /// 饱和度,0-127 + /// 色度,0-255 /// </summary> public uint ParamValue { get; set; } + + public void Analyze(ref JT808MessagePackReader reader, Utf8JsonWriter writer, IJT808Config config) + { + JT808_0x8103_0x0074 jT808_0x8103_0x0074 = new JT808_0x8103_0x0074(); + jT808_0x8103_0x0074.ParamId = reader.ReadUInt32(); + jT808_0x8103_0x0074.ParamLength = reader.ReadByte(); + jT808_0x8103_0x0074.ParamValue = reader.ReadUInt32(); + writer.WriteNumber($"[{ jT808_0x8103_0x0074.ParamId.ReadNumber()}]参数ID", jT808_0x8103_0x0074.ParamId); + writer.WriteNumber($"[{jT808_0x8103_0x0074.ParamLength.ReadNumber()}]参数长度", jT808_0x8103_0x0074.ParamLength); + writer.WriteNumber($"[{ jT808_0x8103_0x0074.ParamValue.ReadNumber()}]参数值[色度]", jT808_0x8103_0x0074.ParamValue); + } + public JT808_0x8103_0x0074 Deserialize(ref JT808MessagePackReader reader, IJT808Config config) { JT808_0x8103_0x0074 jT808_0x8103_0x0074 = new JT808_0x8103_0x0074(); diff --git a/src/JT808.Protocol/MessageBody/JT808_0x8103_0x0080.cs b/src/JT808.Protocol/MessageBody/JT808_0x8103_0x0080.cs index fc10ba4..3e51214 100644 --- a/src/JT808.Protocol/MessageBody/JT808_0x8103_0x0080.cs +++ b/src/JT808.Protocol/MessageBody/JT808_0x8103_0x0080.cs @@ -1,5 +1,8 @@ -using JT808.Protocol.Attributes; +using System.Text.Json; +using JT808.Protocol.Attributes; +using JT808.Protocol.Extensions; using JT808.Protocol.Formatters; +using JT808.Protocol.Interfaces; using JT808.Protocol.MessagePack; namespace JT808.Protocol.MessageBody @@ -7,7 +10,7 @@ namespace JT808.Protocol.MessageBody /// <summary> /// 车辆里程表读数,1/10km /// </summary> - public class JT808_0x8103_0x0080 : JT808_0x8103_BodyBase, IJT808MessagePackFormatter<JT808_0x8103_0x0080> + public class JT808_0x8103_0x0080 : JT808_0x8103_BodyBase, IJT808MessagePackFormatter<JT808_0x8103_0x0080>, IJT808Analyze { public override uint ParamId { get; set; } = 0x0080; /// <summary> @@ -18,6 +21,18 @@ namespace JT808.Protocol.MessageBody /// 车辆里程表读数,1/10km /// </summary> public uint ParamValue { get; set; } + + public void Analyze(ref JT808MessagePackReader reader, Utf8JsonWriter writer, IJT808Config config) + { + JT808_0x8103_0x0080 jT808_0x8103_0x0080 = new JT808_0x8103_0x0080(); + jT808_0x8103_0x0080.ParamId = reader.ReadUInt32(); + jT808_0x8103_0x0080.ParamLength = reader.ReadByte(); + jT808_0x8103_0x0080.ParamValue = reader.ReadUInt32(); + writer.WriteNumber($"[{ jT808_0x8103_0x0080.ParamId.ReadNumber()}]参数ID", jT808_0x8103_0x0080.ParamId); + writer.WriteNumber($"[{jT808_0x8103_0x0080.ParamLength.ReadNumber()}]参数长度", jT808_0x8103_0x0080.ParamLength); + writer.WriteNumber($"[{ jT808_0x8103_0x0080.ParamValue.ReadNumber()}]参数值[车辆里程表读数1/10km]", jT808_0x8103_0x0080.ParamValue); + } + public JT808_0x8103_0x0080 Deserialize(ref JT808MessagePackReader reader, IJT808Config config) { JT808_0x8103_0x0080 jT808_0x8103_0x0080 = new JT808_0x8103_0x0080(); diff --git a/src/JT808.Protocol/MessageBody/JT808_0x8103_0x0081.cs b/src/JT808.Protocol/MessageBody/JT808_0x8103_0x0081.cs index dd1ebb3..89bda97 100644 --- a/src/JT808.Protocol/MessageBody/JT808_0x8103_0x0081.cs +++ b/src/JT808.Protocol/MessageBody/JT808_0x8103_0x0081.cs @@ -1,5 +1,8 @@ -using JT808.Protocol.Attributes; +using System.Text.Json; +using JT808.Protocol.Attributes; +using JT808.Protocol.Extensions; using JT808.Protocol.Formatters; +using JT808.Protocol.Interfaces; using JT808.Protocol.MessagePack; namespace JT808.Protocol.MessageBody @@ -7,7 +10,7 @@ namespace JT808.Protocol.MessageBody /// <summary> /// 车辆所在的省域 ID /// </summary> - public class JT808_0x8103_0x0081 : JT808_0x8103_BodyBase, IJT808MessagePackFormatter<JT808_0x8103_0x0081> + public class JT808_0x8103_0x0081 : JT808_0x8103_BodyBase, IJT808MessagePackFormatter<JT808_0x8103_0x0081>, IJT808Analyze { public override uint ParamId { get; set; } = 0x0081; /// <summary> @@ -18,6 +21,18 @@ namespace JT808.Protocol.MessageBody /// 车辆所在的省域 ID /// </summary> public ushort ParamValue { get; set; } + + public void Analyze(ref JT808MessagePackReader reader, Utf8JsonWriter writer, IJT808Config config) + { + JT808_0x8103_0x0081 jT808_0x8103_0x0081 = new JT808_0x8103_0x0081(); + jT808_0x8103_0x0081.ParamId = reader.ReadUInt32(); + jT808_0x8103_0x0081.ParamLength = reader.ReadByte(); + jT808_0x8103_0x0081.ParamValue = reader.ReadUInt16(); + writer.WriteNumber($"[{ jT808_0x8103_0x0081.ParamId.ReadNumber()}]参数ID", jT808_0x8103_0x0081.ParamId); + writer.WriteNumber($"[{jT808_0x8103_0x0081.ParamLength.ReadNumber()}]参数长度", jT808_0x8103_0x0081.ParamLength); + writer.WriteNumber($"[{ jT808_0x8103_0x0081.ParamValue.ReadNumber()}]参数值[车辆所在的省域ID]", jT808_0x8103_0x0081.ParamValue); + } + public JT808_0x8103_0x0081 Deserialize(ref JT808MessagePackReader reader, IJT808Config config) { JT808_0x8103_0x0081 jT808_0x8103_0x0081 = new JT808_0x8103_0x0081(); diff --git a/src/JT808.Protocol/MessageBody/JT808_0x8103_0x0082.cs b/src/JT808.Protocol/MessageBody/JT808_0x8103_0x0082.cs index 5a12098..08920a3 100644 --- a/src/JT808.Protocol/MessageBody/JT808_0x8103_0x0082.cs +++ b/src/JT808.Protocol/MessageBody/JT808_0x8103_0x0082.cs @@ -1,5 +1,8 @@ -using JT808.Protocol.Attributes; +using System.Text.Json; +using JT808.Protocol.Attributes; +using JT808.Protocol.Extensions; using JT808.Protocol.Formatters; +using JT808.Protocol.Interfaces; using JT808.Protocol.MessagePack; namespace JT808.Protocol.MessageBody @@ -7,7 +10,7 @@ namespace JT808.Protocol.MessageBody /// <summary> /// 车辆所在的市域 ID /// </summary> - public class JT808_0x8103_0x0082 : JT808_0x8103_BodyBase, IJT808MessagePackFormatter<JT808_0x8103_0x0082> + public class JT808_0x8103_0x0082 : JT808_0x8103_BodyBase, IJT808MessagePackFormatter<JT808_0x8103_0x0082>, IJT808Analyze { public override uint ParamId { get; set; } = 0x0082; /// <summary> @@ -18,6 +21,18 @@ namespace JT808.Protocol.MessageBody /// 车辆所在的市域 ID /// </summary> public ushort ParamValue { get; set; } + + public void Analyze(ref JT808MessagePackReader reader, Utf8JsonWriter writer, IJT808Config config) + { + JT808_0x8103_0x0082 jT808_0x8103_0x0082 = new JT808_0x8103_0x0082(); + jT808_0x8103_0x0082.ParamId = reader.ReadUInt32(); + jT808_0x8103_0x0082.ParamLength = reader.ReadByte(); + jT808_0x8103_0x0082.ParamValue = reader.ReadUInt16(); + writer.WriteNumber($"[{ jT808_0x8103_0x0082.ParamId.ReadNumber()}]参数ID", jT808_0x8103_0x0082.ParamId); + writer.WriteNumber($"[{jT808_0x8103_0x0082.ParamLength.ReadNumber()}]参数长度", jT808_0x8103_0x0082.ParamLength); + writer.WriteNumber($"[{ jT808_0x8103_0x0082.ParamValue.ReadNumber()}]参数值[车辆所在的市域ID]", jT808_0x8103_0x0082.ParamValue); + } + public JT808_0x8103_0x0082 Deserialize(ref JT808MessagePackReader reader, IJT808Config config) { JT808_0x8103_0x0082 jT808_0x8103_0x0082 = new JT808_0x8103_0x0082(); diff --git a/src/JT808.Protocol/MessageBody/JT808_0x8103_0x0083.cs b/src/JT808.Protocol/MessageBody/JT808_0x8103_0x0083.cs index 3bda09d..2e4c6c7 100644 --- a/src/JT808.Protocol/MessageBody/JT808_0x8103_0x0083.cs +++ b/src/JT808.Protocol/MessageBody/JT808_0x8103_0x0083.cs @@ -1,5 +1,8 @@ -using JT808.Protocol.Attributes; +using System.Text.Json; +using JT808.Protocol.Attributes; +using JT808.Protocol.Extensions; using JT808.Protocol.Formatters; +using JT808.Protocol.Interfaces; using JT808.Protocol.MessagePack; namespace JT808.Protocol.MessageBody @@ -7,7 +10,7 @@ namespace JT808.Protocol.MessageBody /// <summary> /// 公安交通管理部门颁发的机动车号牌 /// </summary> - public class JT808_0x8103_0x0083 : JT808_0x8103_BodyBase, IJT808MessagePackFormatter<JT808_0x8103_0x0083> + public class JT808_0x8103_0x0083 : JT808_0x8103_BodyBase, IJT808MessagePackFormatter<JT808_0x8103_0x0083>, IJT808Analyze { public override uint ParamId { get; set; } = 0x0083; /// <summary> @@ -18,6 +21,19 @@ namespace JT808.Protocol.MessageBody /// 公安交通管理部门颁发的机动车号牌 /// </summary> public string ParamValue { get; set; } + + public void Analyze(ref JT808MessagePackReader reader, Utf8JsonWriter writer, IJT808Config config) + { + JT808_0x8103_0x0083 jT808_0x8103_0x0083 = new JT808_0x8103_0x0083(); + jT808_0x8103_0x0083.ParamId = reader.ReadUInt32(); + jT808_0x8103_0x0083.ParamLength = reader.ReadByte(); + var paramValue = reader.ReadVirtualArray(jT808_0x8103_0x0083.ParamLength); + jT808_0x8103_0x0083.ParamValue = reader.ReadString(jT808_0x8103_0x0083.ParamLength); + writer.WriteNumber($"[{ jT808_0x8103_0x0083.ParamId.ReadNumber()}]参数ID", jT808_0x8103_0x0083.ParamId); + writer.WriteNumber($"[{jT808_0x8103_0x0083.ParamLength.ReadNumber()}]参数长度", jT808_0x8103_0x0083.ParamLength); + writer.WriteString($"[{paramValue.ToArray().ToHexString()}]参数值[公安交通管理部门颁发的机动车号牌]", jT808_0x8103_0x0083.ParamValue); + } + public JT808_0x8103_0x0083 Deserialize(ref JT808MessagePackReader reader, IJT808Config config) { JT808_0x8103_0x0083 jT808_0x8103_0x0083 = new JT808_0x8103_0x0083(); diff --git a/src/JT808.Protocol/MessageBody/JT808_0x8103_0x0084.cs b/src/JT808.Protocol/MessageBody/JT808_0x8103_0x0084.cs index ceb2b6b..0835b6d 100644 --- a/src/JT808.Protocol/MessageBody/JT808_0x8103_0x0084.cs +++ b/src/JT808.Protocol/MessageBody/JT808_0x8103_0x0084.cs @@ -1,4 +1,6 @@ -using JT808.Protocol.Attributes; +using System.Text.Json; +using JT808.Protocol.Attributes; +using JT808.Protocol.Extensions; using JT808.Protocol.Formatters; using JT808.Protocol.Interfaces; using JT808.Protocol.MessagePack; @@ -8,7 +10,7 @@ namespace JT808.Protocol.MessageBody /// <summary> /// 车牌颜色,按照 JT/T415-2006 的 5.4.12 /// </summary> - public class JT808_0x8103_0x0084 : JT808_0x8103_BodyBase, IJT808MessagePackFormatter<JT808_0x8103_0x0084>, IJT808_2019_Version + public class JT808_0x8103_0x0084 : JT808_0x8103_BodyBase, IJT808MessagePackFormatter<JT808_0x8103_0x0084>, IJT808_2019_Version, IJT808Analyze { public override uint ParamId { get; set; } = 0x0084; /// <summary> @@ -19,6 +21,18 @@ namespace JT808.Protocol.MessageBody /// 车牌颜色,按照 JT/T415-2006 的 5.4.12 /// </summary> public byte ParamValue { get; set; } + + public void Analyze(ref JT808MessagePackReader reader, Utf8JsonWriter writer, IJT808Config config) + { + JT808_0x8103_0x0084 jT808_0x8103_0x0084 = new JT808_0x8103_0x0084(); + jT808_0x8103_0x0084.ParamId = reader.ReadUInt32(); + jT808_0x8103_0x0084.ParamLength = reader.ReadByte(); + jT808_0x8103_0x0084.ParamValue = reader.ReadByte(); + writer.WriteNumber($"[{ jT808_0x8103_0x0084.ParamId.ReadNumber()}]参数ID", jT808_0x8103_0x0084.ParamId); + writer.WriteNumber($"[{jT808_0x8103_0x0084.ParamLength.ReadNumber()}]参数长度", jT808_0x8103_0x0084.ParamLength); + writer.WriteNumber($"[{ jT808_0x8103_0x0084.ParamValue.ReadNumber()}]参数值[车牌颜色,按照 JT/T415-2006 的 5.4.12]", jT808_0x8103_0x0084.ParamValue); + } + public JT808_0x8103_0x0084 Deserialize(ref JT808MessagePackReader reader, IJT808Config config) { JT808_0x8103_0x0084 jT808_0x8103_0x0084 = new JT808_0x8103_0x0084(); diff --git a/src/JT808.Protocol/MessageBody/JT808_0x8103_0x0090.cs b/src/JT808.Protocol/MessageBody/JT808_0x8103_0x0090.cs index 09d1789..48b5c5e 100644 --- a/src/JT808.Protocol/MessageBody/JT808_0x8103_0x0090.cs +++ b/src/JT808.Protocol/MessageBody/JT808_0x8103_0x0090.cs @@ -1,5 +1,8 @@ -using JT808.Protocol.Attributes; +using System.Text.Json; +using JT808.Protocol.Attributes; +using JT808.Protocol.Extensions; using JT808.Protocol.Formatters; +using JT808.Protocol.Interfaces; using JT808.Protocol.MessagePack; namespace JT808.Protocol.MessageBody @@ -11,7 +14,7 @@ namespace JT808.Protocol.MessageBody /// bit2,0:禁用 GLONASS 定位, 1:启用 GLONASS 定位; /// bit3,0:禁用 Galileo 定位, 1:启用 Galileo 定位。 /// </summary> - public class JT808_0x8103_0x0090 : JT808_0x8103_BodyBase, IJT808MessagePackFormatter<JT808_0x8103_0x0090> + public class JT808_0x8103_0x0090 : JT808_0x8103_BodyBase, IJT808MessagePackFormatter<JT808_0x8103_0x0090>, IJT808Analyze { public override uint ParamId { get; set; } = 0x0090; /// <summary> @@ -26,6 +29,23 @@ namespace JT808.Protocol.MessageBody /// bit3,0:禁用 Galileo 定位, 1:启用 Galileo 定位。 /// </summary> public byte ParamValue { get; set; } + + public void Analyze(ref JT808MessagePackReader reader, Utf8JsonWriter writer, IJT808Config config) + { + JT808_0x8103_0x0090 jT808_0x8103_0x0090 = new JT808_0x8103_0x0090(); + jT808_0x8103_0x0090.ParamId = reader.ReadUInt32(); + jT808_0x8103_0x0090.ParamLength = reader.ReadByte(); + jT808_0x8103_0x0090.ParamValue = reader.ReadByte(); + writer.WriteNumber($"[{ jT808_0x8103_0x0090.ParamId.ReadNumber()}]参数ID", jT808_0x8103_0x0090.ParamId); + writer.WriteNumber($"[{jT808_0x8103_0x0090.ParamLength.ReadNumber()}]参数长度", jT808_0x8103_0x0090.ParamLength); + writer.WriteStartArray($"[{ jT808_0x8103_0x0090.ParamValue.ReadNumber()}]参数值[GNSS定位模式]"); + writer.WriteStringValue((jT808_0x8103_0x0090.ParamValue & 01) > 0 ? "启用GPS定位" : "禁用GPS定位"); + writer.WriteStringValue((jT808_0x8103_0x0090.ParamValue & 02) > 0 ? "启用北斗定位" : "禁用北斗定位"); + writer.WriteStringValue((jT808_0x8103_0x0090.ParamValue & 04) > 0 ? "启用GLONASS定位" : "禁用GLONASS定位"); + writer.WriteStringValue((jT808_0x8103_0x0090.ParamValue & 08) > 0 ? "启用Galileo定位" : "禁用Galileo定位"); + writer.WriteEndArray(); + } + public JT808_0x8103_0x0090 Deserialize(ref JT808MessagePackReader reader, IJT808Config config) { JT808_0x8103_0x0090 jT808_0x8103_0x0090 = new JT808_0x8103_0x0090(); diff --git a/src/JT808.Protocol/MessageBody/JT808_0x8103_0x0091.cs b/src/JT808.Protocol/MessageBody/JT808_0x8103_0x0091.cs index cbe094f..7c66de1 100644 --- a/src/JT808.Protocol/MessageBody/JT808_0x8103_0x0091.cs +++ b/src/JT808.Protocol/MessageBody/JT808_0x8103_0x0091.cs @@ -1,5 +1,9 @@ -using JT808.Protocol.Attributes; +using System; +using System.Text.Json; +using JT808.Protocol.Attributes; +using JT808.Protocol.Extensions; using JT808.Protocol.Formatters; +using JT808.Protocol.Interfaces; using JT808.Protocol.MessagePack; namespace JT808.Protocol.MessageBody @@ -10,7 +14,7 @@ namespace JT808.Protocol.MessageBody /// 0x02:19200;0x03:38400; /// 0x04:57600;0x05:115200。 /// </summary> - public class JT808_0x8103_0x0091 : JT808_0x8103_BodyBase, IJT808MessagePackFormatter<JT808_0x8103_0x0091> + public class JT808_0x8103_0x0091 : JT808_0x8103_BodyBase, IJT808MessagePackFormatter<JT808_0x8103_0x0091>, IJT808Analyze { public override uint ParamId { get; set; } = 0x0091; /// <summary> @@ -24,6 +28,18 @@ namespace JT808.Protocol.MessageBody /// 0x04:57600;0x05:115200。 /// </summary> public byte ParamValue { get; set; } + + public void Analyze(ref JT808MessagePackReader reader, Utf8JsonWriter writer, IJT808Config config) + { + JT808_0x8103_0x0091 jT808_0x8103_0x0091 = new JT808_0x8103_0x0091(); + jT808_0x8103_0x0091.ParamId = reader.ReadUInt32(); + jT808_0x8103_0x0091.ParamLength = reader.ReadByte(); + jT808_0x8103_0x0091.ParamValue = reader.ReadByte(); + writer.WriteNumber($"[{ jT808_0x8103_0x0091.ParamId.ReadNumber()}]参数ID", jT808_0x8103_0x0091.ParamId); + writer.WriteNumber($"[{jT808_0x8103_0x0091.ParamLength.ReadNumber()}]参数长度", jT808_0x8103_0x0091.ParamLength); + writer.WriteNumber($"[{ jT808_0x8103_0x0091.ParamValue.ReadNumber()}]参数值[GNSS波特率]",Math.Pow(4800, jT808_0x8103_0x0091.ParamValue)); + } + public JT808_0x8103_0x0091 Deserialize(ref JT808MessagePackReader reader, IJT808Config config) { JT808_0x8103_0x0091 jT808_0x8103_0x0091 = new JT808_0x8103_0x0091(); diff --git a/src/JT808.Protocol/MessageBody/JT808_0x8103_0x0092.cs b/src/JT808.Protocol/MessageBody/JT808_0x8103_0x0092.cs index e747a8c..eb8500e 100644 --- a/src/JT808.Protocol/MessageBody/JT808_0x8103_0x0092.cs +++ b/src/JT808.Protocol/MessageBody/JT808_0x8103_0x0092.cs @@ -1,5 +1,8 @@ -using JT808.Protocol.Attributes; +using System.Text.Json; +using JT808.Protocol.Attributes; +using JT808.Protocol.Extensions; using JT808.Protocol.Formatters; +using JT808.Protocol.Interfaces; using JT808.Protocol.MessagePack; namespace JT808.Protocol.MessageBody @@ -10,7 +13,7 @@ namespace JT808.Protocol.MessageBody /// 0x02:2000ms;0x03:3000ms; /// 0x04:4000ms。 /// </summary> - public class JT808_0x8103_0x0092 : JT808_0x8103_BodyBase, IJT808MessagePackFormatter<JT808_0x8103_0x0092> + public class JT808_0x8103_0x0092 : JT808_0x8103_BodyBase, IJT808MessagePackFormatter<JT808_0x8103_0x0092>, IJT808Analyze { public override uint ParamId { get; set; } = 0x0092; /// <summary> @@ -24,6 +27,18 @@ namespace JT808.Protocol.MessageBody /// 0x04:4000ms。 /// </summary> public byte ParamValue { get; set; } + + public void Analyze(ref JT808MessagePackReader reader, Utf8JsonWriter writer, IJT808Config config) + { + JT808_0x8103_0x0092 jT808_0x8103_0x0092 = new JT808_0x8103_0x0092(); + jT808_0x8103_0x0092.ParamId = reader.ReadUInt32(); + jT808_0x8103_0x0092.ParamLength = reader.ReadByte(); + jT808_0x8103_0x0092.ParamValue = reader.ReadByte(); + writer.WriteNumber($"[{ jT808_0x8103_0x0092.ParamId.ReadNumber()}]参数ID", jT808_0x8103_0x0092.ParamId); + writer.WriteNumber($"[{jT808_0x8103_0x0092.ParamLength.ReadNumber()}]参数长度", jT808_0x8103_0x0092.ParamLength); + writer.WriteNumber($"[{ jT808_0x8103_0x0092.ParamValue.ReadNumber()}]GNSS模块详细定位数据输出频率ms", jT808_0x8103_0x0092.ParamValue==0?500: jT808_0x8103_0x0092.ParamValue*1000); + } + public JT808_0x8103_0x0092 Deserialize(ref JT808MessagePackReader reader, IJT808Config config) { JT808_0x8103_0x0092 jT808_0x8103_0x0092 = new JT808_0x8103_0x0092(); diff --git a/src/JT808.Protocol/MessageBody/JT808_0x8103_0x0093.cs b/src/JT808.Protocol/MessageBody/JT808_0x8103_0x0093.cs index 223f8a9..483230d 100644 --- a/src/JT808.Protocol/MessageBody/JT808_0x8103_0x0093.cs +++ b/src/JT808.Protocol/MessageBody/JT808_0x8103_0x0093.cs @@ -1,5 +1,8 @@ -using JT808.Protocol.Attributes; +using System.Text.Json; +using JT808.Protocol.Attributes; +using JT808.Protocol.Extensions; using JT808.Protocol.Formatters; +using JT808.Protocol.Interfaces; using JT808.Protocol.MessagePack; namespace JT808.Protocol.MessageBody @@ -7,7 +10,7 @@ namespace JT808.Protocol.MessageBody /// <summary> /// GNSS 模块详细定位数据采集频率,单位为秒,默认为 1。 /// </summary> - public class JT808_0x8103_0x0093 : JT808_0x8103_BodyBase, IJT808MessagePackFormatter<JT808_0x8103_0x0093> + public class JT808_0x8103_0x0093 : JT808_0x8103_BodyBase, IJT808MessagePackFormatter<JT808_0x8103_0x0093>, IJT808Analyze { public override uint ParamId { get; set; } = 0x0093; /// <summary> @@ -18,6 +21,18 @@ namespace JT808.Protocol.MessageBody /// GNSS 模块详细定位数据采集频率,单位为秒,默认为 1。 /// </summary> public uint ParamValue { get; set; } + + public void Analyze(ref JT808MessagePackReader reader, Utf8JsonWriter writer, IJT808Config config) + { + JT808_0x8103_0x0093 jT808_0x8103_0x0093 = new JT808_0x8103_0x0093(); + jT808_0x8103_0x0093.ParamId = reader.ReadUInt32(); + jT808_0x8103_0x0093.ParamLength = reader.ReadByte(); + jT808_0x8103_0x0093.ParamValue = reader.ReadUInt32(); + writer.WriteNumber($"[{ jT808_0x8103_0x0093.ParamId.ReadNumber()}]参数ID", jT808_0x8103_0x0093.ParamId); + writer.WriteNumber($"[{jT808_0x8103_0x0093.ParamLength.ReadNumber()}]参数长度", jT808_0x8103_0x0093.ParamLength); + writer.WriteNumber($"[{ jT808_0x8103_0x0093.ParamValue.ReadNumber()}]参数值[GNSS模块详细定位数据采集频率s]", jT808_0x8103_0x0093.ParamValue); + } + public JT808_0x8103_0x0093 Deserialize(ref JT808MessagePackReader reader, IJT808Config config) { JT808_0x8103_0x0093 jT808_0x8103_0x0093 = new JT808_0x8103_0x0093(); diff --git a/src/JT808.Protocol/MessageBody/JT808_0x8103_0x0094.cs b/src/JT808.Protocol/MessageBody/JT808_0x8103_0x0094.cs index 015db18..a4a36fe 100644 --- a/src/JT808.Protocol/MessageBody/JT808_0x8103_0x0094.cs +++ b/src/JT808.Protocol/MessageBody/JT808_0x8103_0x0094.cs @@ -1,5 +1,8 @@ -using JT808.Protocol.Attributes; +using System.Text.Json; +using JT808.Protocol.Attributes; +using JT808.Protocol.Extensions; using JT808.Protocol.Formatters; +using JT808.Protocol.Interfaces; using JT808.Protocol.MessagePack; namespace JT808.Protocol.MessageBody @@ -13,7 +16,7 @@ namespace JT808.Protocol.MessageBody /// 0x0C,按累计距离上传,达到距离后自动停止上传; /// 0x0D,按累计条数上传,达到上传条数后自动停止上传。 /// </summary> - public class JT808_0x8103_0x0094 : JT808_0x8103_BodyBase, IJT808MessagePackFormatter<JT808_0x8103_0x0094> + public class JT808_0x8103_0x0094 : JT808_0x8103_BodyBase, IJT808MessagePackFormatter<JT808_0x8103_0x0094>, IJT808Analyze { public override uint ParamId { get; set; } = 0x0094; /// <summary> @@ -30,6 +33,37 @@ namespace JT808.Protocol.MessageBody /// 0x0D,按累计条数上传,达到上传条数后自动停止上传。 /// </summary> public byte ParamValue { get; set; } + + public void Analyze(ref JT808MessagePackReader reader, Utf8JsonWriter writer, IJT808Config config) + { + JT808_0x8103_0x0094 jT808_0x8103_0x0094 = new JT808_0x8103_0x0094(); + jT808_0x8103_0x0094.ParamId = reader.ReadUInt32(); + jT808_0x8103_0x0094.ParamLength = reader.ReadByte(); + jT808_0x8103_0x0094.ParamValue = reader.ReadByte(); + writer.WriteNumber($"[{ jT808_0x8103_0x0094.ParamId.ReadNumber()}]参数ID", jT808_0x8103_0x0094.ParamId); + writer.WriteNumber($"[{jT808_0x8103_0x0094.ParamLength.ReadNumber()}]参数长度", jT808_0x8103_0x0094.ParamLength); + writer.WriteString($"[{ jT808_0x8103_0x0094.ParamValue.ReadNumber()}]参数值[GNSS模块详细定位数据上传方式]", GetUploadType( jT808_0x8103_0x0094.ParamValue)); + string GetUploadType(byte num) { + switch (num) + { + case 0x00: + return "本地存储,不上传(默认值)"; + case 0x01: + return "按时间间隔上传"; + case 0x02: + return "按距离间隔上传"; + case 0x0B: + return "按累计时间上传,达到传输时间后自动停止上传"; + case 0x0C: + return "按累计距离上传,达到距离后自动停止上传"; + case 0x0D: + return "按累计条数上传,达到上传条数后自动停止上传"; + default: + return "未识别"; + } + } + } + public JT808_0x8103_0x0094 Deserialize(ref JT808MessagePackReader reader, IJT808Config config) { JT808_0x8103_0x0094 jT808_0x8103_0x0094 = new JT808_0x8103_0x0094(); diff --git a/src/JT808.Protocol/MessageBody/JT808_0x8103_0x0095.cs b/src/JT808.Protocol/MessageBody/JT808_0x8103_0x0095.cs index 4afca31..216e0e3 100644 --- a/src/JT808.Protocol/MessageBody/JT808_0x8103_0x0095.cs +++ b/src/JT808.Protocol/MessageBody/JT808_0x8103_0x0095.cs @@ -1,5 +1,8 @@ -using JT808.Protocol.Attributes; +using System.Text.Json; +using JT808.Protocol.Attributes; +using JT808.Protocol.Extensions; using JT808.Protocol.Formatters; +using JT808.Protocol.Interfaces; using JT808.Protocol.MessagePack; namespace JT808.Protocol.MessageBody @@ -12,7 +15,7 @@ namespace JT808.Protocol.MessageBody /// 上传方式为 0x0C 时,单位为米; /// 上传方式为 0x0D 时,单位为条。 /// </summary> - public class JT808_0x8103_0x0095 : JT808_0x8103_BodyBase, IJT808MessagePackFormatter<JT808_0x8103_0x0095> + public class JT808_0x8103_0x0095 : JT808_0x8103_BodyBase, IJT808MessagePackFormatter<JT808_0x8103_0x0095>, IJT808Analyze { public override uint ParamId { get; set; } = 0x0095; /// <summary> @@ -28,6 +31,18 @@ namespace JT808.Protocol.MessageBody /// 上传方式为 0x0D 时,单位为条。 /// </summary> public uint ParamValue { get; set; } + + public void Analyze(ref JT808MessagePackReader reader, Utf8JsonWriter writer, IJT808Config config) + { + JT808_0x8103_0x0095 jT808_0x8103_0x0095 = new JT808_0x8103_0x0095(); + jT808_0x8103_0x0095.ParamId = reader.ReadUInt32(); + jT808_0x8103_0x0095.ParamLength = reader.ReadByte(); + jT808_0x8103_0x0095.ParamValue = reader.ReadUInt32(); + writer.WriteNumber($"[{ jT808_0x8103_0x0095.ParamId.ReadNumber()}]参数ID", jT808_0x8103_0x0095.ParamId); + writer.WriteNumber($"[{jT808_0x8103_0x0095.ParamLength.ReadNumber()}]参数长度", jT808_0x8103_0x0095.ParamLength); + writer.WriteNumber($"[{ jT808_0x8103_0x0095.ParamValue.ReadNumber()}]参数值[GNSS模块详细定位数据上传设置]", jT808_0x8103_0x0095.ParamValue); + } + public JT808_0x8103_0x0095 Deserialize(ref JT808MessagePackReader reader, IJT808Config config) { JT808_0x8103_0x0095 jT808_0x8103_0x0095 = new JT808_0x8103_0x0095(); diff --git a/src/JT808.Protocol/MessageBody/JT808_0x8103_0x0100.cs b/src/JT808.Protocol/MessageBody/JT808_0x8103_0x0100.cs index b55d432..6815f2b 100644 --- a/src/JT808.Protocol/MessageBody/JT808_0x8103_0x0100.cs +++ b/src/JT808.Protocol/MessageBody/JT808_0x8103_0x0100.cs @@ -1,5 +1,8 @@ -using JT808.Protocol.Attributes; +using System.Text.Json; +using JT808.Protocol.Attributes; +using JT808.Protocol.Extensions; using JT808.Protocol.Formatters; +using JT808.Protocol.Interfaces; using JT808.Protocol.MessagePack; namespace JT808.Protocol.MessageBody @@ -7,7 +10,7 @@ namespace JT808.Protocol.MessageBody /// <summary> /// CAN 总线通道 1 采集时间间隔(ms),0 表示不采集 /// </summary> - public class JT808_0x8103_0x0100 : JT808_0x8103_BodyBase, IJT808MessagePackFormatter<JT808_0x8103_0x0100> + public class JT808_0x8103_0x0100 : JT808_0x8103_BodyBase, IJT808MessagePackFormatter<JT808_0x8103_0x0100>, IJT808Analyze { public override uint ParamId { get; set; } = 0x0100; /// <summary> @@ -18,6 +21,18 @@ namespace JT808.Protocol.MessageBody /// CAN 总线通道 1 采集时间间隔(ms),0 表示不采集 /// </summary> public uint ParamValue { get; set; } + + public void Analyze(ref JT808MessagePackReader reader, Utf8JsonWriter writer, IJT808Config config) + { + JT808_0x8103_0x0100 jT808_0x8103_0x0100 = new JT808_0x8103_0x0100(); + jT808_0x8103_0x0100.ParamId = reader.ReadUInt32(); + jT808_0x8103_0x0100.ParamLength = reader.ReadByte(); + jT808_0x8103_0x0100.ParamValue = reader.ReadUInt32(); + writer.WriteNumber($"[{ jT808_0x8103_0x0100.ParamId.ReadNumber()}]参数ID", jT808_0x8103_0x0100.ParamId); + writer.WriteNumber($"[{jT808_0x8103_0x0100.ParamLength.ReadNumber()}]参数长度", jT808_0x8103_0x0100.ParamLength); + writer.WriteNumber($"[{ jT808_0x8103_0x0100.ParamValue.ReadNumber()}]参数值[CAN总线通道1 ,采集时间间隔(ms),0 表示不采集]", jT808_0x8103_0x0100.ParamValue); + } + public JT808_0x8103_0x0100 Deserialize(ref JT808MessagePackReader reader, IJT808Config config) { JT808_0x8103_0x0100 jT808_0x8103_0x0100 = new JT808_0x8103_0x0100(); diff --git a/src/JT808.Protocol/MessageBody/JT808_0x8103_0x0101.cs b/src/JT808.Protocol/MessageBody/JT808_0x8103_0x0101.cs index 0ba8322..f5dbf11 100644 --- a/src/JT808.Protocol/MessageBody/JT808_0x8103_0x0101.cs +++ b/src/JT808.Protocol/MessageBody/JT808_0x8103_0x0101.cs @@ -1,5 +1,8 @@ -using JT808.Protocol.Attributes; +using System.Text.Json; +using JT808.Protocol.Attributes; +using JT808.Protocol.Extensions; using JT808.Protocol.Formatters; +using JT808.Protocol.Interfaces; using JT808.Protocol.MessagePack; namespace JT808.Protocol.MessageBody @@ -7,7 +10,7 @@ namespace JT808.Protocol.MessageBody /// <summary> /// CAN 总线通道 1 上传时间间隔(s),0 表示不上传 /// </summary> - public class JT808_0x8103_0x0101 : JT808_0x8103_BodyBase, IJT808MessagePackFormatter<JT808_0x8103_0x0101> + public class JT808_0x8103_0x0101 : JT808_0x8103_BodyBase, IJT808MessagePackFormatter<JT808_0x8103_0x0101>, IJT808Analyze { public override uint ParamId { get; set; } = 0x0101; /// <summary> @@ -18,6 +21,18 @@ namespace JT808.Protocol.MessageBody /// CAN 总线通道 1 上传时间间隔(s),0 表示不上传 /// </summary> public ushort ParamValue { get; set; } + + public void Analyze(ref JT808MessagePackReader reader, Utf8JsonWriter writer, IJT808Config config) + { + JT808_0x8103_0x0101 jT808_0x8103_0x0101 = new JT808_0x8103_0x0101(); + jT808_0x8103_0x0101.ParamId = reader.ReadUInt32(); + jT808_0x8103_0x0101.ParamLength = reader.ReadByte(); + jT808_0x8103_0x0101.ParamValue = reader.ReadUInt16(); + writer.WriteNumber($"[{ jT808_0x8103_0x0101.ParamId.ReadNumber()}]参数ID", jT808_0x8103_0x0101.ParamId); + writer.WriteNumber($"[{jT808_0x8103_0x0101.ParamLength.ReadNumber()}]参数长度", jT808_0x8103_0x0101.ParamLength); + writer.WriteNumber($"[{ jT808_0x8103_0x0101.ParamValue.ReadNumber()}]参数值[CAN总线通道1, 上传时间间隔(s),0 表示不上传]", jT808_0x8103_0x0101.ParamValue); + } + public JT808_0x8103_0x0101 Deserialize(ref JT808MessagePackReader reader, IJT808Config config) { JT808_0x8103_0x0101 jT808_0x8103_0x0101 = new JT808_0x8103_0x0101(); diff --git a/src/JT808.Protocol/MessageBody/JT808_0x8103_0x0102.cs b/src/JT808.Protocol/MessageBody/JT808_0x8103_0x0102.cs index 7037e35..3b92840 100644 --- a/src/JT808.Protocol/MessageBody/JT808_0x8103_0x0102.cs +++ b/src/JT808.Protocol/MessageBody/JT808_0x8103_0x0102.cs @@ -1,5 +1,8 @@ -using JT808.Protocol.Attributes; +using System.Text.Json; +using JT808.Protocol.Attributes; +using JT808.Protocol.Extensions; using JT808.Protocol.Formatters; +using JT808.Protocol.Interfaces; using JT808.Protocol.MessagePack; namespace JT808.Protocol.MessageBody @@ -7,7 +10,7 @@ namespace JT808.Protocol.MessageBody /// <summary> /// CAN 总线通道 2 采集时间间隔(ms),0 表示不采集 /// </summary> - public class JT808_0x8103_0x0102 : JT808_0x8103_BodyBase, IJT808MessagePackFormatter<JT808_0x8103_0x0102> + public class JT808_0x8103_0x0102 : JT808_0x8103_BodyBase, IJT808MessagePackFormatter<JT808_0x8103_0x0102>, IJT808Analyze { public override uint ParamId { get; set; } = 0x0102; /// <summary> @@ -18,6 +21,18 @@ namespace JT808.Protocol.MessageBody /// CAN 总线通道 2 采集时间间隔(ms),0 表示不采集 /// </summary> public uint ParamValue { get; set; } + + public void Analyze(ref JT808MessagePackReader reader, Utf8JsonWriter writer, IJT808Config config) + { + JT808_0x8103_0x0102 jT808_0x8103_0x0102 = new JT808_0x8103_0x0102(); + jT808_0x8103_0x0102.ParamId = reader.ReadUInt32(); + jT808_0x8103_0x0102.ParamLength = reader.ReadByte(); + jT808_0x8103_0x0102.ParamValue = reader.ReadUInt32(); + writer.WriteNumber($"[{ jT808_0x8103_0x0102.ParamId.ReadNumber()}]参数ID", jT808_0x8103_0x0102.ParamId); + writer.WriteNumber($"[{jT808_0x8103_0x0102.ParamLength.ReadNumber()}]参数长度", jT808_0x8103_0x0102.ParamLength); + writer.WriteNumber($"[{ jT808_0x8103_0x0102.ParamValue.ReadNumber()}]参数值[CAN 总线通道2, 采集时间间隔(ms),0 表示不采集]", jT808_0x8103_0x0102.ParamValue); + } + public JT808_0x8103_0x0102 Deserialize(ref JT808MessagePackReader reader, IJT808Config config) { JT808_0x8103_0x0102 jT808_0x8103_0x0102 = new JT808_0x8103_0x0102(); diff --git a/src/JT808.Protocol/MessageBody/JT808_0x8103_0x0103.cs b/src/JT808.Protocol/MessageBody/JT808_0x8103_0x0103.cs index 4a2388e..5c5c2ce 100644 --- a/src/JT808.Protocol/MessageBody/JT808_0x8103_0x0103.cs +++ b/src/JT808.Protocol/MessageBody/JT808_0x8103_0x0103.cs @@ -1,5 +1,8 @@ -using JT808.Protocol.Attributes; +using System.Text.Json; +using JT808.Protocol.Attributes; +using JT808.Protocol.Extensions; using JT808.Protocol.Formatters; +using JT808.Protocol.Interfaces; using JT808.Protocol.MessagePack; namespace JT808.Protocol.MessageBody @@ -7,7 +10,7 @@ namespace JT808.Protocol.MessageBody /// <summary> /// CAN 总线通道 2 上传时间间隔(s),0 表示不上传 /// </summary> - public class JT808_0x8103_0x0103 : JT808_0x8103_BodyBase, IJT808MessagePackFormatter<JT808_0x8103_0x0103> + public class JT808_0x8103_0x0103 : JT808_0x8103_BodyBase, IJT808MessagePackFormatter<JT808_0x8103_0x0103>, IJT808Analyze { public override uint ParamId { get; set; } = 0x0103; /// <summary> @@ -18,6 +21,18 @@ namespace JT808.Protocol.MessageBody /// CAN 总线通道 2 上传时间间隔(s),0 表示不上传 /// </summary> public ushort ParamValue { get; set; } + + public void Analyze(ref JT808MessagePackReader reader, Utf8JsonWriter writer, IJT808Config config) + { + JT808_0x8103_0x0103 jT808_0x8103_0x0103 = new JT808_0x8103_0x0103(); + jT808_0x8103_0x0103.ParamId = reader.ReadUInt32(); + jT808_0x8103_0x0103.ParamLength = reader.ReadByte(); + jT808_0x8103_0x0103.ParamValue = reader.ReadUInt16(); + writer.WriteNumber($"[{ jT808_0x8103_0x0103.ParamId.ReadNumber()}]参数ID", jT808_0x8103_0x0103.ParamId); + writer.WriteNumber($"[{jT808_0x8103_0x0103.ParamLength.ReadNumber()}]参数长度", jT808_0x8103_0x0103.ParamLength); + writer.WriteNumber($"[{ jT808_0x8103_0x0103.ParamValue.ReadNumber()}]参数值[CAN 总线通道2,上传时间间隔(s),0 表示不上传]", jT808_0x8103_0x0103.ParamValue); + } + public JT808_0x8103_0x0103 Deserialize(ref JT808MessagePackReader reader, IJT808Config config) { JT808_0x8103_0x0103 jT808_0x8103_0x0103 = new JT808_0x8103_0x0103(); diff --git a/src/JT808.Protocol/MessageBody/JT808_0x8103_0x0110.cs b/src/JT808.Protocol/MessageBody/JT808_0x8103_0x0110.cs index dbd46f0..30cdc59 100644 --- a/src/JT808.Protocol/MessageBody/JT808_0x8103_0x0110.cs +++ b/src/JT808.Protocol/MessageBody/JT808_0x8103_0x0110.cs @@ -1,5 +1,10 @@ -using JT808.Protocol.Attributes; +using System; +using System.Buffers.Binary; +using System.Text.Json; +using JT808.Protocol.Attributes; +using JT808.Protocol.Extensions; using JT808.Protocol.Formatters; +using JT808.Protocol.Interfaces; using JT808.Protocol.MessagePack; namespace JT808.Protocol.MessageBody @@ -12,7 +17,7 @@ namespace JT808.Protocol.MessageBody /// bit29 表示数据采集方式,0:原始数据,1:采集区间的计算值; /// bit28-bit0 表示 CAN 总线 ID。 /// </summary> - public class JT808_0x8103_0x0110 : JT808_0x8103_BodyBase, IJT808MessagePackFormatter<JT808_0x8103_0x0110> + public class JT808_0x8103_0x0110 : JT808_0x8103_BodyBase, IJT808MessagePackFormatter<JT808_0x8103_0x0110>, IJT808Analyze { public override uint ParamId { get; set; } = 0x0110; /// <summary> @@ -28,6 +33,24 @@ namespace JT808.Protocol.MessageBody /// bit28-bit0 表示 CAN 总线 ID。 /// </summary> public byte[] ParamValue { get; set; } + + public void Analyze(ref JT808MessagePackReader reader, Utf8JsonWriter writer, IJT808Config config) + { + JT808_0x8103_0x0110 jT808_0x8103_0x0110 = new JT808_0x8103_0x0110(); + jT808_0x8103_0x0110.ParamId = reader.ReadUInt32(); + jT808_0x8103_0x0110.ParamLength = reader.ReadByte(); + jT808_0x8103_0x0110.ParamValue = reader.ReadArray(jT808_0x8103_0x0110.ParamLength).ToArray(); + writer.WriteNumber($"[ { jT808_0x8103_0x0110.ParamId.ReadNumber()}]参数ID", jT808_0x8103_0x0110.ParamId); + writer.WriteNumber($"[{jT808_0x8103_0x0110.ParamLength.ReadNumber()}]参数长度", jT808_0x8103_0x0110.ParamLength); + writer.WriteStartArray($"[{ jT808_0x8103_0x0110.ParamValue.ToHexString()}]参数值[CAN总线ID单独采集设置]"); + writer.WriteNumber("此 ID 采集时间间隔(ms)", BinaryPrimitives.ReadUInt32BigEndian( jT808_0x8103_0x0110.ParamValue.AsSpan().Slice(0,4))); + writer.WriteString("CAN通道号", (jT808_0x8103_0x0110.ParamValue.AsSpan().Slice(4, 1).ToArray()[0]&0x01)==0? "CAN1" : "CAN2"); + writer.WriteString("帧类型", (jT808_0x8103_0x0110.ParamValue.AsSpan().Slice(4, 1).ToArray()[0] & 0x02) == 0 ? "标准帧" : "扩展帧"); + writer.WriteString("数据采集方式", (jT808_0x8103_0x0110.ParamValue.AsSpan().Slice(4, 1).ToArray()[0] & 0x04) == 0 ? "原始数据" : "采集区间的计算值"); + writer.WriteNumber("CAN 总线 ID", BinaryPrimitives.ReadUInt32BigEndian(jT808_0x8103_0x0110.ParamValue.AsSpan().Slice(4, 4)) & 0x01FFFFFF); + writer.WriteEndArray(); + } + public JT808_0x8103_0x0110 Deserialize(ref JT808MessagePackReader reader, IJT808Config config) { JT808_0x8103_0x0110 jT808_0x8103_0x0110 = new JT808_0x8103_0x0110();