You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

40 line
1.5 KiB

  1. using JT808.Protocol.Extensions.JTActiveSafety.MessageBody;
  2. using JT808.Protocol.Formatters;
  3. using JT808.Protocol.MessagePack;
  4. using System;
  5. using System.Collections.Generic;
  6. using System.Text;
  7. namespace JT808.Protocol.Extensions.JTActiveSafety.Formatters
  8. {
  9. public class JT808_JTActiveSafety_0x8900_Formatter : IJT808MessagePackFormatter<JT808_JTActiveSafety_0x8900>
  10. {
  11. public JT808_JTActiveSafety_0x8900 Deserialize(ref JT808MessagePackReader reader, IJT808Config config)
  12. {
  13. JT808_JTActiveSafety_0x8900 jT808_JTActiveSafety_0X8900 = new JT808_JTActiveSafety_0x8900();
  14. jT808_JTActiveSafety_0X8900.USBCount=reader.ReadByte();
  15. if (jT808_JTActiveSafety_0X8900.USBCount > 0)
  16. {
  17. jT808_JTActiveSafety_0X8900.MultipleUSB = new List<byte>();
  18. for(int i=0;i < jT808_JTActiveSafety_0X8900.USBCount; i++)
  19. {
  20. jT808_JTActiveSafety_0X8900.MultipleUSB.Add(reader.ReadByte());
  21. }
  22. }
  23. return jT808_JTActiveSafety_0X8900;
  24. }
  25. public void Serialize(ref JT808MessagePackWriter writer, JT808_JTActiveSafety_0x8900 value, IJT808Config config)
  26. {
  27. if(value.MultipleUSB!=null && value.MultipleUSB.Count > 0)
  28. {
  29. writer.WriteByte((byte)value.MultipleUSB.Count);
  30. foreach(var item in value.MultipleUSB)
  31. {
  32. writer.WriteByte(item);
  33. }
  34. }
  35. }
  36. }
  37. }