Ejemplo n.º 1
0
        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;
                    }
                }
            }
        }
Ejemplo n.º 2
0
        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");
                }
            }
        }
Ejemplo n.º 3
0
        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;
                    }
                }
            }
        }
Ejemplo n.º 4
0
        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);
        }
Ejemplo n.º 5
0
        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);
        }
Ejemplo n.º 6
0
        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);
        }