public JT809_0x9500_0x9502 Deserialize(ReadOnlySpan <byte> bytes, out int readSize)
        {
            int offset = 0;
            JT809_0x9500_0x9502 jT809_0X9500_0X9502 = new JT809_0x9500_0x9502();

            jT809_0X9500_0X9502.LensID   = JT809BinaryExtensions.ReadByteLittle(bytes, ref offset);
            jT809_0X9500_0X9502.SizeType = JT809BinaryExtensions.ReadByteLittle(bytes, ref offset);
            readSize = offset;
            return(jT809_0X9500_0X9502);
        }
        public JT809_0x1400_0x1403 Deserialize(ReadOnlySpan <byte> bytes, out int readSize)
        {
            int offset = 0;
            JT809_0x1400_0x1403 jT809_0X1400_0X1403 = new JT809_0x1400_0x1403();

            jT809_0X1400_0X1403.InfoID = JT809BinaryExtensions.ReadUInt32Little(bytes, ref offset);
            jT809_0X1400_0X1403.Result = (JT809_0x1403_Result)JT809BinaryExtensions.ReadByteLittle(bytes, ref offset);
            readSize = offset;
            return(jT809_0X1400_0X1403);
        }
        public JT809_0x1200_0x120D Deserialize(ReadOnlySpan <byte> bytes, out int readSize)
        {
            int offset = 0;
            JT809_0x1200_0x120D jT809_0X1200_0X120D = new JT809_0x1200_0x120D();

            jT809_0X1200_0X120D.EwaybillLength = JT809BinaryExtensions.ReadUInt32Little(bytes, ref offset);
            jT809_0X1200_0X120D.EwaybillInfo   = JT809BinaryExtensions.ReadStringLittle(bytes, ref offset, (int)jT809_0X1200_0X120D.EwaybillLength);
            readSize = offset;
            return(jT809_0X1200_0X120D);
        }
Exemple #4
0
        public JT809_0x1002 Deserialize(ReadOnlySpan <byte> bytes, out int readSize)
        {
            int          offset       = 0;
            JT809_0x1002 jT809_0X1002 = new JT809_0x1002();

            jT809_0X1002.Result     = (JT809_0x1002_Result)JT809BinaryExtensions.ReadByteLittle(bytes, ref offset);
            jT809_0X1002.VerifyCode = JT809BinaryExtensions.ReadUInt32Little(bytes, ref offset);
            readSize = offset;
            return(jT809_0X1002);
        }
        public JT809_0x1003 Deserialize(ReadOnlySpan <byte> bytes, out int readSize)
        {
            int          offset       = 0;
            JT809_0x1003 jT809_0X1003 = new JT809_0x1003();

            jT809_0X1003.UserId   = JT809BinaryExtensions.ReadUInt32Little(bytes, ref offset);
            jT809_0X1003.Password = JT809BinaryExtensions.ReadStringLittle(bytes, ref offset, 8);
            readSize = offset;
            return(jT809_0X1003);
        }
Exemple #6
0
        public JT809_0x1200_0x1209 Deserialize(ReadOnlySpan <byte> bytes, out int readSize)
        {
            int offset = 0;
            JT809_0x1200_0x1209 jT809_0X1200_0X1207 = new JT809_0x1200_0x1209();

            jT809_0X1200_0X1207.StartTime = JT809BinaryExtensions.ReadUTCDateTimeLittle(bytes, ref offset);
            jT809_0X1200_0X1207.EndTime   = JT809BinaryExtensions.ReadUTCDateTimeLittle(bytes, ref offset);
            readSize = offset;
            return(jT809_0X1200_0X1207);
        }
