Skip to content

Commit 2232654

Browse files
committed
Redesign Edits
1 parent ba422a6 commit 2232654

19 files changed

Lines changed: 1996 additions & 69 deletions

.vscode/launch.json

Lines changed: 9 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -4,18 +4,24 @@
44
// For more information, visit: https://go.microsoft.com/fwlink/?linkid=830387
55
"version": "0.2.0",
66
"configurations": [
7-
7+
{
8+
"type": "java",
9+
"name": "Main",
10+
"request": "launch",
11+
"mainClass": "frc.robot.Main",
12+
"projectName": "ocebot-code-2026"
13+
},
814
{
915
"type": "wpilib",
1016
"name": "WPILib Desktop Debug",
1117
"request": "launch",
12-
"desktop": true,
18+
"desktop": true
1319
},
1420
{
1521
"type": "wpilib",
1622
"name": "WPILib roboRIO Debug",
1723
"request": "launch",
18-
"desktop": false,
24+
"desktop": false
1925
}
2026
]
2127
}

.vscode/settings.json

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -57,5 +57,6 @@
5757
"edu.wpi.first.math.**.proto.*",
5858
"edu.wpi.first.math.**.struct.*",
5959
],
60-
"java.dependency.enableDependencyCheckup": false
60+
"java.dependency.enableDependencyCheckup": false,
61+
"java.debug.settings.onBuildFailureProceed": true
6162
}

src/main/java/frc/robot/Commands/ClimbCommand.java

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,9 +1,11 @@
11
package frc.robot.Commands;
22

3+
import edu.wpi.first.epilogue.Logged;
34
import edu.wpi.first.wpilibj2.command.Command;
45
import frc.robot.config.ClimbConfig;
56
import frc.robot.subsystems.Climb;
67

