Class FeederSubsystem

All Implemented Interfaces:
edu.wpi.first.util.sendable.Sendable, edu.wpi.first.wpilibj2.command.Subsystem

public class FeederSubsystem extends AbstractVelocitySubsystem<FeederSubsystemConfig>
Feeder subsystem that drives rollers to transport Fuel from the intake toward the indexer.

The feeder sits between the intake and the indexer. Its rollers move forward (positive RPM) to carry Fuel inward toward the indexer, or reverse (negative RPM) to clear Fuel back toward the intake when jams occur or the operator requests a purge.

All RPM values in the public API represent roller (mechanism) speed after gear reduction, not motor shaft speed. The subsystem extends AbstractVelocitySubsystem which provides bidirectional velocity control with feedforward and PID.

  • Constructor Details

    • FeederSubsystem

      public FeederSubsystem(FeederSubsystemConfig config)
      Builds the feeder subsystem with a single motor-driven belt.
      Parameters:
      config - feeder configuration bundle loaded from JSON; velocities are expressed in RPM
  • Method Details

    • setForwardVelocity

      public void setForwardVelocity()
      Convenience method that sets the belt to the configured forward transport velocity.

      Use this to move Fuel from the intake side toward the indexer.

    • setReverseVelocity

      public void setReverseVelocity()
      Convenience method that sets the belt to reverse at the configured clearing velocity.

      The configured reverse RPM is stored as a positive value; this method negates it so the belt spins backward toward the intake.