private async void Wiggle() { ROSADevice device = d as ROSADevice; ROSAOutput output = o as ROSAOutput; bool wiggleTestResult = true; WiggleData wiggleData = await TestCalculations.ROSAWiggleTest(device.V_Test, (device.RSSI_VPD == "VPD"), (int)device.Wiggle_Time, wiggleProgress); wiggleMin.Text = wiggleData.min.ToString("F") + " mW"; wiggleMax.Text = wiggleData.max.ToString("F") + " mW"; wiggleAvg.Text = wiggleData.avg.ToString("F") + " mW"; double i_wiggle = 10 * Math.Log10(wiggleData.max / wiggleData.min); iWiggle.Text = i_wiggle.ToString("F") + " dB"; bool I_Wiggle_Pass = (i_wiggle <= device.PD_Wiggle_Max); output.Wiggle_Pass = I_Wiggle_Pass; if (!I_Wiggle_Pass) { iWiggle.Foreground = Brushes.OrangeRed; wiggleTestResult = false; } measurementPanel.Visibility = Visibility.Visible; var w = Window.GetWindow(this) as MainWindow; if (wiggleTestResult) { passed = true; testMessage.Text = "Test Passed"; testMessage.Foreground = Brushes.ForestGreen; StartTestButton.Content = "End job"; output.Result = true; MainWindow.Conn.SaveROSAOutput(output); d = device; o = output; w.device = d; w.output = o; } else { testMessage.Text = "Test Failed"; testMessage.Foreground = Brushes.OrangeRed; if (numTries >= 3) { StartTestButton.Content = "Go home"; output.Result = false; MainWindow.Conn.SaveROSAOutput(output); } else { StartTestButton.Content = "Retry test"; } } }
private async void Wiggle() { TOSADevice device = d as TOSADevice; TOSAOutput output = o as TOSAOutput; bool wiggleTestResult = true; WiggleData wiggleData = await TestCalculations.TOSAWiggleTest((int)device.Wiggle_Time, wiggleProgress); wiggleMin.Text = wiggleData.min.ToString("F") + " mW"; wiggleMax.Text = wiggleData.max.ToString("F") + " mW"; wiggleAvg.Text = wiggleData.avg.ToString("F") + " mW"; double popct_wiggle = wiggleData.min / output.P_Test_OB; popctWiggle.Text = (100 * popct_wiggle).ToString("F") + " %"; bool POPCT_Wiggle_Pass = (popct_wiggle >= device.POPCT_Wiggle_Min); output.POPCT_Wiggle_Min = popct_wiggle; output.POPCT_Wiggle_Min_Pass = POPCT_Wiggle_Pass; if (!POPCT_Wiggle_Pass) { popctWiggle.Foreground = Brushes.OrangeRed; wiggleTestResult = false; } double pwiggle = 10 * Math.Log10(wiggleData.max / wiggleData.min); wiggleDb.Text = pwiggle.ToString("F") + " dB"; bool Pwiggle_Pass = (pwiggle <= device.Pwiggle_Max); output.Wiggle_dB = pwiggle; output.Wiggle_dB_Pass = Pwiggle_Pass; if (!Pwiggle_Pass) { wiggleDb.Foreground = Brushes.OrangeRed; wiggleTestResult = false; } measurementPanel.Visibility = Visibility.Visible; var w = Window.GetWindow(this) as MainWindow; if (wiggleTestResult) { passed = true; testMessage.Text = "Test Passed"; testMessage.Foreground = Brushes.ForestGreen; StartTestButton.Content = "End job"; output.Result = true; MainWindow.Conn.SaveTOSAOutput(output); d = device; o = output; w.device = d; w.output = o; } else { testMessage.Text = "Test Failed"; testMessage.Foreground = Brushes.OrangeRed; if (numTries >= 3) { StartTestButton.Content = "Go home"; output.Result = false; MainWindow.Conn.SaveTOSAOutput(output); } else { StartTestButton.Content = "Retry test"; } } NextDeviceButton.Visibility = Visibility.Visible; }