static void Main(string[] args)
        {
            Start();
            //System.Console.WriteLine("Address?");
            //var result = System.Console.ReadLine();
            //byte[] reader = System.Text.Encoding.UTF8.GetBytes(result);
            //byte[] test = new byte[] { 0x41, 0x54 };
            //_port485.SendMessage(test);
            //GetReadeInfo(0);
            //SetPower(0, 0x0);


            //LCDStart(0x01);
            LCDStop(0xFF);
            System.Threading.Thread.Sleep(100);
            ClearScreen(1);
            System.Threading.Thread.Sleep(100);
            PrintScreen(1, 0, "__LOBU ACTIVE___");
            System.Threading.Thread.Sleep(100);
            PrintScreen(1, 1, "___SCAN  TAGS___");
            System.Threading.Thread.Sleep(100);



            System.Console.WriteLine("Application ready!");
            System.Console.WriteLine("Any key to exit");
            System.Console.ReadKey();
            _port485.Disconnect();
            _port485 = null;
        }
示例#2
0
 /// <summary>
 /// Initializes a new instance of the <see cref="W800Rf32Lib.RfReceiver"/> class.
 /// </summary>
 public RfReceiver()
 {
     serialPort = new SerialPortInput();
     serialPort.SetPort(portName, 4800);
     serialPort.ConnectionStatusChanged += SerialPort_ConnectionStatusChanged;
     serialPort.MessageReceived         += SerialPort_MessageReceived;
 }
        public bool startService()
        {
            if (this.StartedService)
            {
                return(false);
            }

            mMechanicalConn = new SerialPortInput();
            mCodec          = new MotionCodec();
            mMechanicalConn.SetPort(mConnPort, mBaudrate);
            mMechanicalService = new MechanicalService(mMechanicalConn, mCodec);
            mMechanicalService.passingMessageEvent += new PassingMessageHandler(handleResponseMessage);
            if (!mMechanicalService.startService())
            {
                this.StartedService = false;
                return(false);
            }

            this.StartedService = true;
            this.ReadyMotion    = false;
            this.mReadyFlag     = true;
            this.enableMotion();
//            this.controlHomeMotion();
            if (this.mTimerCheckReady == null)
            {
                this.mTimerCheckReady = new DispatcherTimer();
            }
            this.mTimerCheckReady.Interval = TimeSpan.FromSeconds(1);
            this.mTimerCheckReady.Tick    += this.onTimerTick;
            this.mTimerCheckReady.Start();
            return(true);
        }
        private static void Start()
        {
            ///// RC
            //_port0 = new SerialPortLib2.SerialPortInput("/dev/ttyUSB0", 115200, SerialPortLib2.Port.Parity.None, 8, SerialPortLib2.Port.StopBits.One, SerialPortLib2.Port.Handshake.None, true, 100, true);
            //_port0.MessageReceived += _port_MessageReceived;
            //_port0.ConnectionStatusChanged += _port_ConnectionStatusChanged;
            //_port0.Connect();


            //_port1 = new SerialPortLib2.SerialPortInput("/dev/ttyUSB1", 115200, SerialPortLib2.Port.Parity.None, 8, SerialPortLib2.Port.StopBits.One, SerialPortLib2.Port.Handshake.None, true, 100, true);
            //_port1.MessageReceived += _port_MessageReceived;
            //_port1.ConnectionStatusChanged += _port_ConnectionStatusChanged;
            //_port1.Connect();

            //_port2 = new SerialPortLib2.SerialPortInput("/dev/ttyUSB2", 115200, SerialPortLib2.Port.Parity.None, 8, SerialPortLib2.Port.StopBits.One, SerialPortLib2.Port.Handshake.None, true);
            //_port2.MessageReceived += _port_MessageReceived;
            //_port2.ConnectionStatusChanged += _port_ConnectionStatusChanged;
            //_port2.Connect();

            //485
            //_port485 = new MonoSerialPort.SerialPortInput("COM1", 115200, MonoSerialPort.Port.Parity.None, 8, MonoSerialPort.Port.StopBits.One, MonoSerialPort.Port.Handshake.None, true);
            _port485 = new MonoSerialPort.SerialPortInput("/dev/ttyUSB3", 115200, MonoSerialPort.Port.Parity.None, 8, MonoSerialPort.Port.StopBits.One, MonoSerialPort.Port.Handshake.None, true);
            _port485.MessageReceived         += _port_MessageReceived;
            _port485.ConnectionStatusChanged += _port_ConnectionStatusChanged;
            _port485.Connect();
        }
        public HongoComPort__()
        {
            bool end = false;

            serialPort = new SerialPortInput();
            serialPort.SetPort("COM3", 1740800);
            serialPort.Connect();

            serialPort.MessageReceived += delegate(object sender, MessageReceivedEventArgs args)
            {
                string testStr = Encoding.ASCII.GetString(args.Data);
                if (testStr.StartsWith("~"))
                {
                    sReceive.Clear();
                    testStr = testStr.Substring(1);
                }
                if (testStr.EndsWith("!"))
                {
                    end     = true;
                    testStr = testStr.TrimEnd('!');
                }
                lock (sReceive)
                {
                    sReceive.Append(testStr);
                }

                if (end)
                {
                    dataReceived(serialPort, sReceive.ToString());
                }
            };
        }
        public static void Main(string[] args)
        {
            var servicesProvider = BuildDi();

            using (servicesProvider as IDisposable)
            {
                serialPort = servicesProvider.GetRequiredService <SerialPortInput>();
                serialPort.ConnectionStatusChanged += SerialPort_ConnectionStatusChanged;
                serialPort.MessageReceived         += SerialPort_MessageReceived;

                while (true)
                {
                    Console.WriteLine("\nPlease enter serial to open (eg. \"COM7\" or \"/dev/ttyUSB0\" without double quotes),");
                    Console.WriteLine("or enter \"QUIT\" to exit.\n");
                    Console.Write("Port [{0}]: ", defaultPort);
                    string port = Console.ReadLine();
                    if (String.IsNullOrWhiteSpace(port))
                    {
                        port = defaultPort;
                    }
                    else
                    {
                        defaultPort = port;
                    }

                    // exit if the user enters "quit"
                    if (port.Trim().ToLower().Equals("quit"))
                    {
                        break;
                    }

                    serialPort.SetPort(port, 115200);
                    serialPort.Connect();

                    Console.WriteLine("Waiting for serial port connection on {0}.", port);
                    while (!serialPort.IsConnected)
                    {
                        Console.Write(".");
                        Thread.Sleep(1000);
                    }
                    // This is a test message (ZWave protocol message for getting the nodes stored in the Controller)
                    var testMessage = new byte[] { 0x01, 0x03, 0x00, 0x02, 0xFE };
                    // Try sending some data if connected
                    if (serialPort.IsConnected)
                    {
                        Console.WriteLine("\nConnected! Sending test message 5 times.");
                        for (int s = 0; s < 5; s++)
                        {
                            Thread.Sleep(2000);
                            Console.WriteLine("\nSEND [{0}]", (s + 1));
                            serialPort.SendMessage(testMessage);
                        }
                    }
                    Console.WriteLine("\nTest sequence completed, now disconnecting.");

                    serialPort.Disconnect();
                }
            }
        }
