Skip to content

Commit e2ee4eb

Browse files
committed
reset state on initialize()
1 parent f35f6ec commit e2ee4eb

File tree

1 file changed

+12
-4
lines changed

1 file changed

+12
-4
lines changed

src/main/java/frc/robot/shooter/commands/FlywheelController.java

Lines changed: 12 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -40,14 +40,22 @@ public FlywheelController(Shooter shooter, double rpm, double hoodAngle) {
4040
@Override
4141
public void initialize() {
4242
shooter.setHoodPosition(hoodAngle);
43+
closeToTarget = false;
44+
velocity = 0;
45+
lastPosition = shooter.getEncoderPosition();
46+
timer.reset();
47+
lastTime = 0;
48+
// timer.start();
4349
controller.startPeriodic(0.02);
44-
closeToTarget = false;
4550
}
4651

4752
void controller() {
4853
double time = timer.get();
4954
double position = shooter.getEncoderPosition();
5055
double dt = time - lastTime;
56+
if (dt < 0.0001) {
57+
dt = 0.001;
58+
}
5159
velocity = (position - lastPosition) / (dt) * 60;
5260

5361
flywheelController.setReference(rpm);
@@ -66,12 +74,11 @@ void controller() {
6674
public void execute() {
6775
double targetDelta = rpm - velocity;
6876

69-
if ((Math.abs(targetDelta) < 200) && !closeToTarget) {
77+
if ((Math.abs(targetDelta) < 20) && !closeToTarget) {
7078
closeToTarget = true;
7179
// Only do this if it is a preset shot
72-
Status.getInstance().fillLEDs();
7380
if (this instanceof PresetFlywheelController) {
74-
81+
Status.getInstance().fillLEDs();
7582
}
7683
}
7784
}
@@ -80,6 +87,7 @@ public void execute() {
8087
public void end(boolean interrupted) {
8188
controller.stop();
8289
closeToTarget= false;
90+
velocity = 0;
8391
}
8492

8593
@Override

0 commit comments

Comments
 (0)