Exemple #7
0
        public JT809_0x1500_0x1504 Deserialize(ReadOnlySpan <byte> bytes, out int readSize)
        {
            int offset = 0;
            JT809_0x1500_0x1504 jT809_0X1500_0X1504 = new JT809_0x1500_0x1504();

            jT809_0X1500_0X1504.CommandType      = (JT809CommandType)JT809BinaryExtensions.ReadByteLittle(bytes, ref offset);
            jT809_0X1500_0X1504.TraveldataLength = JT809BinaryExtensions.ReadUInt32Little(bytes, ref offset);
            jT809_0X1500_0X1504.TraveldataInfo   = JT809BinaryExtensions.ReadStringLittle(bytes, ref offset, (int)jT809_0X1500_0X1504.TraveldataLength);
            readSize = offset;
            return(jT809_0X1500_0X1504);
        }
Exemple #8
0
        public int Serialize(ref byte[] bytes, int offset, JT809_0x1500_0x1504 value)
        {
            offset += JT809BinaryExtensions.WriteByteLittle(bytes, offset, (byte)value.CommandType);
            // 先计算内容长度(汉字为两个字节)
            offset += 4;
            int byteLength = JT809BinaryExtensions.WriteStringLittle(bytes, offset, value.TraveldataInfo);

            JT809BinaryExtensions.WriteInt32Little(bytes, offset - 4, byteLength);
            offset += byteLength;
            return(offset);
        }
Exemple #9
0
        public JT809_0x9101 Deserialize(ReadOnlySpan <byte> bytes, out int readSize)
        {
            int          offset       = 0;
            JT809_0x9101 jT809_0X9101 = new JT809_0x9101();

            jT809_0X9101.DynamicInfoTotal = JT809BinaryExtensions.ReadUInt32Little(bytes, ref offset);
            jT809_0X9101.StartTime        = JT809BinaryExtensions.ReadUInt64Little(bytes, ref offset);
            jT809_0X9101.EndTime          = JT809BinaryExtensions.ReadUInt64Little(bytes, ref offset);
            readSize = offset;
            return(jT809_0X9101);
        }
Exemple #10
0
 public int Serialize(ref byte[] bytes, int offset, JT809Header value)
 {
     offset += JT809BinaryExtensions.WriteUInt32Little(bytes, offset, value.MsgLength);
     offset += JT809BinaryExtensions.WriteUInt32Little(bytes, offset, value.MsgSN);
     offset += JT809BinaryExtensions.WriteUInt16Little(bytes, offset, (ushort)value.BusinessType);
     offset += JT809BinaryExtensions.WriteUInt32Little(bytes, offset, value.MsgGNSSCENTERID);
     offset += JT809BinaryExtensions.WriteBytesLittle(bytes, offset, value.Version.Buffer);
     offset += JT809BinaryExtensions.WriteByteLittle(bytes, offset, (byte)value.EncryptFlag);
     offset += JT809BinaryExtensions.WriteUInt32Little(bytes, offset, value.EncryptKey);
     return(offset);
 }
Exemple #11
0
 public int Serialize(ref byte[] bytes, int offset, JT809_0x9500_0x9505 value)
 {
     offset += JT809BinaryExtensions.WriteBCDLittle(bytes, offset, value.AuthenticationCode, 20);
     offset += JT809BinaryExtensions.WriteStringLittle(bytes, offset, value.AccessPointName, 20);
     offset += JT809BinaryExtensions.WriteStringLittle(bytes, offset, value.UserName, 49);
     offset += JT809BinaryExtensions.WriteStringLittle(bytes, offset, value.Password, 22);
     offset += JT809BinaryExtensions.WriteStringLittle(bytes, offset, value.ServerIP, 32);
     offset += JT809BinaryExtensions.WriteUInt16Little(bytes, offset, value.TcpPort);
     offset += JT809BinaryExtensions.WriteUInt16Little(bytes, offset, value.UdpPort);
     offset += JT809BinaryExtensions.WriteUTCDateTimeLittle(bytes, offset, value.EndTime);
     return(offset);
 }
