Skip to content
This repository has been archived by the owner on Jan 15, 2025. It is now read-only.

Commit

Permalink
Create roller subsystem
Browse files Browse the repository at this point in the history
  • Loading branch information
porgyy committed Nov 2, 2024
1 parent fe3621e commit 6488c1f
Show file tree
Hide file tree
Showing 4 changed files with 75 additions and 0 deletions.
30 changes: 30 additions & 0 deletions src/main/java/frc/robot/subsystems/rollers/RollerIOsparkmax.java
Original file line number Diff line number Diff line change
@@ -0,0 +1,30 @@
package frc.robot.subsystems.rollers;

import com.revrobotics.CANSparkBase.ControlType;
import com.revrobotics.CANSparkLowLevel.MotorType;
import com.revrobotics.CANSparkMax;
import com.revrobotics.RelativeEncoder;
import com.revrobotics.SparkPIDController;
import com.revrobotics.SparkPIDController.ArbFFUnits;
import edu.wpi.first.math.util.Units;



public class RollerIOsparkmax implements RollersIO {
private final CANSparkMax rollerMotor = new CANSparkMax(0,MotorType.kBrushless);

public RollerIOsparkmax() {
rollerMotor.restoreFactoryDefaults();
}
@Override
public void updateInputs(RollerIOInputs inputs){
inputs.appliedVolts = rollerMotor.getAppliedOutput() * rollerMotor.getBusVoltage();
inputs.currentAmps = rollerMotor.getOutputCurrent();
}

@Override
public void runVolts(double volts){
rollerMotor.setVoltage(volts);
}
}

23 changes: 23 additions & 0 deletions src/main/java/frc/robot/subsystems/rollers/Rollers.java
Original file line number Diff line number Diff line change
@@ -0,0 +1,23 @@
package frc.robot.subsystems.rollers;

import edu.wpi.first.math.controller.SimpleMotorFeedforward;
import edu.wpi.first.math.util.Units;
import edu.wpi.first.wpilibj2.command.Command;
import edu.wpi.first.wpilibj2.command.SubsystemBase;
import edu.wpi.first.wpilibj2.command.sysid.SysIdRoutine;
import frc.robot.Constants;
import org.littletonrobotics.junction.AutoLogOutput;
import org.littletonrobotics.junction.Logger;

public class Rollers extends SubsystemBase{
private final RollersIO io;
//private final RollersIOInputsAutoLogged inputs = new RollersIOInputsAutoLogged();

public Rollers(RollersIO io){
this.io = io;
}

public void runVolts(double volts){
io.setVoltage(volts);
}
}
19 changes: 19 additions & 0 deletions src/main/java/frc/robot/subsystems/rollers/RollersIO.java
Original file line number Diff line number Diff line change
@@ -0,0 +1,19 @@
package frc.robot.subsystems.rollers;

import org.littletonrobotics.junction.AutoLog;

public interface RollersIO {
@AutoLog
public static class RollerIOInputs {
public double positionRad = 0.0;
public double velocityRadPerSec = 0.0;
public double appliedVolts = 0.0;
public double currentAmps = 0.0;
}

public default void updateInputs(RollerIOInputs inputs) {}

public default void runVolts(double volts) {}

public default void stopRoller() {}
}
3 changes: 3 additions & 0 deletions src/main/java/frc/robot/subsystems/rollers/rollerIOsim.java
Original file line number Diff line number Diff line change
@@ -0,0 +1,3 @@
package frc.robot.subsystems.rollers;

public class rollerIOsim {}

0 comments on commit 6488c1f

Please sign in to comment.