Esempio n. 1
0
        public static bool Parking(QueueEntry qe, EventArgs e)
        {
            double frontLeft  = RealFuncs.getSensorValue(Sensor.FrontLeft);
            double frontRight = RealFuncs.getSensorValue(Sensor.FrontRight);
            double sideLeft   = RealFuncs.getSensorValue(Sensor.SideLeft);
            double sideRight  = RealFuncs.getSensorValue(Sensor.SideRight);

            funcs.Log("stare1 :" + stare1.ToString());
            switch (stare1)
            {
            case 0:
                RealFuncs.goFront(60, 250);
                stare1 = 1;
                break;

            case 1:
                if (frontLeft < 208)
                {
                    RealFuncs.rotirePeLoc(60, 150, Engines.LeftEngines);
                    stare1 = 2;
                }
                break;

            case 2:
                if (isLeftParalel() == 0)
                {
                    RealFuncs.goFront(60, 250);
                    stare1 = 3;
                }
                break;

            case 3:
                if (frontLeft < 218)
                {
                    RealFuncs.rotirePeLoc(60, 150, Engines.RightEngines);
                    stare1 = 4;
                }
                break;

            case 4:
                if (isRightParalel() == 0)
                {
                    RealFuncs.goFront(60, 250);
                    stare1 = 5;
                }
                break;

            case 5:
                if (frontLeft < 600 && frontLeft > 500)
                {
                    funcs.Log("parcare");
                    parcariGasite++;
                    stare1 = 6;
                    RealFuncs.goFront(60, 250);
                }
                break;

            case 6:
                if (frontLeft < 500)
                {
                    stare1 = 7;
                }
                break;

            case 7:
                if (frontLeft < 600 && frontLeft > 500)
                {
                    funcs.Log("parcare");
                    parcariGasite++;
                    stare1 = 8;
                }
                break;

            case 8:
                if (sideLeft > 399)
                {
                    funcs.Log("parcare buna");
                    parcareBuna--;
                    if (parcareBuna == 0)
                    {
                        stare1 = 96;
                    }
                    else
                    {
                        stare1 = 10;
                    }
                }
                else
                {
                    stare1 = 10;
                }
                break;

            case 9:
                stare1 = 99;
                break;

            case 10:
                if (frontLeft < 500)
                {
                    stare1 = 11;
                }
                break;

            case 11:
                if (frontLeft < 600 && frontLeft > 500)
                {
                    funcs.Log("parcare");
                    parcariGasite++;
                    stare1 = 12;
                }
                break;

            case 12:

                if (sideRight > 399)
                {
                    funcs.Log("iesire");
                }
                if (sideLeft > 399)
                {
                    funcs.Log("parcare buna");
                    parcareBuna--;
                    if (parcareBuna == 0)
                    {
                        stare1 = 96;
                    }
                    else
                    {
                        stare1 = 13;
                    }
                }
                break;

            case 13:
                if (frontRight < 660)
                {
                    stare1 = 14;
                }
                break;

            case 14:
                if (sideRight > 300)
                {
                    parcareBuna--;
                    if (parcareBuna == 0)
                    {
                        stare1 = 96;
                    }
                    else
                    {
                        stare1 = 15;
                    }
                }
                else
                {
                    stare1 = 15;
                }
                break;

            case 15:
                if (frontLeft < 218)
                {
                    RealFuncs.rotirePeLoc(60, 150, Engines.RightEngines);
                    stare1 = 16;
                }
                break;

            case 16:
                if (isRightParalel() == 0)
                {
                    RealFuncs.goFront(10, 250);
                    stare1 = 17;
                }
                break;

            case 17:
                if (sideRight > 300)
                {
                    funcs.Log("iesire 2");
                    stare1 = 2;
                }
                break;

            case 96:
                // if(sideLeft >512 && sideLeft<552)
            {
                RealFuncs.rotirePeLoc(1, 200, Engines.RightEngines);
                stare1 = 97;
            }
            break;

            case 97:
                if (frontRight < 300)
                {
                    RealFuncs.goFront(20, 250);
                    stare1 = 98;
                }
                break;

            case 98:
                if (frontRight < 60)
                {
                    stare1 = 99;
                }
                break;

            case 99:
            {
                RealFuncs.StopEngines();
                return(true);
            }
            break;

            default:
                break;
            }
            return(false);
        }
Esempio n. 2
0
 private void abortBtn_Click(object sender, RoutedEventArgs e)
 {
     RealFuncs.StopEngines();
     ext.cmdQueue.Clear();
 }