diff --git a/simgui-ds.json b/simgui-ds.json index 235b0b9..2b314ff 100644 --- a/simgui-ds.json +++ b/simgui-ds.json @@ -9,6 +9,11 @@ "visible": true } }, + "System Joysticks": { + "window": { + "visible": false + } + }, "keyboardJoysticks": [ { "axisConfig": [ @@ -109,6 +114,7 @@ } ], "robotJoysticks": [ + {}, { "guid": "Keyboard0" } diff --git a/src/main/java/frc/robot/commands/ManualElevatorCommand.java b/src/main/java/frc/robot/commands/ManualElevatorCommand.java index 7cb422b..ad36d03 100644 --- a/src/main/java/frc/robot/commands/ManualElevatorCommand.java +++ b/src/main/java/frc/robot/commands/ManualElevatorCommand.java @@ -26,6 +26,14 @@ public void execute() { double calculatedVolts = elevator.elevatorFF.calculate(manualVelocity); Logger.recordOutput("ElevatorSubsystem/target_voltage", calculatedVolts); this.elevator.setElevatorVoltage(calculatedVolts); + if (elevator.getLoadHeight() >= 1.8) { + // We are going up and top limit is tripped so stop + elevator.setElevatorVoltage(ElevatorConstants.kG); + } + if (elevator.getLoadHeight() <= 0.5) { + // We are going down and bottom limit is tripped so stop + elevator.setElevatorVoltage(ElevatorConstants.kG); + } } @Override diff --git a/src/main/java/frc/robot/subsystems/ElevatorSubsystem/ElevatorIOSim.java b/src/main/java/frc/robot/subsystems/ElevatorSubsystem/ElevatorIOSim.java index 6748c40..6b39c98 100644 --- a/src/main/java/frc/robot/subsystems/ElevatorSubsystem/ElevatorIOSim.java +++ b/src/main/java/frc/robot/subsystems/ElevatorSubsystem/ElevatorIOSim.java @@ -2,6 +2,7 @@ import edu.wpi.first.math.MathUtil; import edu.wpi.first.math.filter.LinearFilter; +import edu.wpi.first.wpilibj.DigitalInput; import edu.wpi.first.wpilibj.simulation.ElevatorSim; import frc.robot.constants.ElevatorConstants; import org.littletonrobotics.junction.Logger; @@ -22,6 +23,8 @@ public class ElevatorIOSim implements ElevatorIO { 0, 0.01,0); + public static final DigitalInput toplimitSwitch = new DigitalInput(0); + public static final DigitalInput bottomlimitSwitch = new DigitalInput(1); @Override public void updateInputs(ElevatorIO.ElevatorIOInputs inputs) { @@ -29,7 +32,10 @@ public void updateInputs(ElevatorIO.ElevatorIOInputs inputs) { inputs.unfilteredLoadHeight = elevatorMotor1Sim.getPositionMeters(); inputs.loadHeight = elevatorFilter.calculate(inputs.unfilteredLoadHeight); inputs.elevatorCurrentAmps = new double[]{Math.abs(elevatorMotor1Sim.getCurrentDrawAmps())}; - inputs.elevatorSpeed = elevatorMotor1Sim.getVelocityMetersPerSecond(); + + + Logger.recordOutput("ElevatorSubsystem/toplimitSwitch", toplimitSwitch.get()); + Logger.recordOutput("ElevatorSubsystem/bottomlimitSwitch", bottomlimitSwitch.get()); Logger.recordOutput("ElevatorSubsystem/loadHeight", inputs.loadHeight); Logger.recordOutput("ElevatorSubsystem/unfilteredLoadHeight", inputs.unfilteredLoadHeight); }