Skip to content
This repository was archived by the owner on Jul 13, 2026. It is now read-only.
Merged
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Original file line number Diff line number Diff line change
Expand Up @@ -53,6 +53,7 @@ public class Auto_Main_ extends NextFTCOpMode {

// Auto parameter variables
private boolean turretOn = true;
double storedHoodOffset = 0;

@SuppressWarnings("unused")
public Auto_Main_() {
Expand Down Expand Up @@ -81,7 +82,8 @@ public void onInit() {
new Near_12Ball(),
new Near_9Ball(),
new Far_12Ball(),
new Far_9Ball()
new Far_9Ball(),
new julietAuto()

));
prompter.onComplete(() -> {
Expand Down Expand Up @@ -122,6 +124,11 @@ public void onStartButtonPressed() {
selectedAuto.runAuto().schedule();
}
turretOn = selectedAuto.getTurretEnabled();
if (selectedAuto.getStartPose() == paths.nearStart){
storedHoodOffset = 10;
}else{
storedHoodOffset = -20;
}
timer25Sec.restart();

// Indicate that initialization is done
Expand All @@ -135,7 +142,7 @@ public void onUpdate() {
telemetry.addData("Alliance", selectedAlliance);
panelsTelemetry.addData("Turret Target Pos", Robot.turret.rotation.target);
panelsTelemetry.addData("Turret Actual Pos", Robot.turret.rotation.getAngleAbsolute());
Robot.turret.updateAimbot(turretOn, true, selectedAuto.getHoodOffset());
Robot.turret.updateAimbot(turretOn, true, storedHoodOffset);
Robot.turret.updateFlywheel(0);
MecanumDrivetrainClass.robotPose = Robot.drivetrain.follower.getPose();
telemetry.update();
Expand Down Expand Up @@ -165,24 +172,19 @@ abstract static class Auto{
*/
abstract Pose getEndPose();

/**
* @return The offset of the hood for this auto
*/
abstract double getHoodOffset();

/**
* @return A boolean indicating whether the turret is enabled.
*/
abstract boolean getTurretEnabled();
boolean getTurretEnabled(){return true;}

abstract boolean autoLeave();
boolean autoLeave(){return true;}

/** Override this to schedule the auto command*/
abstract Command runAuto();
/** Override this to rename the auto*/
@NonNull
@Override
public abstract String toString();
public String toString(){return "auto";}
}

private class Far_9Ball extends Auto{
Expand All @@ -195,17 +197,9 @@ public Pose getEndPose(){
return paths.farLeave;
}
@Override
double getHoodOffset() {
return -20;
}
@Override
public boolean getTurretEnabled(){
return true;
}
@Override
boolean autoLeave() {
return true;
}

@Override
public Command runAuto(){
Expand Down Expand Up @@ -242,14 +236,6 @@ public Pose getEndPose(){
public boolean getTurretEnabled(){
return true;
}
@Override
double getHoodOffset() {
return -20;
}
@Override
boolean autoLeave() {
return true;
}

@Override
public Command runAuto(){
Expand Down Expand Up @@ -291,14 +277,6 @@ public Pose getEndPose(){
public boolean getTurretEnabled(){
return true;
}
@Override
double getHoodOffset() {
return 10;
}
@Override
boolean autoLeave() {
return true;
}

@Override
public Command runAuto(){
Expand Down Expand Up @@ -336,14 +314,6 @@ public Pose getEndPose(){
public boolean getTurretEnabled(){
return true;
}
@Override
double getHoodOffset() {
return 10;
}
@Override
boolean autoLeave() {
return true;
}

@Override
public Command runAuto(){
Expand Down Expand Up @@ -379,18 +349,6 @@ Pose getStartPose() {
public Pose getEndPose(){
return paths.nearLeave;
}
@Override
boolean getTurretEnabled() {
return true;
}
@Override
double getHoodOffset() {
return 10;
}
@Override
boolean autoLeave() {
return true;
}

@Override
public Command runAuto(){
Expand Down Expand Up @@ -437,18 +395,6 @@ Pose getStartPose() {
public Pose getEndPose(){
return paths.nearLeave;
}
@Override
boolean getTurretEnabled() {
return true;
}
@Override
double getHoodOffset() {
return 10;
}
@Override
boolean autoLeave() {
return true;
}

@Override
public Command runAuto(){
Expand Down Expand Up @@ -498,14 +444,6 @@ public Pose getEndPose(){
public boolean getTurretEnabled(){
return true;
}
@Override
double getHoodOffset() {
return 0;
}
@Override
boolean autoLeave() {
return true;
}

@Override
public Command runAuto(){
Expand Down Expand Up @@ -550,14 +488,6 @@ public Pose getEndPose(){
public boolean getTurretEnabled(){
return true;
}
@Override
double getHoodOffset() {
return 0;
}
@Override
boolean autoLeave() {
return true;
}

@Override
public Command runAuto(){
Expand Down Expand Up @@ -601,14 +531,6 @@ public Pose getEndPose(){
public boolean getTurretEnabled(){
return true;
}
@Override
double getHoodOffset() {
return 0;
}
@Override
boolean autoLeave() {
return true;
}

@Override
public Command runAuto(){
Expand Down Expand Up @@ -648,14 +570,6 @@ public Pose getEndPose(){
public boolean getTurretEnabled(){
return true;
}
@Override
double getHoodOffset() {
return 0;
}
@Override
boolean autoLeave() {
return true;
}

@Override
public Command runAuto(){
Expand Down Expand Up @@ -702,17 +616,9 @@ public Pose getEndPose(){
return paths.midShoot;
}
@Override
boolean getTurretEnabled() {
return true;
}
@Override
boolean autoLeave() {
return false;
}
@Override
double getHoodOffset() {
return 0;
}

@Override
public Command runAuto(){
Expand All @@ -731,4 +637,52 @@ public String toString() {
return "Test Auto";
}
}
}

private class julietAuto extends Auto{
@Override
Pose getStartPose() {
return paths.nearStart;
}
@Override
public Pose getEndPose(){
return paths.nearLeave;
}

@Override
public Command runAuto(){
return new SequentialGroup(
new InstantCommand(Commands.setFlywheelState( Turret.flywheelState.ON)),
Commands.runPath(paths.farStart_to_farShoot, true, 1),
Commands.shootBalls(),
Commands.setIntakeMode(ON),
Commands.runPath(paths.farShoot_to_farPreload, true, 1),
Commands.runPath(paths.farPreload_to_farShoot, true, 1),
Commands.shootBalls(),
Commands.setIntakeMode(ON),
Commands.runPath(paths.farShoot_to_rampIntake, true, 1),
Commands.runPath(paths.rampIntake_to_farShoot, true, 1),
Commands.shootBalls(),
Commands.setIntakeMode(ON),
Commands.runPath(paths.farShoot_to_hpPreload, true, 1),
Commands.runPath(paths.hpPreload_to_farShoot, true, 1),
Commands.shootBalls(),
Commands.setIntakeMode(ON),
Commands.runPath(paths.farShoot_to_hpPreloadLine, true, 1),
Commands.runPath(paths.hpPreloadLine_to_farShoot, true, 1),
Commands.shootBalls(),
Commands.setIntakeMode(ON),
Commands.runPath(paths.farShoot_to_hpPreloadLine, true, 1),
Commands.runPath(paths.hpPreloadLine_to_farShoot, true, 1),
Commands.shootBalls(),
Commands.runPath(paths.farShoot_to_farLeave, true, 1)
);
}
}
@NonNull
@Override
public String toString() {
return "juliet Test Auto";
}
}