competition fixes
[3501/2017steamworks] / src / org / usfirst / frc / team3501 / robot / commands / driving / JoystickDrive.java
index cea1b6b919bbe92e36869d576c1eb7aa8ba70e22..006a13cecc2c58568b7695da36a50c3c78a2de59 100755 (executable)
@@ -3,13 +3,19 @@ package org.usfirst.frc.team3501.robot.commands.driving;
 import org.usfirst.frc.team3501.robot.OI;
 import org.usfirst.frc.team3501.robot.Robot;
 
+import edu.wpi.first.wpilibj.Joystick.AxisType;
 import edu.wpi.first.wpilibj.command.Command;
 
 /**
- *
+ * This command will run throughout teleop and listens for joystick inputs to
+ * drive the driveTrain. This never finishes until teleop ends. - works in
+ * conjunction with OI.java
  */
 public class JoystickDrive extends Command {
 
+  double previousThrust = 0;
+  double previousTwist = 0;
+
   public JoystickDrive() {
     requires(Robot.getDriveTrain());
   }
@@ -20,10 +26,16 @@ public class JoystickDrive extends Command {
 
   @Override
   protected void execute() {
-    final double left = OI.leftJoystick.getY();
-    final double right = OI.rightJoystick.getY();
+    double thrust = OI.xboxController.getY();
+    double twist = OI.xboxController.getAxis(AxisType.kZ);
+
+    thrust = (6 * previousThrust + thrust) / 7;
+    twist = (6 * previousTwist + twist) / 7;
+
+    previousThrust = thrust;
+    previousTwist = twist;
 
-    Robot.getDriveTrain().joystickDrive(left, right);
+    Robot.getDriveTrain().joystickDrive(-thrust, -twist);
   }
 
   @Override