AdTecMatchMockPMC.cs 2.0 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071
  1. using System;
  2. using System.Threading;
  3. using MECF.Framework.Simulator.Core.Driver;
  4. namespace Venus_Simulator.Devices
  5. {
  6. class AdTecMatchMockPMC : SerialPortDeviceSimulator
  7. {
  8. private const string EOF = "\r";
  9. private const char MSG_DELIMITER = '\r';
  10. private const string MOCKUP_PORT = "COM76";
  11. private string sRes = "S34000C0010000000000080020015A273B00700700400005C095210";
  12. public AdTecMatchMockPMC() : 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. OnWriteMessage(sRes + "\r");
  42. }
  43. // message = message.TrimEnd('\r');
  44. //string[] strs = message.Split(MSG_DELIMITER);
  45. //string sRes = string.Empty;
  46. //if (message.Contains("$APRR"))
  47. //{
  48. // sRes = "$APRR10E1D5";
  49. //}
  50. //else
  51. //{
  52. // sRes = "S34011C0000000000000080020015A273B00700700400005C095210";
  53. //}
  54. //Thread.Sleep(2 * 1000);
  55. //OnWriteMessage(sRes + "\r");
  56. }
  57. }
  58. }