using System; using System.Threading; using MECF.Framework.Simulator.Core.Driver; namespace Venus_Simulator.Devices { class AdTecMatchMockPMA : SerialPortDeviceSimulator { private const string EOF = "\r"; private const char MSG_DELIMITER = '\r'; private const string MOCKUP_PORT = "COM39"; private string sRes = "S34000C0010000000000080020015A273B00700700400005C095210"; public AdTecMatchMockPMA() : base(MOCKUP_PORT, -1, EOF, MSG_DELIMITER) { } protected override void ProcessUnsplitMessage(string message) { if (string.IsNullOrEmpty(message)) throw new ArgumentException("Hardware command message is invalid"); foreach (var item in message.Split('\r')) { if (item == "") { continue; } string item2 = item + "\r"; if (item2.Contains("$APRR")) { sRes = "$APRR10E1D5"; } else if (item2.Contains("M\r")) { sRes = "S34099C0010000000000080020015A273B00700700400005C095210"; } else if (item2.Contains("L\r")) { sRes = "S34000C0010000000000080020015A273B00700700400005C095210"; } else { } //if (!string.IsNullOrEmpty(sRes)) //{ OnWriteMessage(sRes + "\r"); //} } // message = message.TrimEnd('\r'); //string[] strs = message.Split(MSG_DELIMITER); //string sRes = string.Empty; //if (message.Contains("$APRR")) //{ // sRes = "$APRR10E1D5"; //} //else //{ // sRes = "S34011C0000000000000080020015A273B00700700400005C095210"; //} //Thread.Sleep(2 * 1000); //OnWriteMessage(sRes + "\r"); } } }