Exemple #12
0
        public JT809_0x1200_0x120C Deserialize(ReadOnlySpan <byte> bytes, out int readSize)
        {
            int offset = 0;
            JT809_0x1200_0x120C jT809_0X1200_0X120C = new JT809_0x1200_0x120C();

            jT809_0X1200_0X120C.DriverName = JT809BinaryExtensions.ReadStringLittle(bytes, ref offset, 16);
            jT809_0X1200_0X120C.DriverID   = JT809BinaryExtensions.ReadStringLittle(bytes, ref offset, 20);
            jT809_0X1200_0X120C.Licence    = JT809BinaryExtensions.ReadStringLittle(bytes, ref offset, 40);
            jT809_0X1200_0X120C.OrgName    = JT809BinaryExtensions.ReadStringLittle(bytes, ref offset, 200);
            readSize = offset;
            return(jT809_0X1200_0X120C);
        }
        public int Serialize(ref byte[] bytes, int offset, JT809_0x9500_0x9503 value)
        {
            offset += JT809BinaryExtensions.WriteUInt32Little(bytes, offset, value.MsgSequence);
            offset += JT809BinaryExtensions.WriteByteLittle(bytes, offset, value.MsgPriority);
            // 先计算内容长度(汉字为两个字节)
            offset += 4;
            int byteLength = JT809BinaryExtensions.WriteStringLittle(bytes, offset, value.MsgContent);

            JT809BinaryExtensions.WriteInt32Little(bytes, offset - 4, byteLength);
            offset += byteLength;
            return(offset);
        }
        public JT809_0x9500_0x9503 Deserialize(ReadOnlySpan <byte> bytes, out int readSize)
        {
            int offset = 0;
            JT809_0x9500_0x9503 jT809_0X9500_0X9503 = new JT809_0x9500_0x9503();

            jT809_0X9500_0X9503.MsgSequence = JT809BinaryExtensions.ReadUInt32Little(bytes, ref offset);
            jT809_0X9500_0X9503.MsgPriority = JT809BinaryExtensions.ReadByteLittle(bytes, ref offset);
            jT809_0X9500_0X9503.MsgLength   = JT809BinaryExtensions.ReadUInt32Little(bytes, ref offset);
            jT809_0X9500_0X9503.MsgContent  = JT809BinaryExtensions.ReadStringLittle(bytes, ref offset, (int)jT809_0X9500_0X9503.MsgLength);
            readSize = offset;
            return(jT809_0X9500_0X9503);
        }
Exemple #15
0
        public JT809_0x1001 Deserialize(ReadOnlySpan <byte> bytes, out int readSize)
        {
            int          offset       = 0;
            JT809_0x1001 jT809_0X1001 = new JT809_0x1001();

            jT809_0X1001.UserId       = JT809BinaryExtensions.ReadUInt32Little(bytes, ref offset);
            jT809_0X1001.Password     = JT809BinaryExtensions.ReadStringLittle(bytes, ref offset, 8);
            jT809_0X1001.DownLinkIP   = JT809BinaryExtensions.ReadStringLittle(bytes, ref offset, 32);
            jT809_0X1001.DownLinkPort = JT809BinaryExtensions.ReadUInt16Little(bytes, ref offset);
            readSize = offset;
            return(jT809_0X1001);
        }
Exemple #16
0
        public int Serialize(ref byte[] bytes, int offset, JT809_0x1300_0x1301 value)
        {
            offset += JT809BinaryExtensions.WriteByteLittle(bytes, offset, (byte)value.ObjectType);
            offset += JT809BinaryExtensions.WriteStringPadRightLittle(bytes, offset, value.ObjectID, 12);
            offset += JT809BinaryExtensions.WriteUInt32Little(bytes, offset, value.InfoID);
            // 先计算内容长度(汉字为两个字节)
            offset += 4;
            int byteLength = JT809BinaryExtensions.WriteStringLittle(bytes, offset, value.InfoContent);

            JT809BinaryExtensions.WriteInt32Little(bytes, offset - 4, byteLength);
            offset += byteLength;
            return(offset);
        }