示例#7
0
 private void readRadioConfiguration_Btn(object sender, EventArgs e)
 {
     _sp = new SerialPortInput();
     _sp.SetPort("COM3", 9600);
     _sp.Connect();
     _sp.MessageReceived += OnMessageReceivedHandler;
     SendCommandsToRadio();
 }
示例#8
0
 public DataPortal()
 {
     _serialPort = new SerialPortInput();
     _serialPort.SetPort(PortName, Baudrate);
     _serialPort.MessageReceived += SerialPortOnMessageReceived;
     _dataFrameSubject            = new Subject <DataFrame>();
     Messages = _dataFrameSubject;
 }
示例#9
0
        public SerialPortHelper()
        {
#if NETCOREAPP
            serialPort = new SerialPortInput(new Logger <SerialPortInput>(new NullLoggerFactory()));
#else
            serialPort = new SerialPortInput();
#endif
        }
示例#10
0
        public static void OldMain(string[] args)
        {
            // NOTE: To disable debug output uncomment the following two lines
            //LogManager.Configuration.LoggingRules.RemoveAt(0);
            //LogManager.Configuration.Reload();

            serialPort = new SerialPortInput();
            serialPort.ConnectionStatusChanged += SerialPort_ConnectionStatusChanged;
            serialPort.MessageReceived         += SerialPort_MessageReceived;

            while (true)
            {
                Console.WriteLine("\nPlease enter serial to open (eg. \"COM7\" or \"/dev/ttyUSB0\" without double quotes),");
                Console.WriteLine("or enter \"QUIT\" to exit.\n");
                Console.Write("Port [{0}]: ", defaultPort);
                string port = Console.ReadLine();
                if (String.IsNullOrWhiteSpace(port))
                {
                    port = defaultPort;
                }
                else
                {
                    defaultPort = port;
                }

                // exit if the user enters "quit"
                if (port.Trim().ToLower().Equals("quit"))
                {
                    break;
                }

                serialPort.SetPort(port, 115200);
                serialPort.Connect();

                Console.WriteLine("Waiting for serial port connection on {0}.", port);
                while (!serialPort.IsConnected)
                {
                    Console.Write(".");
                    Thread.Sleep(1000);
                }
                // This is a test message (ZWave protocol message for getting the nodes stored in the Controller)
                var testMessage = new byte[] { 0x01, 0x03, 0x00, 0x02, 0xFE };
                // Try sending some data if connected
                if (serialPort.IsConnected)
                {
                    Console.WriteLine("\nConnected! Sending test message 5 times.");
                    for (int s = 0; s < 5; s++)
                    {
                        Thread.Sleep(1000);
                        Console.WriteLine("\nSEND [{0}]", (s + 1));
                        serialPort.SendMessage(testMessage);
                    }
                }
                Console.WriteLine("\nTest sequence completed, now disconnecting.");

                serialPort.Disconnect();
            }
        }
