The buttons Are not working with the Victor sp or the servo

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);

Joystick gamePad = new Joystick(0);
Joystick joystick = new Joystick(1);

// Store the original servo position in a variable
double originalPosition = exampleServo.getAngle();

public void robotInit()
//Inverted setting



public void robotPeriodic() {}

public void autonomousInit() {}

public void autonomousPeriodic() {}

public void teleopInit() {}

public void teleopPeriodic() {
// Check if button 1 is pressed
if (gamePad.getRawButton(2)) {
// Rotate motor forward
else if (gamePad.getRawButton(3))
// Rotate motor backwards

// Check if button 3 on the gamepad is pressed
boolean button4Pressed = gamePad.getRawButton(4);

if (button4Pressed) {
// Rotate servo to angle
} else {
// Set servo angle to the original position

// 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) {
// check if left joystick is up and right joystick is down
else if (leftStickY > 0.5 && rightStickY < -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


public void disabledInit()

public void disabledPeriodic() {}

public void simulationInit() {}

public void simulationPeriodic() {}

1 Like

This topic was automatically closed 365 days after the last reply. New replies are no longer allowed.