Você não pode selecionar mais de 25 tópicos Os tópicos devem começar com uma letra ou um número, podem incluir traços ('-') e podem ter até 35 caracteres.

38 linhas
1.5 KiB

  1. using JT808.Protocol.Attributes;
  2. using JT808.Protocol.Formatters;
  3. using JT808.Protocol.MessagePack;
  4. namespace JT808.Protocol.MessageBody
  5. {
  6. /// <summary>
  7. /// 每次最长通话时间,单位为秒(s),0 为不允许通话,0xFFFFFFFF 为不限制
  8. /// </summary>
  9. public class JT808_0x8103_0x0046 : JT808_0x8103_BodyBase, IJT808MessagePackFormatter<JT808_0x8103_0x0046>
  10. {
  11. public override uint ParamId { get; set; } = 0x0046;
  12. /// <summary>
  13. /// 数据 长度
  14. /// </summary>
  15. public override byte ParamLength { get; set; } = 4;
  16. /// <summary>
  17. /// 每次最长通话时间,单位为秒(s),0 为不允许通话,0xFFFFFFFF 为不限制
  18. /// </summary>
  19. public uint ParamValue { get; set; }
  20. public JT808_0x8103_0x0046 Deserialize(ref JT808MessagePackReader reader, IJT808Config config)
  21. {
  22. JT808_0x8103_0x0046 jT808_0x8103_0x0046 = new JT808_0x8103_0x0046();
  23. jT808_0x8103_0x0046.ParamId = reader.ReadUInt32();
  24. jT808_0x8103_0x0046.ParamLength = reader.ReadByte();
  25. jT808_0x8103_0x0046.ParamValue = reader.ReadUInt32();
  26. return jT808_0x8103_0x0046;
  27. }
  28. public void Serialize(ref JT808MessagePackWriter writer, JT808_0x8103_0x0046 value, IJT808Config config)
  29. {
  30. writer.WriteUInt32(value.ParamId);
  31. writer.WriteByte(value.ParamLength);
  32. writer.WriteUInt32(value.ParamValue);
  33. }
  34. }
  35. }