Beispiel #1
0
 /// <summary>
 /// Starts this instance.
 /// </summary>
 public void Start()
 {
     StringBuilder sb = new StringBuilder();
     _serialPort = new SerialPort(_panelLibrary.Port);
     _serialPort.DataReceived += new SerialDataReceivedEventHandler(_serialPort_DataReceived);
     _serialPort.BaudRate = _panelLibrary.BaudRate;
     if (_serialPort.BaudRate < 0)
     {
         sb.Length = 0;
         sb.AppendFormat("Warning: Baud rate: {0} must be greater than zero - exiting", _serialPort.BaudRate);
         Events.DoLog(this, sb.ToString());
         return;
     }
     _serialPort.Parity = _panelLibrary.Parity;
     _serialPort.DataBits = _panelLibrary.DataBits;
     if (_serialPort.DataBits < 0)
     {
         sb.Length = 0;
         sb.AppendFormat("Warning: Data bits: {0} must be greater than zero - exiting", _serialPort.DataBits);
         Events.DoLog(this, sb.ToString());
         return;
     }
     _serialPort.StopBits = _panelLibrary.StopBits;
     _serialPort.Handshake = _panelLibrary.HandShake;
     sb.Length = 0;
     sb.AppendFormat("Opening port {0}...", _panelLibrary.Port);
     Events.DoLog(this, sb.ToString());
     try
     {
         _serialPort.Open();
         ConnectionEventArgs e = new ConnectionEventArgs();
         e.Port = _serialPort.PortName;
         e.BaudRate = _serialPort.BaudRate;
         e.Parity = _serialPort.Parity;
         e.DataBits = _serialPort.DataBits;
         e.StopBits = _serialPort.StopBits;
         e.Handshake = _serialPort.Handshake;
         sb.Length = 0;
         sb.AppendFormat("New connection on port {0},{1},{2},{3},{4},{5}", e.Port, e.BaudRate, e.DataBits, e.StopBits.ToString(), e.Parity.ToString(),
             e.Handshake.ToString());
         e.Message = sb.ToString();
         Events.DoConnect(this, e);
     }
     catch (Exception e)
     {
         Events.DoLog(this, e.ToString());
     }
 }