Skip to content

Commit

Permalink
gili's changes
Browse files Browse the repository at this point in the history
  • Loading branch information
AvidCoder27 committed Oct 31, 2024
1 parent aea82cd commit b36b3ef
Show file tree
Hide file tree
Showing 6 changed files with 62 additions and 23 deletions.
6 changes: 5 additions & 1 deletion src/main/java/frc/team5115/Constants.java
Original file line number Diff line number Diff line change
Expand Up @@ -13,6 +13,8 @@

package frc.team5115;

import edu.wpi.first.wpilibj.RobotBase;

/**
* The Constants class provides a convenient place for teams to hold robot-wide numerical or boolean
* constants. This class should not be used for any other purpose. All constants should be declared
Expand All @@ -22,7 +24,9 @@
* constants are needed, to reduce verbosity.
*/
public final class Constants {
public static final Mode currentMode = Mode.REAL;
private static final boolean isReplay = false;
public static final Mode currentMode =
RobotBase.isReal() ? Mode.REAL : (isReplay ? Mode.REPLAY : Mode.SIM);

public static enum Mode {
/** Running on a real robot. */
Expand Down
4 changes: 1 addition & 3 deletions src/main/java/frc/team5115/Robot.java
Original file line number Diff line number Diff line change
Expand Up @@ -93,9 +93,7 @@ public void robotInit() {

/** This function is called periodically during all modes. */
@Override
public void robotPeriodic() {

}
public void robotPeriodic() {}

/** This function is called once when autonomous is enabled. */
@Override
Expand Down
26 changes: 26 additions & 0 deletions src/main/java/frc/team5115/RobotContainer.java
Original file line number Diff line number Diff line change
@@ -0,0 +1,26 @@
package frc.team5115;

import frc.team5115.subsystems.sensor.Sensor;
import frc.team5115.subsystems.sensor.SensorIO;
import frc.team5115.subsystems.sensor.SensorIOPololu;

public class RobotContainer {
private final Sensor sensor;

public RobotContainer() {
switch (Constants.currentMode) {
case REAL:
sensor = new Sensor(new SensorIOPololu());
break;

case SIM:
sensor = new Sensor(new SensorIO() {});
break;

default:
sensor = new Sensor(new SensorIO() {});
break;
}
sensor.setDefaultCommand(sensor.printState());
}
}
22 changes: 17 additions & 5 deletions src/main/java/frc/team5115/subsystems/sensor/Sensor.java
Original file line number Diff line number Diff line change
@@ -1,13 +1,25 @@
package frc.team5115.subsystems.sensor;

import edu.wpi.first.wpilibj2.command.Command;
import edu.wpi.first.wpilibj2.command.Commands;
import edu.wpi.first.wpilibj2.command.SubsystemBase;
import org.littletonrobotics.junction.Logger;

public class Sensor extends SubsystemBase {
private final SensorIO io;
private final SensorIO io;
private final SensorIOInputsAutoLogged inputs = new SensorIOInputsAutoLogged();

public Sensor (SensorIO io) {
this.io = io;
}
public Sensor(SensorIO io) {
this.io = io;
}


@Override
public void periodic() {
io.updateInputs(inputs);
Logger.processInputs(getName(), inputs);
}

public Command printState() {
return Commands.print("Something Detected?" + inputs.somethingDetected);
}
}
10 changes: 5 additions & 5 deletions src/main/java/frc/team5115/subsystems/sensor/SensorIO.java
Original file line number Diff line number Diff line change
Expand Up @@ -3,10 +3,10 @@
import org.littletonrobotics.junction.AutoLog;

public interface SensorIO {
@AutoLog
public static class SensorIOInputs {
public boolean somethingDetected = false;
}
@AutoLog
public static class SensorIOInputs {
public boolean somethingDetected = false;
}

public default void updateInputs(SensorIOInputs inputs) {}
public default void updateInputs(SensorIOInputs inputs) {}
}
17 changes: 8 additions & 9 deletions src/main/java/frc/team5115/subsystems/sensor/SensorIOPololu.java
Original file line number Diff line number Diff line change
Expand Up @@ -3,15 +3,14 @@
import edu.wpi.first.wpilibj.DigitalInput;

public class SensorIOPololu implements SensorIO {
private final DigitalInput sensor;
private final DigitalInput sensor;

public SensorIOPololu() {
sensor = new DigitalInput(0);
public SensorIOPololu() {
sensor = new DigitalInput(0);
}

}

@Override
public void updateInputs(SensorIOInputs inputs) {
inputs.somethingDetected = sensor.get();
}
@Override
public void updateInputs(SensorIOInputs inputs) {
inputs.somethingDetected = sensor.get();
}
}

0 comments on commit b36b3ef

Please sign in to comment.