using SA_LTT; using SA_LTT.Module; using System; using System.Collections.Generic; using System.ComponentModel; using System.Data; using System.Drawing; using System.Linq; using System.Text; using System.Threading; using System.Threading.Tasks; using System.Windows.Forms; namespace SA_LTT_UI.Viewer { public partial class PiLaserViewer : Form { MainFrame _mainFrame; Thread t_UIUpdate; bool updateCheck; public PiLaserViewer(MainFrame mainFrame) { InitializeComponent(); _mainFrame = mainFrame; t_UIUpdate = new Thread(UIUpdateTh); t_UIUpdate.Start(); } protected override CreateParams CreateParams { get { CreateParams MyCp = base.CreateParams; MyCp.ExStyle |= 0x02000000; return MyCp; } } private void UIUpdateTh() { while (_mainFrame.equipment.IsDisposed == false) { Thread.Sleep(10); if (updateCheck == false) { updateCheck = true; UIUpdate(); } } } private void UIUpdate() { if (InvokeRequired) { BeginInvoke(new UIUpdateDelegate(UIUpdate)); return; } else { try { UpdatePortStatus(); UpdateSystemStatus(); UpdateSystemFaults(); UpdateGeneralAlarms(); UpdateSystemState(); UpdateFaultsInTemperature(); UpdatePowerControl(); UpdateMonitors(); UpdateTemperatureControl(); UpdatePulseControl(); UpdateBurstControl(); lb_LDDHour.Text = _mainFrame.equipment.piLaser.CurrentPiLaserStatus.LddHours.ToString(); } catch (Exception e) { EquipmentLogManager.Instance.WriteExceptionLog(e.StackTrace); } finally { updateCheck = false; } } } private void UpdatePortStatus() { lb_PortName.Text = _mainFrame.equipment.piLaser.PortName; lb_PortStatus.Text = _mainFrame.equipment.piLaser.IsOpen ? "Open" : "Close"; } private void UpdateSystemStatus() { lb_PowerOn.BackColor = _mainFrame.equipment.piLaser.CurrentPiLaserStatus.CurrentSystemStatus.PowerOn ? System.Drawing.Color.Lime : System.Drawing.Color.Red; lb_ShutterEnable.BackColor = _mainFrame.equipment.piLaser.CurrentPiLaserStatus.CurrentSystemStatus.ShutterEnabled ? System.Drawing.Color.Lime : System.Drawing.Color.Red; lb_KeySwitch.BackColor = _mainFrame.equipment.piLaser.CurrentPiLaserStatus.CurrentSystemStatus.KeySwitch ? System.Drawing.Color.Lime : System.Drawing.Color.Red; lb_LDDOn.BackColor = _mainFrame.equipment.piLaser.CurrentPiLaserStatus.CurrentSystemStatus.LddOn ? System.Drawing.Color.Lime : System.Drawing.Color.Red; lb_QSWOn.BackColor = _mainFrame.equipment.piLaser.CurrentPiLaserStatus.CurrentSystemStatus.QswOn ? System.Drawing.Color.Lime : System.Drawing.Color.Red; lb_ShutterInterlock.BackColor = _mainFrame.equipment.piLaser.CurrentPiLaserStatus.CurrentSystemStatus.ShutterInterlock ? System.Drawing.Color.Lime : System.Drawing.Color.Red; lb_LDDInterlock.BackColor = _mainFrame.equipment.piLaser.CurrentPiLaserStatus.CurrentSystemStatus.LddInterlock ? System.Drawing.Color.Lime : System.Drawing.Color.Red; } private void UpdateSystemFaults() { lb_Memory.BackColor = !_mainFrame.equipment.piLaser.CurrentPiLaserStatus.CurrentSystemFaults.Memory ? System.Drawing.Color.Lime : System.Drawing.Color.Red; lb_SDCard.BackColor = !_mainFrame.equipment.piLaser.CurrentPiLaserStatus.CurrentSystemFaults.SdCard ? System.Drawing.Color.Lime : System.Drawing.Color.Red; lb_BoardCommunication.BackColor = !_mainFrame.equipment.piLaser.CurrentPiLaserStatus.CurrentSystemFaults.BoardCommunication ? System.Drawing.Color.Lime : System.Drawing.Color.Red; lb_BoardState.BackColor = !_mainFrame.equipment.piLaser.CurrentPiLaserStatus.CurrentSystemFaults.BoardState ? System.Drawing.Color.Lime : System.Drawing.Color.Red; } private void UpdateGeneralAlarms() { lb_LDD1.BackColor = !_mainFrame.equipment.piLaser.CurrentPiLaserStatus.CurrentGeneralAlarms.Ldd1 ? System.Drawing.Color.Lime : System.Drawing.Color.Red; lb_LDD2.BackColor = !_mainFrame.equipment.piLaser.CurrentPiLaserStatus.CurrentGeneralAlarms.Ldd2 ? System.Drawing.Color.Lime : System.Drawing.Color.Red; lb_QSW.BackColor = !_mainFrame.equipment.piLaser.CurrentPiLaserStatus.CurrentGeneralAlarms.Qsw ? System.Drawing.Color.Lime : System.Drawing.Color.Red; lb_Flow.BackColor = !_mainFrame.equipment.piLaser.CurrentPiLaserStatus.CurrentGeneralAlarms.Flow ? System.Drawing.Color.Lime : System.Drawing.Color.Red; lb_Wet.BackColor = !_mainFrame.equipment.piLaser.CurrentPiLaserStatus.CurrentGeneralAlarms.Wet ? System.Drawing.Color.Lime : System.Drawing.Color.Red; lb_Humidity.BackColor = !_mainFrame.equipment.piLaser.CurrentPiLaserStatus.CurrentGeneralAlarms.Humidity ? System.Drawing.Color.Lime : System.Drawing.Color.Red; lb_HFSync.BackColor = !_mainFrame.equipment.piLaser.CurrentPiLaserStatus.CurrentGeneralAlarms.HfSync ? System.Drawing.Color.Lime : System.Drawing.Color.Red; } private void UpdateSystemState() { lb_SystemInitalization.BackColor = _mainFrame.equipment.piLaser.CurrentPiLaserStatus.CurrentSystemState.SystemInitialization ? System.Drawing.Color.Lime : System.Drawing.Color.Red; lb_Setup.BackColor = _mainFrame.equipment.piLaser.CurrentPiLaserStatus.CurrentSystemState.Setup ? System.Drawing.Color.Lime : System.Drawing.Color.Red; lb_Running.BackColor = _mainFrame.equipment.piLaser.CurrentPiLaserStatus.CurrentSystemState.Running ? System.Drawing.Color.Lime : System.Drawing.Color.Red; lb_Standby.BackColor = _mainFrame.equipment.piLaser.CurrentPiLaserStatus.CurrentSystemState.Standby ? System.Drawing.Color.Lime : System.Drawing.Color.Red; lb_SoftFault.BackColor = _mainFrame.equipment.piLaser.CurrentPiLaserStatus.CurrentSystemState.SoftFault ? System.Drawing.Color.Lime : System.Drawing.Color.Red; lb_HardFault.BackColor = _mainFrame.equipment.piLaser.CurrentPiLaserStatus.CurrentSystemState.HardFault ? System.Drawing.Color.Lime : System.Drawing.Color.Red; } private void UpdateFaultsInTemperature() { lb_TemperatureControl0.BackColor = !_mainFrame.equipment.piLaser.CurrentPiLaserStatus.CurrentTemperatureControlFaults.TemperatureControlFault0 ? System.Drawing.Color.Lime : System.Drawing.Color.Red; lb_TemperatureControl1.BackColor = !_mainFrame.equipment.piLaser.CurrentPiLaserStatus.CurrentTemperatureControlFaults.TemperatureControlFault1 ? System.Drawing.Color.Lime : System.Drawing.Color.Red; lb_TemperatureControl2.BackColor = !_mainFrame.equipment.piLaser.CurrentPiLaserStatus.CurrentTemperatureControlFaults.TemperatureControlFault2 ? System.Drawing.Color.Lime : System.Drawing.Color.Red; lb_TemperatureControl3.BackColor = !_mainFrame.equipment.piLaser.CurrentPiLaserStatus.CurrentTemperatureControlFaults.TemperatureControlFault3 ? System.Drawing.Color.Lime : System.Drawing.Color.Red; lb_TemperatureControl4.BackColor = !_mainFrame.equipment.piLaser.CurrentPiLaserStatus.CurrentTemperatureControlFaults.TemperatureControlFault4 ? System.Drawing.Color.Lime : System.Drawing.Color.Red; lb_TemperatureControl5.BackColor = !_mainFrame.equipment.piLaser.CurrentPiLaserStatus.CurrentTemperatureControlFaults.TemperatureControlFault5 ? System.Drawing.Color.Lime : System.Drawing.Color.Red; lb_TemperatureControl6.BackColor = !_mainFrame.equipment.piLaser.CurrentPiLaserStatus.CurrentTemperatureControlFaults.TemperatureControlFault6 ? System.Drawing.Color.Lime : System.Drawing.Color.Red; lb_TemperatureControl7.BackColor = !_mainFrame.equipment.piLaser.CurrentPiLaserStatus.CurrentTemperatureControlFaults.TemperatureControlFault7 ? System.Drawing.Color.Lime : System.Drawing.Color.Red; } private void UpdatePowerControl() { if (this.ActiveControl == null || this.ActiveControl.Name != tb_SetCurrent.Name) { tb_SetCurrent.Text = _mainFrame.equipment.piLaser.CurrentPiLaserStatus.SetCurrent.ToString("F2"); } lb_ActualCurrent.Text = _mainFrame.equipment.piLaser.CurrentPiLaserStatus.ActualCurrent.ToString("F2"); lb_DiodeVoltage.Text = _mainFrame.equipment.piLaser.CurrentPiLaserStatus.DiodeVoltage.ToString("F2"); lb_MaxCurrent.Text = _mainFrame.equipment.piLaser.CurrentPiLaserStatus.MaxCurrent.ToString("F2"); btn_LDDOnOff.Text = _mainFrame.equipment.piLaser.CurrentPiLaserStatus.EnableLdd ? "ON" : "OFF"; btn_ShutterOpenClose.Text = _mainFrame.equipment.piLaser.CurrentPiLaserStatus.EnableShutter ? "Open" : "Close"; lb_PowerMonitorReading.Text = _mainFrame.equipment.piLaser.CurrentPiLaserStatus.PowerMonitorReading.ToString("F2"); } private void UpdateMonitors() { lb_FlowRate.Text = _mainFrame.equipment.piLaser.CurrentPiLaserStatus.FlowReading.ToString("F2"); } private void UpdateTemperatureControl() { lb_ActualSHGTemp.Text = _mainFrame.equipment.piLaser.CurrentPiLaserStatus.ShgActualTemperature.ToString("F2"); lb_ActualTHGTemp.Text = _mainFrame.equipment.piLaser.CurrentPiLaserStatus.ThgActualTemperature.ToString("F2"); lb_ActualLDTemp.Text = _mainFrame.equipment.piLaser.CurrentPiLaserStatus.LdActualTemperature.ToString("F2"); if (this.ActiveControl == null || this.ActiveControl.Name != tb_SetSHGTemp.Name) { tb_SetSHGTemp.Text = _mainFrame.equipment.piLaser.CurrentPiLaserStatus.ShgTemperatureSetPoint.ToString("F2"); } if (this.ActiveControl == null || this.ActiveControl.Name != tb_SetTHGTemp.Name) { tb_SetTHGTemp.Text = _mainFrame.equipment.piLaser.CurrentPiLaserStatus.ThgTemperatureSetPoint.ToString("F2"); } if (this.ActiveControl == null || this.ActiveControl.Name != tb_SetLDTemp.Name) { tb_SetLDTemp.Text = _mainFrame.equipment.piLaser.CurrentPiLaserStatus.LdTemperatureSetPoint.ToString("F2"); } } private void UpdatePulseControl() { if (this.ActiveControl == null || this.ActiveControl.Name != tb_PRF.Name) { tb_PRF.Text = _mainFrame.equipment.piLaser.CurrentPiLaserStatus.Prf.ToString("F2"); } if (this.ActiveControl == null || this.ActiveControl.Name != tb_PECLevel.Name) { tb_PECLevel.Text = _mainFrame.equipment.piLaser.CurrentPiLaserStatus.PecLevel.ToString("F2"); } btn_PRFSource.Text = _mainFrame.equipment.piLaser.CurrentPiLaserStatus.PrfSource.ToString(); btn_GateSource.Text = _mainFrame.equipment.piLaser.CurrentPiLaserStatus.GateSource.ToString(); btn_PECSource.Text = _mainFrame.equipment.piLaser.CurrentPiLaserStatus.PecSource.ToString(); btn_FPKEnable.Text = _mainFrame.equipment.piLaser.CurrentPiLaserStatus.FpkEnable ? "ON" : "OFF"; btn_LPKEnable.Text = _mainFrame.equipment.piLaser.CurrentPiLaserStatus.LpkEnable ? "ON" : "OFF"; if (this.ActiveControl == null || this.ActiveControl.Name != tb_FPKRampTime.Name) { tb_FPKRampTime.Text = _mainFrame.equipment.piLaser.CurrentPiLaserStatus.FpkRampTime.ToString("F2"); } if (this.ActiveControl == null || this.ActiveControl.Name != tb_FPKRampRate.Name) { tb_FPKRampRate.Text = _mainFrame.equipment.piLaser.CurrentPiLaserStatus.FpkRampRate.ToString("F2"); } if (this.ActiveControl == null || this.ActiveControl.Name != tb_LPKRampTime.Name) { tb_LPKRampTime.Text = _mainFrame.equipment.piLaser.CurrentPiLaserStatus.LpkRampTime.ToString("F2"); } if (this.ActiveControl == null || this.ActiveControl.Name != tb_LPKRampRate.Name) { tb_LPKRampRate.Text = _mainFrame.equipment.piLaser.CurrentPiLaserStatus.LpkRampRate.ToString("F2"); } btn_DutyControl.Text = _mainFrame.equipment.piLaser.CurrentPiLaserStatus.DutyControl ? "ON" : "OFF"; btn_DutyMode.Text = _mainFrame.equipment.piLaser.CurrentPiLaserStatus.DutyControlMode.ToString(); if (this.ActiveControl == null || this.ActiveControl.Name != tb_DutyWidth.Name) { tb_DutyWidth.Text = _mainFrame.equipment.piLaser.CurrentPiLaserStatus.DutyControlWidth.ToString("F2"); } if (_mainFrame.equipment.piLaser.CurrentPiLaserStatus.Prf == 0) { lb_Duty_width_range.Text = "Duty width range : 0"; } else { lb_Duty_width_range.Text = $"Duty width range : 0 to {1 / _mainFrame.equipment.piLaser.CurrentPiLaserStatus.Prf - 0.1} us"; } } private void UpdateBurstControl() { if (this.ActiveControl == null || this.ActiveControl.Name != tb_BurstRate.Name) { tb_BurstRate.Text = _mainFrame.equipment.piLaser.CurrentPiLaserStatus.BurstRate.ToString("F2"); } if (this.ActiveControl == null || this.ActiveControl.Name != tb_BurstCount.Name) { tb_BurstCount.Text = _mainFrame.equipment.piLaser.CurrentPiLaserStatus.BurstCount.ToString("F2"); } if (this.ActiveControl == null || this.ActiveControl.Name != tb_BurstCycles.Name) { tb_BurstCycles.Text = _mainFrame.equipment.piLaser.CurrentPiLaserStatus.BurstCycles.ToString("F2"); } btn_BurstStatus.Text = _mainFrame.equipment.piLaser.CurrentPiLaserStatus.BurstStatus ? "Disable" : "Enable"; btn_BurstFiringMode.Text = _mainFrame.equipment.piLaser.CurrentPiLaserStatus.BurstFiringMode.ToString(); btn_BurstTriggerSouce.Text = _mainFrame.equipment.piLaser.CurrentPiLaserStatus.BurstTriggerSource.ToString(); } private void btn_LDD_on_off_Click(object sender, EventArgs e) { if(_mainFrame.equipment.piLaser.CurrentPiLaserStatus.EnableLdd) { if(_mainFrame.equipment.piLaser.CurrentPiLaserStatus.SetCurrent > 0) { _mainFrame.equipment.alarmManager.Occur(AlarmCode.AL_0080_SET_CURRENT_IS_NOT_ZERO); return; } } EquipmentLogManager.Instance.WriteButtonLog($"{this.Name} : {((Control)sender).Text} {!_mainFrame.equipment.piLaser.CurrentPiLaserStatus.EnableLdd}"); _mainFrame.equipment.piLaser.WriteEnableLdd(!_mainFrame.equipment.piLaser.CurrentPiLaserStatus.EnableLdd); } private void btn_Shutter_open_close_Click(object sender, EventArgs e) { if (_mainFrame.equipment.piLaser.CurrentPiLaserStatus.EnableShutter) { if (_mainFrame.equipment.piLaser.CurrentPiLaserStatus.SetCurrent > 0) { _mainFrame.equipment.alarmManager.Occur(AlarmCode.AL_0080_SET_CURRENT_IS_NOT_ZERO); return; } } EquipmentLogManager.Instance.WriteButtonLog($"{this.Name} : {((Control)sender).Text} {!_mainFrame.equipment.piLaser.CurrentPiLaserStatus.EnableShutter}"); _mainFrame.equipment.piLaser.WriteEnableShutter(!_mainFrame.equipment.piLaser.CurrentPiLaserStatus.EnableShutter); } private void tb_Set_current_KeyPress(object sender, KeyPressEventArgs e) { if (e.KeyChar == '\r') { double current = 0; if (double.TryParse(tb_SetCurrent.Text, out current)) { if (_mainFrame.equipment.piLaser.CurrentPiLaserStatus.CurrentSystemStatus.LddOn && _mainFrame.equipment.piLaser.CurrentPiLaserStatus.CurrentSystemStatus.ShutterEnabled) { EquipmentLogManager.Instance.WriteButtonLog($"{this.Name} : {((Control)sender).Text} : {current}"); _mainFrame.equipment.piLaser.WriteSetCurrent(current); } else { if(_mainFrame.equipment.piLaser.CurrentPiLaserStatus.CurrentSystemStatus.LddOn == false) { _mainFrame.equipment.alarmManager.Occur(AlarmCode.AL_0078_LDD_IS_NOT_ON); } if(_mainFrame.equipment.piLaser.CurrentPiLaserStatus.CurrentSystemStatus.ShutterEnabled == false) { _mainFrame.equipment.alarmManager.Occur(AlarmCode.AL_0079_SHUTTER_IS_NOT_OPEN); } } } this.ActiveControl = null; } } private void tb_Set_SHG_Temp_KeyPress(object sender, KeyPressEventArgs e) { if (e.KeyChar == '\r') { double temp = 0; if (double.TryParse(tb_SetSHGTemp.Text, out temp)) { _mainFrame.equipment.piLaser.WriteTemperatureSetPoint(TemperaturePointType.SHG, temp); } this.ActiveControl = null; } } private void tb_Set_THG_Temp_KeyPress(object sender, KeyPressEventArgs e) { if (e.KeyChar == '\r') { double temp = 0; if (double.TryParse(tb_SetTHGTemp.Text, out temp)) { _mainFrame.equipment.piLaser.WriteTemperatureSetPoint(TemperaturePointType.THG, temp); } this.ActiveControl = null; } } private void tb_Set_LD_Temp_KeyPress(object sender, KeyPressEventArgs e) { if (e.KeyChar == '\r') { double temp = 0; if (double.TryParse(tb_SetLDTemp.Text, out temp)) { _mainFrame.equipment.piLaser.WriteTemperatureSetPoint(TemperaturePointType.LD1, temp); } this.ActiveControl = null; } } private void tb_PRF_KeyPress(object sender, KeyPressEventArgs e) { if (e.KeyChar == '\r') { int PRF = 0; if (int.TryParse(tb_PRF.Text, out PRF)) { _mainFrame.equipment.piLaser.WritePrf(PRF); } this.ActiveControl = null; } } private void tb_PEC_level_KeyPress(object sender, KeyPressEventArgs e) { if (e.KeyChar == '\r') { double PEC_level = 0; if (double.TryParse(tb_PECLevel.Text, out PEC_level)) { _mainFrame.equipment.piLaser.WritePecLevel(PEC_level); } this.ActiveControl = null; } } private void btn_PRF_source_Click(object sender, EventArgs e) { if (_mainFrame.equipment.piLaser.CurrentPiLaserStatus.PrfSource == SourcesType.INT) _mainFrame.equipment.piLaser.WritePrfSource(SourcesType.EXT); else _mainFrame.equipment.piLaser.WritePrfSource(SourcesType.INT); } private void btn_Gate_source_Click(object sender, EventArgs e) { if (_mainFrame.equipment.piLaser.CurrentPiLaserStatus.GateSource == SourcesType.INT) _mainFrame.equipment.piLaser.WriteGateSource(SourcesType.EXT); else _mainFrame.equipment.piLaser.WriteGateSource(SourcesType.INT); } private void btn_PEC_source_Click(object sender, EventArgs e) { if (_mainFrame.equipment.piLaser.CurrentPiLaserStatus.PecSource == SourcesType.INT) _mainFrame.equipment.piLaser.WritePecSource(SourcesType.EXT); else _mainFrame.equipment.piLaser.WritePecSource(SourcesType.INT); } private void btn_FPK_Enable_Click(object sender, EventArgs e) { if (_mainFrame.equipment.piLaser.CurrentPiLaserStatus.FpkEnable) _mainFrame.equipment.piLaser.WriteFpkEnable(false); else _mainFrame.equipment.piLaser.WriteFpkEnable(true); } private void tb_FPK_ramp_time_KeyPress(object sender, KeyPressEventArgs e) { if (e.KeyChar == '\r') { int time = 0; if (int.TryParse(tb_FPKRampTime.Text, out time)) { _mainFrame.equipment.piLaser.WriteFpkRampTime(time); } this.ActiveControl = null; } } private void tb_FPK_ramp_rate_KeyPress(object sender, KeyPressEventArgs e) { if (e.KeyChar == '\r') { int rate = 0; if (int.TryParse(tb_FPKRampRate.Text, out rate)) { _mainFrame.equipment.piLaser.WriteFpkRampRate(rate); } this.ActiveControl = null; } } private void btn_LPK_Enable_Click(object sender, EventArgs e) { if (_mainFrame.equipment.piLaser.CurrentPiLaserStatus.LpkEnable) _mainFrame.equipment.piLaser.WriteLpkEnable(false); else _mainFrame.equipment.piLaser.WriteLpkEnable(true); } private void tb_LPK_ramp_time_KeyPress(object sender, KeyPressEventArgs e) { if (e.KeyChar == '\r') { double time = 0; if (double.TryParse(tb_LPKRampTime.Text, out time)) { _mainFrame.equipment.piLaser.WriteLpkRampTime(time); } this.ActiveControl = null; } } private void tb_LPK_ramp_rate_KeyPress(object sender, KeyPressEventArgs e) { if (e.KeyChar == '\r') { int rate = 0; if (int.TryParse(tb_LPKRampRate.Text, out rate)) { _mainFrame.equipment.piLaser.WriteLpkRampRate(rate); } this.ActiveControl = null; } } private void btn_Duty_control_Click(object sender, EventArgs e) { if (_mainFrame.equipment.piLaser.CurrentPiLaserStatus.DutyControl) _mainFrame.equipment.piLaser.WriteDutyControl(false); else _mainFrame.equipment.piLaser.WriteDutyControl(true); } private void btn_Duty_mode_Click(object sender, EventArgs e) { if (_mainFrame.equipment.piLaser.CurrentPiLaserStatus.DutyControlMode == DutyControlModeType.Fixed) _mainFrame.equipment.piLaser.WriteDutyControlMode(DutyControlModeType.Track); else _mainFrame.equipment.piLaser.WriteDutyControlMode(DutyControlModeType.Fixed); } private void tb_Duty_width_KeyPress(object sender, KeyPressEventArgs e) { if (e.KeyChar == '\r') { double width = 0; if (double.TryParse(tb_DutyWidth.Text, out width)) { _mainFrame.equipment.piLaser.WriteDutyControlWidth(width); } this.ActiveControl = null; } } private void tb_Burst_rate_KeyPress(object sender, KeyPressEventArgs e) { if (e.KeyChar == '\r') { ushort rate = 0; if (ushort.TryParse(tb_BurstRate.Text, out rate)) { _mainFrame.equipment.piLaser.WriteBurstRate(rate); } this.ActiveControl = null; } } private void tb_Burst_count_KeyPress(object sender, KeyPressEventArgs e) { if (e.KeyChar == '\r') { ushort count = 0; if (ushort.TryParse(tb_BurstCount.Text, out count)) { _mainFrame.equipment.piLaser.WriteBurstCount(count); } this.ActiveControl = null; } } private void tb_Burst_cycles_KeyPress(object sender, KeyPressEventArgs e) { if (e.KeyChar == '\r') { ushort cycles = 0; if (ushort.TryParse(tb_BurstCycles.Text, out cycles)) { _mainFrame.equipment.piLaser.WriteBurstCycles(cycles); } this.ActiveControl = null; } } private void btn_Burst_status_Click(object sender, EventArgs e) { if (_mainFrame.equipment.piLaser.CurrentPiLaserStatus.BurstStatus) _mainFrame.equipment.piLaser.WriteBurstStatus(false); else _mainFrame.equipment.piLaser.WriteBurstStatus(true); } private void btn_Burst_firing_mode_Click(object sender, EventArgs e) { if (_mainFrame.equipment.piLaser.CurrentPiLaserStatus.BurstFiringMode == BurstFiringModeType.Continuous) _mainFrame.equipment.piLaser.WriteBurstFiringMode(BurstFiringModeType.SingleShot); else _mainFrame.equipment.piLaser.WriteBurstFiringMode(BurstFiringModeType.Continuous); } private void btn_Burst_trigger_souce_Click(object sender, EventArgs e) { if (_mainFrame.equipment.piLaser.CurrentPiLaserStatus.BurstTriggerSource == BurstTriggerSourceType.Command) _mainFrame.equipment.piLaser.WriteBurstTriggerSource(BurstTriggerSourceType.Gate); else _mainFrame.equipment.piLaser.WriteBurstTriggerSource(BurstTriggerSourceType.Command); } private void btn_System_reset_Click(object sender, EventArgs e) { _mainFrame.equipment.piLaser.WriteSystemReset(); } private void PiLaserViewer_FormClosing(object sender, FormClosingEventArgs e) { e.Cancel = true; this.Hide(); } } }