void ProcessReceivedSerialData(IDeviceSerialPort port)
        {
            string indata = port.ReadExisting();

            SerialPortData.Append(indata);
            SerialPortData.Replace("\r", "");
            SerialPortData.Replace("\t", "");
            var doSend = false;

            int commandEndPossition = -1;

            while ((commandEndPossition = SerialPortData.IndexOf("\n")) >= 0)
            {
                var command = SerialPortData.ToString(0, commandEndPossition);
                SerialPortData.Remove(0, commandEndPossition + 1);
                if (command.IsNullOrEmpty())
                {
                    continue;
                }

                this.OnMessageReceived(command);
                if (command.Trim().ToUpper() == "OK")
                {
                    doSend = true;
                }
            }
            if (!doSend)
            {
                return;
            }
            OkInputReceived.Set();
        }
 public DeviceController(IDeviceSerialPort serial)
 {
     // string port, int baundRate
     Serial = serial;
 }
示例#3
0
 public static string[] GetPortNames(this IDeviceSerialPort serialPort)
 {
     return(SerialPort.GetPortNames());
 }