示例#11
0
        public SerialPort(string portName, bool isVirtual)
        {
            Name            = portName;
            serialPortInput = new SerialPortInput(portName, isVirtual);
            serialPortInput.SetPort(portName, 9600);

            serialPortInput.ConnectionStatusChanged += OnConnectionStatusChanged;
            serialPortInput.MessageReceived         += OnMessageReceived;
        }
示例#12
0
 /// <summary>
 /// Initializes a new instance of the <see cref="ZWaveLib.ZWaveController"/> class.
 /// </summary>
 public ZWaveController()
 {
     serialPort = new SerialPortInput();
     serialPort.MessageReceived         += SerialPort_MessageReceived;
     serialPort.ConnectionStatusChanged += SerialPort_ConnectionStatusChanged;
     queuedMessages = new List <ZWaveMessage>();
     queueManager   = new Task(QueueManagerTask);
     queueManager.Start();
 }
示例#13
0
        private void Form1_Load(object sender, EventArgs e)
        {
            AIUIConnectionObj = new AIUIConnection("COM4");
            //AIUIConnectionObj.SerialPort.SerialPortObject.ReceivedBytesThreshold = 100;
            //AIUIConnectionObj.SerialPort.SerialPortObject.ReadBufferSize = 50 * 1024 * 10;
            AIUIConnectionObj.AIUIConnectionReceivedEvent += AIUIConnectionObj_AIUIConnectionReceivedEvent;
            AIUIConnectionObj.SerialPort.Connect();

            serialPort = new SerialPortInput();
            //serialPort.ConnectionStatusChanged += SerialPort_ConnectionStatusChanged;
            //serialPort.MessageReceived += SerialPort_MessageReceived;
            //serialPort.MessageDataAdapterObject = new XFOnlineMessageDataAdapter();

            //serialPort.SetPort("COM4", 115200, System.IO.Ports.StopBits.One, System.IO.Ports.Parity.None, -1, -1);
            //serialPort.EnabledPrintReceiveLog = false;
            //serialPort.Connect();

            //byte[] content = GetCommand(0, 20);
            //StringBuilder sb = new StringBuilder();
            //sb.Append("[");
            //foreach (byte b in content)
            //{
            //    sb.Append("0x").Append(Convert.ToString(b, 16).Length == 1 ? "0" : "").Append(Convert.ToString(b, 16)).Append(",");
            //}
            //sb.Append("]");
            //System.Console.WriteLine(sb.ToString());

            //content = GetCommand(5, 30);
            //sb = new StringBuilder();
            //sb.Append("[");
            //foreach (byte b in content)
            //{
            //    sb.Append("0x").Append(Convert.ToString(b, 16).Length == 1 ? "0" : "").Append(Convert.ToString(b, 16)).Append(",");
            //}
            //sb.Append("]");
            //System.Console.WriteLine(sb.ToString());

            //content = GetCommand(8, 40);
            //sb = new StringBuilder();
            //sb.Append("[");
            //foreach (byte b in content)
            //{
            //    sb.Append("0x").Append(Convert.ToString(b, 16).Length == 1 ? "0" : "").Append(Convert.ToString(b, 16)).Append(",");
            //}
            //sb.Append("]");
            //System.Console.WriteLine(sb.ToString());

            //content = GetCommand(15, 50);
            //sb = new StringBuilder();
            //sb.Append("[");
            //foreach (byte b in content)
            //{
            //    sb.Append("0x").Append(Convert.ToString(b, 16).Length == 1 ? "0" : "").Append(Convert.ToString(b, 16)).Append(",");
            //}
            //sb.Append("]");
            //System.Console.WriteLine(sb.ToString());
        }
