Interface IController

  • All Known Implementing Classes:
    TankController

    public interface IController
    Interface for objects containing multiple PID controllers and other important runtime parameters.
    • Method Summary

      All Methods Instance Methods Abstract Methods 
      Modifier and Type Method Description
      double calculateOutput​(int controllerID, double setpoint, double current)
      Uses the specified controller to calculate the necessary percent output to acheive a value.
      edu.wpi.first.wpilibj.controller.PIDController getPIDController​(int id)
      Returns the PIDController with the given name.
    • Method Detail

      • getPIDController

        edu.wpi.first.wpilibj.controller.PIDController getPIDController​(int id)
        Returns the PIDController with the given name. "Index" values will be provided through implementing classes. For example, if using a TankController, possible values are LEFT_CONTROLLER and RIGHT_CONTROLLER.
        Parameters:
        id - The ID of the controller to use. As mentioned earlier, values will be provided as static fields by the implementing class.
        Returns:
        The PIDController with the specified identity, or a "safe" PIDController (where all gains are set to 0) if there is no such controller.
      • calculateOutput

        double calculateOutput​(int controllerID,
                               double setpoint,
                               double current)
        Uses the specified controller to calculate the necessary percent output to acheive a value.
        Parameters:
        controllerID - The ID of the controller to use. For more information about IDs, see getPIDController(int).
        setpoint - The desired value to acheive.
        current - The current value.
        Returns:
        The output required to drive the "current" value to the "desired" value.