From cbf4c6de0d4ebb7d1e02198d6e6cb5ea4a461193 Mon Sep 17 00:00:00 2001 From: NerdyBirdy460 <111399933+NerdyBirdy460@users.noreply.github.com> Date: Wed, 8 Nov 2023 15:40:19 -0600 Subject: [PATCH] Minibot drive, coding "correctly" --- .../CenterStage/Common/MiniYTeleOPBot.java | 3 + .../TeleOp/Engines/MiniYTeleOPEngine.java | 2 +- .../TeleOp/States/MiniYellowTeleOPv2.java | 101 ++++++++++++------ 3 files changed, 75 insertions(+), 31 deletions(-) diff --git a/TeamCode/src/main/java/org/timecrafters/CenterStage/Common/MiniYTeleOPBot.java b/TeamCode/src/main/java/org/timecrafters/CenterStage/Common/MiniYTeleOPBot.java index 1e6c258..79f4c90 100644 --- a/TeamCode/src/main/java/org/timecrafters/CenterStage/Common/MiniYTeleOPBot.java +++ b/TeamCode/src/main/java/org/timecrafters/CenterStage/Common/MiniYTeleOPBot.java @@ -30,6 +30,9 @@ public class MiniYTeleOPBot extends Robot { this.hardwareMap = CyberarmEngine.instance.hardwareMap; CyberarmEngine engine = CyberarmEngine.instance; + configuration = new TimeCraftersConfiguration("Minibot Yellow"); + + imu = engine.hardwareMap.get(IMU.class, "imu"); IMU.Parameters parameters = new IMU.Parameters( diff --git a/TeamCode/src/main/java/org/timecrafters/CenterStage/TeleOp/Engines/MiniYTeleOPEngine.java b/TeamCode/src/main/java/org/timecrafters/CenterStage/TeleOp/Engines/MiniYTeleOPEngine.java index c5920b2..96ed34d 100644 --- a/TeamCode/src/main/java/org/timecrafters/CenterStage/TeleOp/Engines/MiniYTeleOPEngine.java +++ b/TeamCode/src/main/java/org/timecrafters/CenterStage/TeleOp/Engines/MiniYTeleOPEngine.java @@ -15,7 +15,7 @@ import dev.cyberarm.engine.V2.CyberarmEngine; @Override public void setup() { - this.robot = new MiniYTeleOPBot(); + this.robot = new MiniYellowTeleOPv2(); this.robot.setup(); addState(new MiniYellowTeleOPv2(robot)); diff --git a/TeamCode/src/main/java/org/timecrafters/CenterStage/TeleOp/States/MiniYellowTeleOPv2.java b/TeamCode/src/main/java/org/timecrafters/CenterStage/TeleOp/States/MiniYellowTeleOPv2.java index 9eb5d8e..1857184 100644 --- a/TeamCode/src/main/java/org/timecrafters/CenterStage/TeleOp/States/MiniYellowTeleOPv2.java +++ b/TeamCode/src/main/java/org/timecrafters/CenterStage/TeleOp/States/MiniYellowTeleOPv2.java @@ -1,40 +1,81 @@ package org.timecrafters.CenterStage.TeleOp.States; +import com.arcrobotics.ftclib.hardware.motors.MotorEx; +import com.qualcomm.hardware.rev.RevHubOrientationOnRobot; +import com.qualcomm.robotcore.hardware.DcMotor; +import com.qualcomm.robotcore.hardware.DcMotorSimple; +import com.qualcomm.robotcore.hardware.HardwareMap; +import com.qualcomm.robotcore.hardware.IMU; + import org.timecrafters.CenterStage.Common.MiniYTeleOPBot; +import org.timecrafters.Library.Robot; import org.timecrafters.TimeCraftersConfigurationTool.library.TimeCraftersConfiguration; +import dev.cyberarm.engine.V2.CyberarmEngine; import dev.cyberarm.engine.V2.CyberarmState; -public class MiniYellowTeleOPv2 extends CyberarmState { - private final MiniYTeleOPBot robot; +public class MiniYellowTeleOPv2 extends Robot { + + private final MiniYellowTeleOPv2 robot; + public HardwareMap hardwareMap; + public MotorEx flDrive, frDrive, blDrive, brDrive; + public IMU imu; private double flPower, frPower, blPower, brPower; - private float lStickY, transitPercent = lStickY / 100; + private float lStickY, transitPercent; - public MiniYellowTeleOPv2(MiniYTeleOPBot robot) { - this.robot = robot; + public TimeCraftersConfiguration configuration; + + public MiniYellowTeleOPv2(MiniYellowTeleOPv2 robot) {} + + @Override + public void init () { + + this.hardwareMap = CyberarmEngine.instance.hardwareMap; + CyberarmEngine engine = CyberarmEngine.instance; + + configuration = new TimeCraftersConfiguration("Minibot Yellow"); + + + imu = engine.hardwareMap.get(IMU.class, "imu"); + + IMU.Parameters parameters = new IMU.Parameters( + new RevHubOrientationOnRobot( + RevHubOrientationOnRobot.LogoFacingDirection.LEFT, + RevHubOrientationOnRobot.UsbFacingDirection.UP)); + + imu.initialize(parameters); + imu.resetYaw(); + + //Motors + frDrive = new MotorEx(hardwareMap, "FrontRight"); + flDrive = new MotorEx(hardwareMap, "FrontLeft"); + brDrive = new MotorEx(hardwareMap, "BackRight"); + blDrive = new MotorEx(hardwareMap, "BackLeft"); + + flDrive.motor.setDirection(DcMotorSimple.Direction.FORWARD); + frDrive.motor.setDirection(DcMotorSimple.Direction.FORWARD); + blDrive.motor.setDirection(DcMotorSimple.Direction.FORWARD); + brDrive.motor.setDirection(DcMotorSimple.Direction.FORWARD); + + flDrive.motor.setMode(DcMotor.RunMode.STOP_AND_RESET_ENCODER); + frDrive.motor.setMode(DcMotor.RunMode.STOP_AND_RESET_ENCODER); + blDrive.motor.setMode(DcMotor.RunMode.STOP_AND_RESET_ENCODER); + brDrive.motor.setMode(DcMotor.RunMode.STOP_AND_RESET_ENCODER); + + flDrive.motor.setMode(DcMotor.RunMode.RUN_USING_ENCODER); + frDrive.motor.setMode(DcMotor.RunMode.RUN_USING_ENCODER); + blDrive.motor.setMode(DcMotor.RunMode.RUN_USING_ENCODER); + brDrive.motor.setMode(DcMotor.RunMode.RUN_USING_ENCODER); + + } + + @Override + public void exec () { + + + transitPercent = -engine.gamepad1.left_stick_y * 100; + flPower = lStickY / 100; + robot.flDrive.motor.setPower(flPower); + + } } - - - @Override - public void telemetry() { - engine.telemetry.addData("FL Power", flPower); - - } - - @Override - public void init() { - - flPower = 0; - robot.flDrive.motor.setPower(flPower); - - } - - @Override - public void exec() { - - transitPercent = -engine.gamepad1.left_stick_y * 100; - flPower = lStickY / 100; - robot.flDrive.motor.setPower(flPower); - - } -}