diff --git a/src/main/java/frc/robot/Constants.java b/src/main/java/frc/robot/Constants.java index c1239033..3fd2cda9 100644 --- a/src/main/java/frc/robot/Constants.java +++ b/src/main/java/frc/robot/Constants.java @@ -36,6 +36,10 @@ public static enum Mode { REPLAY } + public static final class FeatureFlags { + public static final boolean simulateVision = false; + } + public static final class ConversionConstants { public static final double kRadiansPerSecondToRPM = 60.0 / (2.0 * Math.PI); } diff --git a/src/main/java/frc/robot/RobotContainer.java b/src/main/java/frc/robot/RobotContainer.java index c56a051a..5e56971d 100644 --- a/src/main/java/frc/robot/RobotContainer.java +++ b/src/main/java/frc/robot/RobotContainer.java @@ -5,6 +5,7 @@ import edu.wpi.first.wpilibj2.command.button.CommandJoystick; import edu.wpi.first.wpilibj2.command.button.CommandXboxController; import frc.robot.Constants.DriveConstants; +import frc.robot.Constants.FeatureFlags; import frc.robot.Constants.TunerConstants; import frc.robot.Constants.VisionConstants; import frc.robot.commands.DriveWithJoysticks; @@ -19,6 +20,7 @@ import frc.robot.subsystems.scoring.ScoringSubsystem; import frc.robot.subsystems.scoring.ShooterIOSim; import frc.robot.subsystems.scoring.ShooterIOTalon; +import java.util.Collections; public class RobotContainer { ScoringSubsystem scoringSubsystem; @@ -111,10 +113,19 @@ public void configureSubsystems() { new HoodIOSim(), driveTelemetry::getFieldToRobot); - tagVision = - new VisionLocalizer( - new VisionIOSim( - VisionConstants.cameras, driveTelemetry::getModuleStates)); + if (FeatureFlags.simulateVision) { + tagVision = + new VisionLocalizer( + new VisionIOSim( + VisionConstants.cameras, + driveTelemetry::getModuleStates)); + } else { + tagVision = + new VisionLocalizer( + new VisionIOSim( + Collections.emptyList(), + driveTelemetry::getModuleStates)); + } break; case REPLAY: break;