Non puoi selezionare più di 25 argomenti Gli argomenti devono iniziare con una lettera o un numero, possono includere trattini ('-') e possono essere lunghi fino a 35 caratteri.

54 righe
1.9 KiB

  1. using JT808.Protocol.Extensions;
  2. using JT808.Protocol.Formatters;
  3. using JT808.Protocol.Interfaces;
  4. using JT808.Protocol.MessagePack;
  5. using System;
  6. using System.Text.Json;
  7. namespace JT808.Protocol.MessageBody
  8. {
  9. /// <summary>
  10. /// 提问应答
  11. /// 0x0302
  12. /// </summary>
  13. [Obsolete("2019版本已作删除")]
  14. public class JT808_0x0302 : JT808Bodies, IJT808MessagePackFormatter<JT808_0x0302>,IJT808_2019_Version, IJT808Analyze
  15. {
  16. public override ushort MsgId { get; } = 0x0302;
  17. public override string Description => "提问应答";
  18. /// <summary>
  19. /// 应答流水号
  20. /// 对应的提问下发消息的流水号
  21. /// </summary>
  22. public ushort ReplySNo { get; set; }
  23. /// <summary>
  24. /// 答案 ID
  25. /// 提问下发中附带的答案 ID
  26. /// </summary>
  27. public byte AnswerId { get; set; }
  28. public void Analyze(ref JT808MessagePackReader reader, Utf8JsonWriter writer, IJT808Config config)
  29. {
  30. JT808_0x0302 jT808_0X0302 = new JT808_0x0302();
  31. jT808_0X0302.ReplySNo = reader.ReadUInt16();
  32. jT808_0X0302.AnswerId = reader.ReadByte();
  33. writer.WriteNumber($"[{jT808_0X0302.ReplySNo.ReadNumber()}]应答流水号", jT808_0X0302.ReplySNo);
  34. writer.WriteNumber($"[{jT808_0X0302.AnswerId.ReadNumber()}]答案ID", jT808_0X0302.AnswerId);
  35. }
  36. public JT808_0x0302 Deserialize(ref JT808MessagePackReader reader, IJT808Config config)
  37. {
  38. JT808_0x0302 jT808_0X0302 = new JT808_0x0302();
  39. jT808_0X0302.ReplySNo = reader.ReadUInt16();
  40. jT808_0X0302.AnswerId = reader.ReadByte();
  41. return jT808_0X0302;
  42. }
  43. public void Serialize(ref JT808MessagePackWriter writer, JT808_0x0302 value, IJT808Config config)
  44. {
  45. writer.WriteUInt16(value.ReplySNo);
  46. writer.WriteByte(value.AnswerId);
  47. }
  48. }
  49. }