// FUNCTION: UpdateDisplay: Update the State Machine Display // // private void UpdateDisplay() { button_DetectNoCathodeState.BackColor = Color.White; button_DetectNoCathodeState.ForeColor = Color.Black; button_Delay1State.BackColor = Color.White; button_Delay1State.ForeColor = Color.Black; button_Delay2State.BackColor = Color.White; button_Delay2State.ForeColor = Color.Black; button_DetectCathodeState.BackColor = Color.White; button_DetectCathodeState.ForeColor = Color.Black; button_RecordState.BackColor = Color.White; button_RecordState.ForeColor = Color.Black; button_Delay2State.BackColor = Color.White; button_Delay2State.ForeColor = Color.Black; label_Flash.Text = ""; if (statemach.Current() == Statemachine.rstate.Off) { button_RecordingFlag.Text = "Recording Off"; button_RecordingFlag.BackColor = Color.Red; button_RecordingFlag.ForeColor = Color.Black; } else { button_RecordingFlag.Text = "Recording On"; if (button_RecordingFlag.BackColor == Color.Yellow) { button_RecordingFlag.BackColor = Color.LightGreen; } else { button_RecordingFlag.BackColor = Color.Yellow; } button_RecordingFlag.ForeColor = Color.Black; } if (FCathodeDetected()) { button_CathodeDetectedFlag.BackColor = Color.LightGreen; button_CathodeDetectedFlag.Text = "Cathode"; } else { button_CathodeDetectedFlag.BackColor = Color.Red; button_CathodeDetectedFlag.Text = "No Cathode"; } // Implement a state progress bar switch (statemach.Current()) { case Statemachine.rstate.SeqStart: break; case Statemachine.rstate.NoCathodeDetect: button_DetectNoCathodeState.BackColor = Color.Yellow; break; case Statemachine.rstate.Delay1: button_DetectNoCathodeState.BackColor = Color.LightGreen; button_Delay1State.BackColor = Color.Yellow; break; case Statemachine.rstate.CathodeDetect: button_Delay1State.BackColor = Color.LightGreen; button_DetectNoCathodeState.BackColor = Color.LightGreen; button_DetectCathodeState.BackColor = Color.Yellow; break; case Statemachine.rstate.Delay2: button_Delay1State.BackColor = Color.LightGreen; button_DetectNoCathodeState.BackColor = Color.LightGreen; button_DetectCathodeState.BackColor = Color.LightGreen; button_Delay2State.BackColor = Color.Yellow; break; case Statemachine.rstate.Record: button_Delay1State.BackColor = Color.LightGreen; button_DetectNoCathodeState.BackColor = Color.LightGreen; button_Delay2State.BackColor = Color.LightGreen; button_DetectCathodeState.BackColor = Color.LightGreen; button_RecordState.BackColor = Color.LightGreen; label_Flash.Text = "*"; break; case Statemachine.rstate.Off: break; default: break; } }