import org.usfirst.frc.team3501.robot.autons.*;
import org.usfirst.frc.team3501.robot.commands.*;
import org.usfirst.frc.team3501.robot.subsystems.*;
+import org.usfirst.frc.team3501.util.AutonData;
public class Robot extends IterativeRobot {
- public static Drivetrain drivetrain;
- public static Arm arm;
- public static Claw claw;
+ public static Drivetrain drivetrain;
+ public static Arm arm;
+ public static Claw claw;
- public static Pneumatics pneumatics;
+ public static Pneumatics pneumatics;
- public static OI oi;
+ public static OI oi;
- private SendableChooser autoChooser;
+ public static AutonData autonData;
+ private SendableChooser autonChooser;
private Command autonomousCommand;
public void robotInit() {
- oi = new OI();
+ drivetrain = new Drivetrain();
+ arm = new Arm();
+ claw = new Claw();
- drivetrain = new Drivetrain();
- arm = new Arm();
- claw = new Claw();
+ pneumatics = new Pneumatics();
- pneumatics = new Pneumatics();
+ autonData = new AutonData();
- chooseAuto();
+ oi = new OI();
+
+ chooseAuto();
}
- public void disabledPeriodic() {
- Scheduler.getInstance().run();
- }
+ public void disabledPeriodic() {
+ Scheduler.getInstance().run();
+ }
public void autonomousInit() {
schedule(new TurnOnCompressor());
- autonomousCommand = (Command) autoChooser.getSelected();
+ autonData.update();
+
+ autonomousCommand = (Command) autonChooser.getSelected();
autonomousCommand.start();
}
public void teleopInit() {
schedule(new TurnOnCompressor());
- autonomousCommand.cancel();
+ if (autonomousCommand != null)
+ autonomousCommand.cancel();
}
public void teleopPeriodic() {
LiveWindow.run();
}
- public void disabledInit() {
- schedule(new TurnOffCompressor());
- }
-
private void chooseAuto() {
- autoChooser = new SendableChooser();
+ autonChooser = new SendableChooser();
- autoChooser.addDefault("Pick up container", new ContainerOverStep());
- autoChooser.addObject("Drive over step", new DriveOverStep());
- autoChooser.addObject("Drive past step", new DrivePastStep());
+ autonChooser.addDefault("Pick up container", new ContainerOverStep());
+ autonChooser.addObject("Drive over step", new DriveOverStep());
+ autonChooser.addObject("Drive past step", new DrivePastStep());
- SmartDashboard.putData("Auto Mode", autoChooser);
+ SmartDashboard.putData("Auto Mode", autonChooser);
}
private void schedule(Command c) {