diff --git a/TeamCode/src/main/java/org/firstinspires/ftc/teamcode/hardware/DroneLauncher.java b/TeamCode/src/main/java/org/firstinspires/ftc/teamcode/hardware/DroneLauncher.java new file mode 100644 index 0000000..7f28e53 --- /dev/null +++ b/TeamCode/src/main/java/org/firstinspires/ftc/teamcode/hardware/DroneLauncher.java @@ -0,0 +1,25 @@ +package org.firstinspires.ftc.teamcode.hardware; + +import com.qualcomm.robotcore.hardware.HardwareMap; +import com.qualcomm.robotcore.hardware.Servo; + +import org.firstinspires.ftc.teamcode.util.Constants; + +public class DroneLauncher { + private Servo servo; + public static double initPos = 0; + public static double launchPos = 0.5; + + public DroneLauncher(HardwareMap hardwareMap) { + this.servo = hardwareMap.get(Servo.class, Constants.droneLauncher); + this.servo.setPosition(initPos); + } + + public void launch() { + this.servo.setPosition(launchPos); + } + + public void reset() { + this.servo.setPosition(initPos); + } +} diff --git a/TeamCode/src/main/java/org/firstinspires/ftc/teamcode/hardware/Robot.java b/TeamCode/src/main/java/org/firstinspires/ftc/teamcode/hardware/Robot.java index 2f61aa6..f831541 100644 --- a/TeamCode/src/main/java/org/firstinspires/ftc/teamcode/hardware/Robot.java +++ b/TeamCode/src/main/java/org/firstinspires/ftc/teamcode/hardware/Robot.java @@ -20,6 +20,7 @@ public class Robot { public Intake intake; public Slides slides; public Arm arm; + public DroneLauncher droneLauncher; public double macroStartTime = 0; public int macroState = 0; public int runningMacro = 0; // 0 = no macro | 1 = tier 1 | 2 = tier 2 | 3 = tier 3 | 4 = return @@ -35,6 +36,7 @@ public class Robot { intake = new Intake(hardwareMap, UP); slides = new Slides(hardwareMap); arm = new Arm(hardwareMap); + droneLauncher = new DroneLauncher(hardwareMap); camEnabled = true; } diff --git a/TeamCode/src/main/java/org/firstinspires/ftc/teamcode/opmode/teleop/NewTeleop.java b/TeamCode/src/main/java/org/firstinspires/ftc/teamcode/opmode/teleop/NewTeleop.java index 3cc2a1e..71317bb 100644 --- a/TeamCode/src/main/java/org/firstinspires/ftc/teamcode/opmode/teleop/NewTeleop.java +++ b/TeamCode/src/main/java/org/firstinspires/ftc/teamcode/opmode/teleop/NewTeleop.java @@ -43,7 +43,7 @@ public class NewTeleop extends OpMode { double y = -gamepad1.left_stick_x; double z = -gamepad1.right_stick_x; - if (controller1.getA().isPressed()) { + if (controller1.getRightTrigger().getValue() > 0.1) { x *= turbo; y *= turbo; z *= turbo; @@ -63,6 +63,13 @@ public class NewTeleop extends OpMode { robot.intake.decrementPos(); } + // Drone launcher + if (controller1.getA().isPressed()) { + this.robot.droneLauncher.launch(); + } else { + this.robot.droneLauncher.reset(); + } + // macros switch (robot.runningMacro) { case (0): // manual mode diff --git a/TeamCode/src/main/java/org/firstinspires/ftc/teamcode/util/Constants.java b/TeamCode/src/main/java/org/firstinspires/ftc/teamcode/util/Constants.java index 3e66862..b539e42 100644 --- a/TeamCode/src/main/java/org/firstinspires/ftc/teamcode/util/Constants.java +++ b/TeamCode/src/main/java/org/firstinspires/ftc/teamcode/util/Constants.java @@ -55,4 +55,5 @@ public class Constants { public static final String IMU_SENSOR = "imu"; public static final String lServo = "lServo"; public static final String rServo = "rServo"; + public static final String droneLauncher = "droneLauncher"; } \ No newline at end of file