2015-02-06 13:45:01 -05:00
|
|
|
#include "AutoDrive.h"
|
|
|
|
#include "../../DentRobot.h"
|
2015-02-06 20:38:02 -05:00
|
|
|
// Drive for a short while then stop. Just for testing
|
2015-03-17 16:33:25 -04:00
|
|
|
AutoDrive::AutoDrive(double duration, double xtmp, double ytmp, double ztmp, bool useGyro): Command("AutoDrive"){
|
2015-02-06 13:45:01 -05:00
|
|
|
Requires(DentRobot::drivetrain);
|
2015-02-21 08:43:19 -05:00
|
|
|
SetTimeout(duration);
|
2015-02-27 15:44:18 -05:00
|
|
|
x=xtmp;
|
|
|
|
y=ytmp;
|
2015-03-17 16:33:25 -04:00
|
|
|
z=ztmp;
|
2015-03-19 08:52:16 -04:00
|
|
|
gyro=useGyro;
|
2015-02-06 13:45:01 -05:00
|
|
|
}
|
|
|
|
void AutoDrive::Initialize(){
|
2015-03-10 20:49:32 -04:00
|
|
|
DentRobot::drivetrain->ResetGyro();
|
2015-02-06 13:45:01 -05:00
|
|
|
}
|
|
|
|
void AutoDrive::Execute(){
|
2015-03-10 20:14:38 -04:00
|
|
|
//X axis, Y axis, Z axis, sensitivity, speed threshold (usually throttle)
|
2015-03-17 16:33:25 -04:00
|
|
|
DentRobot::drivetrain->DriveMecanum(x, y, z, 0.9, gyro);
|
2015-02-06 13:45:01 -05:00
|
|
|
}
|
|
|
|
bool AutoDrive::IsFinished(){
|
2015-02-07 17:04:16 -05:00
|
|
|
return IsTimedOut();
|
2015-02-06 13:45:01 -05:00
|
|
|
}
|
|
|
|
void AutoDrive::End(){
|
2015-03-10 20:14:38 -04:00
|
|
|
DentRobot::drivetrain->DriveMecanum(0.0, 0.0, 0.0, 0.9);
|
2015-02-06 13:45:01 -05:00
|
|
|
}
|
|
|
|
void AutoDrive::Interrupted(){
|
|
|
|
End();
|
|
|
|
}
|
2015-02-08 12:26:15 -05:00
|
|
|
// vim: ts=2:sw=2:et
|