From b515ca1f06e7a1199d9b65afc81f3cd0da1af379 Mon Sep 17 00:00:00 2001 From: Jack Date: Thu, 3 May 2018 20:30:53 -0700 Subject: [PATCH 1/7] Partial dead man --- build.gradle | 2 +- .../commands/RequireAllSubsystems.java | 34 +++++++++++++++++++ .../rivierarobotics/constants/ControlMap.java | 2 ++ .../constants/PresentationMode.java | 11 ++++++ .../driverinterface/Driver.java | 2 ++ 5 files changed, 50 insertions(+), 1 deletion(-) create mode 100644 src/org/rivierarobotics/commands/RequireAllSubsystems.java create mode 100644 src/org/rivierarobotics/constants/PresentationMode.java diff --git a/build.gradle b/build.gradle index 9e3060c..aa128cd 100644 --- a/build.gradle +++ b/build.gradle @@ -1,5 +1,5 @@ plugins { - id "org.rivierarobotics.frcgrantle" version "0.1.8" + id "org.rivierarobotics.frcgrantle" version "0.1.10" } grantle.with { packageBase = 'org.rivierarobotics.robot' diff --git a/src/org/rivierarobotics/commands/RequireAllSubsystems.java b/src/org/rivierarobotics/commands/RequireAllSubsystems.java new file mode 100644 index 0000000..f6b14f3 --- /dev/null +++ b/src/org/rivierarobotics/commands/RequireAllSubsystems.java @@ -0,0 +1,34 @@ +package org.rivierarobotics.commands; + +import org.rivierarobotics.robot.Robot; +import org.rivierarobotics.subsystems.Arm; +import org.rivierarobotics.subsystems.Clamp; +import org.rivierarobotics.subsystems.DriveTrain; +import org.rivierarobotics.subsystems.Floppies; + +import edu.wpi.first.wpilibj.command.Command; + +public class RequireAllSubsystems extends Command { + + private final DriveTrain dt = Robot.runningRobot.driveTrain; + + private final Arm arm = Robot.runningRobot.arm; + private final Clamp clamp = Robot.runningRobot.clamp; + private final Floppies floppies = Robot.runningRobot.floppies; + + + public RequireAllSubsystems() { + requires(dt); + } + + @Override + protected void execute() { + dt.setPowerLeftRight(0, 0); + } + + @Override + protected boolean isFinished() { + return false; + } + +} diff --git a/src/org/rivierarobotics/constants/ControlMap.java b/src/org/rivierarobotics/constants/ControlMap.java index 0cdb62c..b3f6a0a 100644 --- a/src/org/rivierarobotics/constants/ControlMap.java +++ b/src/org/rivierarobotics/constants/ControlMap.java @@ -55,4 +55,6 @@ public class ControlMap { public static final int FORCE_COMPRESSOR_ON_BUTTON = 2; public static final int AUTO_PUNCH_BUTTON = 2; + + public static final int DEAD_MAN_BUTTON = 1; } diff --git a/src/org/rivierarobotics/constants/PresentationMode.java b/src/org/rivierarobotics/constants/PresentationMode.java new file mode 100644 index 0000000..399e256 --- /dev/null +++ b/src/org/rivierarobotics/constants/PresentationMode.java @@ -0,0 +1,11 @@ +package org.rivierarobotics.constants; + +import edu.wpi.first.wpilibj.Preferences; + +public class PresentationMode { + + public static boolean inPresentationMode() { + return Preferences.getInstance().getBoolean("presentation-mode", false); + } + +} diff --git a/src/org/rivierarobotics/driverinterface/Driver.java b/src/org/rivierarobotics/driverinterface/Driver.java index b504505..2c9d3fd 100644 --- a/src/org/rivierarobotics/driverinterface/Driver.java +++ b/src/org/rivierarobotics/driverinterface/Driver.java @@ -65,6 +65,8 @@ public Driver() { JoystickButton autoCollectButton = new JoystickButton(JS_FLOPPIES, ControlMap.COLLECT_SEQUENCE_BUTTON); JoystickButton autoPunch = new JoystickButton(JS_FLOPPIES, ControlMap.AUTO_PUNCH_BUTTON); + + JoystickButton deadManButton = new JoystickButton(JS_RIGHT_BUTTONS, ControlMap.DEAD_MAN_BUTTON); // Bind Commands From cda5c9a011b7d3db0f11e080c4026977a6568e36 Mon Sep 17 00:00:00 2001 From: Jackson McLaughlin Date: Tue, 8 May 2018 15:32:38 -0700 Subject: [PATCH 2/7] set 0 power --- .../rivierarobotics/commands/RequireAllSubsystems.java | 9 +++++++-- 1 file changed, 7 insertions(+), 2 deletions(-) diff --git a/src/org/rivierarobotics/commands/RequireAllSubsystems.java b/src/org/rivierarobotics/commands/RequireAllSubsystems.java index f6b14f3..d0906cf 100644 --- a/src/org/rivierarobotics/commands/RequireAllSubsystems.java +++ b/src/org/rivierarobotics/commands/RequireAllSubsystems.java @@ -11,19 +11,24 @@ public class RequireAllSubsystems extends Command { private final DriveTrain dt = Robot.runningRobot.driveTrain; - private final Arm arm = Robot.runningRobot.arm; private final Clamp clamp = Robot.runningRobot.clamp; private final Floppies floppies = Robot.runningRobot.floppies; - public RequireAllSubsystems() { requires(dt); + requires(arm); + requires(clamp); + requires(floppies); } @Override protected void execute() { dt.setPowerLeftRight(0, 0); + arm.setPower(0); + clamp.setOpen(clamp.isOpen()); + clamp.setPuncher(false); + floppies.setPower(0, 0); } @Override From 83e72b6ec390946bd48c5d49e91a6c5623c4a576 Mon Sep 17 00:00:00 2001 From: Jackson McLaughlin Date: Tue, 8 May 2018 15:35:46 -0700 Subject: [PATCH 3/7] rename to disable all subsystems --- .../{RequireAllSubsystems.java => DisableAllSubsystems.java} | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) rename src/org/rivierarobotics/commands/{RequireAllSubsystems.java => DisableAllSubsystems.java} (91%) diff --git a/src/org/rivierarobotics/commands/RequireAllSubsystems.java b/src/org/rivierarobotics/commands/DisableAllSubsystems.java similarity index 91% rename from src/org/rivierarobotics/commands/RequireAllSubsystems.java rename to src/org/rivierarobotics/commands/DisableAllSubsystems.java index d0906cf..4c3bfd7 100644 --- a/src/org/rivierarobotics/commands/RequireAllSubsystems.java +++ b/src/org/rivierarobotics/commands/DisableAllSubsystems.java @@ -8,14 +8,14 @@ import edu.wpi.first.wpilibj.command.Command; -public class RequireAllSubsystems extends Command { +public class DisableAllSubsystems extends Command { private final DriveTrain dt = Robot.runningRobot.driveTrain; private final Arm arm = Robot.runningRobot.arm; private final Clamp clamp = Robot.runningRobot.clamp; private final Floppies floppies = Robot.runningRobot.floppies; - public RequireAllSubsystems() { + public DisableAllSubsystems() { requires(dt); requires(arm); requires(clamp); From 2261a8c11c184ff0e2be96cfe479db1588cefa9e Mon Sep 17 00:00:00 2001 From: Jackson McLaughlin Date: Tue, 8 May 2018 15:38:27 -0700 Subject: [PATCH 4/7] make non interruptible --- src/org/rivierarobotics/commands/DisableAllSubsystems.java | 1 + 1 file changed, 1 insertion(+) diff --git a/src/org/rivierarobotics/commands/DisableAllSubsystems.java b/src/org/rivierarobotics/commands/DisableAllSubsystems.java index 4c3bfd7..8e49f02 100644 --- a/src/org/rivierarobotics/commands/DisableAllSubsystems.java +++ b/src/org/rivierarobotics/commands/DisableAllSubsystems.java @@ -20,6 +20,7 @@ public DisableAllSubsystems() { requires(arm); requires(clamp); requires(floppies); + setInterruptible(false); } @Override From 20a8b0cd7346d9aab9add42f24fb5de52e41d96e Mon Sep 17 00:00:00 2001 From: Jackson McLaughlin Date: Tue, 8 May 2018 16:49:09 -0700 Subject: [PATCH 5/7] rm climb stuff --- src/org/rivierarobotics/driverinterface/Driver.java | 11 ++++++++++- 1 file changed, 10 insertions(+), 1 deletion(-) diff --git a/src/org/rivierarobotics/driverinterface/Driver.java b/src/org/rivierarobotics/driverinterface/Driver.java index 2c9d3fd..3ef0639 100644 --- a/src/org/rivierarobotics/driverinterface/Driver.java +++ b/src/org/rivierarobotics/driverinterface/Driver.java @@ -4,6 +4,7 @@ import org.rivierarobotics.commands.AutoThrow; import org.rivierarobotics.commands.CollectGrabRaise; import org.rivierarobotics.commands.CompressorControlCommand; +import org.rivierarobotics.commands.DisableAllSubsystems; import org.rivierarobotics.commands.LeaveClimbCommand; import org.rivierarobotics.commands.MagicSpin; import org.rivierarobotics.commands.SetArmAngleGainScheduled; @@ -32,6 +33,8 @@ public class Driver { public Joystick JS_LEFT_BUTTONS; public Joystick JS_RIGHT_BUTTONS; public DriveCalculator DRIVE_CALC; + + private DisableAllSubsystems robotStopper; public Driver() { // Instantiate Sticks @@ -84,6 +87,8 @@ public Driver() { shiftHigh.whenPressed(new ShiftGear(DriveTrain.DriveGear.GEAR_HIGH)); //autoCollectButton.whenPressed(new CollectGrabRaise(true)); + // remove climb for adams school + /* removeArmLimitButton.whenPressed(new RemoveArmLimit(JS_ARM));//engage PTO + disengage arm startWinchingButton.whenPressed(new StartWinching(JS_ARM)); reengageArmButton.whenPressed(new SetArmEngagedAndPTODisengaged(true));//reengage + lower arm, winching at same time @@ -91,7 +96,11 @@ public Driver() { lockWinchButton.whenPressed(new SetArmBrake(true));//lock robot in place after climb unlockWinchButton.whenPressed(new SetArmBrake(false));//for the pits leaveClimbButton.whenPressed(new LeaveClimbCommand());//for crisis mode - + */ autoPunch.whenPressed(new AutoPunch(-0.2)); + + robotStopper = new DisableAllSubsystems(); + deadManButton.whenReleased(robotStopper); + deadManButton.cancelWhenPressed(robotStopper); } } From 6bbc97e627980b2ac30f83ca51cfb5676ad77ca6 Mon Sep 17 00:00:00 2001 From: Jackson McLaughlin Date: Wed, 9 May 2018 08:12:01 -0700 Subject: [PATCH 6/7] old way of disabling clamp didn't work, maybe this will --- src/org/rivierarobotics/commands/DisableAllSubsystems.java | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/src/org/rivierarobotics/commands/DisableAllSubsystems.java b/src/org/rivierarobotics/commands/DisableAllSubsystems.java index 8e49f02..eb592ed 100644 --- a/src/org/rivierarobotics/commands/DisableAllSubsystems.java +++ b/src/org/rivierarobotics/commands/DisableAllSubsystems.java @@ -14,6 +14,7 @@ public class DisableAllSubsystems extends Command { private final Arm arm = Robot.runningRobot.arm; private final Clamp clamp = Robot.runningRobot.clamp; private final Floppies floppies = Robot.runningRobot.floppies; + private final boolean open = clamp.isOpen() public DisableAllSubsystems() { requires(dt); @@ -27,7 +28,7 @@ public DisableAllSubsystems() { protected void execute() { dt.setPowerLeftRight(0, 0); arm.setPower(0); - clamp.setOpen(clamp.isOpen()); + clamp.setOpen(open); clamp.setPuncher(false); floppies.setPower(0, 0); } From 0a406d73efd9a48f3f710eb40c3d7fdfd05e5e7d Mon Sep 17 00:00:00 2001 From: Jackson McLaughlin Date: Wed, 9 May 2018 08:13:00 -0700 Subject: [PATCH 7/7] ; --- src/org/rivierarobotics/commands/DisableAllSubsystems.java | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/org/rivierarobotics/commands/DisableAllSubsystems.java b/src/org/rivierarobotics/commands/DisableAllSubsystems.java index eb592ed..20e8521 100644 --- a/src/org/rivierarobotics/commands/DisableAllSubsystems.java +++ b/src/org/rivierarobotics/commands/DisableAllSubsystems.java @@ -14,7 +14,7 @@ public class DisableAllSubsystems extends Command { private final Arm arm = Robot.runningRobot.arm; private final Clamp clamp = Robot.runningRobot.clamp; private final Floppies floppies = Robot.runningRobot.floppies; - private final boolean open = clamp.isOpen() + private final boolean open = clamp.isOpen(); public DisableAllSubsystems() { requires(dt);