Example #1
0
        private const int Longbreak  = 200; // millisecs

        public static SerialPort GetInstance(this SerialPort port, SerialPortConfigurator param)
        {
            SerialPort result;

            try
            {
                result = new SerialPort(param.PortName, param.BaudRate, param.Parity, param.DataBits, param.StopBits)
                {
                    ReadTimeout  = param.ReadTimeout,
                    WriteTimeout = param.WriteTimeout
                };

                return(result);
            }
            catch (Exception e)
            {
                Console.WriteLine("Create Serial Interface failed: ", e);
                Console.WriteLine(param.ToString());
                throw;
            }
        }
Example #2
0
        /// <summary>
        /// Configures and connects the serial interface of StromPi3
        /// </summary>
        public void Connect(bool bSilent = false)
        {
            int      baudRate = 38400;
            string   portName = @"/dev/serial0";
            int      dataBits = 8;
            StopBits stopBits = StopBits.One;
            Parity   parity   = Parity.None;

            // Gets or sets the number of milliseconds before a time-out occurs when a read operation does not finish.
            int readTimeout  = 200;
            int writeTimeout = 500;

            var portParameter = new SerialPortConfigurator(portName, baudRate, parity, dataBits, stopBits, readTimeout, writeTimeout);

            if (Port == null)
            {
                Port = Port.GetInstance(portParameter);
            }

            if (!bSilent)
            {
                Console.WriteLine($"connected to {portParameter}");
            }

            if (Port.IsOpen)
            {
                Port.Close();
            }

            //_serialPort.DataReceived += ReceivedData;

            Port.Open();

            if (!bSilent)
            {
                Console.WriteLine($"serial port is open ");
            }
        }