示例#14
0
 private static void Start()
 {
     //COM50 /dev/ttyUSB9
     _portESP32 = new MonoSerialPort.SerialPortInput("COM50", 115200,
                                                     MonoSerialPort.Port.Parity.None, 8, MonoSerialPort.Port.StopBits.One, MonoSerialPort.Port.Handshake.None, false);
     _portESP32.MessageReceived         += _port_MessageReceived;
     _portESP32.ConnectionStatusChanged += _port_ConnectionStatusChanged;
     _portESP32.Connect();
 }
示例#15
0
        static void Main(string[] args)
        {
            Start2();
            System.Console.WriteLine("Application ready!");
            System.Console.WriteLine("Press Q to exit");
            bool wait = true;

            while (wait)
            {
                var command = System.Console.ReadLine();
                System.Console.WriteLine();
                if (command == "exit")
                {
                    _port0.Disconnect();
                    _port0 = null;
                    wait   = false;
                }
                else
                {
                    Send(command);
                }
                //var command = System.Console.ReadKey();
                //System.Console.WriteLine();
                //switch(command.Key)
                //{
                //    case ConsoleKey.A:
                //        Send("AT");
                //        break;
                //    case ConsoleKey.B:
                //        break;
                //    case ConsoleKey.C:
                //        Send("AT+CGREG?");
                //        Send("AT+CSQ");
                //        break;
                //    case ConsoleKey.G:
                //        Send("AT+CGATT?");
                //        break;
                //    case ConsoleKey.R:
                //        Send("AT+CSQ");
                //        break;
                //    case ConsoleKey.J:
                //        Send("AT+CGNSPWR=1");
                //        break;
                //    case ConsoleKey.K:
                //        Send("AT+CGNSPWR=0");
                //        break;
                //    case ConsoleKey.Q:
                //        _port0.Disconnect();
                //        _port0 = null;
                //        //_port1.Disconnect();
                //        //_port1 = null;
                //        wait = false;
                //        break;
                //}
            }
        }
        public SerialPortPTZMessagesTransport(string portName, int portSpeed)
        {
            _portName  = portName;
            _portSpeed = portSpeed;

            _serialPort = new SerialPortInput(new NullLogger <SerialPortInput>());

            _serialPort.ConnectionStatusChanged += serialPort_ConnectionStatusChanged;
            _serialPort.MessageReceived         += serialPort_MessageReceived;
        }