Exemple #17
0
        public int Serialize(ref byte[] bytes, int offset, JT809_0x9400_0x9403 value)
        {
            offset += JT809BinaryExtensions.WriteByteLittle(bytes, offset, (byte)value.WarnSrc);
            offset += JT809BinaryExtensions.WriteUInt16Little(bytes, offset, (ushort)value.WarnType);
            offset += JT809BinaryExtensions.WriteUTCDateTimeLittle(bytes, offset, value.WarnTime);
            // 先计算内容长度(汉字为两个字节)
            offset += 4;
            int byteLength = JT809BinaryExtensions.WriteStringLittle(bytes, offset, value.WarnContent);

            JT809BinaryExtensions.WriteInt32Little(bytes, offset - 4, byteLength);
            offset += byteLength;
            return(offset);
        }
Exemple #18
0
        public JT809_0x9400_0x9403 Deserialize(ReadOnlySpan <byte> bytes, out int readSize)
        {
            int offset = 0;
            JT809_0x9400_0x9403 jT809_0X9400_0X9403 = new JT809_0x9400_0x9403();

            jT809_0X9400_0X9403.WarnSrc     = (JT809WarnSrc)JT809BinaryExtensions.ReadByteLittle(bytes, ref offset);
            jT809_0X9400_0X9403.WarnType    = (JT809WarnType)JT809BinaryExtensions.ReadUInt16Little(bytes, ref offset);
            jT809_0X9400_0X9403.WarnTime    = JT809BinaryExtensions.ReadUTCDateTimeLittle(bytes, ref offset);
            jT809_0X9400_0X9403.WarnLength  = JT809BinaryExtensions.ReadUInt32Little(bytes, ref offset);
            jT809_0X9400_0X9403.WarnContent = JT809BinaryExtensions.ReadStringLittle(bytes, ref offset, (int)jT809_0X9400_0X9403.WarnLength);
            readSize = offset;
            return(jT809_0X9400_0X9403);
        }
