Exemplo n.º 1
0
 /// <summary>
 /// Handles clicks to reset button
 /// </summary>
 /// <param name="sender">Reset button</param>
 /// <param name="e">Parameter</param>
 private void buttonReset_Click(object sender, RoutedEventArgs e)
 {
     if (ConnectedMultimeter != null)
     {
         ConnectedMultimeter.Reset();
         PopulateSettings();
     }
 }
Exemplo n.º 2
0
        // </CONSTRUCTORS>

        // <METHODS>

        /// <summary>
        /// Perfoms measurement based on selection from comboboxes in listview
        /// Writes new measurement to log file, if the file exists
        /// </summary>
        private void Measure()
        {
            // measure
            Measurement m = new Measurement();
            string      value;
            DateTime    now = DateTime.Now;          // time stamp

            for (int i = 0; i < Global.Columns; i++) // perform measurement for all columns
            {
                value = string.Empty;
                if (modeCombos[i].SelectedIndex > 0)
                {
                    if (modeCombos[i].SelectedIndex == 1) // timestamp
                    {
                        value = now.ToString();
                    }
                    else
                    {
                        ConnectedMultimeter.SetMode(ConnectedMultimeter.GetModes[modeCombos[i].SelectedIndex - 2]); // first two modes are not performed by multimeter
                        value = ConnectedMultimeter.Measure().ToString();
                    }
                }
                m.Values.Add(value);
            }
            measurements.Add(m); // add the new measurement to the list of measurements

            // log file
            if (logFile != null)
            {
                if (headerChanged) // write new header if it has been changed since last write
                {
                    StringBuilder sb = new StringBuilder();

                    foreach (ComboBox cb in modeCombos) // header from combo box items
                    {
                        if (cb.SelectedItem is string)
                        {
                            sb.Append(cb.SelectedItem);
                        }
                        else if (cb.SelectedItem is ComboBoxItem)
                        {
                            sb.Append(((ComboBoxItem)cb.SelectedItem).Content.ToString());
                        }

                        sb.Append(Global.Delimiter);
                    }

                    logFile.WriteLine(sb.ToString());
                    headerChanged = false;
                }

                logFile.WriteLine(m); // write new measurement - writeline accepts any object (all objects implement ToString() method), measurement overrides ToString() and creates a single delimited line from all the values
            }
        }
Exemplo n.º 3
0
 /// <summary>
 /// Handles the deallocation of resources when window is about to close
 /// Close file
 /// Disconnect multimeter
 /// </summary>
 /// <param name="sender">Main window</param>
 /// <param name="e">Parameter</param>
 private void Window_Closing(object sender, CancelEventArgs e)
 {
     logFile?.Close();
     ConnectedMultimeter?.Disconnect();
 }