private void GraphPolling() { int index = 0; Console.WriteLine("IS testing: {0}", _IsTesting); //System timer to get timestamps for the events Stopwatch stopWatch = new Stopwatch(); //Initialises a clean list for logging data into List <TestSequenceElement> DataLoggingList = new List <TestSequenceElement>(); //Console.WriteLine("Entering the Data Logger"); stopWatch.Start(); while (_IsTesting) { if (_IsTesting) { index = index + 1; //Console.WriteLine("Testing"); //Console.WriteLine("Adding {0}V, {1}A, {2}W, {3}Ohms", txtActiveVoltage.Text, txtActiveCurrent.Text, txtActivePower.Text, txtResistance.Text); TestSequenceElement TestSnippet = new TestSequenceElement(txtActiveVoltage.Text, txtActiveCurrent.Text, txtActivePower.Text, txtResistance.Text, stopWatch.ElapsedMilliseconds); DataLoggingList.Add(TestSnippet); Thread.Sleep(200); } } stopWatch.Stop(); //Console.WriteLine(); _DataLoggingList = DataLoggingList; //Console.WriteLine("Iterated {0} number of times", index); TestReadout(); //Console.WriteLine(); }
private void AddRamp() { if (!string.IsNullOrWhiteSpace(txtRampVFloor.Text) | !string.IsNullOrWhiteSpace(txtRampVCeiling.Text) | !string.IsNullOrWhiteSpace(txtRampCurrent.Text) | !string.IsNullOrWhiteSpace(txtRampTime.Text)) { //lbxTestSequence.Items.Add(string.Format("Voltage: ", "Current: ", "Time: ")); string svoltageFloor = txtRampVFloor.Text; string svoltageLim = txtRampVCeiling.Text; string scurrent = txtRampCurrent.Text; string stime = txtRampTime.Text; float fvfloor = float.Parse(svoltageFloor); float fvlim = float.Parse(svoltageLim); float fcurrent = float.Parse(scurrent); float ftime = float.Parse(stime); ftime = ftime * 1000;//converts the inputs time to ms stime = ftime.ToString(); //number of ms between points used for the ramp const int timeInterval = 200;//Runs at 4hz (4 operation over a period of 1 second) int numberOfIntervals = (int)Math.Round((ftime / timeInterval), 0); Console.WriteLine("Number of intervals {0}", numberOfIntervals); float intervalDeltaVoltage = (fvlim - fvfloor) / numberOfIntervals; float currentVoltage = 0; for (int i = 0; i < numberOfIntervals + 1; i++) { Console.WriteLine("calculated voltage is {0}", currentVoltage = fvfloor + (i * intervalDeltaVoltage));//calculates the current voltage lbxTestSequence.Items.Add(string.Format(lvlvComponentTesterBox, Math.Round(currentVoltage, 2).ToString() + "V", scurrent + "A", (timeInterval * i) + "ms")); Console.WriteLine("Added element to list box"); TestSequenceElement TestElement = new TestSequenceElement(Math.Round(currentVoltage, 2).ToString(), scurrent, (timeInterval).ToString()); _TestSequenceElements.Add(TestElement); } if (cbDeRamp.Checked) { Console.WriteLine("Adding a deramp buffer object"); lbxTestSequence.Items.Add(string.Format(lvlvComponentTesterBox, 0.ToString() + "V", scurrent + "A", timeInterval * 2 + "ms")); TestSequenceElement TestElement = new TestSequenceElement(0.ToString(), scurrent, (timeInterval * 2).ToString()); _TestSequenceElements.Add(TestElement); } } else { MessageBox.Show("Please enter valid: Voltage, Current and time peramiters", "Error"); } }
private void AddTestElement() { //If the voltage, current and time input boxes are not empty if (!string.IsNullOrWhiteSpace(txtListVoltage.Text) | !string.IsNullOrWhiteSpace(txtListCurrent.Text) | !string.IsNullOrWhiteSpace(txtListTime.Text)) { string voltage = txtListVoltage.Text; string current = txtListCurrent.Text; string time = txtListTime.Text; float ftime = float.Parse(time); ftime = ftime * 1000; time = ftime.ToString(); lbxTestSequence.Items.Add(string.Format(lvlvComponentTesterBox, "Voltage: " + voltage + "V", "Current: " + current + "A", "Time: " + time + "ms")); TestSequenceElement TestElement = new TestSequenceElement(voltage, current, time); _TestSequenceElements.Add(TestElement); } else { MessageBox.Show("Please enter valid: Voltage, Current and time peramiters", "Error"); } }