Exemple #19
0
        public JT809_0x1300_0x1301 Deserialize(ReadOnlySpan <byte> bytes, out int readSize)
        {
            int offset = 0;
            JT809_0x1300_0x1301 jT809_0X1200_0X1301 = new JT809_0x1300_0x1301();

            jT809_0X1200_0X1301.ObjectType  = (JT809Enums.JT809_0x1301_ObjectType)JT809BinaryExtensions.ReadByteLittle(bytes, ref offset);
            jT809_0X1200_0X1301.ObjectID    = JT809BinaryExtensions.ReadStringLittle(bytes, ref offset, 12);
            jT809_0X1200_0X1301.InfoID      = JT809BinaryExtensions.ReadUInt32Little(bytes, ref offset);
            jT809_0X1200_0X1301.InfoLength  = JT809BinaryExtensions.ReadUInt32Little(bytes, ref offset);
            jT809_0X1200_0X1301.InfoContent = JT809BinaryExtensions.ReadStringLittle(bytes, ref offset, (int)jT809_0X1200_0X1301.InfoLength);
            readSize = offset;
            return(jT809_0X1200_0X1301);
        }
        public JT809_0x9300_0x9302 Deserialize(ReadOnlySpan <byte> bytes, out int readSize)
        {
            int offset = 0;
            JT809_0x9300_0x9302 jT809_0X9300_0X9302 = new JT809_0x9300_0x9302();

            jT809_0X9300_0X9302.ObjectType  = (JT809_0x9302_ObjectType)JT809BinaryExtensions.ReadByteLittle(bytes, ref offset);
            jT809_0X9300_0X9302.ObjectID    = JT809BinaryExtensions.ReadStringLittle(bytes, ref offset, 12);
            jT809_0X9300_0X9302.InfoID      = JT809BinaryExtensions.ReadUInt32Little(bytes, ref offset);
            jT809_0X9300_0X9302.InfoLength  = JT809BinaryExtensions.ReadUInt32Little(bytes, ref offset);
            jT809_0X9300_0X9302.InfoContent = JT809BinaryExtensions.ReadStringLittle(bytes, ref offset, (int)jT809_0X9300_0X9302.InfoLength);
            readSize = offset;
            return(jT809_0X9300_0X9302);
        }
 public int Serialize(ref byte[] bytes, int offset, JT809_0x9400_0x9401 value)
 {
     offset += JT809BinaryExtensions.WriteByteLittle(bytes, offset, (byte)value.WarnSrc);
     offset += JT809BinaryExtensions.WriteUInt16Little(bytes, offset, (ushort)value.WarnType);
     offset += JT809BinaryExtensions.WriteUTCDateTimeLittle(bytes, offset, value.WarnTime);
     offset += JT809BinaryExtensions.WriteHexStringLittle(bytes, offset, value.SupervisionID, 4);
     offset += JT809BinaryExtensions.WriteUTCDateTimeLittle(bytes, offset, value.SupervisionEndTime);
     offset += JT809BinaryExtensions.WriteByteLittle(bytes, offset, value.SupervisionLevel);
     offset += JT809BinaryExtensions.WriteStringLittle(bytes, offset, value.Supervisor, 16);
     offset += JT809BinaryExtensions.WriteStringLittle(bytes, offset, value.SupervisorTel, 20);
     offset += JT809BinaryExtensions.WriteStringLittle(bytes, offset, value.SupervisorEmail, 32);
     return(offset);
 }
        public JT809_0x1200_0x1201 Deserialize(ReadOnlySpan <byte> bytes, out int readSize)
        {
            int offset = 0;
            JT809_0x1200_0x1201 jT809_0X1200_0X1201 = new JT809_0x1200_0x1201();

            jT809_0X1200_0X1201.PlateformId       = JT809BinaryExtensions.ReadBigNumberLittle(bytes, ref offset, 11);
            jT809_0X1200_0X1201.ProducerId        = JT809BinaryExtensions.ReadBigNumberLittle(bytes, ref offset, 11);
            jT809_0X1200_0X1201.TerminalModelType = JT809BinaryExtensions.ReadStringLittle(bytes, ref offset, 20);
            jT809_0X1200_0X1201.TerminalId        = JT809BinaryExtensions.ReadStringLittle(bytes, ref offset, 7);
            jT809_0X1200_0X1201.TerminalId        = jT809_0X1200_0X1201.TerminalId.ToUpper();
            jT809_0X1200_0X1201.TerminalSimCode   = JT809BinaryExtensions.ReadStringLittle(bytes, ref offset, 12);
            readSize = offset;
            return(jT809_0X1200_0X1201);
        }
Exemple #23
0
        public JT809_0x1400_0x1402 Deserialize(ReadOnlySpan <byte> bytes, out int readSize)
        {
            int offset = 0;
            JT809_0x1400_0x1402 jT809_0X1400_0X1402 = new JT809_0x1400_0x1402();

            jT809_0X1400_0X1402.WarnSrc     = (JT809Enums.JT809WarnSrc)JT809BinaryExtensions.ReadByteLittle(bytes, ref offset);
            jT809_0X1400_0X1402.WarnType    = (JT809Enums.JT809WarnType)JT809BinaryExtensions.ReadUInt16Little(bytes, ref offset);
            jT809_0X1400_0X1402.WarnTime    = JT809BinaryExtensions.ReadUTCDateTimeLittle(bytes, ref offset);
            jT809_0X1400_0X1402.InfoID      = JT809BinaryExtensions.ReadUInt32Little(bytes, ref offset);
            jT809_0X1400_0X1402.InfoLength  = JT809BinaryExtensions.ReadUInt32Little(bytes, ref offset);
            jT809_0X1400_0X1402.InfoContent = JT809BinaryExtensions.ReadStringLittle(bytes, ref offset, (int)jT809_0X1400_0X1402.InfoLength);
            readSize = offset;
            return(jT809_0X1400_0X1402);
        }
