WIP: RevHubTestSuite: More tests working

This commit is contained in:
2023-09-28 20:59:39 -05:00
parent 3e88daee57
commit 2500ca64a5
6 changed files with 45 additions and 33 deletions

View File

@@ -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();

View File

@@ -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() {

View File

@@ -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");

View File

@@ -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");

View File

@@ -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++;
}

View File

@@ -21,6 +21,7 @@ public class RevTestSuiteTestState extends CyberarmState {
ANALOG_SENSOR,
DIGITAL_SENSOR,
I2C_SENSOR,
IMU,
COMPLETE
}