@@ -111,7 +111,7 @@ | |||||
<PackageReference Include="NETStandard.Library" Version="2.0.3" /> | <PackageReference Include="NETStandard.Library" Version="2.0.3" /> | ||||
<PackageReference Include="Newtonsoft.Json" Version="12.0.3" /> | <PackageReference Include="Newtonsoft.Json" Version="12.0.3" /> | ||||
<PackageReference Include="System.Drawing.Common" Version="4.7.0" /> | <PackageReference Include="System.Drawing.Common" Version="4.7.0" /> | ||||
<PackageReference Include="Microsoft.Extensions.DependencyInjection" Version="3.1.0" /> | |||||
<PackageReference Include="Microsoft.Extensions.DependencyInjection" Version="3.1.1" /> | |||||
<PackageReference Include="System.Runtime.InteropServices.RuntimeInformation" Version="4.3.0" /> | <PackageReference Include="System.Runtime.InteropServices.RuntimeInformation" Version="4.3.0" /> | ||||
<PackageReference Include="xunit" Version="2.4.1" /> | <PackageReference Include="xunit" Version="2.4.1" /> | ||||
<PackageReference Include="xunit.runner.console" Version="2.4.1"> | <PackageReference Include="xunit.runner.console" Version="2.4.1"> | ||||
@@ -59,5 +59,12 @@ namespace JT808.Protocol.Test.MessageBody | |||||
Assert.Equal(7, jT808_0X0107.GNSSModule); | Assert.Equal(7, jT808_0X0107.GNSSModule); | ||||
Assert.Equal(9, jT808_0X0107.CommunicationModule); | Assert.Equal(9, jT808_0X0107.CommunicationModule); | ||||
} | } | ||||
[Fact] | |||||
public void Test3() | |||||
{ | |||||
byte[] bytes = "7E0107004111223344556622B8000531303630313130343535353435393535313033303030303030346436613133301234567890123456789007616263646566670A706F69757974726577710709DA7E".ToHexBytes(); | |||||
string json = JT808Serializer.Analyze(bytes); | |||||
} | |||||
} | } | ||||
} | } |
@@ -28,5 +28,12 @@ namespace JT808.Protocol.Test.MessageBody | |||||
Assert.Equal(JT808UpgradeResult.成功, jT808_0X0108.UpgradeResult); | Assert.Equal(JT808UpgradeResult.成功, jT808_0X0108.UpgradeResult); | ||||
Assert.Equal(JT808UpgradeType.北斗卫星定位模块, jT808_0X0108.UpgradeType); | Assert.Equal(JT808UpgradeType.北斗卫星定位模块, jT808_0X0108.UpgradeType); | ||||
} | } | ||||
[Fact] | |||||
public void Test3() | |||||
{ | |||||
byte[] bytes = "34 00".ToHexBytes(); | |||||
string json = JT808Serializer.Analyze<JT808_0x0108>(bytes); | |||||
} | |||||
} | } | ||||
} | } |
@@ -14,7 +14,7 @@ | |||||
<licenseUrl>https://github.com/SmallChi/JT808/blob/master/LICENSE</licenseUrl> | <licenseUrl>https://github.com/SmallChi/JT808/blob/master/LICENSE</licenseUrl> | ||||
<license>https://github.com/SmallChi/JT808/blob/master/LICENSE</license> | <license>https://github.com/SmallChi/JT808/blob/master/LICENSE</license> | ||||
<GeneratePackageOnBuild>false</GeneratePackageOnBuild> | <GeneratePackageOnBuild>false</GeneratePackageOnBuild> | ||||
<Version>2.2.5</Version> | |||||
<Version>2.2.6</Version> | |||||
<PackageLicenseFile>LICENSE</PackageLicenseFile> | <PackageLicenseFile>LICENSE</PackageLicenseFile> | ||||
</PropertyGroup> | </PropertyGroup> | ||||
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|AnyCPU'"> | <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|AnyCPU'"> | ||||
@@ -71,7 +71,7 @@ | |||||
</PackageReference> | </PackageReference> | ||||
<PackageReference Include="Microsoft.CSharp" Version="4.7.0" /> | <PackageReference Include="Microsoft.CSharp" Version="4.7.0" /> | ||||
<PackageReference Include="System.Text.Encoding.CodePages" Version="4.7.0" /> | <PackageReference Include="System.Text.Encoding.CodePages" Version="4.7.0" /> | ||||
<PackageReference Include="Microsoft.Extensions.DependencyInjection.Abstractions" Version="3.1.0" /> | |||||
<PackageReference Include="Microsoft.Extensions.DependencyInjection.Abstractions" Version="3.1.1" /> | |||||
<PackageReference Include="System.Text.Json" Version="4.7.0" /> | <PackageReference Include="System.Text.Json" Version="4.7.0" /> | ||||
</ItemGroup> | </ItemGroup> | ||||
@@ -1,14 +1,18 @@ | |||||
using JT808.Protocol.Enums; | using JT808.Protocol.Enums; | ||||
using JT808.Protocol.Extensions; | |||||
using JT808.Protocol.Formatters; | using JT808.Protocol.Formatters; | ||||
using JT808.Protocol.Interfaces; | using JT808.Protocol.Interfaces; | ||||
using JT808.Protocol.MessagePack; | using JT808.Protocol.MessagePack; | ||||
using System; | |||||
using System.Collections; | |||||
using System.Text.Json; | |||||
namespace JT808.Protocol.MessageBody | namespace JT808.Protocol.MessageBody | ||||
{ | { | ||||
/// <summary> | /// <summary> | ||||
/// 查询终端属性应答 | /// 查询终端属性应答 | ||||
/// </summary> | /// </summary> | ||||
public class JT808_0x0107 : JT808Bodies,IJT808MessagePackFormatter<JT808_0x0107>, IJT808_2019_Version | |||||
public class JT808_0x0107 : JT808Bodies,IJT808MessagePackFormatter<JT808_0x0107>, IJT808_2019_Version,IJT808Analyze | |||||
{ | { | ||||
public override ushort MsgId { get; } = 0x0107; | public override ushort MsgId { get; } = 0x0107; | ||||
@@ -133,5 +137,80 @@ namespace JT808.Protocol.MessageBody | |||||
writer.WriteByte(value.GNSSModule); | writer.WriteByte(value.GNSSModule); | ||||
writer.WriteByte(value.CommunicationModule); | writer.WriteByte(value.CommunicationModule); | ||||
} | } | ||||
public void Analyze(ref JT808MessagePackReader reader, Utf8JsonWriter writer, IJT808Config config) | |||||
{ | |||||
JT808_0x0107 jT808_0X0107 = new JT808_0x0107(); | |||||
jT808_0X0107.TerminalType = reader.ReadUInt16(); | |||||
writer.WriteNumber($"[{jT808_0X0107.TerminalType.ReadNumber()}]终端类型", jT808_0X0107.TerminalType); | |||||
ReadOnlySpan<char> terminalTypeBits = Convert.ToString(jT808_0X0107.TerminalType, 2).PadLeft(16, '0').AsSpan(); | |||||
writer.WriteStartObject("终端类型"); | |||||
writer.WriteString("bit0", terminalTypeBits[0] == '0' ? "不适用客运车辆" : "适用客运车辆"); | |||||
writer.WriteString("bit1", terminalTypeBits[1] == '0' ? "不适用危险品车辆" : "适用危险品车辆"); | |||||
writer.WriteString("bit2", terminalTypeBits[2] == '0' ? "不适用普通货运车辆" : "适用普通货运车辆"); | |||||
writer.WriteString("bit3", terminalTypeBits[3] == '0' ? "不适用出租车辆" : "适用出租车辆"); | |||||
writer.WriteString("bit6", terminalTypeBits[6] == '0' ? "不支持硬盘录像" : "支持硬盘录像"); | |||||
writer.WriteString("bit7", terminalTypeBits[7] == '0' ? "一体机" : "分体机"); | |||||
writer.WriteEndObject(); | |||||
if (reader.Version == JT808Version.JTT2019) | |||||
{ | |||||
ReadOnlySpan<byte> makerIdSpan = reader.ReadVirtualArray(11); | |||||
jT808_0X0107.MakerId = reader.ReadString(11); | |||||
writer.WriteString($"[{makerIdSpan.ToArray().ToHexString()}]制造商ID", jT808_0X0107.MakerId); | |||||
ReadOnlySpan<byte> terminalModelSpan = reader.ReadVirtualArray(30); | |||||
jT808_0X0107.TerminalModel = reader.ReadString(30); | |||||
writer.WriteString($"[{terminalModelSpan.ToArray().ToHexString()}]终端型号", jT808_0X0107.TerminalModel); | |||||
ReadOnlySpan<byte> terminalIdSpan = reader.ReadVirtualArray(30); | |||||
jT808_0X0107.TerminalId = reader.ReadString(30); | |||||
writer.WriteString($"[{terminalIdSpan.ToArray().ToHexString()}]终端ID", jT808_0X0107.TerminalId); | |||||
} | |||||
else | |||||
{ | |||||
ReadOnlySpan<byte> makerIdSpan = reader.ReadVirtualArray(5); | |||||
jT808_0X0107.MakerId = reader.ReadString(5); | |||||
writer.WriteString($"[{makerIdSpan.ToArray().ToHexString()}]制造商ID", jT808_0X0107.MakerId); | |||||
ReadOnlySpan<byte> terminalModelSpan = reader.ReadVirtualArray(20); | |||||
jT808_0X0107.TerminalModel = reader.ReadString(20); | |||||
writer.WriteString($"[{terminalModelSpan.ToArray().ToHexString()}]终端型号", jT808_0X0107.TerminalModel); | |||||
ReadOnlySpan<byte> terminalIdSpan = reader.ReadVirtualArray(7); | |||||
jT808_0X0107.TerminalId = reader.ReadString(7); | |||||
writer.WriteString($"[{terminalIdSpan.ToArray().ToHexString()}]终端ID", jT808_0X0107.TerminalId); | |||||
} | |||||
ReadOnlySpan<byte> iccidSpan = reader.ReadVirtualArray(20); | |||||
jT808_0X0107.Terminal_SIM_ICCID = reader.ReadBCD(20, config.Trim); | |||||
writer.WriteString($"[{iccidSpan.ToArray().ToHexString()}]终端SIM卡ICCID", jT808_0X0107.Terminal_SIM_ICCID); | |||||
jT808_0X0107.Terminal_Hardware_Version_Length = reader.ReadByte(); | |||||
writer.WriteNumber($"[{jT808_0X0107.Terminal_Hardware_Version_Length.ReadNumber()}]终端硬件版本号长度", jT808_0X0107.Terminal_Hardware_Version_Length); | |||||
ReadOnlySpan<byte> hardwareVersionNumSpan = reader.ReadVirtualArray(jT808_0X0107.Terminal_Hardware_Version_Length); | |||||
jT808_0X0107.Terminal_Hardware_Version_Num = reader.ReadString(jT808_0X0107.Terminal_Hardware_Version_Length); | |||||
writer.WriteString($"[{hardwareVersionNumSpan.ToArray().ToHexString()}]终端硬件版本号", jT808_0X0107.Terminal_Hardware_Version_Num); | |||||
jT808_0X0107.Terminal_Firmware_Version_Length = reader.ReadByte(); | |||||
writer.WriteNumber($"[{jT808_0X0107.Terminal_Firmware_Version_Length.ReadNumber()}]终端硬件版本号长度", jT808_0X0107.Terminal_Firmware_Version_Length); | |||||
ReadOnlySpan<byte> firmwareVersionNumSpan = reader.ReadVirtualArray(jT808_0X0107.Terminal_Firmware_Version_Length); | |||||
jT808_0X0107.Terminal_Firmware_Version_Num = reader.ReadString(jT808_0X0107.Terminal_Firmware_Version_Length); | |||||
writer.WriteString($"[{firmwareVersionNumSpan.ToArray().ToHexString()}]终端固件版本号", jT808_0X0107.Terminal_Firmware_Version_Num); | |||||
jT808_0X0107.GNSSModule = reader.ReadByte(); | |||||
ReadOnlySpan<char> gNSSModuleBits = Convert.ToString(jT808_0X0107.GNSSModule, 2).PadLeft(8,'0').AsSpan(); | |||||
writer.WriteNumber($"[{jT808_0X0107.GNSSModule.ReadNumber()}]GNSS模块属性", jT808_0X0107.GNSSModule); | |||||
writer.WriteStartObject("GNSS模块属性"); | |||||
writer.WriteString("bit0", gNSSModuleBits[0] == '0' ? "不支持GPS定位" : "支持GPS定位"); | |||||
writer.WriteString("bit1", gNSSModuleBits[1] == '0' ? "不支持北斗定位" : "支持北斗定位"); | |||||
writer.WriteString("bit2", gNSSModuleBits[2] == '0' ? "不支持GLONASS定位" : "支持GLONASS定位"); | |||||
writer.WriteString("bit3", gNSSModuleBits[3] == '0' ? "不支持Galileo定位" : "支持Galileo定位"); | |||||
writer.WriteEndObject(); | |||||
jT808_0X0107.CommunicationModule = reader.ReadByte(); | |||||
ReadOnlySpan<char> communicationModuleBits=Convert.ToString(jT808_0X0107.CommunicationModule, 2).PadLeft(8, '0').AsSpan(); | |||||
writer.WriteNumber($"[{jT808_0X0107.CommunicationModule.ReadNumber()}]通信模块属性", jT808_0X0107.CommunicationModule); | |||||
writer.WriteStartObject("通信模块属性"); | |||||
writer.WriteString("bit0", communicationModuleBits[0] == '0' ? "不支持GPRS通信" : "支持GPRS通信"); | |||||
writer.WriteString("bit1", communicationModuleBits[1] == '0' ? "不支持CDMA通信" : "支持CDMA通信"); | |||||
writer.WriteString("bit2", communicationModuleBits[2] == '0' ? "不支持TD-SCDMA通信" : "支持TD-SCDMA通信"); | |||||
writer.WriteString("bit3", communicationModuleBits[3] == '0' ? "不支持WCDMA通信" : "支持WCDMA通信"); | |||||
writer.WriteString("bit4", communicationModuleBits[4] == '0' ? "不支持CDMA2000通信" : "支持CDMA2000通信"); | |||||
writer.WriteString("bit5", communicationModuleBits[5] == '0' ? "不支持TD-LTE通信" : "支持TD-LTE通信"); | |||||
writer.WriteString("bit6", "保留"); | |||||
writer.WriteString("bit7", communicationModuleBits[7] == '0' ? "不支持其他通信方式" : "不支持其他通信方式"); | |||||
writer.WriteEndObject(); | |||||
} | |||||
} | } | ||||
} | } |
@@ -1,13 +1,16 @@ | |||||
using JT808.Protocol.Enums; | using JT808.Protocol.Enums; | ||||
using JT808.Protocol.Extensions; | |||||
using JT808.Protocol.Formatters; | using JT808.Protocol.Formatters; | ||||
using JT808.Protocol.Interfaces; | |||||
using JT808.Protocol.MessagePack; | using JT808.Protocol.MessagePack; | ||||
using System.Text.Json; | |||||
namespace JT808.Protocol.MessageBody | namespace JT808.Protocol.MessageBody | ||||
{ | { | ||||
/// <summary> | /// <summary> | ||||
/// 终端升级结果通知 | /// 终端升级结果通知 | ||||
/// </summary> | /// </summary> | ||||
public class JT808_0x0108 : JT808Bodies, IJT808MessagePackFormatter<JT808_0x0108> | |||||
public class JT808_0x0108 : JT808Bodies, IJT808MessagePackFormatter<JT808_0x0108>, IJT808Analyze | |||||
{ | { | ||||
public override ushort MsgId { get; } = 0x0108; | public override ushort MsgId { get; } = 0x0108; | ||||
public override string Description => "终端升级结果通知"; | public override string Description => "终端升级结果通知"; | ||||
@@ -22,6 +25,7 @@ namespace JT808.Protocol.MessageBody | |||||
/// 0:成功,1:失败,2:取消 | /// 0:成功,1:失败,2:取消 | ||||
/// </summary> | /// </summary> | ||||
public JT808UpgradeResult UpgradeResult { get; set; } | public JT808UpgradeResult UpgradeResult { get; set; } | ||||
public JT808_0x0108 Deserialize(ref JT808MessagePackReader reader, IJT808Config config) | public JT808_0x0108 Deserialize(ref JT808MessagePackReader reader, IJT808Config config) | ||||
{ | { | ||||
JT808_0x0108 jT808_0X0108 = new JT808_0x0108(); | JT808_0x0108 jT808_0X0108 = new JT808_0x0108(); | ||||
@@ -35,5 +39,14 @@ namespace JT808.Protocol.MessageBody | |||||
writer.WriteByte((byte)value.UpgradeType); | writer.WriteByte((byte)value.UpgradeType); | ||||
writer.WriteByte((byte)value.UpgradeResult); | writer.WriteByte((byte)value.UpgradeResult); | ||||
} | } | ||||
public void Analyze(ref JT808MessagePackReader reader, Utf8JsonWriter writer, IJT808Config config) | |||||
{ | |||||
JT808_0x0108 jT808_0X0108 = new JT808_0x0108(); | |||||
jT808_0X0108.UpgradeType = (JT808UpgradeType)reader.ReadByte(); | |||||
jT808_0X0108.UpgradeResult = (JT808UpgradeResult)reader.ReadByte(); | |||||
writer.WriteString($"[{((byte)jT808_0X0108.UpgradeType).ReadNumber()}]升级类型", jT808_0X0108.UpgradeType.ToString()); | |||||
writer.WriteString($"[{((byte)jT808_0X0108.UpgradeResult).ReadNumber()}]升级结果", jT808_0X0108.UpgradeResult.ToString()); | |||||
} | |||||
} | } | ||||
} | } |
@@ -1,7 +1,9 @@ | |||||
using JT808.Protocol.Formatters; | |||||
using JT808.Protocol.Extensions; | |||||
using JT808.Protocol.Formatters; | |||||
using JT808.Protocol.Interfaces; | using JT808.Protocol.Interfaces; | ||||
using JT808.Protocol.MessagePack; | using JT808.Protocol.MessagePack; | ||||
using System; | using System; | ||||
using System.Text.Json; | |||||
namespace JT808.Protocol.MessageBody | namespace JT808.Protocol.MessageBody | ||||
{ | { | ||||
@@ -10,7 +12,7 @@ namespace JT808.Protocol.MessageBody | |||||
/// 0x0301 | /// 0x0301 | ||||
/// </summary> | /// </summary> | ||||
[Obsolete("2019版本已作删除")] | [Obsolete("2019版本已作删除")] | ||||
public class JT808_0x0301 : JT808Bodies, IJT808MessagePackFormatter<JT808_0x0301>, IJT808_2019_Version | |||||
public class JT808_0x0301 : JT808Bodies, IJT808MessagePackFormatter<JT808_0x0301>, IJT808_2019_Version, IJT808Analyze | |||||
{ | { | ||||
public override ushort MsgId { get; } = 0x0301; | public override ushort MsgId { get; } = 0x0301; | ||||
public override string Description => "事件报告"; | public override string Description => "事件报告"; | ||||
@@ -18,6 +20,13 @@ namespace JT808.Protocol.MessageBody | |||||
/// 事件 ID | /// 事件 ID | ||||
/// </summary> | /// </summary> | ||||
public byte EventId { get; set; } | public byte EventId { get; set; } | ||||
public void Analyze(ref JT808MessagePackReader reader, Utf8JsonWriter writer, IJT808Config config) | |||||
{ | |||||
var eventId = reader.ReadByte(); | |||||
writer.WriteNumber($"[{eventId.ReadNumber()}]事件ID", eventId); | |||||
} | |||||
public JT808_0x0301 Deserialize(ref JT808MessagePackReader reader, IJT808Config config) | public JT808_0x0301 Deserialize(ref JT808MessagePackReader reader, IJT808Config config) | ||||
{ | { | ||||
JT808_0x0301 jT808_0X0301 = new JT808_0x0301(); | JT808_0x0301 jT808_0X0301 = new JT808_0x0301(); | ||||
@@ -1,8 +1,10 @@ | |||||
using JT808.Protocol.Attributes; | using JT808.Protocol.Attributes; | ||||
using JT808.Protocol.Extensions; | |||||
using JT808.Protocol.Formatters; | using JT808.Protocol.Formatters; | ||||
using JT808.Protocol.Interfaces; | using JT808.Protocol.Interfaces; | ||||
using JT808.Protocol.MessagePack; | using JT808.Protocol.MessagePack; | ||||
using System; | using System; | ||||
using System.Text.Json; | |||||
namespace JT808.Protocol.MessageBody | namespace JT808.Protocol.MessageBody | ||||
{ | { | ||||
@@ -11,7 +13,7 @@ namespace JT808.Protocol.MessageBody | |||||
/// 0x0302 | /// 0x0302 | ||||
/// </summary> | /// </summary> | ||||
[Obsolete("2019版本已作删除")] | [Obsolete("2019版本已作删除")] | ||||
public class JT808_0x0302 : JT808Bodies, IJT808MessagePackFormatter<JT808_0x0302>,IJT808_2019_Version | |||||
public class JT808_0x0302 : JT808Bodies, IJT808MessagePackFormatter<JT808_0x0302>,IJT808_2019_Version, IJT808Analyze | |||||
{ | { | ||||
public override ushort MsgId { get; } = 0x0302; | public override ushort MsgId { get; } = 0x0302; | ||||
public override string Description => "提问应答"; | public override string Description => "提问应答"; | ||||
@@ -25,6 +27,16 @@ namespace JT808.Protocol.MessageBody | |||||
/// 提问下发中附带的答案 ID | /// 提问下发中附带的答案 ID | ||||
/// </summary> | /// </summary> | ||||
public byte AnswerId { get; set; } | public byte AnswerId { get; set; } | ||||
public void Analyze(ref JT808MessagePackReader reader, Utf8JsonWriter writer, IJT808Config config) | |||||
{ | |||||
JT808_0x0302 jT808_0X0302 = new JT808_0x0302(); | |||||
jT808_0X0302.ReplySNo = reader.ReadUInt16(); | |||||
jT808_0X0302.AnswerId = reader.ReadByte(); | |||||
writer.WriteNumber($"[{jT808_0X0302.ReplySNo.ReadNumber()}]应答流水号", jT808_0X0302.ReplySNo); | |||||
writer.WriteNumber($"[{jT808_0X0302.AnswerId.ReadNumber()}]答案ID", jT808_0X0302.AnswerId); | |||||
} | |||||
public JT808_0x0302 Deserialize(ref JT808MessagePackReader reader, IJT808Config config) | public JT808_0x0302 Deserialize(ref JT808MessagePackReader reader, IJT808Config config) | ||||
{ | { | ||||
JT808_0x0302 jT808_0X0302 = new JT808_0x0302(); | JT808_0x0302 jT808_0X0302 = new JT808_0x0302(); | ||||
@@ -1,7 +1,9 @@ | |||||
using JT808.Protocol.Formatters; | |||||
using JT808.Protocol.Extensions; | |||||
using JT808.Protocol.Formatters; | |||||
using JT808.Protocol.Interfaces; | using JT808.Protocol.Interfaces; | ||||
using JT808.Protocol.MessagePack; | using JT808.Protocol.MessagePack; | ||||
using System; | using System; | ||||
using System.Text.Json; | |||||
namespace JT808.Protocol.MessageBody | namespace JT808.Protocol.MessageBody | ||||
{ | { | ||||
@@ -10,7 +12,7 @@ namespace JT808.Protocol.MessageBody | |||||
/// 0x0303 | /// 0x0303 | ||||
/// </summary> | /// </summary> | ||||
[Obsolete("2019版本已作删除")] | [Obsolete("2019版本已作删除")] | ||||
public class JT808_0x0303 : JT808Bodies, IJT808MessagePackFormatter<JT808_0x0303>, IJT808_2019_Version | |||||
public class JT808_0x0303 : JT808Bodies, IJT808MessagePackFormatter<JT808_0x0303>, IJT808_2019_Version, IJT808Analyze | |||||
{ | { | ||||
public override ushort MsgId { get; } = 0x0303; | public override ushort MsgId { get; } = 0x0303; | ||||
public override string Description => "信息点播_取消"; | public override string Description => "信息点播_取消"; | ||||
@@ -22,6 +24,16 @@ namespace JT808.Protocol.MessageBody | |||||
/// 点播/取消标志 | /// 点播/取消标志 | ||||
/// </summary> | /// </summary> | ||||
public byte Flag { get; set; } | public byte Flag { get; set; } | ||||
public void Analyze(ref JT808MessagePackReader reader, Utf8JsonWriter writer, IJT808Config config) | |||||
{ | |||||
JT808_0x0303 jT808_0X0303 = new JT808_0x0303(); | |||||
jT808_0X0303.InformationType = reader.ReadByte(); | |||||
jT808_0X0303.Flag = reader.ReadByte(); | |||||
writer.WriteNumber($"[{jT808_0X0303.InformationType.ReadNumber()}]信息类型", jT808_0X0303.InformationType); | |||||
writer.WriteNumber($"[{jT808_0X0303.Flag.ReadNumber()}]{(jT808_0X0303.Flag==1? "点播" : "取消")}", jT808_0X0303.Flag); | |||||
} | |||||
public JT808_0x0303 Deserialize(ref JT808MessagePackReader reader, IJT808Config config) | public JT808_0x0303 Deserialize(ref JT808MessagePackReader reader, IJT808Config config) | ||||
{ | { | ||||
JT808_0x0303 jT808_0X0303 = new JT808_0x0303(); | JT808_0x0303 jT808_0X0303 = new JT808_0x0303(); | ||||