import org.usfirst.frc.team3501.robot.sensors.Lidar;
import edu.wpi.first.wpilibj.CANTalon;
+import edu.wpi.first.wpilibj.Compressor;
import edu.wpi.first.wpilibj.CounterBase.EncodingType;
import edu.wpi.first.wpilibj.DoubleSolenoid;
import edu.wpi.first.wpilibj.DoubleSolenoid.Value;
private GyroLib gyro;
private DoubleSolenoid leftGearPiston, rightGearPiston;
+ private Compressor compressor;
// Drivetrain specific constants that relate to the inches per pulse value for
// the encoders
this.disable();
gyro.start();
- leftGearPiston = new DoubleSolenoid(Constants.DriveTrain.LEFT_FORWARD,
- Constants.DriveTrain.LEFT_REVERSE);
- rightGearPiston = new DoubleSolenoid(Constants.DriveTrain.RIGHT_FORWARD,
- Constants.DriveTrain.RIGHT_REVERSE);
+ leftGearPiston = new DoubleSolenoid(Constants.DriveTrain.MODULE_B_ID,
+ Constants.DriveTrain.LEFT_FORWARD, Constants.DriveTrain.LEFT_REVERSE);
+ rightGearPiston = new DoubleSolenoid(Constants.DriveTrain.MODULE_B_ID,
+ Constants.DriveTrain.RIGHT_FORWARD, Constants.DriveTrain.RIGHT_REVERSE);
+
+ compressor = new Compressor(Constants.DriveTrain.COMPRESSOR_ID);
+
Constants.DriveTrain.inverted = false;
}
* because RobotDrive tankdrive method drives inverted
*/
public void drive(double left, double right) {
- robotDrive.tankDrive(-left, -right);
+// robotDrive.tankDrive(-left, -right);
// dunno why but inverted drive (- values is forward)
if (!Constants.DriveTrain.inverted)
robotDrive.tankDrive(-left, -right);
robotDrive.tankDrive(right, left);
}
+ public void arcadeDrive(double y, double twist) {
+ robotDrive.arcadeDrive(y, twist);
+ }
+
/*
* constrains the distance to within -100 and 100 since we aren't going to
* drive more than 100 inches
rightGearPiston.set(gear);
}
+ public void startCompressor() {
+ compressor.start();
+ }
+
+ public void stopCompressor() {
+ compressor.stop();
+ }
+
+ public void toggleCompressor() {
+ if (compressor.enabled())
+ compressor.stop();
+ else
+ compressor.start();
+ }
+
}