From f1c60b6f23ab16380a6ea58ccb742a3413f98ae1 Mon Sep 17 00:00:00 2001 From: Kenneth van Ewijk Date: Tue, 3 Nov 2015 21:01:45 +0100 Subject: [PATCH] Application now searches for working comport --- .../ErgometerApplication/ClientApplicatie.cs | 8 +++++++- ErgometerIPR/ErgometerLibrary/ComPort.cs | 13 +++++++++++-- 2 files changed, 18 insertions(+), 3 deletions(-) diff --git a/ErgometerIPR/ErgometerApplication/ClientApplicatie.cs b/ErgometerIPR/ErgometerApplication/ClientApplicatie.cs index 81e173b..b7a9b18 100644 --- a/ErgometerIPR/ErgometerApplication/ClientApplicatie.cs +++ b/ErgometerIPR/ErgometerApplication/ClientApplicatie.cs @@ -74,7 +74,13 @@ namespace ErgometerApplication if (SerialPort.GetPortNames().Length > 0) { string error = ""; - bool connect = MainClient.Connect(SerialPort.GetPortNames()[0], username, password, out error); + bool connect = false; + foreach(string comport in SerialPort.GetPortNames()) + { + connect = MainClient.Connect(comport, username, password, out error); + if (connect) + break; + } if (connect) { diff --git a/ErgometerIPR/ErgometerLibrary/ComPort.cs b/ErgometerIPR/ErgometerLibrary/ComPort.cs index 126fc39..5233fa8 100644 --- a/ErgometerIPR/ErgometerLibrary/ComPort.cs +++ b/ErgometerIPR/ErgometerLibrary/ComPort.cs @@ -24,7 +24,8 @@ namespace ErgometerLibrary comPort.Parity = Parity.None; comPort.StopBits = StopBits.One; comPort.BaudRate = 9600; - comPort.ReadTimeout = 1500; + comPort.ReadTimeout = 200; + comPort.WriteTimeout = 350; try { comPort.Open(); } @@ -54,7 +55,15 @@ namespace ErgometerLibrary { if (IsOpen()) { - comPort.WriteLine(input); + + try + { + comPort.WriteLine(input); + } + catch (TimeoutException) + { + + } } }