diff --git a/FGC_2024.java b/FGC_2024.java index 6a930b7..2cd64e6 100644 --- a/FGC_2024.java +++ b/FGC_2024.java @@ -1,44 +1,39 @@ package org.firstinspires.ftc.teamcode; - -import com.qualcomm.robotcore.eventloop.opmode.LinearOpMode; -import org.firstinspires.ftc.robotcore.external.navigation.YawPitchRollAngles; +// https://prod.liveshare.vsengsaas.visualstudio.com/join?03587C25F0BC652DEF22BF0B00ACEDD85FD3 import com.qualcomm.robotcore.robot.Robot; - -import java.text.spi.DecimalFormatSymbolsProvider; - -import org.firstinspires.ftc.robotcore.external.Telemetry; +import com.qualcomm.robotcore.robot.Robot; +import com.qualcomm.robotcore.eventloop.opmode.LinearOpMode; +import com.qualcomm.robotcore.eventloop.opmode.TeleOp; import com.qualcomm.robotcore.hardware.Gamepad; import com.qualcomm.robotcore.hardware.DcMotorEx; -import com.qualcomm.robotcore.robot.Robot; -import com.qualcomm.robotcore.eventloop.opmode.TeleOp; import com.qualcomm.robotcore.hardware.DcMotor; import com.qualcomm.robotcore.hardware.DcMotorSimple; import com.qualcomm.robotcore.hardware.Servo; - import com.qualcomm.robotcore.hardware.IMU; import com.qualcomm.robotcore.hardware.ImuOrientationOnRobot; import com.qualcomm.hardware.rev.RevHubOrientationOnRobot; + +import org.firstinspires.ftc.robotcore.external.Telemetry; +import org.firstinspires.ftc.robotcore.external.navigation.YawPitchRollAngles; import org.firstinspires.ftc.robotcore.external.navigation.AngleUnit; import org.firstinspires.ftc.robotcore.external.navigation.AxesOrder; import org.firstinspires.ftc.robotcore.external.navigation.AxesReference; import org.firstinspires.ftc.robotcore.external.navigation.Orientation; import org.firstinspires.ftc.robotcore.external.navigation.Position; import org.firstinspires.ftc.robotcore.external.navigation.Velocity; - +dqsdqs @TeleOp(name = "FGC2024", group = "WeRobot") public class FGC_2024 extends LinearOpMode { - + private DcMotorEx rm; private DcMotorEx lm; private DcMotorEx elv1; //private DcMotorEx elv2; //private DcMotorEx elv3; - @Override public void runOpMode() throws InterruptedException { - telemetry.addData("Status"," Initialized"); telemetry.update(); @@ -49,15 +44,17 @@ public class FGC_2024 extends LinearOpMode { //rm.setZeroPowerBehavior(DcMotor.ZeroPowerBehavior.FLOAT); elv1 = hardwareMap.get(DcMotorEx.class, "elv1"); elv1.setZeroPowerBehavior(DcMotor.ZeroPowerBehavior.FLOAT); + elv1.setMode(DcMotor.RunMode.STOP_AND_RESET_ENCODER); //elv2 = hardwareMap.get(DcMotorEx.class, "elv2"); //elv2.setZeroPowerBehavior(DcMotor.ZeroPowerBehavior.FLOAT); + //elv2.setMode(DcMotor.RunMode.STOP_AND_RESET_ENCODER); //elv3 = hardwareMap.get(DcMotorEx.class, "elv3"); //elv3.setZeroPowerBehavior(DcMotor.ZeroPowerBehavior.FLOAT); + //elv3.setMode(DcMotor.RunMode.STOP_AND_RESET_ENCODER); boolean already_up = false; boolean already_down = false; - int hauteur = 0; waitForStart(); while(opModeIsActive()){ @@ -81,19 +78,35 @@ public class FGC_2024 extends LinearOpMode { lpower = lpower*gamepad1.right_trigger; rpower = rpower*gamepad1.right_trigger; } + if(gamepad1.dpad_right){ + elv1.setVelocity(20); + elv1.setTargetPosition(elv1.getCurrentPosition()+1); + elv1.setMode(DcMotor.RunMode.RUN_TO_POSITION); + } + if(gamepad1.dpad_left){ + elv1.setVelocity(20); + elv1.setTargetPosition(elv1.getCurrentPosition()-1); + elv1.setMode(DcMotor.RunMode.RUN_TO_POSITION); + } + if(gamepad1.right_bumber && gamepad1.dpad_down){ + elv1.setVelocity(0); + elv1.setTargetPosition(elv1.getCurrentPosition()); + elv1.setMode(DcMotor.RunMode.RUN_TO_POSITION); + } + telemetry.addData("targetPos",elv1.getTargetPosition()); + telemetry.addData("pos", elv1.getCurrentPosition()) - if (gamepad1.dpad_up && !already_up && i<3){ + if (gamepad1.dpad_up && !already_up){ elv1.setVelocity(250); // elv2.setVelocity(250); // elv3.setVelocity(250); - elv1.setTargetPosition(elv1.getCurrentPosition()+10); + elv1.setTargetPosition(elv1.getCurrentPosition()+277); // elv2.setTargetPosition(elv2.getCurrentPosition()+15); - // elv3.setTargetPosition(elv3.getCurrentPosition()+160); + // elv3.setTargetPosition(elv3.getCurrentPosition()+15); elv1.setMode(DcMotor.RunMode.RUN_TO_POSITION); // elv2.setMode(DcMotor.RunMode.RUN_TO_POSITION); // elv3.setMode(DcMotor.RunMode.RUN_TO_POSITION); - hauteur += 1; already_up = !already_up; @@ -101,18 +114,17 @@ public class FGC_2024 extends LinearOpMode { already_up = false; } - if (gamepad1.dpad_down && !already_up && i>0){ + if (gamepad1.dpad_down && !already_up && hauteur>0){ elv1.setVelocity(250); - elv2.setVelocity(250); - elv3.setVelocity(250); - elv1.setTargetPosition(elv1.getCurrentPosition()-10); - elv2.setTargetPosition(elv2.getCurrentPosition()-15); - elv3.setTargetPosition(elv3.getCurrentPosition()-160); + //elv2.setVelocity(250); + //elv3.setVelocity(250); + elv1.setTargetPosition(elv1.getCurrentPosition()-277); + // elv2.setTargetPosition(elv2.getCurrentPosition()-15); + // elv3.setTargetPosition(elv3.getCurrentPosition()-15); elv1.setMode(DcMotor.RunMode.RUN_TO_POSITION); - elv2.setMode(DcMotor.RunMode.RUN_TO_POSITION); - elv3.setMode(DcMotor.RunMode.RUN_TO_POSITION); - hauteur -= 1; + // elv2.setMode(DcMotor.RunMode.RUN_TO_POSITION); + // elv3.setMode(DcMotor.RunMode.RUN_TO_POSITION); already_down = !already_down; diff --git a/MaxSpeed.java b/MaxSpeed.java new file mode 100644 index 0000000..2e9c6fc --- /dev/null +++ b/MaxSpeed.java @@ -0,0 +1,72 @@ +package org.firstinspires.ftc.teamcode; +import java.io.File; // Import the File class +import java.io.IOException; // Import the IOException class to handle errors +import com.qualcomm.robotcore.eventloop.opmode.LinearOpMode; +import org.firstinspires.ftc.robotcore.external.Telemetry; +import com.qualcomm.robotcore.robot.Robot; +import com.qualcomm.robotcore.hardware.DcMotorEx; + + +@TeleOp +public class MaxVelocityTest extends LinearOpMode { + DcMotorEx motor; + double currentVelocity; + double maxVelocity = 0.0; + + + @Override + public void runOpMode() { + motor = hardwareMap.get(DcMotorEx.class, "elv1"); + motor.setMode(DcMotor.RunMode.RUN_WITHOUT_ENCODER); + motor.setPower(1); + waitForStart(); + + + while (opModeIsActive()) { + currentVelocity = motor.getVelocity(); + + if (currentVelocity > maxVelocity) { + maxVelocity = currentVelocity; + } + + telemetry.addData("current velocity", currentVelocity); + telemetry.addData("maximum velocity", maxVelocity); + telemetry.update(); + } + } + private void writeFile(String filename, String content){ + File file = getFile(filename); + FileOutputStream stream = new FileOutputStream(file); + try { + stream.write(content.getBytes()); + } finally { + stream.close(); + } + } + private File getFile(String filename){ + File file = new File(filename); + try{ + file.createNewFile(); + } + return file; + } + + private String readFile(String filename){ + File file = getFile(filename); + int length = (int) file.length(); + + byte[] bytes = new byte[length]; + + FileInputStream in = new FileInputStream(file); + try { + in.read(bytes); + } finally { + in.close(); + } + + String contents = new String(bytes); + return contents; + } + +} +