//konstruktory public CommunicationPort(SendData d) { InitializeComponent(); RefreshState(); BaudRateCombo.ItemsSource = baudRates; ParityCombo.ItemsSource = parity; DataBitsCombo.ItemsSource = dataBits; StopBitsCombo.ItemsSource = stopBits; HandshakeComboBox.ItemsSource = handshake; try { SetData(d); PortCombo.SelectedItem = data.PortName.ToString(); BaudRateCombo.SelectedItem = data.BaudRate.ToString(); ParityCombo.SelectedItem = data.PortParity.ToString(); DataBitsCombo.SelectedItem = data.DataBits.ToString(); StopBitsCombo.SelectedItem = data.PortStopBits.ToString(); HandshakeComboBox.SelectedItem = data.PortHandshake.ToString(); } catch (ComPortNotActiveException) { data.SetToEmpty(); } }
//Ustawia i otwiera/zamyka serial port private void ConnectButton_Click(object sender, RoutedEventArgs e) { if (!serialPort.IsOpen) { try { serialPort.PortName = data.PortName; serialPort.Parity = data.PortParity; serialPort.DataBits = data.DataBits; serialPort.StopBits = data.PortStopBits; serialPort.Handshake = data.PortHandshake; serialPort.BaudRate = data.BaudRate; serialPort.DataReceived += DataReceived; serialPort.Open(); if (!(comTool is null)) { comTool.ConnectionInfoLbl.Content = "connected"; } if (!(jogOp is null)) { jogOp.ConnectionInfoLbl.Content = "connected"; } if (!(posAdd is null)) { posAdd.ConnectionInfoLbl.Content = "connected"; } ConnectButton.Content = "Disconnect"; AddToLog("Connected"); SendToRobot(null, new SendDataEventArgs("WH")); } catch (ComPortNotActiveException ex) { serialPort.Close(); serialPort.DataReceived -= DataReceived; data.SetToEmpty(); SetEmptyVisibleData(); MessageBox.Show(ex.Message); AddToLog("Cannot connect: " + ex.Message); } catch (ComPortInvalidValueException ex) { serialPort.Close(); serialPort.DataReceived -= DataReceived; data.SetToEmpty(); SetEmptyVisibleData(); MessageBox.Show(ex.Message); AddToLog("Cannot connect: " + ex.Message); } } else { serialPort.Close(); serialPort.DataReceived -= DataReceived; if (!(comTool is null)) { comTool.ConnectionInfoLbl.Content = "disconnected"; } if (!(jogOp is null)) { jogOp.ConnectionInfoLbl.Content = "disconnected"; } if (!(posAdd is null)) { posAdd.ConnectionInfoLbl.Content = "disconnected"; } ConnectButton.Content = "Connect"; AddToLog("Disconnected."); } }