Exemple #24
0
        public JT809Header Deserialize(ReadOnlySpan <byte> bytes, out int readSize)
        {
            int         offset      = 0;
            JT809Header jT809Header = new JT809Header();

            jT809Header.MsgLength       = JT809BinaryExtensions.ReadUInt32Little(bytes, ref offset);
            jT809Header.MsgSN           = JT809BinaryExtensions.ReadUInt32Little(bytes, ref offset);
            jT809Header.BusinessType    = (JT809BusinessType)JT809BinaryExtensions.ReadUInt16Little(bytes, ref offset);
            jT809Header.MsgGNSSCENTERID = JT809BinaryExtensions.ReadUInt32Little(bytes, ref offset);
            jT809Header.Version         = new JT809Header_Version(JT809BinaryExtensions.ReadBytesLittle(bytes, ref offset, JT809Header_Version.FixedByteLength));
            jT809Header.EncryptFlag     = (JT809Header_Encrypt)JT809BinaryExtensions.ReadByteLittle(bytes, ref offset);
            jT809Header.EncryptKey      = JT809BinaryExtensions.ReadUInt32Little(bytes, ref offset);
            readSize = offset;
            return(jT809Header);
        }
Exemple #25
0
 public int Serialize(ref byte[] bytes, int offset, JT809_0x9200_0x9203 value)
 {
     offset += JT809BinaryExtensions.WriteByteLittle(bytes, offset, (byte)value.GNSS.Count);
     foreach (var item in value.GNSS)
     {
         try
         {
             int positionOffset = JT809FormatterExtensions.GetFormatter <JT809_0x9200_0x9202>().Serialize(ref bytes, offset, item);
             offset = positionOffset;
         }
         catch (Exception ex)
         {
         }
     }
     return(offset);
 }
