shoooooottteeer test
This commit is contained in:
@@ -5,7 +5,7 @@ import com.acmerobotics.dashboard.config.Config;
|
|||||||
@Config
|
@Config
|
||||||
public class ServoPositions {
|
public class ServoPositions {
|
||||||
|
|
||||||
public static double rapidFireBlocker_Closed = 0.3;
|
public static double rapidFireBlocker_Closed = 0.35;
|
||||||
public static double rapidFireBlocker_Open = 0.5;
|
public static double rapidFireBlocker_Open = 0.5;
|
||||||
|
|
||||||
public static double spindexBlocker_Closed = 0.31;
|
public static double spindexBlocker_Closed = 0.31;
|
||||||
|
|||||||
@@ -25,6 +25,7 @@ public class TeleopV4 extends LinearOpMode {
|
|||||||
MultipleTelemetry TELE;
|
MultipleTelemetry TELE;
|
||||||
Follower follower;
|
Follower follower;
|
||||||
SpindexerTransferIntake spindexerTransferIntake;
|
SpindexerTransferIntake spindexerTransferIntake;
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public void runOpMode() throws InterruptedException {
|
public void runOpMode() throws InterruptedException {
|
||||||
|
|
||||||
@@ -93,9 +94,6 @@ public class TeleopV4 extends LinearOpMode {
|
|||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
TELE.update();
|
TELE.update();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -0,0 +1,126 @@
|
|||||||
|
package org.firstinspires.ftc.teamcode.tests;
|
||||||
|
|
||||||
|
import com.acmerobotics.dashboard.FtcDashboard;
|
||||||
|
import com.acmerobotics.dashboard.config.Config;
|
||||||
|
import com.acmerobotics.dashboard.telemetry.MultipleTelemetry;
|
||||||
|
import com.qualcomm.robotcore.eventloop.opmode.LinearOpMode;
|
||||||
|
import com.qualcomm.robotcore.eventloop.opmode.TeleOp;
|
||||||
|
|
||||||
|
import org.firstinspires.ftc.teamcode.constants.ServoPositions;
|
||||||
|
import org.firstinspires.ftc.teamcode.pedroPathing.Constants;
|
||||||
|
import org.firstinspires.ftc.teamcode.utilsv2.Robot;
|
||||||
|
import org.firstinspires.ftc.teamcode.utilsv2.Shooter;
|
||||||
|
|
||||||
|
@Config
|
||||||
|
@TeleOp
|
||||||
|
public class NewShooterTest extends LinearOpMode {
|
||||||
|
|
||||||
|
Robot robot;
|
||||||
|
|
||||||
|
public static boolean intake = true;
|
||||||
|
public static boolean shoot = false;
|
||||||
|
public static double intakePower = 1.0;
|
||||||
|
public static double transferShootPower = -1;
|
||||||
|
public static double transferIntakePower = -1.0;
|
||||||
|
public static double turretPos = 0.51;
|
||||||
|
public static double hoodPos = 0.51;
|
||||||
|
public static double flywheel = 0;
|
||||||
|
|
||||||
|
private enum ShootState {
|
||||||
|
IDLE,
|
||||||
|
WAIT_GATE,
|
||||||
|
WAIT_PUSH
|
||||||
|
}
|
||||||
|
|
||||||
|
private ShootState shootState = ShootState.IDLE;
|
||||||
|
private long timestamp = 0;
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public void runOpMode() throws InterruptedException {
|
||||||
|
|
||||||
|
Robot.resetInstance();
|
||||||
|
|
||||||
|
robot = Robot.getInstance(hardwareMap);
|
||||||
|
|
||||||
|
Shooter shooter = new Shooter(
|
||||||
|
robot,
|
||||||
|
new MultipleTelemetry(
|
||||||
|
telemetry,
|
||||||
|
FtcDashboard.getInstance().getTelemetry()
|
||||||
|
),
|
||||||
|
Constants.createFollower(hardwareMap),
|
||||||
|
true
|
||||||
|
);
|
||||||
|
|
||||||
|
shooter.setState(Shooter.ShooterState.MANUAL);
|
||||||
|
|
||||||
|
waitForStart();
|
||||||
|
|
||||||
|
if (isStopRequested()) return;
|
||||||
|
|
||||||
|
while (opModeIsActive()) {
|
||||||
|
|
||||||
|
robot.setHoodPos(hoodPos);
|
||||||
|
shooter.setTurretPosition(turretPos);
|
||||||
|
shooter.setFlywheelVelocity(flywheel);
|
||||||
|
robot.setSpinPos(ServoPositions.spindexer_A2);
|
||||||
|
|
||||||
|
if (intake && !shoot) {
|
||||||
|
|
||||||
|
shootState = ShootState.IDLE;
|
||||||
|
|
||||||
|
robot.setRapidFireBlockerPos(
|
||||||
|
ServoPositions.rapidFireBlocker_Closed);
|
||||||
|
|
||||||
|
robot.setTransferPower(transferIntakePower);
|
||||||
|
robot.setIntakePower(intakePower);
|
||||||
|
robot.setTransferServoPos(
|
||||||
|
ServoPositions.transferServo_out);
|
||||||
|
}
|
||||||
|
|
||||||
|
else if (shoot) {
|
||||||
|
robot.setIntakePower(intakePower);
|
||||||
|
|
||||||
|
|
||||||
|
switch (shootState) {
|
||||||
|
|
||||||
|
case IDLE:
|
||||||
|
|
||||||
|
robot.setTransferPower(transferShootPower);
|
||||||
|
|
||||||
|
timestamp = System.currentTimeMillis();
|
||||||
|
shootState = ShootState.WAIT_GATE;
|
||||||
|
|
||||||
|
break;
|
||||||
|
|
||||||
|
case WAIT_GATE:
|
||||||
|
|
||||||
|
if (System.currentTimeMillis() - timestamp >= 300) {
|
||||||
|
|
||||||
|
robot.setRapidFireBlockerPos(
|
||||||
|
ServoPositions.rapidFireBlocker_Open);
|
||||||
|
|
||||||
|
timestamp = System.currentTimeMillis();
|
||||||
|
shootState = ShootState.WAIT_PUSH;
|
||||||
|
}
|
||||||
|
|
||||||
|
break;
|
||||||
|
|
||||||
|
case WAIT_PUSH:
|
||||||
|
|
||||||
|
if (System.currentTimeMillis() - timestamp >= 100) {
|
||||||
|
|
||||||
|
robot.setTransferServoPos(
|
||||||
|
ServoPositions.transferServo_in);
|
||||||
|
|
||||||
|
shootState = ShootState.IDLE;
|
||||||
|
}
|
||||||
|
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
shooter.update();
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
@@ -125,7 +125,7 @@ public class Robot {
|
|||||||
spin2 = hardwareMap.get(Servo.class, "spin2");
|
spin2 = hardwareMap.get(Servo.class, "spin2");
|
||||||
|
|
||||||
transfer = hardwareMap.get(DcMotorEx.class, "transfer");
|
transfer = hardwareMap.get(DcMotorEx.class, "transfer");
|
||||||
transfer.setDirection(DcMotorSimple.Direction.REVERSE);
|
|
||||||
|
|
||||||
transferServo = hardwareMap.get(Servo.class, "transferServo");
|
transferServo = hardwareMap.get(Servo.class, "transferServo");
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user