Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 2 additions & 0 deletions src/main/java/frc/lib/lib2706/SubsystemChecker.java
Original file line number Diff line number Diff line change
Expand Up @@ -40,6 +40,7 @@ public enum SubsystemType {
SubsystemType.VisionNTSubsystem,
SubsystemType.GripperSubsystem,
SubsystemType.BlingSubsystem,
SubsystemType.ClimberSubsystem,
};

// RobotID: 1, 2022 robot, RapidReact, Clutch
Expand All @@ -60,6 +61,7 @@ public enum SubsystemType {
SubsystemType.DiffTalonSubsystem, // Chassis
SubsystemType.RelaySubsystem,
SubsystemType.BlingSubsystem,
SubsystemType.ClimberSubsystem,
};

// RobotID: 3, 2019 Comp Robot, Deep Space, Mergonaut
Expand Down
15 changes: 6 additions & 9 deletions src/main/java/frc/robot/commands/ClimberRPM.java
Original file line number Diff line number Diff line change
Expand Up @@ -4,24 +4,21 @@

package frc.robot.commands;
import java.util.function.DoubleSupplier;
import java.util.function.Supplier;

import edu.wpi.first.wpilibj2.command.CommandBase;
import edu.wpi.first.wpilibj2.command.Command;
import frc.robot.subsystems.ClimberSubsystem;

public class ClimberRPM extends CommandBase {
public class ClimberRPM extends Command {

private ClimberSubsystem climber;
private DoubleSupplier m_getPercentOutput;
/** Creates a new IndexerCargo. */
public ClimberRPM(DoubleSupplier getPercentOutput) {

climber = ClimberSubsystem.getInstance();

// Use addRequirements() here to declare subsystem dependencies.
if ( climber != null )
{
addRequirements(climber);

if (climber != null){
addRequirements(climber);
}

m_getPercentOutput = getPercentOutput;
Expand Down
33 changes: 12 additions & 21 deletions src/main/java/frc/robot/subsystems/ClimberSubsystem.java
Original file line number Diff line number Diff line change
Expand Up @@ -9,32 +9,33 @@
import com.revrobotics.RelativeEncoder;
import com.revrobotics.CANSparkLowLevel.MotorType;

import frc.lib.lib2706.SubsystemChecker;
import frc.lib.lib2706.SubsystemChecker.SubsystemType;
import frc.robot.Config;
import edu.wpi.first.wpilibj2.command.SubsystemBase;

public class ClimberSubsystem extends SubsystemBase {

//Instance Variables
private static ClimberSubsystem instance = null; // static object that contains all movement controls
private CANSparkMax m_climber;
private RelativeEncoder m_encoder;
//private double targetRPM = CLIMBER_RPM.getValue();
public double kMaxOutput = 1;
public double kMinOutput = -1;
public double currentPosition = 0;
public boolean m_bGoodSensors = false;
private static final ClimberSubsystem INSTANCE_CLIMBER = new ClimberSubsystem();

public static ClimberSubsystem getInstance() {
if (instance == null) {
SubsystemChecker.subsystemConstructed(SubsystemType.ClimberSubsystem);
instance = new ClimberSubsystem();
}
return instance;
}

/** Creates a new ClimberSubSystem. */
private ClimberSubsystem() {

if (Config.Climber_CANID.CLIMBER != -1) {
initializeSubsystem();
}
else
{
m_climber = null;
}

initializeSubsystem();
}

private void initializeSubsystem()
Expand All @@ -59,16 +60,6 @@ public boolean isAvailable()
return m_climber != null;
}

/*
* Returns the singleton instance for the Climber Subsystem
*/
public static ClimberSubsystem getInstance() {
if ( INSTANCE_CLIMBER.isAvailable() == true)
return INSTANCE_CLIMBER;
else
return null;
}

//Run the climber

public void StartClimberRPM(double percentOutput){
Expand Down