When I try to upload the code it says “Robots don’t quit!” I would like to know why it does that and how to fix it. Thanks!
/*----------------------------------------------------------------------------*/
/* Copyright (c) FIRST 2008. All Rights Reserved. */
/* Open Source Software - may be modified and shared by FRC teams. The code */
/* must be accompanied by the FIRST BSD license file in the root directory of */
/* the project. */
/*----------------------------------------------------------------------------*/
/* Written by T0xicFail */
/* (c) 2014 */
/*----------------------------------------------------------------------------*/
package edu.wpi.first.wpilibj.templates;
import edu.wpi.first.wpilibj.DriverStationLCD;
import edu.wpi.first.wpilibj.Joystick;
import edu.wpi.first.wpilibj.SpeedController;
import edu.wpi.first.wpilibj.Talon;
import edu.wpi.first.wpilibj.Solenoid;
import edu.wpi.first.wpilibj.Compressor;
import edu.wpi.first.wpilibj.RobotDrive;
import edu.wpi.first.wpilibj.IterativeRobot;
import edu.wpi.first.wpilibj.Timer;
public class Voltage2014 extends IterativeRobot {
private RobotDrive Drive;
private Solenoid LeftLowGear, LeftHighGear, RightLowGear, RightHighGear; // Gear Shift
private Joystick Controller;
private Compressor Compressor;
private SpeedController FrontLeft, FrontRight, BackLeft, BackRight;
private final DriverStationLCD lcd = DriverStationLCD.getInstance();
private boolean HasShifted;
public void robotInit() {
RobotDriveInit();
CompressorInit();
ControllerInit();
TalonInit();
HasShifted = false;
}
public void RobotDriveInit() {
Drive = new RobotDrive(FrontLeft, FrontRight, BackLeft, BackRight);
}
public void CompressorInit() {
Compressor = new Compressor(1, 1);// Digital I/O, Relay
LeftLowGear = new Solenoid(2);
LeftHighGear = new Solenoid(3);
RightLowGear = new Solenoid(4);
RightHighGear = new Solenoid(5);
}
public void ControllerInit() {
Controller = new Joystick(1);
}
public void TalonInit() {
FrontLeft = new Talon(1);
FrontRight = new Talon(2);
BackLeft = new Talon(3);
BackRight = new Talon(4);
}
public void autonomousPeriodic() {
}
public void teleopPeriodic() {
//Drive
Drive.arcadeDrive(getDeadZone(Controller.getY(), 0.25),
getDeadZone(Controller.getThrottle(), 0.25) * 0);
// Compressor
if (Controller.getRawButton(1)) {
Compressor.start();
lcd.println(DriverStationLCD.Line.kUser1, 1, "Compressor: ON ");
} else if (Controller.getRawButton(2)) {
Compressor.stop();
lcd.println(DriverStationLCD.Line.kUser1, 1, "Compressor: OFF");
}
// Shifter
if (Controller.getRawButton(5) && !HasShifted) {
LeftHighGear.set(true);
RightHighGear.set(true);
Timer.delay(0.1);
LeftLowGear.set(false);
RightLowGear.set(false);
HasShifted = true;
lcd.println(DriverStationLCD.Line.kUser2, 1, "Speed: High");
lcd.updateLCD();
} else if (Controller.getRawButton(5) && HasShifted) {
LeftLowGear.set(true);
RightLowGear.set(true);
Timer.delay(0.1);
LeftHighGear.set(false);
RightHighGear.set(false);
HasShifted = false;
lcd.println(DriverStationLCD.Line.kUser2, 1, "Speed: Low ");
lcd.updateLCD();
}
}
private double getDeadZone(double num, double dead) {
if (num < 0) {
if (num < dead) {
return num;
} else {
return 0;
}
} else {
if (num > dead) {
return num;
} else {
return 0;
}
}
}
public void testPeriodic() {
}
}