diff --git a/ErgometerUitlezer/ComPort.cs b/ErgometerUitlezer/ComPort.cs index 9f0e386..11334ab 100644 --- a/ErgometerUitlezer/ComPort.cs +++ b/ErgometerUitlezer/ComPort.cs @@ -9,11 +9,57 @@ namespace ErgometerUitlezer { class ComPort { - SerialPort comPort; + private SerialPort comPort; public ComPort() { comPort = null; } + + public Boolean Connect(string port) + { + comPort = new SerialPort(); + comPort.PortName = port; + comPort.DataBits = 8; + comPort.Parity = Parity.None; + comPort.StopBits = StopBits.One; + comPort.BaudRate = 9600; + + comPort.Open(); + + return comPort.IsOpen; + } + + public Boolean Disconnect() + { + comPort.Close(); + return !comPort.IsOpen; + } + + public Boolean IsOpen() + { + if (comPort != null) + return comPort.IsOpen; + else + return false; + } + + public void Write(string input) + { + if(IsOpen()) + { + comPort.WriteLine(input); + } + } + + public string Read() + { + if (IsOpen()) + { + return comPort.ReadLine(); + } + + return ""; + } } } diff --git a/ErgometerUitlezer/Ergometer.resx b/ErgometerUitlezer/Ergometer.resx index 1af7de1..711e1bf 100644 --- a/ErgometerUitlezer/Ergometer.resx +++ b/ErgometerUitlezer/Ergometer.resx @@ -117,4 +117,7 @@ System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + 17, 17 + \ No newline at end of file diff --git a/ErgometerUitlezer/FormatHelper.cs b/ErgometerUitlezer/FormatHelper.cs new file mode 100644 index 0000000..511a821 --- /dev/null +++ b/ErgometerUitlezer/FormatHelper.cs @@ -0,0 +1,32 @@ +using System; +using System.Collections.Generic; +using System.Linq; +using System.Text; +using System.Threading.Tasks; + +namespace ErgometerUitlezer +{ + class FormatHelper + { + public static Meting Status(string input) + { + String[] status = input.Split('\t'); + + if (status.Length != 8) + return null; + + int heartbeat = int.Parse(status[0]); + int rpm = int.Parse(status[1]); + double speed = double.Parse(status[2]) / 10; + double distance = double.Parse(status[3]) / 10; + int power = int.Parse(status[4]); + int energy = int.Parse(status[5]); + int actualpower = int.Parse(status[7]); + + string[] temp = status[6].Split(':'); + int seconds = (int.Parse(temp[0]) * 60) + (int.Parse(temp[1])); + + return new Meting(heartbeat, rpm, speed, distance, power, energy, seconds, actualpower); + } + } +}