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 void
arcadeDrive(double speed, double rot)
void
configureMotors()
PIDFController
getDrivePIDFController()
DrivetrainState
getDriveState()
DrivetrainState
getDriveTrainState()
FeedForwardController
getFeedForwardController()
LightningGains
getGains()
edu.wpi.first.math.geometry.Pose2d
getPose()
void
periodic()
void
resetPose()
void
setDriveSpeed(DrivetrainSpeed speed)
protected void
setLeftOutput(double output)
protected void
setRightOutput(double output)
void
setVoltage(double leftVoltage, double rightVoltage)
void
stop()
void
tankDrive(double leftPWR, double rightPWR)
protected void
withEachLeftMotor(java.util.function.Consumer<edu.wpi.first.wpilibj.motorcontrol.MotorController> op)
protected void
withEachMotor(java.util.function.BiConsumer<edu.wpi.first.wpilibj.motorcontrol.MotorController,edu.wpi.first.wpilibj.motorcontrol.MotorController> op)
protected void
withEachMotor(java.util.function.Consumer<edu.wpi.first.wpilibj.motorcontrol.MotorController> op)
protected void
withEachMotorIndexed(java.util.function.BiConsumer<edu.wpi.first.wpilibj.motorcontrol.MotorController,java.lang.Integer> op)
protected void
withEachRightMotor(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:
configureMotors
in classLightningDrivetrain
-
setDriveSpeed
public void setDriveSpeed(DrivetrainSpeed speed)
- Specified by:
setDriveSpeed
in classLightningDrivetrain
-
getGains
public LightningGains getGains()
- Specified by:
getGains
in classLightningDrivetrain
-
stop
public void stop()
- Specified by:
stop
in classLightningDrivetrain
-
periodic
public void periodic()
-
getDriveTrainState
public DrivetrainState getDriveTrainState()
-
getPose
public edu.wpi.first.math.geometry.Pose2d getPose()
- Specified by:
getPose
in classLightningDrivetrain
-
getDriveState
public DrivetrainState getDriveState()
- Specified by:
getDriveState
in 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)
-
-