Exemple #26
0
        public JT809_0x9500_0x9505 Deserialize(ReadOnlySpan <byte> bytes, out int readSize)
        {
            int offset = 0;
            JT809_0x9500_0x9505 jT809_0X9500_0X9505 = new JT809_0x9500_0x9505();

            jT809_0X9500_0X9505.AuthenticationCode = JT809BinaryExtensions.ReadBCDLittle(bytes, ref offset, 20);
            jT809_0X9500_0X9505.AccessPointName    = JT809BinaryExtensions.ReadStringLittle(bytes, ref offset, 20);
            jT809_0X9500_0X9505.UserName           = JT809BinaryExtensions.ReadStringLittle(bytes, ref offset, 49);
            jT809_0X9500_0X9505.Password           = JT809BinaryExtensions.ReadStringLittle(bytes, ref offset, 22);
            jT809_0X9500_0X9505.ServerIP           = JT809BinaryExtensions.ReadStringLittle(bytes, ref offset, 32);
            jT809_0X9500_0X9505.TcpPort            = JT809BinaryExtensions.ReadUInt16Little(bytes, ref offset);
            jT809_0X9500_0X9505.UdpPort            = JT809BinaryExtensions.ReadUInt16Little(bytes, ref offset);
            jT809_0X9500_0X9505.EndTime            = JT809BinaryExtensions.ReadUTCDateTimeLittle(bytes, ref offset);
            readSize = offset;
            return(jT809_0X9500_0X9505);
        }
        public JT809_0x9400_0x9401 Deserialize(ReadOnlySpan <byte> bytes, out int readSize)
        {
            int offset = 0;
            JT809_0x9400_0x9401 jT809_0X9400_0X9401 = new JT809_0x9400_0x9401();

            jT809_0X9400_0X9401.WarnSrc            = (JT809WarnSrc)JT809BinaryExtensions.ReadByteLittle(bytes, ref offset);
            jT809_0X9400_0X9401.WarnType           = (JT809WarnType)JT809BinaryExtensions.ReadUInt16Little(bytes, ref offset);
            jT809_0X9400_0X9401.WarnTime           = JT809BinaryExtensions.ReadUTCDateTimeLittle(bytes, ref offset);
            jT809_0X9400_0X9401.SupervisionID      = JT809BinaryExtensions.ReadHexStringLittle(bytes, ref offset, 4);
            jT809_0X9400_0X9401.SupervisionEndTime = JT809BinaryExtensions.ReadUTCDateTimeLittle(bytes, ref offset);
            jT809_0X9400_0X9401.SupervisionLevel   = JT809BinaryExtensions.ReadByteLittle(bytes, ref offset);
            jT809_0X9400_0X9401.Supervisor         = JT809BinaryExtensions.ReadStringLittle(bytes, ref offset, 16);
            jT809_0X9400_0X9401.SupervisorTel      = JT809BinaryExtensions.ReadStringLittle(bytes, ref offset, 20);
            jT809_0X9400_0X9401.SupervisorEmail    = JT809BinaryExtensions.ReadStringLittle(bytes, ref offset, 32);
            readSize = offset;
            return(jT809_0X9400_0X9401);
        }
 public int Serialize(ref byte[] bytes, int offset, JT809_0x1200_0x1202 value)
 {
     offset += JT809BinaryExtensions.WriteByteLittle(bytes, offset, (byte)value.VehiclePosition.Encrypt);
     offset += JT809BinaryExtensions.WriteByteLittle(bytes, offset, value.VehiclePosition.Day);
     offset += JT809BinaryExtensions.WriteByteLittle(bytes, offset, value.VehiclePosition.Month);
     offset += JT809BinaryExtensions.WriteUInt16Little(bytes, offset, value.VehiclePosition.Year);
     offset += JT809BinaryExtensions.WriteByteLittle(bytes, offset, value.VehiclePosition.Hour);
     offset += JT809BinaryExtensions.WriteByteLittle(bytes, offset, value.VehiclePosition.Minute);
     offset += JT809BinaryExtensions.WriteByteLittle(bytes, offset, value.VehiclePosition.Second);
     offset += JT809BinaryExtensions.WriteUInt32Little(bytes, offset, value.VehiclePosition.Lon);
     offset += JT809BinaryExtensions.WriteUInt32Little(bytes, offset, value.VehiclePosition.Lat);
     offset += JT809BinaryExtensions.WriteUInt16Little(bytes, offset, value.VehiclePosition.Vec1);
     offset += JT809BinaryExtensions.WriteUInt16Little(bytes, offset, value.VehiclePosition.Vec2);
     offset += JT809BinaryExtensions.WriteUInt32Little(bytes, offset, value.VehiclePosition.Vec3);
     offset += JT809BinaryExtensions.WriteUInt16Little(bytes, offset, value.VehiclePosition.Direction);
     offset += JT809BinaryExtensions.WriteUInt16Little(bytes, offset, value.VehiclePosition.Altitude);
     offset += JT809BinaryExtensions.WriteUInt32Little(bytes, offset, value.VehiclePosition.State);
     offset += JT809BinaryExtensions.WriteUInt32Little(bytes, offset, value.VehiclePosition.Alarm);
     return(offset);
 }
