Class DifferentialDrivetrain
- java.lang.Object
-
- edu.wpi.first.wpilibj2.command.SubsystemBase
-
- com.lightningrobotics.common.subsystem.drivetrain.LightningDrivetrain
-
- com.lightningrobotics.common.subsystem.drivetrain.differential.DifferentialDrivetrain
-
- All Implemented Interfaces:
edu.wpi.first.util.sendable.Sendable,edu.wpi.first.wpilibj2.command.Subsystem
public class DifferentialDrivetrain extends LightningDrivetrain
-
-
Constructor Summary
Constructors Constructor Description DifferentialDrivetrain(DifferentialGains gains, edu.wpi.first.wpilibj.motorcontrol.MotorController[] leftMotors, edu.wpi.first.wpilibj.motorcontrol.MotorController[] rightMotors, LightningIMU IMU, java.util.function.DoubleSupplier leftVelocity, java.util.function.DoubleSupplier rightVelocity, java.util.function.DoubleSupplier leftDistance, java.util.function.DoubleSupplier rightDistance)
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description voidarcadeDrive(double speed, double rot)voidconfigureMotors()PIDFControllergetDrivePIDFController()DrivetrainStategetDriveState()DrivetrainStategetDriveTrainState()FeedForwardControllergetFeedForwardController()LightningGainsgetGains()edu.wpi.first.math.geometry.Pose2dgetPose()voidperiodic()voidresetPose()voidsetDriveSpeed(DrivetrainSpeed speed)protected voidsetLeftOutput(double output)protected voidsetRightOutput(double output)voidsetVoltage(double leftVoltage, double rightVoltage)voidstop()voidtankDrive(double leftPWR, double rightPWR)protected voidwithEachLeftMotor(java.util.function.Consumer<edu.wpi.first.wpilibj.motorcontrol.MotorController> op)protected voidwithEachMotor(java.util.function.BiConsumer<edu.wpi.first.wpilibj.motorcontrol.MotorController,edu.wpi.first.wpilibj.motorcontrol.MotorController> op)protected voidwithEachMotor(java.util.function.Consumer<edu.wpi.first.wpilibj.motorcontrol.MotorController> op)protected voidwithEachMotorIndexed(java.util.function.BiConsumer<edu.wpi.first.wpilibj.motorcontrol.MotorController,java.lang.Integer> op)protected voidwithEachRightMotor(java.util.function.Consumer<edu.wpi.first.wpilibj.motorcontrol.MotorController> op)-
Methods inherited from class edu.wpi.first.wpilibj2.command.SubsystemBase
addChild, getName, getSubsystem, initSendable, setName, setSubsystem
-
-
-
-
Constructor Detail
-
DifferentialDrivetrain
public DifferentialDrivetrain(DifferentialGains gains, edu.wpi.first.wpilibj.motorcontrol.MotorController[] leftMotors, edu.wpi.first.wpilibj.motorcontrol.MotorController[] rightMotors, LightningIMU IMU, java.util.function.DoubleSupplier leftVelocity, java.util.function.DoubleSupplier rightVelocity, java.util.function.DoubleSupplier leftDistance, java.util.function.DoubleSupplier rightDistance)
-
-
Method Detail
-
configureMotors
public void configureMotors()
- Specified by:
configureMotorsin classLightningDrivetrain
-
setDriveSpeed
public void setDriveSpeed(DrivetrainSpeed speed)
- Specified by:
setDriveSpeedin classLightningDrivetrain
-
getGains
public LightningGains getGains()
- Specified by:
getGainsin classLightningDrivetrain
-
stop
public void stop()
- Specified by:
stopin classLightningDrivetrain
-
periodic
public void periodic()
-
getDriveTrainState
public DrivetrainState getDriveTrainState()
-
getPose
public edu.wpi.first.math.geometry.Pose2d getPose()
- Specified by:
getPosein classLightningDrivetrain
-
getDriveState
public DrivetrainState getDriveState()
- Specified by:
getDriveStatein classLightningDrivetrain
-
resetPose
public void resetPose()
-
getDrivePIDFController
public PIDFController getDrivePIDFController()
-
getFeedForwardController
public FeedForwardController getFeedForwardController()
-
arcadeDrive
public void arcadeDrive(double speed, double rot)
-
tankDrive
public void tankDrive(double leftPWR, double rightPWR)
-
setVoltage
public void setVoltage(double leftVoltage, double rightVoltage)
-
setLeftOutput
protected void setLeftOutput(double output)
-
setRightOutput
protected void setRightOutput(double output)
-
withEachMotor
protected void withEachMotor(java.util.function.Consumer<edu.wpi.first.wpilibj.motorcontrol.MotorController> op)
-
withEachLeftMotor
protected void withEachLeftMotor(java.util.function.Consumer<edu.wpi.first.wpilibj.motorcontrol.MotorController> op)
-
withEachRightMotor
protected void withEachRightMotor(java.util.function.Consumer<edu.wpi.first.wpilibj.motorcontrol.MotorController> op)
-
withEachMotorIndexed
protected void withEachMotorIndexed(java.util.function.BiConsumer<edu.wpi.first.wpilibj.motorcontrol.MotorController,java.lang.Integer> op)
-
withEachMotor
protected void withEachMotor(java.util.function.BiConsumer<edu.wpi.first.wpilibj.motorcontrol.MotorController,edu.wpi.first.wpilibj.motorcontrol.MotorController> op)
-
-