Easy answer don’t use loops. When you trip the watchdog it cuts output.
You should look at possibly using a state machine or schedule a TimerTask to complete your operations. As is its preventing communications with the driver station and/or the rest of the code.
Example
change
while ((Timer.getFPGATimestamp() < time + 5.0f) && this.thePole.getLeftWays()) {
System.out.println(';');
this.armSwingyMotor.set(0.25);
}
this.armSwingyMotor.set(0);
To something like
final double time = Timer.getFPGATimestamp();
java.util.Timer timer = new java.util.Timer();
timer.schedule( new TimerTask()
{
public void run()
{
if((Timer.getFPGATimestamp() < time + 5.0f) && this.thePole.getLeftWays()) {
System.out.println(';');
this.armSwingyMotor.set(0.25);
}
else
{
this.armSwingyMotor.set(0);
this.cancel();
}
}
}, 0, 50);
This will call the run method every 50 ms starting immediately.
Why call a timer to set the motor to .25 instead of setting the motor to 0.25 then creating a timer to stop the motor? To avoid the motor safety shutting it off