Conversation
| /** | ||
| * this command checks if an enemy ball is trying to enter the Funnel, | ||
| * and if so it is rejecting it from entering the funnel system using a | ||
| * color sensor to check the color | ||
| * | ||
| * @see com.revrobotics.ColorSensorV3 colorSensor. | ||
| * @see Indexing Subsystem | ||
| */ |
There was a problem hiding this comment.
not comments, the command name should say that instead.
| @Override | ||
| public void execute() { | ||
| SmartDashboard.putBoolean("isBallInFunnel", isBallInFunnel); | ||
| SmartDashboard.putBoolean("isEnemyBallUnSensor", index.isEnemyBallInSensor()); |
There was a problem hiding this comment.
| SmartDashboard.putBoolean("isEnemyBallUnSensor", index.isEnemyBallInSensor()); | |
| SmartDashboard.putBoolean("isEnemyBallInSensor", index.isEnemyBallInSensor()); |
change the original name too, cause uh you have atypo
| isBallInFunnel = false; | ||
| } | ||
|
|
||
| if (index.isEnemyBallInSensor()) { |
There was a problem hiding this comment.
you said team's
so follow the same suit with enemy's for this.
| if (index.isEnemyBallInSensor()) { | |
| if (index.isEnemysBallInSensor()) { |
| if (DigitalInputMap.getInstance().getValue(0) || isBallInFunnel) { | ||
| isBallInFunnel = false; | ||
| SmartDashboard.putBoolean("isEvacuatingFromShooter", false); | ||
| //back direction |
There was a problem hiding this comment.
remove commit, your code should speak for itself.
| //back direction | |
| new ReverseRunFunnel().raceWith(new WaitCommand(0.2)) | ||
| ).andThen(new RunFunnel().until(() -> DigitalInputMap.getInstance().getValue(0))).schedule(false); | ||
| } else { | ||
| //shooter evacuation |
There was a problem hiding this comment.
remove comment, your code should speak for itself.
| //shooter evacuation | |
| import edu.wpi.first.wpilibj2.command.ParallelRaceGroup; | ||
| import edu.wpi.first.wpilibj2.command.WaitCommand; | ||
|
|
||
| public class EjectEnemyBallFromGripper extends ParallelRaceGroup { //todo can be deadline |
There was a problem hiding this comment.
No todo :D
decide if its deadline or not, and change accordingly, then delete comment.
| public class EjectEnemyBallFromGripper extends ParallelRaceGroup { //todo can be deadline | ||
| public EjectEnemyBallFromGripper() { | ||
| addCommands( | ||
| new WaitCommand(1.5), |
There was a problem hiding this comment.
what does the number represent? Use a const.
| } else { | ||
| //shooter evacuation | ||
| SmartDashboard.putBoolean("isEvacuatingFromShooter", true); | ||
| new ShooterEvacuate().raceWith(new WaitCommand(5)).schedule(false); |
There was a problem hiding this comment.
what does the number represent? const instead please.
| new ParallelDeadlineGroup( | ||
| new WaitCommand(0.5), | ||
| new ReverseRunRoller(), | ||
| new ReverseRunFunnel().raceWith(new WaitCommand(0.2)) |
There was a problem hiding this comment.
what do these number represent?
use a const instead.
| SmartDashboard.putBoolean("isEvacuatingFromShooter", false); | ||
| //back direction | ||
| new ParallelDeadlineGroup( | ||
| new WaitCommand(0.5), |
There was a problem hiding this comment.
what does the number represent? use a const.
| /** | ||
| * This class is in-charge of checking if an enemy ball is trying to get to the funnel (and eventually to the shooter) | ||
| * by using color sensor | ||
| * | ||
| * @see ColorSensorV3 colorSensorV3 | ||
| */ |
There was a problem hiding this comment.
Remove comments
| /** | |
| * This class is in-charge of checking if an enemy ball is trying to get to the funnel (and eventually to the shooter) | |
| * by using color sensor | |
| * | |
| * @see ColorSensorV3 colorSensorV3 | |
| */ | |
| /** | ||
| * @return the color that is in front of the sensor (as a DriverStation.Alliance enum) | ||
| */ |
There was a problem hiding this comment.
Remove comments
| /** | |
| * @return the color that is in front of the sensor (as a DriverStation.Alliance enum) | |
| */ |
| /** | ||
| * @return true if enemy ball in front of the sensor | ||
| */ |
There was a problem hiding this comment.
Remove comments
| /** | |
| * @return true if enemy ball in front of the sensor | |
| */ |
| /** | ||
| * @return true is our team's ball is in front of the sensor. | ||
| */ |
There was a problem hiding this comment.
Remove comments
| /** | |
| * @return true is our team's ball is in front of the sensor. | |
| */ |
| * @return true is our team's ball is in front of the sensor. | ||
| */ | ||
| public boolean isTeamsBallInSensor() { | ||
| DriverStation.Alliance a = instance.getBallColor(); |
There was a problem hiding this comment.
Name is not informative
Use a better name for it
| import edu.wpi.first.wpilibj2.command.ParallelRaceGroup; | ||
| import edu.wpi.first.wpilibj2.command.WaitUntilCommand; | ||
|
|
||
| public class EjectFromShooter extends ParallelRaceGroup {//todo delete |
There was a problem hiding this comment.
Remove comments
| public class EjectFromShooter extends ParallelRaceGroup {//todo delete | |
| public class EjectFromShooter extends ParallelRaceGroup { |
| addCommands( | ||
| new MoveBallUntilClick(), | ||
|
|
||
| //waits until the shooter is ready |
There was a problem hiding this comment.
Remove comments
| //waits until the shooter is ready |
| //waits until the shooter is ready | ||
| new WaitUntilCommand(() -> Shooter.getInstance().isPreparedToShoot()), | ||
|
|
||
| new ParallelDeadlineGroup(//activates both roller and funnel until ball is no longer at macro switch (was probably propelled) |
There was a problem hiding this comment.
Remove comments
| new ParallelDeadlineGroup(//activates both roller and funnel until ball is no longer at macro switch (was probably propelled) | |
| new ParallelDeadLineGroup( |
| @Override | ||
| public void initialize() { | ||
| super.initialize(); | ||
| startTime = System.currentTimeMillis() / 1000.0; |
| if (color[0] >= 0.05 && color[0] <= 0.2) { | ||
| return DriverStation.Alliance.Red; | ||
| } else if (color[0] >= 0.4 && color[0] < 0.6) { |
There was a problem hiding this comment.
constants
| if (color[0] >= 0.05 && color[0] <= 0.2) { | |
| return DriverStation.Alliance.Red; | |
| } else if (color[0] >= 0.4 && color[0] < 0.6) { | |
| if (color[0] >= constant1 && color[0] <= constant2) { | |
| return DriverStation.Alliance.Red; | |
| } else if (color[0] >= constant3 && color[0] < constant4) { |
| } | ||
|
|
||
| public static class Swerve { | ||
| public static final double WHEEL_CIRC = 0.0517 * 2 * Math.PI; //very accurate right now |
There was a problem hiding this comment.
no numbers, please replace with matching consts.
| if (index.isTeamsBallInSensor()) { | ||
| //if our team's ball is in front of the sensor activate the boolean | ||
| isBallInFunnel = true; | ||
| } | ||
| if (DigitalInputMap.getInstance().getValue(0)) { | ||
| //if the ball got to the macroSwitch then disable the boolean | ||
| isBallInFunnel = false; |
There was a problem hiding this comment.
perhaps split into functions, so we can know what each part does without any comments.
No description provided.