Hi, I’m head programmer of Team 6077 (rookie team). I was wondering if one of you could be kind enough to look through my code (Java) to make sure it follows the rules, and theoretically works.
package org.usfirst.frc.team6077.robot;
import edu.wpi.first.wpilibj.SampleRobot;
import edu.wpi.first.wpilibj.Solenoid;
import edu.wpi.first.wpilibj.TalonSRX;
import edu.wpi.first.wpilibj.Victor;
import edu.wpi.first.wpilibj.command.Scheduler;
import edu.wpi.first.wpilibj.RobotDrive;
import edu.wpi.first.wpilibj.Compressor;
import edu.wpi.first.wpilibj.DoubleSolenoid;
import edu.wpi.first.wpilibj.Joystick;
import edu.wpi.first.wpilibj.smartdashboard.SendableChooser;
import edu.wpi.first.wpilibj.smartdashboard.SmartDashboard;
public class Robot extends SampleRobot {
// RobotDrive Declaration
RobotDrive drive;
// Compressor Declaration
Compressor compressor;
// Solenoid Declaration
DoubleSolenoid doublesolenoid;
Solenoid solenoid;
// Joystick Declaration
Joystick xboxController;
// Motor Controller Declaration
TalonSRX armMotor;
TalonSRX slideMotor;
Victor drivemotor1;
Victor drivemotor2;
// Autonomous Choices
final String defaultAuto = "Default";
final String customAuto = "Autonomous Choice 1";
final String customAuto2 = "Autonomous Choice 2";
final String customAuto3 = "Autonomous Choice 3";
final String customAuto4 = "Autonomous Choice 4";
final String customAuto5 = "Autonomous Choice 5";
// Chooser
SendableChooser chooser;
public Robot() {
drivemotor1 = new Victor(0);
drivemotor2 = new Victor(2);
compressor = new Compressor(0);
drive = new RobotDrive(0, 2);
drive.setExpiration(0.1);
xboxController = new Joystick(0);
armMotor = new TalonSRX(5);
slideMotor = new TalonSRX(6);
doublesolenoid = new DoubleSolenoid(0, 1);
solenoid = new Solenoid(2);
chooser = new SendableChooser();
}
public void robotInit() {
compressor.setClosedLoopControl(true);
chooser.addDefault("Default Auto", defaultAuto);
chooser.addObject("Autonomous Choice 1", customAuto);
chooser.addObject("Autonomous Choice 2", customAuto2);
chooser.addObject("Autonomous Choice 3", customAuto3);
chooser.addObject("Autonomous Choice 4", customAuto4);
chooser.addObject("Autonomous Choice 5", customAuto5);
SmartDashboard.putData("Autonomous Chooser", chooser);
}
public void autonomous() {
drive.setSafetyEnabled(false);
String autoSelected = (String) chooser.getSelected();
System.out.println("Autonomous Mode selected: " + autoSelected);
switch (autoSelected) {
case customAuto5:
break;
case customAuto4:
break;
case customAuto3:
break;
case customAuto2:
break;
case customAuto:
break;
case defaultAuto:
default:
break;
}
Scheduler.getInstance().run();
}
public void operatorControl() {
drive.setSafetyEnabled(true);
while (isOperatorControl() && isEnabled()) {
// Move robot using left and right joystick
drive.tankDrive(xboxController.getRawAxis(1), xboxController.getRawAxis(5));
// Lift and lower the arms using the right and left bumper.
if (xboxController.getRawButton(5)) {
armMotor.set(1);
} else if (xboxController.getRawButton(4)) {
armMotor.set(-1);
}
else {
armMotor.set(0);
}
// Move sliding mechanism forwards and backwards
if (Math.abs(xboxController.getRawAxis(5)) > .1) {
slideMotor.set(1);
} else if (Math.abs(xboxController.getRawAxis(5)) < -.1) {
slideMotor.set(-1);
}
else {
slideMotor.set(0);
}
// Open and close the claw
if (xboxController.getRawButton(2)) {
doublesolenoid.set(DoubleSolenoid.Value.kForward);
}
else if (xboxController.getRawButton(1)) {
doublesolenoid.set(DoubleSolenoid.Value.kReverse);
}
else {
doublesolenoid.set(DoubleSolenoid.Value.kOff);
}
}
}
public void test() {
}
}
Thanks in advance!