diff --git a/TeamCode/src/main/java/org/timecrafters/diagnostics/rev_hub_test_suite/RevHubTestSuiteEngine.java b/TeamCode/src/main/java/org/timecrafters/diagnostics/rev_hub_test_suite/RevHubTestSuiteEngine.java index c549592..2a60d62 100644 --- a/TeamCode/src/main/java/org/timecrafters/diagnostics/rev_hub_test_suite/RevHubTestSuiteEngine.java +++ b/TeamCode/src/main/java/org/timecrafters/diagnostics/rev_hub_test_suite/RevHubTestSuiteEngine.java @@ -8,6 +8,7 @@ import org.timecrafters.diagnostics.rev_hub_test_suite.states.RevHubTestSuiteHub import org.timecrafters.diagnostics.rev_hub_test_suite.states.RevHubTestSuiteI2CTestsState; import org.timecrafters.diagnostics.rev_hub_test_suite.states.RevHubTestSuiteMotorTestsState; import org.timecrafters.diagnostics.rev_hub_test_suite.states.RevHubTestSuiteServoTestsState; +import org.timecrafters.diagnostics.rev_hub_test_suite.states.RevTestSuiteTestState; import dev.cyberarm.engine.V2.CyberarmEngine; @@ -29,10 +30,14 @@ public class RevHubTestSuiteEngine extends CyberarmEngine { addState(new RevHubTestSuiteAnalogTestsState(robot)); addState(new RevHubTestSuiteDigitalTestsState(robot)); addState(new RevHubTestSuiteI2CTestsState(robot)); + + // robot.stage = RevTestSuiteTestState.STAGE.ANALOG_SENSOR; } @Override public void loop() { + // robot.controlHubMotors.get(0).motorEx.setPower(gamepad1.left_stick_y * 0.1); + robot.clearStaleData(); super.loop(); 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 6f29832..3ad3ca8 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 @@ -52,29 +52,29 @@ public class RevHubTestSuiteRobot extends Robot { 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")); -// controlHubAnalogSensors.add(hardwareMap.analogInput.get("c_analog_1")); -// controlHubAnalogSensors.add(hardwareMap.analogInput.get("c_analog_2")); -// controlHubAnalogSensors.add(hardwareMap.analogInput.get("c_analog_3")); -// -// // DIGITAL SENSORS -// controlHubDigitalSensors.add(hardwareMap.digitalChannel.get("c_digital_0")); -// controlHubDigitalSensors.add(hardwareMap.digitalChannel.get("c_digital_1")); -// controlHubDigitalSensors.add(hardwareMap.digitalChannel.get("c_digital_2")); -// controlHubDigitalSensors.add(hardwareMap.digitalChannel.get("c_digital_3")); -// controlHubDigitalSensors.add(hardwareMap.digitalChannel.get("c_digital_4")); -// controlHubDigitalSensors.add(hardwareMap.digitalChannel.get("c_digital_5")); -// controlHubDigitalSensors.add(hardwareMap.digitalChannel.get("c_digital_6")); -// controlHubDigitalSensors.add(hardwareMap.digitalChannel.get("c_digital_7")); -// -// // I2C SENSORS -// controlHubI2cSensors.add(hardwareMap.get(Rev2mDistanceSensor.class, "c_i2c_0")); -// controlHubI2cSensors.add(hardwareMap.get(Rev2mDistanceSensor.class, "c_i2c_1")); -// controlHubI2cSensors.add(hardwareMap.get(Rev2mDistanceSensor.class, "c_i2c_2")); -// controlHubI2cSensors.add(hardwareMap.get(Rev2mDistanceSensor.class, "c_i2c_3")); -// + + // ANALOG SENSORS + controlHubAnalogSensors.add(hardwareMap.analogInput.get("c_analog_0")); + controlHubAnalogSensors.add(hardwareMap.analogInput.get("c_analog_1")); + controlHubAnalogSensors.add(hardwareMap.analogInput.get("c_analog_2")); + controlHubAnalogSensors.add(hardwareMap.analogInput.get("c_analog_3")); + + // DIGITAL SENSORS + controlHubDigitalSensors.add(hardwareMap.digitalChannel.get("c_digital_0")); + controlHubDigitalSensors.add(hardwareMap.digitalChannel.get("c_digital_1")); + controlHubDigitalSensors.add(hardwareMap.digitalChannel.get("c_digital_2")); + controlHubDigitalSensors.add(hardwareMap.digitalChannel.get("c_digital_3")); + controlHubDigitalSensors.add(hardwareMap.digitalChannel.get("c_digital_4")); + controlHubDigitalSensors.add(hardwareMap.digitalChannel.get("c_digital_5")); + controlHubDigitalSensors.add(hardwareMap.digitalChannel.get("c_digital_6")); + controlHubDigitalSensors.add(hardwareMap.digitalChannel.get("c_digital_7")); + + // I2C SENSORS + controlHubI2cSensors.add(hardwareMap.get(Rev2mDistanceSensor.class, "c_i2c_0")); + controlHubI2cSensors.add(hardwareMap.get(Rev2mDistanceSensor.class, "c_i2c_1")); + controlHubI2cSensors.add(hardwareMap.get(Rev2mDistanceSensor.class, "c_i2c_2")); + controlHubI2cSensors.add(hardwareMap.get(Rev2mDistanceSensor.class, "c_i2c_3")); + // /* ------------------------------------------------ Expansion Hub Devices ------------------------------------------------ */ // // MOTORS // expansionHubMotors.add(new MotorEx(hardwareMap, "x_motor_0")); @@ -113,9 +113,9 @@ public class RevHubTestSuiteRobot extends Robot { // expansionHubI2cSensors.add(hardwareMap.get(Rev2mDistanceSensor.class, "x_i2c_3")); // // /* ------------------------------------------------ Hub Sensor Reading Optimization ------------------------------------------------ */ -// for (LynxModule hub : lynxModules) { -// hub.setBulkCachingMode(LynxModule.BulkCachingMode.MANUAL); -// } + for (LynxModule hub : lynxModules) { + hub.setBulkCachingMode(LynxModule.BulkCachingMode.MANUAL); + } /* ------------------------------------------------ Motor Configuration ------------------------------------------------ */ configureMotors(); @@ -125,9 +125,9 @@ public class RevHubTestSuiteRobot extends Robot { } protected void clearStaleData() { -// for (LynxModule hub : lynxModules) { -// hub.clearBulkCache(); -// } + for (LynxModule hub : lynxModules) { + hub.clearBulkCache(); + } } private void configureMotors() { 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 0744d71..09723ea 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 @@ -38,7 +38,7 @@ public class RevHubTestSuiteAnalogTestsState extends RevTestSuiteTestState { engine.telemetry.addLine("ANALOG SENSOR PORT TESTING"); engine.telemetry.addLine(); - if (sensor_index < 4) { + if (sensor_index < sensors.size()) { AnalogInput sensor = sensors.get(sensor_index); engine.telemetry.addData("Analog Sensor", "Port: %d, V: %.2f/%.2f (%.2f%%)", sensor_index, sensor.getVoltage(), sensor.getMaxVoltage(), (sensor.getVoltage() / sensor.getMaxVoltage()) * 100.0); @@ -56,6 +56,9 @@ public class RevHubTestSuiteAnalogTestsState extends RevTestSuiteTestState { @Override public void buttonUp(Gamepad gamepad, String button) { + if (robot.stage != STAGE.ANALOG_SENSOR) + return; + if (gamepad == engine.gamepad1) { if (button.equals("a")) { report("PASSED: Analog Sensor " + sensor_index + " OKAY"); 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 fc7de6e..d4dff61 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 @@ -39,7 +39,7 @@ public class RevHubTestSuiteDigitalTestsState extends RevTestSuiteTestState { engine.telemetry.addLine("DIGITAL SENSOR PORT TESTING"); engine.telemetry.addLine(); - if (sensor_index < 4) { + if (sensor_index < sensors.size()) { DigitalChannel sensor = sensors.get(sensor_index); engine.telemetry.addData("Digital Sensor", "Port: %d, State: %s", sensor_index, (sensor.getState() ? "ON" : "OFF")); @@ -58,6 +58,9 @@ public class RevHubTestSuiteDigitalTestsState extends RevTestSuiteTestState { @Override public void buttonUp(Gamepad gamepad, String button) { + if (robot.stage != STAGE.DIGITAL_SENSOR) + return; + if (gamepad == engine.gamepad1) { if (button.equals("a")) { report("PASSED: Digital Sensor " + sensor_index + " OKAY"); 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 8df2b25..8419eb5 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 @@ -63,11 +63,11 @@ public class RevHubTestSuiteI2CTestsState extends RevTestSuiteTestState { public void buttonUp(Gamepad gamepad, String button) { if (gamepad == engine.gamepad1) { if (button.equals("a")) { - report("PASSED: Digital Sensor " + sensor_index + " OKAY"); + report("PASSED: I2C Sensor " + sensor_index + " OKAY"); sensor_index++; } else if (button.equals("y")) { - report("FAILED: Digital Sensor " + sensor_index + " NOT OKAY"); + report("FAILED: I2C Sensor " + sensor_index + " NOT OKAY"); sensor_index++; } 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 5cf3792..f99913a 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 @@ -21,6 +21,7 @@ public class RevTestSuiteTestState extends CyberarmState { ANALOG_SENSOR, DIGITAL_SENSOR, I2C_SENSOR, + IMU, COMPLETE }