public IComPortConfigurationViewModel CreateComPortConfigurationViewModel(IComPortConfiguration comPortConfiguration) { IComPortConfigurationViewModel comPortConfigurationViewModel = _container.Resolve <IComPortConfigurationViewModel>(); comPortConfigurationViewModel.ComPortConfiguration = comPortConfiguration; return(comPortConfigurationViewModel); }
public async Task <bool> TryOpenConnectionAsync(bool isThrowingException, IComPortConfiguration comPortConfiguration) { //if ((_openedPort != null) && (_openedPort == PortName)) return true; try { IModbusSerialMaster modbusSerialMaster = null; await Task.Run((() => { IStreamResource streamResource = _connectionManager.GetSerialPortAdapter(PortName, comPortConfiguration); modbusSerialMaster = ModbusSerialMaster.CreateRtu(streamResource); })); if (modbusSerialMaster != null) { _currentModbusMaster?.Dispose(); _currentModbusMaster = modbusSerialMaster; } else { throw new Exception(); } _slaveId = SlaveId; // QueryQueue.Initialize(_currentModbusSerialMaster,deviceLogger,(() => LastQueryStatusChangedAction?.Invoke())); _openedPort = PortName; } catch (Exception e) { if (isThrowingException) { throw e; } return(false); } return(true); }
public void SetComPortConfigurationByName(IComPortConfiguration comPortConfiguration, string portName) { if (!ComPortConfigurationsDictionary.ContainsKey(portName)) { ComPortConfigurationsDictionary.Add(portName, _comPortConfigurationFactory.CreateComPortConfiguration()); } ComPortConfigurationsDictionary[portName] = comPortConfiguration; }
public SerialPortAdapter GetSerialPortAdapter(string portName, IComPortConfiguration comPortConfiguration) { SerialPort serialPort = new SerialPort(portName); SerialPortAdapter serialPortAdapter = new SerialPortAdapter(serialPort); if (!ComPortConfigurationsDictionary.ContainsKey(portName)) { return(null); } comPortConfiguration = ComPortConfigurationsDictionary[portName]; serialPort.BaudRate = comPortConfiguration.BaudRate; serialPort.DataBits = comPortConfiguration.DataBits; serialPort.StopBits = comPortConfiguration.StopBits; serialPort.Parity = comPortConfiguration.Parity; serialPort.ReadTimeout = comPortConfiguration.WaitAnswer; serialPort.WriteTimeout = comPortConfiguration.WaitAnswer; serialPort.Open(); return(serialPortAdapter); }
public SerialPortAdapter GetSerialPortAdapter(string portName) { SerialPort serialPort = new SerialPort(portName); SerialPortAdapter serialPortAdapter = new SerialPortAdapter(serialPort); if (!ComPortConfigurationsDictionary.ContainsKey(portName)) { return(null); } IComPortConfiguration comPortConfiguration = ComPortConfigurationsDictionary[portName]; serialPort.BaudRate = comPortConfiguration.BaudRate; serialPort.DataBits = comPortConfiguration.DataBits; serialPort.StopBits = comPortConfiguration.StopBits; serialPort.Parity = comPortConfiguration.Parity; serialPort.ReadTimeout = comPortConfiguration.WaitAnswer; serialPort.WriteTimeout = comPortConfiguration.WaitAnswer; try { serialPort.Open(); } catch (Exception portExc) { Debug.Write(portExc.Message); throw portExc; } try { _serializerService.SerializeInFile(ComPortConfigurationsDictionary, StringKeys.COMPORT_CONFIGURATION_SETTINGS + ".json"); } catch (Exception e) { Debug.Write(e.Message); } return(serialPortAdapter); }
public ComPortConfigurationViewModel(IComPortConfiguration comPortConfiguration, ILocalizerService localizerService) { _comPortConfiguration = comPortConfiguration; _localizerService = localizerService; BaudRates = new ObservableCollection <int>(); foreach (BaudRatesEnum baudRatesEnum in Enum.GetValues(typeof(BaudRatesEnum))) { BaudRates.Add((int)baudRatesEnum); } DataBitsCollection = new ObservableCollection <int>(); foreach (DataBitsEnum dataBit in Enum.GetValues(typeof(DataBitsEnum))) { DataBitsCollection.Add((int)dataBit); } StopBitsCollection = new ObservableCollection <StopBits>(); foreach (StopBits stopBit in Enum.GetValues(typeof(StopBits))) { StopBitsCollection.Add(stopBit); } ParityCollection = new ObservableCollection <Parity>(); foreach (Parity parity in Enum.GetValues(typeof(Parity))) { ParityCollection.Add(parity); } SelectedBaudRate = (int)BaudRatesEnum.BR115200; SelectedDataBits = 8; SelectedStopBits = StopBits.One; SelectedParity = Parity.None; WaitAnswer = 200; WaitByte = 100; OnTransmission = 0; OffTramsmission = 0; }