public void Disconnect(bool exposeExceptions = false) { if (serialPort?.IsOpen ?? false) { try { readContinue = false; Thread.Sleep(1000); readThread.Join(1024); ResponseBytesHandler -= ReadResponses; // discard any buffered bytes serialPort.DiscardInBuffer(); serialPort.DiscardOutBuffer(); serialPort.Close(); } catch (Exception) { if (exposeExceptions) { throw; } } } }
public void Disconnect(bool exposeExceptions = false) { if (serialPort?.IsOpen ?? false) { try { readContinue = false; Thread.Sleep(100); readThread.Join(1024); ResponseBytesHandler -= ReadResponses; // discard any buffered bytes serialPort.DiscardInBuffer(); serialPort.DiscardOutBuffer(); serialPort.Close(); } catch (Exception) { if (exposeExceptions) { throw; } } finally { Console.WriteLine($"SERIAL: ON PORT={commPort} - CONNECTION CLOSED"); } } }
public void Disconnect(bool exposeExceptions = false) { if (serialPort?.IsOpen ?? false) { try { readContinue = false; connected = false; Thread.Sleep(1000); readThread.Join(1000); ResponseBytesHandler -= ReadResponses; // discard any buffered bytes serialPort.DiscardInBuffer(); serialPort.DiscardOutBuffer(); serialPort.Close(); System.Diagnostics.Debug.WriteLine($"VIPA [{serialPort?.PortName}]: closed port."); } catch (Exception) { if (exposeExceptions) { throw; } } } }
public bool Connect(string port, bool exposeExceptions = false) { commPort = port; connected = false; try { // Setup read thread readThread = new Thread(ReadResponseBytes); // Create a new SerialPort object with default settings. serialPort = new SerialPort(commPort); // Update the Handshake serialPort.Handshake = Handshake.None; // Set the read/write timeouts serialPort.ReadTimeout = 10000; serialPort.WriteTimeout = 10000; // open serial port serialPort.Open(); connected = serialPort.IsOpen; if (connected) { // monitor port changes //PortsChanged += OnPortsChanged; lastCDHolding = serialPort.CDHolding; // discard any buffered bytes serialPort.DiscardInBuffer(); serialPort.DiscardOutBuffer(); ResponseBytesHandler += ReadResponses; readThread.Start(); } } catch (Exception e) { Console.WriteLine($"SerialConnection: exception=[{e.Message}]"); if (exposeExceptions) { throw; } } return(connected); }
public bool Connect(string port, bool exposeExceptions = false) { commPort = port; connected = false; try { // Create a new SerialPort object with default settings. serialPort = new SerialPort(commPort); // Update the Handshake serialPort.Handshake = Handshake.None; // Set the read/write timeouts serialPort.ReadTimeout = portReadTimeout; serialPort.WriteTimeout = portWriteTimeout; // open serial port serialPort.Open(); // monitor port changes lastCDHolding = serialPort.CDHolding; // discard any buffered bytes serialPort.DiscardInBuffer(); serialPort.DiscardOutBuffer(); // Setup read thread readThread = new Thread(ReadResponseBytes); readThread.Start(); ResponseBytesHandler += ReadResponses; Console.WriteLine($"SERIAL: ON PORT={commPort} - CONNECTION OPEN"); System.Diagnostics.Debug.WriteLine($"VIPA [{serialPort?.PortName}]: opened port."); connected = true; } catch (Exception e) { Console.WriteLine($"SERIAL: ON PORT={commPort} - exception=[{e.Message}]"); if (exposeExceptions) { throw; } Dispose(); } return(connected); }
public bool Connect(bool exposeExceptions = false) { try { // Setup read thread readThread = new Thread(ReadResponseBytes); // Create a new SerialPort object with default settings. serialPort = new System.IO.Ports.SerialPort(COMMPort); // Update the Handshake serialPort.Handshake = System.IO.Ports.Handshake.None; // Set the read/write timeouts serialPort.ReadTimeout = 10000; serialPort.WriteTimeout = 10000; // open serial port serialPort.Open(); // monitor port changes PortsChanged += OnPortsChanged; // discard any buffered bytes serialPort.DiscardInBuffer(); serialPort.DiscardOutBuffer(); ResponseBytesHandler += ReadResponses; readThread.Start(); return(connected = true); } catch (Exception) { if (exposeExceptions) { throw; } } return(false); }