whenever I press the button I assign the victor SP and the servo to they both don’t do anything
here is my code: // Copyright (c) FIRST and other WPILib contributors.
// Open Source Software; you can modify and/or share it under the terms of
// the WPILib BSD license file in the root directory of this project.
package frc.robot;
import com.ctre.phoenix.motorcontrol.NeutralMode;
import com.ctre.phoenix.motorcontrol.can.WPI_TalonFX;
import edu.wpi.first.wpilibj.motorcontrol.MotorControllerGroup;
import edu.wpi.first.wpilibj.motorcontrol.VictorSP;
import edu.wpi.first.wpilibj.Joystick;
import edu.wpi.first.wpilibj.Servo;
import edu.wpi.first.wpilibj.TimedRobot;
/**
- The VM is configured to automatically run this class, and to call the functions corresponding to
- each mode, as described in the TimedRobot documentation. If you change the name of this class or
- the package after creating this project, you must also update the build.gradle file in the
- project.
/
public class Robot extends TimedRobot {
/*- This function is run when the robot is first started up and should be used for any
- initialization code.
*/
WPI_TalonFX motorRight1 = new WPI_TalonFX(0);
WPI_TalonFX motorRight2 = new WPI_TalonFX(1);
WPI_TalonFX motorRight3 = new WPI_TalonFX(2);
MotorControllerGroup groupRight = new MotorControllerGroup(motorRight1, motorRight2, motorRight3);
WPI_TalonFX motorLeft1 = new WPI_TalonFX(4);
WPI_TalonFX motorLeft2 = new WPI_TalonFX(3);
WPI_TalonFX motorLeft3 = new WPI_TalonFX(5);
MotorControllerGroup groupLeft = new MotorControllerGroup(motorLeft1, motorLeft2, motorLeft3);
VictorSP window = new VictorSP(0);
Servo exampleServo = new Servo(1);
//Controller
Joystick gamePad = new Joystick(0);
Joystick joystick = new Joystick(1);
// Store the original servo position in a variable
double originalPosition = exampleServo.getAngle();
@Override
public void robotInit()
{
//Inverted setting
groupRight.setInverted(true);
groupLeft.setInverted(false);
motorLeft1.setNeutralMode(NeutralMode.Brake);
motorLeft2.setNeutralMode(NeutralMode.Brake);
motorLeft3.setNeutralMode(NeutralMode.Brake);
motorRight1.setNeutralMode(NeutralMode.Brake);
motorRight2.setNeutralMode(NeutralMode.Brake);
motorRight3.setNeutralMode(NeutralMode.Brake);
}
@Override
public void robotPeriodic() {}
@Override
public void autonomousInit() {}
@Override
public void autonomousPeriodic() {}
@Override
public void teleopInit() {}
@Override
public void teleopPeriodic() {
// Check if button 1 is pressed
if (gamePad.getRawButton(2)) {
// Rotate motor forward
window.set(0.5);
}
else if (gamePad.getRawButton(3))
{
// Rotate motor backwards
window.set(-0.5);
}
// Check if button 3 on the gamepad is pressed
boolean button4Pressed = gamePad.getRawButton(4);
if (button4Pressed) {
// Rotate servo to angle
exampleServo.setAngle(90.0);
} else {
// Set servo angle to the original position
exampleServo.setAngle(originalPosition);
}
// Spin control - using two joysticks
double leftStickY = -gamePad.getRawAxis(1);
double rightStickY = -gamePad.getRawAxis(5);
// check if left joystick is held down and right joystick is up
if (leftStickY < -0.5 && rightStickY > 0.5) {
groupLeft.set(0.5);
groupRight.set(-0.5);
}
// check if left joystick is up and right joystick is down
else if (leftStickY > 0.5 && rightStickY < -0.5) {
groupLeft.set(-0.5);
groupRight.set(0.5);
} else {
// Drive control - Arcade Drive
double moveSpeed = -leftStickY; // inverted for proper control direction
double turnSpeed = gamePad.getRawAxis(4);
// adjust move speed for better control at lower speeds
moveSpeed = Math.copySign(Math.pow(moveSpeed, 2.0), moveSpeed);
// combine move and turn speeds
double leftSpeed = moveSpeed + turnSpeed;
double rightSpeed = moveSpeed - turnSpeed;
// limit motor speed to maximum allowed value
double maxSpeed = 0.8;
leftSpeed = Math.copySign(Math.min(Math.abs(leftSpeed), maxSpeed), leftSpeed);
rightSpeed = Math.copySign(Math.min(Math.abs(rightSpeed), maxSpeed), rightSpeed);
// set motor speeds
groupLeft.set(leftSpeed);
groupRight.set(rightSpeed);
}
}
@Override
public void disabledInit()
{
groupLeft.stopMotor();
groupRight.stopMotor();
}
@Override
public void disabledPeriodic() {}
@Override
public void simulationInit() {}
@Override
public void simulationPeriodic() {}
}