diff --git a/src/main/java/frc4388/robot/Robot.java b/src/main/java/frc4388/robot/Robot.java index 57eee61..fa604d7 100644 --- a/src/main/java/frc4388/robot/Robot.java +++ b/src/main/java/frc4388/robot/Robot.java @@ -20,7 +20,6 @@ import edu.wpi.first.wpilibj2.command.CommandScheduler; import frc4388.robot.constants.BuildConstants; import frc4388.robot.constants.Constants.SimConstants; import frc4388.utility.DeferredBlock; -import frc4388.utility.DeferredBlockMulti; import frc4388.utility.Trim; import frc4388.utility.compute.RobotTime; import frc4388.utility.status.FaultReporter; @@ -95,7 +94,6 @@ public class Robot extends LoggedRobot { @Override public void disabledExit() { DeferredBlock.execute(); - DeferredBlockMulti.execute(); } /** diff --git a/src/main/java/frc4388/robot/RobotContainer.java b/src/main/java/frc4388/robot/RobotContainer.java index ae0ae64..bb500ab 100644 --- a/src/main/java/frc4388/robot/RobotContainer.java +++ b/src/main/java/frc4388/robot/RobotContainer.java @@ -60,7 +60,6 @@ import frc4388.robot.subsystems.SwerveDrive; // Utilites import frc4388.utility.DeferredBlock; -import frc4388.utility.DeferredBlockMulti; import frc4388.utility.compute.TimesNegativeOne; import frc4388.utility.compute.ReefPositionHelper.Side; @@ -590,12 +589,14 @@ public class RobotContainer { configureButtonBindings(); configureVirtualButtonBindings(); - new DeferredBlock(() -> { // Called on first robot enable + + DeferredBlock.addBlock(() -> { // Called on first robot enable m_robotSwerveDrive.resetGyro(); - }); - new DeferredBlockMulti(() -> { // Called on every robot enable + }, false); + DeferredBlock.addBlock(() -> { // Called on every robot enable TimesNegativeOne.update(); - }); + }, true); + DriverStation.silenceJoystickConnectionWarning(true); // CameraServer.startAutomaticCapture(); diff --git a/src/main/java/frc4388/robot/subsystems/DiffDrive.java b/src/main/java/frc4388/robot/subsystems/DiffDrive.java index d6dfebe..d70356d 100644 --- a/src/main/java/frc4388/robot/subsystems/DiffDrive.java +++ b/src/main/java/frc4388/robot/subsystems/DiffDrive.java @@ -34,7 +34,7 @@ public class DiffDrive extends SubsystemBase implements Queryable { private TalonFX m_leftBackMotor; private TalonFX m_rightBackMotor; private DifferentialDrive m_driveTrain; - private Pigeon2 m_gyro; + // private Pigeon2 m_gyro; /** * Add your docs here. @@ -51,7 +51,7 @@ public class DiffDrive extends SubsystemBase implements Queryable { m_leftBackMotor .setControl(new Follower(m_leftFrontMotor.getDeviceID(), false)); m_rightBackMotor.setControl(new Follower(m_rightBackMotor.getDeviceID(), false)); m_driveTrain = driveTrain; - m_gyro = gyro; + // m_gyro = gyro; } @Override diff --git a/src/main/java/frc4388/utility/DeferredBlock.java b/src/main/java/frc4388/utility/DeferredBlock.java index 20d3c57..c5a558e 100644 --- a/src/main/java/frc4388/utility/DeferredBlock.java +++ b/src/main/java/frc4388/utility/DeferredBlock.java @@ -2,22 +2,40 @@ package frc4388.utility; import java.util.ArrayList; +// Class for running code snippets whenever the robot is enabled. public class DeferredBlock { - private static ArrayList m_blocks = new ArrayList<>(); + private static ArrayList m_blocks_norerun = new ArrayList<>(); + private static ArrayList m_blocks_rerun = new ArrayList<>(); private static boolean m_hasRun = false; - public DeferredBlock(Runnable block) { - m_blocks.add(block); + public static void addBlock(Runnable block) { + addBlock(block, false); + } + + + public static void addBlock(Runnable block, boolean rerun) { + if(rerun) { + m_blocks_rerun.add(block); + } else { + m_blocks_norerun.add(block); + } } public static void execute() { - if (m_hasRun) return; - for (Runnable block : m_blocks) { + // Run blocks that run multiple times. + for (Runnable block : m_blocks_rerun) { block.run(); } - m_blocks.clear(); // for garbage collection + // Run blocks that only run once + if (m_hasRun) return; + + for (Runnable block : m_blocks_norerun) { + block.run(); + } + + m_blocks_norerun.clear(); // for garbage collection m_hasRun = true; } } diff --git a/src/main/java/frc4388/utility/DeferredBlockMulti.java b/src/main/java/frc4388/utility/DeferredBlockMulti.java deleted file mode 100644 index 9e8b284..0000000 --- a/src/main/java/frc4388/utility/DeferredBlockMulti.java +++ /dev/null @@ -1,18 +0,0 @@ -package frc4388.utility; - -import java.util.ArrayList; - -public class DeferredBlockMulti { - private static ArrayList m_blocks = new ArrayList<>(); - - public DeferredBlockMulti(Runnable block) { - m_blocks.add(block); - } - - public static void execute() { - - for (Runnable block : m_blocks) { - block.run(); - } - } -}