diff --git a/TeamCode/src/main/java/org/timecrafters/FreightFrenzy/HardwareTesting/Engines/DriveTrainTestEngine.java b/TeamCode/src/main/java/org/timecrafters/FreightFrenzy/HardwareTesting/Engines/DriveTrainTestEngine.java new file mode 100644 index 0000000..6b1f12e --- /dev/null +++ b/TeamCode/src/main/java/org/timecrafters/FreightFrenzy/HardwareTesting/Engines/DriveTrainTestEngine.java @@ -0,0 +1,14 @@ +package org.timecrafters.FreightFrenzy.HardwareTesting.Engines; + +import com.qualcomm.robotcore.eventloop.opmode.TeleOp; + +import org.cyberarm.engine.V2.CyberarmEngine; +import org.timecrafters.FreightFrenzy.HardwareTesting.States.DriveTrainTestState; + +@TeleOp(name = "DriveTrain Test", group = "testing") +public class DriveTrainTestEngine extends CyberarmEngine { + @Override + public void setup() { + addState(new DriveTrainTestState()); + } +} diff --git a/TeamCode/src/main/java/org/timecrafters/FreightFrenzy/HardwareTesting/States/DriveTrainTestState.java b/TeamCode/src/main/java/org/timecrafters/FreightFrenzy/HardwareTesting/States/DriveTrainTestState.java new file mode 100644 index 0000000..94062c0 --- /dev/null +++ b/TeamCode/src/main/java/org/timecrafters/FreightFrenzy/HardwareTesting/States/DriveTrainTestState.java @@ -0,0 +1,49 @@ +package org.timecrafters.FreightFrenzy.HardwareTesting.States; + +import com.qualcomm.robotcore.hardware.DcMotor; +import com.qualcomm.robotcore.hardware.DcMotorSimple; + +import org.cyberarm.engine.V2.CyberarmState; +import org.timecrafters.TimeCraftersConfigurationTool.library.TimeCraftersConfiguration; + +public class DriveTrainTestState extends CyberarmState { + + //here, you'll find some of your variables. you can add more as you need them. + DcMotor driveFrontRight; + DcMotor driveBackRight; + DcMotor driveFrontLeft; + DcMotor driveBackLeft; + + TimeCraftersConfiguration configuration; + + double maxSpeed; + + //This is the constructor. It lets other code bits run use the code you put here + public DriveTrainTestState() { + configuration = new TimeCraftersConfiguration(); + maxSpeed = configuration.variable("testing", "teleop", "maxSpeed").value(); + } + + @Override + public void init() { + driveFrontRight = engine.hardwareMap.dcMotor.get("driveFrontRight"); + driveFrontLeft = engine.hardwareMap.dcMotor.get("driveFrontLeft"); + driveBackRight = engine.hardwareMap.dcMotor.get("driveBackRight"); + driveBackLeft = engine.hardwareMap.dcMotor.get("driveBackLeft"); + + driveFrontLeft.setDirection(DcMotorSimple.Direction.REVERSE); + driveBackLeft.setDirection(DcMotorSimple.Direction.REVERSE); + } + + //This is a method. methods are bits of code that can be run elsewhere. + //This one is set up to repeat every few milliseconds + @Override + public void exec() { + + driveFrontRight.setPower(-engine.gamepad1.right_stick_y * maxSpeed); + driveBackRight.setPower(-engine.gamepad1.right_stick_y * maxSpeed); + driveFrontLeft.setPower(-engine.gamepad1.left_stick_y * maxSpeed); + driveBackLeft.setPower(-engine.gamepad1.left_stick_y * maxSpeed); + + } +} \ No newline at end of file