mirror of
https://github.com/BroncBotz3481/YAGSL
synced 2026-06-19 06:21:40 +00:00
Add alerts to PWMDutyCycleEncoder and SparkMax
This commit is contained in:
@@ -26,6 +26,10 @@ public class PWMDutyCycleEncoderSwerve extends SwerveAbsoluteEncoder
|
||||
* An {@link Alert} for if the encoder cannot report accurate velocities.
|
||||
*/
|
||||
private Alert inaccurateVelocities;
|
||||
/**
|
||||
* An {@link Alert} for if the encoder is disconnected.
|
||||
*/
|
||||
private Alert disconnected;
|
||||
|
||||
/**
|
||||
* Constructor for the PWM duty cycle encoder.
|
||||
@@ -39,6 +43,10 @@ public class PWMDutyCycleEncoderSwerve extends SwerveAbsoluteEncoder
|
||||
"Encoders",
|
||||
"The PWM Duty Cycle encoder may not report accurate velocities!",
|
||||
Alert.AlertType.WARNING_TRACE);
|
||||
inaccurateVelocities = new Alert(
|
||||
"Encoders",
|
||||
"The swerve encoder on port " + pin + "is disconnected!",
|
||||
Alert.AlertType.ERROR_TRACE);
|
||||
|
||||
}
|
||||
|
||||
@@ -61,6 +69,7 @@ public class PWMDutyCycleEncoderSwerve extends SwerveAbsoluteEncoder
|
||||
@Override
|
||||
public double getAbsolutePosition()
|
||||
{
|
||||
disconnected.set(!encoder.isConnected());
|
||||
return (isInverted ? -1.0 : 1.0) * encoder.getAbsolutePosition() * 360;
|
||||
}
|
||||
|
||||
@@ -83,6 +92,7 @@ public class PWMDutyCycleEncoderSwerve extends SwerveAbsoluteEncoder
|
||||
@Override
|
||||
public double getVelocity()
|
||||
{
|
||||
disconnected.set(!encoder.isConnected());
|
||||
inaccurateVelocities.set(true);
|
||||
return encoder.get();
|
||||
}
|
||||
|
||||
@@ -52,6 +52,11 @@ public class SparkMaxSwerve extends SwerveMotor
|
||||
*/
|
||||
private Supplier<Double> position;
|
||||
|
||||
/**
|
||||
* An {@link Alert} for if there is an error configuring the motor.
|
||||
*/
|
||||
private Alert failureConfiguringAlert;
|
||||
|
||||
/**
|
||||
* Initialize the swerve motor.
|
||||
*
|
||||
@@ -74,6 +79,9 @@ public class SparkMaxSwerve extends SwerveMotor
|
||||
position = encoder::getPosition;
|
||||
// Spin off configurations in a different thread.
|
||||
// configureSparkMax(() -> motor.setCANTimeout(0)); // Commented out because it prevents feedback.
|
||||
failureConfiguringAlert = new Alert("Motors",
|
||||
"Failure configuring motor " + motor.getDeviceId(),
|
||||
Alert.AlertType.WARNING_TRACE);
|
||||
}
|
||||
|
||||
/**
|
||||
@@ -101,7 +109,7 @@ public class SparkMaxSwerve extends SwerveMotor
|
||||
return;
|
||||
}
|
||||
}
|
||||
DriverStation.reportWarning("Failure configuring motor " + motor.getDeviceId(), true);
|
||||
failureConfiguringAlert.set(true);
|
||||
}
|
||||
|
||||
/**
|
||||
|
||||
Reference in New Issue
Block a user