Skip to content
tapis.cpp 2.56 KiB
Newer Older
#include "tapis.h"
#include "strategieV2.h"
#include "mediumLevelAction.h"
#include "command.h"
#include "position.h"

#ifndef ROBOTHW
#include <QDebug>
#endif
Tapis::Tapis(Position position):MediumLevelAction(position)  //si cote est true on veut poser le tapis droit, si non c'est le tapis gauche
        this->cote = BrasTapis::DROIT;
        this->cote = BrasTapis::GAUCHE;
}


Tapis::~Tapis(){}

int Tapis::update()
{

    if (status == 0)
    {
#ifndef ROBOTHW
                qDebug() << "tapis";
#endif
        status++;
    }

    else if (status == 1)
    {
        StrategieV2::setCurrentGoal(goalPosition, goBack);
        status++;
    }

    else if (status == 2)
    {
        if (Command::isNear(goalPosition))
        {
            StrategieV2::lookAt(positionLookAt);
        if (Command::isLookingAt(positionLookAt))
#ifndef ROBOTHW
#endif

            BrasTapis::getSingleton(cote)->ouvrirBras();
    else if ((status <= 23) && (status > -1 ))    //On attend que les bras du robot s'ouvrent : 50ms par incrémentation du status
#ifndef ROBOTHW
        qDebug() << "On ouvre les pinces pour lacher les tapis";
#endif
        BrasTapis::getSingleton(cote)->ouvrirPince();
    else if ((status <= 44) && (status > -1 ))    //On attend que la pince s'ouvre
#ifndef ROBOTHW
#endif
        BrasTapis::getSingleton(cote)->fermerPince();
    else if ((status <= 65) && (status > -1 ))    //On attend que la pince se ferme
#ifndef ROBOTHW
        qDebug() << "On ferme le bras";
#endif
        BrasTapis::getSingleton(cote)->fermerBras();
        status++;
    }

    else if ((status <= 87) && (status > -1))    //On attend que les bras se ferment.
    {
#ifndef ROBOTHW
        qDebug() << "Etape tapis finie";
#endif