From 365a7ca7a7d0e74c720bd4fb8679b145d58eea25 Mon Sep 17 00:00:00 2001 From: Cyberarm Date: Sat, 16 Oct 2021 12:20:25 -0500 Subject: [PATCH] Added Cayden's DriveTrain test program --- .../Engines/DriveTrainTestEngine.java | 14 ++++++ .../States/DriveTrainTestState.java | 49 +++++++++++++++++++ 2 files changed, 63 insertions(+) create mode 100644 TeamCode/src/main/java/org/timecrafters/FreightFrenzy/HardwareTesting/Engines/DriveTrainTestEngine.java create mode 100644 TeamCode/src/main/java/org/timecrafters/FreightFrenzy/HardwareTesting/States/DriveTrainTestState.java 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