Exemple #29
0
        public JT809_0x9200_0x9203 Deserialize(ReadOnlySpan <byte> bytes, out int readSize)
        {
            int offset = 0;
            JT809_0x9200_0x9203 jT809_0X1200_0x9203 = new JT809_0x9200_0x9203();

            jT809_0X1200_0x9203.GNSSCount = JT809BinaryExtensions.ReadByteLittle(bytes, ref offset);
            jT809_0X1200_0x9203.GNSS      = new List <JT809_0x9200_0x9202>();
            if (jT809_0X1200_0x9203.GNSSCount > 0)
            {
                int bufReadSize;
                int tempOffset = 0;
                for (int i = 0; i < jT809_0X1200_0x9203.GNSSCount; i++)
                {
                    try
                    {
                        if (i == 0)
                        {
                            tempOffset = offset + 36;
                            JT809_0x9200_0x9202 jT809_0x1200_0x1202 = JT809FormatterExtensions.GetFormatter <JT809_0x9200_0x9202>()
                                                                      .Deserialize(bytes.Slice(offset, 36), out bufReadSize);
                            jT809_0X1200_0x9203.GNSS.Add(jT809_0x1200_0x1202);
                        }
                        else
                        {
                            JT809_0x9200_0x9202 jT809_0x1200_0x9202 = JT809FormatterExtensions.GetFormatter <JT809_0x9200_0x9202>()
                                                                      .Deserialize(bytes.Slice(tempOffset, 36), out bufReadSize);
                            tempOffset += 36;
                            jT809_0X1200_0x9203.GNSS.Add(jT809_0x1200_0x9202);
                        }
                    }
                    catch (Exception)
                    {
                        tempOffset += 36;
                    }
                }
            }
            readSize = jT809_0X1200_0x9203.GNSSCount * 36 + 1;
            return(jT809_0X1200_0x9203);
        }
        public JT809_0x1200_0x1202 Deserialize(ReadOnlySpan <byte> bytes, out int readSize)
        {
            int offset = 0;
            JT809_0x1200_0x1202 jT809_0X1200_0X1202 = new JT809_0x1200_0x1202();

            jT809_0X1200_0X1202.VehiclePosition.Encrypt   = (JT809_VehiclePositionEncrypt)JT809BinaryExtensions.ReadByteLittle(bytes, ref offset);
            jT809_0X1200_0X1202.VehiclePosition.Day       = JT809BinaryExtensions.ReadByteLittle(bytes, ref offset);
            jT809_0X1200_0X1202.VehiclePosition.Month     = JT809BinaryExtensions.ReadByteLittle(bytes, ref offset);
            jT809_0X1200_0X1202.VehiclePosition.Year      = JT809BinaryExtensions.ReadUInt16Little(bytes, ref offset);
            jT809_0X1200_0X1202.VehiclePosition.Hour      = JT809BinaryExtensions.ReadByteLittle(bytes, ref offset);
            jT809_0X1200_0X1202.VehiclePosition.Minute    = JT809BinaryExtensions.ReadByteLittle(bytes, ref offset);
            jT809_0X1200_0X1202.VehiclePosition.Second    = JT809BinaryExtensions.ReadByteLittle(bytes, ref offset);
            jT809_0X1200_0X1202.VehiclePosition.Lon       = JT809BinaryExtensions.ReadUInt32Little(bytes, ref offset);
            jT809_0X1200_0X1202.VehiclePosition.Lat       = JT809BinaryExtensions.ReadUInt32Little(bytes, ref offset);
            jT809_0X1200_0X1202.VehiclePosition.Vec1      = JT809BinaryExtensions.ReadUInt16Little(bytes, ref offset);
            jT809_0X1200_0X1202.VehiclePosition.Vec2      = JT809BinaryExtensions.ReadUInt16Little(bytes, ref offset);
            jT809_0X1200_0X1202.VehiclePosition.Vec3      = JT809BinaryExtensions.ReadUInt32Little(bytes, ref offset);
            jT809_0X1200_0X1202.VehiclePosition.Direction = JT809BinaryExtensions.ReadUInt16Little(bytes, ref offset);
            jT809_0X1200_0X1202.VehiclePosition.Altitude  = JT809BinaryExtensions.ReadUInt16Little(bytes, ref offset);
            jT809_0X1200_0X1202.VehiclePosition.State     = JT809BinaryExtensions.ReadUInt32Little(bytes, ref offset);
            jT809_0X1200_0X1202.VehiclePosition.Alarm     = JT809BinaryExtensions.ReadUInt32Little(bytes, ref offset);
            readSize = offset;
            return(jT809_0X1200_0X1202);
        }