Skip to content

Commit

Permalink
Add power monitoring to subsystems
Browse files Browse the repository at this point in the history
	modified:   src/main/java/frc/robot/subsystems/algae_mech/AlgaeMech.java
	modified:   src/main/java/frc/robot/subsystems/algae_mech/AlgaeMechIO.java
	modified:   src/main/java/frc/robot/subsystems/climber/Climb.java
	modified:   src/main/java/frc/robot/subsystems/climber/ClimbIO.java
	modified:   src/main/java/frc/robot/subsystems/climber/ClimbIOTalonFX.java
	modified:   src/main/java/frc/robot/subsystems/coral_mech/CoralScorerIO.java
	modified:   src/main/java/frc/robot/subsystems/coral_mech/CoralScorerIOTalonFX.java
	modified:   src/main/java/frc/robot/subsystems/elevator/Elevator.java
	modified:   src/main/java/frc/robot/subsystems/elevator/ElevatorIO.java
  • Loading branch information
tbowers7 committed Feb 8, 2025
1 parent 20329f6 commit e758a38
Show file tree
Hide file tree
Showing 9 changed files with 59 additions and 4 deletions.
12 changes: 12 additions & 0 deletions src/main/java/frc/robot/subsystems/algae_mech/AlgaeMech.java
Original file line number Diff line number Diff line change
Expand Up @@ -14,6 +14,7 @@
package frc.robot.subsystems.algae_mech;

import frc.robot.util.RBSISubsystem;
import org.littletonrobotics.junction.Logger;

public class AlgaeMech extends RBSISubsystem {

Expand All @@ -23,4 +24,15 @@ public class AlgaeMech extends RBSISubsystem {
public AlgaeMech(AlgaeMechIO io) {
this.io = io;
}

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

@Override
public int[] getPowerPorts() {
return io.powerPorts;
}
}
Original file line number Diff line number Diff line change
Expand Up @@ -17,11 +17,19 @@

public interface AlgaeMechIO {

public final int[] powerPorts = {};

@AutoLog
public static class AlgaeMechIOInputs {
public double positionRad = 0.0;
public double velocityRadPerSec = 0.0;
public double appliedVolts = 0.0;
public double[] currentAmps = new double[] {};
}

public default void updateInputs(AlgaeMechIOInputs inputs) {}

public default void setCoast() {}

public default void setBrake() {}
}
5 changes: 5 additions & 0 deletions src/main/java/frc/robot/subsystems/climber/Climb.java
Original file line number Diff line number Diff line change
Expand Up @@ -40,4 +40,9 @@ public void rachetToggle(boolean toggleSwitch) {
io.turnClimbServo(1);
}
}

@Override
public int[] getPowerPorts() {
return io.powerPorts;
}
}
13 changes: 13 additions & 0 deletions src/main/java/frc/robot/subsystems/climber/ClimbIO.java
Original file line number Diff line number Diff line change
Expand Up @@ -13,13 +13,26 @@

package frc.robot.subsystems.climber;

import org.littletonrobotics.junction.AutoLog;

public interface ClimbIO {

public final int[] powerPorts = {};

@AutoLog
public static class ClimbIOInputs {}

public default void updateInputs(ClimbIOInputs inputs) {}

public default void turnClimbServo(double position) {}

public default void twistMotorToPosition(double positionInRotations) {}

public default void configPID(double kP, double kI, double kD) {}

public default void twistMotorVolts(double volts) {}

public default void setCoast() {}

public default void setBrake() {}
}
Original file line number Diff line number Diff line change
Expand Up @@ -25,6 +25,8 @@ public class ClimbIOTalonFX implements ClimbIO {
private final Servo climbExtender = new Servo(CANandPowerPorts.CLIMB_SERVO);
private final TalonFX climber = new TalonFX(CANandPowerPorts.CLIMB.getDeviceNumber());

public final int[] powerPorts = {CANandPowerPorts.CLIMB.getPowerPort()};

public ClimbIOTalonFX() {
var climbConfig = new TalonFXConfiguration();
climbConfig.MotorOutput.NeutralMode = NeutralModeValue.Brake;
Expand Down
11 changes: 9 additions & 2 deletions src/main/java/frc/robot/subsystems/coral_mech/CoralScorerIO.java
Original file line number Diff line number Diff line change
Expand Up @@ -13,14 +13,17 @@

package frc.robot.subsystems.coral_mech;

import frc.robot.subsystems.algae_mech.AlgaeMechIO.AlgaeMechIOInputs;
import org.littletonrobotics.junction.AutoLog;

public interface CoralScorerIO {

public final int[] powerPorts = {};

@AutoLog
public static class IntakeIOInputs {}
public static class CoralScorerIOInputs {}

public final int[] powerPorts = {};
public default void updateInputs(AlgaeMechIOInputs inputs) {}

public default void setVolts(double volts) {}

Expand All @@ -31,4 +34,8 @@ public default boolean getLightStop() {
}

public default void setVelocity(double velocity) {}

public default void setCoast() {}

public default void setBrake() {}
}
Original file line number Diff line number Diff line change
Expand Up @@ -14,11 +14,14 @@
package frc.robot.subsystems.coral_mech;

import edu.wpi.first.wpilibj.DigitalInput;
import frc.robot.Constants.CANandPowerPorts;

public class CoralScorerIOTalonFX implements CoralScorerIO {

private final DigitalInput lightStop = new DigitalInput(5);

public final int[] powerPorts = {CANandPowerPorts.CORAL_MECH.getPowerPort()};

@Override
public boolean getLightStop() {
return lightStop.get();
Expand Down
5 changes: 5 additions & 0 deletions src/main/java/frc/robot/subsystems/elevator/Elevator.java
Original file line number Diff line number Diff line change
Expand Up @@ -127,4 +127,9 @@ public void setCoast() {
public void setBrake() {
io.setBrake();
}

@Override
public int[] getPowerPorts() {
return io.powerPorts;
}
}
4 changes: 2 additions & 2 deletions src/main/java/frc/robot/subsystems/elevator/ElevatorIO.java
Original file line number Diff line number Diff line change
Expand Up @@ -28,10 +28,10 @@ public static class ElevatorIOInputs {
public double[] currentAmps = new double[] {};
}

public default void setPosistion(double posistion) {}

public default void updateInputs(ElevatorIOInputs inputs) {}

public default void setPosistion(double posistion) {}

public default void stop() {}

public default boolean getBottomStop() {
Expand Down

0 comments on commit e758a38

Please sign in to comment.