/// <summary> /// Establishes the SerialCommunication /// </summary> /// <param name="sender">Object that calls the function</param> /// <param name="e">Default, empty and useless event argument</param> public void Connect(Object sender, EventArgs e) { //Deactivate Button form1.ChangeConnectButtonState(false); connectDialog.ChangeConnectButtonState(false); //Searches all availible Prots for Sensor .. or disconnects if (!processData.sensorAnswer) { serial = new SerialCommunication(this); serial.NewSerialDataRecieved += new EventHandler <SerialDataEventArgs>(NewSerialDataRecieved); processData = new ProcessData(54); string[] portNames; portNames = serial.GetPortNames(); for (int i = 0; i < portNames.Length; i++) { UpdateStatus(this, new UpdateStatusEvent("Versuche mit " + portNames[i] + " zu verbinden")); serial.Connect(portNames[i]); serial.CallSensor(); Delay(300); if (processData.sensorAnswer) { UpdateStatus(this, new UpdateStatusEvent("Verbunden mit " + portNames[i])); firstPackage = true; break; } } if (processData.sensorAnswer) { serial.StartSensor(); connectDialog.Hide(); form1.Show(); } else { UpdateStatus(this, new UpdateStatusEvent("Kein Sensor gefunden")); UpdateStatus(this, new UpdateStatusEvent("Stellen Sie sicher, dass Bluetooth am Computer aktiviert ist und der Sensor eingeschaltet ist")); UpdateStatus(this, new UpdateStatusEvent("Schalten Sie den Sensor aus und wieder ein und versuchen Sie es erneut")); } } else { if (ShowDialog("Möchten Sie die Verbindung zum Sensor wirklich schließen?", "Verbindung schließen") == DialogResult.OK) { Disconnect(); } } //Enable/Disable Disconnect Timer form1.EnableTimer(processData.sensorAnswer); //Save Button aktivieren/deaktivieren form1.ChangeSaveButtonState(processData.sensorAnswer); //Connect Button anpassen form1.ChangeConnectButtonText(processData.sensorAnswer); //Activate Button form1.ChangeConnectButtonState(true); connectDialog.ChangeConnectButtonState(true); }