2015-01-16 19:29:55 -05:00
|
|
|
#include "Drivetrain.h"
|
|
|
|
#include "../RobotMap.h"
|
2015-02-03 15:55:11 -05:00
|
|
|
#include "../Commands/Drivetrain/Drive.h"
|
2015-01-16 19:29:55 -05:00
|
|
|
|
2015-07-31 12:52:15 -04:00
|
|
|
Drivetrain::Drivetrain(): Subsystem("Drivetrain") {
|
2015-02-02 19:56:27 -05:00
|
|
|
rightRear = new CANTalon(DRIVE_BACK_RIGHT_CAN);
|
|
|
|
leftRear = new CANTalon(DRIVE_BACK_LEFT_CAN);
|
2015-03-10 20:14:38 -04:00
|
|
|
gyro = new Gyro(DRIVE_GYRO_ANALOG);
|
2015-01-16 19:29:55 -05:00
|
|
|
}
|
2015-07-31 12:52:15 -04:00
|
|
|
void Drivetrain::InitDefaultCommand() {
|
2015-01-17 12:55:51 -05:00
|
|
|
SetDefaultCommand(new Drive());
|
2015-01-16 19:29:55 -05:00
|
|
|
}
|
2015-09-17 15:59:58 -04:00
|
|
|
void Drivetrain::DriveArcade(double x, double y, double z, double sensitivity, bool driveStraight) {
|
2015-10-08 12:03:20 -04:00
|
|
|
//TODO add encoder support for driving straight
|
2015-09-22 16:07:00 -04:00
|
|
|
leftRear->Set(-y+(x+z));
|
|
|
|
rightRear->Set(y+(x+z));
|
2015-01-17 10:34:08 -05:00
|
|
|
}
|
2015-02-07 09:17:20 -05:00
|
|
|
//Used in pretest
|
2015-07-31 12:52:15 -04:00
|
|
|
void Drivetrain::TestMotor(e_motors motor, double power) {
|
|
|
|
switch(motor) {
|
2015-02-07 09:17:20 -05:00
|
|
|
case BACKRIGHT:
|
|
|
|
rightRear->Set(power);
|
|
|
|
break;
|
|
|
|
case BACKLEFT:
|
|
|
|
leftRear->Set(power);
|
|
|
|
break;
|
|
|
|
default:
|
|
|
|
break;
|
|
|
|
}
|
|
|
|
}
|
2015-07-31 12:52:15 -04:00
|
|
|
void Drivetrain::ResetGyro() {
|
2015-03-10 20:14:38 -04:00
|
|
|
gyro->Reset();
|
|
|
|
}
|
2015-02-08 12:26:15 -05:00
|
|
|
// vim: ts=2:sw=2:et
|