Bläddra i källkod

修复协议json序列化时,二进制位反了的bug

tags/v2.3.1
waterliu99 4 år sedan
förälder
incheckning
762070e876
9 ändrade filer med 19 tillägg och 11 borttagningar
  1. +4
    -3
      src/JT808.Protocol/MessageBody/JT808_0x0107.cs
  2. +1
    -1
      src/JT808.Protocol/MessageBody/JT808_0x0200.cs
  3. +2
    -1
      src/JT808.Protocol/MessageBody/JT808_0x8203.cs
  4. +2
    -1
      src/JT808.Protocol/MessageBody/JT808_0x8300.cs
  5. +2
    -1
      src/JT808.Protocol/MessageBody/JT808_0x8500.cs
  6. +2
    -1
      src/JT808.Protocol/MessageBody/JT808_0x8600.cs
  7. +2
    -1
      src/JT808.Protocol/MessageBody/JT808_0x8602.cs
  8. +2
    -1
      src/JT808.Protocol/MessageBody/JT808_0x8604.cs
  9. +2
    -1
      src/JT808.Protocol/MessageBody/JT808_0x8606.cs

+ 4
- 3
src/JT808.Protocol/MessageBody/JT808_0x0107.cs Visa fil

@@ -5,6 +5,7 @@ using JT808.Protocol.Interfaces;
using JT808.Protocol.MessagePack;
using System;
using System.Collections;
using System.Linq;
using System.Text.Json;

namespace JT808.Protocol.MessageBody
@@ -143,7 +144,7 @@ namespace JT808.Protocol.MessageBody
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();
ReadOnlySpan<char> terminalTypeBits =string.Join("", Convert.ToString(jT808_0X0107.TerminalType, 2).PadLeft(16, '0').Reverse()).AsSpan();
writer.WriteStartObject("终端类型");
writer.WriteString("bit0", terminalTypeBits[0] == '0' ? "不适用客运车辆" : "适用客运车辆");
writer.WriteString("bit1", terminalTypeBits[1] == '0' ? "不适用危险品车辆" : "适用危险品车辆");
@@ -194,7 +195,7 @@ namespace JT808.Protocol.MessageBody
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();
ReadOnlySpan<char> gNSSModuleBits =string.Join("", Convert.ToString(jT808_0X0107.GNSSModule, 2).PadLeft(8,'0').Reverse()).AsSpan();
writer.WriteNumber($"[{jT808_0X0107.GNSSModule.ReadNumber()}]GNSS模块属性", jT808_0X0107.GNSSModule);
writer.WriteStartObject("GNSS模块属性");
writer.WriteString("bit0", gNSSModuleBits[0] == '0' ? "不支持GPS定位" : "支持GPS定位");
@@ -203,7 +204,7 @@ namespace JT808.Protocol.MessageBody
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();
ReadOnlySpan<char> communicationModuleBits=string.Join("",Convert.ToString(jT808_0X0107.CommunicationModule, 2).PadLeft(8, '0').Reverse()).AsSpan();
writer.WriteNumber($"[{jT808_0X0107.CommunicationModule.ReadNumber()}]通信模块属性", jT808_0X0107.CommunicationModule);
writer.WriteStartObject("通信模块属性");
writer.WriteString("bit0", communicationModuleBits[0] == '0' ? "不支持GPRS通信" : "支持GPRS通信");


+ 1
- 1
src/JT808.Protocol/MessageBody/JT808_0x0200.cs Visa fil