示例#17
0
 public MainForm()
 {
     InitializeComponent();
     this.Text += " - " + Versiyon.getVS;
     serialPort = new SerialPortInput();
     serialPort.ConnectionStatusChanged += SerialPort_ConnectionStatusChanged;
     serialPort.MessageReceived         += SerialPort_MessageReceived;
     Helper.SerialPortDetect();
     chbox128x64.Checked = true;
 }
示例#18
0
 public ZWavePort()
 {
     _serialport                        = new SerialPortInput();
     _serialport.Debug                  = true;
     _serialport.MessageReceived       += ReceiveMessage;
     _serialport.ConnectedStateChanged += new SerialPortInput.ConnectedStateChangedEvent(_serialport_ConnectedStateChanged);
     _discoverytimer                    = new Timer((object state) => {
         Discovery();
     });
 }
示例#19
0
        public PowerOnLogo()
        {
            InitializeComponent();

            percent.Text = String.Format("Completion percentage {0}%", GetPercentage);

            if (!String.IsNullOrWhiteSpace(defaultPort))
            {
                serialPort = new SerialPortInput(defaultPort, 115200, SerialPortLib2.Port.Parity.None, 8, SerialPortLib2.Port.StopBits.One, SerialPortLib2.Port.Handshake.RequestToSend, true);
            }
        }
示例#20
0
 public ZWavePort()
 {
     serialPort = new SerialPortInput();
     serialPort.MessageReceived         += SerialPort_MessageReceived;
     serialPort.ConnectionStatusChanged += SerialPort_ConnectionStatusChanged;
     // TODO: discovery should be moved to Controller.cs
     discoveryTimer = new Timer((object state) =>
     {
         Discovery();
     });
 }
示例#21
0
 public ZWavePort()
 {
     serialPort                        = new SerialPortInput();
     serialPort.Debug                  = true;
     serialPort.MessageReceived       += ReceiveMessage;
     serialPort.ConnectedStateChanged += new SerialPortInput.ConnectedStateChangedEvent(serialport_ConnectedStateChanged);
     // TODO: discovery should be moved to Controller.cs
     discoveryTimer = new Timer((object state) =>
     {
         Discovery();
     });
 }
示例#22
0
        static void Main(string[] args)
        {
            System.Console.WriteLine("Application ready!");
            Start();
            Write("AT+GMR\r\n");


            System.Console.WriteLine("Any key to exit");
            System.Console.ReadKey();
            _portESP32.Disconnect();
            _portESP32 = null;
        }
示例#23
0
        // Initialize biometric on serial port
        public static void Init(string port)
        {
            sp = new SerialPortInput();
            // Serial connection event handler
            sp.ConnectionStatusChanged += (s, e) => Connected = e.Connected;
            // Serial message event handler
            sp.MessageReceived += (s, e) =>
            {
                // Decode message
                string msg = Encoding.Default.GetString(e.Data);
                // Classify each message for each event handlers
                switch (msg)
                {
                case "OK1\r\n":
                    onSetFinger1?.Invoke();
                    break;

                case "OK2\r\n":
                    onSetFinger2?.Invoke();
                    break;

                case "OK3\r\n":
                    onSetFinger3?.Invoke();
                    break;

                case "ERR\r\n":
                    onSetError?.Invoke();
                    break;

                default:
                    onGet?.Invoke(msg.Replace("\r\n", ""));
                    break;
                }
                Console.WriteLine("Received message: " + msg);
            };
            Port = port;
            // Initialize port with 9600 baud rate
            sp.SetPort(port, 9600);
            // Start serial communication
            sp.Connect();
            // Set biometric on standby state
            Standby();
            // Disconnect biometric on application exit
            Application.ApplicationExit += delegate
            {
                sp.Disconnect();
            };
        }
        public static void InitSerialPort(string device, bool isVirtual)
        {
            _serialPort = new SerialPortInput(isVirtual);

            //_serialPort.SetPort(device, 38400);
            _serialPort.SetPort(device, 9600);
            _serialPort.ConnectionStatusChanged += SerialPort_ConnectionStatusChanged;
            _serialPort.MessageReceived         += SerialPort_MessageReceived;

            OpenConnection();

            _timerDataFlush          = new System.Timers.Timer();
            _timerDataFlush.Elapsed += new ElapsedEventHandler(OnTimerDataFlushEvent);
            _timerDataFlush.Interval = 250;
            _timerDataFlush.Enabled  = false;
        }
 public SerialUtil()
 {
     _serialPort       = new SerialPortInput();
     _connectionStatus = new BehaviorSubject <ConnectionStatus>(
         new ConnectionStatus(ConnectionStatusChangeReason.InitialState, null)
         );
     _serialDataStream = Observable
                         .FromEventPattern <SerialPortInput.MessageReceivedEventHandler, MessageReceivedEventArgs>
                         (
         handler => _serialPort.MessageReceived += handler,
         handler => _serialPort.MessageReceived -= handler
                         )
                         .Select(eventPattern => Encoding.ASCII.GetString(eventPattern.EventArgs.Data));
     ConfigureConnectionChecking();
     ConfigureDataReading();
 }
