diff --git a/src/main/java/com/spartronics4915/frc2020/RobotContainer.java b/src/main/java/com/spartronics4915/frc2020/RobotContainer.java index 990eea1..9b5f53b 100644 --- a/src/main/java/com/spartronics4915/frc2020/RobotContainer.java +++ b/src/main/java/com/spartronics4915/frc2020/RobotContainer.java @@ -129,6 +129,7 @@ public RobotContainer() // Default Commands run whenever no Command is scheduled to run for a subsystem mClimber.setDefaultCommand(mClimberCommands.new Stop(mClimber)); mIntake.setDefaultCommand(mIntakeCommands.new Stop(mIntake)); + // mIndexer.setDefaultCommand(mIndexerCommands.new ZeroAndStopGroup(mIndexer)); // mLauncher.setDefaultCommand(new ConditionalCommand(mLauncherCommands.new TargetAndShoot(mLauncher), // mLauncherCommands.new TrackPassively(mLauncher), mLauncher::inRange)); mLauncher.setDefaultCommand(mLauncherCommands.new ShootBallTest());//mLauncherCommands.new TargetAndShoot(mLauncher)); @@ -145,7 +146,7 @@ private void configureJoystickBindings() // Note: changes to bling state can be augmented with: // .alongWith(new SetBlingStateCommand(mLED, BlingState.SOME_STATE))); - new JoystickButton(mJoystick, 3).whenPressed(mIndexerCommands.new ZeroSpinnerCommand(mIndexer)); + new JoystickButton(mJoystick, 3).whenPressed(mIndexerCommands.new ZeroSpinnerCommand(mIndexer, true)); new JoystickButton(mJoystick, 2).whenPressed(mIndexerCommands.new SpinIndexer(mIndexer, 5)); new JoystickButton(mJoystick, 4).whenPressed(mIndexerCommands.new StartTransfer(mIndexer)) diff --git a/src/main/java/com/spartronics4915/frc2020/commands/DriveCommands.java b/src/main/java/com/spartronics4915/frc2020/commands/DriveCommands.java index 3b0f92c..9b1e681 100644 --- a/src/main/java/com/spartronics4915/frc2020/commands/DriveCommands.java +++ b/src/main/java/com/spartronics4915/frc2020/commands/DriveCommands.java @@ -32,8 +32,7 @@ public TeleOpCommand(Joystick joy) @Override public void execute() { - mDrive.arcadeDrive(-mJoystick.getY(), mJoystick.getX()); // To invert joystick controller, - // so forward... is forward + mDrive.arcadeDrive(-mJoystick.getY(), -mJoystick.getX()); } } } \ No newline at end of file diff --git a/src/main/java/com/spartronics4915/frc2020/commands/IndexerCommands.java b/src/main/java/com/spartronics4915/frc2020/commands/IndexerCommands.java index 1ae2663..39a2ccf 100644 --- a/src/main/java/com/spartronics4915/frc2020/commands/IndexerCommands.java +++ b/src/main/java/com/spartronics4915/frc2020/commands/IndexerCommands.java @@ -111,9 +111,14 @@ public class ZeroSpinnerCommand extends CommandBase // You should only use one subsystem per command. If multiple are needed, use a // CommandGroup. - public ZeroSpinnerCommand(Indexer indexer) + public ZeroSpinnerCommand(Indexer indexer, boolean unzero) { mIndexer = indexer; + if (unzero) + { + mIndexer.unzero(); + } + addRequirements(mIndexer); } @@ -165,14 +170,10 @@ public boolean isFinished() public class ZeroAndStopGroup extends SequentialCommandGroup { - private Indexer mIndexer; - public ZeroAndStopGroup(Indexer indexer) { - mIndexer = indexer; - addCommands( - new ZeroSpinnerCommand(indexer), + new ZeroSpinnerCommand(indexer, false), new StopCommand(indexer) ); } diff --git a/src/main/java/com/spartronics4915/frc2020/subsystems/Indexer.java b/src/main/java/com/spartronics4915/frc2020/subsystems/Indexer.java index a89f302..e8c876a 100644 --- a/src/main/java/com/spartronics4915/frc2020/subsystems/Indexer.java +++ b/src/main/java/com/spartronics4915/frc2020/subsystems/Indexer.java @@ -104,6 +104,11 @@ public void setZero() mIndexerMotor.getEncoder().setPosition(0); } + public void unzero() + { + mHasZeroed = false; + } + public boolean hasZeroed() { return mHasZeroed; @@ -219,6 +224,7 @@ public boolean isTransferring() */ public void stop() { + mTransferMotor.setNeutral(); mKickerMotor.setNeutral(); mIndexerMotor.setNeutral(); }