Ok, so we’re basically recoding our bot from last year
For some reason, our watchdog is not being fed
Here is the java code:
package edu.wpi.first.wpilibj.templates;
import edu.wpi.first.wpilibj.IterativeRobot;
import edu.wpi.first.wpilibj.DriverStation;
import edu.wpi.first.wpilibj.Joystick;
import edu.wpi.first.wpilibj.RobotDrive;
import edu.wpi.first.wpilibj.Solenoid;
import edu.wpi.first.wpilibj.Timer;
import edu.wpi.first.wpilibj.Watchdog;
import edu.wpi.first.wpilibj.camera.*;
import edu.wpi.first.wpilibj.Relay;
import edu.wpi.first.wpilibj.PWM;
public class robot10 extends IterativeRobot {
Joystick joystick=new Joystick(1);
DriverStation driverstation=DriverStation.getInstance();
AxisCamera camera;
RobotDrive mecanumWheels= new RobotDrive(1,2,3,4);
Solenoid extend1=new Solenoid(1);
Solenoid retract1=new Solenoid(2);
Solenoid extend2=new Solenoid(3);
Solenoid retract2=new Solenoid(4);
int b=0;
Relay compressor=new Relay(4,1);
PWM vacuum=new PWM(5);
PWM camServo=new PWM(6);
Watchdog watchdog=Watchdog.getInstance();
public void robotInit() {
compressor.set(Relay.Value.kOn);
camera=AxisCamera.getInstance();
watchdog.setEnabled(true);
watchdog.feed();
}
public void autonomousPeriodic() {
watchdog.setEnabled(true);
if(b==0){
watchdog.setEnabled(false);
watchdog.kill();
autoBot();
b++;
}
watchdog.feed();
}
public void teleopPeriodic() {
mecanumWheels.holonomicDrive(joystick.getMagnitude(), joystick.getDirectionDegrees(), joystick.getTwist());
if(joystick.getRawButton(1))
{
retract1.set(false);
retract2.set(false);
extend1.set(true);
extend2.set(true);
}else{
extend1.set(false);
extend2.set(false);
retract1.set(true);
retract2.set(true);
}
camServo.setPosition(joystick.getThrottle());
if(joystick.getRawButton(2))
vacuum.setRaw(255);
else
vacuum.setRaw(0);
watchdog.feed();
}
public void autoBot(){
Timer.delay(5);
mecanumWheels.arcadeDrive(255, 0);
Timer.delay(2);
extend1.set(true);
extend2.set(true);
Timer.delay(1);
extend1.set(false);
extend2.set(false);
retract1.set(true);
retract2.set(true);
Timer.delay(2);
retract1.set(false);
retract2.set(false);
extend1.set(true);
extend2.set(true);
Timer.delay(1);
extend1.set(false);
extend2.set(false);
retract1.set(true);
retract2.set(true);
Timer.delay(2);
retract1.set(false);
retract2.set(false);
extend1.set(true);
extend2.set(true);
Timer.delay(1);
extend1.set(false);
extend2.set(false);
retract1.set(true);
retract2.set(true);
Timer.delay(1);
retract1.set(false);
retract2.set(false);
watchdog.feed();
}
public void disabledInt(){
compressor.set(Relay.Value.kOff);
}
public void disabledPeriodic(){
watchdog.feed();
}
}
Our labview code (which works fine) is in the attachment
Team 224 Code 0.zip (1.99 MB)
Team 224 Code 0.zip (1.99 MB)