Example #1
0
 public void executionStep()
 {
     // changing state
     state = stSonarFiring;
     // firing sonar array
     Cart.fireSonarArray();
 }
        public void transitionAction(System.Windows.Forms.Panel panel, System.Windows.Forms.TextBox[] texts)
        {
            switch (state)
            {
            case stIdle:     // nothing
                break;

            case stAbilityExecuting:
                if (Cart.flagAbilityDone)
                {
                    Cart.flagAbilityDone = false;
                    // ability dopne. Now firing the transducers
                    state = stSonarFiring;
                    Cart.fireSonarArray();
                }
                break;

            case stSonarFiring:
                if (Cart.flagSonarArrayFiringDone)
                {
                    // now attempting to retrieve the data
                    state = stSonarDataTransmission;
                    Cart.requestSensorData();
                }
                break;

            case stSonarDataTransmission:
                if (Cart.flagSensorDataAcquired)
                {
                    Cart.fillSonarTextBoxes(texts);
                    // now retrieving a camera frame abstraction
                    state = stFrameTransmission;
                    Cart.retrieveAbstraction();
                }
                break;

            case stFrameTransmission:
                if (Cart.flagAbstractionReady)
                {
                    Cart.drawAbstraction(panel);     // no need to reset the flag.
                    // It's being reset inside drawAbstraction()
                    state = stIdle;
                }
                break;
            }
        }