@@ -212,7 +212,7 @@ namespace JT808.Protocol.MessageBody
value.AlarmFlag = reader.ReadUInt32();
writer.WriteNumber($"[{value.AlarmFlag.ReadBinary().ToString()}]报警标志", value.AlarmFlag);
value.StatusFlag = reader.ReadUInt32();
var alarmFlagBits = Convert.ToString(value.AlarmFlag, 2).PadLeft(32, '0').AsSpan();
var alarmFlagBits =string.Join("", Convert.ToString(value.AlarmFlag, 2).PadLeft(32, '0').Reverse()).AsSpan();
writer.WriteStartObject("报警标志对象");
if (reader.Version == JT808Version.JTT2019)
{


+ 2
- 1
src/JT808.Protocol/MessageBody/JT808_0x8203.cs Visa fil

@@ -3,6 +3,7 @@ using JT808.Protocol.Formatters;
using JT808.Protocol.Interfaces;
using JT808.Protocol.MessagePack;
using System;
using System.Linq;
using System.Text.Json;

namespace JT808.Protocol.MessageBody
@@ -46,7 +47,7 @@ namespace JT808.Protocol.MessageBody
writer.WriteNumber($"[{ value.AlarmMsgNum.ReadNumber()}]报警消息流水号", value.AlarmMsgNum);
value.ManualConfirmAlarmType = reader.ReadUInt32();
writer.WriteNumber($"[{ value.ManualConfirmAlarmType.ReadNumber()}]人工确认报警类型", value.ManualConfirmAlarmType);
ReadOnlySpan<char> manualConfirmAlarmTypeBits = Convert.ToString(value.ManualConfirmAlarmType, 2).PadLeft(32, '0').AsSpan();
ReadOnlySpan<char> manualConfirmAlarmTypeBits =string.Join("", Convert.ToString(value.ManualConfirmAlarmType, 2).PadLeft(32, '0').Reverse()).AsSpan();
writer.WriteStartObject($"人工确认报警对象[{manualConfirmAlarmTypeBits.ToString()}]");
writer.WriteString("[bit29~bit31]保留", manualConfirmAlarmTypeBits.Slice(29,3).ToString());
writer.WriteString($"[bit28]{manualConfirmAlarmTypeBits[28]}","确认车辆非法位移报警");


+ 2
- 1
src/JT808.Protocol/MessageBody/JT808_0x8300.cs Visa fil

@@ -5,6 +5,7 @@ using JT808.Protocol.Formatters;
using JT808.Protocol.Interfaces;
using JT808.Protocol.MessagePack;
using System;
using System.Linq;
using System.Text.Json;

namespace JT808.Protocol.MessageBody
@@ -59,7 +60,7 @@ namespace JT808.Protocol.MessageBody
JT808_0x8300 value = new JT808_0x8300();
value.TextFlag = reader.ReadByte();
writer.WriteNumber($"[{ value.TextFlag.ReadNumber()}]文本信息标志位", value.TextFlag);
ReadOnlySpan<char> textFlagBits = Convert.ToString(value.TextFlag, 2).PadLeft(8, '0').AsSpan();
ReadOnlySpan<char> textFlagBits =string.Join("",Convert.ToString(value.TextFlag, 2).PadLeft(8, '0').Reverse()).AsSpan();
if (reader.Version == JT808Version.JTT2019)
{
writer.WriteStartObject($"文本信息标志对象[{textFlagBits.ToString()}]");


+ 2
- 1
src/JT808.Protocol/MessageBody/JT808_0x8500.cs Visa fil

@@ -5,6 +5,7 @@ using JT808.Protocol.Interfaces;
using JT808.Protocol.MessagePack;
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text.Json;

namespace JT808.Protocol.MessageBody
@@ -65,7 +66,7 @@ namespace JT808.Protocol.MessageBody
{
value.ControlFlag = reader.ReadByte();
writer.WriteNumber($"[{ value.ControlFlag.ReadNumber()}]控制标志", value.ControlFlag);
ReadOnlySpan<char> controlFlagBits = Convert.ToString(value.ControlFlag, 2).PadLeft(8, '0').AsSpan();
ReadOnlySpan<char> controlFlagBits =string.Join("", Convert.ToString(value.ControlFlag, 2).PadLeft(8, '0').Reverse()).AsSpan();
writer.WriteStartObject($"控制标志对象[{controlFlagBits.ToString()}]");
writer.WriteString("[bit1~bit7]保留", controlFlagBits.Slice(1, 7).ToString());
writer.WriteString("[bit0]", controlFlagBits[0]=='0'? "车门解锁" : "车门加锁");


+ 2
- 1
src/JT808.Protocol/MessageBody/JT808_0x8600.cs Visa fil

@@ -6,6 +6,7 @@ using JT808.Protocol.MessagePack;
using JT808.Protocol.Metadata;
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text.Json;

namespace JT808.Protocol.MessageBody
@@ -143,7 +144,7 @@ namespace JT808.Protocol.MessageBody
writer.WriteNumber($"[{ jT808CircleAreaProperty.AreaId.ReadNumber()}]区域ID", jT808CircleAreaProperty.AreaId);
jT808CircleAreaProperty.AreaProperty = reader.ReadUInt16();
writer.WriteNumber($"[{ jT808CircleAreaProperty.AreaProperty.ReadNumber()}]区域属性", jT808CircleAreaProperty.AreaProperty);
ReadOnlySpan<char> areaPropertyBits = Convert.ToString(jT808CircleAreaProperty.AreaProperty, 2).PadLeft(16, '0').AsSpan();
ReadOnlySpan<char> areaPropertyBits =string.Join("", Convert.ToString(jT808CircleAreaProperty.AreaProperty, 2).PadLeft(16, '0').Reverse()).AsSpan();
writer.WriteStartObject($"区域属性对象[{areaPropertyBits.ToString()}]");
if (reader.Version == JT808Version.JTT2019)
{


+ 2
- 1
src/JT808.Protocol/MessageBody/JT808_0x8602.cs Visa fil

@@ -6,6 +6,7 @@ using JT808.Protocol.MessagePack;
using JT808.Protocol.Metadata;
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text.Json;

namespace JT808.Protocol.MessageBody
@@ -142,7 +143,7 @@ namespace JT808.Protocol.MessageBody
areaProperty.AreaId = reader.ReadUInt32();
writer.WriteNumber($"[{areaProperty.AreaId.ReadNumber()}]区域ID", areaProperty.AreaId);
areaProperty.AreaProperty = reader.ReadUInt16();
ReadOnlySpan<char> areaPropertyBits = Convert.ToString(areaProperty.AreaProperty, 2).PadLeft(16, '0').AsSpan();
ReadOnlySpan<char> areaPropertyBits =string.Join("", Convert.ToString(areaProperty.AreaProperty, 2).PadLeft(16, '0').Reverse()).AsSpan();
writer.WriteStartObject($"区域属性对象[{areaPropertyBits.ToString()}]");
if (reader.Version == JT808Version.JTT2019)
{


+ 2
- 1
src/JT808.Protocol/MessageBody/JT808_0x8604.cs Visa fil

@@ -6,6 +6,7 @@ using JT808.Protocol.MessagePack;
using JT808.Protocol.Metadata;
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text.Json;

namespace JT808.Protocol.MessageBody
@@ -167,7 +168,7 @@ namespace JT808.Protocol.MessageBody
writer.WriteNumber($"[{ value.AreaId.ReadNumber()}]区域ID", value.AreaId);
value.AreaProperty = reader.ReadUInt16();
writer.WriteNumber($"[{ value.AreaProperty.ReadNumber()}]区域属性", value.AreaProperty);
ReadOnlySpan<char> areaPropertyBits = Convert.ToString(value.AreaProperty, 2).PadLeft(16, '0').AsSpan();
ReadOnlySpan<char> areaPropertyBits =string.Join("", Convert.ToString(value.AreaProperty, 2).PadLeft(16, '0').Reverse()).AsSpan();
writer.WriteStartObject($"区域属性对象[{areaPropertyBits.ToString()}]");
if (reader.Version == JT808Version.JTT2019)
{


+ 2
- 1
src/JT808.Protocol/MessageBody/JT808_0x8606.cs Visa fil

@@ -6,6 +6,7 @@ using JT808.Protocol.MessagePack;
using JT808.Protocol.Metadata;
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text.Json;

namespace JT808.Protocol.MessageBody
@@ -168,7 +169,7 @@ namespace JT808.Protocol.MessageBody
writer.WriteNumber($"[{ value.RouteId.ReadNumber()}]路线ID", value.RouteId);
value.RouteProperty = reader.ReadUInt16();
writer.WriteNumber($"[{ value.RouteProperty.ReadNumber()}]路线属性", value.RouteProperty);
ReadOnlySpan<char> routeProperty16Bit = Convert.ToString(value.RouteProperty, 2).PadLeft(16, '0').AsSpan();
ReadOnlySpan<char> routeProperty16Bit =string.Join("", Convert.ToString(value.RouteProperty, 2).PadLeft(16, '0').Reverse()).AsSpan();
writer.WriteStartObject($"路线属性对象[{routeProperty16Bit.ToString()}]");
if (reader.Version == JT808Version.JTT2019)
{


Laddar…
Avbryt
Spara