package org.usfirst.frc.team3501.robot;
import org.usfirst.frc.team3501.robot.commands.driving.SetLowGear;
-import org.usfirst.frc.team3501.robot.commands.intakearm.MoveIntakeArm;
-import org.usfirst.frc.team3501.robot.commands.shooter.ResetCatapult;
+import org.usfirst.frc.team3501.robot.commands.driving.TimeDrive;
import org.usfirst.frc.team3501.robot.subsystems.DriveTrain;
import org.usfirst.frc.team3501.robot.subsystems.IntakeArm;
import org.usfirst.frc.team3501.robot.subsystems.Shooter;
+import edu.wpi.first.wpilibj.CameraServer;
import edu.wpi.first.wpilibj.IterativeRobot;
import edu.wpi.first.wpilibj.command.Scheduler;
+import edu.wpi.first.wpilibj.smartdashboard.SendableChooser;
+import edu.wpi.first.wpilibj.smartdashboard.SmartDashboard;
public class Robot extends IterativeRobot {
public static OI oi;
public static Shooter shooter;
public static IntakeArm intakeArm;
+ // Sendable Choosers send a drop down menu to the Smart Dashboard.
+ private static SendableChooser frontChooser;
+ private static CameraServer camera;
+
@Override
public void robotInit() {
driveTrain = new DriveTrain();
intakeArm = new IntakeArm();
oi = new OI();
+
+ initializeSendableChooser();
+ addFrontChooserOptions();
+ sendSendableChooserToSmartDashboard();
+
+ camera = CameraServer.getInstance();
+ camera.setQuality(50);
+ camera.startAutomaticCapture("cam0");
+ }
+
+ private void initializeSendableChooser() {
+ frontChooser = new SendableChooser();
+ }
+
+ private void addFrontChooserOptions() {
+ frontChooser.addDefault("Intake", false);
+ frontChooser.addObject("Shooter", true);
+ }
+
+ private void sendSendableChooserToSmartDashboard() {
+ SmartDashboard.putData("PositionChooser", frontChooser);
}
@Override
public void autonomousInit() {
- Scheduler.getInstance().run();
+ // get options chosen from drop down menu
+ boolean flip = (boolean) frontChooser.getSelected();
+
+ if (flip) {
+ driveTrain.toggleFlipped();
+ }
+
+ Scheduler.getInstance().add(new TimeDrive(4, .7));
}
@Override
@Override
public void teleopInit() {
- Scheduler.getInstance().add(new SetLowGear()); // Start each match in low
- // gear
- Scheduler.getInstance().add(new ResetCatapult()); // Reset catapult at start
- // of each match.
-
- Scheduler.getInstance().add(new MoveIntakeArm(Constants.IntakeArm.EXTEND));
- // Start testing with intake arm extended TODO remove this
+ Scheduler.getInstance().add(new SetLowGear());
}
@Override