Package frc.robot.shared.commands
Class AbstractVelocityCommand<TSubsystem extends AbstractVelocitySubsystem<?>>
java.lang.Object
edu.wpi.first.wpilibj2.command.Command
frc.robot.shared.commands.AbstractSubsystemCommand<TSubsystem>
frc.robot.shared.commands.AbstractVelocityCommand<TSubsystem>
- Type Parameters:
TSubsystem- concrete velocity subsystem type
- All Implemented Interfaces:
edu.wpi.first.util.sendable.Sendable
- Direct Known Subclasses:
EjectIntakeCommand,FeedCommand,ReverseFeederCommand,ReverseIndexerCommand
public class AbstractVelocityCommand<TSubsystem extends AbstractVelocitySubsystem<?>>
extends AbstractSubsystemCommand<TSubsystem>
Command base that drives an
AbstractVelocitySubsystem toward a supplied target RPM using its velocity controller.
Provide a target RPM supplier in the constructor; the command sets the goal on initialize, steps the controller each cycle, and finishes once the
subsystem reports AbstractVelocitySubsystem.isAtTargetVelocity().
-
Nested Class Summary
Nested classes/interfaces inherited from class edu.wpi.first.wpilibj2.command.Command
edu.wpi.first.wpilibj2.command.Command.InterruptionBehavior -
Field Summary
Fields inherited from class frc.robot.shared.commands.AbstractSubsystemCommand
log, subsystem -
Constructor Summary
ConstructorsModifierConstructorDescriptionprotectedAbstractVelocityCommand(TSubsystem subsystem, Supplier<Double> targetRpmSupplier) Builds a velocity command for the given subsystem. -
Method Summary
Methods inherited from class frc.robot.shared.commands.AbstractSubsystemCommand
initializeMethods inherited from class edu.wpi.first.wpilibj2.command.Command
addRequirements, addRequirements, alongWith, andThen, andThen, asProxy, beforeStarting, beforeStarting, cancel, deadlineFor, deadlineWith, finallyDo, finallyDo, getInterruptionBehavior, getName, getRequirements, getSubsystem, handleInterrupt, hasRequirement, ignoringDisable, initSendable, isScheduled, onlyIf, onlyWhile, raceWith, repeatedly, runsWhenDisabled, schedule, setName, setSubsystem, unless, until, withDeadline, withInterruptBehavior, withName, withTimeout, withTimeout
-
Constructor Details
-
AbstractVelocityCommand
Builds a velocity command for the given subsystem.- Parameters:
subsystem- subsystem instance to controltargetRpmSupplier- provider for target velocity in mechanism RPM; evaluated on initialize
-
-
Method Details
-
execute
public void execute()- Overrides:
executein classedu.wpi.first.wpilibj2.command.Command
-
end
public void end(boolean interrupted) - Overrides:
endin classedu.wpi.first.wpilibj2.command.Command
-
isFinished
public boolean isFinished()- Overrides:
isFinishedin classedu.wpi.first.wpilibj2.command.Command
-
onInitialize
protected void onInitialize()Description copied from class:AbstractSubsystemCommandOptional hook for subclasses to run logic during initialize after the start log.- Overrides:
onInitializein classAbstractSubsystemCommand<TSubsystem extends AbstractVelocitySubsystem<?>>
-