AdTecMatchMockPMA.cs 2.1 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172
  1. using System;
  2. using System.Threading;
  3. using MECF.Framework.Simulator.Core.Driver;
  4. namespace Venus_Simulator.Devices
  5. {
  6. class AdTecMatchMockPMA : SerialPortDeviceSimulator
  7. {
  8. private const string EOF = "\r";
  9. private const char MSG_DELIMITER = '\r';
  10. private const string MOCKUP_PORT = "COM39";
  11. private string sRes = "S34000C0010000000000080020015A273B00700700400005C095210";
  12. public AdTecMatchMockPMA() : base(MOCKUP_PORT, -1, EOF, MSG_DELIMITER)
  13. {
  14. }
  15. protected override void ProcessUnsplitMessage(string message)
  16. {
  17. if (string.IsNullOrEmpty(message))
  18. throw new ArgumentException("Hardware command message is invalid");
  19. foreach (var item in message.Split('\r'))
  20. {
  21. if (item == "")
  22. {
  23. continue;
  24. }
  25. string item2 = item + "\r";
  26. if (item2.Contains("$APRR"))
  27. {
  28. sRes = "$APRR10E1D5";
  29. }
  30. else if (item2.Contains("M\r"))
  31. {
  32. sRes = "S34099C0010000000000080020015A273B00700700400005C095210";
  33. }
  34. else if (item2.Contains("L\r"))
  35. {
  36. sRes = "S34000C0010000000000080020015A273B00700700400005C095210";
  37. }
  38. else
  39. {
  40. }
  41. //if (!string.IsNullOrEmpty(sRes))
  42. //{
  43. OnWriteMessage(sRes + "\r");
  44. //}
  45. }
  46. // message = message.TrimEnd('\r');
  47. //string[] strs = message.Split(MSG_DELIMITER);
  48. //string sRes = string.Empty;
  49. //if (message.Contains("$APRR"))
  50. //{
  51. // sRes = "$APRR10E1D5";
  52. //}
  53. //else
  54. //{
  55. // sRes = "S34011C0000000000000080020015A273B00700700400005C095210";
  56. //}
  57. //Thread.Sleep(2 * 1000);
  58. //OnWriteMessage(sRes + "\r");
  59. }
  60. }
  61. }