diff --git a/TeamCode/src/main/java/org/timecrafters/diagnostics/rev_hub_test_suite/RevHubTestSuiteRobot.java b/TeamCode/src/main/java/org/timecrafters/diagnostics/rev_hub_test_suite/RevHubTestSuiteRobot.java index 9986a94..6f29832 100644 --- a/TeamCode/src/main/java/org/timecrafters/diagnostics/rev_hub_test_suite/RevHubTestSuiteRobot.java +++ b/TeamCode/src/main/java/org/timecrafters/diagnostics/rev_hub_test_suite/RevHubTestSuiteRobot.java @@ -12,6 +12,7 @@ import com.qualcomm.robotcore.hardware.HardwareMap; import org.firstinspires.ftc.robotcore.external.navigation.AngleUnit; import org.timecrafters.Library.Robot; +import org.timecrafters.diagnostics.rev_hub_test_suite.states.RevTestSuiteTestState; import java.util.ArrayList; @@ -22,6 +23,8 @@ public class RevHubTestSuiteRobot extends Robot { private HardwareMap hardwareMap; public boolean testingControlHub = true; + public RevTestSuiteTestState.STAGE stage = RevTestSuiteTestState.STAGE.NONE; + public final ArrayList reports = new ArrayList<>(); public ArrayList controlHubMotors = new ArrayList<>(), expansionHubMotors = new ArrayList<>(); public ArrayList controlHubServos = new ArrayList<>(), expansionHubServos = new ArrayList<>(); public ArrayList controlHubAnalogSensors = new ArrayList<>(), expansionHubAnalogSensors = new ArrayList<>(); @@ -43,12 +46,12 @@ public class RevHubTestSuiteRobot extends Robot { controlHubMotors.add(new MotorEx(hardwareMap, "c_motor_3")); // // SERVOS -// controlHubServos.add(new SimpleServo(hardwareMap, "c_servo_0", 0.0, 180.0, AngleUnit.DEGREES)); -// controlHubServos.add(new SimpleServo(hardwareMap, "c_servo_1", 0.0, 180.0, AngleUnit.DEGREES)); -// controlHubServos.add(new SimpleServo(hardwareMap, "c_servo_2", 0.0, 180.0, AngleUnit.DEGREES)); -// controlHubServos.add(new SimpleServo(hardwareMap, "c_servo_3", 0.0, 180.0, AngleUnit.DEGREES)); -// controlHubServos.add(new SimpleServo(hardwareMap, "c_servo_4", 0.0, 180.0, AngleUnit.DEGREES)); -// controlHubServos.add(new SimpleServo(hardwareMap, "c_servo_5", 0.0, 180.0, AngleUnit.DEGREES)); + controlHubServos.add(new SimpleServo(hardwareMap, "c_servo_0", 0.0, 180.0, AngleUnit.DEGREES)); + controlHubServos.add(new SimpleServo(hardwareMap, "c_servo_1", 0.0, 180.0, AngleUnit.DEGREES)); + controlHubServos.add(new SimpleServo(hardwareMap, "c_servo_2", 0.0, 180.0, AngleUnit.DEGREES)); + controlHubServos.add(new SimpleServo(hardwareMap, "c_servo_3", 0.0, 180.0, AngleUnit.DEGREES)); + controlHubServos.add(new SimpleServo(hardwareMap, "c_servo_4", 0.0, 180.0, AngleUnit.DEGREES)); + controlHubServos.add(new SimpleServo(hardwareMap, "c_servo_5", 0.0, 180.0, AngleUnit.DEGREES)); // // // ANALOG SENSORS // controlHubAnalogSensors.add(hardwareMap.analogInput.get("c_analog_0")); diff --git a/TeamCode/src/main/java/org/timecrafters/diagnostics/rev_hub_test_suite/states/RevHubTestSuiteAnalogTestsState.java b/TeamCode/src/main/java/org/timecrafters/diagnostics/rev_hub_test_suite/states/RevHubTestSuiteAnalogTestsState.java index c4ca0bf..0744d71 100644 --- a/TeamCode/src/main/java/org/timecrafters/diagnostics/rev_hub_test_suite/states/RevHubTestSuiteAnalogTestsState.java +++ b/TeamCode/src/main/java/org/timecrafters/diagnostics/rev_hub_test_suite/states/RevHubTestSuiteAnalogTestsState.java @@ -28,7 +28,7 @@ public class RevHubTestSuiteAnalogTestsState extends RevTestSuiteTestState { report("-"); // Add newline } - if (stage.ordinal() > STAGE.ANALOG_SENSOR.ordinal()) { + if (robot.stage.ordinal() > STAGE.ANALOG_SENSOR.ordinal()) { testComplete = true; } } diff --git a/TeamCode/src/main/java/org/timecrafters/diagnostics/rev_hub_test_suite/states/RevHubTestSuiteDigitalTestsState.java b/TeamCode/src/main/java/org/timecrafters/diagnostics/rev_hub_test_suite/states/RevHubTestSuiteDigitalTestsState.java index 3ae5d1d..fc7de6e 100644 --- a/TeamCode/src/main/java/org/timecrafters/diagnostics/rev_hub_test_suite/states/RevHubTestSuiteDigitalTestsState.java +++ b/TeamCode/src/main/java/org/timecrafters/diagnostics/rev_hub_test_suite/states/RevHubTestSuiteDigitalTestsState.java @@ -29,7 +29,7 @@ public class RevHubTestSuiteDigitalTestsState extends RevTestSuiteTestState { report("-"); // Add newline } - if (stage.ordinal() > STAGE.DIGITAL_SENSOR.ordinal()) { + if (robot.stage.ordinal() > STAGE.DIGITAL_SENSOR.ordinal()) { testComplete = true; } } diff --git a/TeamCode/src/main/java/org/timecrafters/diagnostics/rev_hub_test_suite/states/RevHubTestSuiteI2CTestsState.java b/TeamCode/src/main/java/org/timecrafters/diagnostics/rev_hub_test_suite/states/RevHubTestSuiteI2CTestsState.java index 88189fa..8df2b25 100644 --- a/TeamCode/src/main/java/org/timecrafters/diagnostics/rev_hub_test_suite/states/RevHubTestSuiteI2CTestsState.java +++ b/TeamCode/src/main/java/org/timecrafters/diagnostics/rev_hub_test_suite/states/RevHubTestSuiteI2CTestsState.java @@ -32,7 +32,7 @@ public class RevHubTestSuiteI2CTestsState extends RevTestSuiteTestState { report("-"); // Add newline } - if (stage.ordinal() > STAGE.I2C_SENSOR.ordinal()) { + if (robot.stage.ordinal() > STAGE.I2C_SENSOR.ordinal()) { testComplete = true; } } diff --git a/TeamCode/src/main/java/org/timecrafters/diagnostics/rev_hub_test_suite/states/RevHubTestSuiteMotorTestsState.java b/TeamCode/src/main/java/org/timecrafters/diagnostics/rev_hub_test_suite/states/RevHubTestSuiteMotorTestsState.java index d739580..f00452c 100644 --- a/TeamCode/src/main/java/org/timecrafters/diagnostics/rev_hub_test_suite/states/RevHubTestSuiteMotorTestsState.java +++ b/TeamCode/src/main/java/org/timecrafters/diagnostics/rev_hub_test_suite/states/RevHubTestSuiteMotorTestsState.java @@ -43,7 +43,7 @@ public class RevHubTestSuiteMotorTestsState extends RevTestSuiteTestState { if (testComplete) return; - switch (stage) { + switch (robot.stage) { case MOTOR_ENCODER_STEADY: { test_encoder_steady(); break; @@ -70,7 +70,7 @@ public class RevHubTestSuiteMotorTestsState extends RevTestSuiteTestState { } } - if (stage.ordinal() > STAGE.MOTOR_BRAKING_MODE.ordinal()) { + if (robot.stage.ordinal() > STAGE.MOTOR_BRAKING_MODE.ordinal()) { testComplete = true; } } @@ -242,7 +242,7 @@ public class RevHubTestSuiteMotorTestsState extends RevTestSuiteTestState { @Override public void buttonUp(Gamepad gamepad, String button) { - if (stage != STAGE.MOTOR_BRAKING_MODE) { + if (robot.stage != STAGE.MOTOR_BRAKING_MODE) { return; } @@ -283,7 +283,7 @@ public class RevHubTestSuiteMotorTestsState extends RevTestSuiteTestState { engine.telemetry.addLine(); } - if (stage == STAGE.MOTOR_BRAKING_MODE) { + if (robot.stage == STAGE.MOTOR_BRAKING_MODE) { engine.telemetry.addLine("MANUAL TEST"); engine.telemetry.addLine("PRESS `A` if Motor " + motor_index + " is BRAKING."); engine.telemetry.addLine(); diff --git a/TeamCode/src/main/java/org/timecrafters/diagnostics/rev_hub_test_suite/states/RevHubTestSuiteServoTestsState.java b/TeamCode/src/main/java/org/timecrafters/diagnostics/rev_hub_test_suite/states/RevHubTestSuiteServoTestsState.java index a942d6a..def4f08 100644 --- a/TeamCode/src/main/java/org/timecrafters/diagnostics/rev_hub_test_suite/states/RevHubTestSuiteServoTestsState.java +++ b/TeamCode/src/main/java/org/timecrafters/diagnostics/rev_hub_test_suite/states/RevHubTestSuiteServoTestsState.java @@ -29,7 +29,7 @@ public class RevHubTestSuiteServoTestsState extends RevTestSuiteTestState { test_servos(); - if (stage.ordinal() > STAGE.SERVO_SWEEP.ordinal()) { + if (robot.stage.ordinal() > STAGE.SERVO_SWEEP.ordinal()) { testComplete = true; } } @@ -57,7 +57,7 @@ public class RevHubTestSuiteServoTestsState extends RevTestSuiteTestState { } public void buttonUp(Gamepad gamepad, String button) { - if (stage != STAGE.SERVO_SWEEP) { + if (robot.stage != STAGE.SERVO_SWEEP) { return; } @@ -80,7 +80,7 @@ public class RevHubTestSuiteServoTestsState extends RevTestSuiteTestState { engine.telemetry.addLine("SERVO CONTROLLER TESTING"); engine.telemetry.addLine(); - if (stage == STAGE.SERVO_SWEEP) { + if (robot.stage == STAGE.SERVO_SWEEP) { engine.telemetry.addLine("MANUAL TEST"); engine.telemetry.addLine("PRESS `A` if Servo " + servo_index + " is ROTATING."); engine.telemetry.addLine(); diff --git a/TeamCode/src/main/java/org/timecrafters/diagnostics/rev_hub_test_suite/states/RevTestSuiteTestState.java b/TeamCode/src/main/java/org/timecrafters/diagnostics/rev_hub_test_suite/states/RevTestSuiteTestState.java index 9b7aa3c..5cf3792 100644 --- a/TeamCode/src/main/java/org/timecrafters/diagnostics/rev_hub_test_suite/states/RevTestSuiteTestState.java +++ b/TeamCode/src/main/java/org/timecrafters/diagnostics/rev_hub_test_suite/states/RevTestSuiteTestState.java @@ -27,8 +27,6 @@ public class RevTestSuiteTestState extends CyberarmState { final String TAG = "RevTestSuite|State"; RevHubTestSuiteRobot robot; - protected STAGE stage = STAGE.NONE; - protected final ArrayList reports = new ArrayList<>(); protected boolean testComplete = false; public RevTestSuiteTestState(RevHubTestSuiteRobot robot) { super(); @@ -40,36 +38,37 @@ public class RevTestSuiteTestState extends CyberarmState { public void exec() { if (testComplete && engine.gamepad1.guide) { setHasFinished(true); + testComplete = false; } } void report(String reason) { - synchronized (reports) { - reports.add(reason); + synchronized (robot.reports) { + robot.reports.add(reason); } } public void nextStage() { - if (stage == STAGE.COMPLETE) + if (robot.stage == STAGE.COMPLETE) return; - stage = STAGE.values()[stage.ordinal() + 1]; + robot.stage = STAGE.values()[robot.stage.ordinal() + 1]; } @Override public void telemetry() { if (testComplete) { - engine.telemetry.addLine("TESTING"); - } else { engine.telemetry.addLine("PRESS `GUIDE` TO CONTINUE"); + } else { + engine.telemetry.addLine("TESTING"); } engine.telemetry.addLine(); - engine.telemetry.addData("STAGE", stage); + engine.telemetry.addData("STAGE", robot.stage); engine.telemetry.addLine(); engine.telemetry.addLine("REPORTS"); - synchronized (reports) { - for (String report : reports) { + synchronized (robot.reports) { + for (String report : robot.reports) { engine.telemetry.addLine(report); } }