Hey guys, I am trying out some code, but I am coming across an issue and VSCode won’t stop giving me this issue ;-; I can’t figure out why it keeps saying “The method run(() → {}) is undefined for the type Drivetrain”
Here is my code for Drivetrain.java:
package frc.robot.subsystems;
import edu.wpi.first.wpilibj.drive.DifferentialDrive;
import edu.wpi.first.wpilibj.motorcontrol.MotorControllerGroup;
import edu.wpi.first.wpilibj2.command.Command;
import edu.wpi.first.wpilibj2.command.SubsystemBase;
import com.revrobotics.CANSparkMax;
import com.revrobotics.CANSparkMaxLowLevel;
import com.revrobotics.RelativeEncoder;
import frc.robot.Constants;
public class Drivetrain extends SubsystemBase {
CANSparkMax leftFrontMotor = new CANSparkMax(Constants.DrivetrainConstants.leftFrontCANID,
CANSparkMaxLowLevel.MotorType.kBrushless); // (port number--accessed using rev robotics CAN identification tool,
// type of motor)
CANSparkMax rightFrontMotor = new CANSparkMax(Constants.DrivetrainConstants.rightFrontCANID,
CANSparkMaxLowLevel.MotorType.kBrushless);
CANSparkMax leftBackMotor = new CANSparkMax(Constants.DrivetrainConstants.leftBackCANID,
CANSparkMaxLowLevel.MotorType.kBrushless);
CANSparkMax rightBackMotor = new CANSparkMax(Constants.DrivetrainConstants.rightBackCANID,
CANSparkMaxLowLevel.MotorType.kBrushless);
RelativeEncoder leftEncoder = leftFrontMotor.getEncoder();
RelativeEncoder rightEncoder = rightFrontMotor.getEncoder();
MotorControllerGroup leftControllerGroup = new MotorControllerGroup(leftFrontMotor, leftBackMotor);
MotorControllerGroup rightControllerGroup = new MotorControllerGroup(rightFrontMotor, rightBackMotor);
DifferentialDrive differentialDrive = new DifferentialDrive(leftControllerGroup, rightControllerGroup);
public Drivetrain() {
leftEncoder.setPosition(0);
rightEncoder.setPosition(0);
leftBackMotor.follow(leftFrontMotor);
rightBackMotor.follow(rightFrontMotor);
leftControllerGroup.setInverted(true);
leftControllerGroup.setInverted(false);
}
public Command drive(double xSpeed, double zRotation) {
return run(() -> {
differentialDrive.arcadeDrive(xSpeed, zRotation);
});
}
@Override
public void periodic() {
// This method will be called once per scheduler run
}
}