Class PIDDrivetrain.Builder

  • Enclosing class:
    PIDDrivetrain

    public static class PIDDrivetrain.Builder
    extends java.lang.Object
    A Builder to facilitate easy instantation of PIDDrivetrains.
    • Constructor Detail

      • Builder

        public Builder()
    • Method Detail

      • build

        public PIDDrivetrain build()
        Verify components and create the PIDDrivetrain.
        Returns:
        the PIDDrivetrain instance.
      • leftDrive

        public PIDDrivetrain.Builder leftDrive​(edu.wpi.first.wpilibj.SpeedController leftDrive)
        Parameters:
        leftDrive - the left drive controller(s). See SpeedControllerGroup
        Returns:
        this builder
      • rightDrive

        public PIDDrivetrain.Builder rightDrive​(edu.wpi.first.wpilibj.SpeedController rightDrive)
        Parameters:
        rightDrive - the right drive controller(s). See SpeedControllerGroup
        Returns:
        this builder
      • leftPidController

        public PIDDrivetrain.Builder leftPidController​(PID<? extends edu.wpi.first.wpilibj.pidwrappers.PIDEncoder,​java.lang.Integer> leftPidController)
        Parameters:
        leftPidController - left PID-enabled controller. See VelocityController
        Returns:
        this builder
      • rightPidController

        public PIDDrivetrain.Builder rightPidController​(PID<? extends edu.wpi.first.wpilibj.pidwrappers.PIDEncoder,​java.lang.Integer> rightPidController)
        Parameters:
        rightPidController - right PID-enabled controller. See VelocityController
        Returns:
        this builder
      • turningPid

        public PIDDrivetrain.Builder turningPid​(PID<? extends edu.wpi.first.wpilibj.interfaces.Gyro,​java.lang.Float> turningPid)
        Parameters:
        turningPid - turning-tracking PID source for turning tasks. See SimplePID and GyroAnglePIDSrc
        Returns:
        this builder
      • bearingPid

        public PIDDrivetrain.Builder bearingPid​(PID<? extends edu.wpi.first.wpilibj.interfaces.Gyro,​java.lang.Float> bearingPid)
        Parameters:
        bearingPid - bearing-tracking PID source for driving straight in driving tasks. See SimplePID and GyroAnglePIDSrc
        Returns:
        this builder