protected override Task HandleAlarmCommand(UpdateAlarm alarmCommand) { switch (alarmCommand.DesiredStatus) { case AlarmStatus.On: blinkStatus = true; alarmTimer.Enabled = false; alarmLedPin.Write(GpioPinValue.High); break; case AlarmStatus.Off: blinkStatus = false; alarmTimer.Enabled = false; alarmLedPin.Write(GpioPinValue.Low); buzzerPin.SoftPwmValue = 0; break; case AlarmStatus.Active: alarmTimer.Enabled = true; break; } SendTelemetry(new AlarmUpdated { Status = alarmCommand.DesiredStatus }); return(Task.CompletedTask); }
public static void UpdateAlarmList(List <AlarmInfo> AlarmList) { try { Form form = Application.OpenForms["FormAlarm"]; DataGridView AlarmList_gv; if (form == null) { return; } AlarmList_gv = form.Controls.Find("AlarmList_gv", true).FirstOrDefault() as DataGridView; if (AlarmList_gv == null) { return; } if (AlarmList_gv.InvokeRequired) { UpdateAlarm ph = new UpdateAlarm(UpdateAlarmList); AlarmList_gv.BeginInvoke(ph, AlarmList); } else { //JobList_gv.DataSource = null; AlarmList_gv.DataSource = AlarmList.ToList(); //Conn_gv.Refresh(); AlarmList_gv.ClearSelection(); AlarmList_gv.AutoSizeColumnsMode = DataGridViewAutoSizeColumnsMode.AllCells; NodeStatusUpdate.UpdateCurrentState(FormMain.RouteCtrl.EqpState); if (AlarmList.Count() != 0) { form.Visible = true; } else { form.Visible = false; } } } catch (Exception e) { logger.Error("UpdateAlarmList: Update fail." + e.Message + "\n" + e.StackTrace); } }
public static void AlarmUpdate(Boolean isAlarm) { string status = isAlarm? "Alarm set" : "Alarm clear"; Form form = Application.OpenForms["frmMain"]; if (form == null) { return; } Label W = form.Controls.Find("lbl_alarm", true).FirstOrDefault() as Label; Button btnReset = form.Controls.Find("btnReset", true).FirstOrDefault() as Button; Button btnHold = form.Controls.Find("btnHold", true).FirstOrDefault() as Button; Button btnAbort = form.Controls.Find("btnAbort", true).FirstOrDefault() as Button; Button btnRestart = form.Controls.Find("btnRestart", true).FirstOrDefault() as Button; if (W == null) { return; } if (W.InvokeRequired) { UpdateAlarm ph = new UpdateAlarm(AlarmUpdate); W.BeginInvoke(ph, isAlarm); } else { W.Text = status; switch (status) { case "Alarm clear": W.BackColor = Color.LimeGreen; //btnReset.Enabled = false; //20180914 change to always open isAlarmSet = false; btnHold.Visible = true; btnAbort.Visible = false; btnRestart.Visible = false; break; case "Alarm set": W.BackColor = Color.Red; //btnReset.Enabled = true; //20180914 change to always open isAlarmSet = true; break; } } }
public static void UpdateAlarmHistory(List <AlarmInfo> AlarmList) { try { Form form = Application.OpenForms["Form1"]; DataGridView AlarmList_gv; if (form == null) { return; } AlarmList_gv = form.Controls.Find("AlarmHistory_gv", true).FirstOrDefault() as DataGridView; if (AlarmList_gv == null) { return; } if (AlarmList_gv.InvokeRequired) { UpdateAlarm ph = new UpdateAlarm(UpdateAlarmHistory); AlarmList_gv.BeginInvoke(ph, AlarmList); } else { //JobList_gv.DataSource = null; AlarmList_gv.DataSource = AlarmList; //Conn_gv.Refresh(); AlarmList_gv.ClearSelection(); AlarmList_gv.AutoSizeColumnsMode = DataGridViewAutoSizeColumnsMode.AllCells; } } catch (Exception e) { logger.Error("UpdateAlarmHistory: Update fail." + e.Message + "\n" + e.StackTrace); } }
//콜백삽입 void Awake() { Instance = this; }
protected virtual Task HandleAlarmCommand(UpdateAlarm alarmCommand) { return(Task.CompletedTask); }