From bb516ef6c05e4d97404be6c1288671a2796e868e Mon Sep 17 00:00:00 2001 From: Cayden Date: Thu, 17 Oct 2024 17:27:56 -0400 Subject: [PATCH] added subsystem folder and constants, in the subsystem I added drivetrain.java and in constants I added drivetrainconstants.java --- .../robot/constants/DrivetrainConstants.java | 9 ++++ .../java/frc/robot/subsystems/Drivetrain.java | 48 +++++++++++++++++++ 2 files changed, 57 insertions(+) create mode 100644 src/main/java/frc/robot/constants/DrivetrainConstants.java create mode 100644 src/main/java/frc/robot/subsystems/Drivetrain.java diff --git a/src/main/java/frc/robot/constants/DrivetrainConstants.java b/src/main/java/frc/robot/constants/DrivetrainConstants.java new file mode 100644 index 0000000..a17f768 --- /dev/null +++ b/src/main/java/frc/robot/constants/DrivetrainConstants.java @@ -0,0 +1,9 @@ +package frc.robot.constants; + +public class DrivetrainConstants { + public static final int kleftFrontPWN = 0; + public static final int kleftRearPWN = 1; + public static final int kRightfrontPWM = 2; + public static final int kRightRearPWM = 3; + +} diff --git a/src/main/java/frc/robot/subsystems/Drivetrain.java b/src/main/java/frc/robot/subsystems/Drivetrain.java new file mode 100644 index 0000000..a69d9b1 --- /dev/null +++ b/src/main/java/frc/robot/subsystems/Drivetrain.java @@ -0,0 +1,48 @@ +package frc.robot.subsystems; + +import java.util.function.DoubleSupplier; + +import com.fasterxml.jackson.databind.ser.std.NumberSerializers.DoubleSerializer; + +import edu.wpi.first.wpilibj.drive.DifferentialDrive; +import edu.wpi.first.wpilibj.motorcontrol.Victor; +import edu.wpi.first.wpilibj.motorcontrol.VictorSP; +import edu.wpi.first.wpilibj2.command.Command; +import edu.wpi.first.wpilibj2.command.SubsystemBase; +import frc.robot.constants.DrivetrainConstants; + +public class Drivetrain extends SubsystemBase { + private VictorSP leftFront; // tells the motors how much power they use + private VictorSP leftRear; + private VictorSP rightFront; + private VictorSP rightRear; + + private DifferentialDrive drive; + + public Drivetrain() { + leftFront = new VictorSP(DrivetrainConstants.kleftFrontPWN); + leftRear = new VictorSP(DrivetrainConstants.kleftRearPWN); + rightFront = new VictorSP(DrivetrainConstants.kRightfrontPWM); + rightRear = new VictorSP(DrivetrainConstants.kRightRearPWM); + + leftFront.addFollower(leftRear); + rightFront.addFollower(rightRear); + rightFront.setInverted(true); + + drive = new DifferentialDrive(leftFront, rightFront); + + } + + public Command driveArcade(DoubleSupplier xSpeed, DoubleSupplier zRotation) { + return run(() -> { + drive.arcadeDrive(xSpeed.getAsDouble(), zRotation.getAsDouble()); + }); + + } + public Command driveTank(DoubleSupplier leftspeed, DoubleSupplier rightspeed) { + return run (() -> { + drive.tankDrive(leftspeed.getAsDouble(), rightspeed.getAsDouble()); + }); + } + +}