-
Notifications
You must be signed in to change notification settings - Fork 2
Expand file tree
/
Copy pathDrivetrain.java
More file actions
44 lines (38 loc) · 1.25 KB
/
Drivetrain.java
File metadata and controls
44 lines (38 loc) · 1.25 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
package frc.robot.subsystems;
import org.carlmontrobotics.lib199.MotorControllerFactory;
import org.carlmontrobotics.lib199.MotorConfig;
import com.revrobotics.CANSparkMax;
import edu.wpi.first.wpilibj.XboxController;
import edu.wpi.first.wpilibj2.command.SubsystemBase;
public class Drivetrain extends SubsystemBase {
public boolean isAuto;
public boolean isTank = false;
private XboxController controller;
CANSparkMax rightMotor = MotorControllerFactory.createSparkMax(1,MotorConfig.NEO);
CANSparkMax leftMotor = MotorControllerFactory.createSparkMax(2,MotorConfig.NEO);
public Drivetrain(XboxController ctrlr){
controller = ctrlr;
}
public void drive(double left,double right) {
rightMotor.set(right);
leftMotor.set(left);
}
public void swap() {
isTank = !isTank;
}
@Override
public void periodic(){
if (!isAuto) {
double speed = -controller.getLeftY();
if (isTank) {
double turn = controller.getLeftX();
double left = speed - turn;
double right = speed + turn;
drive(left, right);
} else {
double rightYAxis = -controller.getRightY();
drive(speed,rightYAxis);
}
}
}
}