Hello my team for our second competition would like to have select-able autons that we can use with the default driver station, we would also like to be able to control the drive trains speed with the joysticks slider but everything that I have tried hasn’t worked. Our programmer graduated last year and used Labview but I decided to switch to java can anyone help with the mentioned things?
Here is the code
package frc.robot;
import edu.wpi.first.cameraserver.CameraServer;
import edu.wpi.first.wpilibj.Compressor;
import edu.wpi.first.wpilibj.Joystick;
import edu.wpi.first.wpilibj.PWMVictorSPX;
import edu.wpi.first.wpilibj.Solenoid;
import edu.wpi.first.wpilibj.TimedRobot;
import edu.wpi.first.wpilibj.Timer;
import edu.wpi.first.wpilibj.buttons.JoystickButton;
import edu.wpi.first.wpilibj.drive.DifferentialDrive;
public class Robot extends TimedRobot {
private final DifferentialDrive m_robotDrive = new DifferentialDrive(new PWMVictorSPX(0), new PWMVictorSPX(1));
private final Joystick stick = new Joystick(0);
private final Timer m_timer = new Timer();
JoystickButton button1;
JoystickButton button2;
JoystickButton button3;
JoystickButton button4;
JoystickButton button5;
JoystickButton button6;
JoystickButton button7;
JoystickButton button8;
JoystickButton button9;
JoystickButton button10;
JoystickButton button11;
JoystickButton button12;
PWMVictorSPX climber = new PWMVictorSPX(5);
PWMVictorSPX conveyor = new PWMVictorSPX(6);
PWMVictorSPX intake = new PWMVictorSPX(7);
PWMVictorSPX shooter = new PWMVictorSPX(8);
PWMVictorSPX winch = new PWMVictorSPX(9);
Solenoid solenoid = new Solenoid(0, 0);
Solenoid solenoid1 = new Solenoid(0, 1);
Solenoid solenoid2 = new Solenoid(0, 4);
Solenoid solenoid3 = new Solenoid(0, 5);
Compressor compressor;
CameraServer server;
@Override
public void robotInit() {
compressor = new Compressor(0);
server = CameraServer.getInstance();
server.startAutomaticCapture(0);
}
@Override
public void autonomousInit() {
m_timer.reset();
m_timer.start();
}
@Override
public void autonomousPeriodic() {
// Drive for 3 seconds
if (m_timer.get() < 3.0) {
m_robotDrive.arcadeDrive(0.5, 0.0); // drive forwards half speed
}
//else if (m_timer.get() > 8){
//conveyor.set(-0.66);
//}
else {
m_robotDrive.stopMotor(); // stop robot
}
}
@Override
public void teleopInit() {
}
@Override
public void teleopPeriodic() {
m_robotDrive.arcadeDrive(stick.getY(), stick.getX());
button1 = new JoystickButton(stick, 1);
button2 = new JoystickButton(stick, 2);
button3 = new JoystickButton(stick, 3);
button4 = new JoystickButton(stick, 4);
button5 = new JoystickButton(stick, 5);
button6 = new JoystickButton(stick, 6);
button7 = new JoystickButton(stick, 7);
button8 = new JoystickButton(stick, 8);
button9 = new JoystickButton(stick, 9);
button10 = new JoystickButton(stick, 10);
button11 = new JoystickButton(stick, 11);
button12 = new JoystickButton(stick, 12);
if (button2.get()) {
conveyor.set(0.66);
} else {
conveyor.set(0);
}
if (button4.get()) {
intake.set(-0.5);
} else {
intake.set(0);
}
//updateToggle2();
if (button1.get()) { //toggleOn1 for toggle
shooter.set(-1);
} else {
shooter.set(0);
}
if (button12.get()) {
climber.set(-1);
} else if (button11.get()) {
climber.set(1);
} else {
climber.set(0);
}
if (button6.get()) {
winch.set(-1);
} else {
winch.set(0);
}
if (button9.get()) {
solenoid.set(true);
} else {
solenoid.set(false);
}
if (button10.get()) {
solenoid1.set(true);
} else {
solenoid1.set(false);
}
if (button5.get()) {
solenoid2.set(true);
} else {
solenoid2.set(false);
}
if (button3.get()) {
solenoid3.set(true);
} else {
solenoid3.set(false);
}
//double motorSpeed = stick.getRawAxis(3);
//motorSpeed = motorSpeed + 1;
//motorSpeed = motorSpeed / 2;
//m_robotDrive.set(motorSpeed);
}
boolean toggleOn = false;
boolean togglePressed = false;
boolean toggleOn1 = false;
boolean togglePressed1 = false;
public void updateToggle2()
{
if(stick.getRawButton(1)){
if(!togglePressed1){
toggleOn1 = !toggleOn1;
togglePressed1 = true;
}
}else{
togglePressed1 = false;
}
}
@Override
public void testPeriodic() {
}
}