Exemplo n.º 1
0
        // 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;
            }
        }