private void Connect() { SerialPortSettingsView serialPortSettingsView = new SerialPortSettingsView { Owner = _parentWindow, DataContext = _serialPortSettingsViewModel, MainStackPannel = { Background = (Brush)(new BrushConverter().ConvertFrom("#FFECEAEA")) } }; if (serialPortSettingsView.ShowDialog() != true) { return; } if (!_serialPortSettingsViewModel.IsConnected) { return; } _port = _serialPortSettingsViewModel.Port; PortIsOpen = true; СonnectionStatus = $"Подключено: {_port.PortName} {_port.BaudRate} {_port.DataBits}{_port.Parity.ToString()[0]}{(int)_port.StopBits}"; _slave = ModbusSerialSlave.CreateRtu(1, _port); _slave.DataStore = _slaveDataStore; //TODO need to add data map of MTE device _slave.ModbusSlaveRequestReceived += OnModbusSlaveRequestReceived; _queriesCounter = 0; _slaveThread = new Thread(_slave.Listen); _slaveThread.Start(); }
private void ConnectOnPort() { SerialPortSettingsView serialPortSettingsView = new SerialPortSettingsView { Owner = _parentWindow, DataContext = _serialPortSettingsViewModel, MainStackPannel = { Background = _parentWindow.DefaultBackgroundBrush } }; if (serialPortSettingsView.ShowDialog() == false) { return; } if (!_serialPortSettingsViewModel.IsConnected) { return; } ReaderSaver.Port = _serialPortSettingsViewModel.Port; try { if (!ReaderSaver.Port.IsOpen) { ReaderSaver.Port.Open(); } } catch (Exception exception) { MessageBox.Show("Ошибка подключения:" + exception.Message, Constants.messageBoxTitle, MessageBoxButton.OK, MessageBoxImage.Exclamation); СonnectionStatus = "Отключено"; } СonnectionStatus = "Подключено: " + ReaderSaver.GetConnectionParametersString(); PortIsOpen = true; }