public JT808_0x8604 Deserialize(ReadOnlySpan <byte> bytes, out int readSize) { int offset = 0; JT808_0x8604 jT808_0X8604 = new JT808_0x8604 { AreaId = JT808BinaryExtensions.ReadUInt32Little(bytes, ref offset), AreaProperty = JT808BinaryExtensions.ReadUInt16Little(bytes, ref offset) }; ReadOnlySpan <char> areaProperty16Bit = Convert.ToString(jT808_0X8604.AreaProperty, 2).PadLeft(16, '0').AsSpan(); bool bit0Flag = areaProperty16Bit.Slice(areaProperty16Bit.Length - 1).ToString().Equals("0"); if (!bit0Flag) { jT808_0X8604.StartTime = JT808BinaryExtensions.ReadDateTime6Little(bytes, ref offset); jT808_0X8604.EndTime = JT808BinaryExtensions.ReadDateTime6Little(bytes, ref offset); } bool bit1Flag = areaProperty16Bit.Slice(areaProperty16Bit.Length - 2, 1).ToString().Equals("0"); if (!bit1Flag) { jT808_0X8604.HighestSpeed = JT808BinaryExtensions.ReadUInt16Little(bytes, ref offset); jT808_0X8604.OverspeedDuration = JT808BinaryExtensions.ReadByteLittle(bytes, ref offset); } jT808_0X8604.PeakCount = JT808BinaryExtensions.ReadUInt16Little(bytes, ref offset); jT808_0X8604.PeakItems = new List <JT808PeakProperty>(); if (jT808_0X8604.PeakCount > 0) { for (var i = 0; i < jT808_0X8604.PeakCount; i++) { var item = new JT808PeakProperty { Lat = JT808BinaryExtensions.ReadUInt32Little(bytes, ref offset), Lng = JT808BinaryExtensions.ReadUInt32Little(bytes, ref offset) }; jT808_0X8604.PeakItems.Add(item); } } readSize = offset; return(jT808_0X8604); }
public int Serialize(ref byte[] bytes, int offset, JT808_0x0200 value) { offset += JT808BinaryExtensions.WriteUInt32Little(bytes, offset, value.AlarmFlag); offset += JT808BinaryExtensions.WriteUInt32Little(bytes, offset, value.StatusFlag); offset += JT808BinaryExtensions.WriteInt32Little(bytes, offset, value.Lat); offset += JT808BinaryExtensions.WriteInt32Little(bytes, offset, value.Lng); offset += JT808BinaryExtensions.WriteUInt16Little(bytes, offset, value.Altitude); offset += JT808BinaryExtensions.WriteUInt16Little(bytes, offset, value.Speed); offset += JT808BinaryExtensions.WriteUInt16Little(bytes, offset, value.Direction); offset += JT808BinaryExtensions.WriteDateTime6Little(bytes, offset, value.GPSTime); if (value.JT808LocationAttachData != null && value.JT808LocationAttachData.Count > 0) { foreach (var item in value.JT808LocationAttachData) { try { object attachImplObj = JT808FormatterExtensions.GetFormatter(item.Value.GetType()); offset = JT808FormatterResolverExtensions.JT808DynamicSerialize(attachImplObj, ref bytes, offset, item.Value); } catch (Exception ex) { } } } if (value.JT808CustomLocationAttachData != null && value.JT808CustomLocationAttachData.Count > 0) { foreach (var item in value.JT808CustomLocationAttachData) { try { object attachImplObj = JT808FormatterExtensions.GetFormatter(item.Value.GetType()); offset = JT808FormatterResolverExtensions.JT808DynamicSerialize(attachImplObj, ref bytes, offset, item.Value); } catch (Exception ex) { } } } return(offset); }
public JT808_0x8602 Deserialize(ReadOnlySpan <byte> bytes, out int readSize, IJT808Config config) { int offset = 0; JT808_0x8602 jT808_0X8602 = new JT808_0x8602 { SettingAreaProperty = JT808BinaryExtensions.ReadByteLittle(bytes, ref offset), AreaCount = JT808BinaryExtensions.ReadByteLittle(bytes, ref offset), AreaItems = new List <JT808RectangleAreaProperty>() }; for (var i = 0; i < jT808_0X8602.AreaCount; i++) { JT808RectangleAreaProperty jT808CircleAreaProperty = new JT808RectangleAreaProperty { AreaId = JT808BinaryExtensions.ReadUInt32Little(bytes, ref offset), AreaProperty = JT808BinaryExtensions.ReadUInt16Little(bytes, ref offset), UpLeftPointLat = JT808BinaryExtensions.ReadUInt32Little(bytes, ref offset), UpLeftPointLng = JT808BinaryExtensions.ReadUInt32Little(bytes, ref offset), LowRightPointLat = JT808BinaryExtensions.ReadUInt32Little(bytes, ref offset), LowRightPointLng = JT808BinaryExtensions.ReadUInt32Little(bytes, ref offset) }; ReadOnlySpan <char> areaProperty16Bit = Convert.ToString(jT808CircleAreaProperty.AreaProperty, 2).PadLeft(16, '0').AsSpan(); bool bit0Flag = areaProperty16Bit.Slice(areaProperty16Bit.Length - 1).ToString().Equals("0"); if (!bit0Flag) { jT808CircleAreaProperty.StartTime = JT808BinaryExtensions.ReadDateTime6Little(bytes, ref offset); jT808CircleAreaProperty.EndTime = JT808BinaryExtensions.ReadDateTime6Little(bytes, ref offset); } bool bit1Flag = areaProperty16Bit.Slice(areaProperty16Bit.Length - 2, 1).ToString().Equals("0"); if (!bit1Flag) { jT808CircleAreaProperty.HighestSpeed = JT808BinaryExtensions.ReadUInt16Little(bytes, ref offset); jT808CircleAreaProperty.OverspeedDuration = JT808BinaryExtensions.ReadByteLittle(bytes, ref offset); } jT808_0X8602.AreaItems.Add(jT808CircleAreaProperty); } readSize = offset; return(jT808_0X8602); }
public JT808_0x8103 Deserialize(ReadOnlySpan <byte> bytes, out int readSize) { int offset = 0; JT808_0x8103 jT808_0x8103 = new JT808_0x8103 { ParamList = new List <JT808_0x8103_BodyBase>() }; var paramCount = JT808BinaryExtensions.ReadByteLittle(bytes, ref offset);//参数总数 for (int i = 0; i < paramCount; i++) { var paramId = JT808BinaryExtensions.ReadUInt32Little(bytes, ref offset);//参数ID int readSubBodySize = 0; if (JT808_0x8103_BodyBase.JT808_0x8103Method.TryGetValue(paramId, out Type type)) { jT808_0x8103.ParamList.Add(JT808FormatterResolverExtensions.JT808DynamicDeserialize(JT808FormatterExtensions.GetFormatter(type), bytes.Slice(offset), out readSubBodySize)); } offset = offset + readSubBodySize; } readSize = offset; return(jT808_0x8103); }
public int Serialize(ref byte[] bytes, int offset, JT808_0x0705 value, IJT808Config config) { if (value.CanItems != null && value.CanItems.Count > 0) { offset += JT808BinaryExtensions.WriteUInt16Little(bytes, offset, (ushort)value.CanItems.Count); offset += JT808BinaryExtensions.WriteDateTime5Little(bytes, offset, value.FirstCanReceiveTime); foreach (var item in value.CanItems) { if (item.CanId.Length != 4) { throw new JT808Exception(Enums.JT808ErrorCode.NotEnoughLength, $"{nameof(item.CanId)}->4"); } offset += JT808BinaryExtensions.WriteBytesLittle(bytes, offset, item.CanId); if (item.CanData.Length != 8) { throw new JT808Exception(Enums.JT808ErrorCode.NotEnoughLength, $"{nameof(item.CanData)}->8"); } offset += JT808BinaryExtensions.WriteBytesLittle(bytes, offset, item.CanData); } } return(offset); }
public JT808_0x8301 Deserialize(ReadOnlySpan<byte> bytes, out int readSize) { int offset = 0; JT808_0x8301 jT808_0X8301 = new JT808_0x8301 { SettingType = JT808BinaryExtensions.ReadByteLittle(bytes, ref offset), SettingCount = JT808BinaryExtensions.ReadByteLittle(bytes, ref offset), EventItems = new List<JT808EventProperty>() }; for (var i = 0; i < jT808_0X8301.SettingCount; i++) { JT808EventProperty jT808EventProperty = new JT808EventProperty { EventId = JT808BinaryExtensions.ReadByteLittle(bytes, ref offset), EventContentLength = JT808BinaryExtensions.ReadByteLittle(bytes, ref offset) }; jT808EventProperty.EventContent = JT808BinaryExtensions.ReadStringLittle(bytes, ref offset, jT808EventProperty.EventContentLength); jT808_0X8301.EventItems.Add(jT808EventProperty); } readSize = offset; return jT808_0X8301; }
public JT808_0x8303 Deserialize(ReadOnlySpan <byte> bytes, out int readSize, IJT808Config config) { int offset = 0; JT808_0x8303 jT808_0X8303 = new JT808_0x8303 { SettingType = JT808BinaryExtensions.ReadByteLittle(bytes, ref offset), InformationItemCount = JT808BinaryExtensions.ReadByteLittle(bytes, ref offset), InformationItems = new List <JT808InformationItemProperty>() }; for (var i = 0; i < jT808_0X8303.InformationItemCount; i++) { JT808InformationItemProperty jT808InformationItemProperty = new JT808InformationItemProperty { InformationType = JT808BinaryExtensions.ReadByteLittle(bytes, ref offset), InformationLength = JT808BinaryExtensions.ReadUInt16Little(bytes, ref offset) }; jT808InformationItemProperty.InformationName = JT808BinaryExtensions.ReadStringLittle(bytes, ref offset, jT808InformationItemProperty.InformationLength); jT808_0X8303.InformationItems.Add(jT808InformationItemProperty); } readSize = offset; return(jT808_0X8303); }
public JT808_0x0702 Deserialize(ReadOnlySpan <byte> bytes, out int readSize) { int offset = 0; JT808_0x0702 jT808_0X0702 = new JT808_0x0702(); jT808_0X0702.IC_Card_Status = (JT808ICCardStatus)JT808BinaryExtensions.ReadByteLittle(bytes, ref offset); jT808_0X0702.IC_Card_PlugDateTime = JT808BinaryExtensions.ReadDateTime6Little(bytes, ref offset); if (jT808_0X0702.IC_Card_Status == JT808ICCardStatus.从业资格证IC卡插入_驾驶员上班) { jT808_0X0702.IC_Card_ReadResult = (JT808ICCardReadResult)JT808BinaryExtensions.ReadByteLittle(bytes, ref offset); if (jT808_0X0702.IC_Card_ReadResult == JT808ICCardReadResult.IC卡读卡成功) { jT808_0X0702.DriverUserNameLength = JT808BinaryExtensions.ReadByteLittle(bytes, ref offset); jT808_0X0702.DriverUserName = JT808BinaryExtensions.ReadStringLittle(bytes, ref offset, jT808_0X0702.DriverUserNameLength); jT808_0X0702.QualificationCode = JT808BinaryExtensions.ReadStringLittle(bytes, ref offset, 20); jT808_0X0702.LicenseIssuingLength = JT808BinaryExtensions.ReadByteLittle(bytes, ref offset); jT808_0X0702.LicenseIssuing = JT808BinaryExtensions.ReadStringLittle(bytes, ref offset, jT808_0X0702.LicenseIssuingLength); jT808_0X0702.CertificateExpiresDate = JT808BinaryExtensions.ReadDateTime4Little(bytes, ref offset); } } readSize = offset; return(jT808_0X0702); }
public JT808_0x8401 Deserialize(ReadOnlySpan <byte> bytes, out int readSize) { int offset = 0; JT808_0x8401 jT808_0X8401 = new JT808_0x8401(); jT808_0X8401.SettingTelephoneBook = (JT808SettingTelephoneBook)JT808BinaryExtensions.ReadByteLittle(bytes, ref offset); jT808_0X8401.ContactCount = JT808BinaryExtensions.ReadByteLittle(bytes, ref offset); List <JT808ContactProperty> jT808_0X8401s = new List <JT808ContactProperty>(); for (var i = 0; i < jT808_0X8401.ContactCount; i++) { JT808ContactProperty jT808ContactProperty = new JT808ContactProperty(); jT808ContactProperty.TelephoneBookContactType = (JT808TelephoneBookContactType)JT808BinaryExtensions.ReadByteLittle(bytes, ref offset); jT808ContactProperty.PhoneNumberLength = JT808BinaryExtensions.ReadByteLittle(bytes, ref offset); jT808ContactProperty.PhoneNumber = JT808BinaryExtensions.ReadStringLittle(bytes, ref offset, jT808ContactProperty.PhoneNumberLength); jT808ContactProperty.ContactLength = JT808BinaryExtensions.ReadByteLittle(bytes, ref offset); jT808ContactProperty.Contact = JT808BinaryExtensions.ReadStringLittle(bytes, ref offset, jT808ContactProperty.ContactLength); jT808_0X8401s.Add(jT808ContactProperty); } jT808_0X8401.JT808ContactProperties = jT808_0X8401s; readSize = offset; return(jT808_0X8401); }
public JT808_0x0802 Deserialize(ReadOnlySpan <byte> bytes, out int readSize) { int offset = 0; JT808_0x0802 JT808_0x0802 = new JT808_0x0802(); JT808_0x0802.MsgNum = JT808BinaryExtensions.ReadUInt16Little(bytes, ref offset); JT808_0x0802.MultimediaItemCount = JT808BinaryExtensions.ReadUInt16Little(bytes, ref offset); JT808_0x0802.MultimediaSearchItems = new List <JT808Properties.JT808MultimediaSearchProperty>(); int bufReadSize; for (var i = 0; i < JT808_0x0802.MultimediaItemCount; i++) { JT808Properties.JT808MultimediaSearchProperty jT808MultimediaSearchProperty = new JT808Properties.JT808MultimediaSearchProperty(); jT808MultimediaSearchProperty.MultimediaId = JT808BinaryExtensions.ReadUInt32Little(bytes, ref offset); jT808MultimediaSearchProperty.MultimediaType = JT808BinaryExtensions.ReadByteLittle(bytes, ref offset); jT808MultimediaSearchProperty.ChannelId = JT808BinaryExtensions.ReadByteLittle(bytes, ref offset); jT808MultimediaSearchProperty.EventItemCoding = JT808BinaryExtensions.ReadByteLittle(bytes, ref offset); jT808MultimediaSearchProperty.Position = JT808FormatterExtensions.GetFormatter <JT808_0x0200>().Deserialize(bytes.Slice(offset, 28), out bufReadSize); offset += 28; JT808_0x0802.MultimediaSearchItems.Add(jT808MultimediaSearchProperty); } readSize = offset; return(JT808_0x0802); }
public int Serialize(ref byte[] bytes, int offset, JT808_0x0108 value, IJT808Config config) { offset += JT808BinaryExtensions.WriteByteLittle(bytes, offset, (byte)value.UpgradeType); offset += JT808BinaryExtensions.WriteByteLittle(bytes, offset, (byte)value.UpgradeResult); return(offset); }
public int Serialize(ref byte[] bytes, int offset, JT808_0x8400 value) { offset += JT808BinaryExtensions.WriteByteLittle(bytes, offset, (byte)value.CallBack); offset += JT808BinaryExtensions.WriteStringLittle(bytes, offset, value.PhoneNumber); return(offset); }
public int Serialize(ref byte[] bytes, int offset, JT808_0x0102 value) { offset += JT808BinaryExtensions.WriteStringLittle(bytes, offset, value.Code); return(offset); }
public int Serialize(IMemoryOwner <byte> memoryOwner, int offset, JT808_0x0500 value) { offset += JT808BinaryExtensions.WriteUInt16Little(memoryOwner, offset, value.MsgNum); offset += JT808FormatterExtensions.GetFormatter <JT808_0x0200>().Serialize(memoryOwner, offset, value.JT808_0x0200); return(offset); }
public int Serialize(ref byte[] bytes, int offset, JT808_0x8805 value) { offset += JT808BinaryExtensions.WriteUInt32Little(bytes, offset, value.MultimediaId); offset += JT808BinaryExtensions.WriteByteLittle(bytes, offset, value.MultimediaDeleted); return(offset); }
public int Serialize(ref byte[] bytes, int offset, JT808_0x0302 value) { offset += JT808BinaryExtensions.WriteUInt16Little(bytes, offset, value.ReplySNo); offset += JT808BinaryExtensions.WriteByteLittle(bytes, offset, value.AnswerId); return(offset); }
public int Serialize(ref byte[] bytes, int offset, JT808_0x0500 value, IJT808FormatterResolver formatterResolver) { offset += JT808BinaryExtensions.WriteUInt16Little(ref bytes, offset, value.MsgNum); offset += formatterResolver.GetFormatter <JT808_0x0200>().Serialize(ref bytes, offset, value.JT808_0x0200, formatterResolver); return(offset); }
public int Serialize(IMemoryOwner <byte> memoryOwner, int offset, JT808_0x8300 value) { offset += JT808BinaryExtensions.WriteByteLittle(memoryOwner, offset, value.TextFlag); offset += JT808BinaryExtensions.WriteStringLittle(memoryOwner, offset, value.TextInfo); return(offset); }
public int Serialize(ref byte[] bytes, int offset, JT808_0X8900_Test_BodiesImpl value) { offset += JT808BinaryExtensions.WriteUInt32Little(bytes, offset, value.Id); offset += JT808BinaryExtensions.WriteByteLittle(bytes, offset, value.Sex); return(offset); }
public JT808_0x0200 Deserialize(ReadOnlySpan <byte> bytes, out int readSize) { int offset = 0; JT808_0x0200 jT808_0X0200 = new JT808_0x0200 { AlarmFlag = JT808BinaryExtensions.ReadUInt32Little(bytes, ref offset), StatusFlag = JT808BinaryExtensions.ReadUInt32Little(bytes, ref offset), Lat = JT808BinaryExtensions.ReadInt32Little(bytes, ref offset), Lng = JT808BinaryExtensions.ReadInt32Little(bytes, ref offset) }; JT808StatusProperty jT808StatusProperty = new JT808StatusProperty(Convert.ToString(jT808_0X0200.StatusFlag, 2).PadLeft(32, '0')); if (jT808StatusProperty.Bit28 == '1')//西经 { jT808_0X0200.Lng = -jT808_0X0200.Lng; } if (jT808StatusProperty.Bit29 == '1')//南纬 { jT808_0X0200.Lat = -jT808_0X0200.Lat; } jT808_0X0200.Altitude = JT808BinaryExtensions.ReadUInt16Little(bytes, ref offset); jT808_0X0200.Speed = JT808BinaryExtensions.ReadUInt16Little(bytes, ref offset); jT808_0X0200.Direction = JT808BinaryExtensions.ReadUInt16Little(bytes, ref offset); jT808_0X0200.GPSTime = JT808BinaryExtensions.ReadDateTime6Little(bytes, ref offset); // 位置附加信息 jT808_0X0200.JT808LocationAttachData = new Dictionary <byte, JT808_0x0200_BodyBase>(); jT808_0X0200.JT808CustomLocationAttachOriginalData = new Dictionary <byte, byte[]>(); if (bytes.Length > 28) { int attachOffset = 0; ReadOnlySpan <byte> locationAttachMemory = bytes; ReadOnlySpan <byte> locationAttachSpan = locationAttachMemory.Slice(28); while (locationAttachSpan.Length > attachOffset) { int attachId = 1; int attachLen = 1; try { Type jT808LocationAttachType; if (JT808_0x0200_BodyBase.JT808LocationAttachMethod.TryGetValue(locationAttachSpan[attachOffset], out jT808LocationAttachType)) { int attachContentLen = locationAttachSpan[attachOffset + 1]; int locationAttachTotalLen = attachId + attachLen + attachContentLen; ReadOnlySpan <byte> attachBuffer = locationAttachSpan.Slice(attachOffset, locationAttachTotalLen); object attachImplObj = JT808FormatterExtensions.GetFormatter(jT808LocationAttachType); dynamic attachImpl = JT808FormatterResolverExtensions.JT808DynamicDeserialize(attachImplObj, attachBuffer, out readSize); attachOffset = attachOffset + locationAttachTotalLen; jT808_0X0200.JT808LocationAttachData.Add(attachImpl.AttachInfoId, attachImpl); } else if (JT808_0x0200_CustomBodyBase.CustomAttachIds.Contains(locationAttachSpan[attachOffset])) { int attachContentLen = locationAttachSpan[attachOffset + 1]; int locationAttachTotalLen = attachId + attachLen + attachContentLen; ReadOnlySpan <byte> attachBuffer = locationAttachSpan.Slice(attachOffset, locationAttachTotalLen); jT808_0X0200.JT808CustomLocationAttachOriginalData.Add(locationAttachSpan[attachOffset], attachBuffer.ToArray()); attachOffset = attachOffset + locationAttachTotalLen; } else { int attachContentLen = locationAttachSpan[attachOffset + 1]; int locationAttachTotalLen = attachId + attachLen + attachContentLen; attachOffset = attachOffset + locationAttachTotalLen; } } catch (Exception) { int attachContentLen = locationAttachSpan[attachOffset + 1]; int locationAttachTotalLen = attachId + attachLen + attachContentLen; attachOffset = attachOffset + locationAttachTotalLen; } } offset = offset + attachOffset; } readSize = offset; return(jT808_0X0200); }
public int Serialize(ref byte[] bytes, int offset, JT808_0x8500 value) { offset += JT808BinaryExtensions.WriteByteLittle(bytes, offset, value.ControlFlag); return(offset); }
public int Serialize(ref byte[] bytes, int offset, JT808_0x8202 value) { offset += JT808BinaryExtensions.WriteUInt16Little(bytes, offset, value.Interval); offset += JT808BinaryExtensions.WriteInt32Little(bytes, offset, value.LocationTrackingValidity); return(offset); }
public int Serialize(ref byte[] bytes, int offset, JT808_0x0303 value) { offset += JT808BinaryExtensions.WriteByteLittle(bytes, offset, value.InformationType); offset += JT808BinaryExtensions.WriteByteLittle(bytes, offset, value.Flag); return(offset); }
public int Serialize(ref byte[] bytes, int offset, JT808_0x8606 value) { offset += JT808BinaryExtensions.WriteUInt32Little(bytes, offset, value.RouteId); offset += JT808BinaryExtensions.WriteUInt16Little(bytes, offset, value.RouteProperty); ReadOnlySpan <char> routeProperty16Bit = Convert.ToString(value.RouteProperty, 2).PadLeft(16, '0').AsSpan(); bool bit0Flag = routeProperty16Bit.Slice(routeProperty16Bit.Length - 1).ToString().Equals("0"); if (!bit0Flag) { if (value.StartTime.HasValue) { offset += JT808BinaryExtensions.WriteDateTime6Little(bytes, offset, value.StartTime.Value); } if (value.EndTime.HasValue) { offset += JT808BinaryExtensions.WriteDateTime6Little(bytes, offset, value.EndTime.Value); } } bool bit1Flag = routeProperty16Bit.Slice(routeProperty16Bit.Length - 2, 1).ToString().Equals("0"); if (value.InflectionPointItems != null && value.InflectionPointItems.Count > 0) { offset += JT808BinaryExtensions.WriteUInt16Little(bytes, offset, (ushort)value.InflectionPointItems.Count); foreach (var item in value.InflectionPointItems) { offset += JT808BinaryExtensions.WriteUInt32Little(bytes, offset, item.InflectionPointId); offset += JT808BinaryExtensions.WriteUInt32Little(bytes, offset, item.SectionId); offset += JT808BinaryExtensions.WriteUInt32Little(bytes, offset, item.InflectionPointLat); offset += JT808BinaryExtensions.WriteUInt32Little(bytes, offset, item.InflectionPointLng); offset += JT808BinaryExtensions.WriteByteLittle(bytes, offset, item.SectionWidth); offset += JT808BinaryExtensions.WriteByteLittle(bytes, offset, item.SectionProperty); ReadOnlySpan <char> sectionProperty16Bit = Convert.ToString(item.SectionProperty, 2).PadLeft(16, '0').AsSpan(); bool sectionBit0Flag = sectionProperty16Bit.Slice(sectionProperty16Bit.Length - 1).ToString().Equals("0"); if (!sectionBit0Flag) { if (item.SectionLongDrivingThreshold.HasValue) { offset += JT808BinaryExtensions.WriteUInt16Little(bytes, offset, item.SectionLongDrivingThreshold.Value); } if (item.SectionDrivingUnderThreshold.HasValue) { offset += JT808BinaryExtensions.WriteUInt16Little(bytes, offset, item.SectionDrivingUnderThreshold.Value); } } bool sectionBit1Flag = sectionProperty16Bit.Slice(sectionProperty16Bit.Length - 2, 1).ToString().Equals("0"); if (!sectionBit1Flag) { if (item.SectionHighestSpeed.HasValue) { offset += JT808BinaryExtensions.WriteUInt16Little(bytes, offset, item.SectionHighestSpeed.Value); } if (item.SectionOverspeedDuration.HasValue) { offset += JT808BinaryExtensions.WriteByteLittle(bytes, offset, item.SectionOverspeedDuration.Value); } } } } return(offset); }
public int Serialize(ref byte[] bytes, int offset, JT808_0x8203 value) { offset += JT808BinaryExtensions.WriteUInt16Little(bytes, offset, value.AlarmMsgNum); offset += JT808BinaryExtensions.WriteUInt32Little(bytes, offset, value.ManualConfirmAlarmType); return(offset); }
public int Serialize(IMemoryOwner <byte> memoryOwner, int offset, JT808_0x8400 value) { offset += JT808BinaryExtensions.WriteByteLittle(memoryOwner, offset, (byte)value.CallBack); offset += JT808BinaryExtensions.WriteStringLittle(memoryOwner, offset, value.PhoneNumber); return(offset); }
public int Serialize(ref byte[] bytes, int offset, JT808_0x0201 value) { offset += JT808BinaryExtensions.WriteUInt16Little(bytes, offset, value.MsgNum); offset += JT808FormatterExtensions.GetFormatter <JT808_0x0200>().Serialize(ref bytes, offset, value.Position); return(offset); }
public int Serialize(ref byte[] bytes, int offset, JT808_0x8106 value) { offset += JT808BinaryExtensions.WriteByteLittle(bytes, offset, value.ParameterCount); offset += JT808BinaryExtensions.WriteBytesLittle(bytes, offset, value.Parameters); return(offset); }
public int Serialize(ref byte[] bytes, int offset, JT808_0x8103_0x0093 value) { offset += JT808BinaryExtensions.WriteByteLittle(bytes, offset, value.ParamLength); offset += JT808BinaryExtensions.WriteUInt32Little(bytes, offset, value.ParamValue); return(offset); }
public int Serialize(IMemoryOwner <byte> memoryOwner, int offset, JT808_0x0900_0x83 value) { offset += JT808BinaryExtensions.WriteStringLittle(memoryOwner, offset, value.PassthroughContent); return(offset); }