VehicleStatus1.cs 1.4 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546
  1. using ProjectBase.Data.Logs;
  2. using SIASUN.Autopilot.Device.Message;
  3. using System;
  4. namespace SIASUN.Autopilot.Device.Command
  5. {
  6. /// <summary>
  7. /// 车辆状态 1
  8. /// </summary>
  9. public class VehicleStatus1
  10. {
  11. /// <summary>
  12. /// 接收到车辆状态触发
  13. /// </summary>
  14. public event ReceiveMessageEventHandler ReceiveMessage;
  15. public void Subscribe()
  16. {
  17. EventManage.Instance.SubscribeEvent(车辆状态1.OperationCode, new EventProcessingHandler(ProcessPackage));
  18. }
  19. public void UnSubscribe()
  20. {
  21. EventManage.Instance.UnSubscribeEvent(车辆状态1.OperationCode, ProcessPackage);
  22. }
  23. private void ProcessPackage(PackageProcessingEventArgs e)
  24. {
  25. //接收到车辆状态1数据,转换常规数据后触发ReceiveMessage处理。
  26. try
  27. {
  28. //通知
  29. if (ReceiveMessage != null)
  30. {
  31. var args = new ReceiveMessageEventArgs(e.PackageBytes[0] as 车辆状态1);
  32. ReceiveMessage(args);
  33. }
  34. }
  35. catch (Exception ex)
  36. {
  37. LogHelper.log.Error("车辆状态1->ProcessPackage事件出现未知异常。", ex);
  38. var args = new ReceiveMessageEventArgs(null);
  39. ReceiveMessage(args);
  40. }
  41. }
  42. }
  43. }