Class TankDriveParams

  • All Implemented Interfaces:
    DriveParameters

    public class TankDriveParams
    extends java.lang.Object
    implements DriveParameters
    A class which represents tank drive. This mode takes two inputs: left and right, and drives each side of the robot independently. This class simply wraps DifferentialDrive.tankDrive(double, double, boolean). This class is immutable. That means you must construct a new instance each time you want to change the power to the drivetrain.
    • Constructor Summary

      Constructors 
      Constructor Description
      TankDriveParams​(double left, double right, boolean squareInputs)
      Construct a new TankDriveParams object.
    • Method Summary

      All Methods Instance Methods Concrete Methods 
      Modifier and Type Method Description
      void drive​(edu.wpi.first.wpilibj.drive.DifferentialDrive driveTrain, double currentGyro)
      Drive the robot.
      double left()
      Get the left parameter
      double right()
      Get the right parameter
      boolean squareInputs()
      Get the squareInputs parameter
      • Methods inherited from class java.lang.Object

        clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
    • Constructor Detail

      • TankDriveParams

        public TankDriveParams​(double left,
                               double right,
                               boolean squareInputs)
        Construct a new TankDriveParams object.
        Parameters:
        left - The power to the left side of the drivetrain
        right - The power to the right side of the drivetrain
        squareInputs - Whether to square the inputs. This is desirable if the input is coming from a joystick, as it creates a "soft deadzone". If coming from another source, like a PID controller, this should be false.
    • Method Detail

      • drive

        public void drive​(edu.wpi.first.wpilibj.drive.DifferentialDrive driveTrain,
                          double currentGyro)
        Drive the robot. This method should not call any "stateful" methods of the drivetrain (anything that starts with "set") to allow one to switch between modes easily. TODO: pass a wrapper of DifferentialDrive, which only allows certain methods TODO: remove currentGyro. This is pretty irrelevant, and can be obtained in other ways.
        Specified by:
        drive in interface DriveParameters
        Parameters:
        driveTrain - A DifferentialDrive object representing the drivetrain of the robot.
        currentGyro - The current gyro heading, if a gyro exists. Nothing should use this right now, so just pass in 0.0 if you're not sure.
      • left

        public double left()
        Get the left parameter
        Returns:
        the left parameter
      • right

        public double right()
        Get the right parameter
        Returns:
        the right parameter
      • squareInputs

        public boolean squareInputs()
        Get the squareInputs parameter
        Returns:
        the squareInputs parameter