/// <summary> /// Main Calibration function /// </summary> void calibrate() { try { _calibration_error_msg = null; setRunStatus("Start Calibration", Color.Black, Color.White); updateOutputStatus("Start Calibration".PadBoth(80, '-')); // Connect the load _relay_ctrl.OpenIfClosed(); _relay_ctrl.WriteLine(Relay_Lines.Load, true); relaysShowSetttings(); //for debug //calibration_done(); //return; autoSelectBoardByMfgString(); // Disable the app setEnablement(false, false); // Run the calibration Calibrate calibrate = new Calibrate(); // Calibration object calibrate.Status_Event += calibration_Status_event; calibrate.Run_Status_Event += calibration_Run_Status_Event; calibrate.Relay_Event += calibration_Relay_Event; calibrate.CalibrationResults_Event += calibration_Results_Event; calibrate.BoardType = getSelectedBoardType(); calibrate.Ember = _ember; calibrate.MultiMeter = _meter; calibrate.RelayController = _relay_ctrl; calibrate.TelnetConnection = _telnet_connection; _cancel_token_uut = new CancellationTokenSource(); _task_uut = new Task(() => calibrate.Run(_cancel_token_uut.Token), _cancel_token_uut.Token); _task_uut.ContinueWith( calibration_exception_handler, TaskContinuationOptions.OnlyOnFaulted); _task_uut.ContinueWith( calibration_done_handler, TaskContinuationOptions.OnlyOnRanToCompletion); _task_uut.Start(); } catch (Exception ex) { _calibration_error_msg = ex.Message; calibration_done(); } }
/// <summary> /// Starts the UUT power meter dialog /// </summary> /// <param name="sender"></param> /// <param name="e"></param> void toolStripMenuItem_PowerMeter(object sender, EventArgs e) { try { _relay_ctrl.OpenIfClosed(); _relay_ctrl.WriteLine(Relay_Lines.Ember, true); _relay_ctrl.WriteLine(Relay_Lines.Power, true); _relay_ctrl.WriteLine(Relay_Lines.Load, true); Thread.Sleep(1000); Calibrate calibrate = new Calibrate(); calibrate.BoardType = (BoardTypes)Enum.Parse(typeof(BoardTypes), comboBoxBoardTypes.Text); if (_telnet_connection == null || !_telnet_connection.IsConnected) { createTelnet(); } Form_PowerMeter power_meter_dlg = new Form_PowerMeter(_telnet_connection); power_meter_dlg.ShowDialog(); closeTelnet(); _relay_ctrl.Close(); } catch (Exception) { throw; } finally { _relay_ctrl.OpenIfClosed(); _relay_ctrl.WriteLine(Relay_Lines.Power, false); _relay_ctrl.WriteLine(Relay_Lines.Ember, false); _relay_ctrl.WriteLine(Relay_Lines.Load, false); _relay_ctrl.Close(); } }