// Called just before this Command runs the first time
@Override
protected void initialize() {
- Robot.driveTrain.toggleFlipped();
+ Robot.driveTrain.switchGear();
}
// Called repeatedly when this Command is scheduled to run
+++ /dev/null
-package org.usfirst.frc.team3501.robot.commands.intakearm;
-
-import org.usfirst.frc.team3501.robot.Robot;
-
-import edu.wpi.first.wpilibj.command.Command;
-
-/***
- * This command will take a boulder into the robot if there is not a boulder
- * present inside already.
- *
- * pre-condition: Intake arm must be at correct height and a boulder is not
- * present inside the robot.
- *
- * post-condition: A boulder is taken in from the field outside of the robot
- * into the robot.
- *
- * @author Lauren and Niyati
- *
- */
-
-public class StopIntake extends Command {
-
- public StopIntake() {
- requires(Robot.intakeArm);
- }
-
- @Override
- protected void initialize() {
- Robot.intakeArm.stopRollers();
- }
-
- @Override
- protected void execute() {
- }
-
- @Override
- protected boolean isFinished() {
- return true;
- }
-
- @Override
- protected void end() {
- }
-
- @Override
- protected void interrupted() {
- }
-
-}
import edu.wpi.first.wpilibj.command.PIDSubsystem;
public class DriveTrain extends PIDSubsystem {
+ // Determines if the "front" of the robot has been reversed
private boolean outputFlipped = false;
+
private static double pidOutput = 0;
private Encoder leftEncoder, rightEncoder;
public void joystickDrive(double left, double right) {
int type = Constants.DriveTrain.DRIVE_TYPE;
+
+ // Handle flipping of the "front" of the robot
double k = (isFlipped() ? -1 : 1);
+
if (type == Constants.DriveTrain.TANK) {
+ // TODO Test this for negation and for voltage vs. [-1,1] outputs
double leftSpeed = (-frontLeft.get() + -rearLeft.get()) / 2;
double rightSpeed = (-frontRight.get() + -rearRight.get()) / 2;
left = ((Constants.DriveTrain.kADJUST - 1) * leftSpeed + left)