diff --git a/TeamCode/src/main/java/org/firstinspires/ftc/teamcode/LOADCode/Main_/Auto_/Auto_Main_.java b/TeamCode/src/main/java/org/firstinspires/ftc/teamcode/LOADCode/Main_/Auto_/Auto_Main_.java index ae6eee0..e1b6481 100644 --- a/TeamCode/src/main/java/org/firstinspires/ftc/teamcode/LOADCode/Main_/Auto_/Auto_Main_.java +++ b/TeamCode/src/main/java/org/firstinspires/ftc/teamcode/LOADCode/Main_/Auto_/Auto_Main_.java @@ -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_() { @@ -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(() -> { @@ -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 @@ -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(); @@ -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{ @@ -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(){ @@ -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(){ @@ -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(){ @@ -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(){ @@ -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(){ @@ -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(){ @@ -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(){ @@ -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(){ @@ -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(){ @@ -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(){ @@ -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(){ @@ -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"; + } + } + +