2
0
mirror of https://github.com/team2059/Dent synced 2024-12-28 21:02:30 -05:00
dent/Commands/Elevator/Raise.cpp

39 lines
1.1 KiB
C++

#include "Raise.h"
#include "../../DentRobot.h"
#include "../../OI.h"
Raise::Raise(double timeout): Command("Raise"){
SetTimeout(timeout);
}
void Raise::Initialize(){
}
void Raise::Execute(){
DentRobot::elevator->Run(1.0);
}
bool Raise::IsFinished(){
//if(!DentRobot::elevator->GetElevatorMiddle()){
// DentRobot::elevator->stoppedAtSensor = true;
//}
//if((DentRobot::elevator->stoppedAtSensor)){
// printf("Stopped at the middle sensor\n");
// DentRobot::elevator->stoppedAtSensor = false;
// return true;
//}else if(!DentRobot::elevator->GetElevatorTop()){
if(!DentRobot::elevator->GetElevatorTop()||!DentRobot::elevator->GetElevatorMiddle()||IsTimedOut()){
printf("Robot stopped raising. Sensor based? %d\n", !DentRobot::elevator->GetElevatorTop()||!DentRobot::elevator->GetElevatorMiddle());
return true;
}else{
return false;
}
}
void Raise::End(){
// If the elevator is at the top
if(DentRobot::elevator->GetElevatorTop()){
DentRobot::elevator->SetUseEncoder(true);
}
DentRobot::elevator->Run(0.0f);
}
void Raise::Interrupted(){
End();
}
// vim: ts=2:sw=2:et