internal void ConfigureSerialPortOKClicked(SerialPortConfigurations _configs) { if (OnSerialPortConfigsUpdated != null) { OnSerialPortConfigsUpdated(this, _configs); } }
public SerialPortConfig() { InitializeComponent(); DataContext = this; _configs = new SerialPortConfigurations(); ReadConfigFile(); }
private void ReadConfigFile() { if (_serialPortConfigs == null) { _serialPortConfigs = new SerialPortConfigurations(); } IniFileHelper ini = new IniFileHelper(AppDomain.CurrentDomain.BaseDirectory + @"\config.ini"); try { _serialPortConfigs.PortName = ini.Read("SerialPortConfigurations", "PortName", "COM1"); _serialPortConfigs.BaudRate = Convert.ToInt32(ini.Read("SerialPortConfigurations", "BaudRate", "9600")); _serialPortConfigs.Parity = ParseEnum <Parity>(ini.Read("SerialPortConfigurations", "Parity", "None")); _serialPortConfigs.DataBits = Convert.ToInt16(ini.Read("SerialPortConfigurations", "DataBits", "8")); _serialPortConfigs.StopBits = ParseEnum <StopBits>(ini.Read("SerialPortConfigurations", "StopBits", "One")); _serialPortConfigs.Handshake = ParseEnum <Handshake>(ini.Read("SerialPortConfigurations", "Handshake", "None")); } finally { ini = null; } }
public MainWindow() { InitializeComponent(); DataContext = this; StopSerialPort.IsEnabled = false; Closing += (obj, e) => { if (SerialPortManager.Instance.IsOpen) { SerialPortManager.Instance.Close(); } }; // Create clock DispatcherTimer clock = new DispatcherTimer(DispatcherPriority.Background); clock.Interval = TimeSpan.FromSeconds(1); clock.IsEnabled = true; clock.Tick += (obj, e) => { ClockText.Text = DateTime.Now.ToLocalTime().ToString(); }; // Subscribe SerialPort events SerialPortManager.Instance.OnDataReceived += (obj, e) => { double temp; try { temp = Convert.ToDouble(e); } catch { temp = 0; } if (_stabilityCount < 5) { _stabilityCount++; return; } if (_stabilityCount == 5 && _secondCount == 60) { ExportDataToCSV(DateTime.Now, temp); _secondCount = 0; } else { _secondCount++; } App.Current.Dispatcher.BeginInvoke(new Action(() => { MainTempText.Text = string.Format("{0} °C", Math.Round(temp, 2)); UpdateMainTempBoxColor(temp); UpdateMinMaxTemp(temp); AddToDataCollection(DateTime.Now, temp); })); }; SerialPortManager.Instance.OnSerialPortOpened += (obj, e) => { if (e == true) { StartSerialPort.IsEnabled = false; StopSerialPort.IsEnabled = true; } else { StartSerialPort.IsEnabled = true; StopSerialPort.IsEnabled = false; } }; // Subscribe events from EventPasser EventPasser.Instance.OnSerialPortConfigsUpdated += (obj, e) => { _serialPortConfigs = e; popupSerialPortConfig.IsOpen = false; ConfigureSerialPort.IsEnabled = true; }; ReadConfigFile(); // OxyPlot Plot1 = CreatePlotModel(); }