示例#1
0
        public PetitRobot(ConfigurationPorts ports, Couleur equipe, int disposition, IHM ihm)
        {
            m_ports = ports;

            m_baseRoulante = new CBaseRoulante(m_ports.idBaseRoulante);
            m_baseRoulante.setCouleur(equipe);
            m_etatRobot.couleurEquipe = equipe;
            m_etatRobot.disposition   = disposition;
            m_ihm = ihm;

            GestionStrat = new GestionnaireStrategie();
            InitialisationStrategie();

            m_controleurAX12 = new ControleurAX12(m_ports.idContAX12);

            Debug.Print("Cont AX12 opérationnel");
            //NB: pince = 1 AX12, petitBras = 2 AX12 et 1 CapteurCouleur, poussoir = 1 AX12
            pince     = new CPince(equipe, m_controleurAX12, m_ports.pince);
            poussoir  = new CPoussoir(equipe, m_controleurAX12, m_ports.poussoir);
            petitBras = new CPetitBras(equipe, m_controleurAX12, m_ports.petitBras);
            Debug.Print("Members opérationnels");


            // idIO = idPortDeLaSpider, idJack = idPinSurLExtendeur
            m_jack = new Jack(m_ports.idIO, m_ports.idJack);
            m_IR   = new GroupeInfrarouge(m_ports.idIO, m_ports.idInfrarougeAVD, m_ports.idInfrarougeAVG, m_ports.idInfrarougeARD, m_ports.idInfrarougeARG);

            // m_ultrason = new CCapteurUltrason(m_ports.idCapteurUltrason);
            Debug.Print("Détection opérationnels");

            // et c'est parti pour la boucle !
            // est-ce vraiment utile ?

            /*
             * m_threadRun = new Thread(new ThreadStart(Demarrer));    //Création d'un thread
             * m_threadRun.Start();*/
            Debug.Print("Thread opérationnels");
        }
示例#2
0
        // This method is run when the mainboard is powered up or reset.
        void ProgramStarted()
        {
            Debug.Print("Program Started");

            //Attribution des différents numéros de ports
            // numéros de ports à corriger



            var ports = new ConfigurationPorts
            {
                idBaseRoulante  = 8, // pin Kangaroo
                idIO            = 5, // le groupe IO (extendeur) est relié au pin 5 de la spider. le groupe IR & le jack sont branchés sur l'extendeur IO
                idJack          = 8, // pin 8 de l'extendeur
                idInfrarougeAVG = 4, // id infra-rouge de l'extendeur. AVG = avant-gauche vu de l'arrière du robot
                idInfrarougeAVD = 5, // idem
                idInfrarougeARG = 6, // idem
                idInfrarougeARD = 7, // idem
                //  idCapteurUltrason = 6, // pin 6 de la spider // RIP
                idContAX12 = 11,     // pin AX12
                //  idContAX12Jaune = 9, // pin AX12
            };

            ports.poussoir.idAX12PoussoirBleu  = 2;
            ports.poussoir.idAX12PoussoirJaune = 6;

            ports.pince.idAX12PinceBleue = 1;
            ports.pince.idAX12PinceJaune = 5;

            ports.petitBras.idAX12CoudeBleu     = 3;
            ports.petitBras.idAX12RotateurBleu  = 4; // ATTENTION : il faudra mettre le numéro 4 avec le logiciel !
            ports.petitBras.idAX12CoudeJaune    = 7;
            ports.petitBras.idAX12RotateurJaune = 8;

            // ces ports là sont des ports de la spyder/spider
            ports.petitBras.idCapteurBrasBleu  = 4;
            ports.petitBras.idCapteurBrasJaune = 6; // ce port 4 n'est pas adapté, il faut en trouver un autre !!

            // initialisation de l'IHM de sélection

            IHM ihm_principal;

            ihm_principal = new IHM();
            ihm_principal.Selection();

            PetitRobot robot;

            robot = new PetitRobot(ports, ihm_principal.getEquipe(), ihm_principal.getDisposition(), ihm_principal);


            Debug.Print("Godot viendra-t-il ?");
            robot.AttendreJack();
            // démarre le robot
            Debug.Print("jack");

            robot.Demarrer(90d);


            Debug.Print("fin");
            // l'action suivante n'est-elle pas prise en charge dans PetitRobot ?
            //robot.Demarrer();
            //Debug.Print("robot démarré");
        }