示例#26
0
        public SerialFlow(SerialControl parent, string port)
        {
            Parent     = parent;
            sendBuffer = new List <string>();
            Console.WriteLine("STARTED SERIAL! Port: " + port);
            SerialConnection = new SerialPortInput(port, 115200, Parity.None, 8, StopBits.One, Handshake.None, false);
            SerialConnection.ConnectionStatusChanged += Handler_SerialStatus;
            SerialConnection.MessageReceived         += Handler_SerialMessage;

            SerialConnection.Connect();
            IsConnected  = false;
            IsInitiated  = false;
            IsPaused     = false;
            lastStatus   = DateTime.UtcNow;
            HeadLocation = new SKPoint(0, 0);
        }
示例#27
0
        public Serial(GlobalData globalData, TransportLayer transportLayer)
        {
            this.globalData        = globalData;
            this.transportLayer    = transportLayer;
            serialPort             = new SerialPortInput();
            responseQueue          = new BlockingCollection <CANPacket>();
            eventQueue             = new BlockingCollection <CANPacket>();
            responseTimer          = new System.Timers.Timer(100);
            eventTimer             = new System.Timers.Timer(100);
            responseTimer.Elapsed += new ElapsedEventHandler(responseTimer_Elapsed);
            eventTimer.Elapsed    += new ElapsedEventHandler(eventTimer_Elapsed);

            eventTimer.Start();
            responseTimer.Start();

            serialPort.ConnectionStatusChanged += (obj, args) =>
            {
                if (args.Connected)
                {
                    transportLayer.setPacketCollectorStaus(PacketCollectorStates.STATE_STX_1);
                    globalData.showSuccess("Data Com", "Serial Connected.(" + globalData.serialPort + ")");
                }
                else
                {
                    transportLayer.close();
                    globalData.showError("Data Com", "Serial Disconnect.");
                    globalData.serialPort = null;
                }
            };

            serialPort.MessageReceived += (obj, args) =>
            {
                for (int i = 0; i < args.Data.Length; i++)
                {
                    transportLayer.PacketDecoder(args.Data[i]);
                }
                //logger.Info("Received data from serial port message: {0}", BitConverter.ToString(args.Data));
            };
            responseTimer.Start();
        }
示例#28
0
        private void Form1_Load(object sender, EventArgs e)
        {
            _serialPort = new SerialPortInput();

            // Listen to Serial Port events

            _serialPort.ConnectionStatusChanged += delegate(object sender2, ConnectionStatusChangedEventArgs args)
            {
                SetStatus("Waiting for connection", Color.Green);
                Log(txt);
            };

            _serialPort.MessageReceived += delegate(object sender2, MessageReceivedEventArgs args)
            {
                var binaryData = BitConverter.ToString(args.Data);
                var strData    = FromHex(binaryData);

                txt += strData;
                Log(txt);

                if (strData.Contains("WAITING"))
                {
                    SetStatus("Device connection on COM3", Color.Green);
                    ShowWifiConfigPanel();
                }
                else if (strData.Contains("READY"))
                {
                    deviceIpAddress = strData.Replace("READY", "");
                    SetStatus("Device connected on " + deviceIpAddress, Color.Green);
                    ShowConcordiaConfigPanel();
                }
            };

            // Set port options
            _serialPort.SetPort("COM3", 115200);

            // Connect the serial port
            _serialPort.Connect();
        }
