From bc7f445e46eb52c07bb3f7c43cc0a5f225c928fe Mon Sep 17 00:00:00 2001 From: caengineers Date: Tue, 19 Feb 2019 14:42:11 -0800 Subject: [PATCH 1/2] Add button to switch between arcade drive and tank drive --- Robot2019/src/main/java/frc/robot/OI.java | 5 +++++ .../frc/robot/commands/SetArcadeOrTank.java | 19 +++++++++++++++++++ 2 files changed, 24 insertions(+) create mode 100644 Robot2019/src/main/java/frc/robot/commands/SetArcadeOrTank.java diff --git a/Robot2019/src/main/java/frc/robot/OI.java b/Robot2019/src/main/java/frc/robot/OI.java index c51bd2d..11c8fef 100644 --- a/Robot2019/src/main/java/frc/robot/OI.java +++ b/Robot2019/src/main/java/frc/robot/OI.java @@ -18,6 +18,7 @@ import frc.robot.commands.SlowDrive; import frc.robot.commands.ToggleCamera; import frc.robot.commands.ToggleHatch; +import frc.robot.commands.SetArcadeOrTank; import frc.robot.subsystems.Cargo; import frc.robot.subsystems.Climber; import frc.robot.subsystems.Drivetrain; @@ -31,6 +32,7 @@ public class OI { Joystick leftJoy, rightJoy, manipulator; JoystickButton leftSlowBtn, rightSlowBtn; + JoystickButton arcadeOrTankBtn; JoystickButton toggleHatchBtn; JoystickButton cargoIntakeBtn, cargoEjectBtn; JoystickButton climberRailBtn; @@ -48,6 +50,9 @@ public class OI { rightSlowBtn = new JoystickButton(rightJoy, 1); rightSlowBtn.whileHeld(new SlowDrive(SlowDrive.Side.RIGHT)); + arcadeOrTankBtn = new JoystickButton(leftJoy, 4); + arcadeOrTankBtn.whenPressed(new SetArcadeOrTank()); + toggleHatchBtn = new JoystickButton(manipulator, Manip.X); // TODO: set ports to correct values toggleHatchBtn.whenPressed(new ToggleHatch(hp)); diff --git a/Robot2019/src/main/java/frc/robot/commands/SetArcadeOrTank.java b/Robot2019/src/main/java/frc/robot/commands/SetArcadeOrTank.java new file mode 100644 index 0000000..94efc5d --- /dev/null +++ b/Robot2019/src/main/java/frc/robot/commands/SetArcadeOrTank.java @@ -0,0 +1,19 @@ +package frc.robot.commands; + +import edu.wpi.first.wpilibj.command.InstantCommand; +import edu.wpi.first.wpilibj.smartdashboard.SmartDashboard; + +public class SetArcadeOrTank extends InstantCommand { + public SetArcadeOrTank() { + + } + + protected void initialize() { + if (SmartDashboard.getBoolean("Arcade Drive", true)) { + SmartDashboard.putBoolean("Arcade Drive", false); + } else { + SmartDashboard.putBoolean("Arcade Drive", true); + } + + } +} \ No newline at end of file From 25eec0b99ba14c6208b0ec84d09f35d14c6b790b Mon Sep 17 00:00:00 2001 From: David Fang Date: Tue, 19 Feb 2019 15:01:42 -0800 Subject: [PATCH 2/2] Auto-format files --- Robot2019/src/main/java/frc/robot/OI.java | 2 +- Robot2019/src/main/java/frc/robot/commands/SetArcadeOrTank.java | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/Robot2019/src/main/java/frc/robot/OI.java b/Robot2019/src/main/java/frc/robot/OI.java index 11c8fef..e1c9349 100644 --- a/Robot2019/src/main/java/frc/robot/OI.java +++ b/Robot2019/src/main/java/frc/robot/OI.java @@ -15,10 +15,10 @@ import frc.robot.commands.Climb; import frc.robot.commands.EjectCargo; import frc.robot.commands.IntakeOnlyCargo; +import frc.robot.commands.SetArcadeOrTank; import frc.robot.commands.SlowDrive; import frc.robot.commands.ToggleCamera; import frc.robot.commands.ToggleHatch; -import frc.robot.commands.SetArcadeOrTank; import frc.robot.subsystems.Cargo; import frc.robot.subsystems.Climber; import frc.robot.subsystems.Drivetrain; diff --git a/Robot2019/src/main/java/frc/robot/commands/SetArcadeOrTank.java b/Robot2019/src/main/java/frc/robot/commands/SetArcadeOrTank.java index 94efc5d..d276c9e 100644 --- a/Robot2019/src/main/java/frc/robot/commands/SetArcadeOrTank.java +++ b/Robot2019/src/main/java/frc/robot/commands/SetArcadeOrTank.java @@ -14,6 +14,6 @@ protected void initialize() { } else { SmartDashboard.putBoolean("Arcade Drive", true); } - + } } \ No newline at end of file