import com.ctre.phoenix6.sim.TalonFXSimState;
import edu.wpi.first.math.MathUtil;
+import edu.wpi.first.math.filter.Debouncer;
import edu.wpi.first.math.filter.LinearFilter;
+import edu.wpi.first.math.filter.Debouncer.DebounceType;
import edu.wpi.first.math.geometry.Rotation2d;
import edu.wpi.first.math.util.Units;
import edu.wpi.first.wpilibj.RobotBase;
private final TurretIOInputsAutoLogged inputs = new TurretIOInputsAutoLogged();
private boolean calibrating;
+ private Debouncer calibrationDebouncer = new Debouncer(0.5, DebounceType.kRising);
/* ---------------- Hardware ---------------- */
if(calibrating){
motor.set(0.05);
- if(Math.abs(motor.getStatorCurrent().getValueAsDouble()) >= TurretConstants.CALIBRATION_CURRENT_THRESHOLD){
+ boolean calibrated = Math.abs(motor.getStatorCurrent().getValueAsDouble()) >= TurretConstants.CALIBRATION_CURRENT_THRESHOLD;
+ if(calibrationDebouncer.calculate(calibrated)){
stopCalibrating();
}
} else{