public void Serialize(ref JT809MessagePackWriter writer, JT809_0x1200_0x1201 value, IJT809Config config) { writer.WriteBigNumber(value.PlateformId, 11); writer.WriteBigNumber(value.ProducerId, 11); writer.WriteStringPadRight(value.TerminalModelType, 20); writer.WriteStringPadRight(value.TerminalId.ToUpper(), 7); writer.WriteStringPadRight(value.TerminalSimCode, 12); }
public void Serialize(ref JT809MessagePackWriter writer, JT809_0x1500_0x1504 value, IJT809Config config) { writer.WriteByte((byte)value.CommandType); // 先计算内容长度(汉字为两个字节) writer.Skip(4, out int lengthPosition); writer.WriteString(value.TraveldataInfo); writer.WriteInt32Return(writer.GetCurrentPosition() - lengthPosition - 4, lengthPosition); }
public void Serialize(ref JT809MessagePackWriter writer, JT809_0x9200_0x920D value, IJT809Config config) { writer.WriteUInt32(value.DRVLineID); writer.WriteByte(value.Result.ToByteValue()); writer.Skip(2, out int position); writer.WriteString(value.Reason); writer.WriteUInt16Return((ushort)(writer.GetCurrentPosition() - position - 2), position); }
public void Serialize(ref JT809MessagePackWriter writer, JT809_0x1001 value, IJT809Config config) { writer.WriteUInt32(value.UserId); writer.WriteStringPadRight(value.Password, 8); writer.WriteUInt32(value.MsgGNSSCENTERID); writer.WriteStringPadRight(value.DownLinkIP, 32); writer.WriteUInt16(value.DownLinkPort); }
public void Serialize(ref JT809MessagePackWriter writer, JT809_0x1102 value, IJT809Config config) { writer.WriteBigNumber(value.PlateformId, 11); writer.WriteUTCDateTime(value.StartTime); writer.WriteUTCDateTime(value.EndTime); writer.WriteUInt32(value.LoseDymamicSum); writer.WriteByte(value.DisconnectNum); writer.WriteUInt32(value.DisconnectTime); }
public void Serialize(ref JT809MessagePackWriter writer, JT809_0x1600_0x1601 value, IJT809Config config) { if (config.Version == JT809Version.JTT2019) { writer.WriteUInt16(value.SourceDataType); writer.WriteUInt32(value.SourceMsgSn); } writer.WriteString(value.CarInfo); }
public void Serialize(ref JT809MessagePackWriter writer, JT809_0x1200_0x1206 value, IJT809Config config) { if (config.Version == JT809Version.JTT2019) { writer.WriteUInt16(value.SourceDataType); writer.WriteUInt32(value.SourceMsgSN); writer.WriteUInt32(value.DataLength); } }
public void Serialize(ref JT809MessagePackWriter writer, JT809_0x9200_0x9209 value, IJT809Config config) { if (config.Version == JT809Version.JTT2019) { writer.WriteUInt16(value.SourceDataType); writer.WriteUInt32(value.SourceMsgSn); } writer.WriteByte((byte)value.Result); }
public void Serialize(ref JT809MessagePackWriter writer, JT809_0x9500_0x9503 value, IJT809Config config) { writer.WriteUInt32(value.MsgSequence); writer.WriteByte(value.MsgPriority); // 先计算内容长度(汉字为两个字节) writer.Skip(4, out int lengthPosition); writer.WriteString(value.MsgContent); writer.WriteInt32Return(writer.GetCurrentPosition() - lengthPosition - 4, lengthPosition); }
public void Serialize(ref JT809MessagePackWriter writer, JT809_0x1300_0x1303 value, IJT809Config config) { writer.WriteByte(value.SerialCount); foreach (var item in value.SerialList) { writer.WriteArray(item); } writer.WriteUTCDateTime(value.Time); }
public void Serialize(ref JT809MessagePackWriter writer, JT809_0x9102 value, IJT809Config config) { writer.WriteUInt16(value.SubBusinessType); writer.Skip(4, out int subContentLengthPosition); writer.WriteStringPadRight(value.PlateformId, 11); writer.WriteUTCDateTime(value.StartTime); writer.WriteUTCDateTime(value.EndTime); writer.WriteInt32Return(writer.GetCurrentPosition() - subContentLengthPosition - 4, subContentLengthPosition); }
public void Serialize(ref JT809MessagePackWriter writer, JT809_0x1300_0x1301 value, IJT809Config config) { writer.WriteByte((byte)value.ObjectType); writer.WriteStringPadRight(value.ObjectID, 12); writer.WriteUInt32(value.InfoID); // 先计算内容长度(汉字为两个字节) writer.Skip(4, out int lengthPosition); writer.WriteString(value.InfoContent); writer.WriteInt32Return(writer.GetCurrentPosition() - lengthPosition - 4, lengthPosition); }
public void Serialize(ref JT809MessagePackWriter writer, JT809_JT1078_0x1B00_0x1B02 value, IJT809Config config) { writer.WriteByte((byte)value.Result); writer.WriteUInt16(value.SessionId); writer.WriteStringPadLeft(value.ServerIp, 32); writer.WriteUInt16(value.TcpPort); writer.WriteStringPadLeft(value.UserName, 49); writer.WriteStringPadLeft(value.Password, 22); writer.WriteStringPadLeft(value.FilePath, 200); }
public void Serialize(ref JT809MessagePackWriter writer, JT809_JT1078_0x9800_0x9801 value, IJT809Config config) { writer.WriteByte(value.ChannelId); writer.WriteByte(value.AVitemType); writer.WriteStringPadRight(value.AuthorizeCode, 64); if (value.GnssData != null && value.GnssData.Length > 0) { writer.WriteArray(value.GnssData); } }
public void Serialize(ref JT809MessagePackWriter writer, JT809Header value, IJT809Config config) { writer.WriteUInt32(value.MsgLength); writer.WriteUInt32(value.MsgSN); writer.WriteUInt16(value.BusinessType); writer.WriteUInt32(value.MsgGNSSCENTERID); writer.WriteArray(value.Version.Buffer); writer.WriteByte((byte)value.EncryptFlag); writer.WriteUInt32(value.EncryptKey); }
public void Serialize(ref JT809MessagePackWriter writer, JT809_0x1200_0x120B value, IJT809Config config) { if (config.Version == JT809Version.JTT2019) { writer.WriteUInt16(value.SourceDataType); writer.WriteUInt32(value.SourceMsgSn); } writer.WriteUInt32((uint)value.EwaybillInfo.Length); writer.WriteString(value.EwaybillInfo); }
public void Serialize(ref JT809MessagePackWriter writer, JT809_0x9400_0x9403 value, IJT809Config config) { writer.WriteByte((byte)value.WarnSrc); writer.WriteUInt16((ushort)value.WarnType); writer.WriteUTCDateTime(value.WarnTime); // 先计算内容长度(汉字为两个字节) writer.Skip(4, out int lengthPosition); writer.WriteString(value.WarnContent); writer.WriteInt32Return(writer.GetCurrentPosition() - lengthPosition - 4, lengthPosition); }
public void Serialize(ref JT809MessagePackWriter writer, JT809_0x9007 value, IJT809Config config) { if (config.Version == JT809Version.JTT2019) { writer.WriteByte((byte)value.ErrorCode); } else { writer.WriteByte((byte)value.ReasonCode); } }
public void Serialize(ref JT809MessagePackWriter writer, JT809_JT1078_0x1900_Record value, IJT809Config config) { writer.WriteByte(value.ChannelId); writer.WriteUTCDateTime(value.StartTime); writer.WriteUTCDateTime(value.EndTime); writer.WriteUInt64(value.AlarmType); writer.WriteByte(value.AVItemType); writer.WriteByte(value.StreamType); writer.WriteByte(value.MemType); writer.WriteUInt32(value.FileSize); }
public void Serialize(ref JT809MessagePackWriter writer, JT809_JT1078_0x9A00_0x9A01 value, IJT809Config config) { writer.WriteByte(value.ChannelId); writer.WriteByte(value.AVItemType); writer.WriteByte(value.StreamType); writer.WriteByte(value.MemType); writer.WriteUTCDateTime(value.PlayBackStartTime); writer.WriteUTCDateTime(value.PlayBackEndTime); writer.WriteArray(value.AuthorizeCode); writer.WriteArray(value.GnssData); }
public void Serialize(ref JT809MessagePackWriter writer, JT809_0x1200_0x120C value, IJT809Config config) { writer.WriteStringPadRight(value.DriverName, 16); writer.WriteStringPadRight(value.DriverID, 20); writer.WriteStringPadRight(value.Licence, 40); writer.WriteStringPadRight(value.OrgName, 200); if (config.Version == JT809Version.JTT2019) { writer.WriteUTCDateTime(value.ValidDate); } }
public void Serialize(ref JT809MessagePackWriter writer, JT809_0x1102 value, IJT809Config config) { writer.WriteUInt16(value.SubBusinessType); writer.WriteUInt32(value.DataLength); writer.WriteStringPadRight(value.PlateformId, 11); writer.WriteUTCDateTime(value.StartTime); writer.WriteUTCDateTime(value.EndTime); writer.WriteUInt32(value.LoseDymamicSum); writer.WriteByte(value.DisconnectNum); writer.WriteUInt32(value.DisconnectTime); }
public void Serialize(ref JT809MessagePackWriter writer, JT809_0x9500_0x9505 value, IJT809Config config) { writer.WriteBCD(value.AuthenticationCode, 20); writer.WriteStringPadRight(value.AccessPointName, 20); writer.WriteStringPadRight(value.UserName, 49); writer.WriteStringPadRight(value.Password, 22); writer.WriteStringPadRight(value.ServerIP, 32); writer.WriteUInt16(value.TcpPort); writer.WriteUInt16(value.UdpPort); writer.WriteUTCDateTime(value.EndTime); }
public void Serialize(ref JT809MessagePackWriter writer, JT809_JT1078_0x1900_0x1901 value, IJT809Config config) { writer.WriteUInt32(value.ItemNum); if (value.ItemList.Count > 0) { var formatter = config.GetMessagePackFormatter <JT809_JT1078_0x1900_Record>(); foreach (var item in value.ItemList) { formatter.Serialize(ref writer, item, config); } } }
public void WriteCRC16Test() { var bytes = new byte[4096]; var data = "5B000000480000008510010133EFB8010000000000270F0133EFB832303138303932303132372E302E302E31000000000000000000000000000000000000000000000003296A915D".ToHexBytes(); JT809MessagePackWriter jT809MessagePackWriter = new JT809MessagePackWriter(bytes); jT809MessagePackWriter.WriteArray(data); jT809MessagePackWriter.WriteEncode(); var result = jT809MessagePackWriter.FlushAndGetEncodingArray(); Assert.Equal(data, result); }
public void Serialize(ref JT809MessagePackWriter writer, JT809_JT1078_0x9900_0x9902 value, IJT809Config config) { writer.WriteByte(value.ChannelId); writer.WriteUTCDateTime(value.StartTime); writer.WriteUTCDateTime(value.EndTime); writer.WriteUInt64(value.AlarmType); writer.WriteByte(value.AVItemType); writer.WriteByte(value.StreamType); writer.WriteByte(value.MemType); writer.WriteStringPadRight(value.AuthorizeCode, 64); writer.WriteArray(value.GnssData); }
public void Serialize(ref JT809MessagePackWriter writer, JT809_0x1400_0x1413 value, IJT809Config config) { writer.WriteBigNumber(value.SourcePlatformId, 11); writer.WriteUTCDateTime(value.WarnTime); writer.WriteUInt16(value.SourceDataType); writer.WriteUInt32(value.SourceMsgSn); writer.WriteUTCDateTime(value.SupervisionEndTime); writer.WriteByte((byte)value.SupervisionLevel); writer.WriteStringPadRight(value.Supervisor, 16); writer.WriteStringPadRight(value.SupervisorTel, 20); writer.WriteStringPadRight(value.SupervisorEmail, 32); }
public void Serialize(ref JT809MessagePackWriter writer, JT809_0x9400_0x9401 value, IJT809Config config) { writer.WriteByte((byte)value.WarnSrc); writer.WriteUInt16((ushort)value.WarnType); writer.WriteUTCDateTime(value.WarnTime); writer.WriteHex(value.SupervisionID, 4); writer.WriteUTCDateTime(value.SupervisionEndTime); writer.WriteByte(value.SupervisionLevel); writer.WriteStringPadRight(value.Supervisor, 16); writer.WriteStringPadRight(value.SupervisorTel, 20); writer.WriteStringPadRight(value.SupervisorEmail, 32); }
public void Serialize(ref JT809MessagePackWriter writer, JT809_0x1300_0x1302 value, IJT809Config config) { if (config.Version == JT809Version.JTT2019) { writer.WriteUInt16(value.SourceDataType); writer.WriteUInt32(value.SourceMsgSn); } else { writer.WriteUInt32(value.InfoID); } }
public void Serialize(ref JT809MessagePackWriter writer, JT809_0x1300_0x1303 value, IJT809Config config) { if (value.EndMessageNumber - value.BeginMessageNumber >= byte.MaxValue) { throw new JT809Exception(JT809ErrorCode.IllegalArgument, "序列号间隔不能大于255"); } value.SerialCount = (byte)(value.EndMessageNumber - value.BeginMessageNumber + 1); writer.WriteUInt16(RetranDataType); writer.WriteByte(value.SerialCount); writer.WriteUInt32(value.BeginMessageNumber); writer.WriteUInt32(value.EndMessageNumber); writer.WriteUTCDateTime(value.Time); }