Skip to content
Draft
Show file tree
Hide file tree
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
6 changes: 2 additions & 4 deletions src/main/java/competition/Robot.java
Original file line number Diff line number Diff line change
Expand Up @@ -12,11 +12,9 @@
import competition.operator_interface.OperatorInterface;
import competition.simulation.BaseSimulator;
import competition.subsystems.algae_arm.AlgaeArmSubsystem;
import competition.subsystems.coral_arm.CoralArmSubsystem;
import competition.subsystems.pose.Landmarks;
import competition.subsystems.stinger_arm.StingerArmSubsystem;
import competition.subsystems.pose.PoseSubsystem;
import edu.wpi.first.wpilibj.Preferences;
import edu.wpi.first.wpilibj2.command.InstantCommand;
import org.apache.logging.log4j.LogManager;
import org.apache.logging.log4j.Logger;

Expand All @@ -40,7 +38,7 @@ public class Robot extends BaseRobot {
ElectricalContract simulatorContract = new UnitTestContract2025();
OperatorInterface oi;
AlgaeArmSubsystem algaeArmSubsystem;
CoralArmSubsystem coralArmSubsystem;
StingerArmSubsystem coralArmSubsystem;

Robot() {
// We currently can't keep up with 0.02s loop times, and the error reporting about loop
Expand Down
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
package competition.commandgroups;

import competition.subsystems.coral_scorer.commands.IntakeUntilCoralCollectedCommand;
import competition.subsystems.stinger_collection.commands.IntakeUntilCoralCollectedCommand;
import competition.subsystems.drive.commands.AlignToSpecificHumanLoadingStationCommand;
import competition.subsystems.drive.commands.DriveToCoralStationCommand;
import competition.subsystems.drive.commands.DriveToCoralStationInterstitialCommand;
Expand Down
Original file line number Diff line number Diff line change
@@ -1,12 +1,11 @@
package competition.commandgroups;

import competition.subsystems.coral_scorer.commands.ScoreWhenReadyCommand;
import competition.subsystems.stinger_collection.commands.ScoreWhenReadyCommand;
import competition.subsystems.drive.commands.MeasureDistanceBeforeScoringCommand;
import competition.subsystems.pose.Landmarks;
import edu.wpi.first.units.measure.Distance;
import edu.wpi.first.wpilibj2.command.ParallelCommandGroup;
import edu.wpi.first.wpilibj2.command.SequentialCommandGroup;
import edu.wpi.first.wpilibj2.command.WaitCommand;
import xbot.common.command.DelayViaSupplierCommand;
import xbot.common.properties.DistanceProperty;
import xbot.common.properties.DoubleProperty;
Expand Down
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
package competition.commandgroups;

import competition.subsystems.coral_scorer.commands.IntakeUntilCoralCollectedCommand;
import competition.subsystems.stinger_collection.commands.IntakeUntilCoralCollectedCommand;
import competition.subsystems.drive.commands.AlignToSpecificHumanLoadingStationCommand;
import competition.subsystems.drive.commands.DriveToCoralStationInterstitialCommand;
import competition.subsystems.drive.commands.ShoveCoralStationCommand;
Expand Down
Original file line number Diff line number Diff line change
@@ -1,13 +1,12 @@
package competition.commandgroups;

import competition.subsystems.coral_arm.CoralArmSubsystem;
import competition.subsystems.coral_scorer.commands.ScoreWhenReadyCommand;
import competition.subsystems.stinger_arm.StingerArmSubsystem;
import competition.subsystems.stinger_collection.commands.ScoreWhenReadyCommand;
import competition.subsystems.drive.commands.AlignToReefWithAprilTagCommand;
import competition.subsystems.drive.commands.DriveToReefFaceFromAngleUntilDetectionCommand;
import competition.subsystems.drive.commands.MeasureDistanceBeforeScoringCommand;
import competition.subsystems.pose.Cameras;
import competition.subsystems.pose.Landmarks;
import competition.subsystems.pose.PoseSubsystem;
import dagger.assisted.Assisted;
import dagger.assisted.AssistedFactory;
import dagger.assisted.AssistedInject;
Expand All @@ -19,7 +18,7 @@
import static edu.wpi.first.units.Units.Meters;

public class HeadingAssistedDriveAndScoreCommandGroup extends SequentialCommandGroup {
CoralArmSubsystem coralArmSubsystem;
StingerArmSubsystem coralArmSubsystem;


@AssistedFactory
Expand All @@ -34,7 +33,7 @@ public HeadingAssistedDriveAndScoreCommandGroup(@Assisted Landmarks.Branch branc
ScoreWhenReadyCommand scoreWhenReadyCommand,
Provider<AlignToReefWithAprilTagCommand> alignToReefWithAprilTagCommandProvider,
MeasureDistanceBeforeScoringCommand measureDistanceBeforeScoringCommand,
CoralArmSubsystem coralArmSubsystem) {
StingerArmSubsystem coralArmSubsystem) {
this.coralArmSubsystem = coralArmSubsystem;
var prepCoralSystemCommandGroup = prepCoralSystemCommandGroupFactory.create(coralArmSubsystem::getTargetCoralLevel);
var alignToReefWithAprilTagWithCameraCommand = alignToReefWithAprilTagCommandProvider.get();
Expand Down
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
package competition.commandgroups;

import competition.subsystems.coral_scorer.commands.IntakeUntilCoralCollectedCommand;
import competition.subsystems.stinger_collection.commands.IntakeUntilCoralCollectedCommand;
import competition.subsystems.pose.Landmarks;
import edu.wpi.first.wpilibj2.command.ParallelCommandGroup;

Expand Down
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
package competition.commandgroups;

import competition.subsystems.coral_arm.commands.SetCoralArmTargetAngleCommand;
import competition.subsystems.stinger_arm.commands.SetStingerArmTargetAngleCommand;
import competition.subsystems.elevator.commands.SetElevatorTargetHeightCommand;
import competition.subsystems.pose.Landmarks;
import edu.wpi.first.wpilibj2.command.ParallelCommandGroup;
Expand All @@ -12,12 +12,12 @@
public class PrepCoralSystemCommandGroupFactory {

Provider<SetElevatorTargetHeightCommand> setElevatorTargetHeightCommandProvider;
Provider<SetCoralArmTargetAngleCommand> setCoralArmTargetAngleCommandProvider;
Provider<SetStingerArmTargetAngleCommand> setCoralArmTargetAngleCommandProvider;


@Inject
public PrepCoralSystemCommandGroupFactory(Provider<SetElevatorTargetHeightCommand> setElevatorTargetHeightCommandProvider,
Provider<SetCoralArmTargetAngleCommand> setCoralArmTargetAngleCommandProvider) {
Provider<SetStingerArmTargetAngleCommand> setCoralArmTargetAngleCommandProvider) {
this.setElevatorTargetHeightCommandProvider = setElevatorTargetHeightCommandProvider;
this.setCoralArmTargetAngleCommandProvider = setCoralArmTargetAngleCommandProvider;
}
Expand Down
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
package competition.commandgroups.vision_path;

import competition.commandgroups.PrepCoralSystemCommandGroupFactory;
import competition.subsystems.coral_scorer.commands.IntakeUntilCoralCollectedCommand;
import competition.subsystems.stinger_collection.commands.IntakeUntilCoralCollectedCommand;
import competition.subsystems.drive.commands.vision_path.DriveVectorSmallCommand;
import competition.subsystems.drive.commands.vision_path.PathDriveToNearestCoralStationSectionCommand;
import competition.subsystems.pose.Landmarks;
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,7 @@
import static edu.wpi.first.units.Units.Seconds;

import competition.commandgroups.PrepCoralSystemCommandGroupFactory;
import competition.subsystems.coral_scorer.commands.IntakeUntilCoralCollectedCommand;
import competition.subsystems.stinger_collection.commands.IntakeUntilCoralCollectedCommand;
import competition.subsystems.drive.commands.vision_path.DriveVectorSmallCommand;
import competition.subsystems.drive.commands.vision_path.PathDriveToLocationCommand;
import competition.subsystems.pose.Landmarks;
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,7 @@
import static edu.wpi.first.units.Units.Meters;

import competition.commandgroups.PrepCoralSystemCommandGroupFactory;
import competition.subsystems.coral_scorer.commands.ScoreWhenReadyCommand;
import competition.subsystems.stinger_collection.commands.ScoreWhenReadyCommand;
import competition.subsystems.drive.commands.AlignToTagGlobalMovementWithCalculator;
import competition.subsystems.drive.commands.MeasureDistanceBeforeScoringCommand;
import competition.subsystems.drive.commands.vision_path.PathDriveToLocationCommandUntilAprilTagDetectionDynamic;
Expand All @@ -13,7 +13,6 @@
import competition.subsystems.vision.AprilTagVisionSubsystemExtended;
import edu.wpi.first.math.geometry.Pose2d;
import edu.wpi.first.wpilibj.DriverStation;
import edu.wpi.first.wpilibj2.command.InstantCommand;
import edu.wpi.first.wpilibj2.command.ParallelCommandGroup;
import edu.wpi.first.wpilibj2.command.SequentialCommandGroup;
import javax.inject.Inject;
Expand Down
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
package competition.commandgroups.vision_path;

import competition.commandgroups.PrepCoralSystemCommandGroupFactory;
import competition.subsystems.coral_scorer.commands.ScoreWhenReadyCommand;
import competition.subsystems.stinger_collection.commands.ScoreWhenReadyCommand;
import competition.subsystems.drive.commands.MeasureDistanceBeforeScoringCommand;
import competition.subsystems.pose.Landmarks;
import edu.wpi.first.units.measure.Distance;
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -60,9 +60,9 @@ public CANMotorControllerInfo getCoralCollectionMotor() {
);
}

public boolean isCoralArmMotorReady() { return true; }
public boolean isStingerArmMotorReady() { return true; }

public CANMotorControllerInfo getCoralArmPivotMotor() {
public CANMotorControllerInfo getStingerArmPivotMotor() {
return new CANMotorControllerInfo("ArmPivotMotor",
MotorControllerType.TalonFx,
CANBusId.RIO,
Expand Down Expand Up @@ -112,16 +112,16 @@ public boolean areCanCodersReady() {
return true;
}

public DeviceInfo getCoralArmPivotAbsoluteEncoder() {
public DeviceInfo getStingerArmPivotAbsoluteEncoder() {
return new DeviceInfo("ArmPivotAbsoluteEncoder", 29);
}

public boolean isCoralArmPivotAbsoluteEncoderReady() { return false; }
public boolean isStingerArmPivotAbsoluteEncoderReady() { return false; }

public DeviceInfo getCoralArmLowSensor() {
public DeviceInfo getStingerArmLowSensor() {
return new DeviceInfo("ArmPivotLowSensor", 1, true);
}
public boolean isCoralArmLowSensorReady() { return true; }
public boolean isStingerArmLowSensorReady() { return true; }

@Override
public boolean isElevatorReady() {
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -46,17 +46,17 @@ public abstract class ElectricalContract implements XSwerveDriveElectricalContra

public abstract CANMotorControllerInfo getCoralCollectionMotor();

public abstract boolean isCoralArmMotorReady();
public abstract boolean isStingerArmMotorReady();

public abstract CANMotorControllerInfo getCoralArmPivotMotor();
public abstract CANMotorControllerInfo getStingerArmPivotMotor();

public abstract boolean isCoralArmPivotAbsoluteEncoderReady();
public abstract boolean isStingerArmPivotAbsoluteEncoderReady();

public abstract DeviceInfo getCoralArmPivotAbsoluteEncoder();
public abstract DeviceInfo getStingerArmPivotAbsoluteEncoder();

public abstract boolean isCoralArmLowSensorReady();
public abstract boolean isStingerArmLowSensorReady();

public abstract DeviceInfo getCoralArmLowSensor();
public abstract DeviceInfo getStingerArmLowSensor();

public abstract boolean isCoralScorerSensorReady();

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -38,7 +38,7 @@ public boolean isElevatorBottomSensorReady() {
}

@Override
public boolean isCoralArmMotorReady() {
public boolean isStingerArmMotorReady() {
return false;
}

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -15,12 +15,12 @@ public UnitTestContract2025() {}

public boolean isCoralScorerSensorReady() { return true;}

public boolean isCoralArmMotorReady() { return true; }
public boolean isStingerArmMotorReady() { return true; }

// we don't have plans to have this sensor on the robot
public boolean isCoralArmPivotAbsoluteEncoderReady() { return false; }
public boolean isStingerArmPivotAbsoluteEncoderReady() { return false; }

public boolean isCoralArmLowSensorReady() { return true; }
public boolean isStingerArmLowSensorReady() { return true; }

public boolean isElevatorReady() { return true;}

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -9,8 +9,8 @@
import competition.subsystems.SubsystemDefaultCommandMap;
import competition.subsystems.algae_arm.AlgaeArmSubsystem;
import competition.subsystems.algae_collection.AlgaeCollectionSubsystem;
import competition.subsystems.coral_arm.CoralArmSubsystem;
import competition.subsystems.coral_scorer.CoralScorerSubsystem;
import competition.subsystems.stinger_arm.StingerArmSubsystem;
import competition.subsystems.stinger_collection.StingerCollectionSubsystem;
import competition.subsystems.drive.commands.AlignToNearestCoralStationCommand;
import competition.subsystems.drive.commands.EmergencyAutonomousCommand;
import competition.subsystems.deadwheel.DeadWheelSubsystem;
Expand Down Expand Up @@ -45,11 +45,11 @@ public abstract class BaseRobotComponent extends BaseComponent {

public abstract BaseSimulator simulator();

public abstract CoralArmSubsystem armPivotSubsystem();
public abstract StingerArmSubsystem armPivotSubsystem();

public abstract ElevatorSubsystem elevatorSubsystem();

public abstract CoralScorerSubsystem coralScorerSubsystem();
public abstract StingerCollectionSubsystem coralScorerSubsystem();

public abstract SuperstructureMechanismSubsystem superstructureMechanismSubsystem();

Expand All @@ -71,7 +71,7 @@ public abstract class BaseRobotComponent extends BaseComponent {

public abstract AlgaeArmSubsystem algaeArmSubsystem();

public abstract CoralArmSubsystem coralArmSubsystem();
public abstract StingerArmSubsystem coralArmSubsystem();

public abstract AlgaeCollectionSubsystem algaeCollectionSubsystem();

Expand Down
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
package competition.injection.modules;

import competition.electrical_contract.ElectricalContract;
import competition.subsystems.coral_scorer.CoralScorerSubsystem;
import competition.subsystems.stinger_collection.StingerCollectionSubsystem;
import competition.subsystems.drive.DriveSubsystem;
import competition.subsystems.oracle.contracts.CoralCollectionInfoSource;
import competition.subsystems.pose.PoseSubsystem;
Expand Down Expand Up @@ -107,5 +107,5 @@ public static GameField.Symmetry gameFieldSymmetry() {

@Binds
@Singleton
public abstract CoralCollectionInfoSource getCoralCollectionInfoSource(CoralScorerSubsystem impl);
public abstract CoralCollectionInfoSource getCoralCollectionInfoSource(StingerCollectionSubsystem impl);
}
Original file line number Diff line number Diff line change
Expand Up @@ -16,14 +16,14 @@
import competition.subsystems.algae_arm.commands.SetAlgaeArmSetpointToTargetPosition;
import competition.subsystems.algae_collection.commands.AlgaeCollectionIntakeCommand;
import competition.subsystems.algae_collection.commands.AlgaeCollectionOutputCommand;
import competition.subsystems.coral_arm.CoralArmSubsystem;
import competition.subsystems.coral_arm.commands.ForceCoralArmCalibratedCommand;
import competition.subsystems.coral_arm.commands.SetCoralArmTargetAngleCommand;
import competition.subsystems.coral_scorer.commands.IntakeAlgaeCommand;
import competition.subsystems.coral_scorer.commands.IntakeCoralCommand;
import competition.subsystems.coral_scorer.commands.ScoreAlgaeCommand;
import competition.subsystems.coral_scorer.commands.ScoreCoralCommand;
import competition.subsystems.coral_scorer.commands.ScoreWhenReadyCommand;
import competition.subsystems.stinger_arm.StingerArmSubsystem;
import competition.subsystems.stinger_arm.commands.ForceStingerArmCalibratedCommand;
import competition.subsystems.stinger_arm.commands.SetStingerArmTargetAngleCommand;
import competition.subsystems.stinger_collection.commands.IntakeAlgaeCommand;
import competition.subsystems.stinger_collection.commands.IntakeCoralCommand;
import competition.subsystems.stinger_collection.commands.ScoreAlgaeCommand;
import competition.subsystems.stinger_collection.commands.ScoreCoralCommand;
import competition.subsystems.stinger_collection.commands.ScoreWhenReadyCommand;
import competition.subsystems.drive.DriveSubsystem;
import competition.subsystems.drive.commands.AlignToReefWithAprilTagCommand;
import competition.subsystems.drive.commands.CalibrateDriveCommand;
Expand All @@ -46,7 +46,6 @@
import edu.wpi.first.wpilibj2.command.Commands;
import edu.wpi.first.wpilibj2.command.ConditionalCommand;
import edu.wpi.first.wpilibj2.command.SequentialCommandGroup;
import org.kobe.xbot.Utilities.Entities.XTableValues;
import xbot.common.controls.sensors.XXboxController;
import xbot.common.subsystems.autonomous.SetAutonomousCommand;
import xbot.common.subsystems.drive.swerve.commands.ChangeActiveSwerveModuleCommand;
Expand Down Expand Up @@ -146,13 +145,13 @@ public void setUpOperatorCommands(OperatorInterface oi,
ScoreCoralCommand scoreCoralCommand,
ScoreWhenReadyCommand scoreWhenReadyCommand,
ForceElevatorCalibratedCommand forceElevatorCalibratedCommand,
ForceCoralArmCalibratedCommand forceCoralPivotCalibratedCommand,
ForceStingerArmCalibratedCommand forceCoralPivotCalibratedCommand,
ForceAlgaeArmCalibrated forceAlgaeArmCalibrated,
Provider<SetAlgaeArmSetpointToTargetPosition> setAlgaeArmProvider,
AlgaeCollectionIntakeCommand intakeAlgae,
AlgaeCollectionOutputCommand ejectAlgae,
Provider<SetElevatorTargetHeightCommand> setElevatorTargetHeightCommandProvider,
CoralArmSubsystem coralArmSubsystem,
StingerArmSubsystem coralArmSubsystem,
IntakeCoralCommand intakeCoralCommand,
PrepAlgaeSystemCommandGroupFactory prepAlgaeSystemCommandGroupFactory,
IntakeAlgaeCommand intakeAlgaeCommand,
Expand Down Expand Up @@ -216,10 +215,10 @@ public void setupSuperstructureGamepadCommands(
OperatorInterface oi,
IntakeCoralCommand intakeCoralCommand,
ScoreCoralCommand scoreCoralCommand,
Provider<SetCoralArmTargetAngleCommand> setArmTargetAngleCommandProvider,
Provider<SetStingerArmTargetAngleCommand> setArmTargetAngleCommandProvider,
Provider<SetElevatorTargetHeightCommand> setElevatorTargetHeightCommandProvider,
ForceElevatorCalibratedCommand forceElevatorCalibratedCommand,
ForceCoralArmCalibratedCommand forceCoralArmCalibratedCommand,
ForceStingerArmCalibratedCommand forceCoralArmCalibratedCommand,
RepositionAlgaeArmDown repositionAlgaeArmDown,
RepositionAlgaeArmUp repositionAlgaeArmUp,
ToggleElevatorMotionMagicCommand toggleElevatorMotionMagicCommand) {
Expand Down Expand Up @@ -258,7 +257,7 @@ public void setupSuperstructureGamepadCommands(
}

@Inject
public void setupNeoTrellis(OperatorInterface oi, CoralArmSubsystem coralArmSubsystem, TrimElevatorUp trimElevatorUp,
public void setupNeoTrellis(OperatorInterface oi, StingerArmSubsystem coralArmSubsystem, TrimElevatorUp trimElevatorUp,
TrimElevatorDown trimElevatorDown) {
oi.neoTrellis.getifAvailable(9)
.onTrue(coralArmSubsystem.createSetTargetCoralLevelCommand(Landmarks.CoralLevel.TWO));
Expand Down
Loading