public class RunSpindexer extends Command {
private Spindexer spindexer;
- public RunSpindexer(Spindexer spindexer){
+ private Turret turret;
+ public RunSpindexer(Spindexer spindexer, Turret turret){
this.spindexer = spindexer;
-
- addRequirements(spindexer);
+ this.turret = turret;
+ addRequirements(spindexer, turret);
}
@Override
public void execute() {
- spindexer.maxSpindexer();
+ if (turret.atSetpoint()) {
+ spindexer.maxSpindexer();
+ } else {
+ spindexer.stopSpindexer();
+ }
}
@Override
public void end(boolean interrupted) {
spindexer.stopSpindexer();
}
+
+ @Override
+ public boolean isFinished() {
+ return false; // never ends on its own
+ }
}
}
}
- public static FieldZone getWorkingZone(Translation2d drivepose) {
- double x = drivepose.getX();
- double y = drivepose.getY();
- Alliance alliance = Robot.getAlliance();
-
-
- }
-
/**
*
* @return Whether Y coordinate is in the upper half (left side on blue alliance)
// Spindexer
if (spindexer != null) {
// Toggle spindexer
- controller.get(PS5Button.LEFT_TRIGGER).onTrue(new InstantCommand(() -> {
- if (spindexerBoolean) {
- spindexer.maxSpindexer();
- intakeBoolean = false;
- } else {
- spindexer.stopSpindexer();
- intakeBoolean = true;
- }
- }));
+ controller.get(PS5Button.LEFT_TRIGGER).toggleOnTrue(
+ new RunSpindexer(spindexer, turret)
+ );
}
// Auto shoot