8+
@Logged
79
public class ClimbCommand extends Command {
810
public static enum Position {
911
CLIMB,
@@ -25,10 +27,12 @@ public void initialize() {
2527
switch (pose) {
2628
case CLIMB:
2729
subsystem.move(ClimbConfig.CLIMB_CLIMB_ROTATION);
30+
System.out.println("Climb: Climbing");
2831
break;
2932

3033
case UNCLIMB:
3134
subsystem.move(ClimbConfig.CLIMB_UNCLIMB_ROTATION);
35+
System.out.println("Climb: Unclimbing");
3236
break;
3337

3438
default:
Lines changed: 82 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,82 @@
1+
package frc.robot.Commands;
2+
3+
import static edu.wpi.first.units.Units.*;
4+
5+
import com.ctre.phoenix6.swerve.SwerveModule;
6+
import com.ctre.phoenix6.swerve.SwerveRequest;
7+
import edu.wpi.first.epilogue.Logged;
8+
import edu.wpi.first.wpilibj2.command.Command;
9+
import frc.robot.config.TunerConstants;
10+
import frc.robot.subsystems.CommandSwerveDrivetrain;
11+
12+
@Logged
13+
public class DrivetrainCommand extends Command {
14+
public static enum Position {
15+
TELEOP,
16+
STILL_SHOT
17+
}
18+
19+
private CommandSwerveDrivetrain subsystem;
20+
private DrivetrainCommand.Position pose;
21+
private double leftY;
22+
private double leftX;
23+
private double rightX;
24+
25+
private final double MaxSpeed =
26+
TunerConstants.kSpeedAt12Volts.in(MetersPerSecond); // kSpeedAt12Volts desired top speed
27+
private final double MaxAngularRate =
28+
RotationsPerSecond.of(0.75)
29+
.in(RadiansPerSecond); // 3/4 of a rotation per second max angular velocity
30+
private final SwerveRequest.FieldCentric drive =
31+
new SwerveRequest.FieldCentric()
32+
.withDeadband(MaxSpeed * 0.2)
33+
.withRotationalDeadband(MaxAngularRate * 0.1) // Add a 10% deadband
34+
.withDriveRequestType(
35+
SwerveModule.DriveRequestType
36+
.OpenLoopVoltage); // Use open-loop control for drive motors
37+
38+
public DrivetrainCommand(
39+
CommandSwerveDrivetrain subsystem,
40+
DrivetrainCommand.Position pose,
41+
double leftX,
42+
double leftY,
43+
double rightX) {
44+
this.pose = pose;
45+
this.subsystem = subsystem;
46+
this.leftX = leftX;
47+
this.leftY = leftY;
48+
this.rightX = rightX;
49+
50+
addRequirements(subsystem);
51+
}
52+
53+
@Override
54+
public void initialize() {
55+
switch (pose) {
56+
case TELEOP:
57+
subsystem.applyRequest(
58+
() ->
59+
drive
60+
.withVelocityX(-leftY * MaxSpeed) // Drive forward with negative Y (forward)
61+
.withVelocityY(-leftX * MaxSpeed) // Drive left with negative X
62+
.withRotationalRate(
63+
-rightX * MaxAngularRate)); // Drive counterclockwise with negative X
64+
System.out.println("Drivetrain: Teleop Drive");
65+
break;
66+
case STILL_SHOT:
67+
// make X with wheels
68+
System.out.println("Drivetrain: Still Shot Configuration");
69+
break;
70+
default:
71+
break;
72+
}
73+
}
74+
75+
@Override
76+
public void end(boolean interrupted) {}
77+
78+
@Override
79+
public boolean isFinished() {
80+
return false;
81+
}
82+
}

src/main/java/frc/robot/Commands/FlywheelCommand.java

Lines changed: 15 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1,15 +1,18 @@
11
package frc.robot.Commands;
22

3+
import edu.wpi.first.epilogue.Logged;
34
import edu.wpi.first.math.geometry.Translation2d;
45
import edu.wpi.first.wpilibj2.command.Command;
56
import frc.robot.config.FlywheelConfig;
67
import frc.robot.subsystems.CommandSwerveDrivetrain;
78
import frc.robot.subsystems.Flywheel;
89
import frc.robot.subsystems.ShotCalculator;
910

11+
@Logged
1012
public class FlywheelCommand extends Command {
1113
public static enum Position {
12-
SHOOT,
14+
SHOOT_SIMPLE,
15+
SHOOT_CALCULATED,
1316
PASS,
1417
OUTTAKE
1518
}
@@ -18,8 +21,7 @@ public static enum Position {
1821
private FlywheelCommand.Position pose;
1922
private CommandSwerveDrivetrain drivetrain;
2023

21-
public FlywheelCommand(
22-
Flywheel subsystem, FlywheelCommand.Position pose, CommandSwerveDrivetrain drivetrain) {
24+
public FlywheelCommand(Flywheel subsystem, Position pose) {
2325
this.pose = pose;
2426
this.subsystem = subsystem;
2527
this.drivetrain = drivetrain;
@@ -30,13 +32,19 @@ public FlywheelCommand(
3032
@Override
3133
public void initialize() {
3234
switch (pose) {
33-
case SHOOT:
35+
case SHOOT_SIMPLE:
36+
subsystem.shoot(FlywheelConfig.FLYWHEEL_SHOOT_SPEED);
37+
System.out.println("Flywheel: Simple Shot");
38+
break;
39+
40+
case SHOOT_CALCULATED:
3441
subsystem.shoot(
3542
ShotCalculator.calculateFlywheelShot(
3643
drivetrain.getState().Pose.getTranslation(),
3744
new Translation2d(
3845
drivetrain.getState().Speeds.vxMetersPerSecond,
3946
drivetrain.getState().Speeds.vyMetersPerSecond)));
47+
System.out.println("Flywheel: Calculated Shot");
4048
break;
4149

4250
case PASS:
@@ -46,10 +54,13 @@ public void initialize() {
4654
new Translation2d(
4755
drivetrain.getState().Speeds.vxMetersPerSecond,
4856
drivetrain.getState().Speeds.vyMetersPerSecond)));
57+
System.out.println("Flywheel: Pass");
58+
4959
break;
5060

5161
case OUTTAKE:
5262
subsystem.outtake(FlywheelConfig.FLYWHEEL_OUTTAKE_SPEED);
63+
System.out.println("Flywheel: Outtakef");
5364
break;
5465

5566
default:

src/main/java/frc/robot/Commands/HoodCommand.java

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,11 +1,13 @@
11
package frc.robot.Commands;
22

3+
import edu.wpi.first.epilogue.Logged;
34
import edu.wpi.first.math.geometry.Translation2d;
45
import edu.wpi.first.wpilibj2.command.Command;
56
import frc.robot.subsystems.CommandSwerveDrivetrain;
67
import frc.robot.subsystems.Hood;
78
import frc.robot.subsystems.ShotCalculator;
89

10+
@Logged
911
public class HoodCommand extends Command {
1012
public static enum Position {
1113
SHOOT,

src/main/java/frc/robot/Commands/HopperCommand.java

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,9 +1,11 @@
11
package frc.robot.Commands;
22

3+
import edu.wpi.first.epilogue.Logged;
34
import edu.wpi.first.wpilibj2.command.Command;
45
import frc.robot.config.HopperConfig;
56
import frc.robot.subsystems.Hopper;
67

8+
@Logged
79
public class HopperCommand extends Command {
810
public static enum Position {
911
EXTEND,
@@ -25,10 +27,12 @@ public void initialize() {
2527
switch (pose) {
2628
case EXTEND:
2729
subsystem.move(HopperConfig.HOPPER_EXTEND_ROTATION);
30+
System.out.println("Hopper: Extending");
2831
break;
2932

3033
case RETRACT:
3134
subsystem.move(HopperConfig.HOPPER_RETRACT_ROTATION);
35+
System.out.println("Hopper: Retracting");
3236
break;
3337

3438
default:

src/main/java/frc/robot/Commands/IntakeCommand.java

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,9 +1,11 @@
11
package frc.robot.Commands;
22

3+
import edu.wpi.first.epilogue.Logged;
34
import edu.wpi.first.wpilibj2.command.Command;
45
import frc.robot.config.IntakeConfig;
56
import frc.robot.subsystems.Intake;
67

8+
@Logged
79
public class IntakeCommand extends Command {
810
public static enum Position {
911
INTAKE,
@@ -25,10 +27,12 @@ public void initialize() {
2527
switch (pose) {
2628
case INTAKE:
2729
subsystem.intake(IntakeConfig.INTAKE_INTAKE_SPEED);
30+
System.out.println("Intake: Intaking");
2831
break;
2932

3033
case OUTTAKE:
3134
subsystem.outtake(IntakeConfig.INTAKE_OUTTAKE_SPEED);
35+
System.out.println("Intake: Outtaking");
3236
break;
3337

3438
default:

src/main/java/frc/robot/Commands/KickerCommand.java

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,9 +1,11 @@
11
package frc.robot.Commands;
22

3+
import edu.wpi.first.epilogue.Logged;
34
import edu.wpi.first.wpilibj2.command.Command;
45
import frc.robot.config.KickerConfig;
56
import frc.robot.subsystems.Kicker;
67

8+
@Logged
79
public class KickerCommand extends Command {
810
public static enum Position {
911
INTAKE,
@@ -25,10 +27,12 @@ public void initialize() {
2527
switch (pose) {
2628
case INTAKE:
2729
subsystem.intake(KickerConfig.KICKER_INTAKE_SPEED);
30+
System.out.println("Kicker: Intaking");
2831
break;
2932

3033
case OUTTAKE:
3134
subsystem.outtake(KickerConfig.KICKER_INTAKE_SPEED);
35+
System.out.println("Kicker: Outtaking");
3236
break;
3337

3438
default:

src/main/java/frc/robot/Commands/SpindexerCommand.java

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,8 +1,10 @@
11
package frc.robot.Commands;
22

3+
import edu.wpi.first.epilogue.Logged;
34
import edu.wpi.first.wpilibj2.command.Command;
45
import frc.robot.subsystems.Spindexer;
56

7+
@Logged
68
public class SpindexerCommand extends Command {
79
public static enum Position {
810
INDEX
@@ -23,6 +25,7 @@ public void initialize() {
2325
switch (pose) {
2426
case INDEX:
2527
subsystem.index();
28+
System.out.println("Spindexer: Indexing");
2629
break;
2730

2831
default:

0 commit comments

Comments
 (0)