Skip to content

Commit 9f93c24

Browse files
authored
14 move drivetrain into subsystem (#17)
Before issuing a pull request, please see the contributing page.
2 parents 178991a + 608c83d commit 9f93c24

File tree

11 files changed

+202
-179
lines changed

11 files changed

+202
-179
lines changed
Lines changed: 15 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,15 @@
1+
package org.firstinspires.ftc.teamcode;
2+
3+
public final class Constants {
4+
public static class Drivetrain {
5+
public static final String flMotorName = "frontLeftDrive";
6+
public static final String frMotorName = "frontRightDrive";
7+
public static final String blMotorName = "backLeftDrive";
8+
public static final String brMotorName = "backRightDrive";
9+
}
10+
11+
public static class Shooter {
12+
public static final String shooterMotorName = "shooterMotor";
13+
public static final double defaultSpeed = 1;
14+
}
15+
}
Lines changed: 42 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,42 @@
1+
package org.firstinspires.ftc.teamcode.OpModes;
2+
3+
import com.arcrobotics.ftclib.command.CommandOpMode;
4+
import com.arcrobotics.ftclib.gamepad.GamepadEx;
5+
import com.arcrobotics.ftclib.gamepad.GamepadKeys;
6+
import com.qualcomm.robotcore.eventloop.opmode.TeleOp;
7+
8+
import org.firstinspires.ftc.teamcode.Constants;
9+
import org.firstinspires.ftc.teamcode.commands.RunShooter;
10+
import org.firstinspires.ftc.teamcode.commands.UserDrive;
11+
import org.firstinspires.ftc.teamcode.subsystems.Drivetrain;
12+
import org.firstinspires.ftc.teamcode.subsystems.Shooter;
13+
14+
@TeleOp(name = "BackupOpMode", group = "NormalOpModes")
15+
public class BackupOpMode extends CommandOpMode {
16+
private Shooter shooter;
17+
private Drivetrain drivetrain;
18+
19+
private GamepadEx driverOp;
20+
private GamepadEx coOp;
21+
22+
@Override
23+
public void initialize() {
24+
driverOp = new GamepadEx(gamepad1);
25+
coOp = new GamepadEx(gamepad2);
26+
27+
drivetrain = new Drivetrain(
28+
hardwareMap,
29+
Constants.Drivetrain.flMotorName,
30+
Constants.Drivetrain.frMotorName,
31+
Constants.Drivetrain.blMotorName,
32+
Constants.Drivetrain.brMotorName
33+
);
34+
drivetrain.setDefaultCommand(new UserDrive(drivetrain, driverOp));
35+
register(drivetrain);
36+
37+
shooter = new Shooter(hardwareMap, Constants.Shooter.shooterMotorName);
38+
register(shooter);
39+
coOp.getGamepadButton(GamepadKeys.Button.A).whileHeld(
40+
new RunShooter(shooter, Constants.Shooter.defaultSpeed));
41+
}
42+
}
Lines changed: 41 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,41 @@
1+
package org.firstinspires.ftc.teamcode.OpModes;
2+
3+
import com.arcrobotics.ftclib.command.CommandOpMode;
4+
import com.arcrobotics.ftclib.gamepad.GamepadEx;
5+
import com.arcrobotics.ftclib.gamepad.GamepadKeys;
6+
import com.qualcomm.robotcore.eventloop.opmode.TeleOp;
7+
8+
import org.firstinspires.ftc.teamcode.Constants;
9+
import org.firstinspires.ftc.teamcode.commands.RunShooter;
10+
import org.firstinspires.ftc.teamcode.commands.UserDrive;
11+
import org.firstinspires.ftc.teamcode.subsystems.Drivetrain;
12+
import org.firstinspires.ftc.teamcode.subsystems.Shooter;
13+
14+
@TeleOp(name = "PrimaryOpMode", group = "NormalOpModes")
15+
public class PrimaryOpMode extends CommandOpMode {
16+
private Shooter shooter;
17+
private Drivetrain drivetrain;
18+
19+
private GamepadEx driverOp;
20+
private GamepadEx coOp;
21+
22+
@Override
23+
public void initialize() {
24+
driverOp = new GamepadEx(gamepad1);
25+
coOp = new GamepadEx(gamepad2);
26+
27+
drivetrain = new Drivetrain(
28+
hardwareMap,
29+
Constants.Drivetrain.flMotorName,
30+
Constants.Drivetrain.frMotorName,
31+
Constants.Drivetrain.blMotorName,
32+
Constants.Drivetrain.brMotorName
33+
);
34+
drivetrain.setDefaultCommand(new UserDrive(drivetrain, driverOp));
35+
register(drivetrain);
36+
shooter = new Shooter(hardwareMap, Constants.Shooter.shooterMotorName);
37+
register(shooter);
38+
coOp.getGamepadButton(GamepadKeys.Button.A).whileHeld(
39+
new RunShooter(shooter, Constants.Shooter.defaultSpeed));
40+
}
41+
}

TeamCode/src/main/java/org/firstinspires/ftc/teamcode/BrodysFIRSTOpMode.java renamed to TeamCode/src/main/java/org/firstinspires/ftc/teamcode/OpModes/learning/BrodysFIRSTOpMode.java

Lines changed: 4 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,11 +1,13 @@
1-
package org.firstinspires.ftc.teamcode;
1+
package org.firstinspires.ftc.teamcode.OpModes.learning;
22

3+
import com.qualcomm.robotcore.eventloop.opmode.Disabled;
34
import com.qualcomm.robotcore.eventloop.opmode.OpMode;
45
import com.qualcomm.robotcore.eventloop.opmode.TeleOp;
56
import com.qualcomm.robotcore.hardware.DcMotor;
67
import com.qualcomm.robotcore.hardware.DcMotorSimple;
78

8-
@TeleOp(name = "Brodys OpMode", group = "Example OpMode")
9+
@TeleOp(name = "Brody's OpMode", group = "Example OpMode")
10+
@Disabled
911
public class BrodysFIRSTOpMode extends OpMode {
1012
private DcMotor frontLeftMotor;
1113
private DcMotor frontRightMotor;

TeamCode/src/main/java/org/firstinspires/ftc/teamcode/NicksFIRSTJavaOpMode.java renamed to TeamCode/src/main/java/org/firstinspires/ftc/teamcode/OpModes/learning/NicksFIRSTJavaOpMode.java

Lines changed: 5 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,11 +1,13 @@
1-
package org.firstinspires.ftc.teamcode;
1+
package org.firstinspires.ftc.teamcode.OpModes.learning;
22

3+
import com.qualcomm.robotcore.eventloop.opmode.Disabled;
34
import com.qualcomm.robotcore.eventloop.opmode.OpMode;
45
import com.qualcomm.robotcore.eventloop.opmode.TeleOp;
56
import com.qualcomm.robotcore.hardware.DcMotor;
67
import com.qualcomm.robotcore.hardware.DcMotorSimple;
78

8-
@TeleOp(name="Nick's OpMode", group="Example OpMode")
9+
@TeleOp(name = "Nick's OpMode", group = "Example OpMode")
10+
@Disabled
911
public class NicksFIRSTJavaOpMode extends OpMode {
1012
private DcMotor frontLeftMotor;
1113
private DcMotor frontRightMotor;
@@ -48,7 +50,7 @@ public void loop() {
4850
}
4951

5052
@Override
51-
public void stop() {
53+
public void stop() {
5254
telemetry.addData("Status", "Stopped");
5355
telemetry.update();
5456
}

TeamCode/src/main/java/org/firstinspires/ftc/teamcode/PrimaryOpMode.java

Lines changed: 0 additions & 47 deletions
This file was deleted.

TeamCode/src/main/java/org/firstinspires/ftc/teamcode/commands/RunShooter.java

Lines changed: 5 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -5,25 +5,20 @@
55
import org.firstinspires.ftc.teamcode.subsystems.Shooter;
66

77
public class RunShooter extends CommandBase {
8-
private Shooter subsystem;
9-
private double speed;
8+
private final Shooter subsystem;
9+
private final double speed;
1010

1111
public RunShooter(Shooter _subsystem, double _speed) {
12-
subsystem = _subsystem;
13-
addRequirements(subsystem);
14-
speed = _speed;
12+
subsystem = _subsystem;
13+
addRequirements(subsystem);
14+
speed = _speed;
1515
}
1616

1717
@Override
1818
public void initialize() {
1919
subsystem.run(speed);
2020
}
2121

22-
@Override
23-
public boolean isFinished() {
24-
return false;
25-
}
26-
2722
@Override
2823
public void end(boolean interrupted) {
2924
subsystem.stop();
Lines changed: 31 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,31 @@
1+
package org.firstinspires.ftc.teamcode.commands;
2+
3+
import com.arcrobotics.ftclib.command.CommandBase;
4+
import com.arcrobotics.ftclib.gamepad.GamepadEx;
5+
6+
import org.firstinspires.ftc.teamcode.subsystems.Drivetrain;
7+
8+
public class UserDrive extends CommandBase {
9+
private final Drivetrain drivetrain;
10+
private final GamepadEx gamepad;
11+
12+
public UserDrive(Drivetrain drivetrain, GamepadEx gamepad) {
13+
this.drivetrain = drivetrain;
14+
this.gamepad = gamepad;
15+
addRequirements(drivetrain);
16+
}
17+
18+
@Override
19+
public void execute() {
20+
drivetrain.move(
21+
gamepad.getLeftX(),
22+
gamepad.getLeftY(),
23+
gamepad.getRightX()
24+
);
25+
}
26+
27+
@Override
28+
public void end(boolean interrupted) {
29+
drivetrain.stop();
30+
}
31+
}

0 commit comments

Comments
 (0)