示例#29
0
        static void Main(string[] args)
        {
            ClearScreen(1);
            return;

            Start();
            //System.Console.WriteLine("Address?");
            //var result = System.Console.ReadLine();
            //byte[] reader = System.Text.Encoding.UTF8.GetBytes(result);
            //byte[] test = new byte[] { 0x41, 0x54 };
            //_port485.SendMessage(test);
            //GetReadeInfo(0);
            //SetPower(0, 0x0);


            ClearScreen(0x01);
            System.Console.WriteLine("Application ready!");
            System.Console.WriteLine("Any key to exit");
            System.Console.ReadKey();
            _port485.Disconnect();
            _port485 = null;
        }
示例#30
0
        private static void Start2()
        {
            /// RC
            _port0 = new MonoSerialPort.SerialPortInput(portRC, 115200, MonoSerialPort.Port.Parity.None, 8, MonoSerialPort.Port.StopBits.One, MonoSerialPort.Port.Handshake.None, true);
            _port0.MessageReceived         += _port_MessageReceived0;
            _port0.ConnectionStatusChanged += _port_ConnectionStatusChanged0;
            _port0.Connect();


            //_port1 = new SerialPortLib2.SerialPortInput("/dev/ttyUSB1", 115200, SerialPortLib2.Port.Parity.None, 8, SerialPortLib2.Port.StopBits.One, SerialPortLib2.Port.Handshake.None, true, 100, true);
            //_port1.MessageReceived += _port_MessageReceived;
            //_port1.ConnectionStatusChanged += _port_ConnectionStatusChanged;
            //_port1.Connect();

            //_port2 = new SerialPortLib2.SerialPortInput("/dev/ttyUSB2", 115200, SerialPortLib2.Port.Parity.None, 8, SerialPortLib2.Port.StopBits.One, SerialPortLib2.Port.Handshake.None, true);
            //_port2.MessageReceived += _port_MessageReceived;
            //_port2.ConnectionStatusChanged += _port_ConnectionStatusChanged;
            //_port2.Connect();

            ////485
            //_port3 = new MonoSerialPort.SerialPortInput("/dev/ttySIM7000AT", 115200, MonoSerialPort.Port.Parity.None, 8, MonoSerialPort.Port.StopBits.One, MonoSerialPort.Port.Handshake.None, true, false);
            //_port3.MessageReceived += _port_MessageReceived;
            //_port3.ConnectionStatusChanged += _port_ConnectionStatusChanged;
            //_port3.Connect();

            //_port0 = new MonoSerialPort.SerialPortInput(port0, 115200, MonoSerialPort.Port.Parity.None, 8, MonoSerialPort.Port.StopBits.One, MonoSerialPort.Port.Handshake.None, true, false);
            //_port0.MessageReceived += _port_MessageReceived0;
            //_port0.ConnectionStatusChanged += _port_ConnectionStatusChanged0;
            ////if (!_port0.Connect())
            //_port0.Connect();
            ////Console.WriteLine("port {0} does not exists", port);

            //_port1 = new MonoSerialPort.SerialPortInput(port1, 115200, MonoSerialPort.Port.Parity.None, 8, MonoSerialPort.Port.StopBits.One, MonoSerialPort.Port.Handshake.None, true, false);
            //_port1.MessageReceived += _port_MessageReceived1;
            //_port1.ConnectionStatusChanged += _port_ConnectionStatusChanged1;
            ////if (!_port0.Connect())
            //_port1.Connect();
        }